From 4a5f2a21686b42761cccb4c64a6fcaaf778f071a Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期三, 08 五月 2024 19:50:48 +0800 Subject: [PATCH] - --- jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java | 193 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 179 insertions(+), 14 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java index 6be9b13..4e182b7 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java @@ -1,15 +1,33 @@ 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.*; /** @@ -19,13 +37,31 @@ * @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; /** * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦 @@ -49,6 +85,27 @@ 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(); + } } /** @@ -118,11 +175,11 @@ 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()); @@ -133,19 +190,127 @@ @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()); + + //缁檕pc鍙�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); + }); } } -- Gitblit v1.9.3