From 7a08677172276853ea984a26b76bae0e88ab00ed Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期六, 27 四月 2024 09:18:33 +0800 Subject: [PATCH] - --- jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 91 insertions(+), 11 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java index 3081f83..9fea30c 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java @@ -1,18 +1,31 @@ package com.jcdm.main.bs.formulaChild.service.impl; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jcdm.common.core.domain.AjaxResult; import com.jcdm.common.utils.DateUtils; +import com.jcdm.framework.websocket.WebSocketUsers; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; +import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; +import com.kangaroohy.milo.model.ReadWriteEntity; +import com.kangaroohy.milo.service.MiloService; import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper; import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo; import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService; + +import javax.websocket.Session; /** * 閰嶆柟閰嶇疆瀛愪俊鎭疭ervice涓氬姟灞傚鐞� @@ -21,13 +34,24 @@ * @date 2023-12-26 */ @Service -public class BsFormulaChildInfoServiceImpl implements IBsFormulaChildInfoService +public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService { @Autowired private BsFormulaChildInfoMapper bsFormulaChildInfoMapper; @Autowired + private IBsFormulaChildInfoService bsFormulaChildInfoService; + + @Autowired private DaParamCollectionMapper daParamCollectionMapper; + + @Autowired + private MiloService miloService; + + @Autowired + private DaPassingStationCollectionMapper daPassingStationCollectionMapper; + + Map<String, Session> map = WebSocketUsers.getUsers(); /** * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭� @@ -125,26 +149,46 @@ return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo); } + //1-闈炴湰宸ヤ綅鐗╂枡 2-姝e父鎵弿鍙户缁笅娆� 3-鎵弿缁撴潫宸茬粡鏄渶鍚庝竴浣嶅伐姝� @Override public AjaxResult updateResults(BsFormulaChildInfo bsFormulaChildInfo) { - BsFormulaChildInfo checkInfo = new BsFormulaChildInfo(); - checkInfo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); - checkInfo.setProductCode(bsFormulaChildInfo.getProductCode()); - bsFormulaChildInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode().substring(1,2)); - List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo); + String result = ""; + List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>(); + List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() + .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) + .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()) + .eq(BsFormulaChildInfo::getOperationType, "2") + ); + for (BsFormulaChildInfo formulaChildInfo : infos) { + if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){ + bsFormulaChildInfos.add(formulaChildInfo); + break; + } + } if(bsFormulaChildInfos.size()>0){ + String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); + bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode()); bsFormulaChildInfos.get(0).setResults("OK"); bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode()); bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); addParameterCollection(bsFormulaChildInfo); -// BsFormulaChildInfo count = bsFormulaChildInfoMapper.getCount(checkInfo); -// Integer i = count.getCounts(); + if (spareField4 != null && !spareField4.isEmpty()) { + // 鎵ц鎿嶄綔 + if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ + try { + result = "3"; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } }else { - return AjaxResult.error("闈炴湰宸ヤ綅鐗╂枡锛岃閲嶆柊鎵弿"); + result = "1"; } - return AjaxResult.success("鎴愬姛"); + return AjaxResult.success(result); } public void addParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){ @@ -161,12 +205,29 @@ @Override public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { - bsFormulaChildInfoMapper.workpieceRelease(bsFormulaChildInfo); + List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() + .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) + .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); + for (BsFormulaChildInfo info : list) { + info.setCollectData(""); + info.setResults(""); + bsFormulaChildInfoService.saveOrUpdate(info); + } return AjaxResult.success(); } @Override public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { + BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); + getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); + getMaterTwo.setOperationType("2"); + List<BsFormulaChildInfo> operationType = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(getMaterTwo); + List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList()); + for (String s : collect) { + if(s.equals("")){ + return AjaxResult.error("鎵弿鏈畬鎴愶紝绂佹鎷х揣鎿嶄綔锛�"); + } + } BsFormulaChildInfo listQuery = new BsFormulaChildInfo(); listQuery.setParamCode(bsFormulaChildInfo.getParamCode()); String paramCode = bsFormulaChildInfo.getTightenTheArray(); @@ -181,6 +242,25 @@ bsFormulaChildInfos.get(0).setResults("OK"); bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); + String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); + if (spareField4 != null && !spareField4.isEmpty()) { + // 鎵ц鎿嶄綔 + if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ + try { +// //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� +// DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); +// daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); +// List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); +// daPassingStationCollections.get(0).setOutboundTime(new Date()); +// daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build()); + WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + } return AjaxResult.success("鎵弿鎴愬姛锛�"); } -- Gitblit v1.9.3