From 6592a2a095bab7177289adaed866e979a107b22e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 29 三月 2022 14:11:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java        |   74 ++++++++++++++----------
 version/lib/cool-framework-install.txt                           |    2 
 version/lib/framework-3.1.0.jar                                  |    0 
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |    6 -
 src/main/webapp/static/js/order/order.js                         |   46 ++-------------
 src/main/java/com/zy/common/model/DetlDto.java                   |   31 ++-------
 pom.xml                                                          |    2 
 7 files changed, 61 insertions(+), 100 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8fa7198..a977fc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
 
     <properties>
         <java.version>1.8</java.version>
-        <cool.version>3.0.0</cool.version>
+        <cool.version>3.1.0</cool.version>
         <mysql-driver.version>5.1.47</mysql-driver.version>
         <mybatis-plus.version>2.3.2</mybatis-plus.version>
         <fastjson.version>1.2.58</fastjson.version>
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 9336fd1..36f1efd 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
+import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -113,17 +114,28 @@
         if (!orderService.insert(order)) {
             throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
         }
+        List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            orderDetl.setOrderId(order.getId());
-            orderDetl.setOrderNo(order.getOrderNo());
-            orderDetl.setCreateBy(getUserId());
-            orderDetl.setCreateTime(now);
-            orderDetl.setUpdateBy(getUserId());
-            orderDetl.setUpdateTime(now);
-            orderDetl.setStatus(1);
-            orderDetl.setQty(0.0D);
-            if (!orderDetlService.insert(orderDetl)) {
-                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            } else {
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             }
         }
         return R.ok("璁㈠崟娣诲姞鎴愬姛");
@@ -149,34 +161,34 @@
             }
         }
         // 淇敼鏄庣粏妗�
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         // 1.娓呯┖鏄庣粏妗�
         if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
             throw new CoolException("娓呯┖璁㈠崟鏄庣粏澶辫触");
         }
         // 2.閲嶇粍鏁版嵁
+        List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            OrderDetl detl = orderDetlService.findByLook(orderDetls, order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
-            // 鏂板
-            if (detl == null) {
-                detl = orderDetl;
-                detl.setOrderId(order.getId());
-                detl.setOrderNo(order.getOrderNo());
-                detl.setCreateTime(now);
-                detl.setCreateBy(userId);
-                detl.setUpdateTime(now);
-                detl.setUpdateBy(userId);
-                detl.setStatus(1);
-                detl.setQty(0.0D);
-            // 淇敼
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             } else {
-                detl.setAnfme(orderDetl.getAnfme());    // 淇敼鏁伴噺
-                detl.setUpdateTime(now);
-                detl.setUpdateBy(userId);
-            }
-            // 鎸佷箙鍖�
-            if (!orderDetlService.insert(detl)) {
-                throw new CoolException("鏂板璁㈠崟鏄庣粏澶辫触");
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             }
         }
         return R.ok("璁㈠崟淇敼鎴愬姛");
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 99f70f4..6981a2d 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -32,11 +32,7 @@
     public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
         for (OrderDetl orderDetl : orderDetls) {
             if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) {
-                if (!Cools.isEmpty(batch)) {
-                    if (orderDetl.getBatch().equals(batch)) {
-                        return orderDetl;
-                    }
-                } else {
+                if (Cools.eq(batch, orderDetl.getBatch())) {
                     return orderDetl;
                 }
             }
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index e2e8bb3..650e884 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -29,6 +29,11 @@
         this.anfme = anfme;
     }
 
+    public DetlDto(String matnr, String batch) {
+        this.matnr = matnr;
+        this.batch = batch;
+    }
+
     public DetlDto(String matnr, String batch, Double anfme) {
         this.matnr = matnr;
         this.batch = batch;
@@ -61,16 +66,8 @@
 
     public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) {
         for (DetlDto dto : detlDtos) {
-            if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(detlDto.getBatch())) {
-                if (dto.getMatnr().equals(detlDto.getMatnr())) {
-                    return true;
-                }
-            } else {
-                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(detlDto.getBatch())) {
-                    if (dto.getMatnr().equals(detlDto.getMatnr()) && dto.getBatch().equals(detlDto.getBatch())) {
-                        return true;
-                    }
-                }
+            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) {
+                return true;
             }
         }
         return false;
