From d36e5e64c363af15a27547b47d0fd2f5b7391346 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 17 五月 2024 18:08:49 +0800 Subject: [PATCH] #二楼 --- src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java | 14 ++ src/main/java/com/zy/core/model/protocol/StaProtocol.java | 1 src/main/java/com/zy/asrs/entity/WrkMastSta.java | 8 + src/main/java/com/zy/asrs/service/WaitPakinService.java | 8 + src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 171 ++++++++++++++++++++++++++++----- src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java | 12 ++ src/main/java/com/zy/asrs/service/WrkMastStaService.java | 6 + src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 5 src/main/java/com/zy/core/model/command/RgvCommand.java | 2 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 40 ++++++-- src/main/resources/application.yml | 5 src/main/resources/mapper/WrkMastStaMapper.xml | 10 + 12 files changed, 238 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java index e9d9ab5..b539964 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java +++ b/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) { diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java index f0f36ec..0121d3e 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java +++ b/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); } diff --git a/src/main/java/com/zy/asrs/service/WaitPakinService.java b/src/main/java/com/zy/asrs/service/WaitPakinService.java new file mode 100644 index 0000000..7b1d782 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/WaitPakinService.java @@ -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> { + +} diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaService.java b/src/main/java/com/zy/asrs/service/WrkMastStaService.java index 24cbb0a..d1cb648 100644 --- a/src/main/java/com/zy/asrs/service/WrkMastStaService.java +++ b/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); } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 08a9a18..738590d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/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){ //鐏岃绔欓渶瑕佽幏鍙栬緭閫佺嚎鐗╂枡浠g爜 + 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("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",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("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/mobile/comb/auth", JSON.toJSONString(combParam), response); } } diff --git a/src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java new file mode 100644 index 0000000..325051d --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java @@ -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 { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java index 811525c..73edc2c 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java +++ b/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); } } diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java index 020142b..b2a7360 100644 --- a/src/main/java/com/zy/core/model/command/RgvCommand.java +++ b/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; diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index 42518f9..5154613 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/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){ diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 287bcb4..5781dd1 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/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()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f7dec4f..11b09c1 100644 --- a/src/main/resources/application.yml +++ b/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 diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml index 3516652..58fc03f 100644 --- a/src/main/resources/mapper/WrkMastStaMapper.xml +++ b/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> -- Gitblit v1.9.1