From 0a926b3ce629047a88dbc65cc38ec86c43520336 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期五, 07 三月 2025 16:33:09 +0800
Subject: [PATCH] -换型bug修改

---
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java |  260 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 240 insertions(+), 20 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
index 68de0e9..2215dd3 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -17,6 +17,7 @@
 import com.jcdm.common.utils.DateUtils;
 import com.jcdm.common.utils.SecurityUtils;
 import com.jcdm.common.utils.StringUtils;
+import com.jcdm.framework.websocket.WebSocketUsers;
 import com.jcdm.main.bs.formula.service.IBsFormulaInfoService;
 import com.jcdm.main.bs.formula.service.impl.BsFormulaInfoServiceImpl;
 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
@@ -53,6 +54,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import javax.websocket.Session;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
 import java.util.*;
@@ -108,6 +110,9 @@
     private IDaPassingStationCollectionService daPassingStationCollectionService;
 
     public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    Map<String, Session> map = WebSocketUsers.getUsers();
+
 
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦
@@ -361,6 +366,10 @@
                     }
 //                    RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(),"OP230",format.format(new Date()));
                 }
+                if(daParamCollection.getLocationCode().equals("POP430")){
+                    this.enterWeighing(daParamCollection);
+                }
+
 
 
             } catch (Exception e) {
@@ -518,12 +527,16 @@
             parentVO.setTotalResult("1");
             List<ChildVO> listChildVo = new ArrayList<>();
 
+            String productModel = "PE01B";
+            OmProductionOrdeInfo orderOne = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packID));
+            productModel = orderOne.getProductCode();
+
             for (DaParamCollectionTemp daParamCollection : paramList) {
                 ChildVO childVO = new ChildVO();
                 childVO.setItemCode(daParamCollection.getParamCode());
                 List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
                         .eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())
