From 11cd06db08d1ff21ee061300dc171006205b0d50 Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 07 五月 2021 07:56:58 +0800
Subject: [PATCH] 1.平仓入库允许分批入库

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java |  187 ++++++++++++++++++--------
 src/main/java/com/zy/asrs/mapper/LocNormalMapper.java            |    4 
 src/main/resources/mapper/LocNormalMapper.xml                    |   23 +--
 src/main/webapp/views/pda/locNormalIn.html                       |  184 +++++++++++++++++++++++++-
 4 files changed, 316 insertions(+), 82 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
index cf3ea67..bcbc140 100644
--- a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
@@ -24,9 +24,9 @@
 
     public void removeLocNormal(@Param("matnr") String matnr, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime, @Param("id") Integer id);
 
-    public void locNormalIn(List<LocNormal> list);
+    public Integer pdaLocNormalIn(List<LocNormal> list);
 
-    public void pdaLocNormalIn(List<LocNormal> list);
+    public Integer pdaLocNormalUpdate(List<LocNormal> list);
 
     public List<LocNormal> pdaLocNormalQuery(@Param("matnr") String matnr, @Param("warehouse") String warehouse, @Param("billNo") String billNo);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
index 11c45fa..3de54ca 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -1,14 +1,19 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.LocNormal;
+import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.WaitPakinLog;
 import com.zy.asrs.mapper.LocNormalMapper;
 import com.zy.asrs.mapper.OutStockMapper;
 import com.zy.asrs.service.LocNormalService;
+import com.zy.asrs.service.WaitPakinLogService;
+import com.zy.asrs.service.WaitPakinService;
 import com.zy.common.service.erp.ErpSqlServer;
 import com.zy.common.service.erp.entity.CPICMO;
 import com.zy.common.service.erp.entity.OutStockBillEntry;
@@ -29,6 +34,12 @@
     ErpSqlServer erpSqlServer;
     @Autowired
     OutStockMapper outStockMapper;
+    @Autowired
+    LocNormalService locNormalService;
+    @Autowired
+    WaitPakinService waitPakinService;
+    @Autowired
+    WaitPakinLogService waitPakinLogService;
 
     @Override
     public List<LocNormal> getLocNormalData() {
@@ -55,43 +66,36 @@
         // 骞充粨鍏ュ簱鍚庢洿鏂颁腑闂磋〃鏁版嵁锛孎flag_finish鏀逛负1锛岃〃绀哄钩浠撳叆搴撴垚鍔�
         if (list.size() > 0) {
             for (Integer i = 0; i < list.size(); i++) {
+                List<LocNormal> addList = new ArrayList<>();
+                List<LocNormal> updateList = new ArrayList<>();
                 if (!Cools.isEmpty(list.get(i).getSupplier())) { // 瀛樺湪鍏ュ簱鍗曞彿鐨勬墠杩涜erp鏇存柊
-                    String sqlSelect = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
-                    sqlSelect = MessageFormat.format(sqlSelect, list.get(i).getMatnr(), list.get(i).getSupplier());
-                    List<CPICMO> CPICMOList = erpSqlServer.select(sqlSelect,CPICMO.class);
-                    if (CPICMOList.size() > 0) { //  璇存槑erp鏈夊搴旂殑鍏ュ簱鍗�
-                        String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
-                        sql = MessageFormat.format(sql, list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getSupplier());
-                        if (erpSqlServer.update(sql) > 0) {
-                            sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
-                            sql = MessageFormat.format(sql, list.get(i).getMatnr(), list.get(i).getSupplier());
-                            List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
-                            CPICMO cpicmo = select.get(0);
-                            boolean complete = false;
-                            if (cpicmo.getFQty() > 0) {
-                                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFQty())) {
-                                    complete = true;
-                                }
-                            } else {
-                                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFAuxQty())) {
-                                    complete = true;
-                                }
-                            }
-                            if (complete) {
-                                if (!completeCPakIn(list.get(i).getSupplier(), list.get(i).getMatnr())) {
-                                    log.error("{}骞充粨鍏ュ簱鍗曟爣璁板畬鎴愬け璐�", list.get(i).getSupplier());
-                                }
-                            }
+                    // 鍒ゆ柇鍘熷厛骞充粨鏄惁瀛樺湪鏈夎揣,濡傛灉鏈夎揣鏁伴噺杩涜绱姞
+                    LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").eq("warehouse", list.get(i).getWarehouse()));
+                    if (!Cools.isEmpty(oldLocList)) {
+                        // erp鏇存柊
+                        updateCPICMO(list.get(i));
+                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
+                        // 骞充粨鍏ュ簱锛堟洿鏂帮級閫昏緫
+                        list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme()));
+                        updateList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalUpdate(updateList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+                            custWaitPakinToLog(list.get(i), updateAnfme);
                         }
                     } else {
-                        throw new CoolException("ERP鏌ヨ涓嶅埌瀵瑰簲閫氱煡鍗�");
+                        // erp鏇存柊
+                        updateCPICMO(list.get(i));
+                        // 骞充粨鍏ュ簱閫昏緫
+                        addList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalIn(addList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
+                        }
                     }
                 } else {
                     throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖");
                 }
             }
-            // 骞充粨鍏ュ簱閫昏緫
-            baseMapper.locNormalIn(list);
         }
     }
 
@@ -109,46 +113,113 @@
         // 骞充粨鍏ュ簱鍚庢洿鏂颁腑闂磋〃鏁版嵁锛孎flag_finish鏀逛负1锛岃〃绀哄钩浠撳叆搴撴垚鍔�
         if (list.size() > 0) {
             for (Integer i = 0; i < list.size(); i++) {
+                List<LocNormal> addList = new ArrayList<>();
+                List<LocNormal> updateList = new ArrayList<>();
                 if (!Cools.isEmpty(list.get(i).getSupplier())) { // 瀛樺湪鍏ュ簱鍗曞彿鐨勬墠杩涜erp鏇存柊
-                    String sqlSelect = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
-                    sqlSelect = MessageFormat.format(sqlSelect, list.get(i).getMatnr(), list.get(i).getSupplier());
-                    List<CPICMO> CPICMOList = erpSqlServer.select(sqlSelect,CPICMO.class);
-                    if (CPICMOList.size() > 0) { //  璇存槑erp鏈夊搴旂殑鍏ュ簱鍗�
-                        String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
-                        sql = MessageFormat.format(sql, list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getSupplier());
-                        if (erpSqlServer.update(sql) > 0) {
-                            sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
-                            sql = MessageFormat.format(sql, list.get(i).getMatnr(), list.get(i).getSupplier());
-                            List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
-                            CPICMO cpicmo = select.get(0);
-                            boolean complete = false;
-                            if (cpicmo.getFQty() > 0) {
-                                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFQty())) {
-                                    complete = true;
-                                }
-                            } else {
-                                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFAuxQty())) {
-                                    complete = true;
-                                }
-                            }
-                            if (complete) {
-                                if (!completeCPakIn(list.get(i).getSupplier(), list.get(i).getMatnr())) {
-                                    log.error("{}骞充粨鍏ュ簱鍗曟爣璁板畬鎴愬け璐�", list.get(i).getSupplier());
-                                }
-                            }
+                    // 鍒ゆ柇鍘熷厛骞充粨鏄惁瀛樺湪鏈夎揣,濡傛灉鏈夎揣鏁伴噺杩涜绱姞
+                    LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").and().eq("warehouse", list.get(i).getWarehouse()));
+                    if (!Cools.isEmpty(oldLocList)) {
+                        // erp鏇存柊
+                        updateCPICMO(list.get(i));
+                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
+                        // 骞充粨鍏ュ簱锛堟洿鏂伴�昏緫)
+                        list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme()));
+                        updateList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalUpdate(updateList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+                            custWaitPakinToLog(list.get(i), updateAnfme);
                         }
                     } else {
-                        throw new CoolException("ERP鏌ヨ涓嶅埌瀵瑰簲閫氱煡鍗�");
+                        // erp鏇存柊
+                        updateCPICMO(list.get(i));
+                        // 骞充粨鍏ュ簱閫昏緫
+                        addList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalIn(addList) > 0){
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
+                        }
                     }
                 } else {
                     throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖");
                 }
             }
