From 8ad701d7f9a2c37e61b1ff53587be9851962d26b Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期四, 22 五月 2025 09:54:43 +0800
Subject: [PATCH] 修改导出模板

---
 /dev/null                                                                                                      |    0 
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsGasPipelineCapacityPlan.java                         |    2 
 aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java |   67 +++++++++++++---------
 aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipelineCapacityPlanMapper.xml                       |    7 ++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsGasPipelineCapacityPlanService.java                |    2 
 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelineMoController.java            |    6 +-
 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java    |    6 +-
 aps-modules/aps-core/src/main/resources/templates/气体预测数据模板v1.0.xlsx                                            |    0 
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java        |   84 +++++++++++++++++++++-------
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipelineCapacityPlanMapper.java                   |    2 
 aps-modules/aps-core/src/main/resources/templates/气体工单数据模板v1.0.xlsx                                            |    0 
 11 files changed, 122 insertions(+), 54 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
index e2b1ddd..fae1314 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
@@ -24,7 +24,7 @@
 
 /**
  * 姘斾綋绠¤矾浜ц兘瑙勫垝Controller
- * 
+ *
  * @author hjy
  * @date 2025-04-24
  */
@@ -32,8 +32,7 @@
 @Tag(name = "姘斾綋绠¤矾浜ц兘瑙勫垝", description = "姘斾綋绠¤矾浜ц兘瑙勫垝鎺ュ彛")
 @RestController
 @RequestMapping("/gasPipelineCapacityPlan")
