|
@@ -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;
|
|
|
+ }
|
|
|
+
|
|
|
}
|