From 3debb9073e9fde7ae118a8844ad54a86ee69cd44 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 07 十一月 2024 09:48:00 +0800
Subject: [PATCH] 1、将原片相关代码提取到公共模块,解决模块间调用异常
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 308 +++++++++++++++++++-------------------------------
1 files changed, 119 insertions(+), 189 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
index ca5df21..b204f0c 100644
--- 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
@@ -1,22 +1,24 @@
package com.mes.downstorage.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
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.entity.request.CacheWornRequest;
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;
@@ -27,7 +29,7 @@
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -36,7 +38,7 @@
@Slf4j
@Service
public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
- @Autowired(required=false)
+ @Autowired(required = false)
private DownStorageCageMapper downStorageCageMapper;
@Autowired
@@ -48,47 +50,26 @@
private DownStorageCageDetailsService downStorageCageDetailsService;
@Autowired
private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
+ @Autowired
+ DamageService damageService;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) {
+ @Override
+ public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
DownGlassTask downGlassTask = new DownGlassTask();
- BeanUtils.copyProperties(glassInfo,downGlassTask);
+ BeanUtils.copyProperties(glassInfo, downGlassTask);
downGlassTask.setStartCell(startCell);
- downGlassTask.setTaskType(taskType);
- downGlassTask.setEndCell(endCell);
+ downGlassTask.setTaskType(taskType);
+ downGlassTask.setEndCell(endCell);
return downGlassTask;
}
-
- public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell,String taskType ) {
+ @Override
+ public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, Integer taskType) {
DownGlassTask downGlassTask = new DownGlassTask();
- BeanUtils.copyProperties(glassInfo,downGlassTask);
+ BeanUtils.copyProperties(glassInfo, downGlassTask);
downGlassTask.setStartCell(startCell);
downGlassTask.setTaskType(taskType);
downGlassTask.setEndCell(endCell);
@@ -96,144 +77,59 @@
}
- @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,
+ return this.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))
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
+ .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
.isNull(DownStorageCageDetails::getSlot)
+ );
+ }
+
+ //鎵惧埌绌烘牸瀛�
+ @Override
+ public DownStorageCage selectCacheEmpty(int currentSlot, boolean flag) {
+ List<DownStorageCage> emptyList = this.selectJoinList(DownStorageCage.class,
+ JoinWrappers.lambda(DownStorageCage.class)
+ .selectAll(DownStorageCage.class)
+ .leftJoin(DownStorageCageDetails.class, on -> on
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
+ .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
+ .isNull(DownStorageCageDetails::getSlot)
+ .eq(DownStorageCage::getEnableState, Const.SLOT_ON)
+ .last("order by abs(t.slot - " + currentSlot + ") asc limit 2")
+ );
+ if (flag && CollectionUtil.isNotEmpty(emptyList)) {
+ return emptyList.get(0);
+ }
+ if (CollectionUtil.isEmpty(emptyList) || emptyList.size() == 1) {
+ return null;
+ }
+ return emptyList.get(0);
+ }
+
+
+ @Override
+ public List<DownStorageCageDetails> selectCacheMax() {
+ return baseMapper.selectJoinList(DownStorageCageDetails.class,
+ JoinWrappers.lambda(DownStorageCage.class)
+ // 娣诲姞 DownStorageCage 鐨� enableState 涓� 1 鐨勬潯浠�
+ .select(DownStorageCageDetails::getFlowCardId)
+ .leftJoin(DownStorageCageDetails.class, on -> on
+ .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
+ .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
+ .isNull(DownStorageCageDetails::getSlot)
+ .eq(DownStorageCage::getEnableState, 1)
+ .groupBy(DownStorageCageDetails::getFlowCardId) // 鏍规嵁 flowCardId 鍒嗙粍
+ // 浣跨敤瀛愭煡璇㈠拰鎺掑簭鏉ヨ幏鍙栫浉鍚� FlowCardId 涓殑鏈�澶氳褰�
+ .having("count(*) = (select max(cnt) from (select count(*) as cnt from down_storage_cage_details group by flow_card_id) as temp)")
+
);
}
@@ -246,51 +142,85 @@
.select(DownStorageCageDetails::getGlassId, DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getId)
.leftJoin(DownStorageCageDetails.class, on -> on
.eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
- .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot))
+ .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
+ .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
);
}
/**
* 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
+ *
* @param downStorageCage
* @return
*/
@Override
- public boolean updateDownStorageCage(DownStorageCage downStorageCage){
- DownStorageCage downItem=baseMapper.selectById(downStorageCage.getId());
- downItem.setEnableState(downStorageCage.getEnableState());
- baseMapper.updateById(downItem);
- return true;
+ public boolean updateDownStorageCage(DownStorageCage downStorageCage) {
+ DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId());
+ if (downItem != null) {
+ downItem.setEnableState(downStorageCage.getEnableState());
+ int rowsAffected = baseMapper.updateById(downItem);
+ if (rowsAffected > 0) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
}
+
/**
- *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+ * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+ *
* @param downStorageCageId
* @param downStorageCageDetails
* @return
*/
@Override
- public boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails){
- DownStorageCage downItem=baseMapper.selectById(downStorageCageId);
- log.info("姝e父"+downItem);
- DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
- if (downItem!=null){
- //绉婚櫎
- DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId));
- if (result!=null){
- result.setSlot(0);
- downStorageCageDetailsMapper.updateById(result);
- }
+ 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){
+ if (edgDItem != null) {
//鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠�
- DownStorageCageDetails newresult=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
+ 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;
}
+ @Override
+ public void deleteDownStorageCage(CacheWornRequest cacheWornRequest) {
+ Damage damage = new Damage();
+ BeanUtils.copyProperties(cacheWornRequest, damage);
+ damage.setType(cacheWornRequest.getState());
+ damage.setRemark("");
+ damage.setStatus(0);
+ damageService.insertDamage(damage);
+ downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>()
+ .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .eq(DownStorageCageDetails::getGlassId, cacheWornRequest.getGlassId())
+ .eq(DownStorageCageDetails::getState,Const.GLASS_STATE_IN));
+
+ }
+
}
--
Gitblit v1.8.0