自动化立体仓库 - WMS系统
whycq
2024-07-03 2ee70a38e4c832e3888b12d29ebf962456069cdb
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
@@ -23,6 +24,9 @@
@Transactional
public class WorkMastHandler extends AbstractHandler<String> {
    @Autowired
    private MatService matService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
@@ -161,6 +165,10 @@
                        return FAIL.setMsg("拣料入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls53) {
                        String matnr = wrkDetl.getMatnr();
                        if (matnr.substring(0,1).equals("B")) {
                            wrkDetl.setMatnr(matnr.substring(1));
                        }
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (null != locDetl) {
@@ -169,6 +177,21 @@
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                            }
                        } else {
                            LocDetl detl = new LocDetl();
//                            Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
//                            detl.sync(mat);
                            detl.sync(wrkDetl);
                            detl.setOrderNo(wrkDetl.getOrderNo());//订单编号
                            detl.setLocNo(wrkMast.getLocNo()); // 库位号
                            detl.setAnfme(Math.abs(wrkDetl.getAnfme())); // 数量
                            detl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            detl.setModiTime(now);
                            detl.setAppeTime(now);
                            if (!locDetlService.insert(detl)) {
                                return FAIL.setMsg("补料 ===>> 添加库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                            }
                        }
                        // 更新订单完成数量