Просмотр исходного кода

Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

Your Name лет назад: 2
Родитель
Сommit
4ed693f48d

+ 17 - 8
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml

@@ -1190,10 +1190,11 @@
     <select id="getMonthReceivedDetailCount" parameterType="Map" resultType="Map">
         select count(1) count
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
         left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}
@@ -1219,14 +1220,15 @@
 
     <!-- 月实收 查询-->
     <select id="getMonthReceivedDetailInfo" parameterType="Map" resultType="Map">
-        select t.obj_name objName,t.owner_name ownerName,t.link,t.fee_name feeName, pfd.start_time startTime,pfd.end_time endTime,
+        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pfd.start_time startTime,pfd.end_time endTime,
         pfd.pay_order_id payOrderId,pfd.cashier_name cashierName,
         t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfd.create_time createTime
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
         left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}
@@ -1257,10 +1259,11 @@
     <select id="getMonthReceivedDetailAmount" parameterType="Map" resultType="Map">
         select ifnull(sum(t.received_amount),0.0) amount
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
         left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}
@@ -1288,9 +1291,11 @@
     <select id="getMonthOweDetailCount" parameterType="Map" resultType="Map">
         select count(1) count
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+        left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}
@@ -1317,12 +1322,14 @@
 
     <!-- 月实收 查询-->
     <select id="getMonthOweDetailInfo" parameterType="Map" resultType="Map">
-        select t.obj_name objName,t.owner_name ownerName,t.link,t.fee_name feeName, pf.end_time startTime,t.deadline_time endTime,
+        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pf.end_time startTime,t.deadline_time endTime,
         t.receivable_amount receivableAmount,t.received_amount receivedAmount
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+        left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}
@@ -1354,9 +1361,11 @@
     <select id="getMonthOweDetailAmount" parameterType="Map" resultType="Map">
         select ifnull(sum(t.receivable_amount),0.0) amount
         from pay_fee_detail_month t
-        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+        left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
         left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
         left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where 1=1
         and t.status_cd = '0'
         and t.cur_month_time &gt;= #{startDate}

+ 13 - 5
service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportCustomCreateFeeSMOImpl.java

@@ -268,7 +268,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
             }
             successCount++;
             payFeePo = new PayFeePo();
-            payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+            payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId,true));
             payFeePo.setEndTime(importRoomFee.getStartTime());
             payFeePo.setState(FeeDto.STATE_DOING);
             payFeePo.setCommunityId(importRoomFee.getCommunityId());
@@ -294,17 +294,25 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
             FeeAttrPo feeAttrPo = new FeeAttrPo();
             feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
             feeAttrPo.setValue(feeConfigDtos.get(0).getFeeName());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
 
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+            feeAttrPo.setValue(importRoomFee.getObjName());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPos.add(feeAttrPo);
+
 
             if (!StringUtil.isEmpty(importRoomFee.getOwnerId())) {
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
                 feeAttrPo.setValue(importRoomFee.getOwnerId());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());
@@ -312,7 +320,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
                 feeAttrPo.setValue(importRoomFee.getOwnerName());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());
@@ -320,7 +328,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
                 feeAttrPo.setValue(importRoomFee.getOwnerLink());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());

+ 38 - 1
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java

@@ -32,6 +32,7 @@ import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -280,8 +281,44 @@ public class PayFeePreCmd extends Cmd {
             reqJson.put("deductionAmount", 0.0);
             return 0.0;
         }
-
         BigDecimal money = new BigDecimal(0);
+        BigDecimal totalAccountAmount = new BigDecimal(0);
+        for (AccountDto tmpAccountDto : accountDtos) {
+             if (AccountDto.ACCT_TYPE_CASH.equals(tmpAccountDto.getAcctType())) { //现金账户
+                //账户金额
+                BigDecimal amount = new BigDecimal(tmpAccountDto.getAmount());
+                //获取应收金额
+                BigDecimal dedAmount = new BigDecimal("0.00");
+                if (reqJson.containsKey("receivedMoney") && !StringUtil.isEmpty(reqJson.getString("receivedMoney"))) {
+                    dedAmount = new BigDecimal(reqJson.getString("receivedMoney"));
+                } else {
+                    dedAmount = new BigDecimal(reqJson.getString("deductionAmount"));
+                }
+                int flag = amount.compareTo(dedAmount);
+                BigDecimal redepositAmount = new BigDecimal("0.00");
+                BigDecimal integralAmount = new BigDecimal("0.00");
+                if (flag == 1) { //现金账户大于应收金额,就用应收金额抵扣
+                    redepositAmount = dedAmount;
+                    integralAmount = amount.subtract(dedAmount);
+                }
+                if (flag > -1) { //现金账户大于等于应收金额,就用应收金额抵扣
+                    redepositAmount = dedAmount;
+                    integralAmount = amount.subtract(dedAmount);
+                }
+                if (flag == -1) { //现金账户小于实收金额,就用现金账户抵扣
+                    redepositAmount = amount;
+                }
+                if (flag < 1) { //现金账户小于等于应收金额,就用现金账户抵扣
+                    redepositAmount = amount;
+                }
+                if (flag == 0) { //现金账户等于应收金额
+                    redepositAmount = amount;
+                }
+                money = money.add(redepositAmount);
+            }
+//            totalAccountAmount = totalAccountAmount.add(new BigDecimal(tmpAccountDto.getAmount()));
+        }
+
 
         reqJson.put("deductionAmount", money.doubleValue());
         reqJson.put("selectUserAccount", BeanConvertUtil.beanCovertJSONArray(accountDtos));

+ 12 - 5
springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportCustomCreateFeeSMOImpl.java

@@ -274,7 +274,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
             }
             successCount++;
             payFeePo = new PayFeePo();
-            payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+            payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId,true));
             payFeePo.setEndTime(importRoomFee.getStartTime());
             payFeePo.setState(FeeDto.STATE_DOING);
             payFeePo.setCommunityId(importRoomFee.getCommunityId());
@@ -300,17 +300,24 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
             FeeAttrPo feeAttrPo = new FeeAttrPo();
             feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
             feeAttrPo.setValue(feeConfigDtos.get(0).getFeeName());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
 
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+            feeAttrPo.setValue(importRoomFee.getObjName());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPos.add(feeAttrPo);
 
             if (!StringUtil.isEmpty(importRoomFee.getOwnerId())) {
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
                 feeAttrPo.setValue(importRoomFee.getOwnerId());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());
@@ -318,7 +325,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
                 feeAttrPo.setValue(importRoomFee.getOwnerName());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());
@@ -326,7 +333,7 @@ public class ImportCustomCreateFeeSMOImpl extends DefaultAbstractComponentSMO im
 
                 feeAttrPo = new FeeAttrPo();
                 feeAttrPo.setCommunityId(importRoomFee.getCommunityId());
-                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+                feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
                 feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
                 feeAttrPo.setValue(importRoomFee.getOwnerLink());
                 feeAttrPo.setFeeId(payFeePo.getFeeId());