zjj
2024-05-17 d36e5e64c363af15a27547b47d0fd2f5b7391346
#二楼
10个文件已修改
2个文件已添加
282 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/WrkMastSta.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WaitPakinService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkMastStaService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 171 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/RgvCommand.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/StaProtocol.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastStaMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -150,6 +150,14 @@
    @ApiModelProperty(value= "")
    @TableField("anfme2")
    private Integer anfme2;
    @ApiModelProperty(value= "")
    @TableField("weight")
    private Double weight;
    @ApiModelProperty(value= "")
    @TableField("weight2")
    private Double weight2;
    public WrkMastSta() {}
    public WrkMastSta(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Integer lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) {
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -15,5 +15,8 @@
    WrkMastSta selectByRgvNoandWrkNo2(Integer rgvNo, Integer taskNo2);
    List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1, Integer taskNo2);
    List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1);
    List<WrkMastSta> selectBywrkNoHistoricalTasks2(Integer rgvNo, Integer taskNo2);
    List<WrkMastSta> selectRGVTask1(Integer id);
}
src/main/java/com/zy/asrs/service/WaitPakinService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.WaitPakin;
public interface WaitPakinService extends IService<WaitPakin> {
}
src/main/java/com/zy/asrs/service/WrkMastStaService.java
@@ -10,5 +10,9 @@
    WrkMastSta selectByRgvNoandWrkNo(Integer rgvNo, Integer taskNo1);
    WrkMastSta selectByRgvNoandWrkNo2(Integer rgvNo, Integer taskNo2);
    List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1,Integer taskNo2);
    List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1);
    List<WrkMastSta> selectBywrkNoHistoricalTasks2(Integer rgvNo, Integer taskNo2);
    List<WrkMastSta> selectRGVTask1(Integer id);
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -94,6 +94,8 @@
    private WrkMastStaService wrkMastStaService;
    @Autowired
    private MatnrCodeService matnrCodeService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -2065,10 +2067,14 @@
                    List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("type_no", 10).eq("stn_no", sta.getStaNo()));
                    for (StaDesc staDesc:staDescs){
                        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", staDesc.getCrnStn()));
                        BasDevp basDevp = new BasDevp();
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("crn_no", staDesc.getCrnNo()).gt("io_type", 100));
                        if (!Cools.isEmpty(wrkMast)){
                        if (staDesc.getCrnNo() == 1){
                            basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1004));
                        } else if (staDesc.getCrnNo() == 2) {
                            basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1008));
                        }
                        if (Cools.isEmpty(basDevp)){
                            continue;
                        }
@@ -2265,7 +2271,7 @@
            crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 源库位排
            crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 源库位列
            crnCommand.setSourcePosZ(crnStn.getLev().shortValue());     // 源库位层
            crnCommand.setDestinationPosX(locMast.getRow1()==9?(short)4:(short)5);     // 目标库位排
            crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 目标库位排
            crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列
            crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层
            crnCommand.setLocType1(locMast.getLocType1().shortValue());     // 货物类型
@@ -2410,7 +2416,7 @@
                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号
                    crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                    crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转
                    crnCommand.setSourcePosX(locMast.getRow1()==9?(short)4:(short)5);     // 源库位排
                    crnCommand.setSourcePosX(locMast.getRow1().shortValue());     // 源库位排
                    crnCommand.setSourcePosY(locMast.getBay1().shortValue());     // 源库位列
                    crnCommand.setSourcePosZ(locMast.getLev1().shortValue());     // 源库位层
                    crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 目标库位排
