自动化立体仓库 - WMS系统
zhangc
2024-12-06 03b0ea7369dcba72b560ec80f941f9d29ff7b9a5
修复库位类型字段错误并优化工作档状态检查逻辑
6个文件已修改
39 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/WrkMastDetlLogController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/wrkMastDetlLog/wrkMastDetlLog.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/wrkMastDetlLog/wrkMastDetlLog.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkMastDetlLogController.java
@@ -59,7 +59,7 @@
                        ioType = "101.出库";
                    }
                    String[] split = ioType.split("\\.");
                    Double l = count.get(ioType);
                    Double l = count.get(split[1]);
                    if (l == null) {
                        count.put(split[1], record.getAnfme());
                    } else {
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -58,6 +59,7 @@
            log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
            BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
            agvLocDetl.setLocNo(locNo);
            log.info("zc添加库存日志:{}", JSON.toJSON(agvLocDetl));
            this.insert(agvLocDetl);
            // 流水 -- 新增订单明细
            OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -1,10 +1,8 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
@@ -22,6 +20,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -116,7 +115,7 @@
     */
    @Override
    @Transactional
    public String pickAgain(PickParam pickParams, Long userId) {
    public synchronized String pickAgain(PickParam pickParams, Long userId) {
        Date now = new Date();
        List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", pickParams.getLocNo()));
@@ -127,6 +126,7 @@
        }
        for (PickParam.Pick pick : pickParams.getPicks()) {
            if (pick.getCount().equals(0D)) continue;
            Double count = 0.0D;
            AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()).eq("supp_code",pick.getSuppCode()));
@@ -156,7 +156,15 @@
                agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()).eq("supp_code",pick.getSuppCode()));
            }
            // 库存校验
            Optional<AgvLocDetl> first = agvLocDetls.stream().filter(agvLocDetl -> agvLocDetl.getThreeCode().equals(pick.getThreeCode()))
                    .filter(agvLocDetl -> agvLocDetl.getMatnr().equals(pick.getMatnr())).findFirst();
            if (first.isPresent()) {
                AgvLocDetl agvLocDetl = first.get();
                if (agvLocDetl.getAnfme() < agvWrkDetl.getAnfme()) {
                    throw new CoolException("拣料数量不能大于库存数量");
                }
            }
            // 更新订单
            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code",pick.getThreeCode()));
@@ -204,7 +212,6 @@
            syncWaitPakin(detlDto,"",param.getBarcode(),userId,now);
        });
    }
    /*
@@ -626,6 +633,7 @@
        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",oldWrkNo));
        return "ok";
    }
    /*
       调拨进场
    */
@@ -668,6 +676,7 @@
        //删除AGV工作档
        return "ok";
    }
    /*
       空架离场
    */
@@ -697,6 +706,7 @@
        agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"O","",agvWrkMast.getWhsType().shortValue());
        return "ok";
    }
    /*
       空架进场
    */
@@ -725,6 +735,7 @@
        agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",param.getBarcode(),agvWrkMast.getWhsType().shortValue());
        return "ok";
    }
    /*
     * 转手动回流
    */
@@ -770,7 +781,6 @@
        agvWrkMast.setIoTime(now);
        if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
            throw new CoolException("更新工作档失败");
        }
@@ -803,7 +813,6 @@
        });
        return "ok";
    }
    /*
@@ -865,6 +874,7 @@
        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",oldWrkNo));
        return "ok";
    }
    /*
   更新目标库位信息
    */
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -208,6 +208,7 @@
//                            if (!flowLogService.insert(flowLog)) {
//                                throw new CoolException("同步半成品调拨单流水记录失败");
//                            }
                            log.info("53添加库存日志:{},{}", updateAnfme,JSON.toJSON(agvLocDetl));
                            agvLocDetlService.updateAnfme(updateAnfme, agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getBatch(), agvLocDetl.getThreeCode(), agvLocDetl.getDeadTime());
                        }
                        //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
@@ -225,6 +226,7 @@
                        agvLocDetl.sync(agvWrkDetl);
                        agvLocDetl.setModiTime(now);
                        agvLocDetl.setAppeTime(now);
                        log.info("57添加库存日志:{}",JSON.toJSON(agvLocDetl));
                        if (!agvLocDetlService.insert(agvLocDetl)) {
                            throw new CoolException("保存工作明细失败");
                        }
@@ -290,6 +292,7 @@
                        locDetl.setLocNo(agvWrkMast.getLocNo());
                        locDetl.sync(agvWrkDetl);
                        locDetl.setModiTime(new Date());
                        log.info("112添加库存日志:{}",JSON.toJSON(locDetl));
                        agvLocDetlService.insert(locDetl);
                    }
                    // 接驳位 -- 库位
src/main/webapp/static/js/wrkMastDetlLog/wrkMastDetlLog.js
@@ -121,7 +121,7 @@
            limit();
            var d ="当页总数量:";
            Object.keys(res.countData).forEach(key => {
                d = d + key + "--" + res.countData[key]+"; ";
                d = d + key + ":" + res.countData[key]+"; ";
            });
            $("#countData").text(d);
        }
src/main/webapp/views/wrkMastDetlLog/wrkMastDetlLog.html
@@ -91,7 +91,7 @@
                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
                            <i class="layui-icon">&#xe666;</i>重置
                        </button>
                        <div style="float:right;margin-left: 10px;margin-top:4px;" id="countData">数量</div>
<!--                        <div style="float:right;margin-left: 10px;margin-top:4px;" id="countData">数量</div>-->
                    </div>
                </div>
            </div>
@@ -110,6 +110,8 @@
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData"
                style="float: right">导出
        </button>
        <button class="layui-btn layui-btn-primary layui-btn-sm"  style="float:right;" id="countData">数量</button>
    </div>
</script>
@@ -122,7 +124,7 @@
<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/wrkMastDetlLog/wrkMastDetlLog.js?v=8" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/wrkMastDetlLog/wrkMastDetlLog.js?v=9" charset="utf-8"></script>
</body>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog">