From f2beaeeb5a1811dbc38b386d7a5b5d0f9c8c6f7c Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 12 三月 2021 08:42:25 +0800
Subject: [PATCH] 1.0.3 pda新增平仓出库功能

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java     |   24 ++
 src/main/webapp/views/pda/index.html                                 |    6 
 src/main/java/com/zy/asrs/controller/LocNormalController.java        |   43 ++++-
 src/main/java/com/zy/asrs/mapper/LocNormalMapper.java                |   10 +
 src/main/java/com/zy/common/web/BaseController.java                  |    8 
 src/main/resources/mapper/LocNormalMapper.xml                        |   39 +++-
 src/main/java/com/zy/common/utils/excel/locNomal/LocNormalExcel.java |    9 
 src/main/java/com/zy/asrs/entity/LocNormal.java                      |    9 +
 version/version/wjh.sql                                              |    4 
 src/main/webapp/views/pda/locNormalOut.html                          |  316 +++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/LocNormalService.java              |    8 
 11 files changed, 441 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocNormalController.java b/src/main/java/com/zy/asrs/controller/LocNormalController.java
index 14353d6..64d82cc 100644
--- a/src/main/java/com/zy/asrs/controller/LocNormalController.java
+++ b/src/main/java/com/zy/asrs/controller/LocNormalController.java
@@ -10,6 +10,7 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import com.zy.asrs.entity.LocNormal;
 import com.zy.asrs.entity.param.LocNormalParam;
 import com.zy.asrs.service.LocNormalService;
@@ -27,6 +28,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -130,6 +132,21 @@
         return R.ok("鎴愬姛瀵煎叆" + listener.getTotal() + "鏉$墿鏂欎俊鎭�");
     }
 
+    /* 骞充粨鍏ュ簱 */
+    @RequestMapping(value = "/locNormal/in")
+    @ManagerAuth(memo = "骞充粨鍏ュ簱")
+    @Transactional
+    public R locNormalIn(@RequestBody LocNormalParam param) {
+        Long userId = getUserId();
+        Date timeNow = new Date();
+        for (Integer i = 0; i < param.getNormalList().size(); i++) {
+            param.getNormalList().get(i).setAppeUser(userId);
+            param.getNormalList().get(i).setAppeTime(timeNow);
+        }
+        locNormalService.locNormalIn(param.getNormalList());
+        return R.ok();
+    }
+
     /* pda鍏ュ簱 */
     @RequestMapping(value = "/locNormal/pda/in")
     @ManagerAuth(memo = "骞充粨绠$悊pda鍏ュ簱")
@@ -145,18 +162,28 @@
         return R.ok();
     }
 
-    /* 骞充粨鍏ュ簱 */
-    @RequestMapping(value = "/locNormal/in")
-    @ManagerAuth(memo = "骞充粨鍏ュ簱")
+    /* pda鍑哄簱鏌ヨ */
+    @RequestMapping(value = "/locNormal/pda/out/query")
+    @ManagerAuth(memo = "pda鍑哄簱鏌ヨ")
     @Transactional
