From 0b343113e2fc93ae6679adadc075d92dbcf7f5c8 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期四, 22 五月 2025 14:56:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java |   92 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 71 insertions(+), 21 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java
index f175d09..49a8da2 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java
@@ -5,56 +5,59 @@
 import com.aps.core.domain.ApsGasPipelineCapacityPlan;
 import com.aps.core.mapper.ApsGasPipelineCapacityPlanMapper;
 import com.aps.core.service.IApsGasPipelineCapacityPlanService;
+import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 /**
  * 姘斾綋绠¤矾浜ц兘瑙勫垝Service涓氬姟灞傚鐞�
- * 
+ *
  * @author hjy
  * @date 2025-04-24
  */
 @Service
-public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService 
-{
+public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService {
     @Autowired
     private ApsGasPipelineCapacityPlanMapper apsGasPipelineCapacityPlanMapper;
 
     /**
      * 鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝
-     * 
+     *
      * @param id 姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭
      * @return 姘斾綋绠¤矾浜ц兘瑙勫垝
      */
     @Override
-    public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id)
-    {
+    public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id) {
         return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanById(id);
     }
 
     /**
      * 鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝鍒楄〃
-     * 
+     *
      * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝
      * @return 姘斾綋绠¤矾浜ц兘瑙勫垝
      */
     @Override
-    public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
         return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan);
     }
 
     /**
      * 鏂板姘斾綋绠¤矾浜ц兘瑙勫垝
-     * 
+     *
      * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝
      * @return 缁撴灉
      */
     @Override
-    public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
         apsGasPipelineCapacityPlan.setCreateTime(DateUtils.getNowDate());
         apsGasPipelineCapacityPlan.setCreateBy(SecurityUtils.getUsername());
         return apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan);
@@ -62,13 +65,12 @@
 
     /**
      * 淇敼姘斾綋绠¤矾浜ц兘瑙勫垝
-     * 
+     *
      * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝
      * @return 缁撴灉
      */
     @Override
-    public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
         apsGasPipelineCapacityPlan.setUpdateTime(DateUtils.getNowDate());
         apsGasPipelineCapacityPlan.setUpdateBy(SecurityUtils.getUsername());
         return apsGasPipelineCapacityPlanMapper.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan);
@@ -76,25 +78,73 @@
 
     /**
      * 鎵归噺鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids)
-    {
+    public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids) {
         return apsGasPipelineCapacityPlanMapper.deleteApsGasPipelineCapacityPlanByIds(ids);
     }
 
     /**
      * 鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝淇℃伅
-     * 
+     *
      * @param id 姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteApsGasPipelineCapacityPlanById(Long id)
-    {
+    public int deleteApsGasPipelineCapacityPlanById(Long id) {
         return apsGasPipelineCapacityPlanMapper.deleteApsGasPipelineCapacityPlanById(id);
     }
+
+    @SneakyThrows
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void copyPlan(String date, String factory, String major, String toStart, String toEnd) {
+
+        String[] dtSrc = date.split("-");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+        Calendar dtStart = Calendar.getInstance();
+        dtStart.setTime(sdf.parse(toStart));
+        dtStart.set(Calendar.DAY_OF_MONTH, 1);
+        Calendar dtEnd = Calendar.getInstance();
+        dtEnd.setTime(sdf.parse(toEnd));
+        dtEnd.set(Calendar.DAY_OF_MONTH, 2);
+
+        ApsGasPipelineCapacityPlan plan = new ApsGasPipelineCapacityPlan();
+        plan.setYear(Integer.valueOf(dtSrc[0]).toString());
+        plan.setMonth(Integer.valueOf(dtSrc[1]).toString());
+        plan.setOrgCode(factory);
+        plan.setMajor(major);
+        List<ApsGasPipelineCapacityPlan> templatePlans = apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(plan);
+        templatePlans.forEach(p -> {
+            p.setCreateBy(SecurityUtils.getUsername());
+            p.setCreateTime(new Date());
+            p.setUpdateBy(null);
+            p.setUpdateTime(null);
+//                apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(p);
+        });
+
+        while (dtStart.before(dtEnd)) {
+            String year = dtStart.get(Calendar.YEAR) + "";
+            String month = (dtStart.get(Calendar.MONTH) + 1) + "";
+            apsGasPipelineCapacityPlanMapper.deleteByDateAndFactory(
+                    year,
+                    month,
+                    factory,
+                    major
+            );
+            templatePlans.forEach(p -> {
+                p.setId(null);
+                p.setYear(year);
+                p.setMonth(month);
+//                apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(p);
+            });
+            apsGasPipelineCapacityPlanMapper.insert(templatePlans);
+
+            dtStart.add(Calendar.MONTH, 1);
+        }
+
+    }
 }

--
Gitblit v1.9.3