Browse Source

加入 合同收款计划

java110 5 years ago
parent
commit
c9fe62bdaa
18 changed files with 969 additions and 68 deletions
  1. 90 0
      java110-bean/src/main/java/com/java110/dto/contractCollectionPlan/ContractCollectionPlanDto.java
  2. 67 0
      java110-bean/src/main/java/com/java110/po/contractCollectionPlan/ContractCollectionPlanPo.java
  3. 121 0
      java110-db/src/main/resources/mapper/store/ContractCollectionPlanServiceDaoImplMapper.xml
  4. 13 12
      java110-generator/src/main/resources/newBack/template_1.json
  5. 43 47
      java110-generator/src/main/resources/web/template_1.json
  6. 53 0
      java110-interface/src/main/java/com/java110/intf/store/IContractCollectionPlanInnerServiceSMO.java
  7. 123 9
      service-store/src/main/java/com/java110/store/api/ContractApi.java
  8. 17 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IDeleteContractCollectionPlanBMO.java
  9. 16 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IGetContractCollectionPlanBMO.java
  10. 17 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/ISaveContractCollectionPlanBMO.java
  11. 17 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IUpdateContractCollectionPlanBMO.java
  12. 34 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/DeleteContractCollectionPlanBMOImpl.java
  13. 44 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/GetContractCollectionPlanBMOImpl.java
  14. 38 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/SaveContractCollectionPlanBMOImpl.java
  15. 34 0
      service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/UpdateContractCollectionPlanBMOImpl.java
  16. 61 0
      service-store/src/main/java/com/java110/store/dao/IContractCollectionPlanServiceDao.java
  17. 98 0
      service-store/src/main/java/com/java110/store/dao/impl/ContractCollectionPlanServiceDaoImpl.java
  18. 83 0
      service-store/src/main/java/com/java110/store/smo/impl/ContractCollectionPlanInnerServiceSMOImpl.java

+ 90 - 0
java110-bean/src/main/java/com/java110/dto/contractCollectionPlan/ContractCollectionPlanDto.java

