wu
2024-04-29 f77c8f18ab49b54c9c0bd7c8cae4962912f792e4
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
package com.mes.uppattenusage.service.impl;
 
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.mapper.OptimizeProjectMapper;
import com.mes.uppattenusage.entity.OptimizeUpPattenUsage;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.UpPattenUsageService;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.*;
 
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-18
 */
@Service
@Slf4j
public class UpPattenUsageServiceImpl extends MPJBaseServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
 
    @Autowired
    OptimizeProjectMapper optimizeProjectMapper;
    @Override
    public List<UpPattenUsage> prioritylist(int state) {
        log.info("将参数传入到查询类里,工程号做非空判断模糊查询");
        LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(UpPattenUsage::getState,state);
        log.info("返回工程信息");
        return this.list(wrapper);
    }
 
    @Override
    @DS("pp")
    public List<UpPattenUsage> selectSaveUpPattenUsage(String engineeringId) {
 
        List<OptimizeUpPattenUsage> upPattenUsageList = null;
        if (engineeringId != null) {
            upPattenUsageList = optimizeProjectMapper.selectJoinList(OptimizeUpPattenUsage.class, new MPJQueryWrapper<OptimizeProject>()
                    .select("t.project_no,t.glass_type,b.width,b.height,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.heat_layout_sort")
                    .leftJoin("optimize_layout b on t.project_no=b.project_no")
                    .eq("b.project_no", engineeringId));
        }
        // 创建一个 List 用于保存映射后的实体对象
        List<UpPattenUsage> resultList = new ArrayList<>();
 
// 遍历查询结果中的每个 Map 对象
        if (upPattenUsageList != null) {
            for (OptimizeUpPattenUsage map : upPattenUsageList) {
                // 创建一个新的 OptimizeProject 对象
                UpPattenUsage optimizeProject = new UpPattenUsage();
                // 将 Map 中的每个键值对映射到 OptimizeProject 对象的相应字段上
                optimizeProject.setEngineeringId((String) map.getProjectNo());
                optimizeProject.setFilmsId((String) map.getGlassType());
                optimizeProject.setWidth((Double) map.getWidth());
                optimizeProject.setHeight((Double) map.getHeight());
                optimizeProject.setThickness((Double)map.getHeight());
                optimizeProject.setLayoutSequence((Integer) map.getHeatLayoutSort());
                optimizeProject.setState(0);
                // 将映射后的对象添加到结果列表中
                resultList.add(optimizeProject);
            }
        }
        log.info("查询出上片顺序集合保存到实体类{}",resultList);
        return resultList;
    }
 
    @Override
    public void saveUpPattenUsage(List<UpPattenUsage> upPattenUsage) {
        this.saveBatch(upPattenUsage);
        //保存原片使用详情表
    }
 
    //@Override
    public void selectSaveGlassinfo(String engineeringId) {
        //保存玻璃信息表
        //optimizeProjectMapper.selectJoinList();
    }
 
 
}