cl
2024-07-21 ddf2c28b00b38469c9119dcad42d986f849bc62d
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
@@ -27,6 +27,8 @@
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;
@@ -68,19 +70,8 @@
    @Autowired
    private IDaCellDataService daCellDataService;
    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";
    /**
     * 20工位接收清研数据
     */
    @PostMapping("/receiveOVCDataFrom020Workstations")
    public AjaxResult receiveOVCDataFrom020Workstations(@RequestBody ParentVO parentVO)
    {
        return AjaxResult.success(null);
    }
    @Autowired
    private IDaTestDeviceInterfaceTempService daTestDeviceInterfaceTempService;
    /**
     * 导出点检任务列表
@@ -90,32 +81,40 @@
    {
        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(Constants.FACTORY_EMS_UAT_GET_RUL+"deviceResultFeedback").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("解绑小车{},pack码是{}"+one.getTrolleyYard(),one.getProductNum());
                    one.setTrolleyYard("");
                    omProductionOrdeInfoService.saveOrUpdate(one);
                }
            }
        }
        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")
@@ -157,43 +156,62 @@
    @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());
    }
    /**
     * 接收电芯数据
     */
    @PostMapping("/receivingBatteryCellData")
    public void receivingBatteryCellData(@RequestBody CellDataVo cellDataVo) throws JsonProcessingException {
        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) {
                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);
    public AjaxResult receivingBatteryCellData(@RequestBody CellDataVo cellDataVo){
        try {
            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("电芯档位")){
                        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);
                    }
                }
            }
            CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
                logger.info("接收电芯开始执行异步方法");
                daCellDataService.insertBatch(daCellDataList);
                logger.info("接收电芯异步方法执行结束");
            });
            return AjaxResult.success("API调用成功");
        }catch (Exception e){
            return AjaxResult.error("API调用失败");
        }
        daCellDataService.insertBatch(daCellDataList);
    }
}