@@ -81,19 +78,7 @@
             return null;
         }
         for (DetlDto detlDto : detlDtos) {
-            if (!matnr.equals(detlDto.getMatnr())) {
-                continue;
-            }
-            if (Cools.isEmpty(batch) && Cools.isEmpty(detlDto.getBatch())) {
-                return detlDto;
-            }
-            if (Cools.isEmpty(batch) && !Cools.isEmpty(detlDto.getBatch())) {
-                continue;
-            }
-            if (Cools.isEmpty(detlDto.getBatch()) && !Cools.isEmpty(batch)) {
-                continue;
-            }
-            if (batch.equals(detlDto.getBatch())) {
+            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())) {
                 return detlDto;
             }
         }
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 76ac6e7..bbac8d8 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -161,27 +161,6 @@
                     }
                     let nList = admin.util.deepClone(xxDataList);
                     for (let xi = 0; xi < nList.length; xi++) {
-                        // if (nList[xi].inQty > 0 && inQtys[xi] !== nList[xi].anfme) {
-                        //     layer.msg("宸插叆搴撴棤娉曚慨鏀�", {icon: 2})
-                        //     return false;
-                        // } else if (nList[xi].anfme > 0) {
-                        //     param.push({
-                        //         billNo: data.field.billNo,
-                        //         billType: data.field.billType,
-                        //         matNo: nList[xi].matNo,
-                        //         matName: nList[xi].matName,
-                        //         color: nList[xi].color,
-                        //         size: nList[xi].size,
-                        //         specs: nList[xi].specs,
-                        //         memo: nList[xi].memo,
-                        //         unit: nList[xi].unit,
-                        //         qty: nList[xi].qty,
-                        //         inQty: nList[xi].inQty,
-                        //     })
-                        // } else if (nList[xi].anfme <= 0){
-                        //     layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
-                        //     return false;
-                        // }
                         if (nList[xi].anfme <= 0){
                             layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
                             return false;
@@ -227,7 +206,7 @@
                         {type: 'numbers', title: '#'},
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿'},
+                        {field: 'batch', title: '鎵瑰彿', edit: true},
                         {field: 'specs', title: '瑙勬牸'},
                         {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                         // {field: 'inQty', title: '宸插叆搴撻噺',  minWidth: 100, width: 100},
@@ -288,35 +267,24 @@
                 });
                 // 鏄庣粏鏁版嵁淇敼
                 table.on('edit(formSSXMTable)', function (obj) {
-                    if (obj.field === 'memo'){
-                        for (let i=0;i<xxDataList.length;i++) {
-                            if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
-                                xxDataList[i]["memo"] = obj.value;
-                                break;
-                            }
-                        }
-                    } else if (obj.field==='anfme'){
+                    let index = obj.tr.attr("data-index");
+                    let data = xxDataList[index];
+                    if (obj.field === 'anfme'){
                         let vle = Number(obj.value);
                         if (isNaN(vle)) {
                             layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
                             return false;
                         } else {
-                            if (vle > 0) {
-                                for (let i=0;i<xxDataList.length;i++) {
-                                    if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
-                                        xxDataList[i]["anfme"] = vle;
-                                        break;
-                                    }
-                                }
-                            } else {
+                            if (vle <= 0) {
                                 layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
                                 return false;
                             }
                         }
                     }
+                    data[obj.field] = obj.value;
                     insTbSSXM.reload({data: xxDataList});
                 });
-                //
+
                 $('#matAddBtnComment').click(function () {
                     showEditModel2();
                 });
diff --git a/version/lib/cool-framework-install.txt b/version/lib/cool-framework-install.txt
index e383c23..01c183e 100644
--- a/version/lib/cool-framework-install.txt
+++ b/version/lib/cool-framework-install.txt
@@ -1 +1 @@
-mvn install:install-file -Dfile=framework-2.0.0.jar -DgroupId=cn.cool -DartifactId=framework -Dversion=2.0.0 -Dpackaging=jar -DgeneratePom=true
\ No newline at end of file
+mvn install:install-file -Dfile=framework-3.1.0.jar -DgroupId=cn.cool -DartifactId=framework -Dversion=3.1.0 -Dpackaging=jar -DgeneratePom=true
diff --git a/version/lib/framework-3.1.0.jar b/version/lib/framework-3.1.0.jar
new file mode 100644
index 0000000..a7a3b79
--- /dev/null
+++ b/version/lib/framework-3.1.0.jar
Binary files differ

--
Gitblit v1.9.1