From 34fe1475711308d5f391587850dac424c6859260 Mon Sep 17 00:00:00 2001
From: fengguangyu <841028466@qq.com>
Date: Tue, 22 Jun 2021 12:07:35 +0800
Subject: [PATCH 1/2] =?UTF-8?q?queryProjectLibraryPageByCurrentUserDept=20?=
 =?UTF-8?q?=20=20=20name=20=E6=B2=A1=E6=9C=89=E5=80=BC=E7=9A=84=20bug=20?=
 =?UTF-8?q?=20=E5=8E=9F=E5=9B=A0=E6=98=AF=20=20=E5=BD=93=E5=89=8D=E4=BD=BF?=
 =?UTF-8?q?=E7=94=A8=20map=20=E6=9F=A5=E8=AF=A2=20=E6=88=96=20=E5=88=A0?=
 =?UTF-8?q?=E9=99=A4=E7=9A=84=E6=96=B9=E5=BC=8F=20=E9=83=BD=E5=AD=98?=
 =?UTF-8?q?=E5=9C=A8=E9=97=AE=E9=A2=98=20=E5=8F=AF=E8=83=BD=E8=B0=83?=
 =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F=E4=B8=8D=E5=AF=B9=20=20=E5=85=88?=
 =?UTF-8?q?=E7=94=A8=E8=87=AA=E5=B7=B1=E5=86=99=E7=9A=84sql=20=E5=BA=94?=
 =?UTF-8?q?=E6=80=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../domain/aggregate/inComePlanAgg/InComePlanAgg.java  |  2 ++
 .../db/mapper/table/ProjectPlanBookMapper.java         |  9 +++++++++
 .../db/mapper/xml/ProjectPlanBookMapper.xml            | 10 ++++++++++
 .../projectlibrary/ProjectLibraryQuerySvrImpl.java     |  9 ++++++++-
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
index 9235bcc73..f5802cc7f 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
@@ -1,6 +1,7 @@
 package com.seasky.projectplan.domain.aggregate.inComePlanAgg;
 
 
+import com.seasky.core.ddd.annotation.DomainKey;
 import com.seasky.core.ddd.base.BaseAggregate;
 import com.seasky.projectplan.domain.aggregate.projectpersonplan.PersonSubjectEntity;
 import io.swagger.annotations.ApiModelProperty;