@@ -0,0 +1,90 @@
+package com.java110.dto.contractCollectionPlan;
+
+import com.java110.dto.PageDto;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName FloorDto
+ * @Description 合同收款计划数据层封装
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class ContractCollectionPlanDto extends PageDto implements Serializable {
+
+    private String contractId;
+private String feeName;
+private String planName;
+private String planId;
+private String remark;
+private String storeId;
+private String feeId;
+
+
+    private Date createTime;
+
+    private String statusCd = "0";
+
+
+    public String getContractId() {
+        return contractId;
+    }
+public void setContractId(String contractId) {
+        this.contractId = contractId;
+    }
+public String getFeeName() {
+        return feeName;
+    }
+public void setFeeName(String feeName) {
+        this.feeName = feeName;
+    }
+public String getPlanName() {
+        return planName;
+    }
+public void setPlanName(String planName) {
+        this.planName = planName;
+    }
+public String getPlanId() {
+        return planId;
+    }
+public void setPlanId(String planId) {
+        this.planId = planId;
+    }
+public String getRemark() {
+        return remark;
+    }
+public void setRemark(String remark) {
+        this.remark = remark;
+    }
+public String getStoreId() {
+        return storeId;
+    }
+public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+public String getFeeId() {
+        return feeId;
+    }
+public void setFeeId(String feeId) {
+        this.feeId = feeId;
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+}

+ 67 - 0
java110-bean/src/main/java/com/java110/po/contractCollectionPlan/ContractCollectionPlanPo.java

@@ -0,0 +1,67 @@
+package com.java110.po.contractCollectionPlan;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ContractCollectionPlanPo implements Serializable {
+
+    private String contractId;
+private String feeName;
+private String planName;
+private String planId;
+private String remark;
+private String statusCd = "0";
+private String storeId;
+private String feeId;
+public String getContractId() {
+        return contractId;
+    }
+public void setContractId(String contractId) {
+        this.contractId = contractId;
+    }
+public String getFeeName() {
+        return feeName;
+    }
+public void setFeeName(String feeName) {
+        this.feeName = feeName;
+    }
+public String getPlanName() {
+        return planName;
+    }
+public void setPlanName(String planName) {
+        this.planName = planName;
+    }
+public String getPlanId() {
+        return planId;
+    }
+public void setPlanId(String planId) {
+        this.planId = planId;
+    }
+public String getRemark() {
+        return remark;
+    }
+public void setRemark(String remark) {
+        this.remark = remark;
+    }
+public String getStatusCd() {
+        return statusCd;
+    }
+public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+public String getStoreId() {
+        return storeId;
+    }
+public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+public String getFeeId() {
+        return feeId;
+    }
+public void setFeeId(String feeId) {
+        this.feeId = feeId;
+    }
+
+
+
+}

+ 121 - 0
java110-db/src/main/resources/mapper/store/ContractCollectionPlanServiceDaoImplMapper.xml

@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="contractCollectionPlanServiceDaoImpl">
+
+
+    <!-- 保存合同收款计划信息 add by wuxw 2018-07-03 -->
+    <insert id="saveContractCollectionPlanInfo" parameterType="Map">
+        insert into contract_collection_plan(
+        contract_id,fee_name,plan_name,plan_id,remark,store_id,fee_id
+        ) values (
+        #{contractId},#{feeName},#{planName},#{planId},#{remark},#{storeId},#{feeId}
+        )
+    </insert>
+
+
+    <!-- 查询合同收款计划信息 add by wuxw 2018-07-03 -->
+    <select id="getContractCollectionPlanInfo" parameterType="Map" resultType="Map">
+        select t.contract_id,t.contract_id contractId,t.fee_name,t.fee_name feeName,t.plan_name,t.plan_name
+        planName,t.plan_id,t.plan_id planId,t.remark,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id
+        storeId,t.fee_id,t.fee_id feeId
+        from contract_collection_plan t
+        where 1 =1
+        <if test="contractId !=null and contractId != ''">
+            and t.contract_id= #{contractId}
+        </if>
+        <if test="feeName !=null and feeName != ''">
+            and t.fee_name= #{feeName}
+        </if>
+        <if test="planName !=null and planName != ''">
+            and t.plan_name= #{planName}
+        </if>
+        <if test="planId !=null and planId != ''">
+            and t.plan_id= #{planId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="feeId !=null and feeId != ''">
+            and t.fee_id= #{feeId}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+
+    </select>
+
+
+    <!-- 修改合同收款计划信息 add by wuxw 2018-07-03 -->
+    <update id="updateContractCollectionPlanInfo" parameterType="Map">
+        update contract_collection_plan t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="contractId !=null and contractId != ''">
+            , t.contract_id= #{contractId}
+        </if>
+        <if test="feeName !=null and feeName != ''">
+            , t.fee_name= #{feeName}
+        </if>
+        <if test="planName !=null and planName != ''">
+            , t.plan_name= #{planName}
+        </if>
+        <if test="remark !=null and remark != ''">
+            , t.remark= #{remark}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            , t.store_id= #{storeId}
+        </if>
+        <if test="feeId !=null and feeId != ''">
+            , t.fee_id= #{feeId}
+        </if>
+        where 1=1
+        <if test="planId !=null and planId != ''">
+            and t.plan_id= #{planId}
+        </if>
+
+    </update>
+
+    <!-- 查询合同收款计划数量 add by wuxw 2018-07-03 -->
+    <select id="queryContractCollectionPlansCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from contract_collection_plan t
+        where 1 =1
+        <if test="contractId !=null and contractId != ''">
+            and t.contract_id= #{contractId}
+        </if>
+        <if test="feeName !=null and feeName != ''">
+            and t.fee_name= #{feeName}
+        </if>
+        <if test="planName !=null and planName != ''">
+            and t.plan_name= #{planName}
+        </if>
+        <if test="planId !=null and planId != ''">
+            and t.plan_id= #{planId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="feeId !=null and feeId != ''">
+            and t.fee_id= #{feeId}
+        </if>
+
+
+    </select>
+
+</mapper>

+ 13 - 12
java110-generator/src/main/resources/newBack/template_1.json

@@ -1,19 +1,20 @@
 {
   "autoMove": true,
-  "id": "attrId",
-  "name": "contractChangePlanDetailAttr",
-  "desc": "合同变更属性",
+  "id": "planId",
+  "name": "contractCollectionPlan",
+  "desc": "合同收款计划",
   "shareParam": "storeId",
   "shareColumn": "store_id",
   "shareName": "store",
-  "tableName": "contract_change_plan_detail_attr",
+  "tableName": "contract_collection_plan",
   "param": {
     "storeId": "store_id",
-    "detailId": "detail_id",
+    "planId": "plan_id",
     "contractId": "contract_id",
-    "attrId": "attr_id",
-    "specCd": "spec_cd",
-    "value": "value",
+    "planName": "plan_name",
+    "feeId": "fee_id",
+    "feeName": "fee_name",
+    "remark": "remark",
     "statusCd": "status_cd"
   },
   "required": [
@@ -22,16 +23,16 @@
       "msg": "合同ID不能为空"
     },
     {
-      "code": "detailId",
-      "msg": "变更明细不能为空"
+      "code": "feeId",
+      "msg": "费用不能为空"
     },
     {
       "code": "storeId",
       "msg": "商户ID不能为空"
     },
     {
-      "code": "specCd",
-      "msg": "用户规格不能为空"
+      "code": "planName",
+      "msg": "收款计划名称不能为空"
     }
   ]
 }

