自动化立体仓库 - WCS系统
#
yxFwq
2025-01-01 c1d30e0e96f9fc0d32a9a5007977ce305e0d22c5
src/main/java/com/zy/asrs/task/handler/StaEscalationHandler.java
@@ -5,13 +5,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.LedErrorAreaType;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.RgvOneSign;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.RgvOneSignMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.escalationParam.StaEscalationParam;
import com.zy.asrs.utils.LedErrorThreadUtil;
import com.zy.common.utils.HttpHandler;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
@@ -40,7 +44,7 @@
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private StaDescService staDescService;
    private RgvOneSignMapper rgvOneSignMapper;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
@@ -68,20 +72,34 @@
            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //上传前工作号跟电控约定为9992中控(桁架):码垛完成下发入库信息(你可以自定义)
                if (staProtocol.isAutoing() && staProtocol.getWorkNo()!=0){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).ne("sheet_no","2"));
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()));
                    if (Cools.isEmpty(wrkMast)) return FAIL;
                    if (wrkMast.getIoType()==1 || wrkMast.getIoType()==10) return FAIL;
                    if (wrkMast.getSheetNo()!=null && wrkMast.getSheetNo().equals("2")) return FAIL;
                    List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                    WrkDetl wrkDetl = null;
                    if (Cools.isEmpty(wrkDetls) || wrkDetls.isEmpty()){
                        return FAIL;
//                        return FAIL;
                        wrkDetl = new WrkDetl();
                        wrkDetl.setMatnr("1");
                        wrkDetl.setBatch("1");
                        wrkDetl.setModel("1");
                        wrkDetl.setSpecs("1");
                        wrkDetl.setWeight(1.0);
                    } else {
                        wrkDetl = wrkDetls.get(0);
                    }
                    log.error("2楼翻转倒料信息上传时,站点状态:"+JSON.toJSONString(staProtocol));
                    log.error("2楼翻转倒料信息上传时,工作号:"+JSON.toJSONString(wrkMast));
                    StaEscalationParam staEscalationParam = new StaEscalationParam();
                    staEscalationParam.setDevNo(staNo);
                    staEscalationParam.setIoType(wrkMast.getIoType()==101? 1:3);
                    staEscalationParam.setMatnr(wrkDetls.get(0).getMatnr());
                    staEscalationParam.setWeight(wrkDetls.get(0).getWeight());
                    staEscalationParam.setIoType(wrkMast.getIoTypeMes$());
                    staEscalationParam.setMatnr(wrkDetl.getMatnr());
                    staEscalationParam.setBatch(wrkDetl.getBatch());
                    staEscalationParam.setOrderNo(wrkDetl.getSpecs());
                    staEscalationParam.setTaskNo(wrkDetl.getModel());
                    staEscalationParam.setWeight(wrkDetl.getWeight());
                    staEscalationParam.setWrkno(Cools.isEmpty(wrkDetl.getWrkNo()) ? "0":wrkDetl.getWrkNo().toString());
                    ReturnT<String> result = postMesData(reportOutPath,staEscalationParam);
                    if (result.getCode()==200){
                        wrkMast.setSheetNo("2");
@@ -89,13 +107,40 @@
                        basDevp.setReportSign(1);
                        basDevpService.updateById(basDevp);
                        return SUCCESS;
                    }else {
                        log.error("2楼翻转倒料信息上传失败");
                    } else {
                        LedErrorThreadUtil.ledErrorThread("翻转上报erp失败!站点号:"+staNo,4, LedErrorAreaType.ONE_OTHER.getDesc());
                        log.error("2楼翻转倒料信息上传失败!站点号:"+staNo);
                    }
                }
            }
        }catch (Exception e){
            log.error("异常!!!"+e);
            LedErrorThreadUtil.ledErrorThread("翻转上传异常!站点号:"+staNo,4, LedErrorAreaType.ONE_OTHER.getDesc());
            log.error("异常4!!!"+e);
            return FAIL;
        }
        return FAIL;
    }
    public ReturnT<String> start2(int staNo) {
        try{
            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("sign"+staNo);
            if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()!=1){
                return FAIL;
            }
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
            StaProtocol staProtocol = devpThread.getStation().get(staNo);
            if (staProtocol == null) {
                return FAIL;
            } else {
                staProtocol = staProtocol.clone();
            }
            if (!staProtocol.isLoading()){
                rgvOneSign.setRgvOneSign(0);
                rgvOneSignMapper.updateById(rgvOneSign);
            }
        }catch (Exception e){
            log.error("异常3!!!"+e);
            return FAIL;
        }
        return FAIL;
@@ -113,7 +158,7 @@
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.getInteger("Code")==200) {
                if (jsonObject.getInteger("code")==200) {
                    success = true;
                } else {
                    log.error("2楼翻转倒料信息上传请求接口失败!!!url:{};request:{};response:{}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);