From 09be761e45c76c095ddbae1c401d780bae162fdd Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 09 五月 2024 19:20:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 300 insertions(+), 0 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
new file mode 100644
index 0000000..d139f5f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -0,0 +1,300 @@
+package com.mes.downstorage.service.impl;
+
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.common.PLCAutoMes;
+import com.mes.common.S7control;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.service.DownGlassTaskService;
+import com.mes.downstorage.entity.DownStorageCage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+import com.mes.downstorage.mapper.DownStorageCageMapper;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downstorage.service.DownStorageCageService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.pp.entity.OptimizeDetail;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Slf4j
+@Service
+public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
+ @Autowired(required=false)
+ private DownStorageCageMapper downStorageCageMapper;
+
+ @Autowired
+ private GlassInfoService glassInfoService;
+
+ @Autowired
+ private DownGlassTaskService downGlassTaskService;
+ @Autowired
+ private DownStorageCageDetailsService downStorageCageDetailsService;
+ @Autowired
+ private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) {
+ DownGlassTask downGlassTask = new DownGlassTask();
+
+ BeanUtils.copyProperties(glassInfo,downGlassTask);
+
+ downGlassTask.setStartCell(startCell);
+ downGlassTask.setTaskType(taskType);
+ downGlassTask.setEndCell(endCell);
+ return downGlassTask;
+ }
+
+
+ public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell,String taskType ) {
+ DownGlassTask downGlassTask = new DownGlassTask();
+
+ BeanUtils.copyProperties(glassInfo,downGlassTask);
+ downGlassTask.setStartCell(startCell);
+ downGlassTask.setTaskType(taskType);
+ downGlassTask.setEndCell(endCell);
+ return downGlassTask;
+ }
+
+
+ @Override
+ public boolean processInto(String Number) {
+
+ //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+ GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ //瀛樺湪姝ょ幓鐠冪紪鍙�
+ if (GlassInfo != null) {
+ //鍚屾壘鍒板悓娴佺▼鍗¢檮杩戠┖鏍�
+ List<DownStorageCageDetails> list = selectCacheEmpty();
+
+ if (list.size() > 0) {
+ //瀛樺湪绌烘牸
+ //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級
+ //2.鍥炲 1杩涚墖
+ DownStorageCageDetails item = list.get(0);
+
+ //selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
+
+ DownGlassTask downGlassTask = createDownGlassTask(GlassInfo,"0",item.getSlot()+"","1");
+
+ downGlassTaskService.insertCacheTask(downGlassTask);
+
+ //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
+
+
+ //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛�
+ return true;
+ }
+
+ } else {
+ // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず
+ }
+ //杩斿洖缁撴灉
+ return false;
+ }
+
+
+ /**
+ * 鐞嗙墖 鍑�
+ * @return
+ */
+ //
+ @Override
+ public boolean processOut() {
+ // 鏌ヨ浠诲姟
+
+
+ // PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+
+ List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1, 5);
+ List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(6, 10);
+ List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 10);
+
+
+
+ // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
+
+ if (!list3.isEmpty()) {
+ DownStorageCageDetails item3 = list3.get(0);
+ if (item3.getHeight() >= 1 && item3.getWidth() >= 1) {
+
+ String endcell = "13";
+ String SendEndcell = "1";
+
+
+
+ DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
+
+ downGlassTaskService.insertCacheTask(downGlassTask);
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ }
+
+
+ //濡傛灉鍚屾椂鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦
+ else if (!list2.isEmpty()&&!list3.isEmpty()) {
+
+ DownStorageCageDetails item3 = list2.get(0);
+ String endcell = "11";
+ String SendEndcell = "1";
+
+ DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
+ downGlassTaskService.insertCacheTask(downGlassTask);
+
+ //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+ //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+
+ }
+ // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖
+ else if (!list.isEmpty()) {
+ DownStorageCageDetails item = list.get(0);
+
+ // 鍑哄埌 G06
+
+
+ DownGlassTask downGlassTask =createDownGlassTask(item,"0","06","2");
+ downGlassTaskService.insertCacheTask(downGlassTask);
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+
+ // 鎸夌収澶у皬绗﹀悎鍚庣鍑虹墖
+ } else if (!list2.isEmpty()) {
+ DownStorageCageDetails item2 = list2.get(0);
+
+ // 鍑哄埌 G11
+
+ DownGlassTask downGlassTask =createDownGlassTask(item2,"0","11","2");
+ downGlassTaskService.insertCacheTask(downGlassTask);
+
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+ // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+
+
+ }
+
+
+
+ // 杩斿洖缁撴灉
+ return false;
+ }
+
+ //鎵惧埌绌烘牸瀛�
+ @Override
+ public List<DownStorageCageDetails> selectCacheEmpty() {
+ return baseMapper.selectJoinList(DownStorageCageDetails.class,
+ JoinWrappers.lambda(DownStorageCage.class)
+ .selectAll(DownStorageCage.class)
+ .select(DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getGlassId)
+ .leftJoin(DownStorageCageDetails.class, on -> on
+ .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot))
+ .isNull(DownStorageCageDetails::getSlot)
+ );
+ }
+
+
+ @Override
+ public List<Map<String, Object>> selectDownStorageCages() {
+ return baseMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCage.class)
+ .selectAll(DownStorageCage.class)
+ .selectAs(DownStorageCageDetails::getId, "esdId")
+ .select(DownStorageCageDetails::getGlassId, DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getId)
+ .leftJoin(DownStorageCageDetails.class, on -> on
+ .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot))
+ );
+
+ }
+
+ /**
+ * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
+ * @param downStorageCage
+ * @return
+ */
+ @Override
+ public boolean updateDownStorageCage(DownStorageCage downStorageCage){
+ DownStorageCage downItem=baseMapper.selectById(downStorageCage.getId());
+ downItem.setEnableState(downStorageCage.getEnableState());
+ baseMapper.updateById(downItem);
+ return true;
+ }
+
+ /**
+ *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+ * @param downStorageCageId
+ * @param downStorageCageDetails
+ * @return
+ */
+ @Override
+ public boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails){
+ DownStorageCage downItem=baseMapper.selectById(downStorageCageId);
+ log.info("姝e父"+downItem);
+ if(downStorageCageDetails !=null){
+ DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
+ //娣诲姞
+ if(edgDItem!=null){
+ //鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠�
+ DownStorageCageDetails newresult=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
+ newresult.setSlot(downItem.getSlot());
+ downStorageCageDetailsMapper.updateById(newresult);
+ }
+ }
+
+ if (downItem!=null){
+ //绉婚櫎
+ DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId));
+ if (result!=null){
+ result.setSlot(0);
+ downStorageCageDetailsMapper.updateById(result);
+ }
+
+ }
+ return true;
+ }
+
+}
--
Gitblit v1.8.0