fyz 1 неделя назад
Сommit
4c18a98adf
65 измененных файлов с 10064 добавлено и 0 удалено
  1. 61 0
      mjava-sdzl/pom.xml
  2. 33 0
      mjava-sdzl/src/main/java/com/malk/sdzl/Boot.java
  3. 22 0
      mjava-sdzl/src/main/java/com/malk/sdzl/controller/DDController.java
  4. 152 0
      mjava-sdzl/src/main/java/com/malk/sdzl/controller/DLController.java
  5. 199 0
      mjava-sdzl/src/main/java/com/malk/sdzl/controller/ECController.java
  6. 63 0
      mjava-sdzl/src/main/java/com/malk/sdzl/controller/PIController.java
  7. 63 0
      mjava-sdzl/src/main/java/com/malk/sdzl/delegate/DDDelegate.java
  8. 93 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/AdvancePayment.java
  9. 96 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/BusinessCancel.java
  10. 92 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/BusinessOpportunity.java
  11. 78 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/CollectionVoucher.java
  12. 68 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/ContractBinding.java
  13. 93 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/ContractTermination.java
  14. 118 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/InvoiceApplication.java
  15. 115 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/InvoiceRequest.java
  16. 110 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/SystemContract.java
  17. 43 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/AdvanceRecord.java
  18. 30 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/CollectionRecord.java
  19. 44 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceCollectionRecord.java
  20. 40 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceRequestAnnal.java
  21. 47 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceRequestDetail.java
  22. 30 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/SystemContractProduct.java
  23. 20 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/SystemContractReturnPlan.java
  24. 47 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/TurnoverRecord.java
  25. 16 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/Attachment.java
  26. 153 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/CustomerInfoEntity.java
  27. 195 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/SupplierInfoEntity.java
  28. 193 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/AcceptanceRequest.java
  29. 125 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/AdvanceRefund.java
  30. 95 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/DeveloperOnboard.java
  31. 160 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/FinancialVerification.java
  32. 267 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/InvoiceIssuance.java
  33. 138 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/OtherExpenses.java
  34. 80 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/PaymentBehalf.java
  35. 107 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ProjectBalanceAdjustment.java
  36. 310 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ProjectCountersign.java
  37. 217 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RebateClaim.java
  38. 174 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RebateConfirm.java
  39. 269 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RechargePayment.java
  40. 172 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ReferrerRefund.java
  41. 268 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/SettlementBook.java
  42. 120 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ShareEconomyCollection.java
  43. 351 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/SharingAdvancePayment.java
  44. 88 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestProjects.java
  45. 45 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestSettlements.java
  46. 52 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestWriteoff.java
  47. 56 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AdvanceRefundDetail.java
  48. 38 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/DeductionExpenseDetail.java
  49. 53 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/DeveloperOnboardDetail.java
  50. 63 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/OtherExpensesTable.java
  51. 25 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/PaymentBehalfTable.java
  52. 77 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/ProjectBalanceAdjustmentDetail.java
  53. 75 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/RebateClaimDetail.java
  54. 33 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/RebateConfirmDetail.java
  55. 39 0
      mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/SettlementApplicationDetail.java
  56. 49 0
      mjava-sdzl/src/main/java/com/malk/sdzl/enums/AttachmentTypeEnum.java
  57. 121 0
      mjava-sdzl/src/main/java/com/malk/sdzl/service/CommissionService.java
  58. 2109 0
      mjava-sdzl/src/main/java/com/malk/sdzl/service/Impl/CommissionServiceImpl.java
  59. 1252 0
      mjava-sdzl/src/main/java/com/malk/sdzl/service/Impl/PayServiceImpl.java
  60. 78 0
      mjava-sdzl/src/main/java/com/malk/sdzl/service/PayService.java
  61. 58 0
      mjava-sdzl/src/main/resources/application-dev.yml
  62. 59 0
      mjava-sdzl/src/main/resources/application-prod.yml
  63. 40 0
      mjava-sdzl/src/test/java/test.java
  64. 39 0
      mjava-sdzl/src/test/resource/server.sh
  65. 448 0
      pom.xml

