hdy
2025-03-29 1717a12c83db01e3b31ea9ed913e5bacaf9edbf3
billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java
@@ -1,13 +1,26 @@
package com.billion.main.da.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import com.billion.main.constant.Constants;
import com.billion.main.da.domain.CollectQualityData;
import com.billion.main.da.domain.DaParamCollection;
import com.billion.main.da.mapper.DaParamCollectionMapper;
import com.billion.main.da.service.IDaParamCollectionService;
import com.billion.main.om.domain.OmOrderScheduling;
import com.billion.main.om.service.IOmOrderSchedulingService;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.billion.main.da.mapper.DaParamCollectionMapper;
import com.billion.main.da.domain.DaParamCollection;
import com.billion.main.da.service.IDaParamCollectionService;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Objects;
/**
 * 参数采集Service业务层处理
@@ -15,11 +28,21 @@
 * @author Billion-Yi
 * @date 2024-11-20
 */
@Slf4j
@Service
public class DaParamCollectionServiceImpl extends ServiceImpl<DaParamCollectionMapper, DaParamCollection> implements IDaParamCollectionService
public class DaParamCollectionServiceImpl implements IDaParamCollectionService
{
    @Autowired
    private DaParamCollectionMapper daParamCollectionMapper;
    @Autowired
    private IDaParamCollectionService daParamCollectionService;
    @Resource
    private SqlSessionFactory sqlSessionFactory;
    @Autowired
    public IOmOrderSchedulingService omOrderSchedulingService;
    /**
     * 查询参数采集
@@ -54,7 +77,38 @@
    @Override
    public int insertDaParamCollection(DaParamCollection daParamCollection)
    {
        return daParamCollectionMapper.insertDaParamCollection(daParamCollection);
        String url = "http://172.40.161.71:8890/Interaction/CollectQualityData";
        OmOrderScheduling omOrderScheduling = new OmOrderScheduling();
        CollectQualityData collectQualityData = new CollectQualityData();
        omOrderScheduling.setSfcCode(daParamCollection.getSfcCode());
        if(Objects.equals(daParamCollection.getLocationCode(), Constants.PLC1.toString()) ||
                Objects.equals(daParamCollection.getLocationCode(), Constants.C005) ||
                Objects.equals(daParamCollection.getLocationCode(), Constants.C060))
        {omOrderScheduling.setRemarks("Head");}
        else if(Objects.equals(daParamCollection.getLocationCode(), Constants.PLC2.toString()) ||
                Objects.equals(daParamCollection.getLocationCode(), Constants.OP005) ||
                Objects.equals(daParamCollection.getLocationCode(), Constants.OP310))
        {omOrderScheduling.setRemarks("Body");}
        else if(Objects.equals(daParamCollection.getLocationCode(), Constants.P010))
        {omOrderScheduling.setRemarks("Pre");}
        List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling);
        daParamCollectionMapper.insertDaParamCollection(daParamCollection);
        collectQualityData.setOrderNumber(omOrderSchedulingList.get(0).getWorkOrderNo());
        collectQualityData.setStationName(daParamCollection.getLocationCode());
        collectQualityData.setEngineNumber(daParamCollection.getSfcCode());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        collectQualityData.setInsertTime(sdf.format(daParamCollection.getCollectTime()));
        collectQualityData.setDetectionName(daParamCollection.getParamName());
        collectQualityData.setActualValue(daParamCollection.getParamValue());
        try {
            HttpResponse response = HttpRequest.post(url).body(JSONUtil.toJsonStr(collectQualityData)).execute();
            log.info("推送成功,响应报文: {}", response);
        } catch (Exception e) {
            // 记录日志
            log.error("推送失败, sfcCode: {}",collectQualityData.getFactoryNumber());
        }
        return 0;
    }
    /**
@@ -92,4 +146,24 @@
    {
        return daParamCollectionMapper.deleteDaParamCollectionById(id);
    }
    @Override
    public void saveBeachDaParamCollection(List<DaParamCollection> list) {
        // ExecutorType.SIMPLE: 这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。
        // ExecutorType.REUSE: 这个执行器类型会复用预处理语句。
        // ExecutorType.BATCH: 这个执行器会批量执行所有更新语句,如果 SELECT 在它们中间执行还会标定它们是 必须的,来保证一个简单并易于理解的行为。
        // 关闭session的自动提交
        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
        try {
            DaParamCollectionMapper userMapper = sqlSession.getMapper(DaParamCollectionMapper.class);
            list.stream().forEach(DaParamCollection -> userMapper.insertDaParamCollection(DaParamCollection));
            // 提交数据
            sqlSession.commit();
            sqlSession.rollback();
        } catch (Exception e) {
            sqlSession.rollback();
        } finally {
            sqlSession.close();
        }
    }
}