From fdc39f2277775b9cdaf8add9170d7ac0d68ed607 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 18 九月 2024 16:45:37 +0800
Subject: [PATCH] 拉取前提交更改
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java | 304 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 226 insertions(+), 78 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 7edeb9c..900cf68 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
@@ -3,14 +3,18 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.S7object;
import com.mes.device.PlcParameterObject;
import com.mes.md.entity.GlassInfo;
+import com.mes.md.entity.LineConfiguration;
+import com.mes.md.entity.Machine;
import com.mes.md.entity.Tasking;
import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.mapper.TaskingMapper;
+import com.mes.md.service.GlassInfoService;
import com.mes.md.service.TaskingService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -29,48 +33,203 @@
public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService {
@Resource
GlassInfoMapper glassInfoMapper;
- PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
- @Override
- public boolean updateStatus(Integer state) {
- //鏇存敼涓婄墖妯″紡
- //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
- S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
- //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
- String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
- return state == Integer.parseInt(loadStatus);
-
- }
+ @Autowired
+ GlassInfoService glassInfoService;
/**
- * @param state
+ * @param machine
+ * 鏌ヨ褰撳墠璁惧锛岀嚎涓婃湭瀹屽伐鐨勪换鍔� (绾夸笂/姝e父)
* @return
*/
@Override
- public boolean updateLoadState(Integer state) {
- //鏇存敼鑱旀満鐘舵��
- //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
- S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
- //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
- String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
- return state == Integer.parseInt(loadState);
-
+ public List<Tasking> findMachineTask(Machine 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,"绾夸笂")
+ .ne(Tasking::getWorkState,"瀹屽伐")
+ .orderByAsc(Tasking::getTaskSequence));
+ return list;
}
+ /**
+ * @param machine锛寃orkState
+ * 鏌ヨ褰撳墠璁惧锛岀嚎涓娿�愮瓑寰�/宸ヤ綔/瀹屽伐銆戠殑浠诲姟 鍗囧簭 (绾夸笂/姝e父)
+ * @return
+ */
@Override
- public boolean updateDamage(Tasking tasking) {
- UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
- queryWrapper.eq("glass_id",tasking.getGlassId())
- .set("work_state",tasking.getWorkState());
- return this.update(queryWrapper);
+ public List<Tasking> findMachineWorkStateTask(Machine machine, String workState) {
+ 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::getWorkState,workState)
+ .orderByAsc(Tasking::getTaskSequence));
+ return list;
}
+
+ /**
+ * @param machine
+ * 褰撳墠璁惧鏍囪姝e湪宸ヤ綔锛氱嚎涓婄瓑寰呯殑浠诲姟绗竴鏉� (绾夸笂/姝e父)
+ * @return
+ */
@Override
- public List<Tasking> selectTasking() {
- QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
- queryWrapper.orderByDesc("task_sequence");
- return list(queryWrapper);
+ public Tasking startMachineTask(Machine machine) {
+ List<Tasking> list=this.findMachineWorkStateTask(machine,"绛夊緟");
+ if(!list.isEmpty()){
+ Tasking tasking=list.get(0);
+ tasking.setWorkState("姝e湪宸ヤ綔");
+ if(baseMapper.updateById(tasking)>0){
+ return tasking;
+ };
+ }
+ return null;
}
+ /**
+ * @param machine
+ * 褰撳墠璁惧鏍囪瀹屾垚锛氭鍦ㄥ伐浣滅殑绗竴涓换鍔� (绾夸笂/姝e父) 杩斿洖瀹屾垚鏁伴噺
+ * @return
+ */
+ @Override
+ public int finishMachineTask(Machine machine) {
+ List<Tasking> list=this.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
+ if(!list.isEmpty()){
+ Tasking tasking=list.get(0);
+ tasking.setWorkState("瀹屽伐");
+ return baseMapper.updateById(tasking);
+ }
+ return 0;
+ }
+ /**
+ * @param machine
+ * 褰撳墠璁惧鏍囪澶辫触锛屾鍦ㄥ伐浣滅殑鏈�鍚庝竴涓换鍔� (绾夸笂/姝e父) 杩斿洖澶辫触鏁伴噺
+ * @return
+ */
+ @Override
+ public int loseMachineTask(Machine 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::getWorkState,"姝e湪宸ヤ綔")
+ .orderByDesc(Tasking::getTaskSequence));
+ if(!list.isEmpty()){
+ Tasking tasking=list.get(0);
+ tasking.setWorkState("绛夊緟");
+ return baseMapper.updateById(tasking);
+ }
+ return 0;
+ }
+
+ /**
+ * @param tasking
+ * 鐮存崯鐜荤拑锛� (绾夸笂/姝e父) 杩斿洖鐮存崯鏁伴噺
+ * @return
+ */
+ @Override
+ public int damagedTask(Tasking tasking) {
+ Tasking oldTasking=baseMapper.selectById(tasking);
+ if(!Objects.isNull(oldTasking)){
+ oldTasking.setGlassState("鐮存崯");
+ return baseMapper.updateById(oldTasking);
+ }
+ return 0;
+ }
+ /**
+ * @param tasking
+ * 淇敼鐘舵�� 銆愪笅绾裤��
+ * @return
+ */
+ @Override
+ public int glassDownLine(Tasking tasking) {
+ Tasking oldTasking=baseMapper.selectById(tasking);
+ if (!Objects.isNull(oldTasking)){
+ oldTasking.setState(tasking.getState());
+ return baseMapper.updateById(oldTasking);
+ }
+ return 0;
+ }
+
+ /**
+ * @param taskingList
+ * 鎵归噺淇敼鐘舵�� 銆愪笂绾裤��
+ * @return
+ */
+ @Override
+ public int glassTopLine(List<Tasking> taskingList) {
+ int resultCount=0;
+ for (Tasking tasking:taskingList){
+ Tasking oldTasking=baseMapper.selectById(tasking);
+ if (!Objects.isNull(oldTasking)){
+ oldTasking.setState(tasking.getState());
+ resultCount+=baseMapper.updateById(oldTasking);
+ }
+ }
+ return resultCount;
+ }
+
+
+//
+// @Override
+// public boolean updateStatus(Integer state) {
+// //鏇存敼涓婄墖妯″紡
+// //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+// S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
+// //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+// String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
+// return state == Integer.parseInt(loadStatus);
+//
+// }
+//
+// /**
+// * @param state
+// * @return
+// */
+// @Override
+// public boolean updateLoadState(Integer state) {
+// //鏇存敼鑱旀満鐘舵��
+// //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+// S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
+// //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+// String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
+// return state == Integer.parseInt(loadState);
+//
+// }
+//
+// @Override
+// public boolean updateDamage(Tasking tasking) {
+// UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
+// queryWrapper.eq("glass_id",tasking.getGlassId())
+// .set("work_state",tasking.getWorkState());
+// return this.update(queryWrapper);
+// }
+//
+// @Override
+// public List<Tasking> selectTasking() {
+// QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+// queryWrapper.orderByDesc("task_sequence");
+// return list(queryWrapper);
+// }
+// @Override
+// public Tasking selectTasking(Tasking tasking) {
+// QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+// queryWrapper.eq("line_configuration_id",tasking.getLineConfigurationId())
+// .eq("state",tasking.getState())
+// .eq("work_state",tasking.getWorkState())
+// .orderByAsc("glass_id");
+// return getOne(queryWrapper);
+// }
@Override
public Boolean insertTasking(String status) {
Tasking tasking = new Tasking();
@@ -96,74 +255,63 @@
tasking.setSilkScreenY(glassInfo.getSilkScreenY());
tasking.setIsMarking(glassInfo.getIsMarking());
tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
- tasking.setCurrentCraft("涓婄墖");
+ tasking.setLineConfigurationId(1L);
}
}
else {
tasking.setTaskType("瀹氬埗");
- tasking.setCurrentCraft("涓婄墖");
+ tasking.setLineConfigurationId(1L);
}
return save(tasking);
}
@Override
public boolean updateTasking(String scanId) {
- return false;
+ Tasking glass=new Tasking();
+ glass.setLineConfigurationId(1L);
+ //glass.setCurrentCraft("涓婄墖");
+ glass.setWorkState("瀹屽伐");
+ glass.setTaskType("瀹氬埗");
+ //鑾峰彇褰撳墠涓婄墖鐨勫畾鍒朵换鍔d
+ //鑾峰彇褰撳墠鎵弿鐨勭幓鐠冩暟鎹�
+ GlassInfo glassInfo = glassInfoService.selectTaskingByGlass(scanId);
+ if(glassInfo!=null){
+ glass.setBatchNumber(glassInfo.getBatchNumber());
+ glass.setScanId(glassInfo.getScanId());
+ glass.setProgramId(glassInfo.getProgramId());
+ glass.setTaskType(glassInfo.getTaskType());
+ glass.setTaskSequence(glassInfo.getTaskSequence());
+ glass.setTaskQuantity(glassInfo.getTaskQuantity());
+ glass.setLength(glassInfo.getLength());
+ glass.setWidth(glassInfo.getWidth());
+ glass.setThickness(glassInfo.getThickness());
+ glass.setDrawingGlue(glassInfo.getDrawingGlue());
+ glass.setDrawingMarking(glassInfo.getDrawingMarking());
+ glass.setSilkScreenX(glassInfo.getSilkScreenX());
+ glass.setSilkScreenY(glassInfo.getSilkScreenY());
+ glass.setIsMarking(glassInfo.getIsMarking());
+ glass.setIsSilkScreen(glassInfo.getIsSilkScreen());
+ glass.setLineConfigurationId(2L);
+ }
+ return updateById(glass);
+
}
@Override
- public Tasking selectTasking(Tasking tasking) {
- QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("current_craft",tasking.getCurrentCraft())
- .eq("state",tasking.getState())
- .eq("work_state",tasking.getWorkState())
- .orderByAsc("glass_id");
- return getOne(queryWrapper);
+ public boolean updateTaskingState(Tasking tasking) {
+ UpdateWrapper<Tasking>wrapper=new UpdateWrapper<>();
+ wrapper.eq("scan_id",tasking.getScanId());
+ return update(tasking,wrapper);
}
+
+
+
@Override
public Boolean insertTaskingPro(String tasking) {
return null;
}
-
- /**
- * @param tasking
- * 鏌ヨ褰撳墠宸ヨ壓锛岀嚎涓婃湭瀹屽伐鐨勪换鍔�
- * @return
- */
- @Override
- public List<Tasking> findCraftTasking(Tasking tasking) {
- return baseMapper.selectList(new MPJLambdaQueryWrapper<Tasking>()
- .selectAll(Tasking.class)
- .eq(Tasking::getCurrentCraft,tasking.getCurrentCraft())
- .ne(Tasking::getWorkState,"瀹屽伐")
- .orderByAsc(Tasking::getGlassId));
- }
-
- /**
- * @param tasking
- * 淇敼浠诲姟鐘舵�� 銆愮牬鎹�/澶辫触/瀹屽伐銆�
- * @return
- */
- @Override
- public int updateCraftTasking(Tasking tasking) {
- Tasking oldTasking=baseMapper.selectById(tasking);
- oldTasking.setWorkState(tasking.getWorkState());
- return baseMapper.updateById(oldTasking);
- }
-
- /**
- * @param tasking
- * 淇敼鐘舵�� 銆愪笅绾裤��
- * @return
- */
- @Override
- public int updateDownLine(Tasking tasking) {
- Tasking oldTasking=baseMapper.selectById(tasking);
- oldTasking.setState(tasking.getState());
- return baseMapper.updateById(oldTasking);
- }
}
--
Gitblit v1.8.0