admin
2024-07-09 4e83fa344f6cba81412fb354e7f32a88a8f34fde
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
@@ -5,13 +5,17 @@
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;
@@ -23,6 +27,7 @@
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;
@@ -66,6 +71,9 @@
    @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";
@@ -78,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;
@@ -184,7 +122,9 @@
//        }catch (Exception e){
//            System.out.println(e.getMessage());
//        }
        logger.info("收到工位{}的测试设备数据入参VO{}" + 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());
    }
@@ -205,14 +145,38 @@
        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();
    }