From 959e5318189e66ad58d07c5bb94789c815b4d2e9 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期六, 16 八月 2025 11:42:37 +0800
Subject: [PATCH] art: WebService服务端相关代码修改

---
 src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java |   78 ++++++++++++++++++++++++--------------
 1 files changed, 49 insertions(+), 29 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 d712a21..c021299 100644
--- a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -9,23 +9,22 @@
 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;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
@@ -63,16 +62,8 @@
                                                                HttpServletRequest req) {
         Map<String, String[]> parameterMap = req.getParameterMap();
         QueryWrapper<MesProductionWorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(mesProductionWorkOrder, parameterMap);
-        String[] startDates = parameterMap.get("startDate");
-        String[] endDates = parameterMap.get("endDate");
-        if (startDates != null && startDates.length > 0) {
-            queryWrapper.ge("work_order_date", startDates[0]);
-        }
-        if (endDates != null && endDates.length > 0) {
-            queryWrapper.le("work_order_date", endDates[0]);
-        }
         Page<MesProductionWorkOrder> page = new Page<MesProductionWorkOrder>(pageNo, pageSize);
-        IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.page(page, queryWrapper);
+        IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.queryPageList(page, parameterMap);
         return Result.OK(pageList);
     }
 
@@ -99,8 +90,12 @@
         if (!validatePlan(mesProductionWorkOrderList)) {
             return Result.error("鎺掍骇璁″垝涓嶅悎鐞嗭紝淇濆瓨澶辫触锛�");
         }
-        mesProductionWorkOrderList.forEach(item -> item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name()));
-        mesProductionWorkOrderService.saveBatch(mesProductionWorkOrderList);
+        mesProductionWorkOrderList.forEach(item -> {
+            if (Objects.isNull(item.getId())) {
+                item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name());
+            }
+        });
+        mesProductionWorkOrderService.saveOrUpdateBatch(mesProductionWorkOrderList);
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -142,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(","));
@@ -159,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);
         });
@@ -169,23 +164,55 @@
 
     @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());
-        //todo 鍒ゆ柇鐝鏄惁缁撴潫鐨勯�昏緫
-        if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) {
+        if (ProductionWorkOrderStatus.NEW.name().equals(workOrder.getWorkOrderStatus())
+                || ProductionWorkOrderStatus.CLOSED.name().equals(workOrder.getWorkOrderStatus())) {
             return Result.error("褰撳墠宸ュ崟鐘舵�佷笉鏀寔閲嶅彂甯冿紒");
         }
         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())
-                .setWorkOrderStatus(ProductionWorkOrderStatus.REPUBLISHED.name());
+                .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())) {
+            return Result.error("褰撳墠宸ュ崟鐘舵�佷笉鑳芥墽琛岋紒");
+        }
+        //todo 榻愬鎬ф鏌ャ�佸伐鑹虹偣妫�銆佽澶囩偣妫� 鐨勬牎楠岄�昏緫
+        MesProductionWorkOrder executeOrder = new MesProductionWorkOrder()
+                .setId(id)
+                .setWorkOrderStatus(ProductionWorkOrderStatus.EXECUTING.name());
+        mesProductionWorkOrderService.updateById(executeOrder);
+        return Result.ok("鎵ц鎴愬姛锛�");
     }
 
     /**
@@ -275,11 +302,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