+ 43 - 47
java110-generator/src/main/resources/web/template_1.json

@@ -1,84 +1,80 @@
 {
-  "templateName": "员工门禁授权",
-  "directories": "property",
-  "templateCode": "machineAuth",
-  "templateKey": "authId",
-  "templateKeyName": "ID",
-  "searchCode": "authId",
-  "searchName": "ID",
+  "templateName": "收款计划",
+  "directories": "admin",
+  "templateCode": "contractCollectionPlan",
+  "templateKey": "planId",
+  "templateKeyName": "计划ID",
+  "searchCode": "planId",
+  "searchName": "计划ID",
   "conditions": [
     {
-      "name": "设备",
-      "inputType": "select",
-      "selectValue": "6666",
-      "selectValueName": "最美员工",
-      "code": "machineId",
+      "name": "计划名称",
+      "inputType": "input",
+      "code": "planName",
       "whereCondition": "equal"
     },
     {
-      "name": "员工名称",
+      "name": "费用名称",
       "inputType": "input",
-      "code": "personName",
+      "code": "feeName",
       "whereCondition": "equal"
     },
     {
-      "name": "员工编码",
+      "name": "合同编号",
       "inputType": "input",
-      "code": "personId",
+      "code": "contractCode",
       "whereCondition": "equal"
     }
   ],
   "columns": [
     {
-      "code": "machineId",
-      "cnCode": "设备",
-      "desc": "必填,请选择设备",
+      "code": "planName",
+      "cnCode": "计划名称",
+      "desc": "必填,请填写计划名称",
       "required": true,
       "hasDefaultValue": false,
-      "inputType": "select",
-      "selectValue": "6666",
-      "selectValueName": "最美员工",
-      "limit": "num",
-      "limitParam": "",
-      "limitErrInfo": "设备格式错误",
+      "inputType": "input",
+      "limit": "maxLength",
+      "limitParam": "128",
+      "limitErrInfo": "计划名称太长",
       "show": true
     },
     {
-      "code": "personId",
-      "cnCode": "员工",
-      "desc": "必填,请填写员工",
+      "code": "contractCode",
+      "cnCode": "合同号",
+      "desc": "必填,请填写合同号",
       "required": true,
       "hasDefaultValue": false,
-      "inputType": "select",
-      "selectValue": "6666",
-      "selectValueName": "最美员工",
+      "inputType": "input",
       "limit": "maxLength",
-      "limitParam": "128",
-      "limitErrInfo": "员工名称太长",
+      "limitParam": "30",
+      "limitErrInfo": "合同号格式错误",
       "show": true
     },
     {
-      "code": "startTime",
-      "cnCode": "开始时间",
-      "desc": "必填,请填写开始时间",
+      "code": "feeName",
+      "cnCode": "费用",
+      "desc": "必填,请选择费用",
       "required": true,
       "hasDefaultValue": false,
-      "inputType": "input",
-      "limit": "datetime",
-      "limitParam": "",
-      "limitErrInfo": "开始时间格式错误",
+      "inputType": "select",
+      "selectValue": "111",
+      "selectValueName": "计划费用",
+      "limit": "maxLength",
+      "limitParam": "128",
+      "limitErrInfo": "费用不正确",
       "show": true
     },
     {
-      "code": "endTime",
-      "cnCode": "结束时间",
-      "desc": "必填,请填写结束时间",
-      "required": true,
+      "code": "remark",
+      "cnCode": "备注",
+      "desc": "选填,请填写备注",
+      "required": false,
       "hasDefaultValue": false,
       "inputType": "input",
-      "limit": "datetime",
-      "limitParam": "",
-      "limitErrInfo": "结束时间格式错误",
+      "limit": "maxLength",
+      "limitParam": "512",
+      "limitErrInfo": "备注太长",
       "show": true
     }
   ]

+ 53 - 0
java110-interface/src/main/java/com/java110/intf/store/IContractCollectionPlanInnerServiceSMO.java

@@ -0,0 +1,53 @@
+package com.java110.intf.store;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * @ClassName IContractCollectionPlanInnerServiceSMO
+ * @Description 合同收款计划接口类
+ * @Author wuxw
+ * @Date 2019/4/24 9:04
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@FeignClient(name = "store-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/contractCollectionPlanApi")
+public interface IContractCollectionPlanInnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveContractCollectionPlan", method = RequestMethod.POST)
+    public int saveContractCollectionPlan(@RequestBody ContractCollectionPlanPo contractCollectionPlanPo);
+
+    @RequestMapping(value = "/updateContractCollectionPlan", method = RequestMethod.POST)
+    public int updateContractCollectionPlan(@RequestBody  ContractCollectionPlanPo contractCollectionPlanPo);
+
+    @RequestMapping(value = "/deleteContractCollectionPlan", method = RequestMethod.POST)
+    public int deleteContractCollectionPlan(@RequestBody  ContractCollectionPlanPo contractCollectionPlanPo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param contractCollectionPlanDto 数据对象分享
+     * @return ContractCollectionPlanDto 对象数据
+     */
+    @RequestMapping(value = "/queryContractCollectionPlans", method = RequestMethod.POST)
+    List<ContractCollectionPlanDto> queryContractCollectionPlans(@RequestBody ContractCollectionPlanDto contractCollectionPlanDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param contractCollectionPlanDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryContractCollectionPlansCount", method = RequestMethod.POST)
+    int queryContractCollectionPlansCount(@RequestBody ContractCollectionPlanDto contractCollectionPlanDto);
+}

+ 123 - 9
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -6,6 +6,7 @@ import com.java110.dto.contractAttr.ContractAttrDto;
 import com.java110.dto.contractChangePlan.ContractChangePlanDto;
 import com.java110.dto.contractChangePlanDetail.ContractChangePlanDetailDto;
 import com.java110.dto.contractChangePlanDetailAttr.ContractChangePlanDetailAttrDto;
+import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
 import com.java110.dto.contractType.ContractTypeDto;
 import com.java110.dto.contractTypeSpec.ContractTypeSpecDto;
 import com.java110.dto.contractTypeTemplate.ContractTypeTemplateDto;
@@ -15,6 +16,7 @@ import com.java110.po.contractAttr.ContractAttrPo;
 import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
 import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
 import com.java110.po.contractType.ContractTypePo;
 import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
 import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
@@ -38,6 +40,10 @@ import com.java110.store.bmo.contractChangePlanDetailAttr.IDeleteContractChangeP
 import com.java110.store.bmo.contractChangePlanDetailAttr.IGetContractChangePlanDetailAttrBMO;
 import com.java110.store.bmo.contractChangePlanDetailAttr.ISaveContractChangePlanDetailAttrBMO;
 import com.java110.store.bmo.contractChangePlanDetailAttr.IUpdateContractChangePlanDetailAttrBMO;
+import com.java110.store.bmo.contractCollectionPlan.IDeleteContractCollectionPlanBMO;
+import com.java110.store.bmo.contractCollectionPlan.IGetContractCollectionPlanBMO;
+import com.java110.store.bmo.contractCollectionPlan.ISaveContractCollectionPlanBMO;
+import com.java110.store.bmo.contractCollectionPlan.IUpdateContractCollectionPlanBMO;
 import com.java110.store.bmo.contractType.IDeleteContractTypeBMO;
 import com.java110.store.bmo.contractType.IGetContractTypeBMO;
 import com.java110.store.bmo.contractType.ISaveContractTypeBMO;
@@ -46,13 +52,22 @@ import com.java110.store.bmo.contractTypeSpec.IDeleteContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.IGetContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.ISaveContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.IUpdateContractTypeSpecBMO;
-import com.java110.store.bmo.contractTypeTemplate.*;
+import com.java110.store.bmo.contractTypeTemplate.IDeleteContractTypeTemplateBMO;
+import com.java110.store.bmo.contractTypeTemplate.IGetContractTypeTemplateBMO;
+import com.java110.store.bmo.contractTypeTemplate.IPrintContractTemplateBMO;
+import com.java110.store.bmo.contractTypeTemplate.ISaveContractTypeTemplateBMO;
+import com.java110.store.bmo.contractTypeTemplate.IUpdateContractTypeTemplateBMO;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
@@ -144,6 +159,17 @@ public class ContractApi {
     @Autowired
     private IPrintContractTemplateBMO printContractTemplateBMO;
 
+
+    @Autowired
+    private ISaveContractCollectionPlanBMO saveContractCollectionPlanBMOImpl;
+    @Autowired
+    private IUpdateContractCollectionPlanBMO updateContractCollectionPlanBMOImpl;
+    @Autowired
+    private IDeleteContractCollectionPlanBMO deleteContractCollectionPlanBMOImpl;
+
+    @Autowired
+    private IGetContractCollectionPlanBMO getContractCollectionPlanBMOImpl;
+
     /**
      * 微信保存消息模板
      *
@@ -285,7 +311,7 @@ public class ContractApi {
     public ResponseEntity<String> queryContract(@RequestHeader(value = "store-id") String storeId,
                                                 @RequestParam(value = "state", required = false) String state,
                                                 @RequestParam(value = "expiration", required = false) String expiration,
-                                                @RequestParam(value = "objId",required = false) String objId,
+                                                @RequestParam(value = "objId", required = false) String objId,
                                                 @RequestParam(value = "page") int page,
                                                 @RequestParam(value = "row") int row) {
         ContractDto contractDto = new ContractDto();
@@ -358,9 +384,9 @@ public class ContractApi {
      */
     @RequestMapping(value = "/queryContractChangeTask", method = RequestMethod.GET)
     public ResponseEntity<String> queryContractChangeTask(@RequestHeader(value = "store-id") String storeId,
-                                                    @RequestHeader(value = "user-id") String userId,
-                                                    @RequestParam(value = "page") int page,
-                                                    @RequestParam(value = "row") int row) {
+                                                          @RequestHeader(value = "user-id") String userId,
+                                                          @RequestParam(value = "page") int page,
+                                                          @RequestParam(value = "row") int row) {
         AuditUser auditUser = new AuditUser();
         auditUser.setUserId(userId);
         auditUser.setPage(page);
@@ -380,9 +406,9 @@ public class ContractApi {
      */
     @RequestMapping(value = "/queryContractChangeHistoryTask", method = RequestMethod.GET)
     public ResponseEntity<String> queryContractChangeHistoryTask(@RequestHeader(value = "store-id") String storeId,
-                                                           @RequestHeader(value = "user-id") String userId,
-                                                           @RequestParam(value = "page") int page,
-                                                           @RequestParam(value = "row") int row) {
+                                                                 @RequestHeader(value = "user-id") String userId,
+                                                                 @RequestParam(value = "page") int page,
+                                                                 @RequestParam(value = "row") int row) {
 
 
         AuditUser auditUser = new AuditUser();
@@ -1050,4 +1076,92 @@ public class ContractApi {
     }
 
 
+    /**
+     * 微信保存消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/saveContractCollectionPlan
+     * @path /app/contract/saveContractCollectionPlan
+     */
+    @RequestMapping(value = "/saveContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> saveContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                             @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含contractId");
+        Assert.hasKeyAndValue(reqJson, "feeId", "请求报文中未包含feeId");
+        Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中未包含storeId");
+        Assert.hasKeyAndValue(reqJson, "planName", "请求报文中未包含planName");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return saveContractCollectionPlanBMOImpl.save(contractCollectionPlanPo);
+    }
+
+    /**
+     * 微信修改消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/updateContractCollectionPlan
+     * @path /app/contract/updateContractCollectionPlan
+     */
+    @RequestMapping(value = "/updateContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> updateContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                               @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含contractId");
+        Assert.hasKeyAndValue(reqJson, "feeId", "请求报文中未包含feeId");
+        Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中未包含storeId");
+        Assert.hasKeyAndValue(reqJson, "planName", "请求报文中未包含planName");
+        Assert.hasKeyAndValue(reqJson, "planId", "planId不能为空");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return updateContractCollectionPlanBMOImpl.update(contractCollectionPlanPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/deleteContractCollectionPlan
+     * @path /app/contract/deleteContractCollectionPlan
+     */
+    @RequestMapping(value = "/deleteContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                               @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "planId", "planId不能为空");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return deleteContractCollectionPlanBMOImpl.delete(contractCollectionPlanPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param storeId 商户ID
+     * @return
+     * @serviceCode /contract/queryContractCollectionPlan
+     * @path /app/contract/queryContractCollectionPlan
+     */
+    @RequestMapping(value = "/queryContractCollectionPlan", method = RequestMethod.GET)
+    public ResponseEntity<String> queryContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                              @RequestParam(value = "communityId") String communityId,
+                                                              @RequestParam(value = "page") int page,
+                                                              @RequestParam(value = "row") int row) {
+        ContractCollectionPlanDto contractCollectionPlanDto = new ContractCollectionPlanDto();
+        contractCollectionPlanDto.setPage(page);
+        contractCollectionPlanDto.setRow(row);
+        contractCollectionPlanDto.setStoreId(storeId);
+        return getContractCollectionPlanBMOImpl.get(contractCollectionPlanDto);
+    }
+
+
 }

+ 17 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IDeleteContractCollectionPlanBMO.java

@@ -0,0 +1,17 @@
+package com.java110.store.bmo.contractCollectionPlan;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IDeleteContractCollectionPlanBMO {
+
+
+    /**
+     * 修改合同收款计划
+     * add by wuxw
+     * @param contractCollectionPlanPo
+     * @return
+     */
+    ResponseEntity<String> delete(ContractCollectionPlanPo contractCollectionPlanPo);
+
+
+}

+ 16 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IGetContractCollectionPlanBMO.java

@@ -0,0 +1,16 @@
+package com.java110.store.bmo.contractCollectionPlan;
+import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
+import org.springframework.http.ResponseEntity;
+public interface IGetContractCollectionPlanBMO {
+
+
+    /**
+     * 查询合同收款计划
+     * add by wuxw
+     * @param  contractCollectionPlanDto
+     * @return
+     */
+    ResponseEntity<String> get(ContractCollectionPlanDto contractCollectionPlanDto);
+
+
+}

+ 17 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/ISaveContractCollectionPlanBMO.java

@@ -0,0 +1,17 @@
+package com.java110.store.bmo.contractCollectionPlan;
+
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import org.springframework.http.ResponseEntity;
+public interface ISaveContractCollectionPlanBMO {
+
+
+    /**
+     * 添加合同收款计划
+     * add by wuxw
+     * @param contractCollectionPlanPo
+     * @return
+     */
+    ResponseEntity<String> save(ContractCollectionPlanPo contractCollectionPlanPo);
+
+
+}

+ 17 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/IUpdateContractCollectionPlanBMO.java

@@ -0,0 +1,17 @@
+package com.java110.store.bmo.contractCollectionPlan;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IUpdateContractCollectionPlanBMO {
+
+
+    /**
+     * 修改合同收款计划
+     * add by wuxw
+     * @param contractCollectionPlanPo
+     * @return
+     */
+    ResponseEntity<String> update(ContractCollectionPlanPo contractCollectionPlanPo);
+
+
+}

+ 34 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/DeleteContractCollectionPlanBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.store.bmo.contractCollectionPlan.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.store.IContractCollectionPlanInnerServiceSMO;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import com.java110.store.bmo.contractCollectionPlan.IDeleteContractCollectionPlanBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("deleteContractCollectionPlanBMOImpl")
+public class DeleteContractCollectionPlanBMOImpl implements IDeleteContractCollectionPlanBMO {
+
+    @Autowired
+    private IContractCollectionPlanInnerServiceSMO contractCollectionPlanInnerServiceSMOImpl;
+
+    /**
+     * @param contractCollectionPlanPo 数据
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> delete(ContractCollectionPlanPo contractCollectionPlanPo) {
+
+        int flag = contractCollectionPlanInnerServiceSMOImpl.deleteContractCollectionPlan(contractCollectionPlanPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 44 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/GetContractCollectionPlanBMOImpl.java

@@ -0,0 +1,44 @@
+package com.java110.store.bmo.contractCollectionPlan.impl;
+
+import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
+import com.java110.intf.store.IContractCollectionPlanInnerServiceSMO;
+import com.java110.store.bmo.contractCollectionPlan.IGetContractCollectionPlanBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service("getContractCollectionPlanBMOImpl")
+public class GetContractCollectionPlanBMOImpl implements IGetContractCollectionPlanBMO {
+
+    @Autowired
+    private IContractCollectionPlanInnerServiceSMO contractCollectionPlanInnerServiceSMOImpl;
+
+    /**
+     * @param contractCollectionPlanDto
+     * @return 订单服务能够接受的报文
+     */
+    public ResponseEntity<String> get(ContractCollectionPlanDto contractCollectionPlanDto) {
+
+
+        int count = contractCollectionPlanInnerServiceSMOImpl.queryContractCollectionPlansCount(contractCollectionPlanDto);
+
+        List<ContractCollectionPlanDto> contractCollectionPlanDtos = null;
+        if (count > 0) {
+            contractCollectionPlanDtos = contractCollectionPlanInnerServiceSMOImpl.queryContractCollectionPlans(contractCollectionPlanDto);
+        } else {
+            contractCollectionPlanDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) contractCollectionPlanDto.getRow()), count, contractCollectionPlanDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+}

+ 38 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/SaveContractCollectionPlanBMOImpl.java

@@ -0,0 +1,38 @@
+package com.java110.store.bmo.contractCollectionPlan.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.store.IContractCollectionPlanInnerServiceSMO;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import com.java110.store.bmo.contractCollectionPlan.ISaveContractCollectionPlanBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("saveContractCollectionPlanBMOImpl")
+public class SaveContractCollectionPlanBMOImpl implements ISaveContractCollectionPlanBMO {
+
+    @Autowired
+    private IContractCollectionPlanInnerServiceSMO contractCollectionPlanInnerServiceSMOImpl;
+
+    /**
+     * 添加小区信息
+     *
+     * @param contractCollectionPlanPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> save(ContractCollectionPlanPo contractCollectionPlanPo) {
+
+        contractCollectionPlanPo.setPlanId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_planId));
+        int flag = contractCollectionPlanInnerServiceSMOImpl.saveContractCollectionPlan(contractCollectionPlanPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 34 - 0
service-store/src/main/java/com/java110/store/bmo/contractCollectionPlan/impl/UpdateContractCollectionPlanBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.store.bmo.contractCollectionPlan.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.store.IContractCollectionPlanInnerServiceSMO;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import com.java110.store.bmo.contractCollectionPlan.IUpdateContractCollectionPlanBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("updateContractCollectionPlanBMOImpl")
+public class UpdateContractCollectionPlanBMOImpl implements IUpdateContractCollectionPlanBMO {
+
+    @Autowired
+    private IContractCollectionPlanInnerServiceSMO contractCollectionPlanInnerServiceSMOImpl;
+
+    /**
+     * @param contractCollectionPlanPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> update(ContractCollectionPlanPo contractCollectionPlanPo) {
+
+        int flag = contractCollectionPlanInnerServiceSMOImpl.updateContractCollectionPlan(contractCollectionPlanPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 61 - 0
service-store/src/main/java/com/java110/store/dao/IContractCollectionPlanServiceDao.java

@@ -0,0 +1,61 @@
+package com.java110.store.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 合同收款计划组件内部之间使用,没有给外围系统提供服务能力
+ * 合同收款计划服务接口类,要求全部以字符串传输,方便微服务化
+ * 新建客户,修改客户,删除客户,查询客户等功能
+ *
+ * Created by wuxw on 2016/12/27.
+ */
+public interface IContractCollectionPlanServiceDao {
+
+
+    /**
+     * 保存 合同收款计划信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    void saveContractCollectionPlanInfo(Map info) throws DAOException;
+
+
+
+
+    /**
+     * 查询合同收款计划信息(instance过程)
+     * 根据bId 查询合同收款计划信息
+     * @param info bId 信息
+     * @return 合同收款计划信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getContractCollectionPlanInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改合同收款计划信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    void updateContractCollectionPlanInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询合同收款计划总数
+     *
+     * @param info 合同收款计划信息
+     * @return 合同收款计划数量
+     */
+    int queryContractCollectionPlansCount(Map info);
+
+}

+ 98 - 0
service-store/src/main/java/com/java110/store/dao/impl/ContractCollectionPlanServiceDaoImpl.java

@@ -0,0 +1,98 @@
+package com.java110.store.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.store.dao.IContractCollectionPlanServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 合同收款计划服务 与数据库交互
+ * Created by wuxw on 2017/4/5.
+ */
+@Service("contractCollectionPlanServiceDaoImpl")
+//@Transactional
+public class ContractCollectionPlanServiceDaoImpl extends BaseServiceDao implements IContractCollectionPlanServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(ContractCollectionPlanServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存合同收款计划信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void saveContractCollectionPlanInfo(Map info) throws DAOException {
+        logger.debug("保存合同收款计划信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("contractCollectionPlanServiceDaoImpl.saveContractCollectionPlanInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存合同收款计划信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+
+    /**
+     * 查询合同收款计划信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getContractCollectionPlanInfo(Map info) throws DAOException {
+        logger.debug("查询合同收款计划信息 入参 info : {}",info);
+
+        List<Map> businessContractCollectionPlanInfos = sqlSessionTemplate.selectList("contractCollectionPlanServiceDaoImpl.getContractCollectionPlanInfo",info);
+
+        return businessContractCollectionPlanInfos;
+    }
+
+
+    /**
+     * 修改合同收款计划信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void updateContractCollectionPlanInfo(Map info) throws DAOException {
+        logger.debug("修改合同收款计划信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("contractCollectionPlanServiceDaoImpl.updateContractCollectionPlanInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改合同收款计划信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+     /**
+     * 查询合同收款计划数量
+     * @param info 合同收款计划信息
+     * @return 合同收款计划数量
+     */
+    @Override
+    public int queryContractCollectionPlansCount(Map info) {
+        logger.debug("查询合同收款计划数据 入参 info : {}",info);
+
+        List<Map> businessContractCollectionPlanInfos = sqlSessionTemplate.selectList("contractCollectionPlanServiceDaoImpl.queryContractCollectionPlansCount", info);
+        if (businessContractCollectionPlanInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessContractCollectionPlanInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 83 - 0
service-store/src/main/java/com/java110/store/smo/impl/ContractCollectionPlanInnerServiceSMOImpl.java

@@ -0,0 +1,83 @@
+package com.java110.store.smo.impl;
+
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.PageDto;
+import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
+import com.java110.intf.store.IContractCollectionPlanInnerServiceSMO;
+import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+import com.java110.store.dao.IContractCollectionPlanServiceDao;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName FloorInnerServiceSMOImpl
+ * @Description 合同收款计划内部服务实现类
+ * @Author wuxw
+ * @Date 2019/4/24 9:20
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@RestController
+public class ContractCollectionPlanInnerServiceSMOImpl extends BaseServiceSMO implements IContractCollectionPlanInnerServiceSMO {
+
+    @Autowired
+    private IContractCollectionPlanServiceDao contractCollectionPlanServiceDaoImpl;
+
+
+    @Override
+    public int saveContractCollectionPlan(@RequestBody ContractCollectionPlanPo contractCollectionPlanPo) {
+        int saveFlag = 1;
+        contractCollectionPlanServiceDaoImpl.saveContractCollectionPlanInfo(BeanConvertUtil.beanCovertMap(contractCollectionPlanPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int updateContractCollectionPlan(@RequestBody ContractCollectionPlanPo contractCollectionPlanPo) {
+        int saveFlag = 1;
+        contractCollectionPlanServiceDaoImpl.updateContractCollectionPlanInfo(BeanConvertUtil.beanCovertMap(contractCollectionPlanPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int deleteContractCollectionPlan(@RequestBody ContractCollectionPlanPo contractCollectionPlanPo) {
+        int saveFlag = 1;
+        contractCollectionPlanPo.setStatusCd("1");
+        contractCollectionPlanServiceDaoImpl.updateContractCollectionPlanInfo(BeanConvertUtil.beanCovertMap(contractCollectionPlanPo));
+        return saveFlag;
+    }
+
+    @Override
+    public List<ContractCollectionPlanDto> queryContractCollectionPlans(@RequestBody ContractCollectionPlanDto contractCollectionPlanDto) {
+
+        //校验是否传了 分页信息
+
+        int page = contractCollectionPlanDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            contractCollectionPlanDto.setPage((page - 1) * contractCollectionPlanDto.getRow());
+        }
+
+        List<ContractCollectionPlanDto> contractCollectionPlans = BeanConvertUtil.covertBeanList(contractCollectionPlanServiceDaoImpl.getContractCollectionPlanInfo(BeanConvertUtil.beanCovertMap(contractCollectionPlanDto)), ContractCollectionPlanDto.class);
+
+        return contractCollectionPlans;
+    }
+
+
+    @Override
+    public int queryContractCollectionPlansCount(@RequestBody ContractCollectionPlanDto contractCollectionPlanDto) {
+        return contractCollectionPlanServiceDaoImpl.queryContractCollectionPlansCount(BeanConvertUtil.beanCovertMap(contractCollectionPlanDto));
+    }
+
+    public IContractCollectionPlanServiceDao getContractCollectionPlanServiceDaoImpl() {
+        return contractCollectionPlanServiceDaoImpl;
+    }
+
+    public void setContractCollectionPlanServiceDaoImpl(IContractCollectionPlanServiceDao contractCollectionPlanServiceDaoImpl) {
+        this.contractCollectionPlanServiceDaoImpl = contractCollectionPlanServiceDaoImpl;
+    }
+}