From e40e3e8cd0c19a38458a5804d570361302bf2acd Mon Sep 17 00:00:00 2001
From: houshuai <17802598606@163.com>
Date: 星期五, 04 七月 2025 15:56:08 +0800
Subject: [PATCH] 生产管控模块 基本搭建

---
 src/main/java/org/jeecg/modules/mes/mapper/MesKittingCompletenessCheckMapper.java            |   14 
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialUnloadingMapper.xml                |    5 
 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialUnloadingServiceImpl.java        |   18 
 src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java          |   14 
 src/main/java/org/jeecg/modules/mes/service/IMesTransferOrderPrintService.java               |   14 
 src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java          |   18 
 src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java                         |   78 +
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesTransferOrderPrintMapper.xml               |    5 
 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java  |   18 
 src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java                 |   17 
 src/main/java/org/jeecg/modules/mes/service/impl/MesKittingCompletenessCheckServiceImpl.java |   18 
 src/main/java/org/jeecg/modules/mes/controller/MesTransferOrderPrintController.java          |  161 +++
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml              |    5 
 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java          |   18 
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialTransferRequestMapper.xml          |    5 
 src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java                  |   14 
 src/main/java/org/jeecg/modules/mes/entity/MesTransferOrderPrint.java                        |  103 ++
 src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java              |   14 
 src/main/java/org/jeecg/modules/mes/service/impl/MesWorkReportingServiceImpl.java            |   18 
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesKittingCompletenessCheckMapper.xml         |    5 
 src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java      |   18 
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesWorkReportingMapper.xml                    |    5 
 src/main/java/org/jeecg/modules/mes/mapper/MesMaterialTransferRequestMapper.java             |   14 
 src/main/java/org/jeecg/modules/mes/mapper/MesTransferOrderPrintMapper.java                  |   14 
 src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java                   |  106 ++
 src/main/java/org/jeecg/modules/mes/service/IMesKittingCompletenessCheckService.java         |   14 
 src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java             |  161 +++
 src/main/java/org/jeecg/modules/mes/service/impl/MesTransferOrderPrintServiceImpl.java       |   18 
 src/main/java/org/jeecg/modules/mes/service/IMesMaterialUnloadingService.java                |   14 
 src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java                           |   82 +
 src/main/java/org/jeecg/modules/mes/controller/MesMaterialUnloadingController.java           |  161 +++
 src/main/java/org/jeecg/modules/mes/mapper/MesMaterialUnloadingMapper.java                   |   14 
 src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java                  |   14 
 src/main/java/org/jeecg/modules/mes/controller/MesWorkReportingController.java               |  161 +++
 src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java                       |  122 ++
 src/main/java/org/jeecg/modules/mes/service/IMesWorkReportingService.java                    |   14 
 src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java     |  161 +++
 src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java         |  161 +++
 src/main/java/org/jeecg/modules/mes/mapper/MesWorkReportingMapper.java                       |   14 
 src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java                     |   14 
 src/main/java/org/jeecg/modules/mes/entity/MesWorkReporting.java                             |  102 ++
 src/main/java/org/jeecg/modules/mes/controller/MesKittingCompletenessCheckController.java    |  161 +++
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml                  |    5 
 src/main/java/org/jeecg/modules/mes/mapper/MesMaterialLoadingMapper.java                     |   14 
 src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml                  |    5 
 src/main/java/org/jeecg/modules/mes/entity/MesProductionOrder.java                           |  134 +++
 src/main/java/org/jeecg/modules/mes/controller/MesProductionOrderController.java             |  161 +++
 src/main/java/org/jeecg/modules/mes/entity/MesKittingCompletenessCheck.java                  |   68 +
 48 files changed, 2,494 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesKittingCompletenessCheckController.java b/src/main/java/org/jeecg/modules/mes/controller/MesKittingCompletenessCheckController.java
