|  | @@ -24,6 +24,7 @@ import com.pj.project.tb_business_item.TbBusinessItem;
 | 
	
		
			
				|  |  |  import com.pj.project4sp.uploadfile.UploadUtil;
 | 
	
		
			
				|  |  |  import com.pj.utils.so.SoMap;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.context.annotation.Lazy;
 | 
	
		
			
				|  |  |  import org.springframework.core.io.ClassPathResource;
 | 
	
		
			
				|  |  |  import org.springframework.scheduling.annotation.Async;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
	
		
			
				|  | @@ -35,56 +36,70 @@ import javax.annotation.Resource;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * Service: tb_fee_details -- 收费明细表
 | 
	
		
			
				|  |  | - * @author lzm 
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @author lzm
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  @Transactional
 | 
	
		
			
				|  |  |  public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDetails> implements IService<TbFeeDetails> {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 底层 Mapper 对象 */
 | 
	
		
			
				|  |  | -	@Autowired
 | 
	
		
			
				|  |  | -	TbFeeDetailsMapper tbFeeDetailsMapper;
 | 
	
		
			
				|  |  | -	@Resource
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 底层 Mapper 对象
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    TbFeeDetailsMapper tbFeeDetailsMapper;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  |      TbBusinessCarService tbBusinessCarService;
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  | +    @Lazy
 | 
	
		
			
				|  |  |      TbBusinessService tbBusinessService;
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  |      private MyConfig myConfig;
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  |      private PartConfig partConfig;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 增 */
 | 
	
		
			
				|  |  | -	int add(TbFeeDetails t){
 | 
	
		
			
				|  |  | -		return tbFeeDetailsMapper.add(t);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 增
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    int add(TbFeeDetails t) {
 | 
	
		
			
				|  |  | +        return tbFeeDetailsMapper.add(t);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 删 */
 | 
	
		
			
				|  |  | -	int delete(Long id){
 | 
	
		
			
				|  |  | -		return tbFeeDetailsMapper.delete(id);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 删
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    int delete(Long id) {
 | 
	
		
			
				|  |  | +        return tbFeeDetailsMapper.delete(id);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 改 */
 | 
	
		
			
				|  |  | -	int update(TbFeeDetails t){
 | 
	
		
			
				|  |  | -		return tbFeeDetailsMapper.update(t);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 改
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    int update(TbFeeDetails t) {
 | 
	
		
			
				|  |  | +        return tbFeeDetailsMapper.update(t);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 查 */
 | 
	
		
			
				|  |  | -	TbFeeDetails getById(Long id){
 | 
	
		
			
				|  |  | -		return tbFeeDetailsMapper.getById(id);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    TbFeeDetails getById(Long id) {
 | 
	
		
			
				|  |  | +        return tbFeeDetailsMapper.getById(id);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
 | 
	
		
			
				|  |  | -	List<TbFeeDetails> getList(SoMap so) {
 | 
	
		
			
				|  |  | -		return tbFeeDetailsMapper.getList(so);	
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查集合 - 根据条件(参数为空时代表忽略指定条件)
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    List<TbFeeDetails> getList(SoMap so) {
 | 
	
		
			
				|  |  | +        return tbFeeDetailsMapper.getList(so);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public TbFeeDetails getByBusinessItemId(String businessItemId){
 | 
	
		
			
				|  |  | +    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){
 | 
	
		
			
				|  |  | +    public TbFeeDetails getByBusinessIdAndCarNoAndFeeType(String businessId, String carNo, Integer feeType) {
 | 
	
		
			
				|  |  |          QueryWrapper<TbFeeDetails> qw = new QueryWrapper<>();
 | 
	
		
			
				|  |  |          qw.eq("business_id", businessId);
 | 
	
		
			
				|  |  |          qw.eq("car_no", carNo);
 | 
	
	
		
			
				|  | @@ -92,7 +107,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |          return getOne(qw);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public TbFeeDetails getByBusinessIdAndCarNoAndItemType(String businessId, String carNo, String itemTypeId){
 | 
	
		
			
				|  |  | +    public TbFeeDetails getByBusinessIdAndCarNoAndItemType(String businessId, String carNo, String itemTypeId) {
 | 
	
		
			
				|  |  |          QueryWrapper<TbFeeDetails> qw = new QueryWrapper<>();
 | 
	
		
			
				|  |  |          qw.eq("business_id", businessId);
 | 
	
		
			
				|  |  |          qw.eq("car_no", carNo);
 | 
	
	
		
			
				|  | @@ -101,7 +116,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	public void chargeParkFee(List<PriceBO> cars){
 | 
	
		
			
				|  |  | +    public void chargeParkFee(List<PriceBO> cars) {
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
		
			
				|  |  |          String toDay = DateUtil.format(now, "yyyy-MM-dd");
 | 
	
		
			
				|  |  |          for (PriceBO bo1 : cars) {
 | 
	
	
		
			
				|  | @@ -109,7 +124,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |              TbBusiness business = tbBusinessService.getById(car.getBusinessId());
 | 
	
		
			
				|  |  |              String carNo = car.getCarNo();
 | 
	
		
			
				|  |  |              TbFeeDetails parkFee = getByBusinessIdAndCarNoAndFeeType(car.getBusinessId(), carNo, TbFeeDetails.fee.PARK_FEE.getCode());
 | 
	
		
			
				|  |  | -            if(parkFee == null){
 | 
	
		
			
				|  |  | +            if (parkFee == null) {
 | 
	
		
			
				|  |  |                  parkFee = new TbFeeDetails();
 | 
	
		
			
				|  |  |                  parkFee.setTaxRate(partConfig.getTaxRate());
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -125,28 +140,28 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //@Async
 | 
	
		
			
				|  |  | -    public void chargeBusinessFee(List<TbBusinessItem> items){
 | 
	
		
			
				|  |  | +    public void chargeBusinessFee(List<TbBusinessItem> items) {
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
		
			
				|  |  |          String toDay = DateUtil.format(now, "yyyy-MM-dd");
 | 
	
		
			
				|  |  |          for (TbBusinessItem item : items) {
 | 
	
		
			
				|  |  |              int feeType = -1;
 | 
	
		
			
				|  |  |              String itemType = item.getItemTypeName();
 | 
	
		
			
				|  |  | -            if(itemType.contains("核酸")){
 | 
	
		
			
				|  |  | +            if (itemType.contains("核酸")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.NUCLEIC_FEE.getCode();
 | 
	
		
			
				|  |  | -            } else if(itemType.contains("消毒")){
 | 
	
		
			
				|  |  | +            } else if (itemType.contains("消毒")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.DISINFECT_FEE.getCode();
 | 
	
		
			
				|  |  | -            } else if(itemType.contains("装卸")){
 | 
	
		
			
				|  |  | +            } else if (itemType.contains("装卸")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.STEVEDORE_FEE.getCode();
 | 
	
		
			
				|  |  | -            } else if(StrUtil.equals(itemType, "特殊车辆") || StrUtil.equals(itemType, "汽车吊" )){
 | 
	
		
			
				|  |  | +            } else if (StrUtil.equals(itemType, "特殊车辆") || StrUtil.equals(itemType, "汽车吊")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.STEVEDORE_FEE.getCode();
 | 
	
		
			
				|  |  | -            } else if(itemType.contains("入场管理")){
 | 
	
		
			
				|  |  | +            } else if (itemType.contains("入场管理")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.MANAGE_FEE.getCode();
 | 
	
		
			
				|  |  | -            } else if(StrUtil.equals(itemType, "充电打冷")) {
 | 
	
		
			
				|  |  | +            } else if (StrUtil.equals(itemType, "充电打冷")) {
 | 
	
		
			
				|  |  |                  feeType = TbFeeDetails.fee.CHARGE_FEE.getCode();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              TbBusiness business = tbBusinessService.getById(item.getBusinessId());
 | 
	
		
			
				|  |  |              TbFeeDetails businessFee = getByBusinessIdAndCarNoAndItemType(item.getBusinessId(), business.getCardNo(), item.getItemTypeId());
 | 
	
		
			
				|  |  | -            if(businessFee == null){
 | 
	
		
			
				|  |  | +            if (businessFee == null) {
 | 
	
		
			
				|  |  |                  businessFee = new TbFeeDetails();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              businessFee.setBusinessId(item.getBusinessId()).setBusinessNo(business.getNo())
 | 
	
	
		
			
				|  | @@ -160,10 +175,10 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public String export(SoMap so) throws Exception{
 | 
	
		
			
				|  |  | +    public String export(SoMap so) throws Exception {
 | 
	
		
			
				|  |  |          Map<String, String> head = new HashMap<>();
 | 
	
		
			
				|  |  |          head.put("time", so.getString("payDay"));
 | 
	
		
			
				|  |  | -	    List<ExportFeeDetailDTO> exportList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        List<ExportFeeDetailDTO> exportList = new ArrayList<>();
 | 
	
		
			
				|  |  |          List<TbFeeDetails> list = this.getList(so);
 | 
	
		
			
				|  |  |          Integer index = 1;
 | 
	
		
			
				|  |  |          for (TbFeeDetails feeDetails : list) {
 | 
	
	
		
			
				|  | @@ -189,9 +204,9 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          ClassPathResource classPathResource = new ClassPathResource("static/day-fee.xlsx");
 | 
	
		
			
				|  |  | -        InputStream tempInputStream =classPathResource.getInputStream();
 | 
	
		
			
				|  |  | +        InputStream tempInputStream = classPathResource.getInputStream();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        ExcelWriter excelWriter = EasyExcel.write(savePath+fileName, ExportFeeDetailDTO.class)
 | 
	
		
			
				|  |  | +        ExcelWriter excelWriter = EasyExcel.write(savePath + fileName, ExportFeeDetailDTO.class)
 | 
	
		
			
				|  |  |                  .withTemplate(tempInputStream).build();
 | 
	
		
			
				|  |  |          WriteSheet writeSheet = EasyExcel.writerSheet().build();
 | 
	
		
			
				|  |  |          excelWriter.fill(exportList, writeSheet);
 |