自动化立体仓库 - WMS系统
#
zjj
2025-03-24 be14e23722db5053f2ac9048629d72abd05dea08
src/main/java/com/zy/common/web/WcsController.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.MatServiceImpl;
import com.zy.asrs.utils.Utils;
import com.zy.common.CodeRes;
import com.zy.common.model.LocDto;
@@ -60,6 +61,8 @@
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Autowired
    private MatServiceImpl matService;
    @PostMapping("/pakin/loc/v1")
    @ResponseBody
@@ -353,11 +356,11 @@
    @PostMapping("/process/loc/v1")
    @ResponseBody
    @Transactional
    public synchronized void processLoc() {
    public synchronized R processLoc() {
        log.info("收到WCS罐装出库接口请求");
        Date now = new Date();
        // 查询库存状态位F 且 库存明细包含该物料的库位
        LocMast tarLoc = locMastService.getLocFByMatnr("BC20009TY13701530");
        LocMast tarLoc = locMastService.getLocFByMatnr("BZ10100ZZ00000010");
        if (Cools.isEmpty(tarLoc)) {
            throw new CoolException("没有可出库的库位");
        }
@@ -423,6 +426,7 @@
        } else {
            throw new CoolException(tarLoc.getLocNo() + "库位不是在库状态");
        }
        return R.ok();
    }
    @PostMapping("/process/in/loc/v1")
    @ResponseBody
@@ -464,14 +468,28 @@
            wrkMast.setWrkSts(2L);
            wrkMast.setSourceStaNo(2106);
            wrkMast.setStaNo(staNo);
            wrkMast.setLocNo(wrkMast.getSourceLocNo());
            wrkMast.setLocNo(wrkMast.getSourceLocNo(
            ));
            wrkMast.setSourceLocNo("");
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
                throw new CoolException("更新工作档数据状态失败");
            }
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            for (WrkDetl wrkDetl : wrkDetls) {
                Mat mat = matService.selectByMatnr("CP10103TY22014617");
                WrkDetl wrkDetl1 = new WrkDetl();
                wrkDetl1.sync(wrkDetl);
                wrkDetl1.sync(mat);
                wrkDetl1.setBatch(param.getBatch());
                wrkDetl1.setIoTime(now);
                wrkDetlService.insert(wrkDetl1);
            }
            wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("matnr", "BZ10100ZZ00000010").eq("wrk_no",wrkMast.getWrkNo()));
            // 更新明细档io_time (历史档关联使用)
            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
//            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
            // 修改库位状态 Q.拣料/盘点/并板再入库
            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
            locMast.setLocSts("Q");