8c945d42c6610abd9ef17bc153114024175bec2a..e40e3e8cd0c19a38458a5804d570361302bf2acd
2025-07-04 houshuai
生产管控模块 基本搭建
e40e3e 对比 | 目录
2025-07-04 cuijian
检验方案
16807e 对比 | 目录
已添加48个文件
已修改7个文件
2718 ■■■■■ 文件已修改
src/main/java/org/jeecg/modules/mes/controller/MesKittingCompletenessCheckController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesMaterialTransferRequestController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesMaterialUnloadingController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesProductionOrderController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesTransferOrderPrintController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesWorkReportingController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesKittingCompletenessCheck.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesMaterialTransferRequest.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesProductionOrder.java 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesTransferOrderPrint.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesWorkReporting.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesKittingCompletenessCheckMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesMaterialLoadingMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesMaterialTransferRequestMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesMaterialUnloadingMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesTransferOrderPrintMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/MesWorkReportingMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesKittingCompletenessCheckMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialTransferRequestMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialUnloadingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesTransferOrderPrintMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/mapper/xml/MesWorkReportingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesKittingCompletenessCheckService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesMaterialUnloadingService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesTransferOrderPrintService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/IMesWorkReportingService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesKittingCompletenessCheckServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialUnloadingServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesTransferOrderPrintServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/service/impl/MesWorkReportingServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/controller/InspectionItemController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/controller/InspectionPlanController.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/entity/InspectionPlan.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/mapper/InspectionItemMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/mapper/xml/InspectionItemMapper.xml 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/service/IInspectionItemService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/qms/service/impl/InspectionItemServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
   }
}
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);
   }
}
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);
   }
}
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);
   }
}
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);
   }
}
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);
   }
}
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);
   }
}
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);
   }
}
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;
}
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;
    /**申请单ID*/
    @Excel(name = "申请单ID", width = 15)
    @ApiModelProperty(value = "申请单ID")
    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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
    /**线边仓ID*/
    @Excel(name = "线边仓ID", width = 15)
    @ApiModelProperty(value = "线边仓ID")
    private String warehouseId;
    /**成品下线打印状态*/
    @Excel(name = "成品下线打印状态", width = 15, dicCode = "print_status")
    @Dict(dicCode = "print_status")
    @ApiModelProperty(value = "成品下线打印状态")
    private String printStatus;
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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>
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>
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>
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>
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>
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>
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>
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>
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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> {
}
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 {
}
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 {
}
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 {
}
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 {
}
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 {
}
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 {
}
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 {
}
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 {
}
src/main/java/org/jeecg/modules/qms/controller/InspectionItemController.java
@@ -237,4 +237,42 @@
         return Result.OK(pageList);
     }
     /**
      * æ ¹æ®æ£€éªŒæ–¹æ¡ˆid查询
      *
      * @param inspectionPlanId
      * @param pageNo
      * @param pageSize
      * @return
      */
     @ApiOperation(value="检验项目-分页列表查询", notes="检验项目-分页列表查询")
     @GetMapping(value = "/queryListByPlanId")
     public Result<?> queryListByPlanId(String inspectionPlanId,
                                @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
         IPage<Map<String, Object>> pageList = inspectionItemService.queryListByPlanId(pageNo,pageSize, inspectionPlanId);
         for(Map<String, Object> r : pageList.getRecords()){
             String inspectionTools = (String) r.get("inspectionTools");
             if(StringUtils.isNotBlank(inspectionTools)){
                 List<String> inspectionToolsList = Arrays.asList(inspectionTools.split(","));
                 List<String> inspectionToolsNameList = new ArrayList<>();
                 String inspectionToolsNames = "";
                 for(String inspectionTool : inspectionToolsList){
                     InspectionTools inspectionTools1 = inspectionToolsService.getById(inspectionTool);
                     if(inspectionTools1 != null){
                         inspectionToolsNameList.add(inspectionTools1.getToolName());
                     }
                 }
                 inspectionToolsNames = inspectionToolsNameList.stream()
                         .collect(Collectors.joining(","));
                 r.put("inspectionToolsNames",inspectionToolsNames);
             }
         }
         return Result.OK(pageList);
     }
}
src/main/java/org/jeecg/modules/qms/controller/InspectionPlanController.java
@@ -1,20 +1,28 @@
package org.jeecg.modules.qms.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.qms.entity.Defect;
import org.jeecg.modules.qms.entity.InspectionItem;
import org.jeecg.modules.qms.entity.InspectionPlan;
import org.jeecg.modules.qms.entity.InspectionPlanItem;
import org.jeecg.modules.qms.service.IInspectionPlanItemService;
import org.jeecg.modules.qms.service.IInspectionPlanService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -51,6 +59,9 @@
public class InspectionPlanController extends JeecgController<InspectionPlan, IInspectionPlanService> {
    @Autowired
    private IInspectionPlanService inspectionPlanService;
     @Autowired
     private IInspectionPlanItemService inspectionPlanItemService;
    
