严智鑫
2025-03-11 67cbfd8f7c2ed9598eef92470313f3cf31028ea1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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.md.entity.*;
import com.mes.md.mapper.PrimitiveTaskMapper;
import com.mes.md.service.KBBTJPDrawingBPService;
import com.mes.md.service.LineConfigurationService;
import com.mes.md.service.PrimitiveTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.Date;
import java.util.List;
 
/**
 * <p>
 * 原始任务表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class PrimitiveTaskServiceImpl extends MPJBaseServiceImpl<PrimitiveTaskMapper, PrimitiveTask> implements PrimitiveTaskService {
 
    @Autowired
    LineConfigurationService lineConfigurationService;
 
    @Autowired
    KBBTJPDrawingBPService kBBTJPDrawingBPService;
 
    /**
     *查询标准未领取的任务
     * @return
     */
    @Override
    public List<PrimitiveTask> findPrimitiveTaskNotFinish(){
        return baseMapper.selectList(new QueryWrapper<PrimitiveTask>().lambda()
                .eq(PrimitiveTask::getIsWorking,0)
                .eq(PrimitiveTask::getTaskType,"标准")
                .orderByAsc(PrimitiveTask::getCreateTime)
                .orderByAsc(PrimitiveTask::getTaskSequence));
    }
 
    /**
     *查询标准此线路已领取的任务
     * @return
     */
    @Override
    public List<PrimitiveTask> findPrimitiveTasking(Machine machine,Long line){
        return baseMapper.selectList(new MPJLambdaWrapper<PrimitiveTask>()
                .eq(PrimitiveTask::getIsWorking,1)
                .eq(PrimitiveTask::getGetLine,line)
                .eq(PrimitiveTask::getTaskType,"标准")
                .orderByAsc(PrimitiveTask::getBeginTime));
    }
 
    /**
     *  标准:领取任务  /结束任务
     * @return
     */
    @Override
    public int startOrStopPrimitiveTasking(PrimitiveTask primitiveTask){
        if (primitiveTask.getIsWorking()==1){//领取
            return kBBTJPDrawingBPService.receiveKBBTJPDrawingBP(primitiveTask.getId(),primitiveTask.getGetLine());
        }else if (primitiveTask.getIsWorking()==2){//完工
            PrimitiveTask thisPrimitiveTask=baseMapper.selectById(primitiveTask);
            thisPrimitiveTask.setIsWorking(primitiveTask.getIsWorking());
            thisPrimitiveTask.setEndTime(new Date());
            return baseMapper.updateById(thisPrimitiveTask);
        }
        return 0;
    }
 
    @Override
    public boolean updateReportCount(String scanId) {
        //更新报工数量
        UpdateWrapper<PrimitiveTask> wrapper = new UpdateWrapper<>();
        wrapper.eq("scan_id", scanId)
                .set("report_count",1);
        return update(wrapper);
    }
 
    @Override
    public boolean updatePrimitiveTask(PrimitiveTask task) {
        //手动报工更改数量
        UpdateWrapper<PrimitiveTask> wrapper = new UpdateWrapper<>();
        wrapper.eq("batch_number", task.getBatchNumber())
                .set("report_count", task.getReportCount());
        return update(wrapper);
    }
 
    @Override
    public List<PrimitiveTask> selectPrimitiveTask(PrimitiveTask task) {
        //查询报工数据
        return list(new QueryWrapper<>(task)) ;
    }
 
 
    //客户表格转 我们的任务表
    @Override
    public Tasking convertListTasking(PrimitiveTask primitiveTask, Long LineConfigurationId) {
        try {
            Tasking tasking=new Tasking();
            tasking.setLineConfigurationId(LineConfigurationId);
            tasking.setState("线上");
            tasking.setWorkState("等待");
            tasking.setGlassState("正常");
            tasking.setScanId(primitiveTask.getScanId());
            tasking.setProgramId(primitiveTask.getProgramId());
            tasking.setBatchNumber(primitiveTask.getBatchNumber()==null?"":primitiveTask.getBatchNumber());
            tasking.setTaskType(primitiveTask.getTaskType());
            tasking.setLength(primitiveTask.getLength());
            tasking.setWidth(primitiveTask.getWidth());
            tasking.setThickness(primitiveTask.getThickness());
            tasking.setIsMarking((primitiveTask.getDrawingMarking()==null||primitiveTask.getDrawingMarking().isEmpty())?0:1);
            tasking.setDrawingMarking(primitiveTask.getDrawingMarking());
            tasking.setIsSilkScreen(((primitiveTask.getSilkScreenX()==null||primitiveTask.getSilkScreenY()==null||primitiveTask.getSilkScreenX()==0||primitiveTask.getSilkScreenY()==0)?1:0));
            tasking.setSilkScreenX(primitiveTask.getSilkScreenX()==null?0:primitiveTask.getSilkScreenX());
            tasking.setSilkScreenY(primitiveTask.getSilkScreenY()==null?0:primitiveTask.getSilkScreenY());
            tasking.setTaskSequence(primitiveTask.getTaskSequence());
            tasking.setTaskQuantity(primitiveTask.getTaskQuantity());
            tasking.setR_1_1(primitiveTask.getR_1_1()==null?0:primitiveTask.getR_1_1());
            tasking.setR_1_2(primitiveTask.getR_1_2()==null?0:primitiveTask.getR_1_2());
            tasking.setR_2_1(primitiveTask.getR_2_1()==null?0:primitiveTask.getR_2_1());
            tasking.setR_2_2(primitiveTask.getR_2_2()==null?0:primitiveTask.getR_2_2());
            tasking.setR_3_1(primitiveTask.getR_3_1()==null?0:primitiveTask.getR_3_1());
            tasking.setR_3_2(primitiveTask.getR_3_2()==null?0:primitiveTask.getR_3_2());
            tasking.setR_4_1(primitiveTask.getR_4_1()==null?0:primitiveTask.getR_4_1());
            tasking.setR_4_2(primitiveTask.getR_4_2()==null?0:primitiveTask.getR_4_2());
            return tasking;
        }catch (Exception e) {
            return null;
        }
    }
}