@@ -2501,6 +2507,10 @@
            }else {
                rgvProtocol = rgvProtocol.clone();
            }
            List<WrkMastSta> wrkMastStas = wrkMastStaService.selectRGVTask1(rgvSlave.getId());
            if (!Cools.isEmpty(wrkMastStas)){
                continue;
            }
            if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getLoaded1() == 0){
                boolean work1 = false;
                boolean work2 = false;
@@ -2518,6 +2528,8 @@
                short type2 = 0;
                short anfme = 0;
                short anfme2 = 0;
                Double weight = 0d;
                Double weight2 = 0d;
                //工位一任务
                for (RgvSlave.Sta inStn :  rgvSlave.getInStn()){
@@ -2527,12 +2539,12 @@
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
                    StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
                    if (staProtocol == null) {
                        break;
//                    continue;
//                        break;
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo()>0){
                    if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && (staProtocol.getWorkNo()>0 && staProtocol.getWorkNo()<9900)){
                            WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
                            if (Cools.isEmpty(wrkMast)){
@@ -2547,6 +2559,33 @@
                            break;
                    } else if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && (staProtocol.getWorkNo()>=9900 || staProtocol.getWorkNo()==0)) {
                        workNo1 = workNo++;
                        souSta1 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getSourceStaNo());
                        if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 1){
                            sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2103);
                        } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 2) {
                            sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2002);
                        } else if (inStn.getSourceStaNo() == 2102 && staProtocol.isFullPlt()) {
                            sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2301);
                        } else {
                            sta1 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getStaNo());
                        }
                        if (inStn.getSourceStaNo() == 2102 && staProtocol.isEmptyMk()){ //区分空板
                            type = 1;
                        }
                        if(inStn.getSourceStaNo() == 2102){
                            weight = staProtocol.getWeight().doubleValue();
                        }
                        work1 = true;
                        if (inStn.getSourcePlcId() == 4 || inStn.getSourcePlcId() ==5){ //灌装站需要获取输送线物料代码
                            matnr = staProtocol.getMatnr();
                        }
                        devpThread.setPakMk(inStn.getSourceStaNo(),false);
                        break;
                    }
                }
@@ -2562,12 +2601,12 @@
                        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
                        StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
                        if (staProtocol == null) {
                            break;
//                    continue;
//                            break;
                            continue;
                        } else {
                            staProtocol = staProtocol.clone();
                        }
                        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()&& staProtocol.isPakMk() && staProtocol.getWorkNo()>0){
                        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()&& staProtocol.isPakMk() && (staProtocol.getWorkNo()>0 && staProtocol.getWorkNo()<9900)){
                                WrkMast wrkMast = wrkMastService.selectByworkNo(staProtocol.getWorkNo());
                                if (Cools.isEmpty(wrkMast)){
@@ -2580,7 +2619,34 @@
                                work2 = true;
                                devpThread.setPakMk(inStn.getSourceStaNo(),false);
                                break;
                        } else if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && (staProtocol.getWorkNo()>=9900 || staProtocol.getWorkNo()==0)) {
                            workNo2 = workNo++;
                            souSta2 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getSourceStaNo());
                            if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 1){
                                sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2103);
                            } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 2) {
                                sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2002);
                            }else if (inStn.getSourceStaNo() == 2102 && staProtocol.isFullPlt()) {
                                sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2301);
                            } else {
                                sta2 = Utils.getRgvStaNo(rgvSlave.getId(),inStn.getStaNo());
                            }
                            if (inStn.getSourceStaNo() == 2102 && staProtocol.isEmptyMk()){ //区分空板
                                type2 = 1;
                            }
                            if(inStn.getSourceStaNo() == 2102){
                                weight2 = staProtocol.getWeight().doubleValue();
                            }
                            work2 = true;
                            if (inStn.getSourcePlcId() == 4){
                                matnr2 = staProtocol.getMatnr();
                            }
                            devpThread.setPakMk(inStn.getSourceStaNo(),false);
                            break;
                        }
                    }
