From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java |  206 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 193 insertions(+), 13 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
old mode 100644
new mode 100755
index 77c4075..9ced7dd
--- 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,23 +1,31 @@
 package com.java110.fee.smo.impl;
 
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.fee.BillDto;
 import com.java110.dto.fee.BillOweFeeDto;
 import com.java110.dto.fee.FeeAttrDto;
+import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
-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;
 
@@ -36,13 +44,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) {
@@ -55,13 +69,65 @@
             return fees;
         }
 
-        String[] userIds = getUserIds(fees);
-        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
-        List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+//        String[] userIds = getUserIds(fees);
+//        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
+//        List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
         for (FeeDto fee : fees) {
-            refreshFee(fee, users);
+            refreshFee(fee);
         }
+
+        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;
+        String payerObjName = "";
+        for (FeeDto tmpFeeDto : fees) {
+            tmpFeeAttrDtos = new ArrayList<>();
+            for (FeeAttrDto feeAttrDto : feeAttrDtos) {
+                if (!tmpFeeDto.getFeeId().equals(feeAttrDto.getFeeId())) {
+                    continue;
+                }
+                tmpFeeAttrDtos.add(feeAttrDto);
+                if(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME.equals(feeAttrDto.getSpecCd())){
+                    payerObjName = feeAttrDto.getValue();
+                }
+            }
+            tmpFeeDto.setPayerObjName(payerObjName);
+            tmpFeeDto.setFeeAttrDtos(tmpFeeAttrDtos);
+        }
+        return fees;
+    }
+
+    @Override
+    public List<FeeDto> querySimpleFees(@RequestBody FeeDto feeDto) {
+
+        //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.getFeeInfo(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+
+        for (FeeDto tmpFeeDto : fees) {
+            if (!StringUtil.isEmpty(tmpFeeDto.getImportFeeName())) {
+                //fee.setFeeName(fee.getImportFeeName() + "(" + fee.getFeeName() + ")");
+                tmpFeeDto.setFeeName(tmpFeeDto.getImportFeeName());
+            }
+        }
+
         return fees;
     }
 
@@ -77,15 +143,21 @@
     /**
      * 浠庣敤鎴峰垪琛ㄤ腑鏌ヨ鐢ㄦ埛锛屽皢鐢ㄦ埛涓殑淇℃伅 鍒锋柊鍒� floor瀵硅薄涓�
      *
-     * @param fee   灏忓尯璐圭敤淇℃伅
-     * @param users 鐢ㄦ埛鍒楄〃
+     * @param fee 灏忓尯璐圭敤淇℃伅
+     *            //@param users 鐢ㄦ埛鍒楄〃
      */
-    private void refreshFee(FeeDto fee, List<UserDto> users) {
-        for (UserDto user : users) {
-            if (fee.getUserId().equals(user.getUserId())) {
-                BeanConvertUtil.covertBean(user, fee);
-            }
+    private void refreshFee(FeeDto fee) {
+//        for (UserDto user : users) {
+//            if (fee.getUserId().equals(user.getUserId())) {
+//                BeanConvertUtil.covertBean(user, fee);
+//            }
+//        }
+
+        if (!StringUtil.isEmpty(fee.getImportFeeName())) {
+            //fee.setFeeName(fee.getImportFeeName() + "(" + fee.getFeeName() + ")");
+            fee.setFeeName(fee.getImportFeeName());
         }
+
     }
 
     /**
@@ -98,6 +170,7 @@
         List<String> userIds = new ArrayList<String>();
         for (FeeDto fee : fees) {
             userIds.add(fee.getUserId());
+
         }
 
         return userIds.toArray(new String[userIds.size()]);
@@ -157,6 +230,43 @@
 
     }
 
+    @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));
+    }
+
 
     @Override
     public int queryBillOweFeeCount(@RequestBody BillOweFeeDto billDto) {
@@ -214,11 +324,81 @@
     }
 
     @Override
+    @Java110Transactional
     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
+    @Java110Transactional
+    public int saveOneFee(@RequestBody PayFeePo payFeePo) {
+        List<Map> fees = new ArrayList<>();
+        fees.add(BeanConvertUtil.beanCovertMap(payFeePo));
+        Map info = new HashMap();
+        info.put("payFeePos", fees);
+        return feeServiceDaoImpl.insertFees(info);
+    }
+
+    @Override
+    public int deleteFeesByBatch(@RequestBody PayFeePo payFeePo) {
+        return feeServiceDaoImpl.deleteFeesByBatch(BeanConvertUtil.beanCovertMap(payFeePo));
+    }
+
+    @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) {
+        JSONObject config = new JSONObject();
+        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);
+    }
+
 
     public IFeeServiceDao getFeeServiceDaoImpl() {
         return feeServiceDaoImpl;

--
Gitblit v1.8.0