-
admin
2024-06-18 bdb4046a1ed5358a94cc9ce846f2a1ec88e5d5ec
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -25,6 +25,8 @@
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
import com.jcdm.main.da.paramCollectionTemp.domain.DaParamCollectionTemp;
import com.jcdm.main.da.paramCollectionTemp.service.IDaParamCollectionTempService;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
@@ -34,9 +36,12 @@
import com.jcdm.main.restful.qingYan.doman.ParentVO;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
@@ -53,9 +58,12 @@
 * @author yyt
 * @date 2023-12-13
 */
@Slf4j
@Service
public class DaParamCollectionServiceImpl extends ServiceImpl<DaParamCollectionMapper,DaParamCollection> implements IDaParamCollectionService
{
    private static final Logger logger = LoggerFactory.getLogger("sys-user");
    @Autowired
    private DaParamCollectionMapper daParamCollectionMapper;
@@ -82,6 +90,9 @@
    @Autowired
    private IDaCollectionParamConfService daCollectionParamConfService;
    @Autowired
    private IDaParamCollectionTempService daParamCollectionTempService;
    public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -114,6 +125,7 @@
        // ExecutorType.SIMPLE: 这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。
        // ExecutorType.REUSE: 这个执行器类型会复用预处理语句。
        // ExecutorType.BATCH: 这个执行器会批量执行所有更新语句,如果 SELECT 在它们中间执行还会标定它们是 必须的,来保证一个简单并易于理解的行为。
        logger.info("进入乐工批量方法saveBeachDaParamCollection");
        // 关闭session的自动提交
        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
@@ -123,6 +135,8 @@
            // 提交数据
            sqlSession.commit();
            sqlSession.rollback();
            logger.info("结束乐工批量方法saveBeachDaParamCollection");
        } catch (Exception e) {
            sqlSession.rollback();
        } finally {
@@ -224,6 +238,14 @@
                daParamCollection.setCollectionTime(new Date());
                daParamCollection.setSfcCode(daParamCollection.getProductBarcode());
                daParamCollectionMapper.insertDaParamCollection(daParamCollection);
                DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp();
                daParamCollectionTemp.setParamValue(tightenDataParts[i]);
                daParamCollectionTemp.setParamCode(paramCodeParts[i]);
                daParamCollectionTemp.setCollectionTime(new Date());
                daParamCollectionTemp.setSfcCode(daParamCollection.getProductBarcode());
                daParamCollectionTemp.setLocationCode(daParamCollection.getLocationCode());
                daParamCollectionTempService.save(daParamCollectionTemp);
            }
        }
    }
