自动化立体仓库 - WMS系统
*
yxFwq
2025-02-25 9c7e5bc10f242b71f3d94e2c700cb7de79feda17
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -40,7 +40,9 @@
@Service
public class MobileServiceImpl implements MobileService {
    public static final List<Integer> OVER_TORN_STA_NO_LIST = new ArrayList<Integer>() {{
        add(126);add(131);add(310);add(312);
    }};
    @Autowired
    private MatService matService;
@@ -243,7 +245,7 @@
        }
        List<String> orderBoxNoList = new ArrayList<>();
        for (OrderDetl orderDetl: orderDetls){
            if (orderDetl.getWorkQty()==0){
            if (orderDetl.getWorkQty().equals(0.0)){
                orderBoxNoList.add(orderDetl.getBatch());
            }
        }
@@ -253,9 +255,9 @@
        List<String> matListBoxNoList = new ArrayList<>();
        for (TrussCombParam.MatList matList: param.getMatList()){
            if (!orderBoxNoList.contains(matList.getBatch())){
                throw new CoolException("单号:"+param.getOrderNo()+" 箱号:"+matList.getBatch()+"不属于此订单或者已经入库");
                throw new CoolException("单号:"+param.getOrderNo()+" 批次:"+matList.getBatch()+"不属于此订单或者已经入库");
            }else {
                matListBoxNoList.add(matList.getBoxNo());
                matListBoxNoList.add(matList.getBatch());
            }
        }
        List<OrderDetl> orderDetlList = new ArrayList<>();
@@ -300,7 +302,7 @@
            waitPakin.setWeight(orderDetl.getWeight());  //净重
            waitPakin.setVolume(orderDetl.getVolume());  //毛重
            waitPakin.setPrice(orderDetl.getPrice());   //长度
            waitPakin.setSpecs(String.valueOf(orderDetl.getSpecs()));   //接头
            waitPakin.setSpecs(String.valueOf(orderDetl.getSpecs()));   //接头  MES订单号
            waitPakin.setOrigin("1"); //木箱在托盘上的位置
            waitPakin.setIoStatus("Y");     // 入出状态
            waitPakin.setAnfme(orderDetl.getAnfme());  // 木箱中铜箔数量
@@ -531,7 +533,7 @@
            matnr = matList.getMatnr();
            WaitPakin waitPakin = new WaitPakin();
            waitPakin.sync(mat);
            waitPakin.setBatch(matList.getBatch());       //木箱编码  //批次  唯一值  箱号
            waitPakin.setBatch(matList.getBatch());       //木箱编码  //批次  唯一值  批次
            waitPakin.setModel(matList.getModel());       //卷号  唯一值
            waitPakin.setBrand(param.getBoxType());     //木箱类型
            waitPakin.setZpallet(param.getBarcode());   //托盘码
@@ -539,7 +541,7 @@
            waitPakin.setWeight(matList.getWeight());  //净重
            waitPakin.setVolume(matList.getRoughWeight());  //毛重
            waitPakin.setPrice(matList.getRollExtent());   //长度
            waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //接头
            waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //接头  MES订单号
            waitPakin.setIoStatus("Y");     // 入出状态
            waitPakin.setAnfme(matList.getAnfme());  // 数量
            waitPakin.setStatus("Y");    // 状态
@@ -621,7 +623,7 @@
        // 判断是否有相同条码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
            throw new CoolException(param.getBarcode() + "请勿重复组托!");
        }
        if(param.getBarcode().length()!=8){
@@ -632,10 +634,16 @@
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
        if (countLoc > 0 ) {
            throw new CoolException("《库存》条码数据已存在===>>" + param.getBarcode());
        }
        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
        if (countWrk > 0){
            throw new CoolException("《工作档》条码数据已存在===>>" + param.getBarcode());
        }
        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
        if (countLoc > 0 || countWrk > 0 || countwait > 0) {
            throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + param.getBarcode());
        if (countwait > 0){
            throw new CoolException("《组托档》条码数据已存在===>>" + param.getBarcode());
        }
        Date now = new Date();
@@ -664,10 +672,12 @@
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setBatch(DateUtils.convert(new Date(), DateUtils.yyyyMMdd));
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
//                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
                waitPakin.setAnfme(1.0);  // 数量
                waitPakin.setWeight(mat.getWeight());  // 重量
                waitPakin.setStatus("Y");    // 状态
                waitPakin.setAppeUser(userId);
                waitPakin.setAppeTime(now);
@@ -717,8 +727,10 @@
                waitPakin.setBatch(detlDto.getBatch());     // 序列码
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
//                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
                waitPakin.setAnfme(1.0);  // 数量
                waitPakin.setStatus("Y");    // 状态
                waitPakin.setWeight(mat.getWeight());  // 重量
                waitPakin.setAppeUser(userId);
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
@@ -1126,8 +1138,8 @@
        wrkMast.setLinkMis("N");
        wrkMast.setAppeUser(userId); // 操作人员数据
        wrkMast.setSheetNo("0");  //徐工汉云拆垛标记:0: 初始  1: 未拆  2:已拆 3:已处理可下一步(转历史档)
        if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){
            wrkMast.setSheetNo("3");
        if (!OVER_TORN_STA_NO_LIST.contains(staDesc.getStnNo())){
            wrkMast.setSheetNo("2");
        }
        wrkMast.setAppeTime(now);
        wrkMast.setModiUser(userId);