-    public R locNormalIn(@RequestBody LocNormalParam param) {
+    public R locNormalPdaOutQuery(String matnr, String warehouse) {
+        List<LocNormal> list = new ArrayList<>();
+        list  = locNormalService.pdaLocNormalQuery(matnr, warehouse);
+        return R.ok(list);
+    }
+
+    @RequestMapping(value = "/locNormal/pda/out")
+    @ManagerAuth(memo = "pda鍑哄簱")
+    @Transactional
+    public R locNormalPdaOut(@RequestBody LocNormalParam param) {
         Long userId = getUserId();
         Date timeNow = new Date();
-        for (Integer i = 0; i < param.getNormalList().size(); i++) {
-            param.getNormalList().get(i).setAppeUser(userId);
-            param.getNormalList().get(i).setAppeTime(timeNow);
+        List<LocNormal> list = param.getNormalList();
+        for (Integer i = 0; i < list.size(); i++) {
+            list.get(i).setModiUser(userId);
+            list.get(i).setModiTime(timeNow);
         }
-        locNormalService.locNormalIn(param.getNormalList());
+        locNormalService.pdaLocNormalOut(list);
         return R.ok();
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/LocNormal.java b/src/main/java/com/zy/asrs/entity/LocNormal.java
index 92cbee5..453c3a6 100644
--- a/src/main/java/com/zy/asrs/entity/LocNormal.java
+++ b/src/main/java/com/zy/asrs/entity/LocNormal.java
@@ -13,6 +13,7 @@
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -21,6 +22,9 @@
 public class LocNormal implements Serializable {
 
     private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value= "鑷ID")
+    private Integer id;
 
     @ApiModelProperty(value= "鐗╂枡")
     @TableId(value = "matnr", type = IdType.INPUT)
@@ -48,7 +52,7 @@
     private String brand;
 
     @ApiModelProperty(value= "鏁伴噺")
-    private Double anfme;
+    private BigDecimal anfme;
 
     @ApiModelProperty(value= "鍗曚綅")
     private String altme;
@@ -79,6 +83,9 @@
     @TableField("state")
     private String state;
 
+    @TableField(exist = false)
+    private BigDecimal anfmeOut;
+
     public String getModiUser$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.modiUser);
diff --git a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
index 7da997d..52dcc8a 100644
--- a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
@@ -18,13 +18,19 @@
 public interface LocNormalMapper extends BaseMapper<LocNormal> {
     List<LocNormal> getLocNormalData();
 
-    public void updateLocNormal(@Param("matnr") String matnr,@Param("anfme") Double anfme, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime);
+    public void updateLocNormal(@Param("matnr") String matnr,@Param("anfme") BigDecimal anfme, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime);
 
     public void outLocNormal(@Param("matnr") String matnr, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime);
 
     public void removeLocNormal(@Param("matnr") String matnr, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime);
 
+    public void locNormalIn(List<LocNormal> list);
+
     public void pdaLocNormalIn(List<LocNormal> list);
 
-    public void locNormalIn(List<LocNormal> list);
+    public List<LocNormal> pdaLocNormalQuery(@Param("matnr") String matnr, @Param("warehouse") String warehouse);
+
+    public void pdaLocNormalOut1(@Param("id") Integer id,@Param("matnr") String matnr, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime, @Param("warehouse") String warehouse);
+
+    public void pdaLocNormalOut2(@Param("id") Integer id,@Param("matnr") String matnr,@Param("anfme") BigDecimal anfme, @Param("modiUser") Long modiUser, @Param("modiTime") Date modiTime, @Param("warehouse") String warehouse);
 }
diff --git a/src/main/java/com/zy/asrs/service/LocNormalService.java b/src/main/java/com/zy/asrs/service/LocNormalService.java
index 63799c0..83c4ae9 100644
--- a/src/main/java/com/zy/asrs/service/LocNormalService.java
+++ b/src/main/java/com/zy/asrs/service/LocNormalService.java
@@ -10,13 +10,17 @@
 public interface LocNormalService extends IService<LocNormal> {
   List<LocNormal> getLocNormalData();
 
-  public void updateLocNormal(String matnr, Double anfme, Long modiUser, Date modiTime);
+  public void updateLocNormal(String matnr, BigDecimal anfme, Long modiUser, Date modiTime);
 
   public void outLocNormal(String matnr, Long modiUser, Date modiTime);
 
   public void removeLocNormal(String matnr, Long modiUser, Date modiTime);
 
+  public void locNormalIn(List<LocNormal> list);
+
   public void pdaLocNormalIn(List<LocNormal> list);
 
-  public void locNormalIn(List<LocNormal> list);
+  public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse);
+
+  public void pdaLocNormalOut(List<LocNormal> list);
 }
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 1bc6ece..0451917 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -21,7 +21,7 @@
     }
 
     @Override
-    public void updateLocNormal(String matnr, Double anfme, Long modiUser, Date modiTime) {
+    public void updateLocNormal(String matnr, BigDecimal anfme, Long modiUser, Date modiTime) {
         baseMapper.updateLocNormal(matnr, anfme, modiUser, modiTime);
     }
 
@@ -36,12 +36,30 @@
     }
 
     @Override
+    public void locNormalIn(List<LocNormal> list) {
+        baseMapper.locNormalIn(list);
+    }
+
+    @Override
     public void pdaLocNormalIn(List<LocNormal> list) {
         baseMapper.pdaLocNormalIn(list);
     }
 
     @Override
