From 99beb9e8323fd572b5f2196d1995c3497913785d Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期三, 14 五月 2025 18:44:45 +0800
Subject: [PATCH] 修改计划管理与查询周期配置查询关系

---
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java                  |    6 ++++++
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java                 |   12 ++++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java |   23 +++++++++++++++++++++--
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java    |   17 ++++++++---------
 4 files changed, 47 insertions(+), 11 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java
index 9b1c855..24a718e 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java
@@ -6,7 +6,6 @@
 import com.aps.common.core.web.page.TableDataInfo;
 import com.aps.common.log.annotation.Log;
 import com.aps.common.log.enums.BusinessType;
-import com.aps.common.security.annotation.RequiresPermissions;
 import com.aps.core.domain.ApsPlanCycle;
 import com.aps.core.domain.ApsPlanManagement;
 import com.aps.core.service.IApsPlanManagementService;
@@ -21,7 +20,7 @@
 /**
  * 璁″垝绠$悊Controller
  * 
- * @author ruoyi
+ * @author sfd
  * @date 2025-05-13
  */
 
@@ -37,7 +36,7 @@
      * 鏌ヨ璁″垝绠$悊鍒楄〃
      */
     @Operation(summary = "鏌ヨ璁″垝绠$悊鍒楄〃", description = "鍒嗛〉鏌ヨ")
