From 2c2413760b6467bf62402dba7338bd3bbcbd7341 Mon Sep 17 00:00:00 2001 From: huang <1532065656@qq.com> Date: 星期二, 20 五月 2025 14:20:38 +0800 Subject: [PATCH] 添加产量报表功能页面 --- JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java | 665 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 559 insertions(+), 106 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 582b0ed..68cd9ce 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,19 +3,17 @@ 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.mes.common.S7object; -import com.mes.device.PlcParameterObject; -import com.mes.md.entity.GlassInfo; -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.github.yulichang.wrapper.MPJLambdaWrapper; +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; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.Objects; @@ -27,53 +25,553 @@ * @author wu * @since 2024-08-28 */ +@Slf4j @Service public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService { @Resource GlassInfoMapper glassInfoMapper; + @Resource + LineConfigurationMapper lineConfigurationMapper; @Autowired GlassInfoService glassInfoService; - 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 + private PrimitiveTaskService primitiveTaskService; - } + @Autowired + private ProjectService projectService; + @Autowired + private PrimitiveTaskMapper primitiveTaskMapper; + + @Autowired + private MachineMapper machineMapper; + @Autowired + private LineConfigurationService lineConfigurationService; + + @Autowired + KBBTLensSortingMapper kBBTLensSortingMapper; /** - * @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 + * 鏌ヨ姝ょ嚎绾夸笂鏈畬宸ョ殑浠诲姟 (绾夸笂/姝e父) 鐨勬寜鎵爜ID鏌ヨ + * @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> findMachineTaskID(Machine machine,String scan_id) { + List<LineConfiguration> machineLineConfiguration=lineConfigurationMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>() + .selectAll(LineConfiguration.class) + .eq(LineConfiguration::getMachineId,machine.getId())); + if(!machineLineConfiguration.isEmpty()){ + //姝よ澶囩嚎璺湭瀹屽伐鐨� 鐨勪换鍔� + List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>() + .selectAll(Tasking.class) + .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId) + .eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId()) + .eq(Tasking::getScanId,scan_id) + .eq(Tasking::getGlassState,"姝e父") + .eq(Tasking::getState,"绾夸笂") + .ne(Tasking::getWorkState,"瀹屽伐") + .orderByAsc(Tasking::getTaskSequence)); + return list; + }else{ + log.info("姝や换鍔D瀛樺湪浣嗘潯浠朵笉婊¤冻锛歿}",scan_id); + } + return null; + } + /** + * @param tasking + * 浠诲姟缁撴潫 + * @return + */ + @Override + public int stopTasking(Tasking tasking){ + //1.鏍囪鎬昏〃浠诲姟缁撴潫 2.鍒犻櫎tasking 琛� + tasking.setWorkState("瀹屽伐"); + baseMapper.updateById(tasking); + //瀹屽伐 /鐮存崯/鎷胯蛋鐨勭幓鐠� + List<Tasking> taskingList=baseMapper.selectList(new QueryWrapper<Tasking>().lambda() + .eq(Tasking::getScanId,tasking.getScanId()) + .and(wrapper->wrapper + .eq(Tasking::getWorkState,"瀹屽伐") + .ne(Tasking::getState,"绾夸笅") + .ne(Tasking::getGlassState,"鐮存崯")) + + ); + if(!taskingList.isEmpty()){ + List<PrimitiveTask> primitiveTask=primitiveTaskMapper.selectList(new QueryWrapper<PrimitiveTask>().lambda() + .eq(PrimitiveTask::getScanId,tasking.getScanId()) + .orderByDesc(PrimitiveTask::getId)); + for(PrimitiveTask task:primitiveTask){ + if (taskingList.size()==task.getTaskQuantity()){ + task.setReportCount(taskingList.size()); + task.setEndTime(new Date()); + primitiveTaskMapper.updateById(task); + return baseMapper.delete(new QueryWrapper<Tasking>().lambda().eq(Tasking::getScanId,tasking.getScanId())); + } + } + } + return 0; + } + /** + * @param machine锛寃orkState + * 鏌ヨ褰撳墠璁惧锛岀嚎涓娿�愮瓑寰�/宸ヤ綔/瀹屽伐銆戠殑浠诲姟 鍗囧簭 (绾夸笂/姝e父) + * @return List<Tasking> + */ + @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; + } + /** + * + * 鏌ヨ绾夸笅姝e父鐨勭幓鐠� + * @return List<Tasking> findDownLineTask(); + */ + @Override + public List<Tasking> findDownLineTask() { + List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>() + .selectAll(Tasking.class) + .eq(Tasking::getGlassState,"姝e父") + .eq(Tasking::getState,"绾夸笅") + .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); + 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; + }; + } + return null; } + /** + * @param machine + * 褰撳墠璁惧鏍囪姝e湪宸ヤ綔锛氶獙璇佺姝D鏄惁鏄� 绾夸笂绛夊緟鐨勪换鍔$涓�鏉� + * @return + */ + @Override + public Tasking startMachineTask(Machine machine, String scan_id) { + //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; + }; + } + } + return null; + } + + /** + * @param machine + * 褰撳墠 鎵爜ID 鏄惁鍦ㄥ綋鍓嶈澶囦互鍓嶅瓨鍦� 瀛樺湪鍒欑洿鎺ヨ烦鍒板綋鍓嶈澶� 骞朵笖鏍囪宸ヤ綔 + * @return + */ + @Override + public Tasking startScanIdMachineTask(Machine machine, String scan_id) { + //鎵惧綋鍓嶈澶囩嚎璺� + List<LineConfiguration> machineLineConfiguration=lineConfigurationMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>() + .selectAll(LineConfiguration.class) + .eq(LineConfiguration::getMachineId,machine.getId())); + if(!machineLineConfiguration.isEmpty()){ + //姝よ澶囩嚎璺湭瀹屽伐鐨� 鐨勪换鍔� + List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>() + .selectAll(Tasking.class) + .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId) + .eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId()) + .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()){ + Tasking tasking=list.get(0); + Integer taskSequence=1; + if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){ + taskSequence=machine.getTodayCount()+1; + }else{ + taskSequence=1; + } + 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; + } + } + } + return null; + } + + /** + * @param machine + * 褰撳墠璁惧鏍囪瀹屾垚锛氭鍦ㄥ伐浣滅殑绗竴涓换鍔� (绾夸笂/姝e父) 杩斿洖瀹屾垚鏁伴噺 + * @return + */ + @Override + public int finishMachineTask(Machine machine,Integer taskSequence) { + 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::getTaskSequence,taskSequence) + .eq(Tasking::getWorkState,"姝e湪宸ヤ綔") + .orderByAsc(Tasking::getTaskSequence)); + //褰撳墠璁惧鐨勭嚎璺厤缃� + 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()) + .eq(LineConfiguration::getIsStart,1) + .gt(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence()) + .orderByAsc(LineConfiguration::getProcessSequence) + .orderByAsc(LineConfiguration::getPrioritySequence) + ); + 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); + }else{ + return this.stopTasking(tasking); + } + + } + } + return 0; + } + + /** + * @param machine + * 褰撳墠璁惧鏍囪瀹屾垚锛氭鍦ㄥ伐浣滅殑绗竴涓换鍔� (绾夸笂/姝e父) 杩斿洖瀹屾垚鏁伴噺 + * @return + */ + @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()) + .eq(LineConfiguration::getIsStart,1) + .gt(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence()) + .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{ + 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); + LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId()); + tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId()); + tasking.setOperationRecordTime(new Date()); + tasking.setOperationMode("浜哄伐"); + tasking.setWorkState("绛夊緟"); + return baseMapper.updateById(tasking); + } + return 0; + } + @Override + public int glassDownLineOne(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); + LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(tasking.getLineConfigurationId()); + tasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId()); + tasking.setOperationRecordTime(new Date()); + tasking.setOperationMode("鑷姩"); + tasking.setState("绾夸笅"); + 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)){ + LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(oldTasking.getLineConfigurationId()); + oldTasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId()); + oldTasking.setOperationRecordTime(new Date()); + oldTasking.setOperationMode("浜哄伐"); + 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)){ + LineConfiguration thisLineConfiguration=lineConfigurationMapper.selectById(oldTasking.getLineConfigurationId()); + oldTasking.setOperationRecord(thisLineConfiguration.getRemark()+thisLineConfiguration.getLineId()); + oldTasking.setOperationRecordTime(new Date()); + oldTasking.setOperationMode("浜哄伐"); + oldTasking.setState("绾夸笅"); + 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; + } + + /** + * @param taskingList + * 鎵归噺淇敼鐘舵�� 銆愪笂绾裤�� + * @return + */ + @Override + public int glassTopLine(Tasking taskingList) { + //褰撳墠璁惧鐨勭嚎璺厤缃� + Long machineId=taskingList.getLineConfigurationId(); + List<LineConfiguration> machineLineConfiguration=lineConfigurationMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>() + .selectAll(LineConfiguration.class) + .eq(LineConfiguration::getMachineId,machineId)); + if(!machineLineConfiguration.isEmpty()){ + Tasking oldTasking=baseMapper.selectById(taskingList); + if (!Objects.isNull(oldTasking)){ + oldTasking.setLineConfigurationId(machineLineConfiguration.get(0).getId()); + oldTasking.setState("绾夸笂"); + oldTasking.setWorkState("绛夊緟"); + oldTasking.setGlassState("姝e父"); + return baseMapper.updateById(oldTasking); + } + } + return 0; + } + + + /** + * @param machine + * 鎵爜璁惧 娣诲姞浠诲姟 + * 鏌ョ湅PrimitiveTask琛ㄦ槸鍚﹀瓨鍦ㄦ鎵爜鏁版嵁 + * 瀛樺湪鍒欐牴鎹� 鍐呭 鍒涘缓 tasking浠诲姟 骞舵帓搴� + * 涓嶅瓨鍦ㄥ垯 鏌ヨ涔濈墽鏁版嵁搴撴坊鍔� PrimitiveTask琛� + * + * @return + */ + @Override + public int scanMachineAdd(Machine machine, String scanId){ + String errorStr=""; + 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,"鐮存崯")); + 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){ + taskSequence=machine.getTodayCount()+1; + }else{ + 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); + } + errorStr="鎵爜ID锛�"+scanId+" 绾夸笂鐜荤拑宸茶揪鍒颁笅鍙戜笂绾� 涓嬪彂浠诲姟鏁帮細"+primitiveTaskList.get(0).getTaskQuantity()+" 浜х嚎浠诲姟鏁�:"+listTasking.size(); + if (!errorStr.equals(machine.getRemark())){ + machine.setRemark(errorStr); + machineMapper.updateById(machine); + } + } + + } + return 0; + } + + @Override public Boolean insertTasking(String status) { @@ -100,46 +598,47 @@ 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) { Tasking glass=new Tasking(); - glass.setCurrentCraft("涓婄墖"); - glass.setState("瀹屾垚"); + glass.setLineConfigurationId(1L); + //glass.setCurrentCraft("涓婄墖"); + glass.setWorkState("瀹屽伐"); glass.setTaskType("瀹氬埗"); //鑾峰彇褰撳墠涓婄墖鐨勫畾鍒朵换鍔d - Tasking tasking= selectTasking(glass); //鑾峰彇褰撳墠鎵弿鐨勭幓鐠冩暟鎹� GlassInfo glassInfo = glassInfoService.selectTaskingByGlass(scanId); 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.setCurrentCraft("鎵爜"); + 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(tasking); + return updateById(glass); } @@ -151,58 +650,12 @@ } - @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); - } + @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