-                        .eq(DaCollectionParamConf::getProductModel, "PE01B")
+                        .eq(DaCollectionParamConf::getProductModel, productModel)
                 );
                 DaCollectionParamConf paramConfOne = paramConfOneList.get(0);
                 if(paramConfOne!=null){
@@ -587,6 +600,10 @@
             parentVO.setProductNum(packID);
             parentVO.setTotalResult("1");
             List<ChildVO> listChildVo = new ArrayList<>();
+
+//            String productModel = "PE01B";
+//            OmProductionOrdeInfo orderOne = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packID));
+//            productModel = orderOne.getProductCode();
 
             for (DaParamCollection daParamCollection : paramList) {
                 ChildVO childVO = new ChildVO();
@@ -666,25 +683,54 @@
     public void enterWeighing(DaParamCollection daParamCollection) {
         String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
 //        String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
-        long timestampMillis = Instant.now().toEpochMilli();
-        ParentVO parentVO = new ParentVO();
-        ChildVO childVO = new ChildVO();
-        List<ChildVO> childVOList = new ArrayList<>();
-        childVO.setItemCode("PWD_PW");
-        childVO.setItemType("3");
-        childVO.setItemText("Pack閲嶉噺鍊�");
-        childVO.setItemValue(daParamCollection.getWeightValue());
-        childVO.setCheckTime(format.format(new Date()));
-        childVO.setCheckResult("1");
-        childVOList.add(childVO);
-        parentVO.setSiteCode("3983");
-        parentVO.setRecordId(""+timestampMillis);
-        parentVO.setStationCode("POP430");
-        parentVO.setProductNum(daParamCollection.getSfcCode());
-        parentVO.setTotalResult("1");
-        parentVO.setCheckList(childVOList);
-        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
-        RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"POP430",format.format(new Date()));
+        try{
+            daParamCollection.setWeightValue(getRandomNumberBetween(312.5, 313.5));
+            Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".weight").getValue();
+            if(ObjectUtil.isNotNull(recordDataDone)){
+                daParamCollection.setWeightValue(recordDataDone.toString());
+            }
+            long timestampMillis = Instant.now().toEpochMilli();
+            ParentVO parentVO = new ParentVO();
+            ChildVO childVO = new ChildVO();
+            List<ChildVO> childVOList = new ArrayList<>();
+            childVO.setItemCode("PWD_PW");
+            childVO.setItemType("3");
+            childVO.setItemText("Pack閲嶉噺鍊�");
+            childVO.setItemValue(daParamCollection.getWeightValue());
+            childVO.setCheckTime(format.format(new Date()));
+            childVO.setCheckResult("1");
+            childVOList.add(childVO);
+            parentVO.setSiteCode("3983");
+            parentVO.setRecordId(""+timestampMillis);
+            parentVO.setStationCode("POP430");
+            parentVO.setProductNum(daParamCollection.getProductBarcode());
+            parentVO.setTotalResult("1");
+            parentVO.setCheckList(childVOList);
+            CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
+                logger.info("POP430鎶ュ伐寮�濮�-宸ュ巶MES寮傛鏂规硶");
+                HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+                logger.info("绉伴噸430杩斿洖缁撴灉"+execute.body());
+                String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), "POP430", format.format(new Date()));
+                JSONObject jsonObject = new JSONObject(reportResult);
+                String code = jsonObject.getStr("code");
+                String resultCode = jsonObject.getJSONObject("data").getStr("resultCode");
+                if("success".equals(code)&&"S".equals(resultCode)){
+                    //濡傛灉鎴愬姛锛屾墽琛屾姤宸ユ垚鍔熸柟娉曪紝淇敼鏄惁鎶ュ伐涓�1锛屾坊鍔犳姤宸ユ椂闂�
+                    WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportSuccess");
+                    omProductionOrdeInfoService.updateOrderByProductNum("1",daParamCollection.getProductBarcode(),"POP430");
+                }else{
+                    WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportError");
+                    //瑙f瀽宸ュ巶mes杩斿洖缁撴灉锛屽鏋滃け璐ワ紝鎵ц鎶ュ伐澶辫触鏂规硶锛屼慨鏀规槸鍚︽姤宸ヤ负2锛屾坊鍔犳姤宸ユ椂闂�
+                    omProductionOrdeInfoService.updateOrderByProductNum("2",daParamCollection.getProductBarcode(),"POP430");
+                }
+                logger.info("OP430鎶ュ伐缁撴潫-宸ュ巶MES寮傛鏂规硶{}"+reportResult);
+            });
+        }catch (Exception e){
+            WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportError");
+            System.out.println(e.getMessage());
+        }
+//        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+//        RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"POP430",format.format(new Date()));
     }
 
     @Override
@@ -754,4 +800,178 @@
         }
     }
 
