严智鑫
2024-12-11 044c32c15ee9ccac6f3b60eb6745025e2f4480f2
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -7,6 +7,7 @@
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;
@@ -45,6 +46,9 @@
    private MachineMapper machineMapper;
    @Autowired
    private LineConfigurationService lineConfigurationService;
    @Autowired
    KBBTLensSortingMapper kBBTLensSortingMapper;
    /**
     * @param machine
@@ -169,6 +173,10 @@
        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;
@@ -187,6 +195,10 @@
        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;
@@ -229,8 +241,14 @@
                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;
@@ -273,6 +291,10 @@
            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);
@@ -308,12 +330,19 @@
            );
            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("结束");
                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);
                    //return this.stopTasking(tasking);
                }
            }
@@ -338,6 +367,10 @@
                .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);
        }
@@ -356,6 +389,10 @@
                .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);
        }
@@ -370,6 +407,10 @@
    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);
        }
@@ -384,6 +425,10 @@
    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);
        }
@@ -449,14 +494,27 @@
        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::getState,"线下")
                        .ne(Tasking::getGlassState,"破损"));
                if(listTasking.size()<primitiveTaskList.get(0).getTaskQuantity()){
                if((listTasking.size()<primitiveTaskList.get(0).getTaskQuantity())||machine.getMode()==3){
                    Tasking tasking=primitiveTaskService.convertListTasking(primitiveTask,lineConfiguration.getId());
                    Integer taskSequence=1;
                    if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){
@@ -465,6 +523,20 @@
                        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::getProductionOrder,"防碎膜"));
                        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);
@@ -474,19 +546,14 @@
                    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();