From db1be72e80a9532ceda5000d79c153eb859caa05 Mon Sep 17 00:00:00 2001
From: bluejay <253316343@qq.com>
Date: 星期一, 14 四月 2025 16:46:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java |  109 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 71 insertions(+), 38 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
index 172c122..3445108 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
@@ -1,66 +1,66 @@
 package com.aps.core.service.impl;
 
-import java.util.List;
-
 import com.aps.common.core.utils.DateUtils;
 import com.aps.common.core.utils.StringUtils;
 import com.aps.common.core.utils.uuid.IdUtils;
-import com.aps.core.domain.*;
+import com.aps.core.domain.ApsWeldSeam;
+import com.aps.core.domain.ApsWeldSeamStatistics;
+import com.aps.core.domain.ApsWeldSeamTemp;
+import com.aps.core.mapper.ApsWeldSeamMapper;
+import com.aps.core.mapper.ApsWeldSeamStatisticsMapper;
 import com.aps.core.mapper.ApsWeldSeamTempMapper;
+import com.aps.core.service.IApsWeldSeamService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.aps.core.mapper.ApsWeldSeamMapper;
-import com.aps.core.service.IApsWeldSeamService;
-import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * 鐒婄紳Service涓氬姟灞傚鐞�
- * 
+ *
  * @author wwj
  * @date 2025-04-09
  */
 @Service
