From a5e6a69003f869d667a462d3d0273437080de834 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 27 五月 2021 15:03:39 +0800
Subject: [PATCH] 优化代码

---
 service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java |  182 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 172 insertions(+), 10 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
old mode 100644
new mode 100755
index 6706d60..e4866c6
--- a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
@@ -1,8 +1,10 @@
 package com.java110.report.bmo.reportFeeMonthStatistics.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.RoomDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.repair.RepairUserDto;
 import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
 import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto;
 import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO;
@@ -279,7 +281,7 @@
                     totalPreferentialAmount = totalPreferentialAmount + discountPrice;
                     //浼樻儬閲戦
                     reportFeeMonthStatistics.setPreferentialAmount(reportFeeMonthStatistics.getDiscountPrice());
-                }else{
+                } else {
                     reportFeeMonthStatistics.setPreferentialAmount("0");
 
                 }
@@ -290,17 +292,17 @@
                     totalDeductionAmount = totalDeductionAmount + discountPrice;
                     //鍑忓厤閲戦
                     reportFeeMonthStatistics.setDeductionAmount(reportFeeMonthStatistics.getDiscountPrice());
-                }else{
+                } else {
                     reportFeeMonthStatistics.setDeductionAmount("0");
                 }
                 //婊炵撼閲�
                 if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) {
                     //鑾峰彇婊炵撼閲戦噾棰�
-                    Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
+                    Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())) * (-1);
                     totalLateFee = totalLateFee + discountPrice;
                     //婊炵撼閲�
                     reportFeeMonthStatistics.setLateFee(reportFeeMonthStatistics.getDiscountPrice());
-                }else{
+                } else {
                     reportFeeMonthStatistics.setLateFee("0");
                 }
                 //绌虹疆鎴挎墦鎶�
@@ -310,7 +312,7 @@
                     totalVacantHousingDiscount = totalVacantHousingDiscount + discountPrice;
                     //绌虹疆鎴挎墦鎶�
                     reportFeeMonthStatistics.setVacantHousingDiscount(reportFeeMonthStatistics.getDiscountPrice());
-                }else{
+                } else {
                     reportFeeMonthStatistics.setVacantHousingDiscount("0");
                 }
                 //绌虹疆鎴垮噺鍏�
@@ -320,7 +322,7 @@
                     totalVacantHousingReduction = totalVacantHousingReduction + discountPrice;
                     //绌虹疆鎴垮噺鍏�
                     reportFeeMonthStatistics.setVacantHousingReduction(reportFeeMonthStatistics.getDiscountPrice());
-                }else{
+                } else {
                     reportFeeMonthStatistics.setVacantHousingReduction("0");
                 }
 
@@ -328,8 +330,11 @@
                     reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getFloorNum()
                             + "鏍�" + reportFeeMonthStatistics.getUnitNum()
                             + "鍗曞厓" + reportFeeMonthStatistics.getRoomNum() + "瀹�");
-                } else {
+                } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(reportFeeMonthStatistics.getPayerObjType())) {
                     reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getCarNum());
+                }else{
+                    reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getContractCode());
+
                 }
 
                 if (!StringUtil.isEmpty(reportFeeMonthStatistics.getImportFeeName())) {
@@ -373,9 +378,6 @@
             reportList.addAll(reportFeeMonthStatisticsDtos);
             reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto();
         }
-
-        /*FeeDetailResultVo resultVo = new FeeDetailResultVo(countInfo.getDouble("totalReceivableAmount"), countInfo.getDouble("totalReceivedAmount"),
-                (int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList);*/
 
         ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList, reportFeeMonthStatisticsTotalDto);
 
@@ -461,6 +463,166 @@
         return responseEntity;
     }
 
