From 09a010c5dc11c68a866a6075a74bd1bbefb4a9a8 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 24 六月 2024 16:38:23 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java |  133 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 130 insertions(+), 3 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
index 008b424..e7bdf13 100644
--- 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
@@ -1,10 +1,25 @@
 package com.mes.uppattenusage.service.impl;
 
+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.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import com.mes.uppattenusage.service.UpPattenUsageService;
+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>
@@ -12,9 +27,121 @@
  * </p>
  *
  * @author zhoush
- * @since 2024-04-07
+ * @since 2024-04-18
  */
 @Service
-public class UpPattenUsageServiceImpl extends ServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
+@Slf4j
+public class UpPattenUsageServiceImpl extends MPJBaseServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
+
+    @Autowired
+    OptimizeProjectMapper optimizeProjectMapper;
+    @Autowired
+    EngineeringService engineeringService;
+    @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> selectUpPattenUsage(UpPattenUsage upPattenUsage) {
+        LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(UpPattenUsage::getEngineeringId,upPattenUsage.getEngineeringId());
+        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.o_width as width,b.o_height 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) {
+        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 selectedEngineering(String engineeringId) {
+        QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>();
+        wrapper.eq("engineering_id",engineeringId)
+                .last("limit 1");
+        return this.getOne(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);
+    }
+
 
 }

--
Gitblit v1.8.0