@@ -389,8 +411,8 @@
    public void sendToFactoryMes(String stationCode,String productNum ){
        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-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
        String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
        ParentVO vo =new ParentVO();
        List<ChildVO> checkList = new ArrayList<>();
        List<DaParamCollection> list = this.list(new LambdaQueryWrapper<DaParamCollection>()
@@ -441,11 +463,78 @@
    @Override
    public void pushGeelycvMesFeedback(String packID, String stationCode) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        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-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 totalResult = "0";
        List<DaParamCollection> paramList = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getSfcCode, packID).eq(DaParamCollection::getLocationCode, stationCode));
        List<DaParamCollectionTemp> paramList = daParamCollectionTempService.list(new LambdaQueryWrapper<DaParamCollectionTemp>().eq(DaParamCollectionTemp::getSfcCode, packID).eq(DaParamCollectionTemp::getLocationCode, stationCode));
        if(paramList.size() > 0){
            ParentVO parentVO = new ParentVO();
            parentVO.setSiteCode("3983");
            parentVO.setRecordId(String.valueOf(Instant.now().toEpochMilli()));
            parentVO.setStationCode(stationCode);
            parentVO.setProductNum(packID);
            parentVO.setTotalResult("1");
            List<ChildVO> listChildVo = new ArrayList<>();
            for (DaParamCollectionTemp daParamCollection : paramList) {
                ChildVO childVO = new ChildVO();
                childVO.setItemCode(daParamCollection.getParamCode());
//                BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode()));
//                DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
                List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
                DaCollectionParamConf paramConfOne = paramConfOneList.get(0);
//                if(childOne!=null){
//                    String operationType = childOne.getOperationType();
//                    if(operationType.equals("1")){
//                        childVO.setItemType("2");
//                    }else if(operationType.equals("2")){
//                        childVO.setItemType("1");
//                    }
//                }else {
//                    childVO.setItemType("3");
//                }
                if(paramConfOne!=null){
                    childVO.setItemType(paramConfOne.getSpareField1());
                    childVO.setItemText(paramConfOne.getCollectParameterName());
                }else {
                    childVO.setItemType("3");
                    childVO.setItemText("");
                }
                childVO.setItemValue(daParamCollection.getParamValue());
                if(daParamCollection.getParamValue().equals("1")){
                    childVO.setCheckResult("1");
                }else if(daParamCollection.getParamValue().equals("2")){
                    childVO.setCheckResult("0");
                    parentVO.setTotalResult("0");
                    totalResult = "1";
                }else {
                    childVO.setCheckResult("1");
                }
                childVO.setCheckTime(format.format(daParamCollection.getCollectionTime()));
                listChildVo.add(childVO);
            }
            parentVO.setCheckList(listChildVo);
            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
            List<Long> idsList = paramList.stream().map(DaParamCollectionTemp::getId).collect(Collectors.toList());
            Long[] array = idsList.toArray(new Long[0]);
            daParamCollectionTempService.deleteDaParamCollectionTempByIds(array);
            System.out.println(execute.body());
            System.out.println("-----------------------"+totalResult);
        }
    }
    @Override
    public void automaticWorkstationPushGeelycvMesFeedback(String packID, String stationCode,List<DaParamCollection> paramList) {
        logger.info("进入工位{}-工厂MES推送数据方法automaticWorkstationPushGeelycvMesFeedback",stationCode);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        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 totalResult = "0";
        if(paramList.size() > 0){
            logger.info("进入工位{}-拼数据",stationCode);
            ParentVO parentVO = new ParentVO();
            parentVO.setSiteCode("3983");
            parentVO.setRecordId(String.valueOf(Instant.now().toEpochMilli()));
@@ -457,8 +546,10 @@
            for (DaParamCollection daParamCollection : paramList) {
                ChildVO childVO = new ChildVO();
                childVO.setItemCode(daParamCollection.getParamCode());
                BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode()));
                DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
//                BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode()));
//                DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
                List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
                DaCollectionParamConf paramConfOne = paramConfOneList.get(0);
//                if(childOne!=null){
//                    String operationType = childOne.getOperationType();
//                    if(operationType.equals("1")){
@@ -491,25 +582,62 @@
                listChildVo.add(childVO);
            }
            parentVO.setCheckList(listChildVo);
            logger.info("结束工位{}-拼数据",stationCode);
            logger.info("进入工位{}-工厂MES推送数据方法HttpResponseSend",stationCode);
            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
            logger.info("结束工位{}-工厂MES推送数据方法HttpResponseSend",stationCode);
            System.out.println(execute.body());
            System.out.println("-----------------------"+totalResult);
        }
        logger.info("结束工位{}-工厂MES推送数据方法automaticWorkstationPushGeelycvMesFeedback",stationCode);
    }
    @Override
    public AjaxResult checkRecordDataDone(DaParamCollection daParamCollection) {
        String result = "";
        try {
            Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".RecordDataDone").getValue();
            List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getSpareField4, "1").eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode()));
            if(list.size()>0){
                String results = list.get(0).getResults();
                if(results!= null && !results.equals("") && results.equals("OK")){
                    result = "21";
                }
            }
            /*Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".RecordDataDone").getValue();
            if(ObjectUtil.isNotNull(recordDataDone)){
                result = recordDataDone.toString();
            }
            }*/
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return AjaxResult.success(result);
    }
    @Override
    public void enterWeighing(DaParamCollection daParamCollection) {
        String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
        long timestampMillis = Instant.now().toEpochMilli();
        ParentVO parentVO = new ParentVO();
        ChildVO childVO = new ChildVO();
        List<ChildVO> childVOList = new ArrayList<>();
        childVO.setItemCode("PWD_PW");
        childVO.setItemType("3");
        childVO.setItemText("Pack重量值");
        childVO.setItemValue(daParamCollection.getWeightValue());
        childVO.setCheckTime(format.format(new Date()));
        childVO.setCheckResult("1");
        childVOList.add(childVO);
        parentVO.setSiteCode("3983");
        parentVO.setRecordId(""+timestampMillis);
        parentVO.setStationCode("OP500");
        parentVO.setProductNum(daParamCollection.getSfcCode());
        parentVO.setTotalResult("1");
        parentVO.setCheckList(childVOList);
        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
        RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"OP500",format.format(new Date()));
        System.out.println(execute.body());
    }
}