From 8223485b2f6c909de81924e107b1e268aa04bd41 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 30 六月 2024 22:59:26 +0800
Subject: [PATCH] 1、大理片笼进片逻辑调整:a、将扫描id后进生成任务信息,不执行卧转立进片命令; b、进片车空闲扫描,如果存在卧转立有满片的直接启动, 2、下片任务新增任务向plc发送任务信息 3、对外提供手工生成人工下片任务
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 153 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..a602f88 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,185 @@
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(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")
+ .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());
+
+ // 鏌ヨ 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 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);
}
+
+
+
+
+
+ @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();
+
+ }
+
+
+
+
}
--
Gitblit v1.8.0