-            // 骞充粨鍏ュ簱閫昏緫
-            baseMapper.pdaLocNormalIn(list);
+
         }
     }
 
+    /* cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺 */
+    private boolean custWaitPakinToLog(LocNormal list, Double updateAnfme) {
+        WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("supplier", list.getSupplier()).and().eq("matnr", list.getMatnr()));
+        WaitPakinLog waitPakinLog = new WaitPakinLog();
+        waitPakinLog.setAnfme(updateAnfme);
+        waitPakinLog.setMatnr(waitPakin.getMatnr());
+        waitPakinLog.setMaktx(waitPakin.getMaktx());
+        waitPakinLog.setLgnum(waitPakin.getLgnum());
+        waitPakinLog.setType(waitPakin.getType());
+        waitPakinLog.setMnemonic(waitPakin.getMnemonic());
+        waitPakinLog.setSupplier(waitPakin.getSupplier());
+        waitPakinLog.setWarehouse(waitPakin.getWarehouse());
+        waitPakinLog.setBrand(waitPakin.getBrand());
+        waitPakinLog.setAltme(waitPakin.getAltme());
+        waitPakinLog.setZpallet(waitPakin.getZpallet());
+        waitPakinLog.setBname(waitPakin.getBname());
+        waitPakinLog.setLocNo(waitPakin.getLocNo());
+        waitPakinLog.setStatus(waitPakin.getStatus());
+        waitPakinLog.setIoStatus(waitPakin.getIoStatus());
+        waitPakinLog.setMemo(waitPakin.getMemo());
+        waitPakinLog.setModiTime(waitPakin.getModiTime());
+        waitPakinLog.setModiUser(waitPakin.getModiUser());
+        waitPakinLog.setAppeTime(waitPakin.getAppeTime());
+        waitPakinLog.setAppeUser(waitPakin.getAppeUser());
+        // 杞叆搴撻�氱煡鍘嗗彶妗�
+        waitPakinLogService.insert(waitPakinLog);
+        // 淇敼鍏ュ簱鍚屽織妗g墿鏂欐暟閲�
+        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
+        wrapper.eq("supplier", list.getSupplier())
+                .eq("matnr", list.getMatnr())
+                .isNull("zpallet");
+        WaitPakin pakin = new WaitPakin();
+        pakin.setAnfme(waitPakin.getAnfme() - updateAnfme);
+        waitPakinService.update(pakin, wrapper);
+        return true;
+    }
+
+    /* 鏇存柊erp鍏ュ簱琛� */
+    private boolean updateCPICMO(LocNormal list) {
+        String sqlSelect = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
+        sqlSelect = MessageFormat.format(sqlSelect, list.getMatnr(), list.getSupplier());
+        List<CPICMO> CPICMOList = erpSqlServer.select(sqlSelect,CPICMO.class);
+        if (CPICMOList.size() > 0) { //  璇存槑erp鏈夊搴旂殑鍏ュ簱鍗�
+            String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
+            sql = MessageFormat.format(sql, list.getAnfme(), list.getMatnr(), list.getSupplier());
+            if (erpSqlServer.update(sql) > 0) {
+                sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
+                sql = MessageFormat.format(sql, list.getMatnr(), list.getSupplier());
+                List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
+                CPICMO cpicmo = select.get(0);
+                boolean complete = false;
+                if (cpicmo.getFQty() > 0) {
+                    if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFQty())) {
+                        complete = true;
+                    }
+                } else {
+                    if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFAuxQty())) {
+                        complete = true;
+                    }
+                }
+                if (complete) {
+                    if (!completeCPakIn(list.getSupplier(), list.getMatnr())) {
+                        log.error("{}骞充粨鍏ュ簱鍗曟爣璁板畬鎴愬け璐�", list.getSupplier());
+                    }
+                }
+            }
+        } else {
+            throw new CoolException("ERP鏌ヨ涓嶅埌瀵瑰簲閫氱煡鍗�");
+        }
+
+        return true;
+    }
+
     @Override
     public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse, String billNo) {
        return baseMapper.pdaLocNormalQuery(matnr, warehouse, billNo);
diff --git a/src/main/resources/mapper/LocNormalMapper.xml b/src/main/resources/mapper/LocNormalMapper.xml
index 32c52f4..313dbc2 100644
--- a/src/main/resources/mapper/LocNormalMapper.xml
+++ b/src/main/resources/mapper/LocNormalMapper.xml
@@ -44,20 +44,6 @@
         modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR} and id = #{id, jdbcType=DECIMAL}
     </update>
 