@@ -26,6 +27,7 @@ public class InComePlanAgg extends BaseAggregate {
     /**
      * 涓婚敭id
      */
+    @DomainKey
     private Long id;
 
     /**
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ProjectPlanBookMapper.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ProjectPlanBookMapper.java
index 6f43d0c28..0e391e053 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ProjectPlanBookMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ProjectPlanBookMapper.java
@@ -179,4 +179,13 @@ public interface ProjectPlanBookMapper extends BaseMapper<ProjectPlanBookPo> {
      * @return {@link Page<ProjectInfoPlanDo>}
      */
     Page<ProjectInfoPlanDo> queryProjectInfoPlanPageByOwnCurrentUserDept(Page<ProjectPlanBookOut> page, @Param("pm") ProjectInfoPlanQry projectInfoPlanQry);
+
+
+    /**
+     * 鏍规嵁 project_library_id plan_type 鏌ヨ
+     *
+     * @param projectInfoPlanQry 椤圭洰璁″垝涔o
+     * @return {@link List<ProjectPlanBookPo>}
+     */
+    List<ProjectPlanBookPo> queryProjectInfoPlanBYPO(@Param("pm") ProjectInfoPlanQry projectInfoPlanQry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
index 37828b97c..58c9d9e6c 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/ProjectPlanBookMapper.xml
@@ -823,4 +823,14 @@
             </if>
         </where>
     </select>
+
+    <!-- 鏍规嵁 project_library_id plan_type 鏌ヨ -->
+    <select id="queryProjectInfoPlanBYPO"
+            resultType="com.seasky.projectplan.infrastructure.dataobject.po.ProjectPlanBookPo">
+        select TOP(1) * from project_plan_book
+        <where>
+            available = 'YES'
+                and project_library_id = #{pm.projectLibraryId} and  plan_type = #{pm.planType}
+        </where>
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectlibrary/ProjectLibraryQuerySvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectlibrary/ProjectLibraryQuerySvrImpl.java
index cdb686d41..66afc79a9 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectlibrary/ProjectLibraryQuerySvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/projectlibrary/ProjectLibraryQuerySvrImpl.java
@@ -17,7 +17,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 椤圭洰搴撴煡璇vr impl
@@ -146,7 +148,12 @@ public class ProjectLibraryQuerySvrImpl implements ProjectLibraryQuerySvr {
         QueryWrapper<ProjectPlanBookPo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("project_library_id", projectInfoPlanQry.getProjectLibraryId());
         queryWrapper.eq("plan_type", projectInfoPlanQry.getPlanType());
-        return projectPlanBookMapper.selectOne(queryWrapper);
+        List<ProjectPlanBookPo> po = projectPlanBookMapper.queryProjectInfoPlanBYPO(projectInfoPlanQry);
+        if (po != null && po.size()>0){
+            return po.get(0);
+        }else{
+            return null;
+        }
     }
 
 }
-- 
GitLab


From cde77c6dd89ad905978f4ccee5716d5990e7e167 Mon Sep 17 00:00:00 2001
From: fengguangyu <841028466@qq.com>
Date: Tue, 22 Jun 2021 12:34:47 +0800
Subject: [PATCH 2/2] 20210622

---
 .../aggregate/inComePlanAgg/InComePlanAgg.java | 18 ++++++++++++++----
 .../service/InComePlanDomainSvrImpl.java       |  1 +
 .../inComeSub/InComeSubRepositoryImpl.java     |  2 +-
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
index 3bfa3cfda..74335c8d5 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/inComePlanAgg/InComePlanAgg.java
@@ -76,6 +76,11 @@ public class InComePlanAgg extends BaseAggregate {
      * */
     private String otherJson;
 
+    /*
+     * 瀛愯〃 鐖剁骇id
+     * */
+    private Long entityParentId;
+
     /*
      * 鏀跺叆瀛愯〃闆嗗悎
      * */
@@ -106,11 +111,16 @@ public class InComePlanAgg extends BaseAggregate {
     public void setState(String state){ this.state = state; }
 
     /**
-     * 璁剧疆涓昏〃ID
+     * 璁剧疆瀛愯〃鐖剁骇ID
+     */
+    public void setEntityParentId(Long parentId){ this.entityParentId = parentId; }
+
+    /**
+     * 璁剧疆瀛愯〃鐖剁骇ID
      */
-    public void setParentId(Long id){
-        for (InComeSubEntity item:inComeSubList) {
-            item.setParentid(this.id);
+    public void setParentId(Long parentId){
+        for (InComeSubEntity en:inComeSubList) {
+            en.setParentid(parentId);
         }
     }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/InComePlanDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/InComePlanDomainSvrImpl.java
index f115a641a..611a140e1 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/InComePlanDomainSvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/InComePlanDomainSvrImpl.java
@@ -56,6 +56,7 @@ public class InComePlanDomainSvrImpl implements InComePlanDomainSvr {
             }
         }
         Long retrun = repository.saveInComePlan(inComePlanAgg);
+        inComePlanAgg.setEntityParentId(retrun);
         inComePlanAgg.setParentId(retrun);
         //鏄惁淇濆瓨瀛愯〃
         if (inComePlanAgg.getInComeSubList() != null && inComePlanAgg.getInComeSubList().size() >0){
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/inComePlan/inComeSub/InComeSubRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/inComePlan/inComeSub/InComeSubRepositoryImpl.java
index f4db49c8c..54a12144d 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/inComePlan/inComeSub/InComeSubRepositoryImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/inComePlan/inComeSub/InComeSubRepositoryImpl.java
@@ -44,7 +44,7 @@ public class InComeSubRepositoryImpl implements InComeSubRepository {
         Map<String,Object> maps;
         for (InComeSubPo po:inComeSubPo) {
             maps=new HashMap<>(1);
-            maps.put("parentid",po.getParentid());
+            maps.put("parentid",inComePlanAgg.getEntityParentId());
             inComeSubMapper.deleteByMap(maps);
             po.prepareBeforeInsert();
             if (inComeSubMapper.insert(po) != 1){
-- 
GitLab