From 2f640b1038fa331954f78ed1f4317212cf5bb34d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 六月 2024 16:56:06 +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 |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 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..a898137
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
@@ -0,0 +1,117 @@
+
+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.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@DS("sd")
+public class WorkOrderService {
+    @Autowired
+    WorkOrderMapper workOrderMapper;
+
+    //鏌ヨ宸ュ崟
+    public Map<String, Object> defaultDateWork(Date selectTime1, Date selectTime2, Integer state, OrderGlassDetail orderGlassDetail) {
+        Map<String, Object> map = new HashMap<>();
+        if (state == 1) {
+            map.put("data", workOrderMapper.selectWordOrder(selectTime1, selectTime2, orderGlassDetail));
+        } else {
+            map.put("data", workOrderMapper.selectWordOrderNo(selectTime1, selectTime2, orderGlassDetail));
+        }
+
+        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) {
+            //鐢熸垚鐢熶骇璁㈠崟鍙�
+            for (int i = 0; i < count; i++) {
+                letters = lettr++;
+                productIdVl = orderId + 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