-    public void locNormalIn(List<LocNormal> list) {
-        baseMapper.locNormalIn(list);
+    public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse) {
+       return baseMapper.pdaLocNormalQuery(matnr, warehouse);
+    }
+
+    @Override
+    public void pdaLocNormalOut(List<LocNormal> list) {
+        for (Integer i = 0; i < list.size(); i++) {
+            if (list.get(i).getAnfme().equals(list.get(i).getAnfmeOut())) {
+                baseMapper.pdaLocNormalOut1(list.get(i).getId(), list.get(i).getMatnr(), list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
+            }
+            if (list.get(i).getAnfmeOut().compareTo(list.get(i).getAnfme()) == -1) {
+                BigDecimal diff = (list.get(i).getAnfme()).subtract(list.get(i).getAnfmeOut());
+                baseMapper.pdaLocNormalOut2(list.get(i).getId(), list.get(i).getMatnr(), diff, list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
+            }
+        }
     }
 }
diff --git a/src/main/java/com/zy/common/utils/excel/locNomal/LocNormalExcel.java b/src/main/java/com/zy/common/utils/excel/locNomal/LocNormalExcel.java
index bf5a8df..d93043d 100644
--- a/src/main/java/com/zy/common/utils/excel/locNomal/LocNormalExcel.java
+++ b/src/main/java/com/zy/common/utils/excel/locNomal/LocNormalExcel.java
@@ -4,6 +4,7 @@
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
@@ -26,7 +27,7 @@
     @ExcelProperty(index = 7)
     private String brand;
     @ExcelProperty(index = 8)
-    private Double anfme;
+    private BigDecimal anfme;
     @ExcelProperty(index = 9)
     private String altme;
     @ExcelProperty(index = 10)
@@ -44,7 +45,7 @@
 
     }
 
-    public LocNormalExcel(String matnr, String maktx, String lgnum, String type, String mnemonic, String supplier, String warehouse, String brand, Double anfme, String altme, String bname, String memo, Long appeUser, Date appeTime,String state) {
+    public LocNormalExcel(String matnr, String maktx, String lgnum, String type, String mnemonic, String supplier, String warehouse, String brand, BigDecimal anfme, String altme, String bname, String memo, Long appeUser, Date appeTime,String state) {
         this.matnr = matnr;
         this.maktx = maktx;
         this.lgnum = lgnum;
@@ -126,11 +127,11 @@
         this.brand = brand;
     }
 
-    public Double getAnfme() {
+    public BigDecimal getAnfme() {
         return anfme;
     }
 
-    public void setAnfme(Double anfme) {
+    public void setAnfme(BigDecimal anfme) {
         this.anfme = anfme;
     }
 
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index ecc7e80..468d7bb 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -17,6 +17,8 @@
 import java.lang.reflect.Modifier;
 import java.util.*;
 
+import static sun.security.krb5.internal.crypto.Nonce.value;
+
 /**
  * Created by vincent on 2019-09-09
  */
@@ -113,7 +115,11 @@
             }
             String column = null;
             if (field.isAnnotationPresent(TableField.class)) {
-                column = field.getAnnotation(TableField.class).value();
+                TableField annotation = field.getAnnotation(TableField.class);
+                if (!annotation.exist()) {
+                   continue;
+                }
+                column = annotation.value();
             }
             if (Cools.isEmpty(column)) {
                 column = field.getName();
diff --git a/src/main/resources/mapper/LocNormalMapper.xml b/src/main/resources/mapper/LocNormalMapper.xml
index a9f41e8..e37045b 100644
--- a/src/main/resources/mapper/LocNormalMapper.xml
+++ b/src/main/resources/mapper/LocNormalMapper.xml
@@ -43,18 +43,6 @@
         modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR}
     </update>
 
-
-    <insert id="pdaLocNormalIn">
-        BEGIN
-        <foreach collection="list" item="item" index="index">
-            INSERT INTO asr_loc_normal (matnr, maktx, anfme, warehouse, state, appe_user, appe_time)
-            VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.maktx,jdbcType=VARCHAR}, #{item.anfme,jdbcType=DECIMAL},
-            #{item.warehouse,jdbcType=VARCHAR}, '1', #{item.appeUser,jdbcType=DECIMAL},
-            #{item.appeTime,jdbcType=TIMESTAMP})
-        </foreach>
-        END;
-    </insert>
-
     <insert id="locNormalIn">
         BEGIN
         <foreach collection="list" item="item" index="index">
@@ -68,4 +56,31 @@
         </foreach>
         END;
     </insert>
+
+    <insert id="pdaLocNormalIn">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            INSERT INTO asr_loc_normal (matnr, maktx, anfme, warehouse, state, appe_user, appe_time)
+            VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.maktx,jdbcType=VARCHAR}, #{item.anfme,jdbcType=DECIMAL},
+            #{item.warehouse,jdbcType=VARCHAR}, '1', #{item.appeUser,jdbcType=DECIMAL},
+            #{item.appeTime,jdbcType=TIMESTAMP})
+        </foreach>
+        END;
+    </insert>
+
+    <select id="pdaLocNormalQuery" resultMap="BaseResultMap">
+        select id, matnr,maktx, warehouse,anfme from asr_loc_normal
+        where warehouse = #{warehouse,jdbcType=VARCHAR} and matnr =#{matnr,jdbcType=VARCHAR}
+        and state = '1' COLLATE Chinese_PRC_CS_AS
+    </select>
+
+    <update id="pdaLocNormalOut1">
+        update asr_loc_normal set state = '2',modi_user = #{modiUser, jdbcType=DECIMAL},modi_time = #{modiTime, jdbcType=TIMESTAMP}
+        where matnr = #{matnr,jdbcType=VARCHAR} and warehouse = #{warehouse,jdbcType=VARCHAR} and id = #{id,jdbcType=DECIMAL}
+    </update>
+
+    <update id="pdaLocNormalOut2">
+        update asr_loc_normal set anfme = #{anfme, jdbcType=DECIMAL},modi_user = #{modiUser, jdbcType=DECIMAL},modi_time = #{modiTime, jdbcType=TIMESTAMP}
+        where matnr = #{matnr,jdbcType=VARCHAR} and warehouse = #{warehouse,jdbcType=VARCHAR} and id = #{id,jdbcType=DECIMAL}
+    </update>
 </mapper>