new file mode 100644
index 0000000..ed5d68f
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesKittingCompletenessCheckController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck;
+import org.jeecg.modules.mes.service.IMesKittingCompletenessCheckService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 榻愬鎬ф鏌ヨ褰�
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="榻愬鎬ф鏌ヨ褰�")
+@RestController
+@RequestMapping("/meskittingcompletenesscheck/mesKittingCompletenessCheck")
+@Slf4j
+public class MesKittingCompletenessCheckController extends JeecgController<MesKittingCompletenessCheck, IMesKittingCompletenessCheckService> {
+   @Autowired
+   private IMesKittingCompletenessCheckService mesKittingCompletenessCheckService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesKittingCompletenessCheck
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "榻愬鎬ф鏌ヨ褰�-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-鍒嗛〉鍒楄〃鏌ヨ", notes="榻愬鎬ф鏌ヨ褰�-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesKittingCompletenessCheck>> queryPageList(MesKittingCompletenessCheck mesKittingCompletenessCheck,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesKittingCompletenessCheck> queryWrapper = QueryGenerator.initQueryWrapper(mesKittingCompletenessCheck, req.getParameterMap());
+       Page<MesKittingCompletenessCheck> page = new Page<MesKittingCompletenessCheck>(pageNo, pageSize);
+       IPage<MesKittingCompletenessCheck> pageList = mesKittingCompletenessCheckService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesKittingCompletenessCheck
+    * @return
+    */
+   @AutoLog(value = "榻愬鎬ф鏌ヨ褰�-娣诲姞")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-娣诲姞", notes="榻愬鎬ф鏌ヨ褰�-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_kitting_completeness_check:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesKittingCompletenessCheck mesKittingCompletenessCheck) {
+       mesKittingCompletenessCheckService.save(mesKittingCompletenessCheck);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesKittingCompletenessCheck
+    * @return
+    */
+   @AutoLog(value = "榻愬鎬ф鏌ヨ褰�-缂栬緫")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-缂栬緫", notes="榻愬鎬ф鏌ヨ褰�-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_kitting_completeness_check:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesKittingCompletenessCheck mesKittingCompletenessCheck) {
+       mesKittingCompletenessCheckService.updateById(mesKittingCompletenessCheck);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "榻愬鎬ф鏌ヨ褰�-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-閫氳繃id鍒犻櫎", notes="榻愬鎬ф鏌ヨ褰�-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_kitting_completeness_check:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesKittingCompletenessCheckService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "榻愬鎬ф鏌ヨ褰�-鎵归噺鍒犻櫎")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-鎵归噺鍒犻櫎", notes="榻愬鎬ф鏌ヨ褰�-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_kitting_completeness_check:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesKittingCompletenessCheckService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "榻愬鎬ф鏌ヨ褰�-閫氳繃id鏌ヨ")
+   @ApiOperation(value="榻愬鎬ф鏌ヨ褰�-閫氳繃id鏌ヨ", notes="榻愬鎬ф鏌ヨ褰�-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesKittingCompletenessCheck> queryById(@RequestParam(name="id",required=true) String id) {
+       MesKittingCompletenessCheck mesKittingCompletenessCheck = mesKittingCompletenessCheckService.getById(id);
+       if(mesKittingCompletenessCheck==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesKittingCompletenessCheck);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesKittingCompletenessCheck
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_kitting_completeness_check:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesKittingCompletenessCheck mesKittingCompletenessCheck) {
+       return super.exportXls(request, mesKittingCompletenessCheck, MesKittingCompletenessCheck.class, "榻愬鎬ф鏌ヨ褰�");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_kitting_completeness_check:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesKittingCompletenessCheck.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java
new file mode 100644
index 0000000..0689c51
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesMaterialLoading;
+import org.jeecg.modules.mes.service.IMesMaterialLoadingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 涓婃枡
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="涓婃枡")
+@RestController
+@RequestMapping("/mesmaterialloading/mesMaterialLoading")
+@Slf4j
+public class MesMaterialLoadingController extends JeecgController<MesMaterialLoading, IMesMaterialLoadingService> {
+   @Autowired
+   private IMesMaterialLoadingService mesMaterialLoadingService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesMaterialLoading
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "涓婃枡-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="涓婃枡-鍒嗛〉鍒楄〃鏌ヨ", notes="涓婃枡-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesMaterialLoading>> queryPageList(MesMaterialLoading mesMaterialLoading,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesMaterialLoading> queryWrapper = QueryGenerator.initQueryWrapper(mesMaterialLoading, req.getParameterMap());
+       Page<MesMaterialLoading> page = new Page<MesMaterialLoading>(pageNo, pageSize);
+       IPage<MesMaterialLoading> pageList = mesMaterialLoadingService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesMaterialLoading
+    * @return
+    */
+   @AutoLog(value = "涓婃枡-娣诲姞")
+   @ApiOperation(value="涓婃枡-娣诲姞", notes="涓婃枡-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_loading:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesMaterialLoading mesMaterialLoading) {
+       mesMaterialLoadingService.save(mesMaterialLoading);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesMaterialLoading
+    * @return
+    */
+   @AutoLog(value = "涓婃枡-缂栬緫")
+   @ApiOperation(value="涓婃枡-缂栬緫", notes="涓婃枡-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_loading:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesMaterialLoading mesMaterialLoading) {
+       mesMaterialLoadingService.updateById(mesMaterialLoading);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "涓婃枡-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="涓婃枡-閫氳繃id鍒犻櫎", notes="涓婃枡-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_loading:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesMaterialLoadingService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "涓婃枡-鎵归噺鍒犻櫎")
+   @ApiOperation(value="涓婃枡-鎵归噺鍒犻櫎", notes="涓婃枡-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_loading:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesMaterialLoadingService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "涓婃枡-閫氳繃id鏌ヨ")
+   @ApiOperation(value="涓婃枡-閫氳繃id鏌ヨ", notes="涓婃枡-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesMaterialLoading> queryById(@RequestParam(name="id",required=true) String id) {
+       MesMaterialLoading mesMaterialLoading = mesMaterialLoadingService.getById(id);
+       if(mesMaterialLoading==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesMaterialLoading);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesMaterialLoading
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_material_loading:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesMaterialLoading mesMaterialLoading) {
+       return super.exportXls(request, mesMaterialLoading, MesMaterialLoading.class, "涓婃枡");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_material_loading:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesMaterialLoading.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java
new file mode 100644
index 0000000..202bf22
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 鐗╂枡鎷夊姩鐢宠
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="鐗╂枡鎷夊姩鐢宠")
+@RestController
+@RequestMapping("/mesmaterialtransferrequest/mesMaterialTransferRequest")
+@Slf4j
+public class MesMaterialTransferRequestController extends JeecgController<MesMaterialTransferRequest, IMesMaterialTransferRequestService> {
+   @Autowired
+   private IMesMaterialTransferRequestService mesMaterialTransferRequestService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesMaterialTransferRequest
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡鎷夊姩鐢宠-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesMaterialTransferRequest>> queryPageList(MesMaterialTransferRequest mesMaterialTransferRequest,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesMaterialTransferRequest> queryWrapper = QueryGenerator.initQueryWrapper(mesMaterialTransferRequest, req.getParameterMap());
+       Page<MesMaterialTransferRequest> page = new Page<MesMaterialTransferRequest>(pageNo, pageSize);
+       IPage<MesMaterialTransferRequest> pageList = mesMaterialTransferRequestService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesMaterialTransferRequest
+    * @return
+    */
+   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-娣诲姞")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-娣诲姞", notes="鐗╂枡鎷夊姩鐢宠-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesMaterialTransferRequest mesMaterialTransferRequest) {
+       mesMaterialTransferRequestService.save(mesMaterialTransferRequest);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesMaterialTransferRequest
+    * @return
+    */
+   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-缂栬緫")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-缂栬緫", notes="鐗╂枡鎷夊姩鐢宠-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesMaterialTransferRequest mesMaterialTransferRequest) {
+       mesMaterialTransferRequestService.updateById(mesMaterialTransferRequest);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎", notes="鐗╂枡鎷夊姩鐢宠-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesMaterialTransferRequestService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎", notes="鐗╂枡鎷夊姩鐢宠-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesMaterialTransferRequestService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
+   @ApiOperation(value="鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ", notes="鐗╂枡鎷夊姩鐢宠-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesMaterialTransferRequest> queryById(@RequestParam(name="id",required=true) String id) {
+       MesMaterialTransferRequest mesMaterialTransferRequest = mesMaterialTransferRequestService.getById(id);
+       if(mesMaterialTransferRequest==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesMaterialTransferRequest);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesMaterialTransferRequest
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_material_transfer_request:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesMaterialTransferRequest mesMaterialTransferRequest) {
+       return super.exportXls(request, mesMaterialTransferRequest, MesMaterialTransferRequest.class, "鐗╂枡鎷夊姩鐢宠");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_material_transfer_request:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesMaterialTransferRequest.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialUnloadingController.java b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialUnloadingController.java
new file mode 100644
index 0000000..006deb6
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialUnloadingController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesMaterialUnloading;
+import org.jeecg.modules.mes.service.IMesMaterialUnloadingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 涓嬫枡
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="涓嬫枡")
+@RestController
+@RequestMapping("/mes/mesMaterialUnloading")
+@Slf4j
+public class MesMaterialUnloadingController extends JeecgController<MesMaterialUnloading, IMesMaterialUnloadingService> {
+   @Autowired
+   private IMesMaterialUnloadingService mesMaterialUnloadingService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesMaterialUnloading
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "涓嬫枡-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="涓嬫枡-鍒嗛〉鍒楄〃鏌ヨ", notes="涓嬫枡-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesMaterialUnloading>> queryPageList(MesMaterialUnloading mesMaterialUnloading,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesMaterialUnloading> queryWrapper = QueryGenerator.initQueryWrapper(mesMaterialUnloading, req.getParameterMap());
+       Page<MesMaterialUnloading> page = new Page<MesMaterialUnloading>(pageNo, pageSize);
+       IPage<MesMaterialUnloading> pageList = mesMaterialUnloadingService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesMaterialUnloading
+    * @return
+    */
+   @AutoLog(value = "涓嬫枡-娣诲姞")
+   @ApiOperation(value="涓嬫枡-娣诲姞", notes="涓嬫枡-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_unloading:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesMaterialUnloading mesMaterialUnloading) {
+       mesMaterialUnloadingService.save(mesMaterialUnloading);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesMaterialUnloading
+    * @return
+    */
+   @AutoLog(value = "涓嬫枡-缂栬緫")
+   @ApiOperation(value="涓嬫枡-缂栬緫", notes="涓嬫枡-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_unloading:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesMaterialUnloading mesMaterialUnloading) {
+       mesMaterialUnloadingService.updateById(mesMaterialUnloading);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "涓嬫枡-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="涓嬫枡-閫氳繃id鍒犻櫎", notes="涓嬫枡-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_unloading:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesMaterialUnloadingService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "涓嬫枡-鎵归噺鍒犻櫎")
+   @ApiOperation(value="涓嬫枡-鎵归噺鍒犻櫎", notes="涓嬫枡-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_material_unloading:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesMaterialUnloadingService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "涓嬫枡-閫氳繃id鏌ヨ")
+   @ApiOperation(value="涓嬫枡-閫氳繃id鏌ヨ", notes="涓嬫枡-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesMaterialUnloading> queryById(@RequestParam(name="id",required=true) String id) {
+       MesMaterialUnloading mesMaterialUnloading = mesMaterialUnloadingService.getById(id);
+       if(mesMaterialUnloading==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesMaterialUnloading);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesMaterialUnloading
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_material_unloading:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesMaterialUnloading mesMaterialUnloading) {
+       return super.exportXls(request, mesMaterialUnloading, MesMaterialUnloading.class, "涓嬫枡");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_material_unloading:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesMaterialUnloading.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesProductionOrderController.java b/src/main/java/org/jeecg/modules/mes/controller/MesProductionOrderController.java
new file mode 100644
index 0000000..63d55ef
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionOrderController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesProductionOrder;
+import org.jeecg.modules.mes.service.IMesProductionOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: SAP鐢熶骇璁㈠崟
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="SAP鐢熶骇璁㈠崟")
+@RestController
+@RequestMapping("/mesproductionwork/mesProductionOrder")
+@Slf4j
+public class MesProductionOrderController extends JeecgController<MesProductionOrder, IMesProductionOrderService> {
+   @Autowired
+   private IMesProductionOrderService mesProductionOrderService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesProductionOrder
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "SAP鐢熶骇璁㈠崟-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-鍒嗛〉鍒楄〃鏌ヨ", notes="SAP鐢熶骇璁㈠崟-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesProductionOrder>> queryPageList(MesProductionOrder mesProductionOrder,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesProductionOrder> queryWrapper = QueryGenerator.initQueryWrapper(mesProductionOrder, req.getParameterMap());
+       Page<MesProductionOrder> page = new Page<MesProductionOrder>(pageNo, pageSize);
+       IPage<MesProductionOrder> pageList = mesProductionOrderService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesProductionOrder
+    * @return
+    */
+   @AutoLog(value = "SAP鐢熶骇璁㈠崟-娣诲姞")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-娣诲姞", notes="SAP鐢熶骇璁㈠崟-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_order:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesProductionOrder mesProductionOrder) {
+       mesProductionOrderService.save(mesProductionOrder);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesProductionOrder
+    * @return
+    */
+   @AutoLog(value = "SAP鐢熶骇璁㈠崟-缂栬緫")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-缂栬緫", notes="SAP鐢熶骇璁㈠崟-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_order:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesProductionOrder mesProductionOrder) {
+       mesProductionOrderService.updateById(mesProductionOrder);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "SAP鐢熶骇璁㈠崟-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-閫氳繃id鍒犻櫎", notes="SAP鐢熶骇璁㈠崟-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_order:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesProductionOrderService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "SAP鐢熶骇璁㈠崟-鎵归噺鍒犻櫎")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-鎵归噺鍒犻櫎", notes="SAP鐢熶骇璁㈠崟-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_order:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesProductionOrderService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "SAP鐢熶骇璁㈠崟-閫氳繃id鏌ヨ")
+   @ApiOperation(value="SAP鐢熶骇璁㈠崟-閫氳繃id鏌ヨ", notes="SAP鐢熶骇璁㈠崟-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesProductionOrder> queryById(@RequestParam(name="id",required=true) String id) {
+       MesProductionOrder mesProductionOrder = mesProductionOrderService.getById(id);
+       if(mesProductionOrder==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesProductionOrder);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesProductionOrder
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_production_order:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesProductionOrder mesProductionOrder) {
+       return super.exportXls(request, mesProductionOrder, MesProductionOrder.class, "SAP鐢熶骇璁㈠崟");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_production_order:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesProductionOrder.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
new file mode 100644
index 0000000..5a340af
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
+import org.jeecg.modules.mes.service.IMesProductionWorkOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 鎺掍骇宸ュ崟
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="鎺掍骇宸ュ崟")
+@RestController
+@RequestMapping("/mesproductionworkorder/mesProductionWorkOrder")
+@Slf4j
+public class MesProductionWorkOrderController extends JeecgController<MesProductionWorkOrder, IMesProductionWorkOrderService> {
+   @Autowired
+   private IMesProductionWorkOrderService mesProductionWorkOrderService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesProductionWorkOrder
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "鎺掍骇宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="鎺掍骇宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes="鎺掍骇宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesProductionWorkOrder>> queryPageList(MesProductionWorkOrder mesProductionWorkOrder,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesProductionWorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(mesProductionWorkOrder, req.getParameterMap());
+       Page<MesProductionWorkOrder> page = new Page<MesProductionWorkOrder>(pageNo, pageSize);
+       IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesProductionWorkOrder
+    * @return
+    */
+   @AutoLog(value = "鎺掍骇宸ュ崟-娣诲姞")
+   @ApiOperation(value="鎺掍骇宸ュ崟-娣诲姞", notes="鎺掍骇宸ュ崟-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesProductionWorkOrder mesProductionWorkOrder) {
+       mesProductionWorkOrderService.save(mesProductionWorkOrder);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesProductionWorkOrder
+    * @return
+    */
+   @AutoLog(value = "鎺掍骇宸ュ崟-缂栬緫")
+   @ApiOperation(value="鎺掍骇宸ュ崟-缂栬緫", notes="鎺掍骇宸ュ崟-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesProductionWorkOrder mesProductionWorkOrder) {
+       mesProductionWorkOrderService.updateById(mesProductionWorkOrder);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "鎺掍骇宸ュ崟-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="鎺掍骇宸ュ崟-閫氳繃id鍒犻櫎", notes="鎺掍骇宸ュ崟-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesProductionWorkOrderService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "鎺掍骇宸ュ崟-鎵归噺鍒犻櫎")
+   @ApiOperation(value="鎺掍骇宸ュ崟-鎵归噺鍒犻櫎", notes="鎺掍骇宸ュ崟-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesProductionWorkOrderService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "鎺掍骇宸ュ崟-閫氳繃id鏌ヨ")
+   @ApiOperation(value="鎺掍骇宸ュ崟-閫氳繃id鏌ヨ", notes="鎺掍骇宸ュ崟-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesProductionWorkOrder> queryById(@RequestParam(name="id",required=true) String id) {
+       MesProductionWorkOrder mesProductionWorkOrder = mesProductionWorkOrderService.getById(id);
+       if(mesProductionWorkOrder==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesProductionWorkOrder);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesProductionWorkOrder
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesProductionWorkOrder mesProductionWorkOrder) {
+       return super.exportXls(request, mesProductionWorkOrder, MesProductionWorkOrder.class, "鎺掍骇宸ュ崟");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_production_work_order:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesProductionWorkOrder.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesTransferOrderPrintController.java b/src/main/java/org/jeecg/modules/mes/controller/MesTransferOrderPrintController.java
new file mode 100644
index 0000000..48386cd
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesTransferOrderPrintController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesTransferOrderPrint;
+import org.jeecg.modules.mes.service.IMesTransferOrderPrintService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 绉诲簱鍗曟墦鍗�
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="绉诲簱鍗曟墦鍗�")
+@RestController
+@RequestMapping("/mestransferorderprint/mesTransferOrderPrint")
+@Slf4j
+public class MesTransferOrderPrintController extends JeecgController<MesTransferOrderPrint, IMesTransferOrderPrintService> {
+   @Autowired
+   private IMesTransferOrderPrintService mesTransferOrderPrintService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesTransferOrderPrint
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "绉诲簱鍗曟墦鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="绉诲簱鍗曟墦鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesTransferOrderPrint>> queryPageList(MesTransferOrderPrint mesTransferOrderPrint,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesTransferOrderPrint> queryWrapper = QueryGenerator.initQueryWrapper(mesTransferOrderPrint, req.getParameterMap());
+       Page<MesTransferOrderPrint> page = new Page<MesTransferOrderPrint>(pageNo, pageSize);
+       IPage<MesTransferOrderPrint> pageList = mesTransferOrderPrintService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesTransferOrderPrint
+    * @return
+    */
+   @AutoLog(value = "绉诲簱鍗曟墦鍗�-娣诲姞")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-娣诲姞", notes="绉诲簱鍗曟墦鍗�-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_transfer_order_print:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesTransferOrderPrint mesTransferOrderPrint) {
+       mesTransferOrderPrintService.save(mesTransferOrderPrint);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesTransferOrderPrint
+    * @return
+    */
+   @AutoLog(value = "绉诲簱鍗曟墦鍗�-缂栬緫")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-缂栬緫", notes="绉诲簱鍗曟墦鍗�-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_transfer_order_print:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesTransferOrderPrint mesTransferOrderPrint) {
+       mesTransferOrderPrintService.updateById(mesTransferOrderPrint);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "绉诲簱鍗曟墦鍗�-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-閫氳繃id鍒犻櫎", notes="绉诲簱鍗曟墦鍗�-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_transfer_order_print:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesTransferOrderPrintService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "绉诲簱鍗曟墦鍗�-鎵归噺鍒犻櫎")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-鎵归噺鍒犻櫎", notes="绉诲簱鍗曟墦鍗�-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_transfer_order_print:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesTransferOrderPrintService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "绉诲簱鍗曟墦鍗�-閫氳繃id鏌ヨ")
+   @ApiOperation(value="绉诲簱鍗曟墦鍗�-閫氳繃id鏌ヨ", notes="绉诲簱鍗曟墦鍗�-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesTransferOrderPrint> queryById(@RequestParam(name="id",required=true) String id) {
+       MesTransferOrderPrint mesTransferOrderPrint = mesTransferOrderPrintService.getById(id);
+       if(mesTransferOrderPrint==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesTransferOrderPrint);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesTransferOrderPrint
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_transfer_order_print:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesTransferOrderPrint mesTransferOrderPrint) {
+       return super.exportXls(request, mesTransferOrderPrint, MesTransferOrderPrint.class, "绉诲簱鍗曟墦鍗�");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_transfer_order_print:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesTransferOrderPrint.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesWorkReportingController.java b/src/main/java/org/jeecg/modules/mes/controller/MesWorkReportingController.java
new file mode 100644
index 0000000..a55d476
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesWorkReportingController.java
@@ -0,0 +1,161 @@
+package org.jeecg.modules.mes.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.mes.entity.MesWorkReporting;
+import org.jeecg.modules.mes.service.IMesWorkReportingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+* @Description: 宸ュ崟鎶ュ伐
+* @Author: jeecg-boot
+* @Date:   2025-07-04
+* @Version: V1.0
+*/
+@Api(tags="宸ュ崟鎶ュ伐")
+@RestController
+@RequestMapping("/mesworkreporting/mesWorkReporting")
+@Slf4j
+public class MesWorkReportingController extends JeecgController<MesWorkReporting, IMesWorkReportingService> {
+   @Autowired
+   private IMesWorkReportingService mesWorkReportingService;
+
+   /**
+    * 鍒嗛〉鍒楄〃鏌ヨ
+    *
+    * @param mesWorkReporting
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   //@AutoLog(value = "宸ュ崟鎶ュ伐-鍒嗛〉鍒楄〃鏌ヨ")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-鍒嗛〉鍒楄〃鏌ヨ", notes="宸ュ崟鎶ュ伐-鍒嗛〉鍒楄〃鏌ヨ")
+   @GetMapping(value = "/list")
+   public Result<IPage<MesWorkReporting>> queryPageList(MesWorkReporting mesWorkReporting,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       QueryWrapper<MesWorkReporting> queryWrapper = QueryGenerator.initQueryWrapper(mesWorkReporting, req.getParameterMap());
+       Page<MesWorkReporting> page = new Page<MesWorkReporting>(pageNo, pageSize);
+       IPage<MesWorkReporting> pageList = mesWorkReportingService.page(page, queryWrapper);
+       return Result.OK(pageList);
+   }
+
+   /**
+    *   娣诲姞
+    *
+    * @param mesWorkReporting
+    * @return
+    */
+   @AutoLog(value = "宸ュ崟鎶ュ伐-娣诲姞")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-娣诲姞", notes="宸ュ崟鎶ュ伐-娣诲姞")
+   //@RequiresPermissions("org.jeecg.modules:mes_work_reporting:add")
+   @PostMapping(value = "/add")
+   public Result<String> add(@RequestBody MesWorkReporting mesWorkReporting) {
+       mesWorkReportingService.save(mesWorkReporting);
+       return Result.OK("娣诲姞鎴愬姛锛�");
+   }
+
+   /**
+    *  缂栬緫
+    *
+    * @param mesWorkReporting
+    * @return
+    */
+   @AutoLog(value = "宸ュ崟鎶ュ伐-缂栬緫")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-缂栬緫", notes="宸ュ崟鎶ュ伐-缂栬緫")
+   //@RequiresPermissions("org.jeecg.modules:mes_work_reporting:edit")
+   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+   public Result<String> edit(@RequestBody MesWorkReporting mesWorkReporting) {
+       mesWorkReportingService.updateById(mesWorkReporting);
+       return Result.OK("缂栬緫鎴愬姛!");
+   }
+
+   /**
+    *   閫氳繃id鍒犻櫎
+    *
+    * @param id
+    * @return
+    */
+   @AutoLog(value = "宸ュ崟鎶ュ伐-閫氳繃id鍒犻櫎")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-閫氳繃id鍒犻櫎", notes="宸ュ崟鎶ュ伐-閫氳繃id鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_work_reporting:delete")
+   @DeleteMapping(value = "/delete")
+   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+       mesWorkReportingService.removeById(id);
+       return Result.OK("鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    *  鎵归噺鍒犻櫎
+    *
+    * @param ids
+    * @return
+    */
+   @AutoLog(value = "宸ュ崟鎶ュ伐-鎵归噺鍒犻櫎")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-鎵归噺鍒犻櫎", notes="宸ュ崟鎶ュ伐-鎵归噺鍒犻櫎")
+   //@RequiresPermissions("org.jeecg.modules:mes_work_reporting:deleteBatch")
+   @DeleteMapping(value = "/deleteBatch")
+   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+       this.mesWorkReportingService.removeByIds(Arrays.asList(ids.split(",")));
+       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+   }
+
+   /**
+    * 閫氳繃id鏌ヨ
+    *
+    * @param id
+    * @return
+    */
+   //@AutoLog(value = "宸ュ崟鎶ュ伐-閫氳繃id鏌ヨ")
+   @ApiOperation(value="宸ュ崟鎶ュ伐-閫氳繃id鏌ヨ", notes="宸ュ崟鎶ュ伐-閫氳繃id鏌ヨ")
+   @GetMapping(value = "/queryById")
+   public Result<MesWorkReporting> queryById(@RequestParam(name="id",required=true) String id) {
+       MesWorkReporting mesWorkReporting = mesWorkReportingService.getById(id);
+       if(mesWorkReporting==null) {
+           return Result.error("鏈壘鍒板搴旀暟鎹�");
+       }
+       return Result.OK(mesWorkReporting);
+   }
+
+   /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param mesWorkReporting
+   */
+   //@RequiresPermissions("org.jeecg.modules:mes_work_reporting:exportXls")
+   @RequestMapping(value = "/exportXls")
+   public ModelAndView exportXls(HttpServletRequest request, MesWorkReporting mesWorkReporting) {
+       return super.exportXls(request, mesWorkReporting, MesWorkReporting.class, "宸ュ崟鎶ュ伐");
+   }
+
+   /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+   //@RequiresPermissions("mes_work_reporting:importExcel")
+   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+       return super.importExcel(request, response, MesWorkReporting.class);
+   }
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesKittingCompletenessCheck.java b/src/main/java/org/jeecg/modules/mes/entity/MesKittingCompletenessCheck.java
new file mode 100644
index 0000000..f383147
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesKittingCompletenessCheck.java
@@ -0,0 +1,68 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 榻愬鎬ф鏌ヨ褰�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_kitting_completeness_check")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_kitting_completeness_check瀵硅薄", description="榻愬鎬ф鏌ヨ褰�")
+public class MesKittingCompletenessCheck implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**宸ュ崟ID*/
+	@Excel(name = "宸ュ崟ID", width = 15)
+    @ApiModelProperty(value = "宸ュ崟ID")
+    private String workOrderId;
+	/**鐗╂枡缂栧彿*/
+	@Excel(name = "鐗╂枡缂栧彿", width = 15)
+    @ApiModelProperty(value = "鐗╂枡缂栧彿")
+    private String materialNumber;
+	/**鐗╂枡鍚嶇О*/
+	@Excel(name = "鐗╂枡鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    private String materialName;
+	/**闇�姹傛暟閲�*/
+	@Excel(name = "闇�姹傛暟閲�", width = 15)
+    @ApiModelProperty(value = "闇�姹傛暟閲�")
+    private Double requiredQuantity;
+	/**瀹為檯鏁伴噺*/
+	@Excel(name = "瀹為檯鏁伴噺", width = 15)
+    @ApiModelProperty(value = "瀹為檯鏁伴噺")
+    private Double actualQuantity;
+	/**鏄惁榻愬*/
+	@Excel(name = "鏄惁榻愬", width = 15)
+    @ApiModelProperty(value = "鏄惁榻愬")
+    private String checkFlag;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java
new file mode 100644
index 0000000..cd53747
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java
@@ -0,0 +1,82 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 涓婃枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_material_loading")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_material_loading瀵硅薄", description="涓婃枡")
+public class MesMaterialLoading implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**鐢宠鍗旾D*/
+	@Excel(name = "鐢宠鍗旾D", width = 15)
+    @ApiModelProperty(value = "鐢宠鍗旾D")
+    private String requestId;
+	/**鐗╂枡缂栫爜*/
+	@Excel(name = "鐗╂枡缂栫爜", width = 15)
+    @ApiModelProperty(value = "鐗╂枡缂栫爜")
+    private String materialNumber;
+	/**鐗╂枡鍚嶇О*/
+	@Excel(name = "鐗╂枡鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    private String materialName;
+	/**鐞嗚鎷夊姩鏁伴噺*/
+	@Excel(name = "鐞嗚鎷夊姩鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鐞嗚鎷夊姩鏁伴噺")
+    private Double specifiedQuantity;
+	/**瀹為檯鎷夊姩鏁伴噺*/
+	@Excel(name = "瀹為檯鎷夊姩鏁伴噺", width = 15)
+    @ApiModelProperty(value = "瀹為檯鎷夊姩鏁伴噺")
+    private Double actualQuantity;
+	/**杞﹂棿鍓╀綑鏁伴噺*/
+	@Excel(name = "杞﹂棿鍓╀綑鏁伴噺", width = 15)
+    @ApiModelProperty(value = "杞﹂棿鍓╀綑鏁伴噺")
+    private Double remainingQuantity;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java
new file mode 100644
index 0000000..cf9c7a3
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java
@@ -0,0 +1,106 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 鐗╂枡鎷夊姩鐢宠
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_material_transfer_request")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_material_transfer_request瀵硅薄", description="鐗╂枡鎷夊姩鐢宠")
+public class MesMaterialTransferRequest implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**鎷夊姩鍗曞彿*/
+	@Excel(name = "鎷夊姩鍗曞彿", width = 15)
+    @ApiModelProperty(value = "鎷夊姩鍗曞彿")
+    private String requestCode;
+	/**宸ュ崟ID*/
+	@Excel(name = "宸ュ崟ID", width = 15)
+    @ApiModelProperty(value = "宸ュ崟ID")
+    private String workOrderId;
+	/**SAP棰勭暀鍙�*/
+	@Excel(name = "SAP棰勭暀鍙�", width = 15)
+    @ApiModelProperty(value = "SAP棰勭暀鍙�")
+    private String reservationCode;
+	/**鍙戝竷鐘舵��*/
+	@Excel(name = "鍙戝竷鐘舵��", width = 15, dicCode = "publish_status")
+	@Dict(dicCode = "publish_status")
+    @ApiModelProperty(value = "鍙戝竷鐘舵��")
+    private String publishStatus;
+	/**璇锋眰鐘舵��*/
+	@Excel(name = "璇锋眰鐘舵��", width = 15, dicCode = "request_status")
+	@Dict(dicCode = "request_status")
+    @ApiModelProperty(value = "璇锋眰鐘舵��")
+    private String requestStatus;
+	/**璇锋眰鏃堕棿*/
+	@Excel(name = "璇锋眰鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "璇锋眰鏃堕棿")
+    private Date requestTime;
+	/**鍘熷簱瀛樺湴*/
+	@Excel(name = "鍘熷簱瀛樺湴", width = 15)
+    @ApiModelProperty(value = "鍘熷簱瀛樺湴")
+    private String originalWarehouseId;
+	/**鐩爣搴撳瓨鍦�*/
+	@Excel(name = "鐩爣搴撳瓨鍦�", width = 15)
+    @ApiModelProperty(value = "鐩爣搴撳瓨鍦�")
+    private String targetWarehouseId;
+	/**浼樺厛绾э紙鎷夊姩绫诲瀷锛�*/
+	@Excel(name = "浼樺厛绾э紙鎷夊姩绫诲瀷锛�", width = 15, dicCode = "priority")
+	@Dict(dicCode = "priority")
+    @ApiModelProperty(value = "浼樺厛绾э紙鎷夊姩绫诲瀷锛�")
+    private String priority;
+	/**鏈�鏅氶厤閫佹椂闂�*/
+	@Excel(name = "鏈�鏅氶厤閫佹椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏈�鏅氶厤閫佹椂闂�")
+    private Date latestDeliveryTime;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java
new file mode 100644
index 0000000..df19578
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java
@@ -0,0 +1,78 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 涓嬫枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_material_unloading")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_material_unloading瀵硅薄", description="涓嬫枡")
+public class MesMaterialUnloading implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**涓婃枡id*/
+	@Excel(name = "涓婃枡id", width = 15)
+    @ApiModelProperty(value = "涓婃枡id")
+    private String loadingId;
+	/**鐗╂枡缂栫爜*/
+	@Excel(name = "鐗╂枡缂栫爜", width = 15)
+    @ApiModelProperty(value = "鐗╂枡缂栫爜")
+    private String materialNumber;
+	/**鐗╂枡鍚嶇О*/
+	@Excel(name = "鐗╂枡鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    private String materialName;
+	/**鎵规鍙�*/
+	@Excel(name = "鎵规鍙�", width = 15)
+    @ApiModelProperty(value = "鎵规鍙�")
+    private String batchNumber;
+	/**鏁伴噺*/
+	@Excel(name = "鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鏁伴噺")
+    private Double quantity;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesProductionOrder.java b/src/main/java/org/jeecg/modules/mes/entity/MesProductionOrder.java
new file mode 100644
index 0000000..47573aa
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesProductionOrder.java
@@ -0,0 +1,134 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: SAP鐢熶骇璁㈠崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_production_order")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_production_order瀵硅薄", description="SAP鐢熶骇璁㈠崟")
+public class MesProductionOrder implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**鐢熶骇璁㈠崟鍙�*/
+	@Excel(name = "鐢熶骇璁㈠崟鍙�", width = 15)
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+    private String orderCode;
+	/**璁㈠崟绫诲瀷*/
+	@Excel(name = "璁㈠崟绫诲瀷", width = 15)
+    @ApiModelProperty(value = "璁㈠崟绫诲瀷")
+    private String orderCategory;
+	/**鐗╂枡缂栧彿*/
+	@Excel(name = "鐗╂枡缂栧彿", width = 15)
+    @ApiModelProperty(value = "鐗╂枡缂栧彿")
+    private String materialNumber;
+	/**鐗╂枡鍚嶇О*/
+	@Excel(name = "鐗╂枡鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    private String materialName;
+	/**璁″垝寮�濮嬫棩鏈�*/
+	@Excel(name = "璁″垝寮�濮嬫棩鏈�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "璁″垝寮�濮嬫棩鏈�")
+    private Date planStart;
+	/**璁″垝缁撴潫鏃ユ湡*/
+	@Excel(name = "璁″垝缁撴潫鏃ユ湡", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "璁″垝缁撴潫鏃ユ湡")
+    private Date planEnd;
+	/**璁㈠崟鏁伴噺*/
+	@Excel(name = "璁㈠崟鏁伴噺", width = 15)
+    @ApiModelProperty(value = "璁㈠崟鏁伴噺")
+    private Double orderQuantity;
+	/**浜у搧鍗曚綅*/
+	@Excel(name = "浜у搧鍗曚綅", width = 15, dicCode = "production_unit")
+	@Dict(dicCode = "production_unit")
+    @ApiModelProperty(value = "浜у搧鍗曚綅")
+    private String productionUnit;
+	/**璁㈠崟鐘舵��*/
+	@Excel(name = "璁㈠崟鐘舵��", width = 15, dicCode = "order_status")
+	@Dict(dicCode = "order_status")
+    @ApiModelProperty(value = "璁㈠崟鐘舵��")
+    private String orderStatus;
+	/**浼樺厛绾�*/
+	@Excel(name = "浼樺厛绾�", width = 15, dicCode = "priority")
+	@Dict(dicCode = "priority")
+    @ApiModelProperty(value = "浼樺厛绾�")
+    private String priority;
+	/**璁″垝宸ヨ壓璺嚎*/
+	@Excel(name = "璁″垝宸ヨ壓璺嚎", width = 15)
+    @ApiModelProperty(value = "璁″垝宸ヨ壓璺嚎")
+    private String processRoute;
+	/**璁″垝鐗╂枡娓呭崟*/
+	@Excel(name = "璁″垝鐗╂枡娓呭崟", width = 15)
+    @ApiModelProperty(value = "璁″垝鐗╂枡娓呭崟")
+    private String materialListCode;
+	/**宸ュ巶缂栫爜*/
+	@Excel(name = "宸ュ巶缂栫爜", width = 15)
+    @ApiModelProperty(value = "宸ュ巶缂栫爜")
+    private String factoryCode;
+	/**宸ュ巶鍚嶇О*/
+	@Excel(name = "宸ュ巶鍚嶇О", width = 15)
+    @ApiModelProperty(value = "宸ュ巶鍚嶇О")
+    private String factoryName;
+	/**瀹㈡埛鍨嬪彿*/
+	@Excel(name = "瀹㈡埛鍨嬪彿", width = 15)
+    @ApiModelProperty(value = "瀹㈡埛鍨嬪彿")
+    private String customerOrderModel;
+	/**瀹㈡埛鍚嶇О*/
+	@Excel(name = "瀹㈡埛鍚嶇О", width = 15)
+    @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
+    private String customer;
+	/**澶囨敞*/
+	@Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java b/src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java
new file mode 100644
index 0000000..2013fab
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java
@@ -0,0 +1,122 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 鎺掍骇宸ュ崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_production_work_order")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_production_work_order瀵硅薄", description="鎺掍骇宸ュ崟")
+public class MesProductionWorkOrder implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**宸ュ崟鍙�(浠诲姟鍙�)*/
+	@Excel(name = "宸ュ崟鍙�(浠诲姟鍙�)", width = 15)
+    @ApiModelProperty(value = "宸ュ崟鍙�(浠诲姟鍙�)")
+    private String workOrderCode;
+	/**鐗╂枡缂栫爜*/
+	@Excel(name = "鐗╂枡缂栫爜", width = 15)
+    @ApiModelProperty(value = "鐗╂枡缂栫爜")
+    private String materialNumber;
+	/**鐗╂枡鍚嶇О*/
+	@Excel(name = "鐗╂枡鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    private String materialName;
+	/**璁″垝鐢熶骇鏁伴噺*/
+	@Excel(name = "璁″垝鐢熶骇鏁伴噺", width = 15)
+    @ApiModelProperty(value = "璁″垝鐢熶骇鏁伴噺")
+    private Double planQuantity;
+	/**浜х嚎ID(鍐椾綑)*/
+	@Excel(name = "浜х嚎ID(鍐椾綑)", width = 15)
+    @ApiModelProperty(value = "浜х嚎ID(鍐椾綑)")
+    private String factoryId;
+	/**鐝粍ID*/
+	@Excel(name = "鐝粍ID", width = 15)
+    @ApiModelProperty(value = "鐝粍ID")
+    private String groupId;
+	/**鐝ID(鍐椾綑)*/
+	@Excel(name = "鐝ID(鍐椾綑)", width = 15)
+    @ApiModelProperty(value = "鐝ID(鍐椾綑)")
+    private String shiftId;
+	/**鎺掍骇鏃ユ湡*/
+	@Excel(name = "鎺掍骇鏃ユ湡", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鎺掍骇鏃ユ湡")
+    private Date workOrderDate;
+	/**宸ュ崟鐘舵��*/
+	@Excel(name = "宸ュ崟鐘舵��", width = 15, dicCode = "work_order_status")
+	@Dict(dicCode = "work_order_status")
+    @ApiModelProperty(value = "宸ュ崟鐘舵��")
+    private String workOrderStatus;
+	/**瀹為檯鎶ュ伐鏁伴噺*/
+	@Excel(name = "瀹為檯鎶ュ伐鏁伴噺", width = 15)
+    @ApiModelProperty(value = "瀹為檯鎶ュ伐鏁伴噺")
+    private Double actualQuantity;
+	/**鍙戝竷浜�*/
+	@Excel(name = "鍙戝竷浜�", width = 15)
+    @ApiModelProperty(value = "鍙戝竷浜�")
+    private String publisher;
+	/**鍙戝竷鏃堕棿*/
+	@Excel(name = "鍙戝竷鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍙戝竷鏃堕棿")
+    private Date publishTime;
+	/**閲嶅彂甯冧汉*/
+	@Excel(name = "閲嶅彂甯冧汉", width = 15)
+    @ApiModelProperty(value = "閲嶅彂甯冧汉")
+    private String republisher;
+	/**閲嶅彂甯冩椂闂�*/
+	@Excel(name = "閲嶅彂甯冩椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "閲嶅彂甯冩椂闂�")
+    private Date republishTime;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesTransferOrderPrint.java b/src/main/java/org/jeecg/modules/mes/entity/MesTransferOrderPrint.java
new file mode 100644
index 0000000..1622cef
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesTransferOrderPrint.java
@@ -0,0 +1,103 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 绉诲簱鍗曟墦鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_transfer_order_print")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_transfer_order_print瀵硅薄", description="绉诲簱鍗曟墦鍗�")
+public class MesTransferOrderPrint implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**鐢熶骇璁㈠崟ID*/
+	@Excel(name = "鐢熶骇璁㈠崟ID", width = 15)
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟ID")
+    private String orderId;
+	/**绉诲簱鍗曞彿*/
+	@Excel(name = "绉诲簱鍗曞彿", width = 15)
+    @ApiModelProperty(value = "绉诲簱鍗曞彿")
+    private String workOrderCode;
+	/**绉诲簱绫诲瀷*/
+	@Excel(name = "绉诲簱绫诲瀷", width = 15, dicCode = "order_category")
+	@Dict(dicCode = "order_category")
+    @ApiModelProperty(value = "绉诲簱绫诲瀷")
+    private String orderCategory;
+	/**鍘熷簱瀛樺湴*/
+	@Excel(name = "鍘熷簱瀛樺湴", width = 15)
+    @ApiModelProperty(value = "鍘熷簱瀛樺湴")
+    private String originalWarehouseId;
+	/**鐩爣搴撳瓨鍦�*/
+	@Excel(name = "鐩爣搴撳瓨鍦�", width = 15)
+    @ApiModelProperty(value = "鐩爣搴撳瓨鍦�")
+    private String targetWarehouseId;
+	/**鎵樺彿*/
+	@Excel(name = "鎵樺彿", width = 15)
+    @ApiModelProperty(value = "鎵樺彿")
+    private String palletNumber;
+	/**鏁伴噺*/
+	@Excel(name = "鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鏁伴噺")
+    private Double quantity;
+	/**鎿嶄綔浜�*/
+	@Excel(name = "鎿嶄綔浜�", width = 15)
+    @ApiModelProperty(value = "鎿嶄綔浜�")
+    private String operator;
+	/**鎿嶄綔鏃堕棿*/
+	@Excel(name = "鎿嶄綔鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鎿嶄綔鏃堕棿")
+    private Date operateTime;
+	/**绉诲簱鍗曠姸鎬�*/
+	@Excel(name = "绉诲簱鍗曠姸鎬�", width = 15, dicCode = "order_status")
+	@Dict(dicCode = "order_status")
+    @ApiModelProperty(value = "绉诲簱鍗曠姸鎬�")
+    private String orderStatus;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesWorkReporting.java b/src/main/java/org/jeecg/modules/mes/entity/MesWorkReporting.java
new file mode 100644
index 0000000..36fb341
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/entity/MesWorkReporting.java
@@ -0,0 +1,102 @@
+package org.jeecg.modules.mes.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 宸ュ崟鎶ュ伐
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Data
+@TableName("mes_work_reporting")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mes_work_reporting瀵硅薄", description="宸ュ崟鎶ュ伐")
+public class MesWorkReporting implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃ユ湡*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+	/**璁㈠崟ID*/
+	@Excel(name = "璁㈠崟ID", width = 15)
+    @ApiModelProperty(value = "璁㈠崟ID")
+    private String orderId;
+	/**宸ュ崟ID*/
+	@Excel(name = "宸ュ崟ID", width = 15)
+    @ApiModelProperty(value = "宸ュ崟ID")
+    private String workOrderId;
+	/**浜х嚎ID*/
+	@Excel(name = "浜х嚎ID", width = 15)
+    @ApiModelProperty(value = "浜х嚎ID")
+    private String factoryId;
+	/**鎵规鍙�*/
+	@Excel(name = "鎵规鍙�", width = 15)
+    @ApiModelProperty(value = "鎵规鍙�")
+    private String batchNumber;
+	/**鎵樺彿*/
+	@Excel(name = "鎵樺彿", width = 15)
+    @ApiModelProperty(value = "鎵樺彿")
+    private String palletNumber;
+	/**鏁伴噺*/
+	@Excel(name = "鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鏁伴噺")
+    private Double quantity;
+	/**鎶ュ伐浜�*/
+	@Excel(name = "鎶ュ伐浜�", width = 15)
+    @ApiModelProperty(value = "鎶ュ伐浜�")
+    private String reporter;
+	/**鎶ュ伐鏃堕棿*/
+	@Excel(name = "鎶ュ伐鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鎶ュ伐鏃堕棿")
+    private Date reportTime;
+	/**绾胯竟浠揑D*/
+	@Excel(name = "绾胯竟浠揑D", width = 15)
+    @ApiModelProperty(value = "绾胯竟浠揑D")
+    private String warehouseId;
+	/**鎴愬搧涓嬬嚎鎵撳嵃鐘舵��*/
+	@Excel(name = "鎴愬搧涓嬬嚎鎵撳嵃鐘舵��", width = 15, dicCode = "print_status")
+	@Dict(dicCode = "print_status")
+    @ApiModelProperty(value = "鎴愬搧涓嬬嚎鎵撳嵃鐘舵��")
+    private String printStatus;
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesKittingCompletenessCheckMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesKittingCompletenessCheckMapper.java
new file mode 100644
index 0000000..9871a8a
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesKittingCompletenessCheckMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck;
+
+/**
+ * @Description: 榻愬鎬ф鏌ヨ褰�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesKittingCompletenessCheckMapper extends BaseMapper<MesKittingCompletenessCheck> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialLoadingMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialLoadingMapper.java
new file mode 100644
index 0000000..a0596e9
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialLoadingMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesMaterialLoading;
+
+/**
+ * @Description: 涓婃枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesMaterialLoadingMapper extends BaseMapper<MesMaterialLoading> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialTransferRequestMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialTransferRequestMapper.java
new file mode 100644
index 0000000..28b0112
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialTransferRequestMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+
+/**
+ * @Description: 鐗╂枡鎷夊姩鐢宠
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesMaterialTransferRequestMapper extends BaseMapper<MesMaterialTransferRequest> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialUnloadingMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialUnloadingMapper.java
new file mode 100644
index 0000000..af960b6
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesMaterialUnloadingMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesMaterialUnloading;
+
+/**
+ * @Description: 涓嬫枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesMaterialUnloadingMapper extends BaseMapper<MesMaterialUnloading> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java
new file mode 100644
index 0000000..f2dbd11
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesProductionOrder;
+
+/**
+ * @Description: SAP鐢熶骇璁㈠崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesProductionOrderMapper extends BaseMapper<MesProductionOrder> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java
new file mode 100644
index 0000000..688c511
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.mes.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 鎺掍骇宸ュ崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesProductionWorkOrderMapper extends BaseMapper<MesProductionWorkOrder> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesTransferOrderPrintMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesTransferOrderPrintMapper.java
new file mode 100644
index 0000000..f3f26d4
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesTransferOrderPrintMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesTransferOrderPrint;
+
+/**
+ * @Description: 绉诲簱鍗曟墦鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesTransferOrderPrintMapper extends BaseMapper<MesTransferOrderPrint> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesWorkReportingMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesWorkReportingMapper.java
new file mode 100644
index 0000000..fc7c134
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/MesWorkReportingMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mes.entity.MesWorkReporting;
+
+/**
+ * @Description: 宸ュ崟鎶ュ伐
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface MesWorkReportingMapper extends BaseMapper<MesWorkReporting> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesKittingCompletenessCheckMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesKittingCompletenessCheckMapper.xml
new file mode 100644
index 0000000..ba0e018
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesKittingCompletenessCheckMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesKittingCompletenessCheckMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml
new file mode 100644
index 0000000..52eb013
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesMaterialLoadingMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialTransferRequestMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialTransferRequestMapper.xml
new file mode 100644
index 0000000..2d96403
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialTransferRequestMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesMaterialTransferRequestMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialUnloadingMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialUnloadingMapper.xml
new file mode 100644
index 0000000..ada65a3
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialUnloadingMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesMaterialUnloadingMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml
new file mode 100644
index 0000000..c026a36
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesProductionOrderMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml
new file mode 100644
index 0000000..82f9149
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesProductionWorkOrderMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesTransferOrderPrintMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesTransferOrderPrintMapper.xml
new file mode 100644
index 0000000..d3c2ab6
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesTransferOrderPrintMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesTransferOrderPrintMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesWorkReportingMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesWorkReportingMapper.xml
new file mode 100644
index 0000000..603f92a
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesWorkReportingMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mes.mapper.MesWorkReportingMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesKittingCompletenessCheckService.java b/src/main/java/org/jeecg/modules/mes/service/IMesKittingCompletenessCheckService.java
new file mode 100644
index 0000000..f522458
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesKittingCompletenessCheckService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck;
+
+/**
+ * @Description: 榻愬鎬ф鏌ヨ褰�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesKittingCompletenessCheckService extends IService<MesKittingCompletenessCheck> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java
new file mode 100644
index 0000000..4bc9fd6
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesMaterialLoading;
+
+/**
+ * @Description: 涓婃枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesMaterialLoadingService extends IService<MesMaterialLoading> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java
new file mode 100644
index 0000000..aa6981f
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+
+/**
+ * @Description: 鐗╂枡鎷夊姩鐢宠
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesMaterialTransferRequestService extends IService<MesMaterialTransferRequest> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialUnloadingService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialUnloadingService.java
new file mode 100644
index 0000000..e39abe6
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialUnloadingService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesMaterialUnloading;
+
+/**
+ * @Description: 涓嬫枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesMaterialUnloadingService extends IService<MesMaterialUnloading> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java b/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java
new file mode 100644
index 0000000..ff8affa
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesProductionOrder;
+
+/**
+ * @Description: SAP鐢熶骇璁㈠崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesProductionOrderService extends IService<MesProductionOrder> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java b/src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java
new file mode 100644
index 0000000..c3fdffc
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
+
+/**
+ * @Description: 鎺掍骇宸ュ崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesProductionWorkOrderService extends IService<MesProductionWorkOrder> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesTransferOrderPrintService.java b/src/main/java/org/jeecg/modules/mes/service/IMesTransferOrderPrintService.java
new file mode 100644
index 0000000..f3ba981
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesTransferOrderPrintService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesTransferOrderPrint;
+
+/**
+ * @Description: 绉诲簱鍗曟墦鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesTransferOrderPrintService extends IService<MesTransferOrderPrint> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesWorkReportingService.java b/src/main/java/org/jeecg/modules/mes/service/IMesWorkReportingService.java
new file mode 100644
index 0000000..af7cc89
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesWorkReportingService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.mes.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mes.entity.MesWorkReporting;
+
+/**
+ * @Description: 宸ュ崟鎶ュ伐
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+public interface IMesWorkReportingService extends IService<MesWorkReporting> {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesKittingCompletenessCheckServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesKittingCompletenessCheckServiceImpl.java
new file mode 100644
index 0000000..2217dd9
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesKittingCompletenessCheckServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck;
+import org.jeecg.modules.mes.mapper.MesKittingCompletenessCheckMapper;
+import org.jeecg.modules.mes.service.IMesKittingCompletenessCheckService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 榻愬鎬ф鏌ヨ褰�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesKittingCompletenessCheckServiceImpl extends ServiceImpl<MesKittingCompletenessCheckMapper, MesKittingCompletenessCheck> implements IMesKittingCompletenessCheckService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java
new file mode 100644
index 0000000..96cb028
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesMaterialLoading;
+import org.jeecg.modules.mes.mapper.MesMaterialLoadingMapper;
+import org.jeecg.modules.mes.service.IMesMaterialLoadingService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 涓婃枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesMaterialLoadingServiceImpl extends ServiceImpl<MesMaterialLoadingMapper, MesMaterialLoading> implements IMesMaterialLoadingService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java
new file mode 100644
index 0000000..18bdf44
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+import org.jeecg.modules.mes.mapper.MesMaterialTransferRequestMapper;
+import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 鐗╂枡鎷夊姩鐢宠
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesMaterialTransferRequestServiceImpl extends ServiceImpl<MesMaterialTransferRequestMapper, MesMaterialTransferRequest> implements IMesMaterialTransferRequestService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialUnloadingServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialUnloadingServiceImpl.java
new file mode 100644
index 0000000..1677e1a
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialUnloadingServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesMaterialUnloading;
+import org.jeecg.modules.mes.mapper.MesMaterialUnloadingMapper;
+import org.jeecg.modules.mes.service.IMesMaterialUnloadingService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 涓嬫枡
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesMaterialUnloadingServiceImpl extends ServiceImpl<MesMaterialUnloadingMapper, MesMaterialUnloading> implements IMesMaterialUnloadingService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java
new file mode 100644
index 0000000..ed8e452
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesProductionOrder;
+import org.jeecg.modules.mes.mapper.MesProductionOrderMapper;
+import org.jeecg.modules.mes.service.IMesProductionOrderService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: SAP鐢熶骇璁㈠崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesProductionOrderServiceImpl extends ServiceImpl<MesProductionOrderMapper, MesProductionOrder> implements IMesProductionOrderService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java
new file mode 100644
index 0000000..0bfbfb8
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.service.IMesProductionWorkOrderService;
+import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
+import org.jeecg.modules.mes.mapper.MesProductionWorkOrderMapper;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 鎺掍骇宸ュ崟
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesProductionWorkOrderServiceImpl extends ServiceImpl<MesProductionWorkOrderMapper, MesProductionWorkOrder> implements IMesProductionWorkOrderService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesTransferOrderPrintServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesTransferOrderPrintServiceImpl.java
new file mode 100644
index 0000000..27d718e
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesTransferOrderPrintServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesTransferOrderPrint;
+import org.jeecg.modules.mes.mapper.MesTransferOrderPrintMapper;
+import org.jeecg.modules.mes.service.IMesTransferOrderPrintService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 绉诲簱鍗曟墦鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesTransferOrderPrintServiceImpl extends ServiceImpl<MesTransferOrderPrintMapper, MesTransferOrderPrint> implements IMesTransferOrderPrintService {
+
+}
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesWorkReportingServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesWorkReportingServiceImpl.java
new file mode 100644
index 0000000..a20f621
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesWorkReportingServiceImpl.java
@@ -0,0 +1,18 @@
+package org.jeecg.modules.mes.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mes.entity.MesWorkReporting;
+import org.jeecg.modules.mes.mapper.MesWorkReportingMapper;
+import org.jeecg.modules.mes.service.IMesWorkReportingService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 宸ュ崟鎶ュ伐
+ * @Author: jeecg-boot
+ * @Date:   2025-07-04
+ * @Version: V1.0
+ */
+@Service
+public class MesWorkReportingServiceImpl extends ServiceImpl<MesWorkReportingMapper, MesWorkReporting> implements IMesWorkReportingService {
+
+}

--
Gitblit v1.9.3