@@ -2612,6 +2678,9 @@
                    command.setType(type);
                    command.setType2(type2);
                    command.setWeight(weight);
                    command.setWeight2(weight2);
                    if (workNo1 == 0 && workNo2 !=0){
                        command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 任务模式: 2取放货
@@ -2840,6 +2909,9 @@
                    continue;
                }
                for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){
                    if (!Objects.equals(Utils.getStaNo(rgvSlave.getId(), wrkMastSta.getWrkEnd()), outStn.getStaNo())){
                        continue;
                    }
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getStaPlcId());
                    StaProtocol staProtocol = devpThread.getStation().get(outStn.getStaNo());
                    if (staProtocol == null) {
@@ -2875,6 +2947,9 @@
                    continue;
                }
                for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){
                    if (!Objects.equals(Utils.getStaNo(rgvSlave.getId(), wrkMastSta.getStaEnd()), outStn.getStaNo())){
                        continue;
                    }
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getStaPlcId());
                    StaProtocol staProtocol = devpThread.getStation().get(outStn.getStaNo());
                    if (staProtocol == null) {
@@ -2967,7 +3042,7 @@
                    boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand()));
                    log.info("{}号rgv工位二工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2());
                    if (offer){
                        Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2());
                        Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no2", rgvProtocol.getTaskNo2());
                        WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
                        if (Cools.isEmpty(wrkMastSta1)){
                            log.error("完成{}号车工位二任务未找到对应工作任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
@@ -3011,10 +3086,26 @@
    public boolean rgvTaskSave(RgvCommand command){
//        Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1());
        List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1(),command.getTaskNo2());
        if (!Cools.isEmpty(wrkMastSta1)){
            wrkMastStaService.deleteBatchIds(wrkMastSta1);
        if (command.getTaskNo1() > 0){
            List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1());
            if (!Cools.isEmpty(wrkMastSta1)){
                for (WrkMastSta wrkMastSta :wrkMastSta1){
                    wrkMastStaService.deleteById(wrkMastSta);
                }
            }
        }
        if (command.getTaskNo2() > 0){
            List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks2(command.getRgvNo(),command.getTaskNo2());
            if (!Cools.isEmpty(wrkMastSta1)){
                for (WrkMastSta wrkMastSta :wrkMastSta1){
                    wrkMastStaService.deleteById(wrkMastSta);
                }
            }
        }
        WrkMastSta wrkMastSta = new WrkMastSta();
        wrkMastSta.setWrkNo(Long.valueOf(command.getTaskNo1()));
        wrkMastSta.setWrkNo2(Long.valueOf(command.getTaskNo2()));
@@ -3028,14 +3119,17 @@
        wrkMastSta.setUpdateTime(now);
        wrkMastSta.setWrkCrn(command.getRgvNo());
        wrkMastSta.setWrkType(command.getTaskMode().intValue());
        wrkMastSta.setMatnr1(command.getMatnr().intValue());
        wrkMastSta.setMatnr2(command.getMatnr2().intValue());
        wrkMastSta.setMatnr1(command.getMatnr());
        wrkMastSta.setMatnr2(command.getMatnr2());
        wrkMastSta.setType(command.getType().intValue());
        wrkMastSta.setType2(command.getType2().intValue());
        wrkMastSta.setBatch(command.getBatch());
        wrkMastSta.setBatch2(command.getBatch2());
        wrkMastSta.setAnfme(command.getAnfme().intValue());
        wrkMastSta.setAnfme2(command.getAnfme2().intValue());
        wrkMastSta.setWeight(command.getWeight());
        wrkMastSta.setWeight2(command.getWeight2());
        return wrkMastStaService.insert(wrkMastSta);
    }
@@ -3105,14 +3199,26 @@
                        }
                    }
