From 2d0358932cd63ed46778be72d126fc8d766a27a8 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 18 九月 2024 16:15:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 213 insertions(+), 19 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 865c54c..d9c9bab 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
@@ -1,50 +1,244 @@
package com.mes.downworkstation.service.impl;
+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.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;
- @Override
- public List<DownWorkstation> getoneDownWorkstations() {
- return downWorkstationMapper.getoneDownWorkstations();
- }
+ @Autowired
+ private DownWorkstationTaskService downWorkstationTaskService;
+ @Resource
+ private RedisUtil redisUtil;
- @Override
- public List<DownWorkstation> gettwoDownWorkstations() {
- return downWorkstationMapper.gettwoDownWorkstations();
- }
-
- @Override
- public List<Map<String, Object>> getflowCardId() {
- return downWorkstationMapper.getflowCardId();
- }
-
+ // @Override
+// public List<DownWorkstation> gettwoDownWorkstations() {
+// return downWorkstationMapper.getDownWorkstationsInRange(6,10);
+// }
+//鑾峰彇鎬绘暟閲�
@Override
public int getTotalQuantity(int workstationId) {
- Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
- return totalQuantity != null ? totalQuantity : 0;
+ DownWorkstation result = baseMapper.selectOne(new QueryWrapper<DownWorkstation>().lambda()
+ .select(DownWorkstation::getTotalQuantity)
+ .eq(DownWorkstation::getWorkstationId, workstationId));
+
+ return result != null ? result.getTotalQuantity() : 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) {
- Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
- return racksNumber != null ? racksNumber : 0;
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("racks_number")
+ .eq("workstation_id", workstationId);
+
+ DownWorkstation result = baseMapper.selectOne(queryWrapper);
+ return result != null ? result.getRacksNumber() : 0;
+ }
+
+ //鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+ @Override
+ public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.between("workstation_id", startId, endId);
+
+ return baseMapper.selectList(queryWrapper);
+ }
+
+
+//
+
+
+ @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(new DownWorkstation(), updateWrapper);
+ }
+
+
+ @Override
+ 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);
+// .eq("id", workstationId);
+ this.update(updateWrapper);
+
}
@Override
public void clearFlowCardId(int workstationId) {
- downWorkstationMapper.clearFlowCardInfoByWorkstationId(workstationId);
+ UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("flow_card_id", null)
+ .set("total_quantity", 0)
+ .set("racks_number", 0)
+ .set("other_number", 0)
+ .set("layer", null)
+ .eq("workstation_id", workstationId);
+
+ 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
+ public void crossDatabaseQuery() {
+ // 浠� MySQL 鏁版嵁搴撲腑鏌ヨ鏁版嵁锛屽彧杩斿洖涓�鏉$鍚堟潯浠剁殑鏁版嵁
+ DownWorkstation downWorkstation = downWorkstationTaskMapper.selectdownWorkstationstate();
+
+ // 浠� 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);
+ }
+
+ @Override
+ public void insertDownWorkstation() {
+ DownWorkstation downWorkstation = new DownWorkstation();
+ downWorkstation.setWorkstationId(7);
+ downWorkstation.setTotalQuantity(0);
+ downWorkstation.setRacksNumber(0);
+ downWorkstation.setOtherNumber(0);
+ downWorkstation.setDeviceId(3);
+ downWorkstation.setEnableState(1);
+ downWorkstation.setWorkState(1);
+ baseMapper.insert(downWorkstation);
+ }
+
+
}
--
Gitblit v1.8.0