-    @RequiresPermissions("aps:management:list")
+//    @RequiresPermissions("aps:management:list")
     @GetMapping("/list")
     public TableDataInfo list(ApsPlanManagement apsPlanManagement)
     {
@@ -50,7 +49,7 @@
      * 瀵煎嚭璁″垝绠$悊鍒楄〃
      */
     @Operation(summary = "瀵煎嚭璁″垝绠$悊鍒楄〃", description = "瀵煎嚭")
-    @RequiresPermissions("aps:management:export")
+//    @RequiresPermissions("aps:management:export")
     @Log(title = "璁″垝绠$悊", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ApsPlanManagement apsPlanManagement)
@@ -64,7 +63,7 @@
      * 鑾峰彇璁″垝绠$悊璇︾粏淇℃伅
      */
     @Operation(summary = "鑾峰彇璁″垝绠$悊璇︾粏淇℃伅", description = "鏍规嵁id鑾峰彇")
-    @RequiresPermissions("aps:management:query")
+//    @RequiresPermissions("aps:management:query")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
@@ -75,7 +74,7 @@
      * 鏂板璁″垝绠$悊
      */
     @Operation(summary = "鏂板璁″垝绠$悊", description = "鍗曚釜鏂板")
-    @RequiresPermissions("aps:management:add")
+//    @RequiresPermissions("aps:management:add")
     @Log(title = "璁″垝绠$悊", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ApsPlanManagement apsPlanManagement)
@@ -87,7 +86,7 @@
      * 淇敼璁″垝鍛ㄦ湡绠$悊
      */
     @Operation(summary = "淇敼璁″垝鍛ㄦ湡绠$悊", description = "淇敼璁″垝鍛ㄦ湡绠$悊")
-    @RequiresPermissions("aps:planCycle:edit")
+//    @RequiresPermissions("aps:planCycle:edit")
     @Log(title = "淇敼璁″垝鍛ㄦ湡绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping("cycle")
     public AjaxResult edit(@RequestBody ApsPlanCycle apsPlanCycle)
@@ -100,7 +99,7 @@
      * 淇敼璁″垝绠$悊
      */
     @Operation(summary = "淇敼璁″垝绠$悊", description = "鍗曚釜淇敼")
-    @RequiresPermissions("aps:management:edit")
+//    @RequiresPermissions("aps:management:edit")
     @Log(title = "璁″垝绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ApsPlanManagement apsPlanManagement)
@@ -112,7 +111,7 @@
      * 鍒犻櫎璁″垝绠$悊
      */
     @Operation(summary = "鍒犻櫎璁″垝绠$悊", description = "鎵归噺鍒犻櫎")
-    @RequiresPermissions("aps:management:remove")
+//    @RequiresPermissions("aps:management:remove")
     @Log(title = "璁″垝绠$悊", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java
index 8bacc3b..415d86d 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java
@@ -1,7 +1,9 @@
 package com.aps.core.domain;
 
 import com.aps.common.core.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.aps.common.core.annotation.Excel;
@@ -12,6 +14,7 @@
  * @author ruoyi
  * @date 2025-05-13
  */
+@Data
 @Schema(description = "璁″垝绠$悊瀹炰綋绫�")
 public class ApsPlanManagement extends BaseEntity
 {
@@ -41,6 +44,9 @@
     @Schema(description = "璁″垝鎺掍骇瑙勫垯")
     private String rule;
 
+    @TableField(exist = false)
+    private ApsPlanCycle cycle;
+
     public void setId(Long id) 
     {
         this.id = id;
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java
index 04c51be..5608ee3 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java
@@ -18,4 +18,16 @@
 
     @Select("select * from aps_plan_cycle where plan_id = #{planId}")
     ApsPlanCycle selectByPlanId(Long planId);
+
+    @Select("""
+        <script>
+            select * from aps_plan_cycle where 1 = 0
+            <if test="!planIds.isEmpty()">or plan_id in
+                <foreach collection="planIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>                                 
+            </if> 
+        </script>
+    """)
+    List<ApsPlanCycle> selectByPlanIds(List<Long> planIds);
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java
index 6cb0efd..90ec925 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java
@@ -1,14 +1,17 @@
 package com.aps.core.service.impl;
 
 import java.util.List;
+import java.util.Objects;
 
 import com.aps.common.core.utils.DateUtils;
+import com.aps.common.security.utils.SecurityUtils;
 import com.aps.core.domain.ApsPlanCycle;
 import com.aps.core.domain.ApsPlanManagement;
 import com.aps.core.mapper.ApsPlanCycleMapper;
 import com.aps.core.mapper.ApsPlanManagementMapper;
 import com.aps.core.service.IApsPlanManagementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.simpleframework.xml.core.Resolve;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -22,7 +25,7 @@
  */
 @Service
 public class ApsPlanManagementServiceImpl extends ServiceImpl<ApsPlanManagementMapper, ApsPlanManagement> implements IApsPlanManagementService {
-    @Autowired
+    @Resolve
     private ApsPlanManagementMapper apsPlanManagementMapper;
 
     @Autowired
@@ -47,7 +50,17 @@
      */
     @Override
     public List<ApsPlanManagement> selectApsPlanManagementList(ApsPlanManagement apsPlanManagement) {
-        return apsPlanManagementMapper.selectApsPlanManagementList(apsPlanManagement);
+        List<ApsPlanManagement> items = apsPlanManagementMapper.selectApsPlanManagementList(apsPlanManagement);
+        List<ApsPlanCycle> cycles = apsPlanCycleMapper.selectByPlanIds(items.stream().map(ApsPlanManagement::getId).toList());
+        cycles.forEach(cycle -> {
+            for (ApsPlanManagement item : items) {
+                if (Objects.equals(item.getId(), cycle.getPlanId())) {
+                    item.setCycle(cycle);
+                    break;
+                }
+            }
+        });
+        return items;
     }
 
     /**
@@ -59,6 +72,7 @@
     @Override
     public int insertApsPlanManagement(ApsPlanManagement apsPlanManagement) {
         apsPlanManagement.setCreateTime(DateUtils.getNowDate());
+        apsPlanManagement.setCreateBy(SecurityUtils.getUsername());
         return apsPlanManagementMapper.insertApsPlanManagement(apsPlanManagement);
     }
 
@@ -71,6 +85,7 @@
     @Override
     public int updateApsPlanManagement(ApsPlanManagement apsPlanManagement) {
         apsPlanManagement.setUpdateTime(DateUtils.getNowDate());
+        apsPlanManagement.setUpdateBy(SecurityUtils.getUsername());
         return apsPlanManagementMapper.updateApsPlanManagement(apsPlanManagement);
     }
 
@@ -101,9 +116,13 @@
     public void updateApsPlanCycle(ApsPlanCycle apsPlanCycle) {
         ApsPlanCycle planCycle = apsPlanCycleMapper.selectByPlanId(apsPlanCycle.getPlanId());
         if (planCycle == null) {
+            apsPlanCycle.setCreateBy(SecurityUtils.getUsername());
+            apsPlanCycle.setCreateTime(DateUtils.getNowDate());
             apsPlanCycleMapper.insert(apsPlanCycle);
         } else {
             BeanUtils.copyProperties(apsPlanCycle, planCycle, "id", "planId");
+            planCycle.setUpdateBy(SecurityUtils.getUsername());
+            planCycle.setUpdateTime(DateUtils.getNowDate());
             apsPlanCycleMapper.updateById(planCycle);
         }
     }

--
Gitblit v1.9.3