From 6c345c06709a286a2a7dd3fa27d5348e7a57bfa0 Mon Sep 17 00:00:00 2001
From: cl <418351270@qq.com>
Date: 星期四, 11 七月 2024 17:27:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java |  306 +++++++++++++++-----------------------------------
 1 files changed, 92 insertions(+), 214 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java b/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
index 0d833f4..70052fe 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
@@ -9,6 +9,7 @@
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.jcdm.common.core.domain.AjaxResult;
 import com.jcdm.common.utils.StringUtils;
@@ -18,12 +19,16 @@
 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
 import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService;
 import com.jcdm.main.constant.Constants;
+import com.jcdm.main.da.cellData.domain.DaCellData;
+import com.jcdm.main.da.cellData.service.IDaCellDataService;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
 import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface;
 import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService;
+import com.jcdm.main.da.testDeviceInterfaceTemp.domain.DaTestDeviceInterfaceTemp;
+import com.jcdm.main.da.testDeviceInterfaceTemp.service.IDaTestDeviceInterfaceTempService;
 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
 import com.jcdm.main.restful.factoryMes.service.RestfulService;
@@ -55,14 +60,6 @@
 
     @Autowired
     private IDaTestDeviceInterfaceService daTestDeviceInterfaceService;
-    @Autowired
-    private IDaParamCollectionService daParamCollectionService;
-
-    @Resource
-    private IDaPassingStationCollectionService daPassingStationCollectionService;
-
-    @Autowired
-    private IOmProductionOrdeInfoService productionOrdeInfoService;
 
     @Autowired
     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
@@ -71,128 +68,68 @@
     private IBsFormulaChildInfoService bsFormulaChildInfoService;
 
     @Autowired
-    private IBsBeatSettingService bsBeatSettingService;
+    private IDaCellDataService daCellDataService;
 
-    private IDaPassingStationCollectionService passingStationCollectionService;
+    @Autowired
+    private IDaTestDeviceInterfaceTempService daTestDeviceInterfaceTempService;
+    String url = Constants.FACTORY_EMS_UAT_RUL+"deviceResultFeedback";
 
 //    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 url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+
+    /**
+     * 20宸ヤ綅鎺ユ敹娓呯爺鏁版嵁
+     */
+    @PostMapping("/receiveOVCDataFrom020Workstations")
+    public AjaxResult receiveOVCDataFrom020Workstations(@RequestBody ParentVO parentVO)
+    {
+
+        return AjaxResult.success(null);
+    }
 
     /**
      * 瀵煎嚭鐐规浠诲姟鍒楄〃
      */
     @PostMapping("/deviceResultFeedback")