    /**
     * åˆ†é¡µåˆ—表查询
@@ -77,31 +88,57 @@
    /**
     *   æ·»åŠ 
     *
     * @param inspectionPlan
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "检验方案-添加")
    @ApiOperation(value="检验方案-添加", notes="检验方案-添加")
    //@RequiresPermissions("org.jeecg.modules:qms_inspection_plan:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody InspectionPlan inspectionPlan) {
    public Result<?> add(@RequestBody JSONObject jSONObject) {
        InspectionPlan inspectionPlan = jSONObject.toJavaObject(InspectionPlan.class);
        inspectionPlan.setPlanStatus(CommonConstant.STATUS_1);
        inspectionPlan.setPublishStatus(CommonConstant.STATUS_0);
        inspectionPlan.setIsNewVersion("1");
        inspectionPlan.setVersion("V1");
        inspectionPlanService.save(inspectionPlan);
        //保存检验方案检验项目关联关系
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<InspectionPlanItem> inspectionPlanItemList = jsonArray.toJavaList(InspectionPlanItem.class);
        for(int i = 0;i<inspectionPlanItemList.size();i++){
            InspectionPlanItem inspectionPlanItem = inspectionPlanItemList.get(i);
            inspectionPlanItem.setItemId(inspectionPlanItem.getId());
            inspectionPlanItem.setId(null);
            inspectionPlanItem.setPlanId(inspectionPlan.getId());
        }
        inspectionPlanItemService.saveBatch(inspectionPlanItemList);
        return Result.OK("添加成功!");
    }
    
    /**
     *  ç¼–辑
     *
     * @param inspectionPlan
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "检验方案-编辑")
    @ApiOperation(value="检验方案-编辑", notes="检验方案-编辑")
    //@RequiresPermissions("org.jeecg.modules:qms_inspection_plan:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody InspectionPlan inspectionPlan) {
    public Result<?> edit(@RequestBody JSONObject jSONObject) {
        InspectionPlan inspectionPlan = jSONObject.toJavaObject(InspectionPlan.class);
        inspectionPlan.setPlanStatus(CommonConstant.STATUS_1);
        inspectionPlanService.updateById(inspectionPlan);
        //删除原关联关系
        inspectionPlanItemService.removeBatchByIds(inspectionPlanItemService.lambdaQuery().eq(InspectionPlanItem::getPlanId,inspectionPlan.getId()).list());
        //保存检验方案检验项目关联关系
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<InspectionPlanItem> inspectionPlanItemList = jsonArray.toJavaList(InspectionPlanItem.class);
        for(int i = 0;i<inspectionPlanItemList.size();i++){
            InspectionPlanItem inspectionPlanItem = inspectionPlanItemList.get(i);
            inspectionPlanItem.setPlanId(inspectionPlan.getId());
            inspectionPlanItem.setItemId(inspectionPlanItem.getId());
            inspectionPlanItem.setId(null);
        }
        inspectionPlanItemService.saveBatch(inspectionPlanItemList);
        return Result.OK("编辑成功!");
    }
    
@@ -117,6 +154,8 @@
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        inspectionPlanService.removeById(id);
        //删除关联关系
        inspectionPlanItemService.removeBatchByIds(inspectionPlanItemService.lambdaQuery().eq(InspectionPlanItem::getPlanId,id).list());
        return Result.OK("删除成功!");
    }
    
@@ -191,4 +230,54 @@
         return Result.ok("操作成功!");
     }
     @AutoLog(value = "检验方案-发布")
     @ApiOperation(value = "检验方案-发布", notes = "检验方案-发布")
     @PutMapping(value = "/publish")
     public Result<?> publish(@RequestParam(name = "id", required = true) String id) {
         InspectionPlan inspectionPlan = inspectionPlanService.getById(id);
         if (CommonConstant.STATUS_1.equals(inspectionPlan.getPublishStatus())) {
             inspectionPlan.setPublishStatus(CommonConstant.STATUS_0);
         } else {
             inspectionPlan.setPublishStatus(CommonConstant.STATUS_1);
         }
         inspectionPlanService.updateById(inspectionPlan);
         return Result.ok("操作成功!");
     }
     @AutoLog(value = "检验方案-升版")
     @ApiOperation(value = "检验方案-升版", notes = "检验方案-升版")
     @PutMapping(value = "/version")
     public Result<?> version(@RequestParam(name = "id", required = true) String id) {
         InspectionPlan inspectionPlan = inspectionPlanService.getById(id);
         //复制当前检验方案
         InspectionPlan newInspectionPlan = new InspectionPlan();
         BeanUtil.copyProperties(inspectionPlan,newInspectionPlan);
         newInspectionPlan.setId(null);
         newInspectionPlan.setPlanStatus(CommonConstant.STATUS_1);
         newInspectionPlan.setPublishStatus(CommonConstant.STATUS_0);
         newInspectionPlan.setCreateTime(new Date());
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         newInspectionPlan.setCreateBy(user.getUsername());
         //计算版本,版本+1
         String number = inspectionPlan.getVersion().substring(1);
         BigDecimal newNumber = new BigDecimal(number).add(BigDecimal.ONE);
         newInspectionPlan.setVersion("V"+newNumber);
         newInspectionPlan.setIsNewVersion("1");
         inspectionPlanService.save(newInspectionPlan);
         //复制检验方案检验项目
         List<InspectionPlanItem> inspectionPlanItemList = inspectionPlanItemService.lambdaQuery().eq(InspectionPlanItem::getPlanId,inspectionPlan.getId()).list();
         List<InspectionPlanItem> newInspectionPlanItemList = new ArrayList<>();
         newInspectionPlanItemList.addAll(inspectionPlanItemList);
         for(InspectionPlanItem inspectionPlanItem : inspectionPlanItemList){
             inspectionPlanItem.setId(null);
             inspectionPlanItem.setPlanId(newInspectionPlan.getId());
         }
         inspectionPlanItemService.saveBatch(newInspectionPlanItemList);
         //更新原检验方案为禁用
         inspectionPlan.setPlanStatus(CommonConstant.STATUS_0);
         inspectionPlan.setIsNewVersion("0");
         inspectionPlanService.updateById(inspectionPlan);
         return Result.ok("升版成功!");
     }
}
src/main/java/org/jeecg/modules/qms/entity/InspectionPlan.java
@@ -77,7 +77,23 @@
    /**方案状态*/
    @Excel(name = "方案状态", width = 15)
    @ApiModelProperty(value = "方案状态")
    @Dict(dicCode = "plan_status")
    private String planStatus;
    /**方案发布状态*/
    @Excel(name = "方案发布状态", width = 15)
    @ApiModelProperty(value = "方案发布状态")
    private String publishStatus;
    /**方案版本*/
    @Excel(name = "方案版本", width = 15)
    @ApiModelProperty(value = "方案版本")
    private String version;
    /**是否为最新版本*/
    @Excel(name = "是否为最新版本", width = 15)
    @ApiModelProperty(value = "是否为最新版本")
    private String isNewVersion;
    /**方案分类;首检、巡检、完工检*/
    @Excel(name = "方案分类;首检、巡检、完工检", width = 15)
    @ApiModelProperty(value = "方案分类;首检、巡检、完工检")
@@ -86,6 +102,7 @@
    /**抽样规则ID*/
    @Excel(name = "抽样规则ID", width = 15)
    @ApiModelProperty(value = "抽样规则ID")
    @Dict(dictTable = "qms_sampling_rules",dicCode = "id",dicText = "rule_name")
    private String ruleId;
    /**方案描述*/
    @Excel(name = "方案描述", width = 15)
src/main/java/org/jeecg/modules/qms/mapper/InspectionItemMapper.java
@@ -19,4 +19,6 @@
public interface InspectionItemMapper extends BaseMapper<InspectionItem> {
    public IPage<Map<String, Object>> queryList(IPage<Map> pageData, @Param(Constants.WRAPPER) Wrapper<Map> wrapper);
    public IPage<Map<String, Object>> queryListByPlanId(IPage<Map> pageData, @Param(Constants.WRAPPER) Wrapper<Map> wrapper);
}
src/main/java/org/jeecg/modules/qms/mapper/xml/InspectionItemMapper.xml
@@ -15,11 +15,50 @@
            t1.create_time createTime,
            t2.item_text itemCategoryName,
            t3.item_text qualitativeOrQuantitativeName,
            t1.remark
            t1.remark,
            t4.sorter,
            t4.standard_value standardValue,
            t4.max_value 'maxValue',
            t4.min_value 'minValue',
            t4.plan_id planId
        FROM
            qms_inspection_item t1
                left join qms_inspection_plan_item t4 on t4.item_id = t1.id
                LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'item_category' ) t2 ON t2.item_value = t1.item_category
                left join ( SELECT * FROM v_sys_dict WHERE dict_code = 'qualitative_or_quantitative' ) t3 on t3.item_value = t1.qualitative_or_quantitative
            ${ew.customSqlSegment}
    </select>
    <select id="queryListByPlanId" resultType="map" parameterType="String">
        SELECT
            t1.id,
            t1.item_code itemCode,
            t1.item_name itemName,
            t1.item_category itemCategory,
            t1.qualitative_or_quantitative qualitativeOrQuantitative,
            t1.inspection_tools inspectionTools,
            t1.item_status itemStatus,
            t1.create_time createTime,
            t2.sorter,
            t2.standard_value standardValue,
            t2.min_value 'minValue',
            t2.max_value 'maxValue',
            t3.plan_code planCode,
            t3.plan_name planName,
            t3.material_number materialNumber,
            t3.material_name materialName,
            t6.item_text planCategoryName,
            t4.item_text itemCategoryName,
            t5.item_text qualitativeOrQuantitativeName,
            t1.remark
        FROM
            qms_inspection_item t1
                INNER JOIN qms_inspection_plan_item t2 ON t2.item_id = t1.id
                INNER JOIN qms_inspection_plan t3 ON t3.id = t2.plan_id
                LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'item_category' ) t4 ON t4.item_value = t1.item_category
                LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'qualitative_or_quantitative' ) t5 ON t5.item_value = t1.qualitative_or_quantitative
                LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'plan_category' ) t6 ON t6.item_value = t3.plan_category
        ${ew.customSqlSegment}
    </select>
