From d5bb894f9be2e0a3b62d475b60b44f2ab138528c Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 12 六月 2025 16:48:35 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 insertions(+), 0 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
new file mode 100644
index 0000000..527db11
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
@@ -0,0 +1,137 @@
+
+package com.example.erp.service.pp;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.entity.sd.OrderGlassDetail;
+import com.example.erp.mapper.pp.WorkOrderMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Date;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@DS("sd")
+public class WorkOrderService {
+    @Autowired
+    WorkOrderMapper workOrderMapper;
+
+    //鏌ヨ宸ュ崟
+    public Map<String, Object> defaultDateWork(List<String> selectDate, Integer state, OrderGlassDetail orderGlassDetail) {
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
+        Map<String, Object> map = new HashMap<>();
+        if (state == 1) {//宸茶浆宸ュ崟
+            map.put("data", workOrderMapper.selectWordOrder(startDate, endDate, orderGlassDetail));
+        } else {//鏈浆宸ュ崟
+            map.put("data", workOrderMapper.selectWordOrderNo(startDate, endDate, orderGlassDetail));
+        }
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
+        return map;
+    }
+
+    //杞敓浜ц鍗曟煡璇�
+    public Map<String, Object> addDateWork(String orderId, OrderDetail orderDetail) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", workOrderMapper.addWordOrder(orderId, orderDetail));
+        return map;
+    }
+
+    //鏂板鐢熶骇璁㈠崟
+    public Boolean addOrderWorkSv(Map<String, Object> object) {
+        String userName = "";
+        if (object.get("userName") != null) {
+            userName = object.get("userName").toString();
+        }
+
+        //瀹氫箟鐢熶骇璁㈠崟鍙风敓鎴愰渶瑕佺殑鏉′欢
+        char lettr = 'A';
+        char letters = '1';
+        int count = 25;
+        String productIdVl = "";
+        //灏嗘帴鏀跺埌鐨勪俊鎭В鏋愭垚list
+        List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderdetail")), OrderDetail.class);
+        String orderId = orderDetaillist.get(0).getOrderId();
+
+        for (OrderDetail orderDetail : orderDetaillist) {
+            if(orderDetail.getOrderId()!= orderId){
+                orderId = orderDetail.getOrderId();
+                letters = '1';
+                lettr = 'A';
+            }
+            //鐢熸垚鐢熶骇璁㈠崟鍙�
+            for (int i = 0; i < count; i++) {
+                letters = lettr++;
+                productIdVl = orderDetail.getOrderId() + letters;
+                //鏌ヨ鐢熸垚鐨勭敓浜ц鍗曞彿鏄惁瀛樺湪
+                Integer workCount = workOrderMapper.selectOrderNumber(productIdVl);
+                if (workCount < 1) {
+                    break;
+                }
+
+            }
+            //娣诲姞鐢熶骇璁㈠崟
+            workOrderMapper.addOrderWorkMp(productIdVl, orderDetail.getOrderId(), orderDetail.getProductId(), orderDetail.getProductName(), userName);
+            Integer state = 2;
+            Integer states = 1;
+            //鏌ヨ璇ヨ鍗曟湭杞敓浜ц鍗曠殑鏉℃暟
+            Integer noWorkCount = workOrderMapper.selectWorkCount(orderDetail.getOrderId());
+            if (noWorkCount == 0) {
+                //鏉℃暟涓�0淇敼杞敓浜ц鍗曠姸鎬佷负2锛屽惁鍒欎负1
+                workOrderMapper.updateWorkType(orderDetail.getOrderId(), state);
+            } else {
+                workOrderMapper.updateWorkType(orderDetail.getOrderId(), states);
+            }
+        }
+        return true;
+
+    }
+
+    //鍒犻櫎鐢熶骇璁㈠崟
+    public Boolean deleteOrderWorkSv(String orderId, String productionId) {
+        if (!orderId.isEmpty() && !productionId.isEmpty()) {
+            //鏌ヨ璇ヨ鍗曟槸鍚﹀凡缁忓缓绔嬫祦绋嬪崱
+            Integer getProcessCard = workOrderMapper.selectProcessCard(orderId);
+            if (getProcessCard == 0){
+                //鍒犻櫎璁㈠崟灏忕墖琛ㄧ敓浜ц鍗曞彿
+                workOrderMapper.deleteOrderWorkMp(orderId, productionId);
+                int state = 0;
+                int states = 1;
+                //鏌ヨ璇ヨ鍗曟湭杞敓浜ц鍗曠殑鏉℃暟
+                Integer noWorkCount = workOrderMapper.selectWorkCount(orderId);
+                //鏌ヨ璇ヨ鍗曡浆鐢熶骇璁㈠崟鐨勬潯鏁�
+                Integer yesWorkCount = workOrderMapper.selectYesWorkCount(orderId);
+                if (noWorkCount.equals(yesWorkCount)) {//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴杞伐鍗�
+                    workOrderMapper.updateWorkType(orderId, state);//鍏ㄩ儴
+                } else {
+                    workOrderMapper.updateWorkType(orderId, states);//閮ㄥ垎
+                }
+                return true;
+            }
+            else {
+                return false;
+            }
+
+        } else {
+            return false;
+        }
+    }
+}

--
Gitblit v1.8.0