wujian
2024-05-13 6a462fcca2e65cc3a38ed79522d966306756341f
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -1,7 +1,12 @@
package com.jcdm.main.da.paramCollection.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.db.Db;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.common.utils.DateUtils;
@@ -10,6 +15,7 @@
import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper;
import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService;
import com.jcdm.main.constant.Constants;
import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper;
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
@@ -19,6 +25,8 @@
import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import com.jcdm.main.plcserver.sub.OPCUaSubscription;
import com.jcdm.main.restful.qingYan.doman.ChildVO;
import com.jcdm.main.restful.qingYan.doman.ParentVO;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import org.apache.ibatis.session.ExecutorType;
@@ -29,6 +37,7 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 设备产品过程参数采集Service业务层处理
@@ -352,4 +361,54 @@
            throw new RuntimeException(e);
        }
    }
    public void sendToFactoryMes(String stationCode,String productNum ){
        String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
        ParentVO vo =new ParentVO();
        List<ChildVO> checkList = new ArrayList<>();
        List<DaParamCollection> list = this.list(new LambdaQueryWrapper<DaParamCollection>()
                .eq(DaParamCollection::getSfcCode, productNum)
                .eq(DaParamCollection::getLocationCode, stationCode));
        vo.setTotalResult("1");
        String string = new Random(10).toString();
        vo.setRecordId(string);
        vo.setProductNum(productNum);
        vo.setSiteCode("3983");
        vo.setStationCode(stationCode);
        if (CollUtil.isNotEmpty(list)){
            List<DaParamCollection> collect = list.stream().filter(x -> Constants.NG.equals(x.getParamValue())).collect(Collectors.toList());
            if (CollUtil.isNotEmpty(collect)){
                vo.setTotalResult("0");
            }
            List<BsFormulaChildInfo> bsFormulaChildInfoList = bsFormulaChildInfoService.list();
            for (DaParamCollection daParamCollection : list) {
                ChildVO childVO = new ChildVO();
                childVO.setItemCode(daParamCollection.getParamCode());
                String time = daParamCollection.getCollectionTime() != null ? daParamCollection.getCollectionTime().toString() : "";
                childVO.setCheckResult("1");
                if (StrUtil.isNotBlank(daParamCollection.getParamValue())){
                    if (Constants.NG.equals(daParamCollection.getParamValue())){
                        childVO.setCheckResult("0");
                    }
                }
                childVO.setCheckTime(time);
                childVO.setItemValue(daParamCollection.getParamValue());
                childVO.setItemType("3");
                childVO.setItemText(daParamCollection.getParamName());
                if (StrUtil.isNotBlank(daParamCollection.getParamCode())){
                    List<BsFormulaChildInfo> collect1 = bsFormulaChildInfoList.stream().filter(x -> daParamCollection.getParamCode().equals(x.getParamCode())).collect(Collectors.toList());
                    if (CollUtil.isNotEmpty(collect1)){
                        BsFormulaChildInfo bsFormulaChildInfo = collect1.get(0);
                        childVO.setItemType(bsFormulaChildInfo.getOperationType());
                    }
                }
                checkList.add(childVO);
            }
        }
        vo.setCheckList(checkList);
        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(vo)).execute();
    }
}