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