From b59c16db71fbe29770d3dfffe3cb468857c2eca2 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 30 十二月 2024 09:27:12 +0800
Subject: [PATCH] 完善金蝶上报流程

---
 src/main/java/com/zy/asrs/controller/OrderController.java                    |   36 ++++++++++++++++++
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java           |   22 ++++------
 src/main/java/com/zy/asrs/entity/OrderDetl.java                              |    4 +-
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java     |   29 ++++++++++++--
 src/main/webapp/static/js/order/order.js                                     |    6 +--
 src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java   |    4 +-
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java                  |    3 +
 src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java |    3 -
 src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java   |    4 +-
 src/main/webapp/views/order/order.html                                       |    2 
 10 files changed, 82 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index d6666bf..a89e6fa 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -675,6 +675,42 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/order/report")
+    @ManagerAuth(memo = "涓婃姤")
+    public R report(@RequestParam String orderNo) {
+        Order order = orderService.selectByNo(orderNo);
+        if(Cools.isEmpty(order)){
+            return R.parse(BaseRes.EMPTY);
+        }
+        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
+        if (Cools.isEmpty(orderDetls)) {
+            return R.parse(BaseRes.EMPTY);
+        }
+        int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo()));
+        int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo()));
+        if (wrkCount > 0 || pakinCount > 0) {
+            throw new CoolException("瀛樺湪浣滀笟涓暟鎹紝涓嶈兘瀹岀粨銆傝妫�鏌ュ叆搴撻�氱煡妗e拰宸ヤ綔妗�");
+        }
+        Boolean boo=true;
+        for (OrderDetl orderDetl : orderDetls) {
+            if(!orderDetl.getQty().equals(orderDetl.getWorkQty())){
+                return R.error("浣滀笟鏁伴噺鍜屽畬鎴愭暟閲忎笉涓�鑷存棤娉曚笂鎶ョ墿鏂欑紪鍙凤細"+orderDetl.getMatnr());
+            }
+            if((Cools.isEmpty(orderDetl.getPrice())&&orderDetl.getQty()>0)||!orderDetl.getPrice().equals(orderDetl.getQty())){
+                boo=false;
+            }
+            if(Cools.isEmpty(orderDetl.getPrice())){
+                orderDetl.setPrice(0.0);
+                orderDetlService.updateById(orderDetl);
+            }
+        }
+        if(boo){
+            return R.error("娌℃湁闇�瑕佷笂浼犵殑鏁版嵁");
+        }
+        order.setMemo("0");//鐘舵�佽浆鎹㈡垚寮�濮嬩笅鎺�
 
+        orderService.updateById(order);
+        return R.ok();
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 39d5a98..cff818e 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -129,9 +129,9 @@
     private String unit;
 
     /**
-     * 鍗曚环
+     * 宸蹭笂鎶ユ暟閲�
      */