-public class ApsWeldSeamServiceImpl implements IApsWeldSeamService 
-{
+public class ApsWeldSeamServiceImpl implements IApsWeldSeamService {
     @Autowired
     private ApsWeldSeamMapper apsWeldSeamMapper;
     @Autowired
     private ApsWeldSeamTempMapper apsWeldSeamTempMapper;
+    @Autowired
+    private ApsWeldSeamStatisticsMapper apsWeldSeamStatisticsMapper;
 
     /**
      * 鏌ヨ鐒婄紳
-     * 
+     *
      * @param id 鐒婄紳涓婚敭
      * @return 鐒婄紳
      */
     @Override
-    public ApsWeldSeam selectApsWeldSeamById(String id)
-    {
+    public ApsWeldSeam selectApsWeldSeamById(String id) {
         return apsWeldSeamMapper.selectApsWeldSeamById(id);
     }
 
     /**
      * 鏌ヨ鐒婄紳鍒楄〃
-     * 
+     *
      * @param apsWeldSeam 鐒婄紳
      * @return 鐒婄紳
      */
     @Override
-    public List<ApsWeldSeam> selectApsWeldSeamList(ApsWeldSeam apsWeldSeam)
-    {
+    public List<ApsWeldSeam> selectApsWeldSeamList(ApsWeldSeam apsWeldSeam) {
         return apsWeldSeamMapper.selectApsWeldSeamList(apsWeldSeam);
     }
 
     /**
      * 鏂板鐒婄紳
-     * 
+     *
      * @param apsWeldSeam 鐒婄紳
      * @return 缁撴灉
      */
     @Override
-    public int insertApsWeldSeam(ApsWeldSeam apsWeldSeam)
-    {
+    public int insertApsWeldSeam(ApsWeldSeam apsWeldSeam) {
         apsWeldSeam.setId(IdUtils.fastUUID());
         apsWeldSeam.setCreateTime(DateUtils.getNowDate());
         return apsWeldSeamMapper.insertApsWeldSeam(apsWeldSeam);
@@ -68,58 +68,55 @@
 
     /**
      * 淇敼鐒婄紳
-     * 
+     *
      * @param apsWeldSeam 鐒婄紳
      * @return 缁撴灉
      */
     @Override
-    public int updateApsWeldSeam(ApsWeldSeam apsWeldSeam)
-    {
+    public int updateApsWeldSeam(ApsWeldSeam apsWeldSeam) {
         return apsWeldSeamMapper.updateApsWeldSeam(apsWeldSeam);
     }
 
     /**
      * 鎵归噺鍒犻櫎鐒婄紳
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鐒婄紳涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteApsWeldSeamByIds(String[] ids)
-    {
+    public int deleteApsWeldSeamByIds(String[] ids) {
         return apsWeldSeamMapper.deleteApsWeldSeamByIds(ids);
     }
 
     /**
      * 鍒犻櫎鐒婄紳淇℃伅
-     * 
+     *
      * @param id 鐒婄紳涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteApsWeldSeamById(String id)
-    {
+    public int deleteApsWeldSeamById(String id) {
         return apsWeldSeamMapper.deleteApsWeldSeamById(id);
     }
 
     @Override
     public int confirmWeldSeam(ApsWeldSeamTemp apsWeldSeamTemp) {
         //鏌ヨ涓存椂琛ㄦ暟鎹�
-        List<ApsWeldSeamTemp> apsWeldSeamTemps=apsWeldSeamTempMapper.selectApsWeldSeamTempList(apsWeldSeamTemp);
-        int count=0;
-        String[] ids=new String[apsWeldSeamTemps.size()];
-        for (int i = 0; i <apsWeldSeamTemps.size() ; i++) {
+        List<ApsWeldSeamTemp> apsWeldSeamTemps = apsWeldSeamTempMapper.selectApsWeldSeamTempList(apsWeldSeamTemp);
+        int count = 0;
+        String[] ids = new String[apsWeldSeamTemps.size()];
+        for (int i = 0; i < apsWeldSeamTemps.size(); i++) {
             //璁板綍涓存椂琛╥d
-            ids[i]=apsWeldSeamTemps.get(i).getId();
-            ApsWeldSeam apsWeldSeam=new ApsWeldSeam();
+            ids[i] = apsWeldSeamTemps.get(i).getId();
+            ApsWeldSeam apsWeldSeam = new ApsWeldSeam();
             BeanUtils.copyProperties(apsWeldSeamTemps.get(i), apsWeldSeam);
             //閫氳繃宸ュ崟鍙锋煡璇㈡槸鍚﹀瓨鍦ㄦ暟鎹�
-            ApsWeldSeam apsWeldSeam1=apsWeldSeamMapper.selectApsWeldSeamByWorkOrderNo(apsWeldSeam.getWorkOrderNo());
+            ApsWeldSeam apsWeldSeam1 = apsWeldSeamMapper.selectApsWeldSeamByWorkOrderNo(apsWeldSeam.getWorkOrderNo());
             //褰撳伐鍗曞彿瀛樺湪鍒欐洿鏂版暟鎹惁鍒欐彃鍏ユ暟鎹�
-            if(StringUtils.isNotEmpty(apsWeldSeam1.getId())){
+            if (StringUtils.isNotEmpty(apsWeldSeam1.getId())) {
                 apsWeldSeam.setId(apsWeldSeam1.getId());
                 apsWeldSeamMapper.updateApsWeldSeam(apsWeldSeam);
-            }else {
+            } else {
                 //鎻掑叆姝e紡琛紝骞惰褰�
                 apsWeldSeam.setId(IdUtils.fastUUID());
                 apsWeldSeamMapper.insertApsWeldSeam(apsWeldSeam);
@@ -127,11 +124,47 @@
             count++;
         }
         //鎻掑叆鏁伴噺涓庝复鏃惰〃鏌ヨ涓�鐩村垯鍒犻櫎涓存椂琛ㄦ暟鎹�
-        if (count==apsWeldSeamTemps.size()) {
+        if (count == apsWeldSeamTemps.size()) {
             apsWeldSeamTempMapper.deleteApsWeldSeamTempByIds(ids);
         }
         //鎻掑叆鐒婄紳缁熻琛�
-        List<ApsWeldSeamStatistics> apsWeldSeamStatistics=apsWeldSeamMapper.weldSeamStat(apsWeldSeamTemps);
+        List<ApsWeldSeamStatistics> apsWeldSeamStatistics = apsWeldSeamMapper.weldSeamStat(apsWeldSeamTemps);
+        for (int i = 0; i < apsWeldSeamStatistics.size(); i++) {
+            List<ApsWeldSeamStatistics> apsWeldSeamStatistics1 = apsWeldSeamStatisticsMapper.selectApsWeldSeamStatisticsList(apsWeldSeamStatistics.get(i));
+            if (apsWeldSeamStatistics1.size() > 0) {
+                ApsWeldSeamStatistics apsWeldSeamStatistics2 = apsWeldSeamStatistics1.get(0);
+                apsWeldSeamStatistics2.setPipingOrderRequirement(apsWeldSeamStatistics.get(i).getPipingOrderRequirement());
+                apsWeldSeamStatistics2.setGasOrderRequirement(apsWeldSeamStatistics.get(i).getGasOrderRequirement());
+                apsWeldSeamStatistics2.setPipingPredictionRequirement(apsWeldSeamStatistics.get(i).getPipingPredictionRequirement());
+                apsWeldSeamStatistics2.setGasPredictionRequirement(apsWeldSeamStatistics.get(i).getGasPredictionRequirement());
+                //棰勭暀绱ф�ヨ鍗曚骇鍑烘槸鍚︿负绌�
+                if (apsWeldSeamStatistics2.getReserveEmergencyOrderOutput() != null) {
+                    apsWeldSeamStatistics2.setTotal(apsWeldSeamStatistics2.getPipingOrderRequirement() + apsWeldSeamStatistics2.getPipingPredictionRequirement() + apsWeldSeamStatistics2.getGasOrderRequirement() + apsWeldSeamStatistics2.getGasPredictionRequirement() + apsWeldSeamStatistics2.getReserveEmergencyOrderOutput());
+                    //澶╂暟涓嶄负绌鸿绠楅渶姹傛棩鐒婄紳
+                    if(apsWeldSeamStatistics2.getDays()!=null){
+                        // 杞崲涓� double 绫诲瀷杩涜闄ゆ硶杩愮畻
+                        double result = (double) apsWeldSeamStatistics2.getTotal() / apsWeldSeamStatistics2.getDays();
+                        // 鍥涜垗浜斿叆
+                        long roundedResult = Math.round(result);
+                        apsWeldSeamStatistics2.setRequirementDayWeldSeam(roundedResult);
+                        //鍒ゆ柇鐢熶骇鏃ョ剨缂濅笉涓虹┖璁$畻鏄惁婊¤冻
+                        if(apsWeldSeamStatistics2.getProductionDayWeldSeam()!=null){
+                            if(apsWeldSeamStatistics2.getProductionDayWeldSeam()>=apsWeldSeamStatistics2.getRequirementDayWeldSeam()){
+                                apsWeldSeamStatistics2.setIsSatisfy("鏄�");
+                            }else{
+                                apsWeldSeamStatistics2.setIsSatisfy("鍚�");
+                            }
+                        }
+                    }
+                }
+                apsWeldSeamStatisticsMapper.updateApsWeldSeamStatistics(apsWeldSeamStatistics2);
+            }else {
+                apsWeldSeamStatistics.get(i).setId(IdUtils.fastUUID());
+                apsWeldSeamStatistics.get(i).setCreateTime(DateUtils.getNowDate());
+                apsWeldSeamStatisticsMapper.insertApsWeldSeamStatistics(apsWeldSeamStatistics.get(i));
+            }
+
+        }
         return 1;
     }
 }

--
Gitblit v1.9.3