-    public AjaxResult hdy(@RequestBody ParentVO parentVO)
+    public AjaxResult deviceResultFeedback(@RequestBody ParentVO parentVO)
     {
-        //淇濆瓨
-        //杩囩珯璁板綍
-//        String productNum = parentVO.getProductNum();
-//        if (StrUtil.isNotBlank(productNum)){
-//            List<OmProductionOrdeInfo> list = productionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, productNum));
-//            if (CollUtil.isNotEmpty(list)){
-//                OmProductionOrdeInfo omProductionOrdeInfo = list.get(0);
-//                DaPassingStationCollection passingStationCollection = new DaPassingStationCollection();
-//                passingStationCollection.setWorkOrderNo(omProductionOrdeInfo.getWorkOrderNo());
-//                passingStationCollection.setSfcCode(productNum);
-//                passingStationCollection.setProductCode(omProductionOrdeInfo.getProductCode());
-//                passingStationCollection.setLocationCode(parentVO.getStationCode());
-//                passingStationCollection.setOutRsSign(parentVO.getTotalResult());
-//                passingStationCollection.setCreateTime(new Date());
-//
-//                List<ChildVO> checkList = parentVO.getCheckList();
-//                if (CollUtil.isNotEmpty(checkList)){
-//                    List<String> collect = checkList.stream()
-//                            .filter(x -> Constants.IN_BOUND_TIME_CODE.equals(x.getItemCode()))
-//                            .map(ChildVO::getItemValue)
-//                            .collect(Collectors.toList());
-//                    if (CollUtil.isNotEmpty(collect)){
-//                        String s = collect.get(0);
-//                        if (StrUtil.isNotBlank(s)){
-//                            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//                            try {
-//                                Date parse = simpleDateFormat.parse(s);
-//                                passingStationCollection.setInboundTime(parse);
-//                            } catch (ParseException e) {
-//                                throw new RuntimeException(e);
-//                            }
-//                        }
-//                    }
-//                    List<String> collect2 = checkList.stream()
-//                            .filter(x -> Constants.OUT_BOUND_TIME_CODE.equals(x.getItemCode()))
-//                            .map(ChildVO::getItemValue)
-//                            .collect(Collectors.toList());
-//                    if (CollUtil.isNotEmpty(collect2)){
-//                        String s = collect2.get(0);
-//                        if (StrUtil.isNotBlank(s)){
-//                            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//                            try {
-//                                Date parse = simpleDateFormat.parse(s);
-//                                passingStationCollection.setOutboundTime(parse);
-//                            } catch (ParseException e) {
-//                                throw new RuntimeException(e);
-//                            }
-//                        }
-//                    }
-//                    daPassingStationCollectionService.save(passingStationCollection);
-//                    //鍙傛暟淇濆瓨
-//                    List<DaParamCollection> paramCollectionList = new ArrayList<>();
-//                    for (ChildVO childVO : checkList) {
-//                        DaParamCollection daParamCollection = new DaParamCollection();
-//                        daParamCollection.setWorkOrderNo(omProductionOrdeInfo.getWorkOrderNo());
-//                        daParamCollection.setSfcCode(productNum);
-//                        daParamCollection.setProductCode(omProductionOrdeInfo.getProductCode());
-//                        daParamCollection.setLocationCode(omProductionOrdeInfo.getStationCode());
-//                        daParamCollection.setParamCode(childVO.getItemCode());
-//                        daParamCollection.setParamValue(childVO.getItemValue());
-//                        daParamCollection.setCollectionTime(new Date());
-//                        daParamCollection.setParamName(childVO.getItemText());
-//                        paramCollectionList.add(daParamCollection);
-//                    }
-//                    if (CollUtil.isNotEmpty(paramCollectionList)){
-//                        daParamCollectionService.insertBatch(paramCollectionList);
-//                    }
-//                }
-//            }
-//        }
         ObjectMapper mapper = new ObjectMapper();
         List<ChildVO> li = parentVO.getCheckList();
-        String s = null;
+        String checkList = "";
         try {
-            s = mapper.writeValueAsString(li);
+            checkList = mapper.writeValueAsString(li);
         } catch (JsonProcessingException e) {
             throw new RuntimeException(e);
         }
+        this.saveDaTestDeviceInterface(parentVO,checkList);
+        if(parentVO.getStationCode().equals("M1OP020")){
+            this.saveDaTestDeviceInterfaceTemp(parentVO,checkList);
+        }
+        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+        return AjaxResult.success(execute.body());
+    }
+
+    public void saveDaTestDeviceInterface(ParentVO parentVO,String checkList){
         DaTestDeviceInterface daTestDeviceInterface = new DaTestDeviceInterface();
         daTestDeviceInterface.setRecordId(parentVO.getRecordId());
         daTestDeviceInterface.setStationCode(parentVO.getStationCode());
         daTestDeviceInterface.setProductNum(parentVO.getProductNum());
         daTestDeviceInterface.setTotalResult(parentVO.getTotalResult());
-        daTestDeviceInterface.setCheckList(s);
+        daTestDeviceInterface.setCheckList(checkList);
         daTestDeviceInterface.setCreateTime(new Date());
         daTestDeviceInterfaceService.save(daTestDeviceInterface);
-        if(parentVO.getStationCode().contains("OP480")){
-            if(StringUtils.isNotBlank(parentVO.getProductNum())){
-                OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, parentVO.getProductNum()));
-                if(ObjectUtil.isNotNull(one)){
-                    logger.info("瑙g粦灏忚溅{}锛宲ack鐮佹槸{}"+one.getTrolleyYard(),one.getProductNum());
-                    one.setTrolleyYard("");
-                    omProductionOrdeInfoService.saveOrUpdate(one);
-                }
-            }
-        }
-//        try{
-//            CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
-//                logger.info("寮�濮嬫墽琛屽紓姝ユ柟娉�");
-//                HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
-//                logger.info("寮傛鏂规硶鎵ц缁撴潫");
-//                logger.info("鎺ユ敹娓呯爺锛屾皵瀵嗗紓姝ユ柟娉晎}"+execute.body());
-//            });
-//        }catch (Exception e){
-//            System.out.println(e.getMessage());
-//        }
-        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
-        return AjaxResult.success(execute.body());
+    }
+
+    public void saveDaTestDeviceInterfaceTemp(ParentVO parentVO,String checkList){
+        DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = new DaTestDeviceInterfaceTemp();
+        daTestDeviceInterfaceTemp.setRecordId(parentVO.getRecordId());
+        daTestDeviceInterfaceTemp.setStationCode(parentVO.getStationCode());
+        daTestDeviceInterfaceTemp.setProductNum(parentVO.getProductNum());
+        daTestDeviceInterfaceTemp.setTotalResult(parentVO.getTotalResult());
+        daTestDeviceInterfaceTemp.setCheckList(checkList);
+        daTestDeviceInterfaceTemp.setCreateTime(new Date());
+        daTestDeviceInterfaceTempService.save(daTestDeviceInterfaceTemp);
     }
 
     @GetMapping("/productionWorkOrderRequest")
