| | |
| | | package com.jcdm.main.da.paramCollection.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.db.Db; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.jcdm.common.utils.DateUtils; |
| | | import com.jcdm.main.bs.formula.service.IBsFormulaInfoService; |
| | | import com.jcdm.main.bs.formula.service.impl.BsFormulaInfoServiceImpl; |
| | | 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.da.collectionParamConf.domain.DaCollectionParamConf; |
| | | import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper; |
| | | 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.passingStationCollection.domain.DaPassingStationCollection; |
| | | 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.kangaroohy.milo.model.ReadWriteEntity; |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | 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 javax.annotation.Resource; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | * @date 2023-12-13 |
| | | */ |
| | | @Service |
| | | public class DaParamCollectionServiceImpl implements IDaParamCollectionService |
| | | public class DaParamCollectionServiceImpl extends ServiceImpl<DaParamCollectionMapper,DaParamCollection> implements IDaParamCollectionService |
| | | { |
| | | @Autowired |
| | | private DaParamCollectionMapper daParamCollectionMapper; |
| | | |
| | | @Autowired |
| | | private DaCollectionParamConfMapper daCollectionParamConfMapper; |
| | | |
| | | @Autowired |
| | | private BsFormulaChildInfoMapper bsFormulaChildInfoMapper; |
| | | |
| | | @Autowired |
| | | private IBsFormulaChildInfoService bsFormulaChildInfoService; |
| | | |
| | | @Autowired |
| | | private MiloService miloService; |
| | | |
| | | @Autowired |
| | | private DaPassingStationCollectionMapper daPassingStationCollectionMapper; |
| | | |
| | | @Resource |
| | | private SqlSessionFactory sqlSessionFactory; |
| | | |
| | | @Autowired |
| | | private IDaParamCollectionService daParamCollectionService; |
| | | |
| | | /** |
| | | * 查询设备产品过程参数采集 |
| | |
| | | public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection) |
| | | { |
| | | return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection); |
| | | } |
| | | |
| | | @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(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); |
| | | daCollectionParamConf.setCollectParameterId(key); |
| | | List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); |
| | | |
| | | DaParamCollection saveData = new DaParamCollection(); |
| | | saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); |
| | | saveData.setProductCode(daParamCollection.getProductCode()); |
| | | saveData.setLocationCode(daParamCollection.getLocationCode()); |
| | | saveData.setSfcCode(daParamCollection.getProductBarcode()); |
| | | saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); |
| | | saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); |
| | | saveData.setCollectionTime(new Date()); |
| | |
| | | |
| | | @Override |
| | | public void addTighteningParameters(DaParamCollection daParamCollection) { |
| | | String str = daParamCollection.getTightenTheArray(); |
| | | str = str.replace("[", "").replace("]", "").replace(" ", ""); |
| | | String[] parts = str.split(","); |
| | | String value1 = parts[0]; |
| | | String value2 = parts[2]; |
| | | String tightenData = daParamCollection.getTightenTheArray(); |
| | | tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", ""); |
| | | String[] tightenDataParts = tightenData.split(","); |
| | | String paramCode = daParamCollection.getParamCode(); |
| | | String[] paramCodeParts = paramCode.split(","); |
| | | for (int i = 0; i < paramCodeParts.length; i++) { |
| | | daParamCollection.setParamValue(tightenDataParts[i]); |
| | | daParamCollection.setParamCode(paramCodeParts[i]); |
| | | daParamCollection.setCollectionTime(new Date()); |
| | | daParamCollection.setSfcCode(daParamCollection.getProductBarcode()); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | } |
| | | } |
| | | |
| | | System.out.println("value1: " + value1); |
| | | System.out.println("value2: " + value2); |
| | | @Override |
| | | public void saveCampaignTimeParameters(DaParamCollection daParamCollection) { |
| | | List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getSpareField4, "1") |
| | | ); |
| | | if(!list.get(0).getResults().equals("OK")){ |
| | | try { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(22).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return; |
| | | } |
| | | BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo(); |
| | | bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode()); |
| | | bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode()); |
| | | bsFormulaChildInfo.setSpareField4("1"); |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo); |
| | | String result = bsFormulaChildInfos.get(0).getResults(); |
| | | if(result != null && !result.isEmpty()){ |
| | | try { |
| | | //过站参数采集记录出站时间 |
| | | DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); |
| | | daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); |
| | | daCollectionParamConf.setCollectParameterId("OUTT"); |
| | | List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); |
| | | DaParamCollection saveData = new DaParamCollection(); |
| | | saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); |
| | | saveData.setProductCode(daParamCollection.getProductCode()); |
| | | saveData.setLocationCode(daParamCollection.getLocationCode()); |
| | | saveData.setSfcCode(daParamCollection.getProductBarcode()); |
| | | saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); |
| | | saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); |
| | | saveData.setCollectionTime(new Date()); |
| | | saveData.setParamValue(DateUtil.formatDateTime(new Date())); |
| | | daParamCollectionMapper.insertDaParamCollection(saveData); |
| | | |
| | | // DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); |
| | | // daCollectionParamConf.setProductCode(daParamCollection.getProductCode()); |
| | | // daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); |
| | | // daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | //更新过站记录表出站时间 |
| | | DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); |
| | | daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo()); |
| | | daPassingStationCollection.setLocationCode(daParamCollection.getLocationCode()); |
| | | List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); |
| | | daPassingStationCollections.get(0).setOutboundTime(new Date()); |
| | | int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); |
| | | |
| | | // OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode()); |
| | | |
| | | //给opc发21 |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void insertBatch(List<DaParamCollection> confList){ |
| | | try{ |
| | | this.saveBatch(confList); |
| | | }catch (Exception e){ |
| | | return; |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void replaceAssemblyCode(DaParamCollection daParamCollection) { |
| | | List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>() |
| | | .eq(DaParamCollection::getSfcCode, daParamCollection.getYzSfcCode()) |
| | | ); |
| | | if(list.size() > 0){ |
| | | for (DaParamCollection paramCollection : list) { |
| | | paramCollection.setSfcCode(daParamCollection.getSfcCode()); |
| | | daParamCollectionService.saveOrUpdate(paramCollection); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void yzAddBasicParameters(DaParamCollection daParamCollection) { |
| | | // 假设这是从数据库或其他地方获取的参数数据 |
| | | Map<String, String> map = new HashMap<>(); |
| | | // map.put("GC", "南浔工厂"); |
| | | // map.put("CXBH", "Pack线"); |
| | | // map.put("SBBH", "设备001"); |
| | | // map.put("YGBH", "员工001"); |
| | | // map.put("GDBH", daParamCollection.getWorkOrderNo()); |
| | | // map.put("CPXH", daParamCollection.getModel()); |
| | | map.put("INT", DateUtil.formatDateTime(new Date())); |
| | | |
| | | map.forEach((key, value) -> { |
| | | DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); |
| | | daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); |
| | | daCollectionParamConf.setCollectParameterId(key); |
| | | List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); |
| | | DaParamCollection saveData = new DaParamCollection(); |
| | | saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); |
| | | saveData.setProductCode(daParamCollection.getProductCode()); |
| | | saveData.setLocationCode(daParamCollection.getLocationCode()); |
| | | saveData.setSfcCode(daParamCollection.getProductBarcode()); |
| | | saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); |
| | | saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); |
| | | saveData.setCollectionTime(new Date()); |
| | | saveData.setParamValue(value); |
| | | daParamCollectionMapper.insertDaParamCollection(saveData); |
| | | }); |
| | | } |
| | | } |