From 3b1ec379f075b64982198b885bf15afac34b0b8f Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 15 八月 2024 09:38:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 162 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 132 insertions(+), 30 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index 2752c15..fe6f4c5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -3,54 +3,116 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.downglassinfo.entity.DownGlassTask;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.common.S7object;
+import com.mes.common.utils.RedisUtil;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.DownWorkstationTask;
+import com.mes.downworkstation.entity.DownWorkstionAndDownGlassinfo;
import com.mes.downworkstation.mapper.DownWorkstationMapper;
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationService;
+import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.service.GlassInfoService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+@Slf4j
@Service
public class DownWorkstationServiceImpl extends ServiceImpl<DownWorkstationMapper, DownWorkstation> implements DownWorkstationService {
@Autowired
private DownWorkstationMapper downWorkstationMapper;
+ @Autowired(required = false)
private DownWorkstationTaskMapper downWorkstationTaskMapper;
+ @Autowired
+ private DownGlassInfoMapper downGlassInfoMapper;
+ @Autowired
+ private GlassInfoService glassInfoService;
+ @Autowired
+ private DamageService damageservice;
+ @Autowired
+ private DownWorkstationTaskService downWorkstationTaskService;
+ @Resource
+ private RedisUtil redisUtil;
-
-// @Override
+ // @Override
// public List<DownWorkstation> gettwoDownWorkstations() {
// return downWorkstationMapper.getDownWorkstationsInRange(6,10);
// }
//鑾峰彇鎬绘暟閲�
@Override
public int getTotalQuantity(int workstationId) {
- QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
- queryWrapper.select("total_quantity")
- .eq("workstation_id", workstationId);
+ DownWorkstation result = baseMapper.selectOne(new QueryWrapper<DownWorkstation>().lambda()
+ .select(DownWorkstation::getTotalQuantity)
+ .eq(DownWorkstation::getWorkstationId, workstationId));
- DownWorkstation result = baseMapper.selectOne(queryWrapper);
- return result != null ? result.getTotalquantity() : 0;
+ return result != null ? result.getTotalQuantity() : 0;
}
-// @Override
-// public int getTotalQuantity(int workstationId) {
-// Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
-// return totalQuantity != null ? totalQuantity : 0;
-// }
-// @Override
-// public int getRacksNumber(int workstationId) {
-// Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
-// return racksNumber != null ? racksNumber : 0;
-// }
+ //宸ヤ綅鏄剧ず
+ @Override
+ public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start, int end) {
+ MPJQueryWrapper<DownWorkstation> queryWrapper = new MPJQueryWrapper<>();
+ queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight,total_quantity,racks_number,other_number")
+ .leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
+ .groupBy("t.workstation_id", "t.flow_card_id")
+ .orderByAsc("t.workstation_id").between("t.workstation_id", start, end)
+
+ ;
+
+ List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
+ // List<DownWorkstionAndDownGlassinfo> workstationList = null;
+ List<Map<String, Object>> result = new ArrayList<>();
+ for (DownWorkstionAndDownGlassinfo downWorkstionAndDownGlassinfo : workstationList) {
+ Map<String, Object> rack = new HashMap<>();
+ Map<String, Object> item = new HashMap<>();
+ item.put("height", downWorkstionAndDownGlassinfo.getTotalheight());
+ item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth());
+ item.put("fillColor", "yellow");
+ item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId());
+ if (downWorkstionAndDownGlassinfo.getFlowCardId()!=""&&downWorkstionAndDownGlassinfo.getFlowCardId()!=null&&downWorkstionAndDownGlassinfo.getTotalQuantity() == downWorkstionAndDownGlassinfo.getRacksNumber() + downWorkstionAndDownGlassinfo.getRacksNumber()) {
+ item.put("fullCardColor", "red");
+ } else {
+ item.put("fullCardColor", "blue");
+ }
+
+ // 鏌ヨ DownGlassInfo 骞舵坊鍔犲埌 item 涓�
+ MPJQueryWrapper<DownGlassInfo> glassInfoQueryWrapper = new MPJQueryWrapper<>();
+ glassInfoQueryWrapper.select("*"); // 鏌ヨ鎵�鏈夊垪
+ glassInfoQueryWrapper.eq("flow_card_id", downWorkstionAndDownGlassinfo.getFlowCardId());
+ List<DownGlassInfo> downGlassInfoList = downGlassInfoMapper.selectList(glassInfoQueryWrapper);
+
+
+ if (!downGlassInfoList.isEmpty()) {
+
+ item.put("downGlassInfoList", downGlassInfoList);
+
+ }
+
+ rack.put("item", item);
+ result.add(rack);
+ }
+ log.info("result" + (result));
+ return result; // 杩斿洖鏈�缁堢粨鏋�
+ }
+
+
//鏍规嵁鏉′欢鑾峰彇钀芥灦鏁伴噺
@Override
public int getRacksNumber(int workstationId) {
@@ -59,9 +121,10 @@
.eq("workstation_id", workstationId);
DownWorkstation result = baseMapper.selectOne(queryWrapper);
- return result != null ? result.getRacksnumber() : 0;
+ return result != null ? result.getRacksNumber() : 0;
}
-//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+
+ //鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
@Override
public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
@@ -77,20 +140,28 @@
@Override
public void updateracksnumber(String flowCardId, int racksNumber) {
UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
- updateWrapper.set("racks_number",racksNumber).eq("flow_card_id", flowCardId);
- baseMapper.update(null, updateWrapper);
+ updateWrapper.set("racks_number", racksNumber).eq("flow_card_id", flowCardId);
+ baseMapper.update(new DownWorkstation(), updateWrapper);
}
-
@Override
- public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+ public void updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
+ int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+ QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("process_id", flowCardId);
+ queryWrapper.eq("technology_number", layer);
+
+ int otherNumber = damageservice.count(queryWrapper);
UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("total_quantity", glassInfoCount)
.set("flow_card_id", flowCardId)
+ .set("layer", layer)
+ .set("other_number", otherNumber)
.eq("workstation_id", workstationId);
- return baseMapper.update(null, updateWrapper);
+ this.update(updateWrapper);
+
}
@Override
@@ -101,15 +172,17 @@
.set("racks_number", 0)
.eq("workstation_id", workstationId);
- baseMapper.update(null, updateWrapper);
+ baseMapper.update(new DownWorkstation(), updateWrapper);
}
+ @Override
+ public DownWorkstation selectByFlowCardId(String flowcardid) {
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("flow_card_id", flowcardid);
-
-
-
-
+ return baseMapper.selectOne(queryWrapper);
+ }
@Transactional
@@ -120,8 +193,37 @@
// 浠� SQL Server 鏁版嵁搴撲腑鏌ヨ鏁版嵁
List<DownWorkstationTask> downWorkstationTasks = downWorkstationTaskMapper.selectList();
+ }
+ @Override
+ public boolean updateDownWorkstationstate(DownWorkstation downWorkstation) {
+
+ DownWorkstation downWork = baseMapper.selectById(downWorkstation.getId());
+
+ if (downWork != null) {
+
+ downWork.setEnableState(downWorkstation.getEnableState());
+
+ baseMapper.updateById(downWork);
+
+ return true;
+ } else {
+
+ return false;
+ }
+ }
+
+ @Override
+ public String closeAlarmSignal() {
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("alarm_signal").getAddress(), 0);
+ return "success";
+ }
+
+ @Override
+ public void autoPrint(Boolean flag) {
+ redisUtil.setCacheObject("autoPrint", flag);
}
}
--
Gitblit v1.8.0