|
@@ -2,6 +2,7 @@ package com.pj.project.tb_fee_details;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.InputStream;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
@@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.pj.api.wx.bo.PriceBO;
|
|
|
import com.pj.current.config.MyConfig;
|
|
|
+import com.pj.current.config.PartConfig;
|
|
|
import com.pj.project.tb_business.TbBusiness;
|
|
|
import com.pj.project.tb_business.TbBusinessService;
|
|
|
import com.pj.project.tb_business_car.TbBusinessCar;
|
|
@@ -48,6 +50,8 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
|
TbBusinessService tbBusinessService;
|
|
|
@Resource
|
|
|
private MyConfig myConfig;
|
|
|
+ @Resource
|
|
|
+ private PartConfig partConfig;
|
|
|
|
|
|
/** 增 */
|
|
|
int add(TbFeeDetails t){
|
|
@@ -74,6 +78,12 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
|
return tbFeeDetailsMapper.getList(so);
|
|
|
}
|
|
|
|
|
|
+ public TbFeeDetails getByBusinessItemId(String businessItemId){
|
|
|
+ QueryWrapper<TbFeeDetails> qw = new QueryWrapper<>();
|
|
|
+ qw.eq("business_item_id", businessItemId);
|
|
|
+ return getOne(qw);
|
|
|
+ }
|
|
|
+
|
|
|
public TbFeeDetails getByBusinessIdAndCarNoAndFeeType(String businessId, String carNo, Integer feeType){
|
|
|
QueryWrapper<TbFeeDetails> qw = new QueryWrapper<>();
|
|
|
qw.eq("business_id", businessId);
|
|
@@ -101,17 +111,20 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
|
TbFeeDetails parkFee = getByBusinessIdAndCarNoAndFeeType(car.getBusinessId(), carNo, TbFeeDetails.fee.PARK_FEE.getCode());
|
|
|
if(parkFee == null){
|
|
|
parkFee = new TbFeeDetails();
|
|
|
+ parkFee.setTaxRate(partConfig.getTaxRate());
|
|
|
}
|
|
|
+
|
|
|
+ BigDecimal noTaxPrice = car.getMoney().subtract(car.getMoney().multiply(parkFee.getTaxRate()));
|
|
|
parkFee.setBusinessId(car.getBusinessId()).setBusinessNo(business.getNo())
|
|
|
.setCarNo(car.getCarNo())
|
|
|
- .setItemPrice(car.getMoney())
|
|
|
+ .setItemPrice(car.getMoney()).setNoTaxPrice(noTaxPrice)
|
|
|
.setFeeType(TbFeeDetails.fee.PARK_FEE.getCode()).setItemTypeName(TbFeeDetails.fee.PARK_FEE.getDesc())
|
|
|
.setPayDay(toDay).setPayType(3).setCreateTime(now);
|
|
|
saveOrUpdate(parkFee);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Async
|
|
|
+ //@Async
|
|
|
public void chargeBusinessFee(List<TbBusinessItem> items){
|
|
|
Date now = new Date();
|
|
|
String toDay = DateUtil.format(now, "yyyy-MM-dd");
|