From d8060afba15f67e443bb2f89410313905bdc7ebe Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 23 六月 2025 08:58:13 +0800
Subject: [PATCH] 米多泉泉州wcs功能完善

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |  225 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 197 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index c550397..a300dec 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -26,8 +26,11 @@
 import com.zy.core.thread.LedThread;
 import com.zy.core.thread.SiemensDevpThread;
 import com.zy.entity.*;
+import com.zy.entity.param.StockOutParam;
 import com.zy.mapper.*;
 import com.zy.service.*;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import com.zy.utils.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +39,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -136,6 +140,9 @@
     private WrkMastService wrkMastService;
     @Autowired
     private BasRgvMapService basRgvMapService;
+
+    @Resource
+    private ConfigService configService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -884,7 +891,7 @@
                         }
                         newLocNo = newLocNo + locNo.substring(2);
                         // 瀵瑰簲搴撲綅鏈夋棤浠诲姟
-                        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", newLocNo));
+                        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", newLocNo).eq("wrk_sts",11));
                         if(wrkMast1 == null) {
                              if(locNo.startsWith("10") || locNo.startsWith("11")){ // 娴呭簱浣�
 
@@ -1075,7 +1082,7 @@
             //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
             if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
                 News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔");
-                if (crnProtocol.getTaskNo() == 9999) {
+                if (crnProtocol.getTaskNo() == 9999) { // 鍥炲師鐐逛换鍔″彿
                     // 鍫嗗灈鏈哄浣�
                     crnThread.setResetFlag(true);
                 } else {
@@ -1121,6 +1128,51 @@
 //        News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
     }
 
+    /**
+     * 鍫嗗灈鏈哄洖鍘熺偣
+     */
+    public synchronized void originGo() {
+
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                continue;
+            }
+            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+                    && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
+                // 鍒ゆ柇鏄笉鏄凡鍦ㄥ師鐐�
+                if(crnProtocol.getBay() == 0 && crnProtocol.getLevel() == 1) {
+                    continue;
+                }
+                // 鍒ゆ柇鏄笉鏄┖闂蹭笁鍒嗛挓
+                BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+                Date now = new Date();
+                Date modiTime = basCrnp.getModiTime();
+                long diffInMillis = now.getTime()-modiTime.getTime();
+                if(diffInMillis < 3 * 60 * 1000) {
+                    continue;
+                }
+
+                CrnCommand crnCommand = new CrnCommand();
+                crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
+                crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
+                crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍥炲師鐐�
+                crnCommand.setSourcePosX((short) (crn.getId() == 1 ? 4 : crn.getId() == 2 ? 6 : crn.getId() == 3 ? 7 : 11));     // 婧愬簱浣嶆帓
+                crnCommand.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+                crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
+                crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
+                crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
+                crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+                if (!MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {
+                    News.error("鍥炲師鐐逛换鍔′笅鍙戝け璐�", crn.getId(), JSON.toJSON(crnCommand));
+                } else {
+                    log.info("{}鍙峰爢鍨涙満鍥炲師鐐逛换鍔′笅鍙戞垚鍔燂細{}", crn.getId(), JSON.toJSON(crnCommand));
+                }
+            }
+        }
+    }
     /**
      * 鍫嗗灈鏈哄紓甯镐俊鎭褰�
      */
@@ -1565,6 +1617,9 @@
                     case 1019:dismantlingMachine = 1020;break;
                     case 1034:dismantlingMachine = 1035;break;
                 }
+                if(staProtocol.getSiteId() == 1034 && staProtocol.isHigh()) {
+                    continue;
+                }
                 if (wrkMastService.selectList(new EntityWrapper<WrkMast>().in("io_type", 110).eq("sta_no", dismantlingMachine)).size() > 0) {
 //                    log.warn("{}绔欑偣宸茬粡瀛樺湪涓や釜绌烘澘鍑哄簱浠诲姟", entry.getKey());
                     continue;
@@ -1584,7 +1639,7 @@
                     if (jsonObject.getInteger("code").equals(200)) {
                         log.info("绌烘墭鍑哄簱璇锋眰鎴愬姛锛氳姹傚弬鏁皗}锛岃繑鍥炲��:{}", map, response);
                     } else {
-                        log.error("绌烘嫋鍑哄簱璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", map, response);
+//                        log.error("绌烘嫋鍑哄簱璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", map, response);
                     }
                 } catch (Exception e) {
                     log.error("绌烘嫋鍑哄簱璇锋眰鎺ュ彛寮傚父锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", map, response);
@@ -1615,10 +1670,17 @@
                     log.error("鍛煎彨rgv,浠诲姟鍙蜂笉瀛樺湪:{}",staProtocol.getWorkNo());
                     continue;
                 }
