From c23dd0026f99534d748509266d0f4744739479f0 Mon Sep 17 00:00:00 2001 From: XLR_asd <xueyawei@seaskysh.com> Date: Thu, 10 Jun 2021 17:10:44 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat=20=20=E5=AE=9A=E9=A2=9D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97=E8=81=9A=E5=90=88=E5=8F=8AC?= =?UTF-8?q?=E7=BA=BF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/quotamanage/QuotaManageSvr.java | 21 ++++++ .../quotamanage/QuotaManageSvrImpl.java | 24 +++++++ .../aggregate/quotadept/QuotaDeptAgg.java | 45 ++++++++---- .../aggregate/quotamanage/QuotaManageAgg.java | 10 +-- .../quotamanage/QuotaManageRepository.java | 32 +++++++++ .../quotaproject/QuotaProjectAgg.java | 53 ++++++++++----- .../quotaprojecttype/QuotaProjectTypeAgg.java | 39 ++++++----- .../domain/service/QuotaManageDomainSvr.java | 61 +++++++++++++++++ .../service/QuotaManageDomainSvrImpl.java | 68 +++++++++++++++++++ 9 files changed, 298 insertions(+), 55 deletions(-) create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvrImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java new file mode 100644 index 000000000..e6d4db4d5 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java @@ -0,0 +1,21 @@ +package com.seasky.projectplan.application.command.quotamanage; + +import org.springframework.validation.annotation.Validated; + +/** + * 瀹氶绠$悊妯″潡Svr + * + * @author XueYawei + * @date 2021/06/10 + */ +@Validated +public interface QuotaManageSvr { + + /** + * 鍒濆鍖栭」鐩被鍨嬪畾棰� + * + * @return {@link Integer} + */ + Integer initProjectType(); + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvrImpl.java new file mode 100644 index 000000000..f0730d1c1 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvrImpl.java @@ -0,0 +1,24 @@ +package com.seasky.projectplan.application.command.quotamanage; + +import org.springframework.stereotype.Service; + +/** + * 閰嶉绠$悊Svrimpl + * + * @author XueYawei + * @date 2021/06/10 + */ +@Service +public class QuotaManageSvrImpl implements QuotaManageSvr { + + + /** + * 鍒濆鍖栭」鐩被鍨嬪畾棰濋泦鍚� + * + * @return {@link Integer} + */ + @Override + public Integer initProjectType() { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotadept/QuotaDeptAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotadept/QuotaDeptAgg.java index ea753971f..e52a1cb4f 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotadept/QuotaDeptAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotadept/QuotaDeptAgg.java @@ -1,57 +1,72 @@ package com.seasky.projectplan.domain.aggregate.quotadept; -import com.seasky.core.ddd.base.BaseAggregate; +import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageAgg; import lombok.*; import java.math.BigDecimal; +/** + * 閮ㄩ棬瀹氶 鑱氬悎鏍� + * + * @author XueYawei + * @date 2021/06/10 + */ @Data -@Builder @AllArgsConstructor @NoArgsConstructor @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class QuotaDeptAgg extends BaseAggregate { +public class QuotaDeptAgg extends QuotaManageAgg { /** - * + * 閮ㄩ棬鍚嶇О */ private String deptName; /** - * + * 閮ㄩ棬缂栧彿 */ private String deptCode; /** - * + * 鏍稿畾閲戦 */ private BigDecimal quotaMoney; - /** - * + * 瀹氶绫诲瀷 */ - public void ModifyQuotaDept(){ + private String quotaType; - } /** - * + * 鍩虹淇敼 */ - public void removeQuotaDept(){ + public void setModify(Integer year,String deptName,String deptCode,String quotaType){ + this.setYear(year); + this.deptName = deptName; + this.deptCode = deptCode; + this.quotaType = quotaType; + } + /** + * 璧嬪€奸噾棰� + */ + public void setQuotaMoney(BigDecimal quotaMoney){ + this.quotaMoney = quotaMoney; } /** + * 楠岃瘉 * + * @return boolean */ - public void initQuotaDeptManage(){ - + public boolean verify(){ + return true; } @Override protected String iniDescribeName() { - return ""; + return "閮ㄩ棬瀹氶"; } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageAgg.java index 85960c7b7..8fe77c055 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageAgg.java @@ -4,7 +4,7 @@ import com.seasky.core.ddd.base.BaseAggregate; import lombok.*; /** - * 閰嶉绠$悊鑱氬悎鏍� + * 瀹氶妯″潡鐖剁被 鑱氬悎鏍� * * @author XueYawei * @date 2021/05/18 @@ -18,19 +18,19 @@ import lombok.*; public class QuotaManageAgg extends BaseAggregate { /** - * + * 涓婚敭ID */ private Long id; /** - * + * 骞翠唤 */ - private Long year; + private Integer year; @Override protected String iniDescribeName() { - return ""; + return "瀹氶妯″潡鐖剁被"; } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java new file mode 100644 index 000000000..4b4c200bb --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java @@ -0,0 +1,32 @@ +package com.seasky.projectplan.domain.aggregate.quotamanage; + +import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; + +/** + * 瀹氶绠$悊 浠撳偍灞� + * + * @author XueYawei + * @date 2021/06/10 + */ +public interface QuotaManageRepository { + + /** + * 淇敼椤圭洰绫诲瀷瀹氶鐨勯噾棰� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); + + /** + * 鏌ヨ椤圭洰绫诲瀷瀹氶 + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link QuotaProjectTypeAgg} + */ + QuotaProjectTypeAgg queryQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); + + + + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java index d38c6e1ff..ff10647ec 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java @@ -1,69 +1,88 @@ package com.seasky.projectplan.domain.aggregate.quotaproject; -import com.seasky.core.ddd.base.BaseAggregate; +import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageAgg; import lombok.*; import java.math.BigDecimal; /** - * 閰嶉椤圭洰鑱氬悎鏍� + * 鍏蜂綋椤圭洰瀹氶 鑱氬悎鏍� * * @author XueYawei * @date 2021/05/18 */ @Data -@Builder @AllArgsConstructor @NoArgsConstructor @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class QuotaProjectAgg extends BaseAggregate { +public class QuotaProjectAgg extends QuotaManageAgg { /** - * + * 椤圭洰绫诲瀷鍚嶇О + */ + private String projectTypeName; + + /** + * 椤圭洰绫诲瀷缂栧彿 + */ + private String projectTypeCode; + + /** + * 椤圭洰绫诲瀷ID + */ + private Long projectTypeId; + + /** + * 椤圭洰鍚嶇О */ private String projectName; /** - * + * 椤圭洰缂栧彿 */ private String projectCode; /** - * + * 椤圭洰澶х被id */ private Long projectId; /** - * + * 鏍稿畾閲戦 */ private BigDecimal quotaMoney; /** - * + * 鍩虹淇敼 */ - public void modifyQuotaDept(){ - + public void setModify(Integer year,String projectTypeName,String projectTypeCode,Long projectTypeId){ + this.setYear(year); + this.projectTypeName = projectTypeName; + this.projectTypeCode = projectTypeCode; + this.projectTypeId = projectTypeId; } /** - * + * 璧嬪€奸噾棰� */ - public void removeQuotaDept(){ - + public void setQuotaMoney(BigDecimal quotaMoney){ + this.quotaMoney = quotaMoney; } /** + * 楠岃瘉 * + * @return boolean */ - public void initQuotaDeptManage(){ - + public boolean verify(){ + return true; } @Override protected String iniDescribeName() { - return ""; + return "鍏蜂綋椤圭洰瀹氶"; } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaprojecttype/QuotaProjectTypeAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaprojecttype/QuotaProjectTypeAgg.java index b7d91747d..c88f95b76 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaprojecttype/QuotaProjectTypeAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaprojecttype/QuotaProjectTypeAgg.java @@ -1,69 +1,72 @@ package com.seasky.projectplan.domain.aggregate.quotaprojecttype; -import com.seasky.core.ddd.base.BaseAggregate; +import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageAgg; import lombok.*; import java.math.BigDecimal; /** - * 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * 椤圭洰绫诲瀷瀹氶 鑱氬悎鏍� * * @author XueYawei * @date 2021/05/18 */ @Data -@Builder @AllArgsConstructor @NoArgsConstructor @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class QuotaProjectTypeAgg extends BaseAggregate { +public class QuotaProjectTypeAgg extends QuotaManageAgg { /** - * + * 椤圭洰绫诲瀷鍚嶇О */ private String projectTypeName; /** - * + * 椤圭洰绫诲瀷缂栧彿 */ private String projectTypeCode; /** - * + * 椤圭洰绫诲瀷ID */ private Long projectTypeId; /** - * + * 鏍稿畾閲戦 */ private BigDecimal quotaMoney; /** - * + * 鍩虹淇敼 */ - public void ModifyQuotaProjectType(){ - + public void setModify(Integer year,String projectTypeName,String projectTypeCode,Long projectTypeId){ + this.setYear(year); + this.projectTypeName = projectTypeName; + this.projectTypeCode = projectTypeCode; + this.projectTypeId = projectTypeId; } /** - * + * 璧嬪€奸噾棰� */ - public void removeQuotaProjectType(){ - + public void setQuotaMoney(BigDecimal quotaMoney){ + this.quotaMoney = quotaMoney; } /** + * 楠岃瘉 * + * @return boolean */ - public void initQuotaProjectTypeManage(){ - + public boolean verify(){ + return true; } - @Override protected String iniDescribeName() { - return ""; + return "椤圭洰绫诲瀷瀹氶"; } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java new file mode 100644 index 000000000..8238c4669 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java @@ -0,0 +1,61 @@ +package com.seasky.projectplan.domain.service; + +import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; +import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; +import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; + +/** + * 閰嶉绠$悊 DomainSvr + * + * @author XueYawei + * @date 2021/06/10 + */ +public interface QuotaManageDomainSvr { + + /** + * 淇敼椤圭洰绫诲瀷瀹氶鐨勯噾棰� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaProjectTypeMoney(QuotaProjectTypeAgg quotaProjectTypeAgg); + + /** + * 淇敼閮ㄩ棬瀹氶鐨勯噾棰� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaDeptMoney(QuotaDeptAgg quotaDeptAgg); + + /** + * 淇敼鍏蜂綋椤圭洰瀹氶鐨勯噾棰� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaProjectMoney(QuotaProjectAgg quotaProjectAgg); + + /** + * 鍒濆鍖栭」鐩被鍨嬪畾棰� + * + * @return {@link Integer} + */ + Integer initQuotaProjectType(); + + /** + * 鍒濆鍖栭儴闂ㄥ畾棰� + * + * @param quotaType 閰嶉绫诲瀷 + * @return {@link Integer} + */ + Integer initQuotaDept(String quotaType); + + /** + * 鍒濆鍖栭」鐩畾棰� + * + * @return {@link Integer} + */ + Integer initQuotaProject(); + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java new file mode 100644 index 000000000..8078bae9a --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java @@ -0,0 +1,68 @@ +package com.seasky.projectplan.domain.service; + +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.exception.DataVerifyException; +import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; +import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageRepository; +import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; +import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 閰嶉绠$悊 DomainSvrImpl + * + * @author XueYawei + * @date 2021/06/10 + */ +@Service +public class QuotaManageDomainSvrImpl implements QuotaManageDomainSvr { + + @Resource + QuotaManageRepository repository; + + /** + * 淇敼椤圭洰绫诲瀷瀹氶鐨勯噾棰� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link Integer} + */ + @Override + public Integer modifyQuotaProjectTypeMoney(QuotaProjectTypeAgg quotaProjectTypeAgg) { + QuotaProjectTypeAgg queryAgg = new QuotaProjectTypeAgg(); + queryAgg.setId(quotaProjectTypeAgg.getId()); + QuotaProjectTypeAgg modifyAgg = repository.queryQuotaProjectType(queryAgg); + if (modifyAgg == null){ + throw new DataVerifyException(new Error(ResponseCode.DATA_VERIFY_EXCEPTION, null, "鎵句笉鍒拌淇敼鐨� 椤圭洰绫诲瀷瀹氶 瀵硅薄", "")); + } + modifyAgg.setQuotaMoney(quotaProjectTypeAgg.getQuotaMoney()); + return repository.modifyQuotaProjectType(modifyAgg); + } + + @Override + public Integer modifyQuotaDeptMoney(QuotaDeptAgg quotaDeptAgg) { + return null; + } + + @Override + public Integer modifyQuotaProjectMoney(QuotaProjectAgg quotaProjectAgg) { + return null; + } + + @Override + public Integer initQuotaProjectType() { + return null; + } + + @Override + public Integer initQuotaDept(String quotaType) { + return null; + } + + @Override + public Integer initQuotaProject() { + return null; + } +} -- GitLab From 9b9c1de52c425259468283accb573f748f335e63 Mon Sep 17 00:00:00 2001 From: XLR_asd <xueyawei@seaskysh.com> Date: Fri, 11 Jun 2021 09:19:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat=20=20=20=E5=AE=9A=E9=A2=9D=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20=20C=E7=BA=BF=E6=A1=86=E6=9E=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quotamanage/QuotaManageRepository.java | 35 ++++++++++++- .../quotaproject/QuotaProjectAgg.java | 17 ++----- .../domain/service/QuotaManageDomainSvr.java | 6 +-- .../service/QuotaManageDomainSvrImpl.java | 36 ++++++++++++-- .../QuotaManageRepositoryImpl.java | 49 +++++++++++++++++++ 5 files changed, 121 insertions(+), 22 deletions(-) create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java index 4b4c200bb..b19869cf5 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java @@ -1,5 +1,7 @@ package com.seasky.projectplan.domain.aggregate.quotamanage; +import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; +import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; /** @@ -19,13 +21,44 @@ public interface QuotaManageRepository { Integer modifyQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); /** - * 鏌ヨ椤圭洰绫诲瀷瀹氶 + * 鏌ヨ椤圭洰绫诲瀷瀹氶 鏄庣粏 C绾� * * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� * @return {@link QuotaProjectTypeAgg} */ QuotaProjectTypeAgg queryQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); + /** + * 淇敼閮ㄩ棬瀹氶鐨勯噾棰� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaDept(QuotaDeptAgg quotaDeptAgg); + + /** + * 鏌ヨ閮ㄩ棬瀹氶 鏄庣粏 C绾� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link QuotaDeptAgg} + */ + QuotaDeptAgg queryQuotaDept(QuotaDeptAgg quotaDeptAgg); + + /** + * 淇敼椤圭洰瀹氶鐨勯噾棰� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link Integer} + */ + Integer modifyQuotaProject(QuotaProjectAgg quotaProjectAgg); + + /** + * 鏌ヨ椤圭洰瀹氶 鏄庣粏 C绾� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link QuotaProjectAgg} + */ + QuotaProjectAgg queryQuotaProject(QuotaProjectAgg quotaProjectAgg); diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java index ff10647ec..910fed116 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java @@ -23,16 +23,6 @@ public class QuotaProjectAgg extends QuotaManageAgg { */ private String projectTypeName; - /** - * 椤圭洰绫诲瀷缂栧彿 - */ - private String projectTypeCode; - - /** - * 椤圭洰绫诲瀷ID - */ - private Long projectTypeId; - /** * 椤圭洰鍚嶇О */ @@ -58,11 +48,12 @@ public class QuotaProjectAgg extends QuotaManageAgg { /** * 鍩虹淇敼 */ - public void setModify(Integer year,String projectTypeName,String projectTypeCode,Long projectTypeId){ + public void setModify(Integer year,String projectTypeName,String projectName,String projectCode,Long projectId){ this.setYear(year); this.projectTypeName = projectTypeName; - this.projectTypeCode = projectTypeCode; - this.projectTypeId = projectTypeId; + this.projectName = projectName; + this.projectCode = projectCode; + this.projectId = projectId; } /** diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java index 8238c4669..8a64aa724 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java @@ -41,7 +41,7 @@ public interface QuotaManageDomainSvr { * * @return {@link Integer} */ - Integer initQuotaProjectType(); + Integer initQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); /** * 鍒濆鍖栭儴闂ㄥ畾棰� @@ -49,13 +49,13 @@ public interface QuotaManageDomainSvr { * @param quotaType 閰嶉绫诲瀷 * @return {@link Integer} */ - Integer initQuotaDept(String quotaType); + Integer initQuotaDept(QuotaDeptAgg quotaDeptAgg); /** * 鍒濆鍖栭」鐩畾棰� * * @return {@link Integer} */ - Integer initQuotaProject(); + Integer initQuotaProject(QuotaProjectAgg quotaProjectAgg); } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java index 8078bae9a..2f46bc7b3 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java @@ -41,28 +41,54 @@ public class QuotaManageDomainSvrImpl implements QuotaManageDomainSvr { return repository.modifyQuotaProjectType(modifyAgg); } + /** + * 淇敼閮ㄩ棬瀹氶鐨勯噾棰� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer modifyQuotaDeptMoney(QuotaDeptAgg quotaDeptAgg) { - return null; + QuotaDeptAgg queryAgg = new QuotaDeptAgg(); + queryAgg.setId(quotaDeptAgg.getId()); + QuotaDeptAgg modifyAgg = repository.queryQuotaDept(queryAgg); + if (modifyAgg == null){ + throw new DataVerifyException(new Error(ResponseCode.DATA_VERIFY_EXCEPTION, null, "鎵句笉鍒拌淇敼鐨� 閮ㄩ棬瀹氶 瀵硅薄", "")); + } + modifyAgg.setQuotaMoney(quotaDeptAgg.getQuotaMoney()); + return repository.modifyQuotaDept(modifyAgg); } + /** + * 淇敼椤圭洰瀹氶鐨勯噾棰� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer modifyQuotaProjectMoney(QuotaProjectAgg quotaProjectAgg) { - return null; + QuotaProjectAgg queryAgg = new QuotaProjectAgg(); + queryAgg.setId(quotaProjectAgg.getId()); + QuotaProjectAgg modifyAgg = repository.queryQuotaProject(queryAgg); + if (modifyAgg == null){ + throw new DataVerifyException(new Error(ResponseCode.DATA_VERIFY_EXCEPTION, null, "鎵句笉鍒拌淇敼鐨� 椤圭洰瀹氶 瀵硅薄", "")); + } + modifyAgg.setQuotaMoney(quotaProjectAgg.getQuotaMoney()); + return repository.modifyQuotaProject(modifyAgg); } @Override - public Integer initQuotaProjectType() { + public Integer initQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { return null; } @Override - public Integer initQuotaDept(String quotaType) { + public Integer initQuotaDept(QuotaDeptAgg quotaDeptAgg) { return null; } @Override - public Integer initQuotaProject() { + public Integer initQuotaProject(QuotaProjectAgg quotaProjectAgg) { return null; } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java new file mode 100644 index 000000000..5512d0609 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java @@ -0,0 +1,49 @@ +package com.seasky.projectplan.infrastructure.repository.quotamanage; + +import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; +import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageRepository; +import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; +import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import org.springframework.stereotype.Repository; + +/** + * 瀹氶绠$悊浠撳偍灞俰mpl + * + * @author XueYawei + * @date 2021/06/11 + */ +@Repository +public class QuotaManageRepositoryImpl implements QuotaManageRepository { + + + + @Override + public Integer modifyQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { + return null; + } + + @Override + public QuotaProjectTypeAgg queryQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { + return null; + } + + @Override + public Integer modifyQuotaDept(QuotaDeptAgg quotaDeptAgg) { + return null; + } + + @Override + public QuotaDeptAgg queryQuotaDept(QuotaDeptAgg quotaDeptAgg) { + return null; + } + + @Override + public Integer modifyQuotaProject(QuotaProjectAgg quotaProjectAgg) { + return null; + } + + @Override + public QuotaProjectAgg queryQuotaProject(QuotaProjectAgg quotaProjectAgg) { + return null; + } +} -- GitLab From c58ee995f60d571129a8087d07d0bb5b214eb435 Mon Sep 17 00:00:00 2001 From: XLR_asd <xueyawei@seaskysh.com> Date: Fri, 11 Jun 2021 10:38:18 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat=20=E7=94=B3=E6=8A=A5=E4=B9=A6=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...45\345\217\243\350\256\276\350\256\241.md" | 624 ++++++++++++++++++ 1 file changed, 624 insertions(+) create mode 100644 "Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\347\224\263\346\212\245\344\271\246\346\216\245\345\217\243\350\256\276\350\256\241.md" diff --git "a/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\347\224\263\346\212\245\344\271\246\346\216\245\345\217\243\350\256\276\350\256\241.md" "b/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\347\224\263\346\212\245\344\271\246\346\216\245\345\217\243\350\256\276\350\256\241.md" new file mode 100644 index 000000000..542993a3c --- /dev/null +++ "b/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\347\224\263\346\212\245\344\271\246\346\216\245\345\217\243\350\256\276\350\256\241.md" @@ -0,0 +1,624 @@ + + + + +[TOC] + + + +# 鐢虫姤涔︾鐞� + +## 鏂板鎴栦慨鏀� 椤圭洰缁忚垂 鐢虫姤涔� + +| 绫� | 鍊� | +| ------ | -------------------------------- | +| URL | /projectPlan/saveProjectInfoPlan | +| Method | POST | + +### 璇锋眰鍙傛暟 + +### 璇锋眰浣� + +```json +{ + "id": 0, //鐢虫姤涔︿富閿甶d + "year": 2022, //骞翠唤 + "departmentCode": "8765986", //閮ㄩ棬缂栧彿 + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", //閮ㄩ棬鍚嶇О + "flowId": 0, //娴佺▼id + "flowType": "", //娴佺▼绫诲瀷 + "planType": "XIANGMUKU", //鐢虫姤涔︾被鍨� + "projectLeaderCode": "", //璐熻矗浜虹紪鍙� + "projectLeaderId": 0, //璐熻矗浜篿d + "projectLeaderName": "", //璐熻矗浜哄悕绉� + "projectLibraryId": 0, //鍏宠仈椤圭洰搴搃d + "projectName": "", //椤圭洰鍚嶇О + "projectType": "", //椤圭洰绫诲瀷 (鍚嶇О) + "quotaMoney2": 0, //鏍稿畾閲戦2 + "state": "", //瀹℃牳鐘舵€� + "summaryJson": "", //澶囨敞 JSON瀵硅薄 + "planSubjectList": [//缁忔祹绉戠洰闆嗗悎 + { + "extendFormId": 0, //鎵╁睍琛╥d + "helperCode": "123", //鍗忓姪浜哄伐鍙� + "helperName": "娴嬭瘯vA", //鍗忓姪浜哄悕绉� + "id": 0, //涓婚敭ID + "planBookId": "0", //鐢虫姤涔d + "number": 0, //鏁伴噺 + "otherJson": "", //鍏朵粬鍐呭json + "price": 0, //鍗曚环 + "subjectCode": "8848", //缁忔祹绉戠洰缂栧彿 + "subjectContent": "", //缁忔祹鏄庣粏 + "subjectName": "娴嬭瘯A213", //缁忔祹绉戠洰鍚嶇О + "subtotal": 0, //灏忚閲戦 + "subjectDetailList": [//缁忔祹绉戠洰鏄庣粏闆嗗悎 + { + "id": 0, //涓婚敭ID + "parentId": "0", //鐖剁骇ID 缁忔祹绉戠洰id + "otherJson": "51AA654", //鍏朵粬鍐呭 JSON + "subtotal": 1001 //灏忚閲戦 + } + ] + } + ], + "projectTargetCmd": {//椤圭洰缁╂晥瀹炰綋 + "id": 0, //涓婚敭id + "planBookId": 0, //鐢虫姤涔d + "summaryJson": "51654", //鎽樿json + "subOtherArrayJson": "杩擜鍥�" //鍏朵粬json + } +} +``` + +### 杩斿洖 +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623375525293", + "rid": "gCxTN5N0", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + 1 + ] +} +``` + +---------- + +## 鏂板鎴栦慨鏀� 鏃ュ父缁忚垂 鐢虫姤涔� + +| 绫� | 鍊� | +| ------ | --------------------------------- | +| URL | /projectPlan/saveProjectDailyPlan | +| Method | POST | + +### 璇锋眰鍙傛暟 + +### 璇锋眰浣� + +```json +{ + "id": 0, //鐢虫姤涔︿富閿甶d + "year": 2022, //骞翠唤 + "departmentCode": "8765986", //閮ㄩ棬缂栧彿 + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", //閮ㄩ棬鍚嶇О + "flowId": 0, //娴佺▼id + "flowType": "", //娴佺▼绫诲瀷 + "note": "", //澶囨敞 + "planType": "XIANGMUKU", //鐢虫姤涔︾被鍨� + "projectLeaderCode": "", //璐熻矗浜虹紪鍙� + "projectLeaderId": 0, //璐熻矗浜篿d + "projectLeaderName": "", //璐熻矗浜哄悕绉� + "projectLibraryId": 0, //鍏宠仈椤圭洰搴搃d + "projectName": "", //椤圭洰鍚嶇О + "quotaMoney": 0, //鏍稿畾閲戦 + "quotaMoney2": 0, //鏍稿畾閲戦2 + "state": "", //瀹℃牳鐘舵€� + "planSubjectList": [//缁忔祹绉戠洰闆嗗悎 + { + "extendFormId": 0, //鎵╁睍琛╥d + "helperCode": "123", //鍗忓姪浜哄伐鍙� + "helperName": "娴嬭瘯vA", //鍗忓姪浜哄悕绉� + "id": 0, //涓婚敭ID + "planBookId": "0", //鐢虫姤涔d + "number": 0, //鏁伴噺 + "otherJson": "", //鍏朵粬鍐呭json + "price": 0, //鍗曚环 + "subjectCode": "8848", //缁忔祹绉戠洰缂栧彿 + "subjectContent": "", //缁忔祹鏄庣粏 + "subjectName": "娴嬭瘯A213", //缁忔祹绉戠洰鍚嶇О + "subtotal": 0, //灏忚閲戦 + "subjectDetailList": [//缁忔祹绉戠洰鏄庣粏闆嗗悎 + { + "id": 0, //涓婚敭ID + "planBookId": 0, //鐢虫姤涔d + "otherJson": "51AA654", //鍏朵粬鍐呭 JSON + "subtotal": 1001 //灏忚閲戦 + } + ] + } + ] +} +``` + +### 杩斿洖 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623376992742", + "rid": "sIVXX4wI", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + 1 + ] +} +``` + +---------- + +## 鏂板鎴栦慨鏀� 浜哄憳缁忚垂 鐢虫姤涔� + +| 绫� | 鍊� | +| ------ | ---------------------------------- | +| URL | /projectPlan/saveProjectPersonPlan | +| Method | POST | + +### 璇锋眰鍙傛暟 + +### 璇锋眰浣� + +```json +{ + "id": 0, //鐢虫姤涔︿富閿甶d + "year": 2022, //骞翠唤 + "departmentCode": "8765986", //閮ㄩ棬缂栧彿 + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", //閮ㄩ棬鍚嶇О + "flowId": 0, //娴佺▼id + "flowType": "", //娴佺▼绫诲瀷 + "planType": "XIANGMUKU", //鐢虫姤涔︾被鍨� + "projectLeaderCode": "", //璐熻矗浜虹紪鍙� + "projectLeaderId": 0, //璐熻矗浜篿d + "projectLeaderName": "", //璐熻矗浜哄悕绉� + "projectLibraryId": 0, //鍏宠仈椤圭洰搴搃d + "projectName": "", //椤圭洰鍚嶇О + "quotaMoney": 0, //鏍稿畾閲戦 + "state": "", //瀹℃牳鐘舵€� + "secondQuotaMoney": 12, //浜屼笂鏍稿畾閲戦 + "projectDailyOncePlanId": 789415, //浜哄憳涓€涓婂叧鑱攊d + "personSubjectList": [//浜哄憳绉戠洰瀛愰泦瀵硅薄闆嗗悎 + { + "id": 1401781310567882754, //涓婚敭ID + "planBookId": "0", //鐢虫姤涔d + "note": "澶囨敞澶囨敞澶嘇AAA娉ㄤ汉鍛�", //澶囨敞 + "personSubjectCode": "444161", //浜哄憳绉戠洰缂栧彿 + "personSubjectName": "浜哄憳绉戠洰AAAA鍚嶇О12342", //浜哄憳绉戠洰鍚嶇О + "total": 0 //閲戦 + } + ] +} +``` + +### 杩斿洖 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623377346253", + "rid": "NIE0DauR", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + 1 + ] +} +``` + +---------- + +## 鎵归噺鍒犻櫎鐢虫姤涔� + +| 绫� | 鍊� | +| ------ | ------------------------------------------------------------ | +| URL | /projectPlan/removeProjectInfoPlan 鎵归噺鍒犻櫎椤圭洰缁忚垂鐢虫姤涔�<br />/projectPlan/removeProjectDailyPlan 鎵归噺鍒犻櫎鏃ュ父缁忚垂鐢虫姤涔�<br />/projectPlan/removeProjectPersonPlan 鎵归噺鍒犻櫎浜哄憳缁忚垂鐢虫姤涔� | +| Method | POST | + +### 璇锋眰鍙傛暟 + +| 鍙傛暟鍚� | 绫诲瀷 | 澶囨敞 | +| ------ | ---- | ------------ | +| id | long | 缁╂晥鎸囨爣涓婚敭 | + +### 璇锋眰浣� +```json +[1402503065334939649,6546515649654563] +``` + +### 杩斿洖 +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623377764288", + "rid": "ll32CacO", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + 1 + ] +} +``` + +---------- + +## 鎻愪氦鐢虫姤涔�----鏈€� + +| 绫� | 鍊� | +| ------ | ------------------------------ | +| URL | /projectPlan/submitProjectPlan | +| Method | POST | + +### 璇锋眰鍙傛暟 + +### 璇锋眰浣� + +```json +{ + "nodeIds": [], //鑺傜偣涓婚敭id + "remake": "" //澶囨敞 +} +``` + +### 杩斿洖 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| | | + +```json + +``` + +---------- + +## 閫氳繃id鏌ヨ椤圭洰鐢虫姤涔︽槑缁� + +| 绫� | 鍊� | +| ------ | ------------------------------------- | +| URL | /projectPlan/queryProjectInfoPlanById | +| Method | POST | + +### 璇锋眰鍙傛暟 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| long | 涓婚敭 | +| | | + +### 璇锋眰浣� +```json +{ + "id":"1" //涓婚敭ID +} +``` + +### 杩斿洖 +| 鍙傛暟鍚� | 绫诲瀷 | 澶囨敞 | +| ------ | ---- | ---- | +| | | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623378221385", + "rid": "7azgVYFW", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + { + "id": "0", + "year": 2022, + "projectName": "", + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", + "departmentCode": "8765986", + "projectLeaderId": "0", + "projectLeaderName": "", + "projectLeaderCode": "", + "flowId": "0", + "flowType": "", + "quotaMoney": 0, + "state": "", + "planType": "XIANGMUKU", + "projectLibraryId": "0", + "summaryJson": "", + "projectType": "", + "planBookSubjectOutList": [ + { + "id": "0", + "planBookId": "0", + "subjectName": "娴嬭瘯A213", + "subjectCode": "8848", + "subjectContent": "", + "price": 0, + "number": 0, + "subtotal": 0, + "otherJson": "", + "extendFormId": "0", + "helperCode": "123", + "helperName": "娴嬭瘯vA", + "subjectDetailList": [ + { + "id": "0", + "parentId": "0", + "subtotal": 1001, + "otherJson": "51AA654" + }, + { + "id": "1", + "parentId": "0", + "subtotal": 21, + "otherJson": "2111" + } + ] + }, + { + "id": "1", + "planBookId": "0", + "subjectName": "娴嬭瘯2asd", + "subjectCode": "64561", + "subjectDetailList": [ + { + "id": "2", + "parentId": "1", + "subtotal": 33, + "otherJson": "3333" + }, + { + "id": "3", + "parentId": "1", + "subtotal": 54, + "otherJson": "54444" + } + ] + } + ], + "projectTargetInfo": { + "id": "0", + "summaryJson": "51654", + "subOtherArrayJson": "杩擜鍥�", + "planBookId": "0" + } + } + ] + //鏆傛湭鍖呭惈娴佺▼鐩稿叧淇℃伅 +} +``` + +---------- + +## 閫氳繃id鏌ヨ鏃ュ父鐢虫姤涔︽槑缁� + +| 绫� | 鍊� | +| ------ | -------------------------------------- | +| URL | /projectPlan/queryProjectDailyPlanById | +| Method | POST | + +### 璇锋眰鍙傛暟 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| long | 涓婚敭 | +| | | + +### 璇锋眰浣� + +```json +{ + "id":"1" //涓婚敭ID +} +``` + +### 杩斿洖 + +| 鍙傛暟鍚� | 绫诲瀷 | 澶囨敞 | +| ------ | ---- | ---- | +| | | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623378626132", + "rid": "T5VVO0vp", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + { + "id": "0", + "year": 2022, + "projectName": "", + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", + "departmentCode": "8765986", + "projectLeaderId": "0", + "projectLeaderName": "", + "projectLeaderCode": "", + "flowId": "0", + "flowType": "", + "quotaMoney": 0, + "state": "", + "planType": "XIANGMUKU", + "projectLibraryId": "0", + "planBookSubjectOutList": [ + { + "id": "0", + "planBookId": "0", + "subjectName": "娴嬭瘯A213", + "subjectCode": "8848", + "subjectContent": "", + "price": 0, + "number": 0, + "subtotal": 0, + "otherJson": "", + "extendFormId": "0", + "helperCode": "123", + "helperName": "娴嬭瘯vA", + "subjectDetailList": [ + { + "id": "0", + "parentId": "0", + "subtotal": 1001, + "otherJson": "51AA654" + }, + { + "id": "1", + "parentId": "0", + "subtotal": 21, + "otherJson": "2111" + } + ] + }, + { + "id": "1", + "planBookId": "0", + "subjectName": "娴嬭瘯2asd", + "subjectCode": "64561", + "subjectDetailList": [ + { + "id": "2", + "parentId": "1", + "subtotal": 33, + "otherJson": "3333" + }, + { + "id": "3", + "parentId": "1", + "subtotal": 54, + "otherJson": "54444" + } + ] + } + ] + } + ] + //鏆傛湭鍖呭惈娴佺▼鐩稿叧淇℃伅 +} +``` + +---------- + +## 閫氳繃id鏌ヨ浜哄憳鐢虫姤涔︽槑缁� + +| 绫� | 鍊� | +| ------ | --------------------------------------- | +| URL | /projectPlan/queryProjectPersonPlanById | +| Method | POST | + +### 璇锋眰鍙傛暟 + +| 绫诲瀷 | 澶囨敞 | +| ---- | ---- | +| long | 涓婚敭 | +| | | + +### 璇锋眰浣� + +```json +{ + "id":"1" //涓婚敭ID +} +``` + +### 杩斿洖 + +| 鍙傛暟鍚� | 绫诲瀷 | 澶囨敞 | +| ------ | ---- | ---- | +| | | | + +```json +{ + "code": "00000", + "description": "鎴愬姛", + "currentTime": "1623378904123", + "rid": "JVOSS71V", + "pageIndex": 0, + "pageSize": 0, + "pageCount": 0, + "total": 1, + "data": [ + { + "id": "0", + "year": 2022, + "projectName": "", + "departmentName": "杩欐槸淇敼鐨勮姹傜ず渚�!~!!!!!!", + "departmentCode": "8765986", + "projectLeaderId": "0", + "projectLeaderName": "", + "projectLeaderCode": "", + "flowId": "0", + "flowType": "", + "quotaMoney": 0, + "state": "", + "planType": "XIANGMUKU", + "projectLibraryId": "0", + "secondQuotaMoney": 12, + "projectDailyOncePlanId": "4546", + "planBookPersonSubjectOutList": [ + { + "id": "0", + "planBookId": "0", + "personSubjectName": "浜哄憖UN绉戠洰鍚嶇О", + "personSubjectCode": "464646988", + "total": 0, + "note": "濂藉伓灏辨硶灏擲V" + }, + { + "id": "1", + "planBookId": "0", + "personSubjectName": "浜哄憳绉戠洰鍚嶇О", + "personSubjectCode": "1265465", + "total": 0, + "note": "鐨勫櫌骞冲潎鍒嗙エ棰濆" + } + ] + } + ] + //鏆傛湭鍖呭惈娴佺▼鐩稿叧淇℃伅 +} +``` + +---------- + -- GitLab From e8b6b25f8956770095bca7f3f2943a2276276531 Mon Sep 17 00:00:00 2001 From: XLR_asd <xueyawei@seaskysh.com> Date: Fri, 11 Jun 2021 14:04:26 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat=20=20=E5=AE=9A=E9=A2=9D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20C=E7=BA=BF=20domain=20=E4=BB=93=E5=82=A8=E5=B1=82?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...256\232\351\242\235\350\241\250(quota).md" | 28 ++++ .../quotamanage/QuotaManageRepository.java | 26 ++++ .../quotaproject/QuotaProjectAgg.java | 5 +- .../domain/service/QuotaManageDomainSvr.java | 4 +- .../service/QuotaManageDomainSvrImpl.java | 68 ++++++++- .../infrastructure/dataobject/po/QuotaPo.java | 71 ++++++++++ .../dataobject/qo/QuotaManageQo.java | 55 +++++++ .../db/mapper/table/QuotaMapper.java | 26 ++++ .../db/mapper/xml/QuotaManageMapper.xml | 18 +++ .../quotamanage/QuotaManageConvert.java | 109 ++++++++++++++ .../QuotaManageRepositoryImpl.java | 134 +++++++++++++++++- 11 files changed, 531 insertions(+), 13 deletions(-) create mode 100644 "Document/2.\350\256\276\350\256\241/5.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241/\345\256\232\351\242\235\350\241\250(quota).md" create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/po/QuotaPo.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/qo/QuotaManageQo.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/QuotaMapper.java create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/QuotaManageMapper.xml create mode 100644 ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageConvert.java diff --git "a/Document/2.\350\256\276\350\256\241/5.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241/\345\256\232\351\242\235\350\241\250(quota).md" "b/Document/2.\350\256\276\350\256\241/5.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241/\345\256\232\351\242\235\350\241\250(quota).md" new file mode 100644 index 000000000..376b300f6 --- /dev/null +++ "b/Document/2.\350\256\276\350\256\241/5.\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241/\345\256\232\351\242\235\350\241\250(quota).md" @@ -0,0 +1,28 @@ +# 瀹氶琛�(quota) + +| 瀛楁 | 绫诲瀷 | 鍏佽绌� | 榛樿鍊� | 鎻忚堪 | +| -------------------- | ------------ | ------ | -------------------- | ------------ | +| id | bigint | NO | - | - | +| year | int | YES | | 骞翠唤 | +| quotaMoney | numeric | YES | 澶у皬22 姣斾緥5 | 鏍稿畾閲戦 | +| 浠ヤ笅椤圭洰绫诲瀷瀹氶瀛楁 | | | | | +| projectTypeName | varchar | YES | | 椤圭洰绫诲瀷鍚嶇О | +| projectTypeCode | varchar | YES | | 椤圭洰绫诲瀷缂栧彿 | +| projectTypeId | bigint | YES | | 椤圭洰绫诲瀷id | +| 浠ヤ笅閮ㄩ棬瀹氶瀛楁 | | | | | +| deptName | varchar | YES | | 閮ㄩ棬鍚嶇О | +| deptCode | varchar | YES | | 閮ㄩ棬缂栧彿 | +| quotaType | varchar | YES | | 瀹氶绫诲瀷 | +| 浠ヤ笅鍏蜂綋椤圭洰瀹氶瀛楁 | | | | | +| projectName | varchar | YES | | 椤圭洰鍚嶇О | +| projectCode | varchar | YES | | 椤圭洰缂栧彿 | +| projectId | bigint | YES | | 椤圭洰澶х被id | +| | | | | | +| creator | bigint | YES | - | 鍒涘缓鑰� | +| updator | bigint | YES | - | 鏇存柊鑰� | +| remark | varchar(128) | YES | - | 澶囨敞 | +| available | varchar(32) | NO | YES | 鏄惁鍙敤 | +| create_date | datetime | NO | CURRENT_TIMESTAMP | 鍒涘缓鏃堕棿 | +| update_date | datetime | NO | CURRENT_TIMESTAMP | 鏇存柊鏃堕棿 | +| version_date | timestamp(3) | NO | CURRENT_TIMESTAMP(3) | 鐗堟湰鏃堕棿鎴� | + diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java index b19869cf5..378d5391a 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotamanage/QuotaManageRepository.java @@ -4,6 +4,8 @@ import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import java.util.List; + /** * 瀹氶绠$悊 浠撳偍灞� * @@ -20,6 +22,14 @@ public interface QuotaManageRepository { */ Integer modifyQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); + /** + * 鎻掑叆椤圭洰绫诲瀷瀹氶 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + Integer insertQuotaProjectType(List<QuotaProjectTypeAgg> listAgg); + /** * 鏌ヨ椤圭洰绫诲瀷瀹氶 鏄庣粏 C绾� * @@ -36,6 +46,14 @@ public interface QuotaManageRepository { */ Integer modifyQuotaDept(QuotaDeptAgg quotaDeptAgg); + /** + * 鏂板閮ㄩ棬瀹氶 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + Integer insertQuotaDept(List<QuotaDeptAgg> listAgg); + /** * 鏌ヨ閮ㄩ棬瀹氶 鏄庣粏 C绾� * @@ -52,6 +70,14 @@ public interface QuotaManageRepository { */ Integer modifyQuotaProject(QuotaProjectAgg quotaProjectAgg); + /** + * 鏂板椤圭洰閰嶉 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + Integer insertQuotaProject(List<QuotaProjectAgg> listAgg); + /** * 鏌ヨ椤圭洰瀹氶 鏄庣粏 C绾� * diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java index 910fed116..e384a27bb 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/quotaproject/QuotaProjectAgg.java @@ -34,7 +34,7 @@ public class QuotaProjectAgg extends QuotaManageAgg { private String projectCode; /** - * 椤圭洰澶х被id + * 椤圭洰id */ private Long projectId; @@ -48,11 +48,10 @@ public class QuotaProjectAgg extends QuotaManageAgg { /** * 鍩虹淇敼 */ - public void setModify(Integer year,String projectTypeName,String projectName,String projectCode,Long projectId){ + public void setModify(Integer year,String projectTypeName,String projectName,Long projectId){ this.setYear(year); this.projectTypeName = projectTypeName; this.projectName = projectName; - this.projectCode = projectCode; this.projectId = projectId; } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java index 8a64aa724..2d78dd507 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvr.java @@ -39,6 +39,7 @@ public interface QuotaManageDomainSvr { /** * 鍒濆鍖栭」鐩被鍨嬪畾棰� * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� * @return {@link Integer} */ Integer initQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg); @@ -46,7 +47,7 @@ public interface QuotaManageDomainSvr { /** * 鍒濆鍖栭儴闂ㄥ畾棰� * - * @param quotaType 閰嶉绫诲瀷 + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� * @return {@link Integer} */ Integer initQuotaDept(QuotaDeptAgg quotaDeptAgg); @@ -54,6 +55,7 @@ public interface QuotaManageDomainSvr { /** * 鍒濆鍖栭」鐩畾棰� * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� * @return {@link Integer} */ Integer initQuotaProject(QuotaProjectAgg quotaProjectAgg); diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java index 2f46bc7b3..195fcf86f 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/QuotaManageDomainSvrImpl.java @@ -2,14 +2,25 @@ package com.seasky.projectplan.domain.service; import com.seasky.core.common.Error; import com.seasky.core.common.ResponseCode; +import com.seasky.core.ddd.utils.MapperUtils; import com.seasky.core.exception.DataVerifyException; +import com.seasky.micro.basedata.dto.OrganizationDTO; +import com.seasky.projectplan.domain.aggregate.budgetinfo.BudgetInfoAgg; +import com.seasky.projectplan.domain.aggregate.budgetinfo.BudgetInfoRepository; +import com.seasky.projectplan.domain.aggregate.projectInfoplan.ProjectInfoPlanAgg; +import com.seasky.projectplan.domain.aggregate.projectInfoplan.ProjectInfoRepository; import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageRepository; import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import com.seasky.projectplan.infrastructure.rpc.OrganizationRPC; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 閰嶉绠$悊 DomainSvrImpl @@ -23,6 +34,16 @@ public class QuotaManageDomainSvrImpl implements QuotaManageDomainSvr { @Resource QuotaManageRepository repository; + @Resource + BudgetInfoRepository budgetInfoRepository; + + @Resource + ProjectInfoRepository projectInfoRepository; + + @Resource + OrganizationRPC organizationRPC; + + /** * 淇敼椤圭洰绫诲瀷瀹氶鐨勯噾棰� * @@ -77,18 +98,59 @@ public class QuotaManageDomainSvrImpl implements QuotaManageDomainSvr { return repository.modifyQuotaProject(modifyAgg); } + /** + * 鍒濆鍖栭」鐩被鍨嬪畾棰� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer initQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { - return null; + List<BudgetInfoAgg> budgetInfoAggList = budgetInfoRepository.queryBudgetInfoList(BudgetInfoAgg.builder().year(quotaProjectTypeAgg.getYear()).build()); + List<QuotaProjectTypeAgg> saveAggList = new ArrayList<>(); + for (BudgetInfoAgg infoAgg : budgetInfoAggList) { + QuotaProjectTypeAgg saveAgg = new QuotaProjectTypeAgg(); + saveAgg.setModify(infoAgg.getYear(),infoAgg.getBudgetName(),infoAgg.getBudgetCode(),infoAgg.getId()); + saveAggList.add(saveAgg); + } + return repository.insertQuotaProjectType(saveAggList); } + /** + * 鍒濆鍖栭儴闂ㄥ畾棰� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer initQuotaDept(QuotaDeptAgg quotaDeptAgg) { - return null; + List<OrganizationDTO> organizationDtoList = organizationRPC.getOrganizationDtoList(); + List<QuotaDeptAgg> saveAggList = new ArrayList<>(); + for (OrganizationDTO deptDto : organizationDtoList) { + QuotaDeptAgg saveAgg = new QuotaDeptAgg(); + saveAgg.setModify(quotaDeptAgg.getYear(),deptDto.getName(), deptDto.getCode(), quotaDeptAgg.getQuotaType()); + saveAggList.add(saveAgg); + } + return repository.insertQuotaDept(saveAggList); } + /** + * 鍒濆鍖栭」鐩畾棰� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer initQuotaProject(QuotaProjectAgg quotaProjectAgg) { - return null; + ProjectInfoPlanAgg queryAgg = new ProjectInfoPlanAgg(); + queryAgg.setYear(quotaProjectAgg.getYear()); + List<ProjectInfoPlanAgg> projectInfoPlanAggList = projectInfoRepository.queryProjectInfoPlanList(queryAgg); + List<QuotaProjectAgg> saveAggList = new ArrayList<>(); + for (ProjectInfoPlanAgg infoAgg : projectInfoPlanAggList) { + QuotaProjectAgg saveAgg = new QuotaProjectAgg(); + saveAgg.setModify(infoAgg.getYear(),infoAgg.getProjectType(),infoAgg.getProjectName(), infoAgg.getId()); + saveAggList.add(saveAgg); + } + return repository.insertQuotaProject(saveAggList); } } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/po/QuotaPo.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/po/QuotaPo.java new file mode 100644 index 000000000..a054d162e --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/po/QuotaPo.java @@ -0,0 +1,71 @@ +package com.seasky.projectplan.infrastructure.dataobject.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 閰嶉po绫� + * + * @author XueYawei + * @date 2021/06/11 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "quota", autoResultMap = true) +@Builder +public class QuotaPo extends BaseDataObject { + + @TableField("year") + @ApiModelProperty("骞翠唤") + private Integer year; + + @TableField("quota_money") + @ApiModelProperty("鏍稿畾閲戦") + private BigDecimal quotaMoney; + + @TableField("project_type_name") + @ApiModelProperty("椤圭洰绫诲瀷鍚嶇О") + private String projectTypeName; + + @TableField("project_type_code") + @ApiModelProperty("椤圭洰绫诲瀷缂栧彿") + private String projectTypeCode; + + @TableField("project_type_id") + @ApiModelProperty("椤圭洰绫诲瀷id") + private Long projectTypeId; + + @TableField("dept_name") + @ApiModelProperty("閮ㄩ棬鍚嶇О") + private String deptName; + + @TableField("dept_code") + @ApiModelProperty("閮ㄩ棬缂栧彿") + private String deptCode; + + @TableField("quota_type") + @ApiModelProperty("瀹氶绫诲瀷") + private String quotaType; + + @TableField("project_name") + @ApiModelProperty("椤圭洰鍚嶇О") + private String projectName; + + @TableField("project_code") + @ApiModelProperty("椤圭洰缂栧彿") + private String projectCode; + + @TableField("project_id") + @ApiModelProperty("椤圭洰澶х被id") + private Long projectId; + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/qo/QuotaManageQo.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/qo/QuotaManageQo.java new file mode 100644 index 000000000..c3e86e459 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/dataobject/qo/QuotaManageQo.java @@ -0,0 +1,55 @@ +package com.seasky.projectplan.infrastructure.dataobject.qo; + +import com.seasky.core.ddd.base.BaseDataObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 瀹氶绠$悊Qo + * + * @author XueYawei + * @date 2021/06/11 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class QuotaManageQo extends BaseDataObject { + + @ApiModelProperty("骞翠唤") + private Integer year; + + @ApiModelProperty("鏍稿畾閲戦") + private BigDecimal quotaMoney; + + @ApiModelProperty("椤圭洰绫诲瀷鍚嶇О") + private String projectTypeName; + + @ApiModelProperty("椤圭洰绫诲瀷缂栧彿") + private String projectTypeCode; + + @ApiModelProperty("椤圭洰绫诲瀷id") + private Long projectTypeId; + + @ApiModelProperty("閮ㄩ棬鍚嶇О") + private String deptName; + + @ApiModelProperty("閮ㄩ棬缂栧彿") + private String deptCode; + + @ApiModelProperty("瀹氶绫诲瀷") + private String quotaType; + + @ApiModelProperty("椤圭洰鍚嶇О") + private String projectName; + + @ApiModelProperty("椤圭洰缂栧彿") + private String projectCode; + + @ApiModelProperty("椤圭洰澶х被id") + private Long projectId; + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/QuotaMapper.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/QuotaMapper.java new file mode 100644 index 000000000..c62f2e4c8 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/QuotaMapper.java @@ -0,0 +1,26 @@ +package com.seasky.projectplan.infrastructure.db.mapper.table; + +import com.seasky.core.base.BaseMapper; +import com.seasky.projectplan.infrastructure.dataobject.po.QuotaPo; +import com.seasky.projectplan.infrastructure.dataobject.qo.QuotaManageQo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 閰嶉鏄犲皠鍣� + * + * @author XueYawei + * @date 2021/06/11 + */ +@Mapper +public interface QuotaMapper extends BaseMapper<QuotaPo> { + + /** + * 鏌ヨ閰嶉绠$悊缁嗚妭 + * + * @param quotaManageQo 閰嶉绠$悊Qo + * @return {@link QuotaPo} + */ + QuotaPo queryQuotaManageDetails(@Param("pm")QuotaManageQo quotaManageQo); + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/QuotaManageMapper.xml b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/QuotaManageMapper.xml new file mode 100644 index 000000000..944aece03 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/xml/QuotaManageMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.projectplan.infrastructure.db.mapper.table.QuotaMapper"> + + <select id="queryQuotaManageDetails" + resultType="com.seasky.projectplan.infrastructure.dataobject.po.QuotaPo"> + select + * + from + quota + <where> + available = 'YES' + <if test="pm.id != null"> + and a.id = #{pm.id} + </if> + </where> + </select> +</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageConvert.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageConvert.java new file mode 100644 index 000000000..a82134e69 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageConvert.java @@ -0,0 +1,109 @@ +package com.seasky.projectplan.infrastructure.repository.quotamanage; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; +import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; +import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import com.seasky.projectplan.infrastructure.dataobject.po.QuotaPo; +import com.seasky.projectplan.infrastructure.dataobject.qo.QuotaManageQo; + +/** + * 瀹氶绠$悊宸ュ巶绫� + * + * @author XueYawei + * @date 2021/06/11 + */ +public class QuotaManageConvert { + + /** + * 椤圭洰绫诲瀷鑱氬悎鏍硅浆po绫� + * + * @param agg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link QuotaPo} + */ + public static QuotaPo projectTypeAggToPo(QuotaProjectTypeAgg agg){ + return MapperUtils.INSTANCE.map(QuotaPo.class,agg); + } + + /** + * 椤圭洰绫诲瀷鑱氬悎鏍硅浆Qo + * + * @param agg 椤圭洰淇℃伅璁″垝鑱氬悎鏍� + * @return {@link QuotaManageQo} + */ + public static QuotaManageQo projectTypeAggToQo(QuotaProjectTypeAgg agg){ + return MapperUtils.INSTANCE.map(QuotaManageQo.class,agg); + } + + /** + * po绫昏浆椤圭洰绫诲瀷鑱氬悎鏍� + * + * @param po po绫� + * @return {@link QuotaProjectTypeAgg} + */ + public static QuotaProjectTypeAgg poToProjectTypeAgg(QuotaPo po){ + return MapperUtils.INSTANCE.map(QuotaProjectTypeAgg.class,po); + } + + + /** + * 閮ㄩ棬鑱氬悎鏍硅浆po绫� + * + * @param agg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link QuotaPo} + */ + public static QuotaPo deptAggToPo(QuotaDeptAgg agg){ + return MapperUtils.INSTANCE.map(QuotaPo.class,agg); + } + + /** + * 閮ㄩ棬鑱氬悎鏍硅浆Qo + * + * @param agg 椤圭洰淇℃伅璁″垝鑱氬悎鏍� + * @return {@link QuotaManageQo} + */ + public static QuotaManageQo deptAggToQo(QuotaDeptAgg agg){ + return MapperUtils.INSTANCE.map(QuotaManageQo.class,agg); + } + + /** + * po绫昏浆閮ㄩ棬鑱氬悎鏍� + * + * @param po po绫� + * @return {@link QuotaDeptAgg} + */ + public static QuotaDeptAgg poToDeptAgg(QuotaPo po){ + return MapperUtils.INSTANCE.map(QuotaDeptAgg.class,po); + } + + + /** + * 椤圭洰鑱氬悎鏍硅浆po绫� + * + * @param agg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link QuotaPo} + */ + public static QuotaPo projectAggToPo(QuotaProjectAgg agg){ + return MapperUtils.INSTANCE.map(QuotaPo.class,agg); + } + + /** + * 椤圭洰鑱氬悎鏍硅浆Qo + * + * @param agg 椤圭洰淇℃伅璁″垝鑱氬悎鏍� + * @return {@link QuotaManageQo} + */ + public static QuotaManageQo projectAggToQo(QuotaProjectAgg agg){ + return MapperUtils.INSTANCE.map(QuotaManageQo.class,agg); + } + + /** + * po绫昏浆椤圭洰鑱氬悎鏍� + * + * @param po po绫� + * @return {@link QuotaProjectAgg} + */ + public static QuotaProjectAgg poToProjectAgg(QuotaPo po){ + return MapperUtils.INSTANCE.map(QuotaProjectAgg.class,po); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java index 5512d0609..aab2e3904 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/quotamanage/QuotaManageRepositoryImpl.java @@ -1,11 +1,20 @@ package com.seasky.projectplan.infrastructure.repository.quotamanage; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.exception.DataAccessException; import com.seasky.projectplan.domain.aggregate.quotadept.QuotaDeptAgg; import com.seasky.projectplan.domain.aggregate.quotamanage.QuotaManageRepository; import com.seasky.projectplan.domain.aggregate.quotaproject.QuotaProjectAgg; import com.seasky.projectplan.domain.aggregate.quotaprojecttype.QuotaProjectTypeAgg; +import com.seasky.projectplan.infrastructure.dataobject.po.QuotaPo; +import com.seasky.projectplan.infrastructure.dataobject.qo.QuotaManageQo; +import com.seasky.projectplan.infrastructure.db.mapper.table.QuotaMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 瀹氶绠$悊浠撳偍灞俰mpl * @@ -15,35 +24,148 @@ import org.springframework.stereotype.Repository; @Repository public class QuotaManageRepositoryImpl implements QuotaManageRepository { + @Autowired + QuotaMapper mapper; + /** + * 淇敼椤圭洰绫诲瀷瀹氶鐨勯噾棰� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer modifyQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { - return null; + QuotaPo quotaPo = QuotaManageConvert.projectTypeAggToPo(quotaProjectTypeAgg); + quotaPo.prepareBeforeUpdate(); + if (mapper.updateById(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "椤圭洰绫诲瀷瀹氶 淇敼澶辫触", "")); + } + return 1; } + /** + * 鎻掑叆椤圭洰绫诲瀷瀹氶 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + @Override + public Integer insertQuotaProjectType(List<QuotaProjectTypeAgg> listAgg) { + for (QuotaProjectTypeAgg agg : listAgg) { + QuotaPo quotaPo = QuotaManageConvert.projectTypeAggToPo(agg); + quotaPo.prepareBeforeInsert(); + if (mapper.insert(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "椤圭洰绫诲瀷瀹氶 淇℃伅鏂板澶辫触", "")); + } + } + return 1; + } + + /** + * 鏌ヨ椤圭洰绫诲瀷瀹氶 鏄庣粏 C绾� + * + * @param quotaProjectTypeAgg 閰嶉椤圭洰绫诲瀷鑱氬悎鏍� + * @return {@link QuotaProjectTypeAgg} + */ @Override public QuotaProjectTypeAgg queryQuotaProjectType(QuotaProjectTypeAgg quotaProjectTypeAgg) { - return null; + QuotaManageQo quotaManageQo = QuotaManageConvert.projectTypeAggToQo(quotaProjectTypeAgg); + QuotaPo quotaPo = mapper.queryQuotaManageDetails(quotaManageQo); + return QuotaManageConvert.poToProjectTypeAgg(quotaPo); } + /** + * 淇敼閮ㄩ棬瀹氶鐨勯噾棰� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer modifyQuotaDept(QuotaDeptAgg quotaDeptAgg) { - return null; + QuotaPo quotaPo = QuotaManageConvert.deptAggToPo(quotaDeptAgg); + quotaPo.prepareBeforeUpdate(); + if (mapper.updateById(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "閮ㄩ棬瀹氶 淇敼澶辫触", "")); + } + return 1; + } + + /** + * 鏂板閮ㄩ棬瀹氶 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + @Override + public Integer insertQuotaDept(List<QuotaDeptAgg> listAgg) { + for (QuotaDeptAgg agg : listAgg) { + QuotaPo quotaPo = QuotaManageConvert.deptAggToPo(agg); + quotaPo.prepareBeforeInsert(); + if (mapper.insert(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "閮ㄩ棬瀹氶 淇℃伅鏂板澶辫触", "")); + } + } + return 1; } + /** + * 鏌ヨ閮ㄩ棬瀹氶 鏄庣粏 C绾� + * + * @param quotaDeptAgg 閰嶉閮ㄩ棬鑱氬悎鏍� + * @return {@link QuotaDeptAgg} + */ @Override public QuotaDeptAgg queryQuotaDept(QuotaDeptAgg quotaDeptAgg) { - return null; + QuotaManageQo quotaManageQo = QuotaManageConvert.deptAggToQo(quotaDeptAgg); + QuotaPo quotaPo = mapper.queryQuotaManageDetails(quotaManageQo); + return QuotaManageConvert.poToDeptAgg(quotaPo); } + /** + * 淇敼椤圭洰瀹氶鐨勯噾棰� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link Integer} + */ @Override public Integer modifyQuotaProject(QuotaProjectAgg quotaProjectAgg) { - return null; + QuotaPo quotaPo = QuotaManageConvert.projectAggToPo(quotaProjectAgg); + quotaPo.prepareBeforeUpdate(); + if (mapper.updateById(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "椤圭洰瀹氶 淇敼澶辫触", "")); + } + return 1; + } + + /** + * 鏂板椤圭洰閰嶉 + * + * @param listAgg 鍒楄〃鑱氬悎鏍� + * @return {@link Integer} + */ + @Override + public Integer insertQuotaProject(List<QuotaProjectAgg> listAgg) { + for (QuotaProjectAgg agg : listAgg) { + QuotaPo quotaPo = QuotaManageConvert.projectAggToPo(agg); + quotaPo.prepareBeforeInsert(); + if (mapper.insert(quotaPo) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "椤圭洰瀹氶 淇℃伅鏂板澶辫触", "")); + } + } + return 1; } + /** + * 鏌ヨ椤圭洰瀹氶 鏄庣粏 C绾� + * + * @param quotaProjectAgg 閰嶉椤圭洰鑱氬悎鏍� + * @return {@link QuotaProjectAgg} + */ @Override public QuotaProjectAgg queryQuotaProject(QuotaProjectAgg quotaProjectAgg) { - return null; + QuotaManageQo quotaManageQo = QuotaManageConvert.projectAggToQo(quotaProjectAgg); + QuotaPo quotaPo = mapper.queryQuotaManageDetails(quotaManageQo); + return QuotaManageConvert.poToProjectAgg(quotaPo); } } -- GitLab