From 3b0c30d5918f1b50b3eb1a92b17124d5087e4a75 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 10 五月 2024 16:29:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 208 insertions(+), 18 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..668caf6 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,240 @@
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.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downglassinfo.service.DownGlassTaskService;
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+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 DownGlassInfoService downGlassInfoService;
+ @Autowired
+ private DownGlassInfoMapper downGlassInfoMapper;
+ @Autowired
+ private DownGlassTaskService downGlassTaskService;
- @Override
- public List<DownWorkstation> getoneDownWorkstations() {
- return downWorkstationMapper.getoneDownWorkstations();
- }
- @Override
- public List<DownWorkstation> gettwoDownWorkstations() {
- return downWorkstationMapper.gettwoDownWorkstations();
- }
+ @Autowired
+ private DownWorkstationTaskService downWorkstationTaskService;
- @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() {
+ 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")
+ .leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
+ .groupBy("t.workstation_id", "t.flow_card_id");
+
+ 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<>();
+
+ // 鍒涘缓瀛愰」锛坕tem锛夊璞�
+ 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()); // 浣跨敤娴佺▼鍗″彿浣滀负瀛愰」鍐呭
+
+ rack.put("item", item); // 灏嗗瓙椤瑰璞℃斁鍏ヨ揣鏋跺璞′腑
+
+ result.add(rack); // 灏嗚揣鏋跺璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
+ //log.info("璐ф灦瀵硅薄: {}", rack);
+ }
+
+ 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 int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+ UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("total_quantity", glassInfoCount)
+ .set("flow_card_id", flowCardId)
+ .eq("workstation_id", workstationId);
+
+ return baseMapper.update(new DownWorkstation(), 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)
+ .eq("workstation_id", workstationId);
+
+ baseMapper.update(new DownWorkstation(), updateWrapper);
}
+
+
+
+
+
+ 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 void insertdownglassinfo() {
+
+
+ List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
+//
+
+
+ if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
+
+//
+
+ for (DownGlassTask downGlassInfo : taskdownGlassInf) {
+ // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
+ DownGlassInfo newdownGlassInfo = new DownGlassInfo();
+// newdownGlassInfo.setId(downGlassInfo.getId());
+ newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
+ Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+ // 鍒濆鍖栭『搴忓瓧娈靛��
+ int sequence = maxSequence != null ? maxSequence + 1 : 1;
+// newdownGlassInfo.setId(downGlassInfo.getId());
+ newdownGlassInfo.setWidth(downGlassInfo.getWidth());
+ newdownGlassInfo.setGlassId(downGlassInfo.getGlassId());
+ newdownGlassInfo.setHeight(downGlassInfo.getHeight());
+ newdownGlassInfo.setThickness(downGlassInfo.getThickness());
+ newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
+ // 璁剧疆椤哄簭瀛楁鍊�
+ newdownGlassInfo.setSequence(sequence);
+
+ // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
+ downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
+ //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
+ downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
+ //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
+ downGlassTaskService.updateTaskStateToZero(downGlassInfo.getGlassId());
+ //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
+ downGlassTaskService.deleteTask(downGlassInfo.getGlassId());
+
+ sequence++; // 閫掑椤哄簭瀛楁鍊�
+
+
+ }
+ }
+
+
+ try {
+ //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏋跺瓙鏄惁缁戝畾浜嗘祦绋嬪崱鍙� 宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
+ List<DownWorkstationTask> taskdownWorkstation = downWorkstationTaskService.getTaskState();
+ if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
+ //锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
+ for (DownWorkstationTask downWorkstation : taskdownWorkstation) {
+ //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
+ DownWorkstation downWorkstation1 = selectByFlowCardId(downWorkstation.getFlowCardId());
+ updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation1.getRacksnumber() + 1);
+ //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
+ downWorkstationTaskService.updateTaskStateToZero(downWorkstation);
+ //鍒犻櫎鏈烘浠诲姟琛�
+ downWorkstationTaskService.deleteTask(downWorkstation);
+
+
+ }
+ }
+ } catch (Exception e) {
+ // 鎵撳嵃寮傚父淇℃伅
+ e.printStackTrace();
+ // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
+ }
+ }
+
+
}
--
Gitblit v1.8.0