From c0765f0a847cd87d1861b0b671f90afc53481c89 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期二, 12 八月 2025 15:14:05 +0800
Subject: [PATCH] 排产工单状态枚举调整

---
 src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 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..b0321ff 100644
--- a/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
+++ b/src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -10,7 +10,6 @@
 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;
@@ -25,7 +24,6 @@
 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 +61,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 +89,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("娣诲姞鎴愬姛锛�");
     }
 
@@ -173,8 +167,8 @@
     @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()
@@ -182,12 +176,27 @@
                 .setPlanQuantity(request.getPlanQuantity())
                 .setRepublisher(Objects.requireNonNull(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 = "鎺掍骇宸ュ崟-鎵ц鎺掍骇宸ュ崟璁″垝")
+    @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("鎵ц鎴愬姛锛�");
+    }
+
     /**
      * 缂栬緫
      *

--
Gitblit v1.9.3