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