huang
2025-05-20 2c2413760b6467bf62402dba7338bd3bbcbd7341
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -191,7 +191,17 @@
     */
    @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())){
@@ -228,6 +238,7 @@
                    .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()){
@@ -315,11 +326,12 @@
    @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())
@@ -328,12 +340,16 @@
                    .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("等待");
@@ -342,7 +358,6 @@
                else{
                    tasking.setWorkState("完工");
                    return baseMapper.updateById(tasking);
                    //return this.stopTasking(tasking);
                }
            }
@@ -512,9 +527,11 @@
                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.getMode()==3){
                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){
@@ -527,7 +544,9 @@
                    if (machine.getId()==24){
                        List<KBBTLensSorting> list=kBBTLensSortingMapper.selectList(new QueryWrapper<KBBTLensSorting>().lambda()
                                .eq(KBBTLensSorting::getBarcode,scanId)
                                .notLike(KBBTLensSorting::getProductionOrder,"防碎膜"));
                                .notLike(KBBTLensSorting::getProductionName,"防碎膜")
                                .notLike(KBBTLensSorting::getProductionName,"磨砂")
                                .notLike(KBBTLensSorting::getProductionName,"倒角"));
                        if (list.size()>0){
                            Warehouse=list.get(0).getWarehouse();
                        }