| | |
| | | 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; |
| | |
| | | private MachineMapper machineMapper; |
| | | @Autowired |
| | | private LineConfigurationService lineConfigurationService; |
| | | |
| | | @Autowired |
| | | KBBTLensSortingMapper kBBTLensSortingMapper; |
| | | |
| | | /** |
| | | * @param 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("正在工作"); |
| | | if(baseMapper.updateById(tasking)>0){ |
| | | return tasking; |
| | |
| | | */ |
| | | @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,"正常") |
| | | .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("正在工作"); |
| | | if(baseMapper.updateById(tasking)>0){ |
| | | return tasking; |
| | |
| | | .eq(Tasking::getScanId,scan_id) |
| | | .eq(Tasking::getGlassState,"正常") |
| | | .eq(Tasking::getState,"线上") |
| | | .ne(Tasking::getWorkState,"完工") |
| | | .le(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence()) |
| | | .orderByAsc(Tasking::getTaskSequence)); |
| | | if(!list.isEmpty()){ |
| | |
| | | machine.setTodayCount(taskSequence); |
| | | machineMapper.updateById(machine); |
| | | tasking.setTaskSequence(taskSequence); |
| | | |
| | | tasking.setWorkState("正在工作"); |
| | | 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; |
| | |
| | | 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); |
| | |
| | | @Override |
| | | public int finishMachineTask(Machine machine) { |
| | | List<Tasking> list=this.findMachineWorkStateTask(machine,"正在工作"); |
| | | //当前设备的线路配置 |
| | | //查询当前设备线路配置 |
| | | 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()) |
| | |
| | | .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); |
| | | } |
| | | |
| | | } |
| | |
| | | .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); |
| | | } |
| | |
| | | .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); |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | 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){ |
| | |
| | | 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); |
| | |
| | | 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(); |