//                     获取入库通知档
                    List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
                    if (waitPakins.isEmpty()) {
                    WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
                    if (Cools.isEmpty(waitPakin)) {
                        try {
                            CreateComb(barcode,staProtocol.getMatnr().intValue(),staProtocol.getWorkNo().intValue());
                            CreateComb(barcode, staProtocol.getMatnr(),staProtocol.getWorkNo().intValue(),staProtocol.getBatch());
                        }catch (IOException e) {
                            throw new CoolException(e);
                        }
                    }else {
                    } else if (waitPakin.getWeight() == null) {
                        WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", staProtocol.getWorkNo().intValue()));
                        if (Cools.isEmpty(wrkMastSta)){
                            wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no2", staProtocol.getWorkNo().intValue()));
                            if (Cools.isEmpty(wrkMastSta)){
                                throw new  CoolException("未找到对应的任务信息");
                            }
                            waitPakin.setWeight(wrkMastSta.getWeight2());
                        }else {
                            waitPakin.setWeight(wrkMastSta.getWeight());
                        }
                        waitPakinService.update(waitPakin,new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
                    } else {
                        try {
                            LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
                            SearchLocParam param = new SearchLocParam();
@@ -3166,23 +3272,30 @@
    }
    public void CreateComb(String barcode,Integer code,Integer wrkNo) throws IOException {
        String batch = "";
        Double anfme = 0D;
    public void CreateComb(String barcode,Integer code,Integer wrkNo,String batch) throws IOException {
        Double anfme = 0d;
        Double weight = 0d;
        WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkNo));
        if (Cools.isEmpty(wrkMastSta)){
            wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no2", wrkNo));
            if (Cools.isEmpty(wrkMastSta)){
                throw new  CoolException("未找到对应的任务信息");
                if (code >0 && !Cools.isEmpty(batch)){
                    anfme = 1d;
                }else {
                    throw new  CoolException("未找到对应的任务信息");
                }
            }else {
                batch = wrkMastSta.getBatch2();
                anfme = wrkMastSta.getAnfme2().doubleValue();
                code = wrkMastSta.getMatnr2();
                weight = wrkMastSta.getWeight2();
            }
            batch = wrkMastSta.getBatch2();
            anfme = wrkMastSta.getAnfme2().doubleValue();
            code = wrkMastSta.getMatnr2();
        }else {
            batch = wrkMastSta.getBatch();
            anfme = wrkMastSta.getAnfme().doubleValue();
            code = wrkMastSta.getMatnr1();
            weight = wrkMastSta.getWeight();
        }
        MatnrCode matnrCode = matnrCodeService.selectByCode(code);
        if (Cools.isEmpty(matnrCode)){
@@ -3208,6 +3321,8 @@
        JSONObject jsonObject = JSON.parseObject(response);
        if (jsonObject.getInteger("code").equals(200)) {
        }else {
            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/mobile/comb/auth", JSON.toJSONString(combParam), response);
        }
    }
src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.service.WaitPakinService;
import org.springframework.stereotype.Service;
@Service("waitPakinService")
public class WaitPakinServiceImpl extends ServiceImpl<WaitPakinMapper, WaitPakin> implements WaitPakinService {
}
src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
@@ -22,7 +22,17 @@
    }
    @Override
    public List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1, Integer taskNo2) {
        return this.baseMapper.selectBywrkNoHistoricalTasks(rgvNo,taskNo1,taskNo2);
    public List<WrkMastSta> selectBywrkNoHistoricalTasks(Integer rgvNo, Integer taskNo1) {
        return this.baseMapper.selectBywrkNoHistoricalTasks(rgvNo,taskNo1);
    }
    @Override
    public List<WrkMastSta> selectBywrkNoHistoricalTasks2(Integer rgvNo, Integer taskNo2) {
        return this.baseMapper.selectBywrkNoHistoricalTasks2(rgvNo, taskNo2);
    }
    @Override
    public List<WrkMastSta> selectRGVTask1(Integer id) {
        return this.baseMapper.selectRGVTask1(id);
    }
}
src/main/java/com/zy/core/model/command/RgvCommand.java
@@ -65,6 +65,8 @@
    private Short anfme;
    private Short anfme2;
    private Double weight;
    private Double weight2;
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -93,6 +93,7 @@
    private boolean force = false;
    private short amount = 0;
    private Short tongType = 0;
    private Short weight = 0;
    public Boolean isErr(){
        if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr){
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -435,7 +435,7 @@
    private void read10() throws InterruptedException {
        ArrayList<Integer> staNos = getStaNo();
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10));
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 12));
        if (result.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
@@ -445,18 +445,18 @@
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 10));     // 工作号
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*10 + 4 ));   // 目标站
                staProtocol.setMatnr((int) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 10 + 6));   // 目标站
                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12));     // 工作号
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*12 + 4 ));   // 目标站
                staProtocol.setMatnr(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12 + 6));   // 目标站
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = null;
        result1 = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10));
        result1 = siemensS7Net.Read("DB101.10", (short) (getStaNo().size() * 12));
        if (result1.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*10+8, 2);
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*12, 2);
                StaProtocol staProtocol = station.get(siteId);
                staProtocol.setAutoing(status[0]);  // 自动
                staProtocol.setLoading(status[1]);  // 有物
