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