+    /**
+     * 鏌ヨ鎶ヨ〃涓撳 缁熻淇℃伅
+     * @param reportFeeMonthStatisticsDto
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> queryReportProficientCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+        JSONObject result = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(result.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+    /**
+     * 鏌ヨ鎶ヤ慨淇℃伅
+     *
+     * @param repairUserDto
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> queryRepair(RepairUserDto repairUserDto) {
+        //鏌ヨ鍛樺伐鎶ヤ慨琛ㄥ憳宸ヤ俊鎭�
+        List<RepairUserDto> repairUsers = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+        int count = repairUsers.size();
+        //鑾峰彇鍛樺伐id鍜屽鍚嶉泦鍚�
+        List<RepairUserDto> staffs;
+        if (StringUtil.isEmpty(repairUserDto.getStaffId())) {
+            repairUserDto.setPage(-1);
+            staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+        } else {
+            repairUserDto.setPage(-1);
+            repairUserDto.setStaffId(null);
+            staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+        }
+        List<RepairUserDto> repairUserList = new ArrayList<>();
+        //澶勭悊涓�绘暟閲�
+        int dealNumber = 0;
+        //缁撳崟鎬绘暟閲�
+        int statementNumber = 0;
+        //閫�鍗曟�绘暟閲�
+        int chargebackNumber = 0;
+        //杞崟鎬绘暟閲�
+        int transferOrderNumber = 0;
+        //娲惧崟鎬绘暟閲�
+        int dispatchNumber = 0;
+        if (count > 0) {
+            for (RepairUserDto repairUser : repairUsers) {
+                RepairUserDto repairUserInfo = new RepairUserDto();
+                //鍛樺伐id
+                repairUserDto.setStaffId(repairUser.getStaffId());
+                List<RepairUserDto> repairUserDtoList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairWithOutPage(repairUserDto);
+                if (repairUserDtoList != null && repairUserDtoList.size() > 0) {
+                    //澶勭悊涓暟閲�
+                    int dealAmount = 0;
+                    //缁撳崟鏁伴噺
+                    int statementAmount = 0;
+                    //閫�鍗曟暟閲�
+                    int chargebackAmount = 0;
+                    //杞崟鏁伴噺
+                    int transferOrderAmount = 0;
+                    //娲惧崟鏁伴噺
+                    int dispatchAmount = 0;
+                    for (RepairUserDto repair : repairUserDtoList) {
+                        //澶勭悊涓姸鎬�
+                        if (repair.getState().equals("10001")) {
+                            //鑾峰彇鏁伴噺
+                            int amount = Integer.parseInt(repair.getAmount());
+                            dealAmount = dealAmount + amount;
+                        } else if (repair.getState().equals("10002")) {  //缁撳崟鐘舵��
+                            //鑾峰彇鏁伴噺
+                            int amount = Integer.parseInt(repair.getAmount());
+                            statementAmount = statementAmount + amount;
+                        } else if (repair.getState().equals("10003")) {  //閫�鍗曠姸鎬�
+                            //鑾峰彇鏁伴噺
+                            int amount = Integer.parseInt(repair.getAmount());
+                            chargebackAmount = chargebackAmount + amount;
+                        } else if (repair.getState().equals("10004")) {  //杞崟鐘舵��
+                            //鑾峰彇鏁伴噺
+                            int amount = Integer.parseInt(repair.getAmount());
+                            transferOrderAmount = transferOrderAmount + amount;
+                        } else if (repair.getState().equals("10006")) {  //娲惧崟鐘舵��
+                            int amount = Integer.parseInt(repair.getAmount());
+                            dispatchAmount = dispatchAmount + amount;
+                        }
+                    }
+                    //鍛樺伐id
+                    repairUserInfo.setStaffId(repairUser.getStaffId());
+                    //鍛樺伐濮撳悕
+                    repairUserInfo.setStaffName(repairUser.getStaffName());
+                    //澶勭悊涓姤淇暟閲�
+                    repairUserInfo.setDealAmount(Integer.toString(dealAmount));
+                    //澶勭悊涓姤淇�绘暟閲�
+                    repairUserInfo.setDealNumber(Integer.toString(dealNumber));
+                    //缁撳崟鎶ヤ慨鏁伴噺
+                    repairUserInfo.setStatementAmount(Integer.toString(statementAmount));
+                    //缁撳崟鎶ヤ慨鎬绘暟閲�
+                    repairUserInfo.setStatementNumber(Integer.toString(statementNumber));
+                    //閫�鍗曟姤淇暟閲�
+                    repairUserInfo.setChargebackAmount(Integer.toString(chargebackAmount));
+                    //閫�鍗曟姤淇�绘暟閲�
+                    repairUserInfo.setChargebackNumber(Integer.toString(chargebackNumber));
+                    //杞崟鎶ヤ慨鏁伴噺
+                    repairUserInfo.setTransferOrderAmount(Integer.toString(transferOrderAmount));
+                    //杞崟鎶ヤ慨鎬绘暟閲�
+                    repairUserInfo.setTransferOrderNumber(Integer.toString(transferOrderNumber));
+                    //娲惧崟鎶ヤ慨鏁伴噺
+                    repairUserInfo.setDispatchAmount(Integer.toString(dispatchAmount));
+                    //娲惧崟鎶ヤ慨鎬绘暟閲�
+                    repairUserInfo.setDispatchNumber(Integer.toString(dispatchNumber));
+                    //鍛樺伐id鍜屽鍚嶄俊鎭泦鍚�
+                    repairUserInfo.setRepairList(staffs);
+                    repairUserList.add(repairUserInfo);
+                } else {
+                    continue;
+                }
+                dealNumber = Integer.parseInt(repairUserInfo.getDealAmount()) + dealNumber;
+                statementNumber = Integer.parseInt(repairUserInfo.getStatementAmount()) + statementNumber;
+                chargebackNumber = Integer.parseInt(repairUserInfo.getChargebackAmount()) + chargebackNumber;
+                transferOrderNumber = Integer.parseInt(repairUserInfo.getTransferOrderAmount()) + transferOrderNumber;
+                dispatchNumber = Integer.parseInt(repairUserInfo.getDispatchAmount()) + dispatchNumber;
+            }
+        } else {
+            repairUserList = new ArrayList<>();
+        }
+
+        RepairUserDto repairUser = new RepairUserDto();
+        repairUser.setDealNumber(Integer.toString(dealNumber));
+        repairUser.setStatementNumber(Integer.toString(statementNumber));
+        repairUser.setChargebackNumber(Integer.toString(chargebackNumber));
+        repairUser.setTransferOrderNumber(Integer.toString(transferOrderNumber));
+        repairUser.setDispatchNumber(Integer.toString(dispatchNumber));
+
+        //鑾峰彇鎬绘潯鏁�
+        int size = staffs.size();
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) repairUserDto.getRow()), repairUserList.size(), repairUserList, staffs, repairUser);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+    @Override
+    public ResponseEntity<String> queryNoFeeRooms(RoomDto roomDto) {
+        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRoomsCount(roomDto);
+
+        List<RoomDto> roomDtos = null;
+        if (count > 0) {
+            roomDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRooms(roomDto);
+        } else {
+            roomDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) roomDto.getRow()), count, roomDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
     @Override
     public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
 

--
Gitblit v1.8.0