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 d275e0432fc75fe4fec498098b9646e3dc000989..74335c8d5d81eafb6b64a8f11dd0030ecfab3f14 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; /** @@ -74,6 +76,11 @@ public class InComePlanAgg extends BaseAggregate { * */ private String otherJson; + /* + * 瀛愯〃 鐖剁骇id + * */ + private Long entityParentId; + /* * 鏀跺叆瀛愯〃闆嗗悎 * */ @@ -104,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 f115a641a305640a596990bfffcd25ae268bf34a..611a140e17f4ff4082716ae3009e938fa30b4576 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/db/mapper/table/ProjectPlanBookMapper.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ProjectPlanBookMapper.java index 6f43d0c28de3a7e3309891540fe1fa7a69f6f628..0e391e05364b7942b6c78192614b85a99acedcae 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 37828b97c9b277fafda39193bdf4d19ac050fdaf..58c9d9e6cb9d2c4714dbb5e1ea97a3d1474178e3 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 e9dabc2db2e73a6affc2fb12e1bd68ec2cf1df9a..f31f90ada6a6f01d93e150cd4704a1538f583cd8 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 @@ -152,7 +154,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; + } } } 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 f4db49c8cb580812a393a7daab5f38ccfa6df92e..54a12144df03dec6bec0b7d5b41417f5512062d4 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){