</mapper>
src/main/java/org/jeecg/modules/qms/service/IInspectionItemService.java
@@ -15,4 +15,6 @@
public interface IInspectionItemService extends IService<InspectionItem> {
    IPage<Map<String, Object>> queryList(Integer pageNo, Integer pageSize, Map<String, String> query);
    IPage<Map<String, Object>> queryListByPlanId(Integer pageNo, Integer pageSize, String inspectionPlanId);
}
src/main/java/org/jeecg/modules/qms/service/impl/InspectionItemServiceImpl.java
@@ -51,4 +51,21 @@
        }
        return super.getBaseMapper().queryList(pageData,queryWrapper);
    }
    @Override
    public IPage<Map<String, Object>> queryListByPlanId(Integer pageNo, Integer pageSize, String inspectionPlanId) {
        if (pageNo == null || pageNo < 1 || pageSize == null || pageSize < 1) {
            ExceptionCast.cast("参数错误");
        }
        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
        QueryWrapper<Map> queryWrapper = Wrappers.query();
        if (null != inspectionPlanId) {
           queryWrapper.eq("t2.plan_id", inspectionPlanId);
            // æŽ’序写法
            List<OrderItem> orderItems = new ArrayList<>();
            orderItems.add(OrderItem.desc("t2.sorter"));
            ((Page<Map>) pageData).setOrders(orderItems);
        }
        return super.getBaseMapper().queryListByPlanId(pageData,queryWrapper);
    }
}