-                if (staProtocol.getSiteId() == 1090 && wrkMast.getLocNo() == null) {
+                if (staProtocol.getSiteId() == 1090 && wrkMast.getStaNo() == 1090) {
                     continue;
                 }
-                if ((wrkMast.getWrkSts() == 2 || wrkMast.getWrkSts() == 15) && wrkMast.getRgvNo() == null) {
+                if ((wrkMast.getWrkSts() == 2 || wrkMast.getWrkSts() == 15) && (wrkMast.getRgvNo() == null || wrkMast.getRgvDstaNo() == 1090)) {
+                    // 鏈�1090鐨勪换鍔¤烦杩噐gv鍒嗛厤
+                    if(wrkMast.getStaNo() == 1090) {
+                        int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().where("sta_no = 1090 or source_sta_no = 1090 "));
+                        if (count > 1) {
+                            continue;
+                        }
+                    }
                     wrkMast.setRgvNo(0);
                     wrkMast.setRgvSstaNo(site);
                     wrkMast.setRgvDstaNo(taskStaNoToRgvStaNoMap.get(wrkMast.getStaNo()));
@@ -1655,15 +1717,18 @@
 
                 if(wrkMast.getIoType() == 3 && (wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016 || wrkMast.getStaNo() == 1043)) { // 鍒�1024鍑哄簱鍙o紝鏀惧埌杈撻�佺嚎鍚庝换鍔″畬鎴�
                     if(wrkMast.getWrkSts() != 2 ){
-                        log.warn("rgv鏀捐揣瀹屾垚锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
+                        log.warn("rgv鏀捐揣瀹屾垚3锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
                         continue;
                     }
                     wrkMast.setWrkSts(5L);
+//                    if(wrkMast.getStaNo() == 1090) {
+//                        wrkMast.setWrkSts(3L);
+//                    }
                     wrkMast.setModiTime(new Date());
                     wrkMastService.updateById(wrkMast);
                 } else if(wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016 || wrkMast.getStaNo() == 1043)) {
                     if(wrkMast.getWrkSts() != 2 ) {
-                        log.warn("rgv鏀捐揣瀹屾垚锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}", wrkMast.getRgvNo(), wrkMast.getWrkNo(), wrkMast.getWrkSts());
+                        log.warn("rgv鏀捐揣瀹屾垚101锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}", wrkMast.getRgvNo(), wrkMast.getWrkNo(), wrkMast.getWrkSts());
                         continue;
                     }
                     wrkMast.setWrkSts(15L);
@@ -1671,7 +1736,7 @@
                     wrkMastService.updateById(wrkMast);
                 } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035)) {
                     if(wrkMast.getWrkSts() != 2 ){
-                        log.warn("rgv鏀捐揣瀹屾垚锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
+                        log.warn("rgv鏀捐揣瀹屾垚110锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
                         continue;
                     }
                     wrkMast.setWrkSts(15L);
@@ -1709,16 +1774,16 @@
                 log.error("寮傚父鍙e叆搴撲换鍔″彿鏃犱换鍔�:{}", staProtocol.getWorkNo());
                 return;
             } else if (wrkMast.getLocNo() != null) {
-                log.info("寮傚父鍙e叆搴撳簱浣嶅凡鍒嗛厤:{}", wrkMast.getLocNo());
+//                log.info("寮傚父鍙e叆搴撳簱浣嶅凡鍒嗛厤:{}", wrkMast.getLocNo());
                 return;
             } else if(wrkMast.getStaNo() != 1090) {
-                log.info("寮傚父鍙e叆搴撳叆搴撶洰鏍囩珯鐐瑰凡鍒嗛厤:{}", wrkMast.getStaNo());
+//                log.info("寮傚父鍙e叆搴撳叆搴撶洰鏍囩珯鐐瑰凡鍒嗛厤:{}", wrkMast.getStaNo());
                 return;
             }
 
             try {
                 CanningLineInLocParam param = new CanningLineInLocParam();
-                param.setWrkNo(staProtocol.getWrkNo());
+                param.setWrkNo(staProtocol.getWorkNo());
                 param.setSourceStaNo(1090);
                 param.setTbFlag(staProtocol.isInEnable()); // true鍏ユ垚鍝佸簱锛宖alse鍏ョ┖妗跺簱
 
@@ -1731,19 +1796,7 @@
                 log.info("寮傚父鍙e叆搴撹姹倃ms鍘熷杩斿洖锛�" + response);
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
-//                    StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-//                    staProtocol.setWorkNo(dto.getWorkNo());
-//                    staProtocol.setStaNo(dto.getStaNo().shortValue());
-//                    devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                    boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol));
-//                    if (result) {
-//                        log.info("寮傚父鍙e叆搴撴帹閫佽緭閫佺嚎鍛戒护鎴愬姛锛�" + dto.getWorkNo() + "," + 1090 + "," + dto.getStaNo());
-//                        News.info("寮傚父鍙e叆搴撴帹閫佽緭閫佺嚎鍛戒护鎴愬姛锛�" + dto.getWorkNo() + "," + 1090 + "," + dto.getStaNo());
-//                    } else {
-//                        log.error("寮傚父鍙e叆搴撴帹閫佽緭閫佺嚎鍛戒护澶辫触锛�" + dto.getWorkNo() + "," + 1090 + "," + dto.getStaNo());
-//                        News.error("寮傚父鍙e叆搴撴帹閫佽緭閫佺嚎鍛戒护澶辫触锛�" + dto.getWorkNo() + "," + 1090 + "," + dto.getStaNo());
-//                        throw new CoolException("寮傚父鍙e叆搴撴帹閫佽緭閫佺嚎鍛戒护澶辫触:" + 1090);
-//                    }
+                    log.error("寮傚父鍙e叆搴撹姹傛帴鍙f垚鍔熷父锛寀rl:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
                 } else {
                     log.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紝url:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
                     News.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
@@ -1821,7 +1874,12 @@
         }
 
         // 绔欑偣鏉′欢鍒ゆ柇
-        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWrkNo() == 0) {
+        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
+                 && staProtocol.getWorkNo() == 0 && staProtocol.isHigh()) {
+            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 3).eq("source_sta_no", 1034).eq("sta_no", 1024));
+            if (wrkMast1 != null) {
+                return;
+            }
 
             Date now = new Date();
             // 淇濆瓨宸ヤ綔妗�
@@ -1830,6 +1888,7 @@
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(2L);
             wrkMast.setIoType(3);
+            wrkMast.setIoPri(15D);
             wrkMast.setSourceStaNo(1034); // 婧愮珯
             wrkMast.setStaNo(1024); // 鐩爣绔�
             wrkMast.setAppeTime(now);
@@ -1845,6 +1904,116 @@
                 log.error("瀛愭墭鐩樺簳搴ф瘝鎵樼洏鍥炴祦鍛戒护鎺ㄩ�侀槦鍒楀け璐ワ細" + wrkMast.getWrkNo() + "," + staProtocol.getSiteId());
             }
         }
