浏览代码

加入账户自动抵扣功能

java110 4 年之前
父节点
当前提交
0c5c1ee85e

+ 6 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeConfigDto.java

@@ -73,6 +73,8 @@ public class FeeConfigDto extends PageDto implements Serializable {
     private String statusCd = "0";
     private String computingFormulaText;
 
+    private String deductFrom;
+
     private double amount;
 
 
@@ -277,4 +279,8 @@ public class FeeConfigDto extends PageDto implements Serializable {
     public void setAmount(double amount) {
         this.amount = amount;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 6 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeDto.java

@@ -132,6 +132,8 @@ public class FeeDto extends PageDto implements Serializable {
 
     private String offlinePayFeeSwitch;
 
+    private String deductFrom;
+
     public String getAmount() {
         return amount;
     }
@@ -636,4 +638,8 @@ public class FeeDto extends PageDto implements Serializable {
     public void setOfflinePayFeeSwitch(String offlinePayFeeSwitch) {
         this.offlinePayFeeSwitch = offlinePayFeeSwitch;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 6 - 0
java110-bean/src/main/java/com/java110/entity/assetImport/ImportRoomFee.java

@@ -37,6 +37,8 @@ public class ImportRoomFee {
     private String ownerName;
     private String ownerLink;
 
+    private String deductFrom = "Y";
+
 
     public String getFloorNum() {
         return floorNum;
@@ -181,4 +183,8 @@ public class ImportRoomFee {
     public void setContractId(String contractId) {
         this.contractId = contractId;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 5 - 0
java110-bean/src/main/java/com/java110/po/fee/PayFeeConfigPo.java

@@ -32,6 +32,7 @@ public class PayFeeConfigPo implements Serializable {
     private String paymentCd;
 
     private String paymentCycle;
+    private String deductFrom;
     private String statusCd = "0";
 
     public String getConfigId() {
@@ -161,4 +162,8 @@ public class PayFeeConfigPo implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 5 - 0
java110-bean/src/main/java/com/java110/po/fee/PayFeePo.java

@@ -30,6 +30,7 @@ public class PayFeePo implements Serializable {
     private String statusCd = "0";
     private String createTime;
     private String batchId;
+    private String deductFrom;
 
     public String getFeeId() {
         return feeId;
@@ -166,4 +167,8 @@ public class PayFeePo implements Serializable {
     public void setbId(String bId) {
         this.bId = bId;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 6 - 0
java110-bean/src/main/java/com/java110/vo/api/fee/ApiFeeDataVo.java

@@ -68,6 +68,8 @@ public class ApiFeeDataVo implements Serializable {
     //实收金额映射开关值
     private String receivedAmountSwitch;
 
+    private String deductFrom;
+
     private List<FeeAttrDto> feeAttrs;
 
     public String getAmount() {
@@ -382,4 +384,8 @@ public class ApiFeeDataVo implements Serializable {
     public void setPayerObjName(String payerObjName) {
         this.payerObjName = payerObjName;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 6 - 0
java110-bean/src/main/java/com/java110/vo/api/feeConfig/ApiFeeConfigDataVo.java

@@ -26,6 +26,8 @@ public class ApiFeeConfigDataVo implements Serializable {
     private String paymentCycle;
     private String computingFormulaText;
 
+    private String deductFrom;
+
 
     public String getConfigId() {
         return configId;
@@ -162,4 +164,8 @@ public class ApiFeeConfigDataVo implements Serializable {
     public void setComputingFormulaText(String computingFormulaText) {
         this.computingFormulaText = computingFormulaText;
     }
+
+    public String getDeductFrom() { return deductFrom; }
+
+    public void setDeductFrom(String deductFrom) { this.deductFrom = deductFrom; }
 }

+ 20 - 8
java110-db/src/main/resources/mapper/fee/FeeConfigServiceDaoImplMapper.xml

@@ -8,11 +8,11 @@
     <insert id="saveBusinessFeeConfigInfo" parameterType="Map">
         insert into business_pay_fee_config(
         fee_type_cd,computing_formula,additional_amount,square_price,is_default,operate,config_id,fee_flag,fee_name,
-        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text
+        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text,deduct_from
         ) values (
         #{feeTypeCd},#{computingFormula},#{additionalAmount},#{squarePrice},#{isDefault},#{operate},#{configId},
         #{feeFlag},#{feeName},#{startTime},#{endTime},#{communityId},#{bId},#{billType},#{paymentCd},#{paymentCycle},
-        #{computingFormulaText}
+        #{computingFormulaText},#{deductFrom}
         )
     </insert>
 
@@ -23,7 +23,7 @@
         squarePrice,t.is_default,t.is_default isDefault,t.operate,t.config_id,t.config_id configId,t.fee_flag,t.fee_flag
         feeFlag,t.fee_name,t.fee_name feeName,t.start_time,t.start_time startTime,t.end_time,t.end_time
         endTime,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.bill_type,t.bill_type billType,
-        t.payment_cd,t.payment_cycle,t.computing_formula_text,t.computing_formula_text computingFormulaText
+        t.payment_cd,t.payment_cycle,t.computing_formula_text,t.computing_formula_text computingFormulaText,t.deduct_from,t.deduct_from deductFrom
         from business_pay_fee_config t
         where 1 =1
         <if test="feeTypeCd !=null and feeTypeCd != ''">
@@ -68,17 +68,20 @@
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
     </select>
 
     <!-- 保存费用配置信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveFeeConfigInfoInstance" parameterType="Map">
         insert into pay_fee_config(
         fee_type_cd,computing_formula,additional_amount,status_cd,square_price,is_default,config_id,fee_flag,fee_name,
-        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text
+        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text,deduct_from
         ) select
         t.fee_type_cd,t.computing_formula,t.additional_amount,'0',t.square_price,t.is_default,t.config_id,t.fee_flag,t.fee_name,
         t.start_time,t.end_time,t.community_id,
-        t.b_id,t.bill_type,t.payment_cd,t.payment_cycle,t.computing_formula_text
+        t.b_id,t.bill_type,t.payment_cd,t.payment_cycle,t.computing_formula_text,t.deduct_from
         from business_pay_fee_config t where 1=1
         <if test="feeTypeCd !=null and feeTypeCd != ''">
             and t.fee_type_cd= #{feeTypeCd}
@@ -131,7 +134,7 @@
         startTime,t.end_time,t.end_time endTime,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,
         td1.name feeTypeCdName,td2.name feeFlagName,t.bill_type billType,t.bill_type,td3.name billTypeName,
         t.payment_cd,t.payment_cycle,t.payment_cd paymentCd,t.payment_cycle paymentCycle,
-        t.computing_formula_text,t.computing_formula_text computingFormulaText
+        t.computing_formula_text,t.computing_formula_text computingFormulaText,t.deduct_from,t.deduct_from deductFrom
         from pay_fee_config t,t_dict td1,t_dict td2,t_dict td3
         where 1 =1
         and t.fee_type_cd = td1.status_cd
@@ -201,6 +204,9 @@
         <if test="billType !=null and billType != ''">
             and t.bill_type= #{billType}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -255,6 +261,9 @@
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            , t.deduct_from= #{deductFrom}
+        </if>
         where 1=1
         <if test="configId !=null and configId != ''">
             and t.config_id= #{configId}
@@ -329,16 +338,19 @@
         <if test="billType !=null and billType != ''">
             and t.bill_type= #{billType}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
     </select>
 
     <!-- 保存费用配置信息 add by wuxw 2018-07-03 -->
     <insert id="saveFeeConfig" parameterType="Map">
         insert into pay_fee_config(
         fee_type_cd,computing_formula,additional_amount,status_cd,square_price,is_default,config_id,fee_flag,fee_name,
-        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text
+        start_time,end_time,community_id,b_id,bill_type,payment_cd,payment_cycle,computing_formula_text,deduct_from
         ) values (
         #{feeTypeCd},#{computingFormula},#{additionalAmount},'0',#{squarePrice},#{isDefault},#{configId},
-        #{feeFlag},#{feeName},#{startTime},#{endTime},#{communityId},'-1',#{billType},#{paymentCd},#{paymentCycle},#{computingFormulaText}
+        #{feeFlag},#{feeName},#{startTime},#{endTime},#{communityId},'-1',#{billType},#{paymentCd},#{paymentCycle},#{computingFormulaText},#{deductFrom}
         )
     </insert>
 </mapper>

+ 4 - 0
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml

@@ -222,6 +222,10 @@
         <if test="payerObjType !=null and payerObjType != ''">
             and t.payer_obj_type = #{payerObjType}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
+
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}

+ 12 - 4
java110-db/src/main/resources/mapper/fee/PayFeeConfigV1ServiceDaoImplMapper.xml

@@ -6,9 +6,9 @@
     <!-- 保存收费项目信息 add by wuxw 2018-07-03 -->
     <insert id="savePayFeeConfigInfo" parameterType="Map">
         insert into pay_fee_config(
-        fee_type_cd,computing_formula,additional_amount,bill_type,computing_formula_text,square_price,payment_cd,is_default,config_id,fee_flag,fee_name,payment_cycle,start_time,end_time,community_id
+        fee_type_cd,computing_formula,additional_amount,bill_type,computing_formula_text,square_price,payment_cd,is_default,config_id,fee_flag,fee_name,payment_cycle,start_time,end_time,community_id,deduct_from
         ) values (
-        #{feeTypeCd},#{computingFormula},#{additionalAmount},#{billType},#{computingFormulaText},#{squarePrice},#{paymentCd},#{isDefault},#{configId},#{feeFlag},#{feeName},#{paymentCycle},#{startTime},#{endTime},#{communityId}
+        #{feeTypeCd},#{computingFormula},#{additionalAmount},#{billType},#{computingFormulaText},#{squarePrice},#{paymentCd},#{isDefault},#{configId},#{feeFlag},#{feeName},#{paymentCycle},#{startTime},#{endTime},#{communityId},#{deductFrom}
         )
     </insert>
 
@@ -21,7 +21,7 @@
         statusCd,t.square_price,t.square_price squarePrice,t.payment_cd,t.payment_cd paymentCd,t.is_default,t.is_default
         isDefault,t.config_id,t.config_id configId,t.fee_flag,t.fee_flag feeFlag,t.fee_name,t.fee_name
         feeName,t.payment_cycle,t.payment_cycle paymentCycle,t.start_time,t.start_time startTime,t.end_time,t.end_time
-        endTime,t.community_id,t.community_id communityId
+        endTime,t.community_id,t.community_id communityId,t.deduct_from,t.deduct_from deductFrom
         from pay_fee_config t
         where 1 =1
         <if test="feeTypeCd !=null and feeTypeCd != ''">
@@ -79,6 +79,9 @@
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -135,6 +138,9 @@
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
+        <if test="deductFrom !=null and deductFrom != ''">
+            , t.deduct_from= #{deductFrom}
+        </if>
         where 1=1
         <if test="configId !=null and configId != ''">
             and t.config_id= #{configId}
@@ -202,7 +208,9 @@
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
-
+        <if test="deductFrom !=null and deductFrom != ''">
+            and t.deduct_from = #{deductFrom}
+        </if>
 
     </select>
 

+ 1 - 0
service-job/src/main/java/com/java110/job/task/fee/AccountDeductionPayFeeTemplate.java

@@ -111,6 +111,7 @@ public class AccountDeductionPayFeeTemplate extends TaskSystemQuartz {
         feeDto.setCommunityId(tmpAccountDto.getPartId());
         feeDto.setOwnerId(tmpAccountDto.getObjId());
         feeDto.setState(FeeDto.STATE_DOING);
+        feeDto.setDeductFrom("Y");
         List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
         if (feeDtos == null || feeDtos.size() < 1) {
             return;