@@ -212,45 +149,8 @@
         return AjaxResult.success(restFulOrders);
     }
 
-    public static void main(String[] args) {
-        String str = "0RSPB0011A2E3AE5P0000002  2024-05-28 15:48:51";
-        String[] split = str.split("  ");
-        System.out.println(split[0]);
-        System.out.println(split[1]);
-
-    }
-
-    @GetMapping("/getQualityData")
-    public AjaxResult getQualityData(){
-//        List<DaPassingStationCollection> qualified = daPassingStationCollectionService.list(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getOutRsSign, "1"));
-//        List<DaPassingStationCollection> unQualified = daPassingStationCollectionService.list(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getOutRsSign, "2"));
-//        Map<String,Integer> map = new HashMap<>();
-//        map.put("qualified",qualified.size());
-//        map.put("unQualified",unQualified.size());
-        for (BsBeatSetting bsBeatSetting : bsBeatSettingService.list()) {
-            String str = bsBeatSetting.getProductCode();
-            String[] split = str.split("  ");
-            String reportResult = RestfulService.getWorkReportResultFeedback(split[0], "OP500", "2024-06-27 15:48:51");
-            JSONObject jsonObject = new JSONObject(reportResult);
-            String code = jsonObject.getStr("code");
-            String status = jsonObject.getJSONObject("data").getStr("resultCode");
-            if("success".equals(code)&&"S".equals(status)){
-                //濡傛灉鎴愬姛锛屾墽琛屾姤宸ユ垚鍔熸柟娉曪紝淇敼鏄惁鎶ュ伐涓�1锛屾坊鍔犳姤宸ユ椂闂�
-                bsBeatSetting.setProductName("S");
-                this.bsBeatSettingService.saveOrUpdate(bsBeatSetting);
-            }else{
-                bsBeatSetting.setProductName("F");
-                this.bsBeatSettingService.saveOrUpdate(bsBeatSetting);
-            }
-        }
-        return AjaxResult.success();
-    }
-
-
-
     @GetMapping("/productionOrderComponentRequest")
     public AjaxResult productionOrderComponentRequest(BsFormulaChildInfo bsFormulaChildInfo){
-        Map<String,List<String>> map = new HashMap<>();
         List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getProcessesCode())
                 .eq(BsFormulaChildInfo::getOperationType, "2")