+    }
+
+    public synchronized void autoOutEmptyBucket() {
+        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","autoOutEmptyBucket").eq("status",1));
+        if (config == null || Cools.isEmpty(config.getValue())) {
+            return;
+        }
+
+        // 闇�瑕佽嚜鍔ㄨˉ绌烘《鐨勭珯鐐�
+        String[] split = config.getValue().split("=");
+
+        for (SearchLocParam.WantBucket wantBucket : getWantBucketFlag()) {
+            if (wantBucket.getBucketType() != 0) { // 缃愯绾挎湁瑕佹《淇″彿
+                boolean flag = true; // 鏄惁闇�瑕佽嚜鍔ㄨˉ锛宼rue涓嶉渶瑕侊紝false闇�瑕�
+                for(String item: split) {
+                    if(String.valueOf(wantBucket.getSite()).equals(item)) {
+                        flag = false;
+                        break;
+                    }
+                }
+                if(flag) {
+                    return;
+                }
+                // <4 < 2 < 4
+                int count = wrkMastMapper.selectInGzxCount(wantBucket.getSite());
+                if (wantBucket.getSite() == 1071 && count <= 2 || wantBucket.getSite() == 1064 && count == 0 || wantBucket.getSite() == 1078 && count <= 2) {
+                    // 鍒ゆ柇搴撻噷鏈夋棤绌烘《缁�
+                    List<LocDetl> locDetlList = locDetlService.selectListByMatnr(wantBucket.getBucketType());
+                    for (int i = 0; i < locDetlList.size(); i++) {
+                        LocDetl locDetl = locDetlList.get(i);
+                        String loc1 = locDetl.getLocNo();
+                        String aisle1 = loc1.substring(0, 2);
+                        String column1 = loc1.substring(2, 5);
+                        String level1 = loc1.substring(5, 7);
+
+                        for (int j = i + 1; j < locDetlList.size(); j++) {
+                            LocDetl locDetl1 = locDetlList.get(j);
+                            String loc2 = locDetl1.getLocNo();
+                            String aisle2 = loc2.substring(0, 2);
+                            String column2 = loc2.substring(2, 5);
+                            String level2 = loc2.substring(5, 7);
+
+                            // 妫�鏌ユ槸鍚︽弧瓒崇粍闃熸潯浠�
+                            if (isSameAisleGroup(aisle1, aisle2) && column1.equals(column2) && level1.equals(level2)) {
+                                // 鍒涘缓绌烘《鍑哄簱浠诲姟
+                                try {
+                                    StockOutParam param = new StockOutParam();
+                                    param.setOutSite(wantBucket.getSite());
+                                    List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
+                                    StockOutParam.LocDetl locDetl2 = new StockOutParam.LocDetl();
+                                    locDetl2.setLocNo(locDetl.getLocNo());
+                                    locDetl2.setMatnr(locDetl.getMatnr());
+                                    locDetl2.setBatch(locDetl.getBatch());
+                                    locDetl2.setBrand(locDetl.getBrand());
+                                    locDetl2.setCount(locDetl.getAnfme());
+                                    locDetl2.setBoxType1(locDetl.getBoxType1());
+                                    locDetl2.setBoxType2(locDetl.getBoxType2());
+                                    locDetl2.setBoxType3(locDetl.getBoxType3());
+                                    locDetl2.setStandby1(locDetl.getStandby1());
+                                    locDetl2.setStandby2(locDetl.getStandby2());
+                                    locDetl2.setStandby3(locDetl.getStandby3());
+                                    locDetls.add(locDetl2);
+
+                                    StockOutParam.LocDetl locDetl3 = new StockOutParam.LocDetl();
+                                    locDetl3.setLocNo(locDetl1.getLocNo());
+                                    locDetl3.setMatnr(locDetl1.getMatnr());
+                                    locDetl3.setBatch(locDetl1.getBatch());
+                                    locDetl3.setBrand(locDetl1.getBrand());
+                                    locDetl3.setCount(locDetl1.getAnfme());
+                                    locDetl3.setBoxType1(locDetl1.getBoxType1());
+                                    locDetl3.setBoxType2(locDetl1.getBoxType2());
+                                    locDetl3.setBoxType3(locDetl1.getBoxType3());
+                                    locDetl3.setStandby1(locDetl1.getStandby1());
+                                    locDetl3.setStandby2(locDetl1.getStandby2());
+                                    locDetl3.setStandby3(locDetl1.getStandby3());
+                                    locDetls.add(locDetl3);
+                                    param.setLocDetls(locDetls);
+
+                                    String response = new HttpHandler.Builder()
+                                            .setUri(wmsUrl)
+                                            .setPath("/rpc/autoOutEmptyBucket")
+                                            .setJson(JSON.toJSONString(param))
+                                            .build()
+                                            .doPost();
+                                    log.info("鑷姩鍑虹┖妗惰姹倃ms鍘熷杩斿洖锛�" + response);
+                                    JSONObject jsonObject = JSON.parseObject(response);
+                                    if (jsonObject.getInteger("code").equals(200)) {
+                                        log.info("鑷姩鍑虹┖妗舵垚鍔�:{}",wantBucket.getSite());
+                                        return;
+                                    } else {
+                                        News.error("鑷姩绌烘《鍑哄簱" + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+                                    }
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    // 鍒ゆ柇涓や釜鎺掓槸鍚﹀睘浜庡悓涓�缁�
+    private static boolean isSameAisleGroup(String aisle1, String aisle2) {
+        return (aisle1.equals("09") && aisle2.equals("10")) ||
+                (aisle1.equals("10") && aisle2.equals("09")) ||
+                (aisle1.equals("11") && aisle2.equals("12")) ||
+                (aisle1.equals("12") && aisle2.equals("11"));
     }
 
     /**
@@ -1885,12 +2054,12 @@
                     param.setMatnr(staProtocol.getMatnr().trim());
                     param.setBatch(staProtocol.getBatch().trim());
                     param.setManuDate(staProtocol.getManuDate());
-                    param.setWeight(staProtocol.getWeight());
-                    param.setGrossWeight(staProtocol.getGrossWeight());
+                    param.setWeight(Math.round(staProtocol.getWeight() * 100.0) / 100.0);
+                    param.setGrossWeight(Math.round(staProtocol.getGrossWeight() * 100.0) / 100.0);
                     param.setReinspection(staProtocol.isReinspection());
                     param.setSourceStaNo(site + 2);
                     param.setTbFlag(staProtocol2.isBarcodeErr());
-
+                    param.setCannedVolume(Math.round(staProtocol.getCannedVolume() * 100.0) / 100.0);
 //                    param.setWrkNo(57);
 //                    param.setMatnr("101");
 //                    param.setBatch("tt1");

--
Gitblit v1.9.1