-    <insert id="locNormalIn">
-        BEGIN
-        <foreach collection="list" item="item" index="index">
-            INSERT INTO asr_loc_normal (matnr, maktx, anfme, altme, lgnum, type, mnemonic, supplier, brand, warehouse, state,
-            appe_user, appe_time)
-            VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.maktx,jdbcType=VARCHAR}, #{item.anfme,jdbcType=DECIMAL},
-            #{item.altme,jdbcType=VARCHAR},#{item.lgnum, jdbcType=VARCHAR}, #{item.type, jdbcType=VARCHAR},
-            #{item.mnemonic, jdbcType=VARCHAR} ,#{item.supplier, jdbcType=VARCHAR},#{item.brand, jdbcType=VARCHAR},
-            #{item.warehouse,jdbcType=VARCHAR}, '1', #{item.appeUser,jdbcType=DECIMAL},
-            #{item.appeTime,jdbcType=TIMESTAMP})
-        </foreach>
-        END;
-    </insert>
-
     <insert id="pdaLocNormalIn">
         BEGIN
         <foreach collection="list" item="item" index="index">
@@ -73,6 +59,15 @@
         END;
     </insert>
 
+    <insert id="pdaLocNormalUpdate">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            update asr_loc_normal set anfme = #{item.anfme,jdbcType=DECIMAL}
+            where supplier = #{item.supplier,jdbcType=VARCHAR} and state = '1' and warehouse = #{item.warehouse,jdbcType=VARCHAR}
+        </foreach>
+        END;
+    </insert>
+
     <select id="pdaLocNormalQuery" resultMap="BaseResultMap">
         select id, matnr,maktx, warehouse,anfme from asr_loc_normal
         where 1 = 1
diff --git a/src/main/webapp/views/pda/locNormalIn.html b/src/main/webapp/views/pda/locNormalIn.html
index 29c5103..73ad16d 100644
--- a/src/main/webapp/views/pda/locNormalIn.html
+++ b/src/main/webapp/views/pda/locNormalIn.html
@@ -13,7 +13,65 @@
     <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
     <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
     <style>
+        .number-tool {
+            margin-left: 10px;
+            padding: 1px 0 1px 5px;
+            display: inline-block;
+            width: 120px;
+        }
 
+        .number-tool:after {
+            clear: both;
+            content: "";
+            display: table;
+        }
+
+        .number-tool button {
+            background-color: #fff;
+            margin-top: 3px;
+            font-size: 16px;
+            height: 25px;
+            float: left;
+            width: 25px;
+            border: 1px solid #777777;
+        }
+
+        .number-tool input {
+            text-align: center;
+            height: 30px;
+            float: left;
+            margin: 0 5px;
+            width: 50px;
+            padding: 0;
+        }
+
+        #confirm {
+            margin: 10px 10px;
+            padding: 5px 20px;
+            font-weight: 600;
+        }
+
+        #remove {
+            margin: 10px 10px;
+            padding: 5px 20px;
+            color: darkred;
+        }
+
+        .form-box span {
+            font-size: 16px;
+            display: inline-block;
+            text-align: right;
+        }
+
+        .form-box input {
+            width: 165px;
+            padding-left: 5px;
+            height: 30px;
+            border: 1px solid #777777;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
+        }
     </style>
 </head>
 <body>
@@ -62,6 +120,59 @@
         <span id="tips"></span>
     </div>
 </footer>
