From d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 11 十月 2024 08:39:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java |  122 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 122 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
new file mode 100644
index 0000000..3b1819f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -0,0 +1,122 @@
+package com.mes.engineering.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.mapper.EngineeringMapper;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+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 wu
+ * @since 2024-04-22
+ */
+@Service
+@Slf4j
+public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
+
+    @Autowired
+    OptimizeProjectMapper optimizeProjectMapper;
+    @Autowired
+    private EngineeringMapper engineeringMapper;
+
+    //寮�濮�/鏆傚仠浠诲姟
+    @Override
+    public  boolean  changeTask(String projectId, Integer state) {
+        //鏆傚仠姝e湪杩涜宸ョ▼
+        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+        pauseWrapper.set(Engineering::getState,0);
+        pauseWrapper.eq(Engineering::getState,1);
+        boolean pause = pauseWrapper.update();
+        //浣跨敤projectId浣滀负鏉′欢寮�濮嬪伐绋�
+        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+        wrapper.set(Engineering::getState,state);
+        wrapper.eq(Engineering::getEngineerId,projectId);
+        wrapper.update();
+        return pause;
+    }
+
+    @Override
+    @DS("pp")
+    public List<Engineering> selectEngineering(String engineeringId) {
+        //鏌ヨ閽㈠寲宸ョ▼淇℃伅
+        List<OptimizeProject> optimizeEngineerings = null;
+        if (engineeringId != null) {
+            QueryWrapper<OptimizeProject> wrapper = new QueryWrapper<>();
+            wrapper.select("project_no,project_name,avg_cut_pct,valid_cut_pct,last_cut_pct,glass_total,glass_total_area,raw_stock_qty,raw_stock_area,glass_type,remark ")
+                    .eq("project_no", engineeringId);
+            optimizeEngineerings = optimizeProjectMapper.selectList(wrapper);
+
+        }
+        List<Engineering> resultList=new ArrayList<>();
+// 閬嶅巻鏌ヨ缁撴灉璧嬪��
+        if (optimizeEngineerings != null) {
+            for (OptimizeProject map : optimizeEngineerings) {
+                // 鍒涘缓涓�涓柊鐨� OptimizeProject 瀵硅薄
+                Engineering engineering = new Engineering();
+                // 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeProject 瀵硅薄鐨勭浉搴斿瓧娈典笂
+                engineering.setEngineerId( map.getProjectNo());//宸ョ▼id
+                engineering.setEngineerName( map.getProjectName());//宸ョ▼鍚嶇О
+                engineering.setAvgAvailability( map.getAvgCutPct());//骞冲潎浼樺寲鐜�
+                engineering.setValidAvailability( map.getValidCutPct());//鏈夋晥浼樺寲鐜�
+                engineering.setLastAvailability( map.getLastCutPct());//灏剧墖浼樺寲鐜�
+                engineering.setState(0);//鐘舵��
+                engineering.setGlassTotal( map.getGlassTotal());//灏忕墖鐜荤拑鎬绘暟
+                engineering.setGlassTotalArea( map.getGlassTotalArea());//灏忕墖鎬婚潰绉�
+                engineering.setPlanPatternTotal( map.getRawStockQty());//璁″垝鍘熺墖鎬绘暟
+                engineering.setPlanPatternTotalArea( map.getRawStockArea());//璁″垝鍘熺墖鎬婚潰绉�
+                engineering.setFilmsId( map.getGlassType());//鑶滅郴
+                engineering.setNotes( map.getRemark());//澶囨敞
+                // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
+                resultList.add(engineering);
+            }
+        }
+        log.info("鏌ヨ鍑洪挗鍖栧伐绋嬮泦鍚堜繚瀛樺埌瀹炰綋绫粄}",resultList);
+        return resultList;
+    }
+
+    @Override
+    public void saveEngineering(List<Engineering> engineering) {
+        this.saveBatch(engineering);
+        //淇濆瓨閽㈠寲宸ョ▼淇℃伅
+    }
+
+    @Override
+    public  Engineering selectInitiate(Integer state) {
+        //鏌ヨ鏄惁鏈夊紑濮嬩笂鐗囩殑宸ョ▼浠诲姟
+        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+            wrapper.eq("state", state);
+        return engineeringMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<Engineering> selectTask() {
+        //鏌ヨ鍙紑濮嬩换鍔$殑宸ョ▼
+        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+        wrapper.eq("state", 0);
+        return engineeringMapper.selectList(wrapper);
+    }
+
+    @Override
+    public boolean pauseTask(String engineerId, Integer state) {
+        //鏆傚仠姝e湪杩涜宸ョ▼
+        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+        pauseWrapper.set(Engineering::getState,0);
+        pauseWrapper.eq(Engineering::getState,1);
+        return  pauseWrapper.update();
+    }
+
+}

--
Gitblit v1.8.0