Browse Source

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

java110 2 years ago
parent
commit
89f9222d9b

+ 2 - 1
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml

@@ -1124,7 +1124,8 @@
         LEFT JOIN building_room br on pf.payer_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'
         where
-        bu.floor_id = #{floorId}
+        1=1
+        and bu.floor_id = #{floorId}
         and t.community_id = #{communityId}
         and t.create_time > #{startDate}
         and t.create_time < #{endDate}

+ 37 - 3
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java

@@ -36,7 +36,6 @@ public class DateUtil {
     public static final String DATE_FORMATE_STRING_Q = "yyyy-MM";
 
 
-
     static {
         formats.put("yyyyMMddHHmmss", new SimpleDateFormat("yyyyMMddHHmmss"));
         formats.put("yyyy-MM-dd HH:mm:ss", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
@@ -406,6 +405,19 @@ public class DateUtil {
         return calendar.getTime();
     }
 
+    public static Date getNextMonthFirstDate(String curDate) {
+        Date date = DateUtil.getDateFromStringB(curDate);
+        Calendar curDateCal = Calendar.getInstance();
+        curDateCal.setTime(date);
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.add(Calendar.MONTH, 1);
+        return calendar.getTime();
+    }
+
     public static Date getFirstDate() {
         Calendar curDateCal = Calendar.getInstance();
         curDateCal.set(Calendar.DAY_OF_MONTH, 1);
@@ -416,6 +428,27 @@ public class DateUtil {
         return curDate;
     }
 
+    public static Date getFirstDate(Date curDate) {
+        Calendar curDateCal = Calendar.getInstance();
+        curDateCal.setTime(curDate);
+        curDateCal.set(Calendar.DAY_OF_MONTH, 1);
+        curDateCal.set(Calendar.HOUR_OF_DAY, 0);
+        curDateCal.set(Calendar.MINUTE, 0);
+        curDateCal.set(Calendar.SECOND, 0);
+        return curDateCal.getTime();
+    }
+
+    public static Date getFirstDate(String curDate) {
+        Date date = DateUtil.getDateFromStringB(curDate);
+        Calendar curDateCal = Calendar.getInstance();
+        curDateCal.setTime(date);
+        curDateCal.set(Calendar.DAY_OF_MONTH, 1);
+        curDateCal.set(Calendar.HOUR_OF_DAY, 0);
+        curDateCal.set(Calendar.MINUTE, 0);
+        curDateCal.set(Calendar.SECOND, 0);
+        return curDateCal.getTime();
+    }
+
 
     public static String getNextMonthFirstDay(String fmt) {
         String returndate = "";
@@ -758,11 +791,12 @@ public class DateUtil {
 
     /**
      * 除去 小时 分 秒
+     *
      * @param time
      * @return
      */
-    public static Date timeToDate(Date time){
-        Calendar calendar =Calendar.getInstance();
+    public static Date timeToDate(Date time) {
+        Calendar calendar = Calendar.getInstance();
         calendar.setTime(time);
         setTimeToMidnight(calendar);
         return calendar.getTime();

+ 46 - 9
service-report/src/main/java/com/java110/report/cmd/dataReport/QueryDataReportFeeStatisticsCmd.java

@@ -19,6 +19,7 @@ import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.text.ParseException;
+import java.util.Calendar;
 import java.util.List;
 
 /**
@@ -86,6 +87,14 @@ public class QueryDataReportFeeStatisticsCmd extends Cmd {
         queryStatisticsDto.setEndDate(reqJson.getString("endDate"));
         queryStatisticsDto.setFeeTypeCd(reqJson.getString("feeTypeCd"));
 
+        String monthFastDate = DateUtil.getFormatTimeStringB(DateUtil.getFirstDate(reqJson.getString("startDate")));
+        String monthLastDate = DateUtil.getFormatTimeStringB(DateUtil.getNextMonthFirstDate(reqJson.getString("startDate")));
+        String startDate = reqJson.getString("startDate");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(DateUtil.getDateFromStringB(startDate));
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        String endDate = DateUtil.getFormatTimeStringB(calendar.getTime());
+
         // todo 查询楼栋
         FloorDto floorDto = new FloorDto();
         floorDto.setFloorId(floorId);
@@ -98,22 +107,22 @@ public class QueryDataReportFeeStatisticsCmd extends Cmd {
         long roomCount = baseDataStatisticsImpl.getRoomCount(queryStatisticsDto);
         data.put("roomCount", roomCount);
 
-        // todo 查询空置户数
-        long freeCount = baseDataStatisticsImpl.getFreeRoomCount(queryStatisticsDto);
-        data.put("freeCount", freeCount);
+
 
         // todo 查询 历史欠费
+        //这里设置查询月1日 不然历史和总欠费一样有点奇怪
+        queryStatisticsDto.setStartDate(monthFastDate);
         double hisMonthOweFee = feeStatisticsImpl.getHisMonthOweFee(queryStatisticsDto);
         data.put("hisMonthOweFee", hisMonthOweFee);
 
         // todo 查询总欠费
+        queryStatisticsDto.setEndDate(monthLastDate);
         double oweFee = feeStatisticsImpl.getOweFee(queryStatisticsDto);
         data.put("oweFee", oweFee);
 
         // todo 本日已交户数
-        queryStatisticsDto.setStartDate(DateUtil.getFormatTimeStringB(DateUtil.getCurrentDate()) + " 00:00:00");
-        queryStatisticsDto.setEndDate(DateUtil.getFormatTimeStringB(DateUtil.getCurrentDate()) + " 23:59:59");
-        queryStatisticsDto.setHisDate(DateUtil.getFormatTimeStringB(DateUtil.getFirstDate()));
+        queryStatisticsDto.setStartDate(startDate);
+        queryStatisticsDto.setEndDate(endDate);
         double todayReceivedRoomCount = feeStatisticsImpl.getReceivedRoomCount(queryStatisticsDto);
         data.put("todayReceivedRoomCount", todayReceivedRoomCount);
 
@@ -122,19 +131,29 @@ public class QueryDataReportFeeStatisticsCmd extends Cmd {
         data.put("todayReceivedRoomAmount", todayReceivedRoomAmount);
 
         // todo 历史欠费清缴户
+        queryStatisticsDto.setStartDate(startDate);
+        queryStatisticsDto.setEndDate(endDate);
+        queryStatisticsDto.setHisDate(monthFastDate);
         double hisOweReceivedRoomCount = feeStatisticsImpl.getHisOweReceivedRoomCount(queryStatisticsDto);
         data.put("hisOweReceivedRoomCount", hisOweReceivedRoomCount);
         // todo 历史欠费清缴金额
         double hisOweReceivedRoomAmount = feeStatisticsImpl.getHisOweReceivedRoomAmount(queryStatisticsDto);
         data.put("hisOweReceivedRoomAmount", hisOweReceivedRoomAmount);
 
-        // todo 这里时间又改回来
-        queryStatisticsDto.setStartDate(reqJson.getString("startDate"));
-        queryStatisticsDto.setEndDate(reqJson.getString("endDate"));
         // todo 本月已收户
+        queryStatisticsDto.setStartDate(monthFastDate);
+        queryStatisticsDto.setEndDate(monthLastDate);
         double monthReceivedRoomCount = feeStatisticsImpl.getReceivedRoomCount(queryStatisticsDto);
         data.put("monthReceivedRoomCount", monthReceivedRoomCount);
 
+        // todo 查询收费户
+        long feeRoomCount = feeStatisticsImpl.getFeeRoomCount(queryStatisticsDto);
+        data.put("feeRoomCount", feeRoomCount);
+
+        // todo 计算欠费户
+        int oweRoomCount = feeStatisticsImpl.getOweRoomCount(queryStatisticsDto);
+        data.put("oweRoomCount", oweRoomCount);
+
         // todo 已收金额
         double monthReceivedRoomAmount = feeStatisticsImpl.getReceivedRoomAmount(queryStatisticsDto);
         data.put("monthReceivedRoomAmount", monthReceivedRoomAmount);
@@ -142,6 +161,24 @@ public class QueryDataReportFeeStatisticsCmd extends Cmd {
         double curMonthOweFee = feeStatisticsImpl.getCurMonthOweFee(queryStatisticsDto);
         data.put("curMonthOweFee", curMonthOweFee);
 
+        //todo 查询当月应收
+        queryStatisticsDto.setStartDate(monthFastDate);
+        queryStatisticsDto.setEndDate(monthLastDate);
+        double curReceivableFee = feeStatisticsImpl.getCurReceivableFee(queryStatisticsDto);
+        data.put("curReceivableFee", curReceivableFee);
+
+        //todo 查询 欠费追回
+        queryStatisticsDto.setStartDate(monthFastDate);
+        queryStatisticsDto.setEndDate(monthLastDate);
+        double hisReceivedFee = feeStatisticsImpl.getHisReceivedFee(queryStatisticsDto);
+        data.put("hisReceivedFee", hisReceivedFee);
+
+        //todo  查询 预交费用
+        queryStatisticsDto.setStartDate(monthFastDate);
+        queryStatisticsDto.setEndDate(monthLastDate);
+        double preReceivedFee = feeStatisticsImpl.getPreReceivedFee(queryStatisticsDto);
+        data.put("preReceivedFee", preReceivedFee);
+
         datas.add(data);
 
 

+ 1 - 1
service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFeeSummaryCmd.java

@@ -91,7 +91,7 @@ public class QueryReportFeeSummaryCmd extends Cmd {
         //todo 房屋数
         long roomCount = baseDataStatisticsImpl.getRoomCount(queryStatisticsDto);
 
-        //todo 空闲房屋数
+        //todo 收费房屋数
         long feeRoomCount = feeStatisticsImpl.getFeeRoomCount(queryStatisticsDto);
 
         //todo 欠费户数