+
+<!-- 淇敼鏁伴噺寮圭獥 -->
+<div id="modify" style="display: none; text-align: center;padding-top: 10px">
+    <div class="form-box">
+        <div class="form-item">
+            <table style="display: none">
+                <tr>
+                    <td>
+                        <span style="width: 35px; margin-right: 5px">鐗╂枡</span>
+                    </td>
+                    <td style="text-align: left">
+                        <input id="matNo" type="text" disabled="disabled">
+                    </td>
+                </tr>
+            </table>
+        </div>
+        <div class="form-item">
+            <table style="display: inline">
+                <tr>
+                    <td style="vertical-align: top">
+                        <span style="width: 35px; margin-right: 5px">鍚嶇О</span>
+                    </td>
+                    <td style="text-align: left">
+                    <textarea rows="2" style="resize: none; width: 165px" id="matName" type="text" disabled="disabled"
+                              readonly="readonly"></textarea>
+                    </td>
+                </tr>
+            </table>
+        </div>
+        <div class="form-item">
+            <table style="display: inline">
+                <tr>
+                    <td>
+                        <span style="width: 35px; margin-right: 5px">鍗曞彿</span>
+                    </td>
+                    <td style="text-align: left">
+                        <input id="mnemonic" type="text" disabled="disabled">
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+    <div class="form-item" style="margin-top: 5px">
+        <span style="vertical-align: middle">鏁伴噺</span>
+        <div class="number-tool" style="vertical-align: middle">
+            <button onclick="reduce()">-</button>
+            <input id="count" type="number">
+            <button onclick="add()">+</button>
+        </div>
+    </div>
+    <button id="confirm" onclick="confirm()">淇濆瓨</button>
+</div>
+
 </body>
 <script>
     var tableIns;
@@ -80,13 +191,36 @@
             limit: 500,
             cellMinWidth: 50,
             cols: [[
-                {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜'},
-                {field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿'},
-                { field: 'count', align: 'center', title: '鏁伴噺', style: 'color: blue', width: 50},
-                {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О'},
-
+                {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜', event: 'modify'},
+                {field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿', event: 'modify'},
+                {field: 'count', align: 'center', title: '鏁伴噺', style: 'color: blue', width: 50, event: 'modify'},
+                {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О', event: 'modify'},
             ]],
             done: function (res, curr, count) {
+            }
+        });
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(chooseData)', function (obj) {
+            var data = obj.data;
+            switch (obj.event) {
+                case 'modify':
+                    countLayer = layer.open({
+                        type: 1,
+                        offset: '20px',
+                        title: '淇敼鏁伴噺',
+                        shadeClose: true,
+                        area: ['80%', '300px'],
+                        content: $("#modify"),
+                        success: function (layero, index) {
+                            $('#matNo').val(data.matNo);
+                            $('#matName').val(data.matName);
+                            $('#count').val(data.count);
+                            $('#mnemonic').val(data.mnemonic);
+                            maxCount = data.count;
+                        }
+                    });
+                    break;
             }
         });
 
@@ -114,6 +248,43 @@
             }
         });
     });
+
+    /*************************************  鏁伴噺  ****************************************/
+    var countDom = $('#count');
+    var minCount = 1;
+    var maxCount = 1;
+    function add() {
+        if (countDom.val() >= maxCount) {
+            return;
+        }
+        countDom.val(Number(countDom.val()) + 1);
+    }
+
+    function reduce() {
+        if (countDom.val() <= minCount) {
+            return;
+        }
+        countDom.val(countDom.val() - 1);
+    }
+
+    // 淇敼鏁伴噺
+    function confirm() {
+        var matNo = $('#matNo').val();
+        var count = $('#count').val();
+        var mnemonic = $("#mnemonic").val() === '' ? null : $("#mnemonic").val();
+        for (var j = 0; j < matData.length; j++) {
+            if (matNo === matData[j].matNo && mnemonic === matData[j].mnemonic) {
+                if (count > maxCount || count < minCount) {
+                    tips("鏁伴噺涓嶈兘瓒呰繃鑼冨洿", true);
+                    return;
+                }
+                matData[j].count = Number(count);
+            }
+        }
+        tableIns.reload({data: matData});
+        layer.close(countLayer);
+        tips("淇敼鎴愬姛");
+    }
 
     window.onload = function () {
         document.getElementById("uuid").focus();
@@ -260,9 +431,6 @@
      * @param warn true锛氱孩鑹插瓧浣�
      */
     function tips(msg, warn) {
-        // var tips = $('#tips');
-        // tips.html(msg);
-        // tips.css("color", warn?"red":'#666');
         layer.msg(msg, {icon: warn ? 2 : 1})
     }
 

--
Gitblit v1.9.1