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.*; /** *

* 服务实现类 *

* * @author zhoush * @since 2024-04-18 */ @Service @Slf4j public class UpPattenUsageServiceImpl extends MPJBaseServiceImpl implements UpPattenUsageService { @Autowired OptimizeProjectMapper optimizeProjectMapper; @Override public List prioritylist(int state) { log.info("将参数传入到查询类里,工程号做非空判断模糊查询"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(UpPattenUsage::getState,state); log.info("返回工程信息"); return this.list(wrapper); } @Override @DS("pp") public List selectSaveUpPattenUsage(String engineeringId) { List upPattenUsageList = null; if (engineeringId != null) { upPattenUsageList = optimizeProjectMapper.selectJoinList(OptimizeUpPattenUsage.class, new MPJQueryWrapper() .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 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) { this.saveBatch(upPattenUsage); //保存原片使用详情表 } //@Override public void selectSaveGlassinfo(String engineeringId) { //保存玻璃信息表 //optimizeProjectMapper.selectJoinList(); } }