Преглед на файлове

Merge branch 'dev' of http://47.101.143.145:8090/77975466/pco into dev

qzyReal преди 3 години
родител
ревизия
e6a462fddc

+ 3 - 0
sp-admin/sa-view/tb-fee-statistics/tb-fee-details-list.html

@@ -50,7 +50,10 @@
 						   :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
 					<sa-td name="业务类型" prop="itemTypeName" ></sa-td>
 					<sa-td name="业务项" prop="itemName" ></sa-td>
+					<sa-td name="作业单位" prop="pickCustomerName" ></sa-td>
 					<sa-td name="项目金额" prop="itemPrice" ></sa-td>
+					<sa-td name="税率" prop="taxRate" ></sa-td>
+					<sa-td name="不含税金额" prop="noTaxPrice" ></sa-td> 
 					<sa-td name="支付日期" prop="payDay" ></sa-td>
 					<sa-td name="支付方式" prop="payType" type="enum" :jv="{3: '微信支付'}"></sa-td>
 <!--					<el-table-column label="操作" fixed="right"  width="240px">-->

+ 2 - 1
sp-server/src/main/java/com/pj/api/jh/service/JhService.java

@@ -54,7 +54,7 @@ public class JhService {
         String a = request.getParameter("a");
         Attach atchMap = new Attach();
         atchMap.setC(c).setB(businessId).setA(a);
-        String out_trade_no = RandomUtil.randomString(32);
+        String out_trade_no = RandomUtil.randomString(30);
         Map<String, String> params = new HashMap<>();
         params.put("attach", JSONUtil.toJsonStr(atchMap));
         params.put("productType", jhConfig.getProductType());
@@ -77,6 +77,7 @@ public class JhService {
         String paySecrit = jhConfig.getPaySecret();
         String sign = MerchantApiUtil.getSign(params, paySecrit);
         params.put("sign", sign);
+
         String jsonParam = JSONUtil.toJsonStr(params);
         String initPayUrl = "http://116.252.74.15:8081/uaps-web-gateway/cnpPay/initPay";
         String result = HttpUtil.createPost(initPayUrl).header("Content-Type", "application/json").body(jsonParam)

+ 12 - 0
sp-server/src/main/java/com/pj/project/tb_business_item/TbBusinessItemService.java

@@ -19,6 +19,8 @@ import com.pj.current.config.WxConfig;
 import com.pj.current.task.TaskService;
 import com.pj.project.tb_business.TbBusiness;
 import com.pj.project.tb_business.TbBusinessService;
+import com.pj.project.tb_fee_details.TbFeeDetails;
+import com.pj.project.tb_fee_details.TbFeeDetailsService;
 import com.pj.project4sp.admin.SpAdmin;
 import com.pj.project4sp.admin.SpAdminService;
 import com.pj.project4sp.uploadfile.UploadUtil;
@@ -62,6 +64,9 @@ public class TbBusinessItemService extends ServiceImpl<TbBusinessItemMapper, TbB
     @Resource
     TaskService taskService;
 
+    @Resource
+    TbFeeDetailsService tbFeeDetailsService;
+
 	/** 增 */
 	int add(TbBusinessItem t){
 		return tbBusinessItemMapper.add(t);
@@ -112,6 +117,13 @@ public class TbBusinessItemService extends ServiceImpl<TbBusinessItemMapper, TbB
         TbBusinessItem tbBusinessItem = this.getById(id);
         tbBusinessItem.setConfirm(1).setConfirmTime(new Date());
         this.updateById(tbBusinessItem);
+
+        TbFeeDetails feeDetails = tbFeeDetailsService.getByBusinessItemId(id + "");
+        if(feeDetails != null){
+            feeDetails.setPickCustomerName(tbBusinessItem.getPickCustomerName());
+            tbFeeDetailsService.updateById(feeDetails);
+        }
+
         //todo 通知作业方
         List<SpAdmin> spAdminList = spAdminService.findByCustomerId(tbBusinessItem.getPickCustomerId());
         TbBusiness tbBusiness = tbBusinessService.getById(tbBusinessItem.getBusinessId());

+ 27 - 13
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetails.java

@@ -40,64 +40,78 @@ public class TbFeeDetails implements Serializable {
 	/**
 	 * 主键 
 	 */
-	public String id;
+	private String id;
 
-    public String businessId;
+    private String businessId;
 
 	/**
 	 * 业务单号 
 	 */
-	public String businessNo;	
+    private String businessNo;
 
 	/**
 	 * 车牌号 
 	 */
-	public String carNo;
+    private String carNo;
 
     /**
      * 收费类型
      */
-    public Integer feeType;
+    private Integer feeType;
 
     /**
 	 * 业务类型id 
 	 */
-	public String itemTypeId;
+    private String itemTypeId;
 
 	/**
 	 * 业务类型 
 	 */
-	public String itemTypeName;	
+    private String itemTypeName;
 
 	/**
 	 *  
 	 */
-	public String itemId;
+    private String itemId;
 
 	/**
 	 * 业务项 
 	 */
-	public String itemName;	
+    private String itemName;
 
 	/**
 	 * 项目金额(元) 
 	 */
-	public BigDecimal itemPrice;
+    private BigDecimal itemPrice;
 
 	/**
 	 * 支付日期 
 	 */
-	public String payDay;	
+    private String payDay;
 
 	/**
 	 * 支付方式(3=微信支付) 
 	 */
-	public Integer payType;
+    private Integer payType;
 
 	/**
 	 * 创建时间 
 	 */
-	public Date createTime;
+    private Date createTime;
+
+    private String businessItemId;
+
+    private String pickCustomerName;
+
+    /**
+     * 不含税款
+     */
+    public BigDecimal noTaxPrice = new BigDecimal(0);
+
+    /**
+     * 税率
+     */
+    private BigDecimal taxRate = new BigDecimal(0);
 
 
     @Getter

+ 15 - 2
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetailsService.java

@@ -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");

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

@@ -103,7 +103,7 @@ public class TbFeeStatisticsService extends ServiceImpl<TbFeeStatisticsMapper, T
         return getOne(qw);
     }
 
-    @Async
+    //@Async
     public void countParkFee(List<PriceBO> cars) {
         Date now = new Date();
         String toDay = DateUtil.format(now, "yyyy-MM-dd");
@@ -130,7 +130,7 @@ public class TbFeeStatisticsService extends ServiceImpl<TbFeeStatisticsMapper, T
         this.saveOrUpdate(parkFee);
     }
 
-    @Async
+    //@Async
     public void countBusinessFee(List<TbBusinessItem> items) {
         Date now = new Date();
         String toDay = DateUtil.format(now, "yyyy-MM-dd");
@@ -171,14 +171,19 @@ public class TbFeeStatisticsService extends ServiceImpl<TbFeeStatisticsMapper, T
             TbFeeDetails businessFeeDetail = tbFeeDetailsService.getByBusinessIdAndCarNoAndItemType(item.getBusinessId(), business.getCardNo(), item.getItemTypeId());
             if (businessFeeDetail == null) {
                 businessFeeDetail = new TbFeeDetails();
+                businessFeeDetail.setTaxRate(new BigDecimal(TbFeeStatistics.taxRate.BUSINESS.getValue()));
             }
+
+            BigDecimal noTaxPrice = item.getItemPrice().subtract(item.getItemPrice().multiply(businessFeeDetail.getTaxRate()));
             businessFeeDetail.setBusinessId(item.getBusinessId()).setBusinessNo(business.getNo())
                     .setCarNo(business.getCardNo())
-                    .setItemPrice(item.getItemPrice())
+                    .setItemPrice(item.getItemPrice()).setNoTaxPrice(noTaxPrice)
                     .setFeeType(feeType)
                     .setItemTypeId(item.getItemTypeId()).setItemTypeName(item.getItemTypeName())
                     .setItemId(item.getItemId()).setItemName(item.getItemName())
-                    .setPayDay(toDay).setPayType(3).setCreateTime(now);
+                    .setPayDay(toDay).setPayType(3).setCreateTime(now)
+                    .setBusinessItemId(item.getId() + "")
+                    .setPickCustomerName(item.getPickCustomerName());
             tbFeeDetailsService.saveOrUpdate(businessFeeDetail);
         }
     }