From 5ad6234b30f68ae65d6ffc345e874af09c56f4e3 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期五, 21 二月 2025 15:15:54 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject --- hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 232 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java new file mode 100644 index 0000000..4410f73 --- /dev/null +++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java @@ -0,0 +1,232 @@ +package com.mes.uppattenusage.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.query.MPJQueryWrapper; +import com.mes.damage.entity.request.DamageRequest; +import com.mes.damage.service.DamageService; +import com.mes.engineering.entity.Engineering; +import com.mes.engineering.service.EngineeringService; +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.mapper.UpPattenUsageMapper; +import com.mes.uppattenusage.service.UpPattenUsageService; +import com.mes.utils.RedisUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author zhoush + * @since 2024-04-18 + */ +@Service +@Slf4j +public class UpPattenUsageServiceImpl extends MPJBaseServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService { + + @Autowired + OptimizeProjectMapper optimizeProjectMapper; + @Autowired + EngineeringService engineeringService; + @Autowired + DamageService damageService; + @Autowired + RedisUtil redisUtil; + @Override + public List<UpPattenUsage> prioritylist() { + //鑾峰彇姝e湪涓婄墖鐨勪换鍔d + Engineering engineering= engineeringService.selectInitiate(1); + //log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering); + if(engineering!=null){ + LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId()); + return this.list(wrapper); + } else { + return null; + } + + } + + @Override + public List<UpPattenUsage> selectLoadTask(Engineering cell) { + //鑾峰彇姝e湪涓婄墖鐨勪换鍔d + Engineering engineering = engineeringService.selectInitiates(1, cell.getStationCell()); + //log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering); + if(engineering!=null){ + LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId()); + if (cell.getState() != null) { + wrapper.eq(UpPattenUsage::getState, cell.getState()); + } + return this.list(wrapper); + } else { + return null; + } + } + + @Override + public List<UpPattenUsage> selectUpPattenUsage(UpPattenUsage upPattenUsage) { + LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UpPattenUsage::getEngineeringId, upPattenUsage.getEngineeringId()); +// .eq(UpPattenUsage::getStationCell, upPattenUsage.getStationCell()) +// .eq(UpPattenUsage::getFilmRemove, upPattenUsage.getFilmRemove()); + + 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.realwidth as width,b.realheight as height ,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.stock_id") + .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(map.getProjectNo()); + optimizeProject.setFilmsId( map.getGlassType()); + optimizeProject.setWidth(map.getWidth()); + optimizeProject.setHeight( map.getHeight()); + optimizeProject.setThickness(map.getGlassThickness()); + optimizeProject.setLayoutSequence( map.getStockId()); + optimizeProject.setState(0); + // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓� + resultList.add(optimizeProject); + } + } + log.info("鏌ヨ鍑轰笂鐗囬『搴忛泦鍚堜繚瀛樺埌瀹炰綋绫粄}",resultList); + return resultList; + } + + @Override + public void saveUpPattenUsage(List<UpPattenUsage> upPattenUsage) { + if (CollectionUtil.isEmpty(upPattenUsage)){ + return; + } + String engineerId = upPattenUsage.get(0).getEngineeringId(); + int count = this.count(new LambdaQueryWrapper<UpPattenUsage>().eq(UpPattenUsage::getEngineeringId, engineerId)); + if (count <=0){ + //淇濆瓨鍘熺墖浣跨敤璇︽儏琛� + this.saveBatch(upPattenUsage); + } + } + + @Override + public void updateUpPattenUsageState(UpPattenUsage upPattenUsage, Integer state) { + upPattenUsage.setState(state); + boolean updateSuccess = this.updateById(upPattenUsage); + log.info("鏇存柊鐘舵�亄}", updateSuccess); + //鏇存柊鐘舵�� + } + + @Override + public UpPattenUsage selectedTaskEngineering(String engineeringId) { + return null; + } + + @Override + public UpPattenUsage selectedEngineering(String engineerId) { + QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>(); + wrapper.eq("engineering_id", engineerId) +// .eq("station_cell", stationCell) +// .eq("film_remove", filmRemove) + .last("limit 1"); + log.info("鏌ヨ棰勮鍙傛暟"); + log.info("鏌ヨ棰勮鍙傛暟{}", this.getOne(wrapper)); + return this.getOne(wrapper); + } + + @Override + public void deleteTask(String engineerId) { + QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>(); + wrapper.eq("engineering_id",engineerId); + this.remove(wrapper); + } + + + + @Override + public UpPattenUsage selectOverTask() { + QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>(); + wrapper.gt("state",0) + .lt("state",99) + .last("limit 1"); + return this.getOne(wrapper); + } + + @Override + //鑾峰彇鏈�鍚庝竴鍧楃幓鐠� + public UpPattenUsage selectSequence(UpPattenUsage upPattenUsage) { + QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>(); + wrapper.eq("engineering_id",upPattenUsage.getEngineeringId()) + .orderByDesc("layout_sequence") + .last("limit 1"); + return this.getOne(wrapper); + } + + @Override + public Boolean updateGlassState(UpPattenUsage upPattenUsage) { + UpdateWrapper<UpPattenUsage> updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", upPattenUsage.getId()) + .set("state", upPattenUsage.getState()); + return this.update(updateWrapper); + } + + @Override + public String setRawGlassTaskRequest(Engineering request) { + // 璋冪敤 RedisUtil 淇濆瓨 loadGlass + if (request == null) { + redisUtil.deleteObject("loadGlassRequest"); + } else { + redisUtil.setCacheObject("loadGlassRequest", request); + } + return "success"; + } + + @Override + public String setRawGlassTaskRequest2(Engineering request) { + // 璋冪敤 RedisUtil 淇濆瓨 loadGlass + if (request == null) { + redisUtil.deleteObject("loadGlassRequest2"); + } else { + redisUtil.setCacheObject("loadGlassRequest2", request); + } + return "success"; + } + + + public Object Engineering(Engineering request) { + return null; + } + + @Override + public String identControls(DamageRequest request) { + //灏嗚瘑鍒牬鎹熺殑鐜荤拑鐩存帴鍔犲叆鐮存崯琛� + damageService.autoSubmitReport(request.getGlassId(), request.getLine(), request.getWorkingProcedure(), "涓婄墖鏈�", request.getState()); + return "success"; + } +} -- Gitblit v1.8.0