-    @ApiModelProperty(value= "鍗曚环")
+    @ApiModelProperty(value= "宸蹭笂鎶ユ暟閲�")
     private Double price;
 
     /**
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index ed50a08..ba355f6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -177,6 +177,7 @@
             orderDetl.setCreateTime(now);
             orderDetl.setUpdateBy(9527L);
             orderDetl.setUpdateTime(now);
+            orderDetl.setPrice(0.0);
             LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
             if (Cools.isEmpty(locOwner)){
                 throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
@@ -305,6 +306,7 @@
             orderDetl.setUpdateTime(now);
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
+            orderDetl.setPrice(0.0);//鍒濆鍖栧凡涓婃姤鏁伴噺
             orderDetl.setOwner(detlDto.getOwner());
             orderDetl.setBeBatch(detlDto.getBeBatch());
             orderDetl.setWeight(detlDto.getWeight());
@@ -421,6 +423,7 @@
             orderDetl.setCreateTime(now);
             orderDetl.setUpdateBy(9527L);
             orderDetl.setUpdateTime(now);
+            orderDetl.setPrice(0.0);
             LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
             if (Cools.isEmpty(locOwner)){
                 throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
index e21aeaa..b6b2264 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -31,24 +31,20 @@
 
     @Scheduled(cron = "0/3 * * * * ? ")
     @Async("orderThreadPool")
-    public void completeAndReport(){
-        if(!SaveOrderSwitch){
+    public void completeAndReport() {
+        if (!SaveOrderSwitch) {
             return;
         }
         List<Order> orders = orderService.selectCompletemEmo1();
         for (Order order : orders) {
-            try{
-                if(order.getSettle()==4){
-                    order.setMemo("2");
-                    order.setUpdateTime(new Date());
-                    orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
-                }else{
-                    ReturnT<String> result = saveOrderSyncHandler.start(order);
-                    if (!result.isSuccess()) {
-                        log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
-                    }
+            try {
+
+                ReturnT<String> result = saveOrderSyncHandler.start(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
                 }
-            }catch (Exception e){
+
+            } catch (Exception e) {
                 Order order1 = orderService.selectById(order.getId());
                 order1.setUpdateTime(new Date());
                 orderService.updateById(order1);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
index 56f35dc..ce0cf6c 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
@@ -76,7 +76,6 @@
 //            return SUCCESS;
 //        }
         //鏉′欢鎷兼帴
-        log.info("鏉′欢鎷兼帴");
         String entryIds = null;
         if (kingDeeUtilType.entryId==1){
             List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
@@ -103,8 +102,6 @@
         jsonObject.put("FormId",kingDeeUtilType.formId);
         jsonObject.put("data", dataJsonObject);
         String add = jsonObject.toJSONString();
-        log.info("鏉′欢鎷兼帴:"+jsonObject);
-
         //涓嬫帹
         log.info("涓嬫帹");
         String response = "";
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
index 48b8312..6ed11ac 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -93,10 +93,10 @@
                 JsonNode rootNode = objectMapper.readTree(response);
                 boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
                 log.info("瀹℃牳bool:" + bool);
-                //瀹℃牳瀹屾垚鍘熻鍗�2杞�3  3.瀹℃牳瀹屾垚
+                //瀹℃牳瀹屾垚鍘熻鍗�3杞�4  4.瀹℃牳瀹屾垚
                 if (bool) {
                     success = true;
-                    order.setMemo("3");//瀹℃牳瀹屾垚
+                    order.setMemo("4");//瀹℃牳瀹屾垚
                     order.setUpdateTime(new Date());
 
 
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
index af4cb64..62b53fa 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -108,7 +108,11 @@
             orderedMap.put("FMATERIALID", jsonObjectFMATERIALID);
             orderedMap.put("FSTOCKID", jsonObjectFSTOCKID);
             orderedMap.put("FLOT", jsonObjectFLOT);
-            orderedMap.put("FQty", orderDetl.getQty());                    // 灏�"FQty"鏀惧埌鏈�鍚�
+            if(orderDetl.getQty().equals(0.0)){
+                orderedMap.put("FQty", orderDetl.getQty());
+            }else{
+                orderedMap.put("FQty", orderDetl.getQty()-orderDetl.getPrice());    // 灏�"FQty"鏀惧埌鏈�鍚�
+            }
 
             JSONObject jsonObjectEnd = new JSONObject(orderedMap);
 
@@ -153,18 +157,35 @@
             Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
             String bool1=IsSuccess.toString();
             boolean bool = false;
-            //淇濆瓨瀹屾垚鍘熻鍗�5杞�6 6.淇濆瓨瀹屾垚
+            //淇濆瓨瀹屾垚鍘熻鍗�1杞�2 2.淇濆瓨瀹屾垚
             if(bool1.equals("true")){
                 ObjectMapper objectMapper =  new ObjectMapper();
                 JsonNode rootNode = objectMapper.readTree(response);
                 bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
                 log.info("淇濆瓨bool:"+bool);
-                //鎻愪氦瀹屾垚鍘熻鍗�5杞�6  6.涓婃姤瀹屾垚
+                //鎻愪氦瀹屾垚鍘熻鍗�1杞�2  2.涓婃姤瀹屾垚
                 if(bool){
                     success = true;
-                    order.setSettle(6L);
+                    order.setMemo("2");
                     order.setUpdateTime(new Date());
                     orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+
+                    for(OrderDetl orderDetl:orderDetls){
+                        orderDetl.setPrice(orderDetl.getQty());
+                        orderDetl.setUpdateTime(new Date());
+                        if(Cools.isEmpty(orderDetl.getBatch())){
+                            orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
+                                    .eq("order_no",order.getOrderNo())
+                                    .eq("matnr",orderDetl.getMatnr()));
+                        }else{
+                            orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
+                                    .eq("order_no",order.getOrderNo())
+                                    .eq("matnr",orderDetl.getMatnr())
+                                    .eq("batch",orderDetl.getBatch()));
+                        }
+
+                    }
+
                 }
             }
 
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
index 7bcbc34..ced9a06 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
@@ -91,11 +91,11 @@
                 JsonNode rootNode = objectMapper.readTree(response);
                 boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
                 log.info("瀹℃牳bool:"+bool);
-                //鎻愪氦瀹屾垚鍘熻鍗�1杞�2  2.鎻愪氦瀹屾垚
+                //鎻愪氦瀹屾垚鍘熻鍗�2杞�3  3.鎻愪氦瀹屾垚
                 if(bool){
                     success = true;
 //                    order.setSettle(7L);
-                    order.setMemo("2");
+                    order.setMemo("3");
                     order.setUpdateTime(new Date());
                     orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
                 }
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 9900430..cc3eeeb 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -560,7 +560,7 @@
 
     // 淇敼璁㈠崟鐘舵��
     function doModify(orderId, orderNo, settle) {
-        layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
+        layer.confirm('纭畾瑕佹墜鍔ㄤ笂鎶ュ悧锛�', {
             shade: .1,
             skin: 'layui-layer-admin'
         }, function (i) {
@@ -569,12 +569,10 @@
             console.log(orderId);
             console.log(settle);
             $.ajax({
-                url: baseUrl+"/order/update/auth",
+                url: baseUrl+"/order/report",
                 headers: {'token': localStorage.getItem('token')},
                 data: {
-                    id: orderId,
                     orderNo: orderNo,
-                    settle: settle
                 },
                 method: 'POST',
                 success: function (res) {
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index f0181c8..686e232 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -94,7 +94,7 @@
         <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
     {{# } }}
     {{# if (d.settle == 2) { }}
-    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">涓婃姤</a>
     {{# } }}
 
 <!--    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}-->

--
Gitblit v1.9.1