自动化立体仓库 - WMS系统
#
wang..123
2021-11-23 37960b9097bbde94e188e1275bde0201e8b26860
#
9个文件已修改
129 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkMastLogController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pakStore/stockOut.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/locDetlCheckQuery.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/locDetlQuery.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/report/viewWorkIn.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/report/viewWorkOut.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/stoMan/stoQue.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -213,6 +213,7 @@
     */
    @RequestMapping("/stock/check")
    @Transactional
    @ManagerAuth
    public R erpStockCheck(@RequestBody String param) {
        Boolean flag = false;
        JSONObject jsonObject = JSONObject.parseObject(param);
src/main/java/com/zy/asrs/controller/WrkMastLogController.java
@@ -64,11 +64,19 @@
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), val);
                if (entry.getKey().equals("io_type")) {
                   wrapper.like(entry.getKey(), val).eq("io_type", val);
                } else if(entry.getKey().equals("wrk_sts")){
                    wrapper.like(entry.getKey(), val).eq("wrk_sts", val);
                } else {
                    wrapper.like(entry.getKey(), val);
                }
            }
        }
    }
    @RequestMapping(value = "/wrkMastLog/add/auth")
    @ManagerAuth(memo = "工作历史档添加")
    public R add(WrkMastLog wrkMastLog) {
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -188,47 +188,6 @@
            dtos.add(new OutLocDto(locNo, list));
        }
        if(ioType == 107) {
            //获取当前时间戳
            SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
            String temp = sf.format(new Date());
            //获取3位随机数
            Random rand = new Random();
            Integer r = rand.nextInt(900) + 100;
            String billNo = temp + r;
            //生成盘点通知档
            for (LocDetlDto locDetlDto : locDetlDtos) {
//            String replace = UUID.randomUUID().toString().replace("-", "");
                LocDetl locDetl = locDetlDto.getLocDetl();
                //////插入盘点档前,将通知档之前相同库位数据转历史档
                List<WaitMatchk> waitMatchks = waitMatchkService.selectList(new EntityWrapper<WaitMatchk>().eq("loc_no",locDetl.getLocNo()));
                for(WaitMatchk one : waitMatchks){
                    waitMatchkLogService.save(one.getBillNo(),one.getLocNo(),one.getMatNo());
                    waitMatchkService.delete(new EntityWrapper<WaitMatchk>().eq("bill_no",one.getBillNo()).eq("loc_no",one.getLocNo()).eq("mat_no",one.getMatNo()));
                }
                //生成盘点档
                WaitMatchk waitMatchk = new WaitMatchk();
                waitMatchk.setBillNo(billNo);//订单编号
                waitMatchk.setLocNo(locDetl.getLocNo());//库位号
                waitMatchk.setStockQty(locDetl.getQty());
                waitMatchk.setMatNo(locDetl.getMatNo());//产品编号
                waitMatchk.setMatName(locDetl.getMatName());//铲平名称
                waitMatchk.setSeqNo(i);
//                waitMatchk.setIoTime(new Date());
                waitMatchk.setZpallet(locDetl.getZpallet());
                waitMatchk.setAppeUser(userId); // 操作人员数据
                waitMatchk.setAppeTime(new Date());
                waitMatchk.setModiUser(userId);
                waitMatchk.setModiTime(new Date());
                if (!waitMatchkService.insert(waitMatchk)) {
                    throw new CoolException("保存盘点档失败");
                }
                i++;
            }
        }
        // 生成工作档
        for (OutLocDto dto : dtos) {
@@ -303,6 +262,48 @@
            } else {
                throw new CoolException(dto.getLocNo() + "库位不是在库状态");
            }
            if(ioType == 107) {
                //获取当前时间戳
                SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
                String temp = sf.format(new Date());
                //获取3位随机数
                Random rand = new Random();
                Integer r = rand.nextInt(900) + 100;
                String billNo = temp + r;
                //生成盘点通知档
                for (LocDetlDto locDetlDto : locDetlDtos) {
//            String replace = UUID.randomUUID().toString().replace("-", "");
                    LocDetl locDetl = locDetlDto.getLocDetl();
                    //////插入盘点档前,将通知档之前相同库位数据转历史档
                    List<WaitMatchk> waitMatchks = waitMatchkService.selectList(new EntityWrapper<WaitMatchk>().eq("loc_no",locDetl.getLocNo()));
                    for(WaitMatchk one : waitMatchks){
                        waitMatchkLogService.save(one.getBillNo(),one.getLocNo(),one.getMatNo());
                        waitMatchkService.delete(new EntityWrapper<WaitMatchk>().eq("bill_no",one.getBillNo()).eq("loc_no",one.getLocNo()).eq("mat_no",one.getMatNo()));
                    }
                    //生成盘点档
                    WaitMatchk waitMatchk = new WaitMatchk();
                    waitMatchk.setBillNo(billNo);//订单编号
                    waitMatchk.setLocNo(locDetl.getLocNo());//库位号
                    waitMatchk.setStockQty(locDetl.getQty());
                    waitMatchk.setMatNo(locDetl.getMatNo());//产品编号
                    waitMatchk.setMatName(locDetl.getMatName());//铲平名称
                    waitMatchk.setSeqNo(i);
//                waitMatchk.setIoTime(new Date());
                    waitMatchk.setZpallet(locDetl.getZpallet());
                    waitMatchk.setAppeUser(userId); // 操作人员数据
                    waitMatchk.setAppeTime(new Date());
                    waitMatchk.setModiUser(userId);
                    waitMatchk.setModiTime(new Date());
                    if (!waitMatchkService.insert(waitMatchk)) {
                        throw new CoolException("保存盘点档失败");
                    }
                    i++;
                }
            }
        }
    }
