From 4e83fa344f6cba81412fb354e7f32a88a8f34fde Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 09 七月 2024 09:39:11 +0800 Subject: [PATCH] -切换大模组代码更改 --- jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java | 166 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 87 insertions(+), 79 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 e9d9921..a114020 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 @@ -1,14 +1,21 @@ package com.jcdm.main.restful.qingYan.service; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; import com.jcdm.common.core.domain.AjaxResult; +import com.jcdm.common.utils.StringUtils; +import com.jcdm.framework.websocket.WebSocketUsers; +import com.jcdm.main.bs.beatSetting.domain.BsBeatSetting; +import com.jcdm.main.bs.beatSetting.service.IBsBeatSettingService; import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo; import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService; import com.jcdm.main.constant.Constants; @@ -20,21 +27,33 @@ import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService; import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo; import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; +import com.jcdm.main.restful.factoryMes.service.RestfulService; import com.jcdm.main.restful.qingYan.doman.*; +import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.loadtime.Aj; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.websocket.Session; import java.lang.reflect.Field; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; - +@Slf4j @RestController @RequestMapping("/jcdmMes") public class ExternalInterface { + Map<String, Session> map = WebSocketUsers.getUsers(); + + private static final Logger logger = LoggerFactory.getLogger("sys-user"); + + public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + @Autowired private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; @Autowired @@ -52,11 +71,14 @@ @Autowired private IBsFormulaChildInfoService bsFormulaChildInfoService; + @Autowired + private IBsBeatSettingService bsBeatSettingService; + private IDaPassingStationCollectionService passingStationCollectionService; - String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/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"; /** * 瀵煎嚭鐐规浠诲姟鍒楄〃 @@ -64,76 +86,6 @@ @PostMapping("/deviceResultFeedback") public AjaxResult hdy(@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; @@ -148,8 +100,31 @@ daTestDeviceInterface.setProductNum(parentVO.getProductNum()); daTestDeviceInterface.setTotalResult(parentVO.getTotalResult()); daTestDeviceInterface.setCheckList(s); + 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()); +// } + logger.info("鏀跺埌宸ヤ綅{}鐨勬祴璇曡澶囨暟鎹叆鍙俈O{}" + parentVO.getStationCode(),new Gson().toJson(parentVO)); HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); + logger.info("宸ュ巶MES杩斿洖鎶ユ枃{}-宸ヤ綅{}" + execute.body(),parentVO.getStationCode()); return AjaxResult.success(execute.body()); } @@ -164,19 +139,44 @@ order.setMaterialCode(omProductionOrdeInfo.getMaterialCode()); order.setStationCode(omProductionOrdeInfo.getStationCode()); order.setPlanQty(omProductionOrdeInfo.getPlanQty()); + order.setCreateTime(format.format(omProductionOrdeInfo.getCreateTime())); restFulOrders.add(order); } 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()); - return AjaxResult.success(map); +// 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], "", "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(); } @@ -229,6 +229,14 @@ } + /** + * 鏀捐璇风┖鐘舵�� + */ + @PostMapping("/sendWebSocket") + public void sendWebSocket(@RequestBody BsFormulaChildInfo bsFormulaChildInfo) + { + WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), bsFormulaChildInfo.getResults()); + } /** * 浣跨敤鍙嶅皠鑾峰彇瀵硅薄鐨勫睘鎬у�� -- Gitblit v1.9.3