From 979f95e192e306bf8ae6552415d20c57015baab4 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 22 十月 2025 13:59:05 +0800
Subject: [PATCH] 优化:短连接+抛异常 防止异常导致端口占用 无法连接设备
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 103 insertions(+), 12 deletions(-)
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
index c07ef4a..20e6294 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -7,6 +7,7 @@
import com.mes.md.entity.*;
import com.mes.md.mapper.*;
import com.mes.md.service.*;
+import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -45,6 +46,9 @@
private MachineMapper machineMapper;
@Autowired
private LineConfigurationService lineConfigurationService;
+
+ @Autowired
+ KBBTLensSortingMapper kBBTLensSortingMapper;
/**
* @param machine
@@ -169,6 +173,10 @@
List<Tasking> list=this.findMachineWorkStateTask(machine,"绛夊緟");
if(!list.isEmpty()){
Tasking tasking=list.get(0);
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("寮�濮�");
tasking.setWorkState("姝e湪宸ヤ綔");
if(baseMapper.updateById(tasking)>0){
return tasking;
@@ -183,10 +191,24 @@
*/
@Override
public Tasking startMachineTask(Machine machine, String scan_id) {
- List<Tasking> list=this.findMachineWorkStateTask(machine,"绛夊緟");
+ //List<Tasking> list=this.findMachineWorkStateTask(machine,"绛夊緟");
+ List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>()
+ .selectAll(Tasking.class)
+ .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+ .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+ .eq(LineConfiguration::getMachineId,machine.getId())
+ .eq(Tasking::getGlassState,"姝e父")
+ .eq(Tasking::getState,"绾夸笂")
+ .eq(Tasking::getScanId,scan_id)
+ .eq(Tasking::getWorkState,"绛夊緟")
+ .orderByAsc(Tasking::getTaskSequence));
if(!list.isEmpty()){
Tasking tasking=list.get(0);
if(scan_id.equals(tasking.getScanId())){
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("寮�濮�");
tasking.setWorkState("姝e湪宸ヤ綔");
if(baseMapper.updateById(tasking)>0){
return tasking;
@@ -216,6 +238,7 @@
.eq(Tasking::getScanId,scan_id)
.eq(Tasking::getGlassState,"姝e父")
.eq(Tasking::getState,"绾夸笂")
+ .ne(Tasking::getWorkState,"瀹屽伐")
.le(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence())
.orderByAsc(Tasking::getTaskSequence));
if(!list.isEmpty()){
@@ -229,8 +252,14 @@
machine.setTodayCount(taskSequence);
machineMapper.updateById(machine);
tasking.setTaskSequence(taskSequence);
+
tasking.setWorkState("姝e湪宸ヤ綔");
tasking.setLineConfigurationId(machineLineConfiguration.get(0).getId());
+ //璁板綍璁惧寮�濮嬫椂闂�
+ tasking.setOperationRecord(machineLineConfiguration.get(0).getRemark()+machineLineConfiguration.get(0).getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("寮�濮�");
+
if(baseMapper.updateById(tasking)>0){
finishMachineTask(machine);
return tasking;
@@ -273,6 +302,10 @@
if(!list.isEmpty()){
Tasking tasking=list.get(0);
if (!listLineConfiguration.isEmpty()){
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("缁撴潫");
tasking.setLineConfigurationId(listLineConfiguration.get(0).getId());
tasking.setWorkState("绛夊緟");
return baseMapper.updateById(tasking);
@@ -293,11 +326,12 @@
@Override
public int finishMachineTask(Machine machine) {
List<Tasking> list=this.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
- //褰撳墠璁惧鐨勭嚎璺厤缃�
+ //鏌ヨ褰撳墠璁惧绾胯矾閰嶇疆
List<LineConfiguration> machineLineConfiguration=lineConfigurationMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getMachineId,machine.getId()));
if(!machineLineConfiguration.isEmpty()){
+ //褰撳墠璁惧瀛樺湪绾胯矾閰嶇疆锛屾煡璇㈠綋鍓嶈澶� 鍦ㄧ嚎璺厤缃〃涓殑涓嬩竴璁惧
List<LineConfiguration> listLineConfiguration=lineConfigurationMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId())
@@ -306,14 +340,24 @@
.orderByAsc(LineConfiguration::getProcessSequence)
.orderByAsc(LineConfiguration::getPrioritySequence)
);
+
if(!list.isEmpty()){
+ //鏍囪浠诲姟鐘舵��
Tasking tasking=list.get(0);
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("缁撴潫");
+ //listLineConfiguration涓嶆槸绌�,琛ㄧず褰撳墠璁惧閰嶇疆鍏崇郴涓湁涓嬩竴璁惧
+ // 鍚﹀垯琛ㄧず鏃犱笅涓�宸ュ簭锛屽嵆褰撳墠宸ュ簭涓烘渶鍚庝竴宸ュ簭 鏍囪鐘舵�佸畬宸�
if (!listLineConfiguration.isEmpty()){
tasking.setLineConfigurationId(listLineConfiguration.get(0).getId());
tasking.setWorkState("绛夊緟");
return baseMapper.updateById(tasking);
- }else{
- return this.stopTasking(tasking);
+ }
+ else{
+ tasking.setWorkState("瀹屽伐");
+ return baseMapper.updateById(tasking);
}
}
@@ -338,6 +382,10 @@
.orderByDesc(Tasking::getTaskSequence));
if(!list.isEmpty()){
Tasking tasking=list.get(0);
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("浜哄伐");
tasking.setWorkState("绛夊緟");
return baseMapper.updateById(tasking);
}
@@ -356,6 +404,10 @@
.orderByDesc(Tasking::getTaskSequence));
if(!list.isEmpty()){
Tasking tasking=list.get(0);
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId());
+ tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("鑷姩");
tasking.setState("绾夸笅");
return baseMapper.updateById(tasking);
}
@@ -370,6 +422,10 @@
public int damagedTask(Tasking tasking) {
Tasking oldTasking=baseMapper.selectById(tasking);
if(!Objects.isNull(oldTasking)){
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(oldTasking.getLineConfigurationId());
+ oldTasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ oldTasking.setOperationRecordTime(new Date());
+ oldTasking.setOperationMode("浜哄伐");
oldTasking.setGlassState("鐮存崯");
return baseMapper.updateById(oldTasking);
}
@@ -384,6 +440,10 @@
public int glassDownLine(Tasking tasking) {
Tasking oldTasking=baseMapper.selectById(tasking);
if (!Objects.isNull(oldTasking)){
+ LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(oldTasking.getLineConfigurationId());
+ oldTasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId());
+ oldTasking.setOperationRecordTime(new Date());
+ oldTasking.setOperationMode("浜哄伐");
oldTasking.setState("绾夸笅");
return baseMapper.updateById(oldTasking);
}
@@ -406,6 +466,11 @@
}
}
return resultCount;
+ }
+
+ @Override
+ public int deleteGlassDownLine() {
+ return baseMapper.delete(new QueryWrapper<Tasking>().lambda().eq(Tasking::getState,"绾夸笅"));
}
/**
@@ -449,14 +514,29 @@
if(!Objects.isNull(scanId)){
List<PrimitiveTask> primitiveTaskList=primitiveTaskMapper.selectList(new QueryWrapper<PrimitiveTask>().lambda()
.eq(PrimitiveTask::getScanId,scanId));
+ if(primitiveTaskList.isEmpty()){
+ int insertCount=projectService.insertProjectCustomization(scanId);
+ errorStr="鎵爜ID锛�"+scanId+" 涔濈墽IT鏁版嵁搴撴湭涓嬪彂";
+ if (insertCount<1&&!errorStr.equals(machine.getRemark())){
+ machine.setRemark(errorStr);
+ machineMapper.updateById(machine);
+ return 0;
+ }
+ }
+ primitiveTaskList=primitiveTaskMapper.selectList(new QueryWrapper<PrimitiveTask>().lambda()
+ .eq(PrimitiveTask::getScanId,scanId));
+
if(!primitiveTaskList.isEmpty()){
PrimitiveTask primitiveTask=primitiveTaskList.get(0);
LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
List<Tasking> listTasking=baseMapper.selectList(new QueryWrapper<Tasking>().lambda()
.eq(Tasking::getScanId,scanId)
+ .ne(Tasking::getLineConfigurationId,113)
+ .ne(Tasking::getWorkState,"瀹屽伐")
.ne(Tasking::getState,"绾夸笅")
.ne(Tasking::getGlassState,"鐮存崯"));
- if(listTasking.size()<primitiveTaskList.get(0).getTaskQuantity()){
+ Machine oneMachine=machineMapper.selectById(1L);
+ if((listTasking.size()<primitiveTaskList.get(0).getTaskQuantity())||oneMachine.getMode()==3){
Tasking tasking=primitiveTaskService.convertListTasking(primitiveTask,lineConfiguration.getId());
Integer taskSequence=1;
if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){
@@ -465,6 +545,22 @@
taskSequence=1;
}
machine.setTodayCount(taskSequence);
+ String Warehouse="";
+ if (machine.getId()==24){
+ List<KBBTLensSorting> list=kBBTLensSortingMapper.selectList(new QueryWrapper<KBBTLensSorting>().lambda()
+ .eq(KBBTLensSorting::getBarcode,scanId)
+ .notLike(KBBTLensSorting::getProductionName,"闃茬鑶�")
+ .notLike(KBBTLensSorting::getProductionName,"纾ㄧ爞")
+ .notLike(KBBTLensSorting::getProductionName,"鍊掕"));
+ if (list.size()>0){
+ Warehouse=list.get(0).getWarehouse();
+ }
+ }
+ tasking.setWarehouse(Warehouse);
+ tasking.setOperationRecord(lineConfiguration.getRemark()+lineConfiguration.getLineId());
+ tasking.setOperationRecordTime(new Date());
+ tasking.setOperationMode("鎻掑叆鏁版嵁");
+
tasking.setTaskSequence(taskSequence);
machineMapper.updateById(machine);
return baseMapper.insert(tasking);
@@ -474,19 +570,14 @@
machine.setRemark(errorStr);
machineMapper.updateById(machine);
}
- }else{
- int insertCount=projectService.insertProjectCustomization(scanId);
- errorStr="鎵爜ID锛�"+scanId+" 涔濈墽IT鏁版嵁搴撴湭涓嬪彂";
- if (insertCount<1&&!errorStr.equals(machine.getRemark())){
- machine.setRemark(errorStr);
- machineMapper.updateById(machine);
- }
}
}
return 0;
}
+
+
@Override
public Boolean insertTasking(String status) {
Tasking tasking = new Tasking();
--
Gitblit v1.8.0