+    @Override
+    public AjaxResult addRepairTighteningData(DaParamCollection daParamCollection) {
+        try {
+        String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+//            String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+            String processesCode =  daParamCollection.getLocationCode();
+
+            long timestampMillis = Instant.now().toEpochMilli();
+            ParentVO parentVO = new ParentVO();
+            List<ChildVO> childVOList = new ArrayList<>();
+            parentVO.setSiteCode("3983");
+            parentVO.setRecordId(""+timestampMillis);
+            parentVO.setStationCode(processesCode);
+            parentVO.setProductNum(daParamCollection.getSfcCode());
+            parentVO.setTotalResult("1");
+            parentVO.setCheckList(childVOList);
+
+            String screwNumber = daParamCollection.getScrewNumber();
+            String torque = daParamCollection.getTorque();
+            String angle = daParamCollection.getAngle();
+            String torqueResult = daParamCollection.getTorqueResult();
+            String angleResult = daParamCollection.getAngleResult();
+
+            Map<String, String> map = new HashMap<>();
+            map.put("POP320","妯$粍");
+            map.put("POP400","绠辩洊");
+
+            List<String> nameLikeString = new ArrayList<>();
+            nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堟壄鐭�");
+            nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堣搴�");
+            nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堟壄鐭╂槸鍚﹀湪鑼冨洿鍐�");
+            nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堣搴︽槸鍚﹀湪鑼冨洿鍐�");
+
+            if(screwNumber.contains("锛�")){
+                String[] screwNumberSplit = screwNumber.split("锛�");
+                String[] torqueSplit = torque.split("锛�");
+                String[] angleSplit = angle.split("锛�");
+                String[] torqueResultSplit = torqueResult.split("锛�");
+                String[] angleResultSplit = angleResult.split("锛�");
+
+                List<String[]> dataList = new ArrayList<String[]>();
+                dataList.add(torqueSplit);
+                dataList.add(angleSplit);
+                dataList.add(torqueResultSplit);
+                dataList.add(angleResultSplit);
+
+                for (int k = 0; k < nameLikeString.size(); k++) {
+                    for (int i = 0; i < screwNumberSplit.length; i++) {
+                        String s1 = nameLikeString.get(k)+screwNumberSplit[i];
+                        List<DaCollectionParamConf> confList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
+                                .eq(DaCollectionParamConf::getProcessesCode, processesCode)
+                                .eq(DaCollectionParamConf::getCollectParameterName, s1)
+                        );
+                        DaCollectionParamConf daCollectionParamConf = confList.get(0);
+                        ChildVO childVO = new ChildVO();
+                        childVO.setItemCode(daCollectionParamConf.getCollectParameterId());
+                        childVO.setItemType(daCollectionParamConf.getSpareField1());
+                        childVO.setItemText(daCollectionParamConf.getCollectParameterName());
+                        String itemValue = dataList.get(k)[i];
+                        childVO.setItemValue(itemValue);
+                        childVO.setCheckTime(format.format(new Date()));
+                        childVO.setCheckResult("1");
+                        childVOList.add(childVO);
+                    }
+                }
+            }else {
+                List<String> dataList = new ArrayList<>();
+                dataList.add(torque);
+                dataList.add(angle);
+                dataList.add(torqueResult);
+                dataList.add(angleResult);
+                for (int k = 0; k < nameLikeString.size(); k++) {
+                    String collectParameterName = nameLikeString.get(k)+screwNumber;
+                    List<DaCollectionParamConf> confList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
+                            .eq(DaCollectionParamConf::getProcessesCode, processesCode)
+                            .eq(DaCollectionParamConf::getCollectParameterName, collectParameterName)
+                    );
+                    DaCollectionParamConf daCollectionParamConf = confList.get(0);
+                    ChildVO childVO = new ChildVO();
+                    childVO.setItemCode(daCollectionParamConf.getCollectParameterId());
+                    childVO.setItemType(daCollectionParamConf.getSpareField1());
+                    childVO.setItemText(daCollectionParamConf.getCollectParameterName());
+                    String itemValue = dataList.get(k);
+                    childVO.setItemValue(itemValue);
+                    childVO.setCheckTime(format.format(new Date()));
+                    childVO.setCheckResult("1");
+                    childVOList.add(childVO);
+                }
+            }
+
+            System.out.println(childVOList);
+            logger.info("宸ヤ綅{}-----------杩斾慨鏁版嵁涓婁紶鍏ュ弬vo锛歿}",processesCode,new Gson().toJson(parentVO));
+            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+            logger.info("宸ヤ綅{}-----------杩斾慨鏁版嵁涓婁紶缁撴灉锛歿}",processesCode,execute.body());
+            return AjaxResult.success("涓婁紶鎴愬姛");
+        }catch (Exception e){
+            return AjaxResult.error("涓婁紶澶辫触锛屽弬鏁颁笉瀵硅妫�鏌ワ紒");
+        }
+    }
+
+    @Override
+    public void jrmPushGeelycvMesFeedback(String packID, String stationCode, String productCode) {
+        logger.info("杩涘叆浜哄伐宸ヤ綅鎺ㄩ�佸伐鍘侻ES鏁版嵁鏂规硶-pushGeelycvMesFeedback-宸ヤ綅{}-pack鐮亄}",stationCode,packID);
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+        String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+        String totalResult = "0";
+        List<DaParamCollectionTemp> paramList = daParamCollectionTempService.list(new LambdaQueryWrapper<DaParamCollectionTemp>().eq(DaParamCollectionTemp::getSfcCode, packID).eq(DaParamCollectionTemp::getLocationCode, stationCode));
+        if(paramList.size() > 0){
+            ParentVO parentVO = new ParentVO();
+            parentVO.setSiteCode("3983");
+            parentVO.setRecordId(String.valueOf(Instant.now().toEpochMilli()));
+            parentVO.setStationCode(stationCode);
+            parentVO.setProductNum(packID);
+            parentVO.setTotalResult("1");
+            List<ChildVO> listChildVo = new ArrayList<>();
+
+            for (DaParamCollectionTemp daParamCollection : paramList) {
+                ChildVO childVO = new ChildVO();
+                childVO.setItemCode(daParamCollection.getParamCode());
+                List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
+                        .eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())
+                        .eq(DaCollectionParamConf::getProductModel, productCode)
+                );
+                DaCollectionParamConf paramConfOne = paramConfOneList.get(0);
+                if(paramConfOne!=null){
+                    childVO.setItemType(paramConfOne.getSpareField1());
+                    childVO.setItemText(paramConfOne.getCollectParameterName());
+                }else {
+                    childVO.setItemType("3");
+                    childVO.setItemText("");
+                }
+                childVO.setItemValue(daParamCollection.getParamValue());
+
+                if(daParamCollection.getParamValue().equals("1")){
+                    childVO.setCheckResult("1");
+                }else if(daParamCollection.getParamValue().equals("2")){
+                    childVO.setCheckResult("0");
+                    parentVO.setTotalResult("0");
+                    totalResult = "1";
+                }else {
+                    childVO.setCheckResult("1");
+                }
+                childVO.setCheckTime(format.format(daParamCollection.getCollectionTime()));
+                listChildVo.add(childVO);
+
+            }
+            parentVO.setCheckList(listChildVo);
+            try{
+                CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
+                    logger.info("宸ヤ綅{}---寮�濮嬫墽琛屽紓姝ユ柟娉�---pack鐮佹槸{}"+stationCode,packID);
+                    HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+                    logger.info("宸ヤ綅{}---寮傛鏂规硶鎵ц缁撴潫---pack鐮佹槸{}"+stationCode,packID);
+                    logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘傚叆鍙俈O{}---pack鐮佹槸{}" + stationCode,new Gson().toJson(parentVO),packID);
+                    logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘侻ES寮傛鏂规硶{}---pack鐮佹槸{}"+stationCode,execute.body(),packID);
+
+                    DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp();
+                    daParamCollectionTemp.setSfcCode(packID);
+                    daParamCollectionTemp.setLocationCode(stationCode);
+                    int i = daParamCollectionTempService.deleteDaParamCollectionTempBySfcCodeAndLocationCode(daParamCollectionTemp);
+                    logger.info("鍒犻櫎涓存椂琛ㄦ暟鎹潯鏁皗}-宸ヤ綅{}-pack鐮亄}",i,stationCode,packID);
+                });
+            }catch (Exception e){
+                System.out.println(e.getMessage());
+            }
+            logger.info("缁撴潫浜哄伐宸ヤ綅鎺ㄩ�佸伐鍘侻ES鏁版嵁鏂规硶-pushGeelycvMesFeedback-宸ヤ綅{}-pack鐮亄}",stationCode,packID);
+        }
+    }
+
+    public static String getRandomNumberBetween(double min, double max) {
+        return String.format("%.1f",min + (Math.random() * (max - min)));
+    }
+
+
 }

--
Gitblit v1.9.3