@@ -475,11 +475,31 @@
            }
        }
        OperateResultExOne<byte[]> readBatch = siemensS7Net.Read("DB101.240", (short) 20);
        if (readBatch.IsSuccess){
            String batch = siemensS7Net.getByteTransform().TransString(readBatch.Content, 0, 20, "UTF-8");
            for (int i = 0; i < 1; i++) {
                StaProtocol staProtocol = station.get(2106);
                staProtocol.setBatch(batch);
            }
        }
        OperateResultExOne<byte[]> readWeight = siemensS7Net.Read("DB101.260", (short) 2);
        if (readWeight.IsSuccess){
            Short weight = siemensS7Net.getByteTransform().TransInt16(readWeight.Content,0);
            for (int i = 0; i < 1; i++) {
                StaProtocol staProtocol = station.get(2102);
                staProtocol.setWeight(weight);
            }
        }
        // 条码扫描器
        if(slave.getId() == 2) {
            Thread.sleep(200);
            OperateResultExOne<byte[]> result2 = null;
            result2 = siemensS7Net.Read("DB101.194.0", (short) (8));
            result2 = siemensS7Net.Read("DB101.232.0", (short) (8));
            if (result2.IsSuccess) {
                for (int i = 0; i < 1; i++) {
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -747,9 +767,9 @@
        }
        ArrayList<Integer> staNos = getWriteStaNo();
        int index = staNos.indexOf(staProtocol.getSiteId());
        OperateResult write = siemensS7Net.Write("DB100." + index*8, staProtocol.getWorkNo().intValue());    // 工作号
        OperateResult write1 = siemensS7Net.Write("DB100." + (index*8+4), staProtocol.getStaNo());    // 目标站
        OperateResult write2 = siemensS7Net.Write("DB100." + (index*8+6), staProtocol.getMatnr());    // 目标站
        OperateResult write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue());    // 工作号
        OperateResult write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo());    // 目标站
        OperateResult write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站
        if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) {
            staProtocol = station.get(staProtocol.getSiteId());
src/main/resources/application.yml
@@ -147,7 +147,7 @@
  # 输送线1
  devp[0]:
    id: 1
    ip: 10.10.10.1
    ip: 10.10.10.111
    port: 102
    rack: 0
    slot: 0
@@ -311,6 +311,9 @@
    outStn[0]:
      staNo: 2103
      staPlcId: 2
    outStn[1]:
      staNo: 2301
      staPlcId: 2
  # RGV2
  rgv[1]:
    id: 1
src/main/resources/mapper/WrkMastStaMapper.xml
@@ -38,7 +38,15 @@
    </select>
    <select id="selectBywrkNoHistoricalTasks" resultMap="BaseResultMap">
        select * from asr_wrk_mast_sta
        where wrk_crn = #{rgvNo} and (wrk_no = #{taskNo1} or wrk_no2 = #{taskNo2})
        where wrk_crn = #{rgvNo} and wrk_no = #{taskNo1}
    </select>
    <select id="selectBywrkNoHistoricalTasks2" resultMap="BaseResultMap">
        select * from asr_wrk_mast_sta
        where wrk_crn = #{rgvNo} and  wrk_no2 = #{taskNo2}
    </select>
    <select id="selectRGVTask1" resultMap="BaseResultMap">
        select * from asr_wrk_mast_sta
        where wrk_crn = #{id} and wrk_sts = 1
    </select>
</mapper>