diff --git a/src/main/webapp/views/pda/index.html b/src/main/webapp/views/pda/index.html
index 6304cc9..a2cfd52 100644
--- a/src/main/webapp/views/pda/index.html
+++ b/src/main/webapp/views/pda/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh">
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
@@ -108,7 +108,9 @@
         <td>
             <a id="locNormalIn" onclick="nav(this.id)" class="nav-unselect" href="#">骞充粨鍏ュ簱</a>
         </td>
-        <td></td>
+        <td>
+            <a id="locNormalOut" onclick="nav(this.id)" class="nav-unselect" href="#">骞充粨鍑哄簱</a>
+        </td>
     </tr>
 </table>
 
diff --git a/src/main/webapp/views/pda/locNormalOut.html b/src/main/webapp/views/pda/locNormalOut.html
new file mode 100644
index 0000000..fe564c9
--- /dev/null
+++ b/src/main/webapp/views/pda/locNormalOut.html
@@ -0,0 +1,316 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>骞充粨鍑哄簱</title>
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/pda.css" media="all">
+    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+    <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>
+</head>
+<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;
+    }
+</style>
+<body>
+
+<header>
+    <div>
+        <div class="layui-input-inline">
+            <label class="layui-form-label">搴�&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍖�</label>
+            <input class="layui-input" type="number" id="warehouse" onkeyup="findCode(this, 'warehouse')" placeholder="鎵爜 / 杈撳叆"
+                   autocomplete="off">
+        </div>
+        <div class="layui-input-inline">
+            <label class="layui-form-label">鐗╂枡缂栫爜</label>
+            <input class="layui-input" id="matnr" onkeyup="findCode(this, 'matnr')" placeholder="鎵爜 / 杈撳叆" style="width: 65%"
+                   autocomplete="off">
+        </div>
+    </div>
+
+</header>
+
+<main>
+    <table class="layui-table" id="locNormalOut" lay-filter="locNormalOut"></table>
+</main>
+
+<footer>
+    <div class="layui-btn-container">
+        <button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
+        <button type="button" id="out-btn" class="layui-btn layui-btn-normal " onclick="locNormalOut()"
+                style="margin-left: 20px">鍑哄簱
+        </button>
+        <button type="button" id="retrun-btn" class="layui-btn layui-btn-primary " onclick="back()"
+                style="margin-left: 20px">杩斿洖
+        </button>
+        <span id="tips"></span>
+    </div>
+</footer>
+
+<!-- 淇敼鏁伴噺寮圭獥 -->
+<div id="modify" style="display: none; text-align: center;padding-top: 10px">
+    <div class="form-item">
+        <span>缂栫爜</span>
+        <input id="matnr2" type="text" disabled="disabled" style="width: 70%">
+    </div>
+    <div class="form-item">
+        <span>鍚嶇О</span>
+        <input id="maktx2" type="text" disabled="disabled" style="width: 70%">
+    </div>
+    <input id="index" type="text" disabled="disabled" style="display: none;">
+    <div class="form-item" style="margin-top: 5px; margin-bottom: 8px">
+        <span style="vertical-align: middle">鏁伴噺</span>
+        <div class="number-tool" style="vertical-align: middle">
+            <button onclick="reduce()">-</button><input id="anfme2" type="number" onchange="fix(this)"><button onclick="add()">+</button>
+        </div>
+    </div>
+    <button id="remove" onclick="remove()">绉婚櫎</button>
+    <button id="confirm" onclick="confirm()">淇濆瓨</button>
+</div>
+
+</body>
+<script>
+    var countLayer;
+    // 褰撳墠鐐瑰嚮鐗╂枡鐨勬渶澶ф暟閲�
+    var maxCount;
+    // 琛ㄦ牸鏁版嵁
+    var normalOutList = [];
+    window.onload = function () {
+        document.getElementById("warehouse").focus();
+    }
+
+    /**
+     * 鎻愮ず淇℃伅
+     * @param msg 鎻愮ず鍐呭
+     * @param warn true锛氱孩鑹插瓧浣�
+     */
+    function tips(msg, warn) {
+        layer.msg(msg, {icon: warn?2:1})
+    }
+
+    function back() {
+        parent.backIndex();
+    }
+
+    var tableIns;
+    layui.use(['table','laydate', 'form'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var form = layui.form;
+
+        tableIns = table.render({
+            id: 'locNormalOut',
+            elem: '#locNormalOut',
+            data: [],
+            limit: 500,
+            cellMinWidth: 50,
+            cols: [[
+                {type: 'checkbox', fixed: 'left', width:30},
+                {field: 'anfmeOut', align: 'center', title: '鏁伴噺', event: 'detail', style:'color: blue', event: 'modify', style:'cursor: pointer;color: blue', width:50},
+                {field: 'matnr', align: 'center', title: '缂栫爜', event: 'detail', width:80},
+                {field: 'maktx', align: 'center', title: '鍚嶇О', event: 'detail'},
+                {field: 'warehouse', align: 'center', title: '搴撳尯', event: 'detail', width:50}
+            ]],
+            done: function (res, curr, count) {
+            }
+        });
+
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(locNormalOut)', function(obj) {
+            var data = obj.data;
+            switch (obj.event) {
+                case 'modify':
+                    countLayer = layer.open({
+                        type: 1,
+                        offset: '20px',
+                        title: '淇敼鏁伴噺',
+                        shadeClose: true,
+                        area: ['80%', '200px'],
+                        content: $("#modify"),
+                        success: function (layero, index) {
+                            $('#matnr2').val(data.matnr);
+                            $('#maktx2').val(data.maktx);
+                            $('#index').val(data.id);
+                            $('#anfme2').val(0);
+                            maxCount = data.anfme;
+                        }
+                    });
+                    break;
+            }
+        });
+    });
+
+    var warehouseBar;
+    var matnrBar;
+    /* 鎵爜銆佽緭鍏ュ簱鍖哄拰鐗╂枡缂栫爜 */
+    function findCode(el, type) {
+        switch (type) {
+            case 'warehouse':
+                warehouseBar = el.value;
+                break;
+            case 'matnr':
+                matnrBar =  el.value;
+                break;
+            default:
+                break;
+        }
+
+        // 鍒ゆ柇搴撳尯鎴栬�呯墿鏂欑紪鐮侀兘涓嶄负绌�
+        if (!warehouseBar || !matnrBar) {
+            return;
+        }
+
+        $.ajax({
+            url: baseUrl + "/locNormal/pda/out/query?matnr="+matnrBar+"&warehouse="+warehouseBar,
+            headers: {'token': localStorage.getItem('token')},
+//            contentType: 'application/json;charset=UTF-8',
+            method: 'GET',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    if (res.data && res.data.length > 0) {
+                        res.data.map(function (item) {
+                            // 榛樿璧嬪��0寮�濮�
+                           item.anfmeOut = 0;
+                        });
+                    }
+                    tableIns.reload({
+                        data: res.data,
+                    });
+                    normalOutList = res.data;
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
+                }
+            },
+        });
+    }
+
+    /* 淇敼鏁伴噺 */
+    var countDom = $('#anfme2');
+    function add() {
+        if (countDom.val() >= maxCount) {
+            return;
+        }
+        countDom.val(Number(countDom.val()) + 1);
+    }
+    function reduce() {
+        if (countDom.val() <= 0) {
+            return;
+        }
+        countDom.val(Number(countDom.val()) - 1);
+    }
+    function fix(e) {
+        if (Number(e.value) > maxCount) {
+            countDom.val(maxCount);
+        }
+    }
+    function remove() {
+        var matnr = $('#matnr2').val();
+        var index = $('#index').val();
+        for (var j=0;j<normalOutList.length;j++){
+            if (matnr === normalOutList[j].matnr && index == normalOutList[j].id) {
+                normalOutList.splice(j, 1);
+            }
+        }
+        tableIns.reload({data: normalOutList});
+        layer.close(countLayer);
+        tips("绉婚櫎鎴愬姛");
+    }
+    // 淇敼鏁伴噺
+    function confirm(){
+        var matnr = $('#matnr2').val();
+        var count = $('#anfme2').val();
+        var index = $('#index').val();
+        for (var j=0;j<normalOutList.length;j++){
+            if (matnr === normalOutList[j].matnr && index == normalOutList[j].id) {
+                if (count > maxCount || count < 0) {
+                    tips("鏁伴噺涓嶈兘瓒呰繃鑼冨洿", true);
+                    return;
+                }
+                normalOutList[j].anfmeOut = Number(count);
+            }
+        }
+        tableIns.reload({data: normalOutList});
+        layer.close(countLayer);
+        tips("淇敼鎴愬姛");
+    }
+
+    /* 骞充粨鍑哄簱 */
+    function locNormalOut() {
+        // 璋冪敤鍑哄簱鎺ュ彛锛屽鏋滄暟閲忎笉鏄叏閮ㄥ垯杩涜update鏇存柊anfme瀛楁锛屽鏋滄槸鍏ㄩ儴鏁伴噺鍒欑洿鎺pdate鏇存柊state瀛楁1鈫�2
+        var table = layui.table;
+        var checkStatus = table.checkStatus('locNormalOut');
+        var data = checkStatus.data;
+        if (data.length == 0) {
+            layer.msg("璇烽�夋嫨鐗╂枡!");
+            return;
+        }
+        // 搴撳尯璧嬪��
+        var warehouse = $('#warehouse').val();
+        data.map(function (item) {
+           item.warehouse =  warehouse;
+        });
+        // 鍑哄簱鎺ュ彛
+        $.ajax({
+            url: baseUrl + "/locNormal/pda/out",
+            headers: {'token': localStorage.getItem('token')},
+            data: JSON.stringify({
+                normalList: data,
+            }),
+            contentType: 'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    layer.msg("鍑哄簱鎴愬姛");
+                    $("#matnr").val(null);
+                    $("#warehouse").val(null);
+                    warehouseBar = null;
+                    matnrBar = null;
+                    normalOutList = [];
+                    tableIns.reload({
+                        data: normalOutList,
+                    })
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
+                }
+            },
+        });
+    }
+</script>
+</html>
\ No newline at end of file
diff --git a/version/version/wjh.sql b/version/version/wjh.sql
index 3a44f95..487a86c 100644
--- a/version/version/wjh.sql
+++ b/version/version/wjh.sql
@@ -35,3 +35,7 @@
 	[update_time] [datetime] NULL,
 	[memo] [varchar](255) NULL
 ) ON [PRIMARY]
+
+/* v1.0.3 2021.03.11 */
+--琛ㄧ粨鏋勫彉鏇�
+alter table asr_loc_normal add id int identity(1,1)
\ No newline at end of file

--
Gitblit v1.9.1