Pārlūkot izejas kodu

收费明细导出调整

lzm 2 gadi atpakaļ
vecāks
revīzija
80887b43dc

+ 72 - 3
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetailsService.java

@@ -156,7 +156,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
             BigDecimal noTaxPrice = bo1.getP().subtract(taxPrice);
             parkFee.setBusinessId(car.getBusinessId()).setBusinessCarId(car.getId())
                     .setCarNo(car.getCarNo())
-                    .setItemPrice(bo1.getP()).setUnitPrice(car.getMoney()).setNoTaxPrice(noTaxPrice).setTaxPrice(taxPrice)
+                    .setItemPrice(bo1.getP()).setUnitPrice(bo1.getP()).setNoTaxPrice(noTaxPrice).setTaxPrice(taxPrice)
                     .setFeeType(TbFeeDetails.fee.PARK_FEE.getCode()).setItemTypeName("停车业务")
                     .setPayDay(toDay).setPayType(3).setCreateTime(now)
                     .setNum(1).setIsSettle(1).setPayMode(1).setPayTime(nowStr)
@@ -174,10 +174,27 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
     public String export(SoMap so) throws Exception{
         Date now = new Date();
         String nowStr = DateUtil.format(now, "yyyy-MM-dd HH:mm");
-        String time = so.getString("beginTime") + "至" + so.getString("endTime");
+        String beginTime = so.getString("beginTime");
+        String endTime = so.getString("endTime");
+        String time = beginTime + "至" + endTime;
         Map<String, String> head = new HashMap<>();
         head.put("time", time);
         head.put("exportTime", nowStr);
+        String inCarNum = "";
+        String outPayCarNum = "";
+        String notOutCarNum = "";
+        boolean isIn = checkTimeRange(beginTime, endTime, now);
+        if(isIn){
+            inCarNum = getInCarNum(now) + "";
+            outPayCarNum = getOutAndPayCarNum(now) + "";
+            notOutCarNum = getNotOutCarNum(now) + "";
+        }
+        head.put("inCarNum", inCarNum);
+        head.put("outPayCarNum", outPayCarNum);
+        head.put("notOutCarNum", notOutCarNum);
+
+        BigDecimal toDayFee = new BigDecimal(0);
+        BigDecimal allDayFee = new BigDecimal(0);
 	    List<ExportFeeDetailDTO> exportList = new ArrayList<>();
         List<TbFeeDetails> list = this.getList(so);
         Integer index = 1;
@@ -198,10 +215,18 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
             }else {
                 detailDTO.setBusinessNo(feeDetails.getBusinessCarNo());
             }
-
             exportList.add(detailDTO);
+            if(checkTimeRange(beginTime, endTime, feeDetails.getCreateTime()) && feeDetails.getFeeType()==TbFeeDetails.fee.PARK_FEE.getCode()){
+                toDayFee = toDayFee.add(feeDetails.getItemPrice());
+            }
+            if(feeDetails.getFeeType()==TbFeeDetails.fee.PARK_FEE.getCode()){
+                allDayFee = allDayFee.add(feeDetails.getItemPrice());
+            }
         }
 
+        head.put("toDayFee", toDayFee.toString());
+        head.put("allDayFee", allDayFee.toString());
+
         String separator = File.separator;
         String today = DateUtil.today();
         String rootPath = UploadUtil.uploadConfig.rootFolder + separator + UploadUtil.uploadConfig.httpPrefix;
@@ -226,4 +251,48 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
         return prefix + "/feeDetails/" + today + "/收费明细表_" + time + ".xlsx";
     }
 
+    private boolean checkTimeRange(String begin, String end, Date now) {
+        Date beginTime = DateUtil.beginOfDay(DateUtil.parse(begin));
+        Date endTime = DateUtil.endOfDay(DateUtil.parse(end));
+        if(now.getTime() >= beginTime.getTime() && now.getTime() <= endTime.getTime()){
+            return true;
+        }
+        return false;
+    }
+
+    private Integer getInCarNum(Date now){
+        Date beginOfDay = DateUtil.beginOfDay(now);
+        Date endOfDay = DateUtil.endOfDay(now);
+        QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
+        qw.isNotNull("real_in_time")
+                .ge("real_in_time", beginOfDay)
+                .le("real_in_time", endOfDay);
+        List<TbBusinessCar> list = tbBusinessCarService.list(qw);
+        return list != null ? list.size() : 0;
+    }
+
+    private Integer getOutAndPayCarNum(Date now){
+        Date beginOfDay = DateUtil.beginOfDay(now);
+        Date endOfDay = DateUtil.endOfDay(now);
+        QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
+        qw.eq("pay", 1)
+                .isNotNull("real_in_time").isNotNull("real_out_time")
+                .ge("real_out_time", beginOfDay)
+                .le("real_out_time", endOfDay);
+        List<TbBusinessCar> list = tbBusinessCarService.list(qw);
+        return list != null ? list.size() : 0;
+    }
+
+    private Integer getNotOutCarNum(Date now){
+        Date beginOfDay = DateUtil.beginOfDay(now);
+        Date endOfDay = DateUtil.endOfDay(now);
+        QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
+        qw.isNotNull("real_in_time")
+                .ge("real_in_time", beginOfDay)
+                .le("real_in_time", endOfDay)
+                .isNull("real_out_time");
+        List<TbBusinessCar> list = tbBusinessCarService.list(qw);
+        return list != null ? list.size() : 0;
+    }
+
 }

+ 1 - 1
sp-server/src/main/java/com/pj/project/tb_fee_statistics/TbFeeStatisticsService.java

@@ -119,7 +119,7 @@ public class TbFeeStatisticsService extends ServiceImpl<TbFeeStatisticsMapper, T
             BigDecimal price = bo1.getP();
             if(price.compareTo(BigDecimal.valueOf(0)) != 0){
                 totalPrice = totalPrice.add(price);
-                TbBusinessCar car = tbBusinessCarService.getById(bo1.getId());
+//                TbBusinessCar car = tbBusinessCarService.getById(bo1.getId());
 //                if(car.getMoney().compareTo(BigDecimal.valueOf(0)) == 0){
 //                    totalNum++;
 //                }

BIN
sp-server/src/main/resources/static/day-fee-new.xlsx