-public class ApsGasPipelineCapacityPlanController extends BaseController
-{
+public class ApsGasPipelineCapacityPlanController extends BaseController {
     @Autowired
     private IApsGasPipelineCapacityPlanService apsGasPipelineCapacityPlanService;
 
@@ -46,43 +45,42 @@
     @Operation(summary = "鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝鍒楄〃", description = "鍒嗛〉鏌ヨ")
     @RequiresPermissions("aps:gasPipelineCapacityPlan:list")
     @GetMapping("/list")
-    public TableDataInfo list(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public TableDataInfo list(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
 //        startPage();
         List<ApsGasPipelineCapacityPlan> list = apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan);
         ApsStandardProcess apsStandardProcess = new ApsStandardProcess();
         apsStandardProcess.setMajor(apsGasPipelineCapacityPlan.getMajor());
         apsStandardProcess.setPlant(apsGasPipelineCapacityPlan.getOrgCode());
         List<ApsStandardProcess> processList = apsStandardProcessService.selectApsStandardProcessListAll(apsStandardProcess);
-        if(list.isEmpty()){
-            for(ApsStandardProcess apsStandardProcessTemp : processList){
+        if (list.isEmpty()) {
+            for (ApsStandardProcess apsStandardProcessTemp : processList) {
                 ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
                 apsGasPipelineCapacityPlanTemp.setProcessName(apsStandardProcessTemp.getProcessName());
                 apsGasPipelineCapacityPlanTemp.setOrgCode(apsStandardProcessTemp.getPlant());
                 list.add(apsGasPipelineCapacityPlanTemp);
             }
         }
-        if(processList.size()>list.size()){
+        if (processList.size() > list.size()) {
             List<String> newProcess = new ArrayList<>();
-            for(ApsStandardProcess apsStandardProcessTemp : processList){
+            for (ApsStandardProcess apsStandardProcessTemp : processList) {
                 boolean flag = true;
-                for(ApsGasPipelineCapacityPlan temp : list){
-                    if(apsStandardProcessTemp.getProcessName().equals(temp.getProcessName())){
+                for (ApsGasPipelineCapacityPlan temp : list) {
+                    if (apsStandardProcessTemp.getProcessName().equals(temp.getProcessName())) {
                         flag = false;
                         break;
                     }
                 }
-                if(flag){
+                if (flag) {
                     newProcess.add(apsStandardProcessTemp.getProcessName());
                 }
             }
-            for(String processName : newProcess){
+            for (String processName : newProcess) {
                 ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
                 apsGasPipelineCapacityPlanTemp.setProcessName(processName);
                 list.add(apsGasPipelineCapacityPlanTemp);
             }
         }
-        list.sort((a, b)->a.getProcessName().compareTo(b.getProcessName()));
+        list.sort((a, b) -> a.getProcessName().compareTo(b.getProcessName()));
         return getDataTable(list);
     }
 
@@ -93,11 +91,30 @@
     @RequiresPermissions("aps:gasPipelineCapacityPlan:export")
     @Log(title = "姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public void export(HttpServletResponse response, ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
         List<ApsGasPipelineCapacityPlan> list = apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan);
         ExcelUtil<ApsGasPipelineCapacityPlan> util = new ExcelUtil<ApsGasPipelineCapacityPlan>(ApsGasPipelineCapacityPlan.class);
         util.exportExcel(response, list, "姘斾綋绠¤矾浜ц兘瑙勫垝鏁版嵁");
+    }
+
+
+    /**
+     * 澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝
+     */
+    @Operation(summary = "澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝", description = "澶嶅埗")
+//    @RequiresPermissions("aps:gasPipelineCapacityPlan:copy")
+    @Log(title = "澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.INSERT)
+    @PutMapping("/copy")
+    public AjaxResult copy(
+            // 鏍煎紡锛歽yyy-MM
+            @RequestParam String date,
+            @RequestParam String factory,
+            // 鏍煎紡锛歽yyy-MM
+            @RequestParam String toStart,
+            // 鏍煎紡锛歽yyy-MM
+            @RequestParam String toEnd) {
+        apsGasPipelineCapacityPlanService.copyPlan(date, factory, toStart, toEnd);
+        return success();
     }
 
     /**
@@ -106,8 +123,7 @@
     @Operation(summary = "鑾峰彇姘斾綋绠¤矾浜ц兘瑙勫垝璇︾粏淇℃伅", description = "鏍规嵁id鑾峰彇")
     @RequiresPermissions("aps:gasPipelineCapacityPlan:query")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return success(apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanById(id));
     }
 
@@ -118,14 +134,13 @@
     @RequiresPermissions("aps:gasPipelineCapacityPlan:add")
     @Log(title = "姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody List<ApsGasPipelineCapacityPlan> apsGasPipelineCapacityPlan)
-    {
+    public AjaxResult add(@RequestBody List<ApsGasPipelineCapacityPlan> apsGasPipelineCapacityPlan) {
         apsGasPipelineCapacityPlan.forEach(apsGasPipelineCapacityPlanTemp -> {
-            if(apsGasPipelineCapacityPlanTemp.getId()==null){
+            if (apsGasPipelineCapacityPlanTemp.getId() == null) {
                 apsGasPipelineCapacityPlanTemp.setCreateBy(SecurityUtils.getUsername());
                 apsGasPipelineCapacityPlanTemp.setCreateTime(DateUtils.getNowDate());
                 apsGasPipelineCapacityPlanService.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp);
-            }else{
+            } else {
                 apsGasPipelineCapacityPlanTemp.setUpdateBy(SecurityUtils.getUsername());
                 apsGasPipelineCapacityPlanTemp.setUpdateTime(DateUtils.getNowDate());
                 apsGasPipelineCapacityPlanService.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp);
@@ -141,8 +156,7 @@
     @RequiresPermissions("aps:gasPipelineCapacityPlan:edit")
     @Log(title = "姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
-    {
+    public AjaxResult edit(@RequestBody ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
         return toAjax(apsGasPipelineCapacityPlanService.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan));
     }
 
@@ -152,9 +166,8 @@
     @Operation(summary = "鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝", description = "鎵归噺鍒犻櫎")
     @RequiresPermissions("aps:gasPipelineCapacityPlan:remove")
     @Log(title = "姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(apsGasPipelineCapacityPlanService.deleteApsGasPipelineCapacityPlanByIds(ids));
     }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelineMoController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelineMoController.java
index 28bdaa0..11da781 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelineMoController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelineMoController.java
@@ -130,11 +130,11 @@
      */
     @SneakyThrows
     @Operation(summary = "涓嬭浇姘斾綋宸ュ崟鏁版嵁瀵煎叆妯℃澘", description = "涓嬭浇姘斾綋宸ュ崟鏁版嵁瀵煎叆妯℃澘")
-    @RequiresPermissions("gasPipeline:mo:template")
-    @Log(title = "涓嬭浇姘斾綋宸ュ崟鏁版嵁瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
+//    @RequiresPermissions("gasPipeline:mo:template")
+//    @Log(title = "涓嬭浇姘斾綋宸ュ崟鏁版嵁瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
     @GetMapping("/template")
     public ResponseEntity<ByteArrayResource> exportTemplate() {
-        byte[] file = IOUtils.resourceToByteArray("/templates/涓婁紶姘斾綋宸ュ崟鏁版嵁妯℃澘.xlsx");
+        byte[] file = IOUtils.resourceToByteArray("/templates/姘斾綋宸ュ崟鏁版嵁妯℃澘v1.0.xlsx");
         ByteArrayResource resource = new ByteArrayResource(file);
         return ResponseEntity.ok()
                 .header(HttpHeaders.CONTENT_DISPOSITION,
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java
index 48d9042..cd1dc52 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java
@@ -70,11 +70,11 @@
      */
     @SneakyThrows
     @Operation(summary = "涓嬭浇姘斾綋棰勬祴鏁版嵁瀵煎叆妯℃澘", description = "涓嬭浇姘斾綋棰勬祴鏁版嵁瀵煎叆妯℃澘")
-    @RequiresPermissions("gasPipeline:prediction:template")
-    @Log(title = "涓嬭浇姘斾綋棰勬祴鏁版嵁瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
+//    @RequiresPermissions("gasPipeline:prediction:template")
+//    @Log(title = "涓嬭浇姘斾綋棰勬祴鏁版嵁瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
     @GetMapping("/template")
     public ResponseEntity<ByteArrayResource> exportTemplate() {
-        byte[] file = IOUtils.resourceToByteArray("/templates/涓婁紶姘斾綋棰勬祴鏁版嵁妯℃澘.xlsx");
+        byte[] file = IOUtils.resourceToByteArray("/templates/姘斾綋棰勬祴鏁版嵁妯℃澘v1.0.xlsx");
         ByteArrayResource resource = new ByteArrayResource(file);
         return ResponseEntity.ok()
                 .header(HttpHeaders.CONTENT_DISPOSITION,
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsGasPipelineCapacityPlan.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsGasPipelineCapacityPlan.java
index 46eb05a..0ca36d2 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsGasPipelineCapacityPlan.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsGasPipelineCapacityPlan.java
@@ -2,6 +2,7 @@
 
 import com.aps.common.core.annotation.Excel;
 import com.aps.common.core.web.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -20,6 +21,7 @@
     private static final long serialVersionUID = 1L;
 
     /** 涓婚敭id */
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
     @Schema(description = "涓婚敭id", type = "Long")
     private Long id;
 
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipelineCapacityPlanMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipelineCapacityPlanMapper.java
index 329bc9b..dbb9450 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipelineCapacityPlanMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipelineCapacityPlanMapper.java
@@ -61,4 +61,6 @@
      * @return 缁撴灉
      */
     public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids);
+
+    void deleteByDateAndFactory(String year, String month, String factory);
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsGasPipelineCapacityPlanService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsGasPipelineCapacityPlanService.java
index cfb8e5b..4ca18ef 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsGasPipelineCapacityPlanService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsGasPipelineCapacityPlanService.java
@@ -59,4 +59,6 @@
      * @return 缁撴灉
      */
     public int deleteApsGasPipelineCapacityPlanById(Long id);
+
+    void copyPlan(String date, String factory, String toStart, String toEnd);
 }
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..0f16f88 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,65 @@
 
     /**
      * 鎵归噺鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝
-     * 
+     *
      * @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 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);
+        List<ApsGasPipelineCapacityPlan> templatePlans = apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(plan);
+        while (dtStart.before(dtEnd)) {
+            String year = dtStart.get(Calendar.YEAR) + "";
+            String month = (dtStart.get(Calendar.MONTH) + 1) + "";
+            apsGasPipelineCapacityPlanMapper.deleteByDateAndFactory(
+                    year,
+                    month,
+                    factory
+            );
+            templatePlans.forEach(p -> {
+                p.setYear(year);
+                p.setMonth(month);
+                p.setCreateBy(SecurityUtils.getUsername());
+                p.setCreateTime(new Date());
+                p.setUpdateBy(null);
+                p.setUpdateTime(null);
+                apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(p);
+            });
+
+            dtStart.add(Calendar.MONTH, 1);
+        }
+
+    }
 }
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipelineCapacityPlanMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipelineCapacityPlanMapper.xml
index 329ee58..e5943da 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipelineCapacityPlanMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipelineCapacityPlanMapper.xml
@@ -133,4 +133,11 @@
             #{id}
         </foreach>
     </delete>
+
+    <delete id="deleteByDateAndFactory" >
+        delete from aps_gas_pipeline_capacity_plan
+               where year = #{year}
+                   and month = #{month}
+                   and org_code = #{factory}
+    </delete>
 </mapper>
\ No newline at end of file
diff --git "a/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277.xlsx" "b/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277.xlsx"
deleted file mode 100644
index f3a4177..0000000
--- "a/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277.xlsx" "b/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277.xlsx"
deleted file mode 100644
index 6a261c6..0000000
--- "a/aps-modules/aps-core/src/main/resources/templates/\344\270\212\344\274\240\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx" "b/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx"
new file mode 100644
index 0000000..e67251f
--- /dev/null
+++ "b/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\345\267\245\345\215\225\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx"
Binary files differ
diff --git "a/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx" "b/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx"
new file mode 100644
index 0000000..50fb427
--- /dev/null
+++ "b/aps-modules/aps-core/src/main/resources/templates/\346\260\224\344\275\223\351\242\204\346\265\213\346\225\260\346\215\256\346\250\241\346\235\277v1.0.xlsx"
Binary files differ

--
Gitblit v1.9.3