src/main/webapp/static/js/pakStore/stockOut.js
@@ -3,10 +3,10 @@
function getCol() {
    var cols = [
        // {field: 'count', align: 'center',title: '出库数量', edit:'text', width: 130,  style:'color: blue;font-weight: bold'}
        {field: 'anfme', align: 'center',title: '数量'}
        {field: 'anfme', align: 'center',title: '出库数量',edit:'text',style:'color: blue;font-weight: bold'}
        ,{field: 'locNo$', align: 'center',title: '库位号'}
    ];
    arrRemove(detlCols,  'field', 'anfme');
    //arrRemove(detlCols,  'field', 'qty');
    cols.push.apply(cols, detlCols);
    // cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:80})
    return cols;
@@ -34,7 +34,7 @@
    // 页面修改
    table.on('edit(chooseData)', function (obj) {
        updateLocDetlData(obj.data.locNo, obj.data.matnr, Number(obj.value));
        updateLocDetlData(obj.data.locNo, obj.data.matNo, Number(obj.value));
    });
    // 监听头工具栏事件
@@ -52,7 +52,7 @@
                    }
                    var locDetls = [];
                    data.forEach(function(elem) {
                        locDetls.push({locNo: elem.locNo, matnr: elem.matnr, count: elem.count});
                        locDetls.push({locNo: elem.locNo, matNo: elem.matNo, count: elem.count});
                    });
                    let param = {
                        outSite: staNo,
@@ -87,7 +87,7 @@
        switch (obj.event) {
            case 'remove':
                for (var i = locDetlData.length - 1; i >= 0; i--) {
                    if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) {
                    if (locDetlData[i].locNo === data.locNo && locDetlData[i].matNo === data.matNo) {
                        locDetlData.splice(i, 1);
                    }
                }
@@ -97,16 +97,19 @@
    });
    function updateLocDetlData(locNo, matnr, count) {
        debugger;
        if (isNaN(count)) {
            layer.msg("请输入数字");
        } else {
            if (count > 0) {
                for (var i=0;i<locDetlData.length;i++){
                    if (locDetlData[i]["locNo"] === locNo && locDetlData[i]["matnr"] === matnr){
                        if (count > locDetlData[i]["anfme"]) {
                    if (locDetlData[i]["locNo"] === locNo && locDetlData[i]["matNo"] === matnr){
                        if (count > locDetlData[i]["qty"]) {
                            layer.msg("不能超过原数量");
                        } else {
                            locDetlData[i]["count"] = count;
                            locDetlData[i]["anfme"] = count;
                        }
                        break;
                    }
@@ -162,7 +165,7 @@
    for (var i=0;i<data.length;i++){
        let pass = false;
        for (var j=0;j<locDetlData.length;j++){
            if (data[i].matnr === locDetlData[j].matnr && data[i].locNo$ === locDetlData[j].locNo$) {
            if (data[i].matNo === locDetlData[j].matNo && data[i].locNo$ === locDetlData[j].locNo$) {
                pass = true;
                break;
            }
@@ -170,7 +173,7 @@
        if (pass) {
            data.splice(i--, 1);
        } else {
            data[i]["count"] = data[i]["anfme"];
            data[i]["count"] = data[i]["qty"];
        }
    }
src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -52,12 +52,12 @@
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="matnr" placeholder="产品号"  autocomplete="off">
                <input class="layui-input" type="text" name="mat_no" placeholder="产品号"  autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="maktx" placeholder="产品描述" autocomplete="off">
                <input class="layui-input" type="text" name="mat_name" placeholder="产品描述" autocomplete="off">
            </div>
        </div>
        <!-- 日期范围 -->
src/main/webapp/views/pakStore/locDetlQuery.html
@@ -51,12 +51,12 @@
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="matnr" placeholder="产品号"  autocomplete="off">
                <input class="layui-input" type="text" name="mat_no" placeholder="产品号"  autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="maktx" placeholder="产品描述" autocomplete="off">
                <input class="layui-input" type="text" name="mat_name" placeholder="产品描述" autocomplete="off">
            </div>
        </div>
        <!-- 日期范围 -->
src/main/webapp/views/report/viewWorkIn.html
@@ -26,7 +26,7 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="matnr" placeholder="产品代号" autocomplete="off">
            <input class="layui-input" type="text" name="mat_no" placeholder="产品代号" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline" style="width: 300px">
src/main/webapp/views/report/viewWorkOut.html
@@ -26,7 +26,7 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="matnr" placeholder="产品代号" autocomplete="off">
            <input class="layui-input" type="text" name="mat_no" placeholder="产品代号" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline" style="width: 300px">
src/main/webapp/views/stoMan/stoQue.html
@@ -80,7 +80,7 @@
</div>
<script type="text/html" id="toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-normal layui-btn-sm" id="refresh-sto" lay-event="refreshSto" style="margin-left: 10px">更新库存</button>
<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" id="refresh-sto" lay-event="refreshSto" style="margin-left: 10px">更新库存</button>-->
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>
    </div>
</script>