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