自动化立体仓库 - WMS系统
#
LSH
2023-02-13 30155d34eade43e1713ee1022a9af4d4744acda1
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,13 +1,21 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -32,9 +40,18 @@
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private WaitPakinService waitPakinService;
    private TestMastService testMastService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private ApiLogService apiLogService;
    @Value("${mes.url}")
    private String mesUrl;
    @Value("${mes.inPath}")
    private String inpath;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -278,6 +295,7 @@
                    }
                    // 修改源库位状态 ==> O
                    LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                    Integer packStatus =sourceLoc.getPackStatus();
                    if (null != sourceLoc) {
                        sourceLoc.setBarcode("");
                        sourceLoc.setLocSts("O");
@@ -297,7 +315,29 @@
                    locMast.setIoTime(now);
                    locMast.setModiTime(now);
                    locMast.setFireStatus(0);
                    locMast.setPackStatus(4); //4:静置中
                    if (locMast.getLocType1()==sourceLoc.getLocType1()){
                        locMast.setPackStatus(packStatus);
                    }else {
                        locMast.setPackStatus(5); //5:静置中
                        if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){
                            TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                    .eq("loc_no",sourceLoc.getLocNo())
                                    .eq("barcode",locMast.getBarcode())
                                    .eq("status",4)
                            );
                            testMast.setStatus(5);
                            testMast.setModiTime(new Date());
                            if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("loc_no",sourceLoc.getLocNo()).eq("barcode",locMast.getBarcode()).eq("status",4))){
                                throw new CoolException("更改测试状态失败");
                            }
                        }
                        CombParam combParam = new CombParam();
                        combParam.setPackNo(locMast.getBarcode());
                        combParam.setLocNo(locMast.getLocNo());
                        combParam.setPackSts(5);
                        combParam.setRequestTime(DateUtils.convert(new Date()));
                        new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam);
                    }
                    if (!locMastService.updateById(locMast)) {
//                        exceptionHandle("库位移转 ===>> 修改目标库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -349,6 +389,23 @@
                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        Date date = new Date();
                        WaitPakin waitPakin = new WaitPakin();
                        waitPakin.setMatnr(wrkDetl.getMatnr());
                        waitPakin.setMaktx(wrkDetl.getMaktx());
                        waitPakin.setZpallet(wrkDetl.getZpallet());   // Pack码
                        waitPakin.setIoStatus("N");     // 入出状态
                        waitPakin.setAnfme(1.0);  // 数量
                        waitPakin.setStatus("Y");    // 状态
                        waitPakin.setManuDate(date.toString());
                        waitPakin.setAppeUser(null);
                        waitPakin.setAppeTime(date);
                        waitPakin.setModiUser(null);
                        waitPakin.setModiTime(date);
//                        waitPakin.setDeadWarn(wrkDetl.getSettingTimes());
                        if (!waitPakinService.insert(waitPakin)) {
                            throw new CoolException("保存入库通知档失败");
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        try {