+ 61 - 0
mjava-sdzl/pom.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>java-mcli</artifactId>
+        <groupId>com.malk</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>mjava-sdzl</artifactId>
+    <description>达利集团云简对接</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <!-- 核心模块-->
+        <dependency>
+            <groupId>com.malk</groupId>
+            <artifactId>mjava</artifactId>
+            <version>${mjava.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.xerial</groupId>
+            <artifactId>sqlite-jdbc</artifactId>
+            <version>3.41.2.1</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.1.RELEASE</version>
+                <configuration>
+                    <includeSystemScope>true</includeSystemScope>
+                    <!-- 如果没有该配置,devtools不会生效: 打包时关闭 -->
+                    <fork>false</fork>
+                    <!-- 避免中文乱码 -->
+                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
+                </configuration>
+                <!-- 允许生成可运行jar -->
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <finalName>${project.artifactId}</finalName>
+    </build>
+</project>

+ 33 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/Boot.java

@@ -0,0 +1,33 @@
+package com.malk.sdzl;
+
+import com.querydsl.jpa.impl.JPAQueryFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+
+import javax.persistence.EntityManager;
+
+/**
+ * corp项目: 扫描公共模块
+ * -
+ * 若是无需数据库模块, 配置无效地址也可启动, 引入mjava不支持直接 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 配置
+ * 需要配置 jpa.hibernate.ddl-auto 为 none. 标识对表没有任何操作. 若不设置为 none, flyway.enabled 配置会无效, 在没有数库连接情况下程序无法启动
+ */
+@EnableJpaAuditing
+@SpringBootApplication(scanBasePackages = {"com.malk"},exclude={DataSourceAutoConfiguration.class})
+public class Boot {
+
+    public static void main(String... args) {
+        SpringApplication.run(Boot.class, args);
+    }
+
+    /**
+     * 让Spring管理JPAQueryFactory [不使用Qualifier详见mjava-Boot]
+     */
+    @Bean
+    public JPAQueryFactory jpaQueryFactory(EntityManager entityManager) {
+        return new JPAQueryFactory(entityManager);
+    }
+}

+ 22 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/controller/DDController.java

@@ -0,0 +1,22 @@
+package com.malk.sdzl.controller;
+
+import com.malk.controller.DDCallbackController;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 钉钉事件回调 3_1
+ * -
+ * [子项目直接继承即可有调用, 无需实现]
+ * -
+ * 注解 @RequestMapping 路径不能重复 [主子项目属同一个项目];
+ * 获取项目回调请求地址, https://mc.cloudpure.cn/frp/xxx/dd/callback [调试代理: frp + nginx]
+ */
+@Slf4j
+@RestController
+@RequestMapping("/dd")
+public class DDController extends DDCallbackController {
+
+
+}

+ 152 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/controller/DLController.java

@@ -0,0 +1,152 @@
+package com.malk.sdzl.controller;
+
+/**
+ * 错误抛出与拦截详见 CatchException
+ */
+
+import com.malk.sdzl.entity.AMS.master.*;
+import com.malk.sdzl.service.PayService;
+import com.malk.server.common.McException;
+import com.malk.server.common.McR;
+import com.malk.server.common.McREnum;
+import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
+import com.malk.utils.UtilServlet;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+@Slf4j
+@RestController
+@RequestMapping
+public class DLController {
+
+    @Autowired
+    private YDService ydService;
+    @Autowired
+    private YDClient ydClient;
+
+    @Autowired
+    private PayService payService;
+
+    @PostMapping(value = "startContractBinding")
+    McR startContractBinding(@RequestBody ContractBinding contractBinding , HttpServletRequest request) {
+        log.info("开始执行客户合同绑定申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", contractBinding, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startContractBinding(contractBinding);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startSystemContract")
+    McR startSystemContract(@RequestBody SystemContract systemContract , HttpServletRequest request) {
+        log.info("开始执行系统服务合同申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", systemContract, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startSystemContract(systemContract);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startContractTermination")
+    McR startContractTermination(@RequestBody ContractTermination contractTermination, HttpServletRequest request) {
+        log.info("开始执行合同终止变更申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", contractTermination, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startContractTermination(contractTermination);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startCollectionVoucher")
+    McR startCollectionVoucher(@RequestBody CollectionVoucher collectionVoucher, HttpServletRequest request) {
+        log.info("开始执行收款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", collectionVoucher, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startCollectionVoucher(collectionVoucher);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startInvoiceApplication")
+    McR startInvoiceApplication(@RequestBody InvoiceApplication invoiceApplication, HttpServletRequest request) {
+        log.info("开始执行产品发票申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", invoiceApplication, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startInvoiceApplication(invoiceApplication);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startAdvancePayment")
+    McR startAdvancePayment(@RequestBody AdvancePayment advancePayment, HttpServletRequest request) {
+        log.info("开始执行预付款申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", advancePayment, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startAdvancePayment(advancePayment);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startInvoiceRequest")
+    McR startInvoiceRequest(@RequestBody InvoiceRequest invoiceRequest, HttpServletRequest request) {
+        log.info("开始执行请款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", invoiceRequest, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startInvoiceRequest(invoiceRequest);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startBusinessOpportunity")
+    McR startBusinessOpportunity(@RequestBody BusinessOpportunity businessOpportunity, HttpServletRequest request) {
+        log.info("开始执行商机信息申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", businessOpportunity, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startBusinessOpportunity(businessOpportunity);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startBusinessCancel")
+    McR startBusinessCancel(@RequestBody BusinessCancel businessCancel, HttpServletRequest request) {
+        log.info("开始执行商机信息作废申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", businessCancel, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = payService.startBusinessCancel(businessCancel);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "testGet")
+    McR testGet(@RequestBody Map data) {
+//        payService.testGet(data.get("id").toString());
+        return McR.success();
+    }
+    @PostMapping(value = "approvalCallback")
+    McR approvalCallback(@RequestBody Map bodyMap) {
+        log.info("开始执行流程回写操作");
+//        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}", bodyMap);
+//        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        String result = payService.approvalCallback(bodyMap);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "approvalCallbackFile")
+    McR approvalCallbackFile(@RequestBody Map bodyMap) {
+        log.info("开始执行流程回写附件操作");
+//        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}", bodyMap);
+//        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        String result = payService.approvalCallbackFile(bodyMap);
+        return McR.success(result);
+    }
+}

+ 199 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/controller/ECController.java

@@ -0,0 +1,199 @@
+package com.malk.sdzl.controller;
+
+/**
+ * 错误抛出与拦截详见 CatchException
+ */
+
+import com.malk.sdzl.entity.commission.master.*;
+import com.malk.sdzl.service.CommissionService;
+import com.malk.server.common.McException;
+import com.malk.server.common.McR;
+import com.malk.server.common.McREnum;
+import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
+import com.malk.utils.UtilServlet;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+@Slf4j
+@RestController
+@RequestMapping
+public class ECController {
+
+    @Autowired
+    private YDService ydService;
+    @Autowired
+    private YDClient ydClient;
+
+    @Autowired
+    private CommissionService commissionService;
+
+    @PostMapping(value = "startProjectCountersign")
+    McR startProjectCountersign(@RequestBody ProjectCountersign projectCountersign , HttpServletRequest request) {
+        log.info("开始执行共享经济立项合同流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", projectCountersign, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startProjectCountersign(projectCountersign);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startSettlementBook")
+    McR startSettlementBook(@RequestBody SettlementBook settlementBook , HttpServletRequest request) {
+        log.info("开始执行共享经济结算书申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", settlementBook, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startSettlementBook(settlementBook);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startPaymentBehalf")
+    McR startPaymentBehalf(@RequestBody PaymentBehalf paymentBehalf , HttpServletRequest request) {
+        log.info("开始执行共享经济甲方代付流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", paymentBehalf, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startPaymentBehalf(paymentBehalf);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startInvoiceIssuance")
+    McR startInvoiceIssuance(@RequestBody InvoiceIssuance invoiceIssuance , HttpServletRequest request) {
+        log.info("开始执行共享经济发票开具流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", invoiceIssuance, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startInvoiceIssuance(invoiceIssuance);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startShareEconomyCollection")
+    McR startShareEconomyCollection(@RequestBody ShareEconomyCollection shareEconomyCollection , HttpServletRequest request) {
+        log.info("开始执行共享经济收款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", shareEconomyCollection, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startShareEconomyCollection(shareEconomyCollection);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startShareAdvancePayment")
+    McR startShareAdvancePayment(@RequestBody SharingAdvancePayment sharingAdvancePayment , HttpServletRequest request) {
+        log.info("开始执行共享经济预付款单(充值/支付指令)流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", sharingAdvancePayment, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startShareAdvancePayment(sharingAdvancePayment);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startAcceptanceRequest")
+    McR startAcceptanceRequest(@RequestBody AcceptanceRequest acceptanceRequest , HttpServletRequest request) {
+        log.info("开始执行共享经济验收请款支付单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", acceptanceRequest, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startAcceptanceRequest(acceptanceRequest);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startFinancialVerification")
+    McR startFinancialVerification(@RequestBody FinancialVerification financialVerification , HttpServletRequest request) {
+        log.info("开始执行共享经济财确绑定单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", financialVerification, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startFinancialVerification(financialVerification);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startRebateConfirm")
+    McR startRebateConfirm(@RequestBody RebateConfirm rebateConfirm , HttpServletRequest request) {
+        log.info("开始执行共享经济返点确认单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", rebateConfirm, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startRebateConfirm(rebateConfirm);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startRebateClaim")
+    McR startRebateClaim(@RequestBody RebateClaim rebateClaim , HttpServletRequest request) {
+        log.info("开始执行共享经济返点请款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", rebateClaim, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startRebateClaim(rebateClaim);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startOtherExpenses")
+    McR startOtherExpenses(@RequestBody OtherExpenses otherExpenses , HttpServletRequest request) {
+        log.info("开始执行共享经济其他支出单(退款)流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", otherExpenses, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startOtherExpenses(otherExpenses);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startRechargePayment")
+    McR startRechargePayment(@RequestBody RechargePayment rechargePayment , HttpServletRequest request) {
+        log.info("开始执行共享经济充值收款流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", rechargePayment, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startRechargePayment(rechargePayment);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startAdvanceRefund")
+    McR startAdvanceRefund(@RequestBody AdvanceRefund advanceRefund , HttpServletRequest request) {
+        log.info("开始执行共享经济退预付款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", advanceRefund, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startAdvanceRefund(advanceRefund);
+        return McR.success(result);
+    }
+
+
+    @PostMapping(value = "startDeveloperOnboard")
+    McR startDeveloperOnboard(@RequestBody DeveloperOnboard developerOnboard , HttpServletRequest request) {
+        log.info("开始执行共享经济开发商入库申请单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", developerOnboard, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startDeveloperOnboard(developerOnboard);
+        return McR.success(result);
+    }
+
+    @PostMapping(value = "startReferrerRefund")
+    McR startReferrerRefund(@RequestBody ReferrerRefund referrerRefund , HttpServletRequest request) {
+        log.info("开始执行共享经济推荐人退款单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", referrerRefund, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startReferrerRefund(referrerRefund);
+        return McR.success(result);
+    }
+
+
+    @PostMapping(value = "startProjectBalanceAdjustment")
+    McR startProjectBalanceAdjustment(@RequestBody ProjectBalanceAdjustment projectBalanceAdjustment , HttpServletRequest request) {
+        log.info("开始执行共享经济项目余额调整单流程发起操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("流程发起, {}, {}", projectBalanceAdjustment, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.startProjectBalanceAdjustment(projectBalanceAdjustment);
+        return McR.success(result);
+    }
+}

+ 63 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/controller/PIController.java

@@ -0,0 +1,63 @@
+package com.malk.sdzl.controller;
+
+import com.malk.sdzl.service.CommissionService;
+import com.malk.server.common.McException;
+import com.malk.server.common.McR;
+import com.malk.server.common.McREnum;
+import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
+import com.malk.utils.UtilServlet;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * 公共查询类控制层
+ */
+@Slf4j
+@RestController
+@RequestMapping(value = "select")
+public class PIController {
+
+    @Autowired
+    private YDService ydService;
+    @Autowired
+    private YDClient ydClient;
+
+    @Autowired
+    private CommissionService commissionService;
+
+    @PostMapping(value = "/getSupplierInfo")
+    McR getSupplierInfo(@RequestBody Map data , HttpServletRequest request) {
+        log.info("开始查询供应商数据操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("开始查询供应商数据, {}, {}", data, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        return commissionService.getSupplierInfo(data);
+    }
+
+    @PostMapping(value = "/getCustomerInfo")
+    McR getCustomerInfo(@RequestBody Map data , HttpServletRequest request) {
+        log.info("开始查询客户数据操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("开始查询客户数据, {}, {}", data, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        return commissionService.getCustomerInfoEntity(data);
+    }
+
+    @PostMapping(value = "/getFormTask")
+    McR getFormTask(@RequestBody Map data , HttpServletRequest request) {
+        log.info("开始查询当前流程数据操作");
+        Map header = UtilServlet.getHeaders(request);
+        log.info("开始查询当前流程数据操作, {}, {}", data, header);
+        McException.assertException(!"dingcvk3998zkcvdpyzt".equals(header.get("authorization")), McREnum.NOT_AUTHORIZED);
+        Object result = commissionService.getFormTask(data);
+        return McR.success(result);
+    }
+}

+ 63 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/delegate/DDDelegate.java

@@ -0,0 +1,63 @@
+package com.malk.sdzl.delegate;
+
+import com.malk.sdzl.service.PayService;
+import com.malk.delegate.DDEvent;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+/**
+ * OA审批事件 [主项目也有实现, 添加 @Primary 优先注入主项目实现]
+ * -
+ * 取消方案: 撤销和拒绝流程不继续执行连接器, 因此不使用连接器与轮询审批记录方案 [低效而且占用较高钉钉api调次数];
+ * 优化方案: 通过事件订阅实现实时同步所有审批状态, 定时查询钉钉回调失败记录 [配置钉钉事件Delegate, 添加定时任务]
+ */
+@Slf4j
+@Service
+@Primary
+public class DDDelegate implements DDEvent {
+
+    @Autowired
+    PayService payService;
+    // 审批任务回调执行业务逻辑
+    @Async
+    @Override
+    public void executeEvent_Task_Finish(String processInstanceId, String processCode, boolean isAgree, String remark) {
+        log.info("executeEvent_Task_Finish");
+    }
+
+    @Async
+    @Override
+    public void executeEvent_Task_Start(String processInstanceId, String processCode) {
+        log.info("executeEvent_Task_Start");
+    }
+
+    @Async
+    @Override
+    public void executeEvent_Task_Redirect(String processInstanceId, String processCode) {
+        log.info("executeEvent_Task_Redirect");
+    }
+
+    @Async
+    @Override
+    public void executeEvent_Instance_Start(String processInstanceId, String processCode) {
+        log.info("executeEvent_Instance_Start");
+    }
+
+
+    // 审批实例回调执行业务逻辑
+    @Async
+    @Override
+    public void executeEvent_Instance_Finish(String processInstanceId, String processCode, boolean isAgree, boolean isTerminate, String staffId) {
+        log.info("executeEvent_Instance_Finish");
+        String approveResult = isAgree ? "agree" : "refuse";
+//        if (isTerminate) approveResult = "terminated";
+        if  (isAgree){
+            log.info("开始执行回调:{}",processInstanceId);
+//            payService.synchronousAndPush(processInstanceId);
+        }
+        log.info("审批实例回调执行业务逻辑, {}", approveResult);
+    }
+}

+ 93 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/AdvancePayment.java

@@ -0,0 +1,93 @@
+package com.malk.sdzl.entity.AMS.master;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.AMS.son.AdvanceRecord;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 预付款申请单
+ */
+@Data
+public class AdvancePayment {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 入账日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry = "";
+
+    /** 付款方式 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentMethod = "";
+
+    /** 申请类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicationType = "";
+
+    /** 费用类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfExpense = "";
+
+    /** 付款公司银行编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentCompanyBankCode = "";
+
+    /** 付款银行 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payingBank = "";
+
+    /** 收款公司 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectingCompany = "";
+
+    /** 收款银行 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank = "";
+
+    /** 收款公司银行账号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionCompanyBank = "";
+
+    /** 省(银行) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String provinceBank = "";
+
+    /** 市(银行) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityBank = "";
+
+    /** 收款记录 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<AdvanceRecord> collectionRecordList = new ArrayList<>();
+
+
+}

+ 96 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/BusinessCancel.java

@@ -0,0 +1,96 @@
+package com.malk.sdzl.entity.AMS.master;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 商机信息作废申请单
+ */
+@Data
+public class BusinessCancel {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 客户名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName = "";
+
+    /** 业务开展城市 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String businessDevelopmentCity = "";
+
+    /** 客户联系人姓名 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerContactName = "";
+
+    /** 客户联系人手机 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerContactPhone = "";
+
+    /** 合作内容 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cooperationContent = "";
+
+    /** 合作金额(元) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal cooperationAmountRmb = BigDecimal.valueOf(0.0);
+
+    /** 承诺签约日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String promisedSigningDate = "";
+
+    /** 备注说明 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String notes = "";
+
+    /** 商机相关文件附件 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> annexToDocumentsRelatedToBu = new ArrayList<>();
+
+    /** 销售姓名 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String salesName = "";
+
+    /** 归属部门 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String attributionDepartment = "";
+
+    /** 代理商名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfAgent = "";
+
+    /** 原因 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String reason = "";
+}

+ 92 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/BusinessOpportunity.java

@@ -0,0 +1,92 @@
+package com.malk.sdzl.entity.AMS.master;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 商机信息申请单
+ */
+@Data
+public class BusinessOpportunity {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 客户名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName = "";
+
+    /** 业务开展城市 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String businessDevelopmentCity = "";
+
+    /** 客户联系人姓名 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerContactName = "";
+
+    /** 客户联系人手机 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerContactPhone = "";
+
+    /** 合作内容 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cooperationContent = "";
+
+    /** 合作金额(元) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal cooperationAmountRmb = BigDecimal.valueOf(0.0);
+
+    /** 承诺签约日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String promisedSigningDate = "";
+
+    /** 备注说明 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String notes = "";
+
+    /** 商机相关文件附件 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> annexToDocumentsRelatedToBu = new ArrayList<>();
+
+    /** 销售姓名 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String salesName = "";
+
+    /** 归属部门 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String attributionDepartment = "";
+
+    /** 代理商名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfAgent = "";
+}

+ 78 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/CollectionVoucher.java

@@ -0,0 +1,78 @@
+package com.malk.sdzl.entity.AMS.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.AMS.son.CollectionRecord;
+import com.malk.sdzl.entity.AMS.son.TurnoverRecord;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 收款单
+ */
+@Data
+public class CollectionVoucher {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 付款方主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payerEntity = "";
+
+    /** 收款公司 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectingCompany = "";
+
+    /** 收款银行 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank = "";
+
+    /** 收款银行账号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBankAccountNumber = "";
+
+    /** 入账日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry = "";
+
+    /** 收款记录 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<CollectionRecord> collectionRecordList = new ArrayList<>();
+
+
+    /** 流水绑定的服务申请合同信息 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<TurnoverRecord> turnoverRecordList = new ArrayList<>();
+
+    /** 备注 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks = "";
+}

+ 68 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/ContractBinding.java

@@ -0,0 +1,68 @@
+package com.malk.sdzl.entity.AMS.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 客户合同绑定申请单
+ */
+
+
+@Data
+public class ContractBinding {
+
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String initiator = "";//钉钉发起人
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String OACoding = "";//OA编码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String Operator = "";//经办人
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";//发起日期
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String Plate = "";//板块
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";//核算主体
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";//考核主体
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";//成本中心
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractName = "";//合同名称
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfContract = "";//签约类型
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String authorizedParty = "";//授权方
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String agent = "";//代理商方
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String agency = "";//代理公司
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String unifiedSocialCreditCode = "";//统一社会信用代码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serviceCustomerName = "";//服务申请合同客户名称
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerContractSignatory = "";//客户合同签署方
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractAttributionDepartment = "";//合同归属部门
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerUnifiedSocialCreditCode = "";//客户统一社会信用代码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String boundServiceRequestID = "";//绑定服务申请ID
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfContract = BigDecimal.valueOf(0.0);//合同金额
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractAmountInWords = "";//合同金额大写
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> contractAttachment = new ArrayList<>();//合同附件
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> BothCopyAttachment = new ArrayList<>();//双方盖章合同扫描件
+
+
+}

+ 93 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/ContractTermination.java

@@ -0,0 +1,93 @@
+package com.malk.sdzl.entity.AMS.master;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *合同终止变更申请单
+ */
+@Data
+public class ContractTermination {
+
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 合同编号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractNo = "";
+
+    /** 合同名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractName = "";
+
+    /** 合同归属部门 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractDepartments = "";
+
+    /** 业绩归属部门 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String performanceDepartments = "";
+
+    /** 合同金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfContract = BigDecimal.valueOf(0.0);
+
+    /** 原盖章日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String originalStampDate = "";
+
+    /** 客户名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName = "";
+
+    /** 签约类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfContract = "";
+
+    /** 变更类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String changeType = "";
+
+    /** 终止/变更详细说明 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String terminationChangeDetails = "";
+
+    /** 合同终止/变更附件 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> contractTerminationChangeAtta = new ArrayList<>();
+
+    /** 备注 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks = "";
+}

+ 118 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/InvoiceApplication.java

@@ -0,0 +1,118 @@
+package com.malk.sdzl.entity.AMS.master;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.AMS.son.InvoiceCollectionRecord;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 产品发票申请单
+ */
+
+@Data
+public class InvoiceApplication {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 入账日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry = "";
+
+    /** 所属部门 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String department = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 开票抬头(收票方) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String pendingHeadrecipient = "";
+
+    /** 开票抬头(收票方)编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String theInvoicingHeadrecipientCode = "";
+
+    /** 开票类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoicingType = "";
+
+    /** 税额调整项目 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxAdjustmentItems = "";
+
+    /** 借方科目 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String debitAccount = "";
+
+    /** 收入类别 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String revenueCategory = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 抬头类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String headupType = "";
+
+    /** 开票抬头 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String headingOfInvoicing = "";
+
+    /** 纳税人识别号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxpayerIdentificationNumber = "";
+
+    /** 税务登记地址 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationAddress = "";
+
+    /** 税务登记电话 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationTelephone = "";
+
+    /** 税务开户银行名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfTaxBank = "";
+
+    /** 税务开户银行账号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxAccountBankAccountNumbe = "";
+
+    /** 收款记录 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<InvoiceCollectionRecord> collectionRecords = new ArrayList<>();
+
+    /** 含税开票合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalInvoicingIncludingTax = BigDecimal.valueOf(0.0);
+
+    /** 金额不含税合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountExcludingTaxTotal = BigDecimal.valueOf(0.0);
+
+    /** 发票附件 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> invoiceAttachment = new ArrayList<>();
+
+    /** 发票号码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoiceNumber = "";
+}

+ 115 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/InvoiceRequest.java

@@ -0,0 +1,115 @@
+package com.malk.sdzl.entity.AMS.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.AMS.son.InvoiceRequestAnnal;
+import com.malk.sdzl.entity.AMS.son.InvoiceRequestDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 请款单
+ */
+@Data
+public class InvoiceRequest {
+
+    /** OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";
+
+    /** 经办人 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";
+
+    /** 发起日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";
+
+    /** 请款类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String requestType = "";
+
+    /** 所属板块 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";
+
+    /** 核算主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";
+
+    /** 收款公司名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfCollectionCompany = "";
+
+    /** 合同(费用合同) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractfeeContract = "";
+
+    /** 收款银行 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank = "";
+
+    /** 收款银行账号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBankAccountNumber = "";
+
+    /** 省(银行) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String provincebank = "";
+
+    /** 市(银行) */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String citybank = "";
+
+    /** 账号序号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountNumber = "";
+
+    /** 入账日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry = "";
+
+    /** 预计付款时间 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String estimatedPaymentTime = "";
+
+    /** 付款方式 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentMethod = "";
+
+    /** 明细 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<InvoiceRequestDetail> detailList = new ArrayList<>();
+
+    /** 税额合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalTaxAmount = BigDecimal.valueOf(0.0);
+
+    /** 本次请款合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalOfThisRequest = BigDecimal.valueOf(0.0);
+
+    /** 记录 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<InvoiceRequestAnnal> annalList = new ArrayList<>();
+
+    /** 本次核销合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalOfThisWriteoff = BigDecimal.valueOf(0.0);
+
+    /** 本次应付合计 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalPayableThisTime = BigDecimal.valueOf(0.0);
+
+    /** 附件 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> enclosure = new ArrayList<>();
+
+    /** 备注 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks = "";
+}

+ 110 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/master/SystemContract.java

@@ -0,0 +1,110 @@
+package com.malk.sdzl.entity.AMS.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.AMS.son.SystemContractProduct;
+import com.malk.sdzl.entity.AMS.son.SystemContractReturnPlan;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 系统服务合同申请单
+ */
+@Data
+public class SystemContract {
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String initiator = "";//钉钉发起人
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding = "";//OA编码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator = "";//经办人
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfInitiation = "";//发起日期
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section = "";//所属板块
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity = "";//核算主体
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";//考核主体
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";//成本中心
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String opportunityOaCoding = "";//商机OA编码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractName = "";//合同名称
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfContract = "";//签约类型
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String authorizedParty = "";//授权方
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String agent = "";//代理商方
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String agency = "";//代理公司
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String unifiedSocialCreditCode = "";//统一社会信用代码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String openCustomer = "";//开通客户
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String membershipGroup = "";//所属集团
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String province = "";//所在省份
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityDistrict = "";//所在城市/区
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String openingTime = "";//开通时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String endTime = "";//结束时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String signatureType = "";//签署类型
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfContract = BigDecimal.valueOf(0.0);//合同金额
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<SystemContractProduct> productList = new ArrayList<>();//产品列表
+
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<SystemContractReturnPlan> returnPlanList = new ArrayList<>();//回款计划
+
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractAttributionDepartment = "";//合同归属部门
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String performanceAttributionDepartment = "";//业绩归属部门
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String entryPerson = "";//录入人
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String performanceAttributionType = "";//业绩归属类型
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String SalesName = "";//销售人姓名
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String SalesMobile = "";//销售手机号
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfThePersonWhoBelongs = "";//业绩归属人姓名/渠道商公司名称
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String mobilePhoneNumberUnifiedSoc = "";//手机号/统一社会信用代码
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String name = "";//姓名
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String mobilePhoneNumber = "";//手机号
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks = "";//备注内容
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractSigningMethod = "";//合同签署方式
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String electronicSignatureId = "";//电子签ID
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfElectronicSigner = "";//电子签授权人姓名
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String authorizedPersonsMobilePhone = "";//授权人手机号
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String whetherToInitiateElectronicSign = "";//是否发起电子签
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> annexToTheContract = new ArrayList<>();//合同附件
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> bothPartiesSealTheScannedCopy = new ArrayList<>();//双方盖章合同扫描件
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> electronicSignAndSealLink = new ArrayList<>();//电子签盖章链接
+
+}

+ 43 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/AdvanceRecord.java

@@ -0,0 +1,43 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class AdvanceRecord {
+
+    /** 服务申请OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serviceApplicationOaCode = "";
+
+    /** 客户名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName = "";
+
+    /** 本次收款金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisCollectionAmount = BigDecimal.valueOf(0.0);
+
+    /** 收款单OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionSlipOaCode = "";
+
+    /** 返佣比例 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal rebateRatio = BigDecimal.valueOf(0.0);
+
+    /** 应返金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal returnedAmount = BigDecimal.valueOf(0.0);
+
+    /** 返佣增减项 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rebateIncreaseOrDecrease = "";
+
+    /** 实际返佣金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal actualReturnAmount = BigDecimal.valueOf(0.0);
+}

+ 30 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/CollectionRecord.java

@@ -0,0 +1,30 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 收款单子表-收款记录
+ */
+@Data
+public class CollectionRecord {
+
+    /** 交易日期 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String transactionDate = "";
+
+    /** 流水号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serialNumber = "";
+
+    /** 流水金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfRunningWater = BigDecimal.valueOf(0.0);
+
+    /** 付款方名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfPayer = "";
+}

+ 44 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceCollectionRecord.java

@@ -0,0 +1,44 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class InvoiceCollectionRecord {
+
+    /** 服务申请OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serviceApplicationOaCode = "";
+
+    /** 产品名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String productName = "";
+
+    /** 产品结算金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal productSettlementAmount = BigDecimal.valueOf(0.0);
+
+    /** 历史已开票金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal historicalInvoicedAmount = BigDecimal.valueOf(0.0);
+
+    /** 本次开票金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfThisInvoice = BigDecimal.valueOf(0.0);
+
+    /** 金额不含税 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountExcludingTax = BigDecimal.valueOf(0.0);
+
+    /** 税额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount = BigDecimal.valueOf(0.0);
+
+    /** 发票项目名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoiceItemName = "";
+
+}

+ 40 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceRequestAnnal.java

@@ -0,0 +1,40 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class InvoiceRequestAnnal {
+
+    /** 预付款发票号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String prepaymentInvoiceNo = "";
+
+    /** 服务申请合同OA编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serviceApplicationContractOac = "";
+
+    /** 付款说明 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentInstructions = "";
+
+    /** 费用类型 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfExpense = "";
+
+    /** 已付金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountPaid = BigDecimal.valueOf(0.0);
+
+    /** 未核销总金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalAmountNotWrittenOff = BigDecimal.valueOf(0.0);
+
+    /** 本次核销金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisWriteoffAmount = BigDecimal.valueOf(0.0);
+
+}

+ 47 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/InvoiceRequestDetail.java

@@ -0,0 +1,47 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class InvoiceRequestDetail {
+
+    /** 费用类别 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory = "";
+
+    /** 考核主体 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject = "";
+
+    /** 项目 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String project = "";
+
+    /** 成本中心 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter = "";
+
+    /** 费用归档 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling = "";
+
+    /** 未付金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal outstandingAmount = BigDecimal.valueOf(0.0);
+
+    /** 付款金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmount = BigDecimal.valueOf(0.0);
+
+    /** 税额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount = BigDecimal.valueOf(0.0);
+
+    /** 税率 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxRate = BigDecimal.valueOf(0.0);
+}

+ 30 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/SystemContractProduct.java

@@ -0,0 +1,30 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class SystemContractProduct {
+
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String productCategory = "";//产品类别
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String productName = "";//产品名称
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal productSettlementAmount = BigDecimal.valueOf(0.0);//产品结算金额
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String estimatedServiceStartTime = "";//预计服务开始时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String estimatedEndTimeOfService = "";//预计服务结束时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String actualServiceStartDate = "";//实际服务开始时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String actualServiceEndDate = "";//实际服务结束时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal integralNumber = BigDecimal.ZERO;//积分数
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private Integer productListNumberOfPorts = 0;//【产品列表】端口数
+}

+ 20 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/SystemContractReturnPlan.java

@@ -0,0 +1,20 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class SystemContractReturnPlan {
+
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String productCategorySelectField8kqc = "";//产品类别
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String estimatedRepaymentTime = "";//预计回款时间
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal estimatedAmountOfRepayment = BigDecimal.valueOf(0.0);//预计回款金额
+
+
+}

+ 47 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/AMS/son/TurnoverRecord.java

@@ -0,0 +1,47 @@
+package com.malk.sdzl.entity.AMS.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 收款单子表-流水绑定的服务申请合同信息
+ */
+@Data
+public class TurnoverRecord {
+
+    /** 收入类别 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String revenueCategory = "";
+
+    /** 科目编码 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String subjectCode = "";
+
+    /** 服务合同编号 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serviceContractNo = "";
+
+    /** 客户名称 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName = "";
+
+    /** 合同金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfContract = BigDecimal.valueOf(0.0);
+
+    /** 已收款金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal receivedAmount = BigDecimal.valueOf(0.0);
+
+    /** 可收款金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal payableAmount = BigDecimal.valueOf(0.0);
+
+    /** 本次收款金额 */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisCollectionAmount = BigDecimal.valueOf(0.0);
+
+}

+ 16 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/Attachment.java

@@ -0,0 +1,16 @@
+package com.malk.sdzl.entity;
+
+import lombok.Data;
+
+/**
+ * 附件组件
+ */
+@Data
+public class Attachment {
+    private String previewUrl;
+    private String ext;
+    private String name;
+    private String downloadUrl;
+    private String url;
+
+}

+ 153 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/CustomerInfoEntity.java

@@ -0,0 +1,153 @@
+package com.malk.sdzl.entity;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+/**
+ * 供应商信息实体类
+ */
+public class CustomerInfoEntity {
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 工号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String jobNumber;
+
+    /**
+     * 类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String type;
+
+    /**
+     * 统一社会信用代码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String unifiedSocialCreditCode;
+
+    /**
+     * 客户编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerCode;
+
+    /**
+     * 名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String name;
+
+    /**
+     * 纳税人识别号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxpayerIdentificationNumber;
+
+    /**
+     * 客户ID
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerID;
+
+    /**
+     * 系统校验
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String systemCheck;
+
+    /**
+     * 税务登记地址
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationAddress;
+
+    /**
+     * 开户银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankOfDeposit;
+
+    /**
+     * 客户所在省份
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerProvince;
+
+    /**
+     * 联系方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contactInformation;
+
+    /**
+     * 银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccountNumber;
+
+    /**
+     * 客户所在城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customersCity;
+
+    /**
+     * 类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeSelectFieldMpgom2i0;
+
+    /**
+     * 住所
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String residence;
+
+    /**
+     * 注册资本
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfRegisteredCapital;
+
+    /**
+     * 法定代表人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String legalRepresentative;
+
+    /**
+     * 成立日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEstablishment;
+
+    /**
+     * 营业期限
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String businessTerm;
+
+    /**
+     * 经营范围
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String scopeOfBusiness;
+
+}

+ 195 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/SupplierInfoEntity.java

@@ -0,0 +1,195 @@
+package com.malk.sdzl.entity;
+
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+
+import java.math.BigDecimal;
+
+@Data
+/**
+ * 供应商信息实体类
+ */
+public class SupplierInfoEntity {
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+    /**
+     * 性质
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nature;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 全称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String fullName;
+
+    /**
+     * 一级分类
+     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String primaryClassification;
+
+    /**
+     * 二级分类
+     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String secondaryClassification;
+
+    /**
+     * 三级分类
+     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String threelevelClassification;
+
+    /**
+     * 公司网站
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String companyWebsite;
+
+    /**
+     * 公司联系地址
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String companyContactAddress;
+
+    /**
+     * 销售联系人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String salesContact;
+
+    /**
+     * 销售联系方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String salesContactInformation;
+
+    /**
+     * 售后联系人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String afterSalesContact;
+
+    /**
+     * 售后联系方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String afterSalesInformation;
+
+    /**
+     * 开户银行全称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String fullNameOfBank;
+
+    /**
+     * 银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccountNumber;
+
+    /**
+     * 法人收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String legalPersonCollectionBank;
+
+    /**
+     * 银行所在城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityBankIsLocated;
+
+    /**
+     * 财务联系人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String financialContact;
+
+    /**
+     * 财务联系方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String financialContactInformation;
+
+    /**
+     * 统一社会信用代码/身份证
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String creditCodeIDCard;
+
+    /**
+     * 类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String type;
+
+    /**
+     * 住所
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String residence;
+
+    /**
+     * 法定代表人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String legalRepresentative;
+
+    /**
+     * 注册资本
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfRegisteredCapital;
+
+    /**
+     * 成立日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEstablishment;
+
+    /**
+     * 营业期限
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String businessTerm;
+
+    /**
+     * 经营范围
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String scopeOfBusiness;
+
+    /**
+     * 供应商流水号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplierSerialNumber;
+
+    /**
+     * 供应商状态
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplierStatus;
+
+}

+ 193 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/AcceptanceRequest.java

@@ -0,0 +1,193 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.AcceptanceRequestProjects;
+import com.malk.sdzl.entity.commission.son.AcceptanceRequestSettlements;
+import com.malk.sdzl.entity.commission.son.AcceptanceRequestWriteoff;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济验收请款支付
+ */
+@Data
+public class AcceptanceRequest {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 板块名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateName;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 付款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payingBank;
+
+    /**
+     * 费用类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory;
+
+    /**
+     * 费用归档
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 付款日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentDate;
+
+    /**
+     * 付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmount;
+
+    /**
+     * 结算书实际付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountSettlementBook;
+
+    /**
+     * 其中退款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal ofWhichTheRefundAmount;
+
+    /**
+     * 个人服务费金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personalServiceFeeAmount;
+
+    /**
+     * 不含税金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountExcludingTax;
+
+    /**
+     * 税率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxRate;
+
+    /**
+     * 税额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount;
+
+    /**
+     * 项目明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<AcceptanceRequestProjects> ProjectsDetails;
+
+    /**
+     * 结算申请单
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<AcceptanceRequestSettlements> SettlementForm;
+
+    /**
+     * 预付款核销
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<AcceptanceRequestWriteoff> PrepaymentWriteOffs;
+
+    /**
+     * 本次核销合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalOfThisWriteoff;
+
+    /**
+     * 本次应付合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalPayableThisTime;
+
+    /**
+     * 票据附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> billsAttachment;
+
+    /**
+     * 回单
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> returnFile;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 共享城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sharedCityFinance;
+}

+ 125 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/AdvanceRefund.java

@@ -0,0 +1,125 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.AdvanceRefundDetail;
+import lombok.Data;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济退预付款单
+ */
+@Data
+public class AdvanceRefund {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 一级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String primaryClassification;
+
+    /**
+     * 二级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String secondaryClassification;
+
+    /**
+     * 三级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String threeLevelClassification;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccountNumber;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<AdvanceRefundDetail> details;
+
+    /**
+     * 合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalOfThisRequest;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachments;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+}

+ 95 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/DeveloperOnboard.java

@@ -0,0 +1,95 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.DeveloperOnboardDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 共享经济开发商入库申请单
+ */
+@Data
+public class DeveloperOnboard {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 申请人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfApplicant;
+
+    /**
+     * 申请人手机号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicantsMobilePhone;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 开发商名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<DeveloperOnboardDetail> details;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> enclosure;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+}

+ 160 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/FinancialVerification.java

@@ -0,0 +1,160 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济财确绑定
+ */
+@Data
+public class FinancialVerification {
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 板块名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateName;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 付款模式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentMode;
+
+    /**
+     * 甲方公司全称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameCompany;
+
+    /**
+     * 我司签约主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String theMainBodyOfOurCompany;
+
+    /**
+     * 执行合同是否已在CRM财确
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String confirmedCrm;
+
+    /**
+     * 财确标准
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String financialConfirmationStandard;
+
+    /**
+     * 财确绑定执行合同
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String firmationBindContract;
+
+    /**
+     * 执行合同总包金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalAmountExecution;
+
+    /**
+     * 执行合同个人总金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personAmountContract;
+
+    /**
+     * 执行合同剩余可绑定总包金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal bindingTotalPackageAmount;
+
+    /**
+     * 是否大于本次财确金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String greaterAmount;
+
+    /**
+     * 本次申请财确金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal applicationIsConfirmedAmt;
+
+    /**
+     * 本次绑定支付指令个人总金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal bindingInstruction;
+
+    /**
+     * 财确日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String financialConfirmationDate;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 乐居共享城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuSharedCityFinance;
+
+    /**
+     * 绑定支付指令附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> bindPayAttachment;
+
+    /**
+     * 备注说明
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String notes;
+}

+ 267 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/InvoiceIssuance.java

@@ -0,0 +1,267 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济发票开具
+ */
+@Data
+public class InvoiceIssuance {
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+//    /**
+//     * 表单编码
+//     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String formCoding;
+
+    /**
+     * 发票申请批次号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoiceBatchNumber;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 经纪人打款方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String brokerPaymentMethod;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 收件人邮箱地址
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String recipientEmailAddress;
+
+    /**
+     * 客户全称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String fullNameOfCustomer;
+
+    /**
+     * 客户编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerCode;
+
+    /**
+     * 税务登记证号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationCertificateNo;
+
+    /**
+     * 税务登记地址
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationAddress;
+
+    /**
+     * 税务登记电话
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxRegistrationTelephone;
+
+    /**
+     * 税务开户银行名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfTaxBank;
+
+    /**
+     * 税务开户银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxBankAccount;
+
+    /**
+     * 开发商发票类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String developerInvoiceType;
+
+    /**
+     * 收件人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String recipientName;
+
+    /**
+     * 收件人联系方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String recipientInformation;
+
+    /**
+     * 收件人地址
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String recipientAddress;
+
+    /**
+     * 框架合同
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String frameworkContract;
+
+    /**
+     * 开票类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoicingType;
+
+    /**
+     * 收入类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String revenueCategory;
+
+    /**
+     * 借方科目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String debitAccount;
+
+    /**
+     * 含税开票金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal invoicingAmountInTax;
+
+    /**
+     * 税率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxRate;
+
+    /**
+     * 金额(不含税)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountExcludingTax;
+
+    /**
+     * 税额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount;
+
+    /**
+     * 税额调整项
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String taxAdjustment;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 乐居共享城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuSharedCityFinance;
+
+    /**
+     * 发票编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoiceCode;
+
+//    /**
+//     * 取票人签字
+//     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String signatureOfTicketMan;
+
+    /**
+     * 附件上传
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachmentUpload;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+}

+ 138 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/OtherExpenses.java

@@ -0,0 +1,138 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.OtherExpensesTable;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济其他支出单(退款)
+ */
+@Data
+public class OtherExpenses {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionCode;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 一级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String primaryClassification;
+
+    /**
+     * 二级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String secondaryClassification;
+
+    /**
+     * 三级分类
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String threeLevelClassification;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 付款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payingBank;
+
+    /**
+     * 银行科目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccount;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 子表单
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<OtherExpensesTable> otherExpenses;
+
+    /**
+     * 金额合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalAmount;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 出纳
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cashier;
+
+    /**
+     * 乐居共享城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuSharedCityFinance;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachments;
+
+}

+ 80 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/PaymentBehalf.java

@@ -0,0 +1,80 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.PaymentBehalfTable;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 共享经济甲方代付
+ */
+@Data
+public class PaymentBehalf {
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+    /**
+     * 板块名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateName;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+//    /**
+//     * 表单编码
+//     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String formCoding;
+
+    /**
+     * 申请人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicantName;
+
+    /**
+     * 申请人手机号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicantPhone;
+
+    /**
+     * 甲方名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfPartyA;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<PaymentBehalfTable> details;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachments;
+}

+ 107 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ProjectBalanceAdjustment.java

@@ -0,0 +1,107 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.ProjectBalanceAdjustmentDetail;
+import lombok.Data;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 项目余额调整实体类
+ */
+@Data
+public class ProjectBalanceAdjustment {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+    /**
+     * 客户名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 收款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal collectionAmount;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<ProjectBalanceAdjustmentDetail> details;
+
+    /**
+     * 收入类别合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalRevenueCategory;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> enclosure;
+
+}

+ 310 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ProjectCountersign.java

@@ -0,0 +1,310 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济立项合同
+ */
+@Data
+public class ProjectCountersign {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String code;
+
+    /**
+     * 板块名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateName;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 合同名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractName;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 供应商(开发商)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplierDeveloper;
+
+    /**
+     * 甲方是否房开
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String isPartyAPropertyDeveloper;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 城市类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityType;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCode;
+
+    /**
+     * 我司签约主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ourCompanySignatory;
+
+    /**
+     * 供应商信用代码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplierCreditCode;
+
+    /**
+     * 供应商ID
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplierId;
+
+    /**
+     * 乐居分成比例
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal lejuShareRatio;
+
+    /**
+     * 商户模式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String merchantModel;
+
+    /**
+     * 特殊返佣城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String specialRebateCity;
+
+    /**
+     * 特殊城市返点占比
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal specialCityRebateRatio;
+
+    /**
+     * 合作开始时间
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cooperationStartTime;
+
+    /**
+     * 合作结束时间
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cooperationEndTime;
+
+    /**
+     * 经纪人支付方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String brokerPaymentMethod;
+
+    /**
+     * 是否商广合作
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String isBusinessCooperation;
+
+    /**
+     * 配比
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal ratio;
+
+    /**
+     * 模板类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String templateType;
+
+    /**
+     * 核算印章类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSealType;
+
+    /**
+     * 合同类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractType;
+
+    /**
+     * 甲方电子签接收人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String partyAEsignReceiverName;
+
+    /**
+     * 甲方电子签接收人手机
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String partyAEsignReceiverPhone;
+
+    /**
+     * 甲方授权签字人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String partyAAuthorizedSignatoryName;
+
+    /**
+     * 甲方授权签字人手机
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String partyAAuthorizedSignatoryPhone;
+
+    /**
+     * 特殊返点城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String specialRebatePointCity;
+
+    /**
+     * 发票类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String invoiceType;
+
+    /**
+     * 是否承担个税
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String isBearPersonalTax;
+
+    /**
+     * 合同附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> contractAttachment;
+
+    /**
+     * 其他附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> otherAttachment;
+
+    /**
+     * 双方盖章合同扫描件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private  List<Attachment> bothPartiesSealedContractScan;
+
+    /**
+     * 审批结束日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String approvalEndDate;
+
+    /**
+     * 盖章日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String stampDate;
+
+    /**
+     * 合同归档日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractFilingDate;
+
+    /**
+     * 合同章监印人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractSealSupervisor;
+
+    /**
+     * 乐居财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuFinance;
+
+    /**
+     * 乐居考核城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuAssessCityFinance;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 立项城市编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCityCode;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntityCode;
+}

+ 217 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RebateClaim.java

@@ -0,0 +1,217 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.RebateClaimDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济返点请款
+ */
+@Data
+public class RebateClaim {
+
+    /**
+     * 请款类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String requestType;
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 采购分类1
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String procurementClassification1;
+
+    /**
+     * 采购分类2
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String procurementClassification2;
+
+    /**
+     * 采购分类3
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String procurementClassification3;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 框架合同
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String frameworkContract;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 合同单据号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractDocumentNo;
+
+    /**
+     * 收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccountNumber;
+
+    /**
+     * 省(银行)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String provincebank;
+
+    /**
+     * 市(银行)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String citybank;
+
+    /**
+     * 账号序号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountNumber;
+
+    /**
+     * 收款人户名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payeesAccountName;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 预计付款日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String estimatedPaymentDate;
+
+    /**
+     * 付款方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentMethod;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<RebateClaimDetail> details;
+
+    /**
+     * 不含税请款合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalRequestsExcludingTax;
+
+    /**
+     * 税额合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalTaxAmount;
+
+    /**
+     * 本次请款合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalOfThisRequest;
+
+    /**
+     * 本次应付合计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalPayableThisTime;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 乐居共享城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuSharedCityFinance;
+
+    /**
+     * 出纳
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cashier;
+
+    /**
+     * 乐居财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuFinance;
+
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachments;
+
+}

+ 174 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RebateConfirm.java

@@ -0,0 +1,174 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.DeductionExpenseDetail;
+import com.malk.sdzl.entity.commission.son.RebateConfirmDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济返点确认单
+ */
+@Data
+public class RebateConfirm {
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 城市ID
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityId;
+
+    /**
+     * 我方签约公司
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ourContractCompany;
+
+    /**
+     * 明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<RebateConfirmDetail> details;
+
+    /**
+     * 返点结算方案名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rebateSchemeName;
+
+    /**
+     * 返点类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rebateType;
+
+    /**
+     * 财确审核通过周期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String financialAuditPassCycle;
+
+    /**
+     * 返点合计金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalRebateAmount;
+
+    /**
+     * 常规返点金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal regularRebateAmount;
+
+    /**
+     * 特殊返点金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal specialRebateAmount;
+
+    /**
+     * 扣减费用
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal deductionExpense;
+
+    /**
+     * 扣减费用明细
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<DeductionExpenseDetail> deductionExpenseDetails;
+
+    /**
+     * 签署方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String modeOfSignature;
+
+    /**
+     * 核算印章类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSealType;
+
+    /**
+     * 双章用印文件上传
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> twoChapters;
+
+    /**
+     * 是否已上传双章件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String chapterBeenUploaded;
+
+    /**
+     * 城市负责人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cityLeader;
+
+    /**
+     * 总部监印人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String headOfficeSupervisor;
+
+    /**
+     * 归档人员
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String filingStaff;
+
+    /**
+     * 归档时间
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String filingTime;
+}

+ 269 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/RechargePayment.java

@@ -0,0 +1,269 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济充值收款单
+ */
+@Data
+public class RechargePayment {
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 客户名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName;
+
+    /**
+     * 客户编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerCode;
+
+    /**
+     * 核算全称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingFullName;
+
+    /**
+     * 收款银行名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfReceivingBank;
+
+    /**
+     * 收款方名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfPayee;
+
+    /**
+     * 收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 科目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String subjectName;
+
+    /**
+     * 科目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String subjectCode;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 本次收款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisCollectionAmount;
+
+    /**
+     * 充值银行信息
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rechargeBankInformation;
+
+    /**
+     * 充值银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rechargeBankAccountNumber;
+
+    /**
+     * 收入类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String revenueCategory;
+
+    /**
+     * 类别编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String categoryCoding;
+
+    /**
+     * 付款方名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfPayer;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 框架合同
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String frameworkContract;
+
+    /**
+     * 流水号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serialNumber;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String titleOfTheProject;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 流水总金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalAmountOfRunningWater;
+
+    /**
+     * 商户服务费费率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal merchantServiceFeeRate;
+
+    /**
+     * 本次可收金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisReceivableAmount;
+
+    /**
+     * 商户模式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String merchantModel;
+
+    /**
+     * 支付通道名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelName;
+
+    /**
+     * 支付通道充值银行开户行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelRechargeBankC;
+
+    /**
+     * 充值银行账户
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rechargeBankAccount;
+
+    /**
+     * 我方签约公司
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ourContractCompany;
+
+    /**
+     * 支付通道类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelType;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 乐居考核城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuAssessCityFinance;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 出纳
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cashier;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 所属板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionCode;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> attachments;
+
+}

+ 172 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ReferrerRefund.java

@@ -0,0 +1,172 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 推荐人退款实体类
+ */
+@Data
+public class ReferrerRefund {
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 所属板块编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sectionNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 立项名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectTitle;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 通道名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String channelName;
+
+    /**
+     * 结佣单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String jstillNumber;
+
+    /**
+     * 推荐人姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfRecommender;
+
+    /**
+     * 项目名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 楼室号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String buildingRoomNumber;
+
+    /**
+     * 客户姓名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customerName;
+
+    /**
+     * 支付日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentDate;
+
+    /**
+     * 个人打款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personalPaymentAmount;
+
+    /**
+     * 退款原因
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String reasonForRefund;
+
+    /**
+     * 退款日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfRefund;
+
+    /**
+     * 是否退服务费
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String refundTheServiceFee;
+
+    /**
+     * 支付通道退款流水号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String channelRefundSerial;
+
+    /**
+     * 备注说明
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> enclosure;
+
+    /**
+     * 核算主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSubjectCode;
+
+}

+ 268 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/SettlementBook.java

@@ -0,0 +1,268 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济结算书申请单
+ */
+@Data
+public class SettlementBook {
+
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+
+    /**
+     * 结算单批次号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String settlementBatchNumber;
+
+    /**
+     * 所属板块
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String section;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 申请项目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicationItems;
+
+    /**
+     * 结算方
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String clearingParty;
+
+    /**
+     * 签约方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String signingMethod;
+
+    /**
+     * 电子签类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String electronicSignType;
+
+    /**
+     * 是否电子签
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String isItAnElectronicSign;
+
+    /**
+     * 电子签接收人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String receiverSignature;
+
+    /**
+     * 电子签接收电话
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String receiverSignaturePhone;
+
+    /**
+     * 发起人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String initiator;
+
+    /**
+     * 发起人电话
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String sponsorTelephone;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 总包服务费
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalPackageServiceFee;
+
+    /**
+     * 支付通道结算金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentChannelAmount;
+
+    /**
+     * 支付通道服务费金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentServiceAmount;
+
+    /**
+     * 个人支付金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal individualPaymentAmount;
+
+    /**
+     * 结算书服务费率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal settlementBookServiceRate;
+
+    /**
+     * 乐居分成比例
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal lejuShareRatio;
+
+    /**
+     * 支付通道服务费率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentChannelServiceRate;
+
+    /**
+     * 商户模式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String merchantModel;
+
+    /**
+     * 支付通道名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelName;
+
+    /**
+     * 支付通道充值银行开户行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelOpenBank;
+
+    /**
+     * 支付通道充值银行账户
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelAccount;
+
+    /**
+     * 我方签约公司
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ourContractCompany;
+
+    /**
+     * 支付通道类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelType;
+
+    /**
+     * 是否已用印
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String hasItBeenPrinted;
+
+    /**
+     * 电子合同ID
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String electronicContractId;
+
+    /**
+     * 电子合同失败原因
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String reasonsForFailure;
+
+    /**
+     * 电子合同附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> electronicContractAnnex;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 核算印章类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingSealType;
+
+    /**
+     * 已盖章扫描件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> stampedScan;
+
+    /**
+     * 用印归档日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfFilingWithPrint;
+
+    /**
+     * 监印人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supervisor;
+
+    /**
+     * 盖章日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfStamp;
+
+    /**
+     * 会计
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountant;
+
+    /**
+     * 乐居考核城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuAssessCityFinance;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 考核主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubjectCode;
+}

+ 120 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/ShareEconomyCollection.java

@@ -0,0 +1,120 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济收款单
+ */
+@Data
+public class ShareEconomyCollection {
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+    /**
+     * 结算单批次号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String settlementDocumentBatchNum;
+
+    /**
+     * 结算申请单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String settlementApplicationNumber;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+    /**
+     * 客户
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String customer;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 收款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal collectionAmount;
+
+    /**
+     * 科目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String subject;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 项目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String project;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 退款人员
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String refundPersonnel;
+
+    /**
+     * 退款人员身份证号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String refundPersonnelIdNumber;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 考核主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubjectCode;
+}

+ 351 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/master/SharingAdvancePayment.java

@@ -0,0 +1,351 @@
+package com.malk.sdzl.entity.commission.master;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import com.malk.sdzl.entity.commission.son.SettlementApplicationDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 共享经济预付款单(充值/支付指令)
+ */
+@Data
+public class SharingAdvancePayment {
+    /**
+     * OA编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oaCoding;
+    /**
+     * 票据附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> billsAttachment;
+
+    /**
+     * 回单
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String returnFile;
+
+    /**
+     * 备注
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String remarks;
+
+    /**
+     * 乐居考核城市财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuAssessCityFinance;
+
+    /**
+     * 乐居财务
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String lejuFinance;
+
+    /**
+     * 出纳
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String cashier;
+
+    /**
+     * 程序输出日志
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String programOutputLog;
+
+    /**
+     * 结算申请单
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<SettlementApplicationDetail> settlementApplicationDetails;
+
+    /**
+     * 失败原因
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String causeOfFailure;
+
+    /**
+     * 电子合同附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> electronicContractAnnex;
+
+    /**
+     * 接收人电话
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String receiverPhoneNumber;
+
+    /**
+     * 合同ID
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String contractId;
+
+    /**
+     * 电子签署方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String electronicSignatureMethod;
+
+    /**
+     * 电子签模板类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String electronicSignTemplateType;
+
+    /**
+     * 签约方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String signingMethod;
+
+    /**
+     * 电子签接收人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String receiverSignature;
+
+    /**
+     * 我方签约公司
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ourContractCompany;
+
+    /**
+     * 支付通道类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelType;
+
+    /**
+     * 充值银行开户行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rechargeOpenBank;
+
+    /**
+     * 充值银行账户
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rechargeBankAccount;
+
+    /**
+     * 商户模式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String merchantModel;
+
+    /**
+     * 支付通道名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentChannelName;
+
+    /**
+     * 城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String city;
+
+    /**
+     * 支付通道服务费率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentChannelServiceRate;
+
+    /**
+     * 银行实际打款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal actualAmountOfBankPayment;
+
+    /**
+     * 支付通道可充额度
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentChannelCharged;
+
+    /**
+     * 抵扣金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal deductionAmount;
+
+    /**
+     * 银行打款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal bankPaymentAmount;
+
+    /**
+     * 结算书服务费率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal settlementBookServiceRate;
+
+    /**
+     * 乐居分成比例
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal lejuShareRatio;
+
+    /**
+     * 预付款类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String prepaymentType;
+
+    /**
+     * 总个人金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalPersonalAmount;
+
+    /**
+     * 收款人户名
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payeesAccountName;
+
+    /**
+     * 申请类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String applicationType;
+
+    /**
+     * 市(银行)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String citybank;
+
+    /**
+     * 账号序号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountNumber;
+
+    /**
+     * 银行账号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String bankAccountNumber;
+
+    /**
+     * 省(银行)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String provincebank;
+
+    /**
+     * 付款金额(主)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmountMain;
+
+    /**
+     * 收款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String collectionBank;
+
+    /**
+     * 付款日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentDate;
+
+    /**
+     * 入账日期
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String dateOfEntry;
+
+    /**
+     * 付款方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String paymentMethod;
+
+    /**
+     * 付款银行
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String payingBank;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 核算主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntity;
+
+    /**
+     * 供应商
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String supplier;
+
+    /**
+     * 板块名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateName;
+
+    /**
+     * 板块编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String plateCode;
+
+    /**
+     * 经办人
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String operator;
+
+//    /**
+//     * 编码
+//     */
+//    @JsonSetter(nulls = Nulls.AS_EMPTY)
+//    private String code;
+
+    /**
+     * 核算主体编号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String accountingEntityNumber;
+}

+ 88 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestProjects.java

@@ -0,0 +1,88 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济验收请款支付
+ */
+@Data
+public class AcceptanceRequestProjects {
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 立项城市
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCity;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 子行付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmountSon;
+
+    /**
+     * 子行结算书实际付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal actualPaySettlementBook;
+
+    /**
+     * 子行其中退款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal whichTheRefundAmount;
+
+    /**
+     * 子行个人服务费金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personalAmount;
+
+    /**
+     * 子行不含税金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountExcludeTax;
+
+    /**
+     * 子行税率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxRateSon;
+
+    /**
+     * 子行税额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmountNo;
+
+    /**
+     * EBS状态
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String ebsStatus;
+
+
+}

+ 45 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestSettlements.java

@@ -0,0 +1,45 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济验收请款支付
+ */
+@Data
+public class AcceptanceRequestSettlements {
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 结算单单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String statementNumber;
+
+    /**
+     * 推荐人佣金
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal referrerCommission;
+
+    /**
+     * 个人服务费金额(子)
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personalServiceAmount;
+
+}

+ 52 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AcceptanceRequestWriteoff.java

@@ -0,0 +1,52 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济验收请款支付
+ */
+@Data
+public class AcceptanceRequestWriteoff {
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectName;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String itemCode;
+
+    /**
+     * 预付款单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String advancePaymentNumber;
+
+    /**
+     * 已付金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountPaid;
+
+    /**
+     * 未核销总金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal totalAmountNotWrittenOff;
+
+    /**
+     * 本次核销金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal thisWriteoffAmount;
+
+
+}

+ 56 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/AdvanceRefundDetail.java

@@ -0,0 +1,56 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济退预付款单
+ */
+@Data
+public class AdvanceRefundDetail {
+
+    /**
+     * 退款单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 项目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling;
+
+    /**
+     * 实际借款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal outstandingAmount;
+
+    /**
+     * 可核销金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmount;
+
+    /**
+     * 本次退款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount;
+}

+ 38 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/DeductionExpenseDetail.java

@@ -0,0 +1,38 @@
+package com.malk.sdzl.entity.commission.son;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济返点确认单-扣减费用明细
+ */
+@Data
+public class DeductionExpenseDetail {
+
+    /**
+     * 扣减类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String DeductionType;
+
+    /**
+     * 扣减金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal DeductionAmount;
+
+    /**
+     * 对应合同号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String CorrespondingContractNumber;
+
+    /**
+     * 扣减说明
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String DeductionInstructions;
+
+}

+ 53 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/DeveloperOnboardDetail.java

@@ -0,0 +1,53 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 开发商入驻实体类
+ */
+@Data
+public class DeveloperOnboardDetail {
+
+    /**
+     * 文件名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory;
+
+    /**
+     * 文件附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> annexToTheDocument;
+
+    /**
+     * 提供部门
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 是否用印
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling;
+
+    /**
+     * 用印类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String typeOfPrinting;
+
+    /**
+     * 用印附件
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private List<Attachment> printingAccessories;
+
+
+}

+ 63 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/OtherExpensesTable.java

@@ -0,0 +1,63 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济其他支出单(退款)
+ */
+@Data
+public class OtherExpensesTable {
+
+    /**
+     * 支出类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String categoryOfExpenditure;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 项目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String project;
+
+    /**
+     * 合作方式
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String approachesToCooperation;
+
+    /**
+     * 金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfMoney;
+
+    /**
+     * 流水号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String serialNumber;
+
+    /**
+     * 类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String type;
+
+}

+ 25 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/PaymentBehalfTable.java

@@ -0,0 +1,25 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+/**
+ * 共享经济甲方代付-明细
+ */
+@Data
+public class PaymentBehalfTable {
+
+    /**
+     * 代付方名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String nameOfPayer;
+
+    /**
+     * 代付范围
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String scopePayment;
+
+}

+ 77 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/ProjectBalanceAdjustmentDetail.java

@@ -0,0 +1,77 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.malk.sdzl.entity.Attachment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 项目余额调整实体类
+ */
+@Data
+public class ProjectBalanceAdjustmentDetail {
+
+    /**
+     * 收入类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory;
+
+    /**
+     * 科目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costcode;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling;
+
+    /**
+     * 考核主体编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubjectCode;
+
+    /**
+     * 项目名称
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectTitle;
+
+    /**
+     * 项目编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String projectCode;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 成本中心编码
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenterCode;
+
+    /**
+     * 金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal amountOfMoney;
+
+    /**
+     * 收入类型
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String incomeType;
+
+}

+ 75 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/RebateClaimDetail.java

@@ -0,0 +1,75 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济验收请款支付
+ */
+@Data
+public class RebateClaimDetail {
+
+    /**
+     * 费用类别
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCategory;
+
+    /**
+     * 考核主体
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String assessmentSubject;
+
+    /**
+     * 项目
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String project;
+
+    /**
+     * 成本中心
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String costCenter;
+
+    /**
+     * 费用归档
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String expenseFiling;
+
+    /**
+     * 未付金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal outstandingAmount;
+
+    /**
+     * 付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmount;
+
+    /**
+     * 税额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxAmount;
+
+    /**
+     * 税率
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal taxRate;
+
+    /**
+     * 说明
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String explain;
+
+}

+ 33 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/RebateConfirmDetail.java

@@ -0,0 +1,33 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济返点确认单-明细
+ */
+@Data
+public class RebateConfirmDetail {
+
+    /**
+     * 返点公司
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String rebateCompany;
+
+    /**
+     * 框架合同
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String frameworkContract;
+
+    /**
+     * 返点金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal detailRebateAmount;
+
+}

+ 39 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/entity/commission/son/SettlementApplicationDetail.java

@@ -0,0 +1,39 @@
+package com.malk.sdzl.entity.commission.son;
+
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 共享经济预付款单(充值/支付指令)
+ */
+@Data
+public class SettlementApplicationDetail {
+
+    /**
+     * 单号
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String oddNumbers;
+
+    /**
+     * 是否含港澳台客户
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private String greaterCustomers;
+
+    /**
+     * 付款金额
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal paymentAmount;
+
+    /**
+     * 个人推荐佣金
+     */
+    @JsonSetter(nulls = Nulls.AS_EMPTY)
+    private BigDecimal personalCommission;
+
+}

+ 49 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/enums/AttachmentTypeEnum.java

@@ -0,0 +1,49 @@
+package com.malk.sdzl.enums;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 企业资质附件类型枚举
+ * 对应上传材料清单
+ */
+@Getter
+public enum AttachmentTypeEnum {
+
+    BUSINESS_LICENSE("BUSINESS_LICENSE", "营业执照"),
+    LEGAL_ID_COPY("LEGAL_ID_COPY", "法定代表人身份证复印件"),
+    TAXPAYER_TYPE_CERT("TAXPAYER_TYPE_CERT", "纳税人类别证明"),
+    ACCOUNT_PERMIT("ACCOUNT_PERMIT", "开户许可证证书"),
+    THREE_YEAR_AUDIT_REPORT("THREE_YEAR_AUDIT_REPORT", "近三年审计报告和财务报表(包含资产负债表、利润表、现金流量表)"),
+    SOCIAL_SECURITY_LIST("SOCIAL_SECURITY_LIST", "社保缴纳清单证明"),
+    COMPANY_INFO_ORG("COMPANY_INFO_ORG", "公司介绍、公司组织架构表及相关职能人员介绍"),
+    SITE_PROOF("SITE_PROOF", "场地证明(房产证或租赁合同,场地照片)"),
+    OTHER_NON_STANDARD("OTHER_NON_STANDARD", "其他类型(甲方非标类文件)");
+
+    /** 存储编码(库中存此字段) */
+    @JsonValue
+    private final String code;
+    /** 中文描述 */
+    private final String desc;
+
+    AttachmentTypeEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    /**
+     * 根据编码反向匹配枚举
+     */
+    public static AttachmentTypeEnum getByCode(String code) {
+        for (AttachmentTypeEnum type : values()) {
+            if (type.getCode().equals(code)) {
+                return type;
+            }
+        }
+        return null;
+    }
+    // 2. 直接根据code获取desc(封装一步到位)
+    public static String getDescByCode(String code) {
+        AttachmentTypeEnum type = getByCode(code);
+        return type == null ? "" : type.getDesc();
+    }
+}

+ 121 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/service/CommissionService.java

@@ -0,0 +1,121 @@
+package com.malk.sdzl.service;
+
+import com.malk.sdzl.entity.commission.master.*;
+import com.malk.server.common.McR;
+
+import java.util.Map;
+
+public interface CommissionService {
+
+
+    /**
+     * 共享经济立项合同
+     */
+    Object startProjectCountersign(ProjectCountersign projectCountersign);
+
+    /**
+     * 共享经济结算书申请单
+     */
+    Object startSettlementBook(SettlementBook settlementBook);
+
+    /**
+     * 共享经济甲方代付
+     * @param paymentBehalf
+     * @return
+     */
+    Object startPaymentBehalf(PaymentBehalf paymentBehalf);
+
+    /**
+     * 共享经济发票开具
+     * @param invoiceIssuance
+     * @return
+     */
+    Object startInvoiceIssuance(InvoiceIssuance invoiceIssuance);
+
+    /**
+     * 共享经济收款单
+     * @param shareEconomyCollection
+     * @return
+     */
+    Object startShareEconomyCollection(ShareEconomyCollection shareEconomyCollection);
+
+    /**
+     * 共享经济预付款单(充值/支付指令)
+     * @param sharingAdvancePayment
+     * @return
+     */
+    Object startShareAdvancePayment(SharingAdvancePayment sharingAdvancePayment);
+
+    /**
+     * 共享经济验收请款支付单
+     * @param acceptanceRequest
+     * @return
+     */
+    Object startAcceptanceRequest(AcceptanceRequest acceptanceRequest);
+
+
+    /**
+     * 共享经济财确绑定
+     * @param financialVerification
+     * @return
+     */
+    Object startFinancialVerification(FinancialVerification financialVerification);
+
+    /**
+     * 共享经济返点确认单
+     * @param rebateConfirm
+     * @return
+     */
+    Object startRebateConfirm(RebateConfirm rebateConfirm);
+
+    /**
+     * 共享经济返点请款单
+     * @param rebateClaim
+     * @return
+     */
+    Object startRebateClaim(RebateClaim rebateClaim);
+
+    /**
+     * 共享经济其他支出单(退款)
+     * @param otherExpenses
+     * @return
+     */
+    Object startOtherExpenses(OtherExpenses otherExpenses);
+
+    /**
+     * 共享经济充值收款单
+     * @param rechargePayment
+     * @return
+     */
+    Object startRechargePayment(RechargePayment rechargePayment);
+
+    /**
+     * 供应商查询
+     * @param data
+     * @return
+     */
+    McR getSupplierInfo(Map data);
+
+    /**
+     * 客户查询
+     * @param data
+     * @return
+     */
+    McR getCustomerInfoEntity(Map data);
+
+    /**
+     * 流程进度查询
+     * @param data
+     * @return
+     */
+    Object getFormTask(Map data);
+
+    Object startAdvanceRefund(AdvanceRefund advanceRefund);
+
+    Object startDeveloperOnboard(DeveloperOnboard developerOnboard);
+
+    Object startReferrerRefund(ReferrerRefund referrerRefund);
+
+    Object startProjectBalanceAdjustment(ProjectBalanceAdjustment projectBalanceAdjustment);
+
+}

Разница между файлами не показана из-за своего большого размера
+ 2109 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/service/Impl/CommissionServiceImpl.java


Разница между файлами не показана из-за своего большого размера
+ 1252 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/service/Impl/PayServiceImpl.java


+ 78 - 0
mjava-sdzl/src/main/java/com/malk/sdzl/service/PayService.java

@@ -0,0 +1,78 @@
+package com.malk.sdzl.service;
+
+import com.malk.sdzl.entity.AMS.master.*;
+
+import java.util.Map;
+
+public interface PayService {
+
+    /**
+     * 客户合同绑定申请单
+     */
+    Object startContractBinding(ContractBinding contractBinding);
+
+    /**
+     * 系统服务合同申请单
+     */
+    Object startSystemContract(SystemContract systemContract);
+
+    /**
+     *合同终止变更申请单
+     */
+    Object startContractTermination(ContractTermination contractTermination);
+
+    /**
+     * 收款单
+     */
+    Object startCollectionVoucher(CollectionVoucher collectionVoucher);
+
+    /**
+     * 产品发票申请单
+     * @param invoiceApplication
+     * @return
+     */
+    Object startInvoiceApplication(InvoiceApplication invoiceApplication);
+
+    /**
+     * 预付款申请单
+     * @param advancePayment
+     * @return
+     */
+    Object startAdvancePayment(AdvancePayment advancePayment);
+
+    /**
+     * 请款单
+     * @param invoiceRequest
+     * @return
+     */
+    Object startInvoiceRequest(InvoiceRequest invoiceRequest);
+
+    /**
+     * 商机信息申请单
+     * @param businessOpportunity
+     * @return
+     */
+    Object startBusinessOpportunity(BusinessOpportunity businessOpportunity);
+
+    /**
+     * 商机信息作废申请单
+     * @param businessCancel
+     * @return
+     */
+    Object startBusinessCancel(BusinessCancel businessCancel);
+
+    /**
+     * 发送钉钉审核流程回写请求
+     * @param bodyMap Body参数Map(需包含文档指定的必填字段)
+     * @return 接口返回字符串
+     * @throws Exception 异常抛出(实际业务中建议封装自定义异常)
+     */
+    String approvalCallback(Map<String, Object> bodyMap);
+
+    /**
+     * 钉钉回写AMS附件
+     * @param bodyMap
+     * @return
+     */
+    String approvalCallbackFile(Map bodyMap);
+}

+ 58 - 0
mjava-sdzl/src/main/resources/application-dev.yml

@@ -0,0 +1,58 @@
+# 环境配置
+server:
+  port: 8109
+  servlet:
+    context-path: /api/sdzl
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: test
+    password: test123
+    url: jdbc:mysql://47.110.74.198:3306?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+#file:
+#  path:
+#    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+#    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+#    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+#  source:
+#    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+#logging:
+#  file:
+#    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 3767934184
+  appKey: dingcvk3998zkcvdpyzt
+  appSecret: ThHQzYc2Tb5PnNuZWZQ0PCG0wqgIXGT-Q6ickKpLZStAYx3avrsqPAA5rJ-qbEOE
+  corpId:
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+sdzl:
+  url: http://test.inapi.cric.com
+
+# aliwork
+aliwork:
+  appType: "APP_YYYEKIZY2HIWCG1NZZDY"
+  systemToken: "14G668D1DCV5TU1EG98ZX6XRO47H33RN9DCPMKC1"
+
+

+ 59 - 0
mjava-sdzl/src/main/resources/application-prod.yml

@@ -0,0 +1,59 @@
+# 环境配置
+server:
+  port: 8109
+  servlet:
+    context-path: /api/sdzl
+
+# condition
+spel:
+  scheduling: false        # 定时任务是否执行
+  multiSource: false       # 是否多数据源配置
+
+spring:
+  # database
+  datasource:
+    hikari:
+      connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: test
+    password: test123
+    url: jdbc:mysql://47.110.74.198:3306?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
+
+# filepath
+#file:
+#  path:
+#    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
+#    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
+#    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+#  source:
+#    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+#logging:
+#  file:
+#    path: /Users/malk/server/_Tool/var/mjava/log
+
+# dingtalk
+dingtalk:
+  agentId: 3767934184
+  appKey: dingcvk3998zkcvdpyzt
+  appSecret: ThHQzYc2Tb5PnNuZWZQ0PCG0wqgIXGT-Q6ickKpLZStAYx3avrsqPAA5rJ-qbEOE
+  corpId:
+  aesKey:
+  token:
+  operator: ""   # OA管理员账号
+
+sdzl:
+#  url: http://inapi.cric.com
+  url: http://test.inapi.cric.com
+
+# aliwork
+aliwork:
+  appType: "APP_YYYEKIZY2HIWCG1NZZDY"
+  systemToken: "14G668D1DCV5TU1EG98ZX6XRO47H33RN9DCPMKC1"
+
+

+ 40 - 0
mjava-sdzl/src/test/java/test.java

@@ -0,0 +1,40 @@
+import com.malk.sdzl.Boot;
+import com.malk.sdzl.service.Impl.PayServiceImpl;
+import com.malk.server.dingtalk.DDConf;
+import com.malk.server.dingtalk.crypto.DingCallbackCrypto;
+import com.malk.service.dingtalk.DDClient;
+import com.malk.service.dingtalk.DDClient_Event;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Boot.class)
+public class test {
+
+    @Autowired
+    private DDConf ddConf;
+    @Autowired
+    private DDClient_Event ddClient_event;
+    @Autowired
+    private DDClient ddClient;
+    @Autowired
+    private PayServiceImpl payService;
+    @Test
+    public void sonUpdateTest() throws DingCallbackCrypto.DingTalkEncryptException {
+
+//        List<String>strings = new ArrayList<>();
+//        strings.add("1921070152852260");
+//        List<String>works = new ArrayList<>();
+//        works.add("11000391");
+//        payService.getUserFormByNumber(works,"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NDU4NDIxMzQsInVzZXJuYW1lIjoiZGFsaV90ZXN0X2I4MTU0Njk2LTZhNjQtNDlmNS1iM2E5LTA3ZjE0ZmRhZGIzNiJ9.gyylaYK7qjkJiMV9LxQo84QqEaiqd0o8zfS9Ida71rU");
+//        String company = payService.getCompany("110501", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NDU4NDIxMzQsInVzZXJuYW1lIjoiZGFsaV90ZXN0X2I4MTU0Njk2LTZhNjQtNDlmNS1iM2E5LTA3ZjE0ZmRhZGIzNiJ9.gyylaYK7qjkJiMV9LxQo84QqEaiqd0o8zfS9Ida71rU");
+//        System.out.println(company);
+//        payService.getNumberByUserId(strings);
+    }
+}

+ 39 - 0
mjava-sdzl/src/test/resource/server.sh

@@ -0,0 +1,39 @@
+#!/bin/bash
+
+appname='mjava-dongfangxinhua'
+
+if [ "$1" == "dev" ]; then
+  java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=dev
+else
+  if [ "$1" == "start" ]; then
+    nohup java -Xms256m -Xmx256m -jar $appname.jar &
+    echo "server prod is starting"
+    tail -f log/info.log
+  else
+    if [ "$1" == "test" ]; then
+      nohup java -Xms256m -Xmx256m -jar $appname.jar --spring.profiles.active=test &
+      echo "server test is starting"
+      tail -f log/info.log
+    else
+      if [ "$1" == "stop" ]; then
+        PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+        if [ -z "$PID" ]; then
+          echo "server is already stopped"
+        else
+          echo kill $PID
+          kill $PID
+        fi
+      else
+        if [ "$1" == "status" ]; then
+          PID=$(ps -ef | grep $appname.jar | grep -v grep | awk '{ print $2 }')
+          if [ -z "$PID" ]; then
+            echo "server is stopped"
+          else
+            echo "server is running"
+            echo $PID
+          fi
+        fi
+      fi
+    fi
+  fi
+fi

+ 448 - 0
pom.xml

@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.malk</groupId>
+    <artifactId>java-mcli</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <modules>
+        <module>mjava-sdzl</module>
+    </modules>
+    <packaging>pom</packaging>
+
+    <name>java-mcli</name>
+    <description>mjava framework</description>
+
+    <!-- 版本管理 Management -->
+    <properties>
+        <!-- mjava版本: 修改mjava pom配置 -->
+        <mjava.version>0.0.3</mjava.version>
+        <!-- 全局配置 -->
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+        <!-- 公共依赖 -->
+        <spring-boot-dependencies.version>2.2.13.RELEASE</spring-boot-dependencies.version>
+        <junit.verson>4.12</junit.verson>
+        <lombok.version>1.18.8</lombok.version>
+        <validation-api.version>2.0.1.Final</validation-api.version>
+        <fastjson.version>1.2.83</fastjson.version>
+        <commons-lang3.version>3.10</commons-lang3.version>
+        <guava.version>30.1.1-jre</guava.version>
+        <hutool-all.version>5.6.0</hutool-all.version>
+        <spring-boot-starter-data-jpa.version>2.1.3.RELEASE</spring-boot-starter-data-jpa.version>
+        <querydsl-apt.version>4.2.1</querydsl-apt.version>
+        <querydsl-jpa.version>4.2.1</querydsl-jpa.version>
+        <spring-boot-starter-jdbc.version>2.2.13.RELEASE</spring-boot-starter-jdbc.version>
+        <easyexcel.version>2.2.7</easyexcel.version>
+        <!-- 数据库连接 [仅mysql为全局依赖] -->
+        <mysql-connector-java.version>8.0.22</mysql-connector-java.version>
+        <mssql-jdbc.version>6.4.0.jre8</mssql-jdbc.version>
+        <ojdbc6.version>11.2.0.4</ojdbc6.version>
+        <mongo-java-driver.version>3.12.7</mongo-java-driver.version>
+        <spring-boot-starter-data-mongodb.version>2.2.13.RELEASE</spring-boot-starter-data-mongodb.version>
+        <!-- jsp [非全局依赖] -->
+        <tomcat-embed-jasper.version>9.0.41</tomcat-embed-jasper.version>
+        <jstl.version>1.2</jstl.version>
+        <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
+        <javax.servlet.jsp-api.version>2.3.1</javax.servlet.jsp-api.version>
+        <!-- jwt [非全局依赖] -->
+        <java-jwt.version>3.4.0</java-jwt.version>
+        <!-- swagger3: todo -->
+        <springfox-boot-starter.version>3.0.0</springfox-boot-starter.version>
+        <!-- 网页转pdf [非全局依赖] -->
+        <flying-saucer-pdf-itext5.version>9.0.3</flying-saucer-pdf-itext5.version>
+        <!-- 腾讯云[发票识别] [非全局依赖] -->
+        <tencentcloud-sdk-java.version>3.1.778</tencentcloud-sdk-java.version>
+        <!-- 不执行单元测试,也不编译测试类 -->
+        <skipTests>true</skipTests>
+        <!-- 不执行单元测试,但会编译测试类,并在target/test-classes目录下生成相应的class -->
+        <maven.test.skip>true</maven.test.skip>
+        <mybatis-plus.version>3.5.1</mybatis-plus.version>
+        <durid.version>1.1.18</durid.version>
+    </properties>
+
+    <!-- 依赖声明 & 版本 -->
+    <dependencyManagement>
+        <dependencies>
+            <!-- SpringBoot 依赖 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot-dependencies.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <!-- 单元测试 -->
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.verson}</version>
+                <scope>test</scope>
+            </dependency>
+
+            <!-- lombok -->
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+                <scope>provided</scope>
+            </dependency>
+
+            <!-- validation 参数校验 -->
+            <dependency>
+                <groupId>javax.validation</groupId>
+                <artifactId>validation-api</artifactId>
+                <version>${validation-api.version}</version>
+            </dependency>
+
+            <!-- 阿里巴巴 json -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>fastjson</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+
+            <!-- 通用的工具类集 -->
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>${commons-lang3.version}</version>
+            </dependency>
+            <!-- ppExt: 23.10.26 钉钉新方式以Steam接入, HTTP形式commonsc-codec在升级之后,其内部做了一个validateCharacter校验. 使用 guava 替代-->
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>${guava.version}</version>
+            </dependency>
+            <!-- 国产工具集 -->
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-all</artifactId>
+                <version>${hutool-all.version}</version>
+            </dependency>
+
+            <!-- data-jpa 数据库操作 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-starter-data-jpa</artifactId>
+                <version>${spring-boot-starter-data-jpa.version}</version>
+            </dependency>
+
+            <!-- QueryDSL 4.x 支持-->
+            <dependency>
+                <groupId>com.querydsl</groupId>
+                <artifactId>querydsl-apt</artifactId>
+                <scope>provided</scope>
+                <version>${querydsl-apt.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.querydsl</groupId>
+                <artifactId>querydsl-jpa</artifactId>
+                <version>${querydsl-jpa.version}</version>
+            </dependency>
+
+            <!-- AOP多数据源切换 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-starter-jdbc</artifactId>
+                <version>${spring-boot-starter-jdbc.version}</version>
+            </dependency>
+
+            <!-- easyExcel 优化 poi [不影响单独引入poi, 会冲突] -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>easyexcel</artifactId>
+                <version>${easyexcel.version}</version>
+            </dependency>
+
+            <!-- mySql 驱动 -->
+            <dependency>
+                <groupId>mysql</groupId>
+                <artifactId>mysql-connector-java</artifactId>
+                <version>${mysql-connector-java.version}</version>
+            </dependency>
+
+            <!-- sqlserver依赖 -->
+            <dependency>
+                <groupId>com.microsoft.sqlserver</groupId>
+                <artifactId>mssql-jdbc</artifactId>
+                <scope>runtime</scope>
+                <version>${mssql-jdbc.version}</version>
+            </dependency>
+
+            <!-- Oracle 依赖 -->
+            <dependency>
+                <groupId>com.oracle.database.jdbc</groupId>
+                <artifactId>ojdbc6</artifactId>
+                <version>${ojdbc6.version}</version>
+            </dependency>
+
+            <!-- MongoDB 驱动 -->
+            <dependency>
+                <groupId>org.mongodb</groupId>
+                <artifactId>mongo-java-driver</artifactId>
+                <version>${mongo-java-driver.version}</version>
+            </dependency>
+            <!-- MongoDB jpa 操作 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-starter-data-mongodb</artifactId>
+                <version>${spring-boot-starter-data-mongodb.version}</version>
+            </dependency>
+
+            <!-- url转pdf -->
+            <dependency>
+                <groupId>org.xhtmlrenderer</groupId>
+                <artifactId>flying-saucer-pdf-itext5</artifactId>
+                <version>${flying-saucer-pdf-itext5.version}</version>
+            </dependency>
+
+            <!-- jsp: tomcat-embed-jasper 需要添加到子项目内 -->
+            <dependency>
+                <groupId>org.apache.tomcat.embed</groupId>
+                <artifactId>tomcat-embed-jasper</artifactId>
+                <version>${tomcat-embed-jasper.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>jstl</artifactId>
+                <version>${jstl.version}</version>
+            </dependency>
+            <!-- servlet -->
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>javax.servlet-api</artifactId>
+                <version>${javax.servlet-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet.jsp</groupId>
+                <artifactId>javax.servlet.jsp-api</artifactId>
+                <version>${javax.servlet.jsp-api.version}</version>
+            </dependency>
+
+            <!-- jwt -->
+            <dependency>
+                <groupId>com.auth0</groupId>
+                <artifactId>java-jwt</artifactId>
+                <version>${java-jwt.version}</version>
+            </dependency>
+
+            <!-- 腾讯云 -->
+            <dependency>
+                <groupId>com.tencentcloudapi</groupId>
+                <artifactId>tencentcloud-sdk-java</artifactId>
+                <version>${tencentcloud-sdk-java.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <!-- 子项目需要与 mjava 相同的依赖, 否则调试可运行, 打包后会运行报错. 为了避免重复引入 pom, 将 mjava 依赖直接在全局 pom 引入 -->
+    <dependencies>
+        <!-- spring boot -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-tomcat</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <!-- spring-boot-devtools [热部署] -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <optional>true</optional> <!-- 表示依赖不会传递 -->
+        </dependency>
+        <!-- 单元测试 -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- lombok -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <!-- validation 参数校验 -->
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+        </dependency>
+
+        <!-- 阿里巴巴 json -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+
+        <!-- 通用的工具类集 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <!-- 国产工具集 -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+
+        <!-- data-jpa 数据库操作 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+
+        <!-- QueryDSL 4.x 支持-->
+        <dependency>
+            <groupId>com.querydsl</groupId>
+            <artifactId>querydsl-apt</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.querydsl</groupId>
+            <artifactId>querydsl-jpa</artifactId>
+        </dependency>
+
+        <!-- AOP多数据源切换 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-jdbc</artifactId>
+        </dependency>
+
+        <!-- easyExcel 优化 poi [不影响单独引入poi, 会冲突] -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+        </dependency>
+
+        <!-- mySql 驱动 -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <!--        引入mybatisPlus 包含了 jdbc -->
+<!--        <dependency>-->
+<!--            <groupId>com.baomidou</groupId>-->
+<!--            <artifactId>mybatis-plus-boot-starter</artifactId>-->
+<!--            <version>${mybatis-plus.version}</version>-->
+<!--        </dependency>-->
+
+        <!--        引入durid數據源-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+            <version>${durid.version}</version>
+        </dependency>
+
+        <!-- Oracle 依赖 -->
+<!--                <dependency>-->
+<!--                    <groupId>com.oracle.database.jdbc</groupId>-->
+<!--                    <artifactId>ojdbc6</artifactId>-->
+<!--                </dependency>-->
+
+<!--         sqlserver 依赖 -->
+<!--                <dependency>-->
+<!--                    <groupId>com.microsoft.sqlserver</groupId>-->
+<!--                    <artifactId>mssql-jdbc</artifactId>-->
+<!--                    <scope>runtime</scope>-->
+<!--                </dependency>-->
+
+
+<!--         MongoDB 驱动 -->
+<!--                <dependency>-->
+<!--                    <groupId>org.mongodb</groupId>-->
+<!--                    <artifactId>mongo-java-driver</artifactId>-->
+<!--                </dependency>-->
+<!--         MongoDB jpa 操作 -->
+<!--                <dependency>-->
+<!--                    <groupId>org.springframework.boot</groupId>-->
+<!--                    <artifactId>spring-boot-starter-data-mongodb</artifactId>-->
+<!--                    <version>${spring-boot-starter-data-mongodb.version}</version>-->
+<!--                </dependency>-->
+
+<!--         url转pdf -->
+<!--                <dependency>-->
+<!--                    <groupId>org.xhtmlrenderer</groupId>-->
+<!--                    <artifactId>flying-saucer-pdf-itext5</artifactId>-->
+<!--                </dependency>-->
+
+<!--         jsp: tomcat-embed-jasper 需要在子项目内引用才有效 -->
+<!--                <dependency>-->
+<!--                    <groupId>javax.servlet</groupId>-->
+<!--                    <artifactId>jstl</artifactId>-->
+<!--                </dependency>-->
+<!--         servlet -->
+                <dependency>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>javax.servlet-api</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>javax.servlet.jsp</groupId>
+                    <artifactId>javax.servlet.jsp-api</artifactId>
+                </dependency>
+
+<!--         jwt -->
+                <dependency>
+                    <groupId>com.auth0</groupId>
+                    <artifactId>java-jwt</artifactId>
+                </dependency>
+
+<!--         腾讯云 [go to https://search.maven.org/search?q=tencentcloud-sdk-java and get the latest version.] -->
+<!--                <dependency>-->
+<!--                    <groupId>com.tencentcloudapi</groupId>-->
+<!--                    <artifactId>tencentcloud-sdk-java</artifactId>-->
+<!--                </dependency>-->
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                    <!-- jva使用了未经检查或不安全的操作,编译会有打印,通过插件显示具体报错警告位置, 如 T, Map, List 也会报警告 -->
+                    <compilerArgument>-Xlint:unchecked</compilerArgument>
+                </configuration>
+            </plugin>
+            <!-- QueryDSL 插件: 因为QueryDsl是类型安全的,所以还需要加上Maven APT plugin,使用 APT 自动生成Q类 -->
+            <plugin>
+                <groupId>com.mysema.maven</groupId>
+                <artifactId>apt-maven-plugin</artifactId>
+                <version>1.1.3</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>target/generated-sources/java</outputDirectory>
+                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>