999
zhangc
2025-04-19 f0e2feba85291e700eae3b0a8cedd28f37b44c02
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -40,6 +40,7 @@
import com.zy.system.service.ConfigService;
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 java.util.*;
@@ -98,6 +99,8 @@
    private LiftAction liftAction;
    @Autowired
    private BasWrkStatusService wrkStatusService;
    @Value("${asrs.wmsUrl}")
    private String wmsUrl;
    public boolean isInEnable(DevpThread devpThread, Integer staNo) {
@@ -184,8 +187,8 @@
                    if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
                        String barcode = staProtocol.getBarcode();
                        // 判断重复工作档
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode));
                        if (wrkMast != null) {
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
                        if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) {
                            News.error("工作档已存在,工作号={}", wrkMast.getWrkNo());
                            //判断时提升机侧,还是无提升机测
                            staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -195,14 +198,15 @@
                            wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
                            wrkMast.setModiTime(new Date());
                            wrkMastService.updateById(wrkMast);
                        } else if (wrkMast != null && wrkMast.getWrkSts() != WrkStsType.NEW_INBOUND.sts) {
                            continue;
                        }
                        try {
                            String wmsUrl = "192.168.10.201:8080/fyxcwms";
                            SearchLocParam param = new SearchLocParam();
                            param.setBarcode(barcode);
                            param.setIoType(1);
                            param.setSourceStaNo(inSta.getStaNo());
                            param.setLocType1(staProtocol.getLocType1().shortValue());
                            param.setLocType1((short) 1);
                            String response = new HttpHandler.Builder()
                                    .setUri(wmsUrl)
                                    .setPath("/rpc/pakin/loc/v1")
@@ -257,7 +261,7 @@
                                News.error("入库申请失败,任务数据={},请求响应={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                            log.error("调用wms报错1,{}", e.getMessage());
                        }
                    }
                } else if (inSta.getStaNo() == 1012 || inSta.getStaNo() == 1022) {
@@ -273,10 +277,9 @@
                    if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
                        String barcode = staProtocol.getBarcode();
                        // 判断重复工作档
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode));
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
                        if (wrkMast == null) {
                            try {
                                String wmsUrl = "192.168.10.201:8080/fyxcwms";
                                SearchLocParam param = new SearchLocParam();
                                param.setBarcode(barcode);
                                param.setIoType(1);
@@ -306,7 +309,7 @@
                                    News.error("入库申请失败,任务数据={},请求响应={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                                log.error("调用wms报错2,{}", e.getMessage());
                            }
                        }
                    }
@@ -973,7 +976,16 @@
                    News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
                    return false;
                }
            } else {
            } else if (sourceStaNo == 1012) {
                if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
                    News.info("{}任务,{}站点,任务号不一致", wrkMast.getWrkNo(), staProtocol.getSiteId());
                    return false;
                }
                if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
                    News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
                    return false;
                }
            } else if (sourceStaNo == 1032 || sourceStaNo == 1031) {
                if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
                    News.info("{}任务,{}站点,任务号不一致", wrkMast.getWrkNo(), staProtocol.getSiteId());
                    return false;
@@ -2154,10 +2166,11 @@
    }
    private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) {
        if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) {
        WrkMast mainWrk = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
        if (mainWrk != null && mainWrk.getIoType() == 1) {
            //入库
            noLiftInService.shuttleMoveExecute(wrkMast);
        } else {
            noLiftInService.shuttleMoveExecute(wrkMast, mainWrk.getStaNo());
        } else if (mainWrk != null && mainWrk.getIoType() == 101) {
            //出库
            noLiftOutService.shuttleMoveExecute(wrkMast);
        }