From 7acd9609e6fd88500f6056165a021b1f6ce0f697 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 20 八月 2025 18:14:18 +0800
Subject: [PATCH] art: 物料拉动业务相关接口添加,物料拉动新增接口,表设计修改

---
 src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java |   45 +++++++++++++++++++++++++++++----------------
 1 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
index b0321ff..d86777d 100644
--- a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -9,18 +9,19 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mes.dto.MesProductionWorkOrderRepublishRequest;
 import org.jeecg.modules.mes.dto.MesProductionWorkScheduleRequest;
+import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck;
 import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
 import org.jeecg.modules.mes.enums.ProductionWorkOrderStatus;
 import org.jeecg.modules.mes.service.IMesProductionWorkOrderService;
+import org.jeecg.modules.mes.utils.CommonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -37,7 +38,7 @@
  */
 @Api(tags = "鎺掍骇宸ュ崟")
 @RestController
-@RequestMapping("/mesproductionworkorder/mesProductionWorkOrder")
+@RequestMapping("/mes/mesProductionWorkOrder")
 @Slf4j
 public class MesProductionWorkOrderController extends JeecgController<MesProductionWorkOrder, IMesProductionWorkOrderService> {
     @Autowired
@@ -136,7 +137,7 @@
 
     @AutoLog(value = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝")
     @ApiOperation(value = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝", notes = "鎺掍骇宸ュ崟-鍙戝竷鎺掍骇璁″垝")
-    //@RequiresPermissions("mes:production:work:order:publish")
+    //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:publish")
     @RequestMapping(value = "/publish", method = {RequestMethod.POST, RequestMethod.PUT})
     public Result<String> publish(@RequestParam("ids") String ids) {
         List<String> idList = Arrays.asList(ids.split(","));
@@ -153,7 +154,7 @@
             MesProductionWorkOrder publish = new MesProductionWorkOrder()
                     .setId(id)
                     .setPublishTime(new Date())
-                    .setPublisher(Objects.requireNonNull(getCurrentUser()).getUsername())
+                    .setPublisher(Objects.requireNonNull(CommonUtils.getCurrentUser()).getUsername())
                     .setWorkOrderStatus(ProductionWorkOrderStatus.PUBLISHED.name());
             publishList.add(publish);
         });
@@ -163,7 +164,7 @@
 
     @AutoLog(value = "鎺掍骇宸ュ崟-閲嶅彂甯冩帓浜ц鍒�")
     @ApiOperation(value="鎺掍骇宸ュ崟-閲嶅彂甯冩帓浜ц鍒�", notes="閲嶅彂甯冩帓浜ц鍒�")
-    //@RequiresPermissions("mes:production:work:order:republish")
+    //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:republish")
     @PostMapping(value = "/republish")
     public Result<String> republish(@RequestBody MesProductionWorkOrderRepublishRequest request) {
         MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(request.getId());
@@ -174,22 +175,41 @@
         MesProductionWorkOrder republish = new MesProductionWorkOrder()
                 .setId(request.getId())
                 .setPlanQuantity(request.getPlanQuantity())
-                .setRepublisher(Objects.requireNonNull(getCurrentUser()).getUsername())
+                .setRepublisher(Objects.requireNonNull(Objects.requireNonNull(CommonUtils.getCurrentUser()).getUsername()))
                 .setRepublishTime(new Date())
                 .setRepublishReason(request.getRepublishReason());
         mesProductionWorkOrderService.updateById(republish);
         return Result.ok("閲嶅彂甯冩垚鍔燂紒");
     }
 
+    @AutoLog(value = "鎺掍骇宸ュ崟-榻愬鎬ф鏌�")
+    @ApiOperation(value="鎺掍骇宸ュ崟-榻愬鎬ф鏌�", notes="榻愬鎬ф鏌�")
+    //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:workOrderCompletenessCheck")
+    @GetMapping(value = "/workOrderCompletenessCheck")
+    public Result<List<MesKittingCompletenessCheck>> workOrderCompletenessCheck(@RequestParam("id") String id) {
+        MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(id);
+        if (workOrder == null) {
+            return Result.error("宸ュ崟涓嶅瓨鍦紒");
+        }
+        if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) {
+            return Result.error("褰撳墠宸ュ崟鐘舵�佷笉鑳借繘琛岄綈濂楁�ф鏌ワ紒");
+        }
+        List<MesKittingCompletenessCheck> list = mesProductionWorkOrderService.workOrderCompletenessCheck(workOrder);
+        return Result.ok(list);
+    }
+
     @AutoLog(value = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝")
     @ApiOperation(value = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝", notes = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝")
+    //@RequiresPermissions("org.jeecg.modules:mes_production_work_order:execute")
     @GetMapping(value = "/execute")
     public Result<?> execute(@RequestParam("id") String id) {
         MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(id);
-        if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) {
+        if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())
+                && !CommonConstant.DEFAULT_1.equals(workOrder.getCompletenessCheckFlag())
+                && !CommonConstant.DEFAULT_1.equals(workOrder.getEquipmentInspectionFlag())
+                && !CommonConstant.DEFAULT_1.equals(workOrder.getProcessInspectionFlag())) {
             return Result.error("褰撳墠宸ュ崟鐘舵�佷笉鑳芥墽琛岋紒");
         }
-        //todo 榻愬鎬ф鏌ャ�佸伐鑹虹偣妫�銆佽澶囩偣妫� 鐨勬牎楠岄�昏緫
         MesProductionWorkOrder executeOrder = new MesProductionWorkOrder()
                 .setId(id)
                 .setWorkOrderStatus(ProductionWorkOrderStatus.EXECUTING.name());
@@ -284,11 +304,4 @@
         return super.importExcel(request, response, MesProductionWorkOrder.class);
     }
 
-    private LoginUser getCurrentUser() {
-        try {
-            return (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        } catch (Exception e) {
-            return null;
-        }
-    }
 }

--
Gitblit v1.9.3