From f74b51190a77c560949abd4628c5f33cd7e734ac Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期六, 14 九月 2024 08:22:50 +0800 Subject: [PATCH] 设备交互结构模板,设备常用前端接口 --- JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 297 insertions(+), 1 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 37a8b4f..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 @@ -1,11 +1,25 @@ package com.mes.md.service.impl; +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.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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; /** * <p> @@ -17,5 +31,287 @@ */ @Service public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService { + @Resource + GlassInfoMapper glassInfoMapper; + @Autowired + GlassInfoService glassInfoService; + + /** + * @param machine + * 鏌ヨ褰撳墠璁惧锛岀嚎涓婃湭瀹屽伐鐨勪换鍔� (绾夸笂/姝e父) + * @return + */ + @Override + 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 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 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(); + if(Objects.equals(status, "1")){ + QueryWrapper <GlassInfo> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("task_type","鏍囧噯") + .eq("work_state","宸ヤ綔") + .orderByAsc("task_sequence"); + GlassInfo glassInfo =glassInfoMapper.selectOne(queryWrapper); + if(glassInfo!=null){ + tasking.setBatchNumber(glassInfo.getBatchNumber()); + tasking.setScanId(glassInfo.getScanId()); + tasking.setProgramId(glassInfo.getProgramId()); + tasking.setTaskType(glassInfo.getTaskType()); + tasking.setTaskSequence(glassInfo.getTaskSequence()); + tasking.setTaskQuantity(glassInfo.getTaskQuantity()); + tasking.setLength(glassInfo.getLength()); + tasking.setWidth(glassInfo.getWidth()); + tasking.setThickness(glassInfo.getThickness()); + tasking.setDrawingGlue(glassInfo.getDrawingGlue()); + tasking.setDrawingMarking(glassInfo.getDrawingMarking()); + tasking.setSilkScreenX(glassInfo.getSilkScreenX()); + tasking.setSilkScreenY(glassInfo.getSilkScreenY()); + tasking.setIsMarking(glassInfo.getIsMarking()); + tasking.setIsSilkScreen(glassInfo.getIsSilkScreen()); + tasking.setLineConfigurationId(1L); + + } + } + else { + tasking.setTaskType("瀹氬埗"); + tasking.setLineConfigurationId(1L); + } + return save(tasking); + } + + @Override + public boolean updateTasking(String scanId) { + 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 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; + } + } -- Gitblit v1.8.0