@@ -265,90 +165,68 @@
         return AjaxResult.success(requests);
     }
 
-
-    @PostMapping("/pushParamData")
-    public void receivingData(@RequestBody PostEntity postEntity) throws JsonProcessingException {
-//        ObjectMapper objectMapper = new ObjectMapper();
-//        PostEntity person = objectMapper.readValue(postEntity, PostEntity.class);
-
-
-        Class<?> entityClass = PostEntity.class; // 鏇挎崲涓轰綘鐨勫疄浣撶被
-        String packId = postEntity.getPEOL_PackID();
-        OmProductionOrdeInfo one = productionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packId));
-        String productType = "type";
-        String workOrderNo = one.getWorkOrderNo();
-        for (Field field : entityClass.getDeclaredFields()) {
-            String fieldName = field.getName();
-            DaParamCollection daParamCollection = new DaParamCollection();
-            daParamCollection.setWorkOrderNo(workOrderNo);
-            daParamCollection.setProductCode(productType);
-            daParamCollection.setSfcCode(packId);
-            daParamCollection.setParamCode(field.getName());
-            daParamCollection.setParamValue((String) getFieldValue(postEntity, fieldName));
-            if(fieldName.contains("GDBH")){
-                daParamCollection.setParamValue(workOrderNo);
-            }
-            if(fieldName.contains("CPXH")){
-                daParamCollection.setParamValue(productType);
-            }
-            daParamCollectionService.save(daParamCollection);
-        }
-
-    }
-
     /**
      * 鏀捐璇风┖鐘舵��
      */
     @PostMapping("/sendWebSocket")
     public void sendWebSocket(@RequestBody BsFormulaChildInfo bsFormulaChildInfo)
     {
-        WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), bsFormulaChildInfo.getResults());
+        CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
+            logger.info("鎺ユ敹鐢佃姱寮�濮嬫墽琛屽紓姝ユ柟娉�");
+            WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), bsFormulaChildInfo.getResults());
+            logger.info("鎺ユ敹鐢佃姱寮傛鏂规硶鎵ц缁撴潫");
+        });
+//        WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), bsFormulaChildInfo.getResults());
     }
 
     /**
-     * 浣跨敤鍙嶅皠鑾峰彇瀵硅薄鐨勫睘鎬у��
-     *
-     * @param obj       鐩爣瀵硅薄
-     * @param fieldName 灞炴�у悕
-     * @return 灞炴�у�硷紝濡傛灉鑾峰彇澶辫触鍒欒繑鍥瀗ull
+     * 鎺ユ敹鐢佃姱鏁版嵁
      */
