From 6a3fc652bdd9b0430f87bc102f0ea296911913b7 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 30 九月 2020 00:26:06 +0800
Subject: [PATCH] 加入缴费审核页面

---
 service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java |  222 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 214 insertions(+), 8 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
index a691894..4937522 100644
--- a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
@@ -1,22 +1,29 @@
 package com.java110.fee.smo.impl;
 
 
-import com.java110.dto.fee.BillDto;
-import com.java110.dto.fee.BillOweFeeDto;
-import com.java110.fee.dao.IFeeServiceDao;
-import com.java110.utils.util.BeanConvertUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.core.smo.fee.IFeeInnerServiceSMO;
-import com.java110.core.smo.user.IUserInnerServiceSMO;
-import com.java110.dto.fee.FeeDto;
 import com.java110.dto.PageDto;
+import com.java110.dto.fee.*;
 import com.java110.dto.user.UserDto;
+import com.java110.fee.dao.IFeeAttrServiceDao;
+import com.java110.fee.dao.IFeeServiceDao;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.fee.PayFeePo;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -33,13 +40,19 @@
     private IFeeServiceDao feeServiceDaoImpl;
 
     @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+    @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeAttrServiceDao feeAttrServiceDaoImpl;
+
 
     @Override
     public List<FeeDto> queryFees(@RequestBody FeeDto feeDto) {
 
         //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
-
         int page = feeDto.getPage();
 
         if (page != PageDto.DEFAULT_PAGE) {
@@ -59,7 +72,40 @@
         for (FeeDto fee : fees) {
             refreshFee(fee, users);
         }
+
+        List<String> feeIds = new ArrayList<>();
+        for (FeeDto tmpFeeDto : fees) {
+            feeIds.add(tmpFeeDto.getFeeId());
+        }
+
+        Map info = new HashMap();
+        info.put("feeIds", feeIds);
+        info.put("communityId", feeDto.getCommunityId());
+
+        List<Map> attrMaps = feeAttrServiceDaoImpl.getFeeAttrInfo(info);
+
+        List<FeeAttrDto> feeAttrDtos = BeanConvertUtil.covertBeanList(attrMaps, FeeAttrDto.class);
+        List<FeeAttrDto> tmpFeeAttrDtos = null;
+        for (FeeDto tmpFeeDto : fees) {
+            tmpFeeAttrDtos = new ArrayList<>();
+            for (FeeAttrDto feeAttrDto : feeAttrDtos) {
+
+                if (tmpFeeDto.getFeeId().equals(feeAttrDto.getFeeId())) {
+                    tmpFeeAttrDtos.add(feeAttrDto);
+                }
+            }
+            tmpFeeDto.setFeeAttrDtos(tmpFeeAttrDtos);
+        }
         return fees;
+    }
+
+    @Override
+    public List<FeeDto> queryBusinessFees(@RequestBody FeeDto feeDto) {
+
+        List<Map> fees = feeServiceDaoImpl.getBusinessFeeInfo(BeanConvertUtil.beanCovertMap(feeDto));
+
+        return BeanConvertUtil.covertBeanList(fees, FeeDto.class);
+
     }
 
     /**
@@ -74,6 +120,12 @@
                 BeanConvertUtil.covertBean(user, fee);
             }
         }
+
+        if (!StringUtil.isEmpty(fee.getImportFeeName())) {
+            //fee.setFeeName(fee.getImportFeeName() + "(" + fee.getFeeName() + ")");
+            fee.setFeeName(fee.getImportFeeName());
+        }
+
     }
 
     /**
@@ -86,6 +138,7 @@
         List<String> userIds = new ArrayList<String>();
         for (FeeDto fee : fees) {
             userIds.add(fee.getUserId());
+
         }
 
         return userIds.toArray(new String[userIds.size()]);
@@ -94,6 +147,26 @@
     @Override
     public int queryFeesCount(@RequestBody FeeDto feeDto) {
         return feeServiceDaoImpl.queryFeesCount(BeanConvertUtil.beanCovertMap(feeDto));
+    }
+
+    @Override
+    public List<FeeDto> queryFeeByAttr(FeeAttrDto feeAttrDto) {
+        //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+
+        int page = feeAttrDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeAttrDto.setPage((page - 1) * feeAttrDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.queryFeeByAttr(BeanConvertUtil.beanCovertMap(feeAttrDto)), FeeDto.class);
+
+        return fees;
+    }
+
+    @Override
+    public int queryFeeByAttrCount(FeeAttrDto feeAttrDto) {
+        return feeServiceDaoImpl.queryFeeByAttrCount(BeanConvertUtil.beanCovertMap(feeAttrDto));
     }
 
 
@@ -123,6 +196,43 @@
 
         return billDtos;
 
+    }
+
+    @Override
+    public int computeBillOweFeeCount(@RequestBody FeeDto feeDto) {
+        return feeServiceDaoImpl.computeBillOweFeeCount(BeanConvertUtil.beanCovertMap(feeDto));
+    }
+
+
+    @Override
+    public List<FeeDto> computeBillOweFee(@RequestBody FeeDto feeDto) {
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.computeBillOweFee(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+        return fees;
+    }
+
+    @Override
+    public List<FeeDto> computeEveryOweFee(FeeDto feeDto) {
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.computeEveryOweFee(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+        return fees;
+    }
+
+    @Override
+    public int computeEveryOweFeeCount(FeeDto feeDto) {
+        return feeServiceDaoImpl.computeEveryOweFeeCount(BeanConvertUtil.beanCovertMap(feeDto));
     }
 
 
@@ -165,6 +275,11 @@
         return feeServiceDaoImpl.insertBillOweFees(BeanConvertUtil.beanCovertMap(billDto));
     }
 
+    @Override
+    public int updateBillOweFees(@RequestBody BillOweFeeDto billDto) {
+        return feeServiceDaoImpl.updateBillOweFees(BeanConvertUtil.beanCovertMap(billDto));
+    }
+
     /**
      * 淇濆瓨璐﹀崟
      *
@@ -176,6 +291,97 @@
         return feeServiceDaoImpl.insertBill(BeanConvertUtil.beanCovertMap(billDto));
     }
 
+    @Override
+    public int updateFee(@RequestBody PayFeePo payFeePo) {
+        feeServiceDaoImpl.updateFeeInfoInstance(BeanConvertUtil.beanCovertMap(payFeePo));
+        return 1;
+    }
+
+    @Override
+    public int saveFee(@RequestBody List<PayFeePo> payFeePos) {
+        List<Map> fees = new ArrayList<>();
+        for (PayFeePo payFeePo : payFeePos) {
+            fees.add(BeanConvertUtil.beanCovertMap(payFeePo));
+        }
+
+        Map info = new HashMap();
+        info.put("payFeePos", fees);
+        return feeServiceDaoImpl.insertFees(info);
+    }
+
+    @Override
+    public JSONArray getAssetsFee(@RequestBody String communityId) {
+
+        JSONArray data = new JSONArray();
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setCommunityId(communityId);
+        feeConfigDto.setCurTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+
+        if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
+            return data;
+        }
+
+
+        for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
+            dealFeeConfig(data, tmpFeeConfigDto);
+        }
+
+
+        return data;
+    }
+
+    private void dealFeeConfig(JSONArray data, FeeConfigDto tmpFeeConfigDto) {
+        String billType = tmpFeeConfigDto.getBillType();
+        JSONObject config = new JSONObject();
+        if (FeeConfigDto.BILL_TYPE_EVERY.equals(billType)) {
+            Map info = new HashMap();
+            info.put("configId", tmpFeeConfigDto.getConfigId());
+            info.put("communityId", tmpFeeConfigDto.getCommunityId());
+            info.put("arrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            info.put("state", FeeDto.STATE_DOING);
+            int oweFeeCount = feeServiceDaoImpl.queryFeesCount(info);
+            config.put("oweFeeCount", oweFeeCount);
+
+            info.put("noArrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+            info.put("state", FeeDto.STATE_DOING);
+            int feeCount = feeServiceDaoImpl.queryFeesCount(info);
+            config.put("feeCount", feeCount);
+
+            config.put("feeName", tmpFeeConfigDto.getFeeName());
+            data.add(config);
+            return;
+        }
+        BillDto billDto = new BillDto();
+        billDto.setConfigId(tmpFeeConfigDto.getConfigId());
+        billDto.setCommunityId(tmpFeeConfigDto.getCommunityId());
+        billDto.setCurBill("T");
+        List<Map> bills = feeServiceDaoImpl.queryBills(BeanConvertUtil.beanCovertMap(billDto));
+        if (bills == null || bills.size() < 1) {
+            config.put("oweFeeCount", 0);
+            config.put("feeCount", 0);
+            config.put("feeName", tmpFeeConfigDto.getFeeName());
+            return;
+        }
+
+        Map tmpBillDto = bills.get(0);
+        Map info = new HashMap();
+        info.put("billId", tmpBillDto.get("billId"));
+        info.put("communityId", tmpFeeConfigDto.getCommunityId());
+        int oweFeeCount = feeServiceDaoImpl.queryBillOweFeeCount(info);
+
+        config.put("oweFeeCount", oweFeeCount);
+        info.put("configId", tmpFeeConfigDto.getConfigId());
+        info.put("communityId", tmpFeeConfigDto.getCommunityId());
+        info.put("state", FeeDto.STATE_DOING);
+        int feeTotalCount = feeServiceDaoImpl.queryFeesCount(info);
+        config.put("feeCount", feeTotalCount - oweFeeCount);
+
+        config.put("feeName", tmpFeeConfigDto.getFeeName());
+        data.add(config);
+    }
+
+
     public IFeeServiceDao getFeeServiceDaoImpl() {
         return feeServiceDaoImpl;
     }

--
Gitblit v1.8.0