-    public static Object getFieldValue(Object obj, String fieldName) {
-        if (obj == null) {
-            throw new IllegalArgumentException("Object must not be null");
-        }
+    @PostMapping("/receivingBatteryCellData")
+    public AjaxResult receivingBatteryCellData(@RequestBody CellDataVo cellDataVo){
         try {
-            Field field = obj.getClass().getDeclaredField(fieldName);
-            field.setAccessible(true); // 璁剧疆鍙闂�э紝浠ヤ究璁块棶绉佹湁瀛楁
-            return field.get(obj);
-        } catch (NoSuchFieldException e) {
-            // 濡傛灉褰撳墠绫绘病鏈夎瀛楁锛屽垯灏濊瘯浠庣埗绫讳腑鑾峰彇
-            Class<?> superClass = obj.getClass().getSuperclass();
-            if (superClass != null && !superClass.equals(Object.class)) {
-                return getFieldValue(obj, fieldName, superClass);
+            ObjectMapper objectMapper = new ObjectMapper();
+            JSONObject jsonObject = new JSONObject(cellDataVo);
+            String cellListString = jsonObject.getStr("cellList");
+            JsonNode cellListNode = objectMapper.readValue(cellListString, JsonNode.class);
+            List<DaCellData> daCellDataList = new ArrayList<>();
+            for (JsonNode jsonNode : cellListNode) {
+                String cellCheckListString = jsonNode.path("cellCheckList").toString();
+                JsonNode cellCheckListNode = objectMapper.readValue(cellCheckListString, JsonNode.class);
+                for (JsonNode checkNode : cellCheckListNode) {
+                    //鐢佃姱鎸′綅
+                    String batteryCellGear = checkNode.path("cellItem").toString().replaceAll("\"", "");
+                    if(batteryCellGear.equals("鐢佃姱妗d綅")){
+                        DaCellData daCellData = new DaCellData();
+                        daCellData.setSiteCode(jsonObject.getStr("siteCode"));
+                        daCellData.setModuleSerial(jsonObject.getStr("moduleSerial"));
+                        daCellData.setModuleModel(jsonObject.getStr("moduleModel"));
+                        daCellData.setAbModule(jsonObject.getStr("ABModule"));
+                        daCellData.setPackageNo(jsonObject.getStr("packageNo"));
+                        daCellData.setSupplierModuleBarcode(jsonObject.getStr("supplierModuleBarcode"));
+                        daCellData.setCustomerModuleBarcode(jsonObject.getStr("customerModuleBarcode"));
+                        daCellData.setCellSerial(jsonNode.path("cellSerial").toString().replaceAll("\"", ""));
+                        daCellData.setCellModel(jsonNode.path("cellModel").toString().replaceAll("\"", ""));
+                        daCellData.setGbCellCode(jsonNode.path("GBCellCode").toString().replaceAll("\"", ""));
+                        daCellData.setGbModuleCode(jsonNode.path("GBModuleCode").toString().replaceAll("\"", ""));
+                        daCellData.setCellItem(checkNode.path("cellItem").toString().replaceAll("\"", ""));
+                        daCellData.setCellValue(checkNode.path("cellValue").toString().replaceAll("\"", ""));
+                        daCellData.setCreateUser("宸ュ巶MES");
+                        daCellData.setCreateTime(new Date());
+                        daCellDataList.add(daCellData);
+                    }
+                }
             }
-            e.printStackTrace();
-        } catch (IllegalAccessException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
+            CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
+                logger.info("鎺ユ敹鐢佃姱寮�濮嬫墽琛屽紓姝ユ柟娉�");
+                daCellDataService.insertBatch(daCellDataList);
+                logger.info("鎺ユ敹鐢佃姱寮傛鏂规硶鎵ц缁撴潫");
+            });
 
-    private static Object getFieldValue(Object obj, String fieldName, Class<?> superClass) {
-        try {
-            Field field = superClass.getDeclaredField(fieldName);
-            field.setAccessible(true);
-            return field.get(obj);
-        } catch (NoSuchFieldException e) {
-            // 濡傛灉鐖剁被涔熸病鏈夎瀛楁锛屽垯缁х画鍚戜笂鏌ユ壘
-            Class<?> grandParentClass = superClass.getSuperclass();
-            if (grandParentClass != null && !grandParentClass.equals(Object.class)) {
-                return getFieldValue(obj, fieldName, grandParentClass);
-            }
-            e.printStackTrace();
-        } catch (IllegalAccessException e) {
-            e.printStackTrace();
+            return AjaxResult.success("API璋冪敤鎴愬姛");
+        }catch (Exception e){
+            return AjaxResult.error("API璋冪敤澶辫触");
         }
-        return null;
     }
 
 }

--
Gitblit v1.9.3