Kaynağa Gözat

发票管理开票金额胴体

lyhzzz 1 yıl önce
ebeveyn
işleme
ee865bde39

+ 5 - 1
src/main/java/com/fdkankan/sale/controller/RepairInfoController.java

@@ -128,7 +128,11 @@ public class RepairInfoController extends BaseController{
                 for (RepairerVo record : records) {
                     RepairInfoExportVo vo = new RepairInfoExportVo();
                     BeanUtils.copyProperties(record,vo);
-                    vo.setPayAmount(amountMap.get(vo.getRepairId()) == null ?BigDecimal.ZERO: amountMap.get(vo.getRepairId()));
+                    if(StatusUtil.getWarranty(vo.getWarrantyType())){
+                        vo.setPayAmount(BigDecimal.ZERO);
+                    }else {
+                        vo.setPayAmount(amountMap.get(vo.getRepairId()) == null ?BigDecimal.ZERO: amountMap.get(vo.getRepairId()));
+                    }
                     list.add(vo);
                 }
 

+ 22 - 0
src/main/java/com/fdkankan/sale/service/impl/RepairInvoiceServiceImpl.java

@@ -13,14 +13,20 @@ import com.fdkankan.sale.exception.BusinessException;
 import com.fdkankan.sale.mapper.IRepairInvoiceMapper;
 import com.fdkankan.sale.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.sale.util.StatusUtil;
 import com.fdkankan.sale.vo.request.RepairInvoiceParam;
 import com.fdkankan.sale.vo.response.RepairInvoiceVo;
+import com.fdkankan.sale.vo.response.RepairerVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * <p>
@@ -41,6 +47,8 @@ public class RepairInvoiceServiceImpl extends ServiceImpl<IRepairInvoiceMapper,
     FYunFileServiceInterface fYunFileServiceInterface;
     @Autowired
     ICustomerService customerService;
+    @Autowired
+    IPriceListService priceListService;
 
 
     @Override
@@ -53,6 +61,20 @@ public class RepairInvoiceServiceImpl extends ServiceImpl<IRepairInvoiceMapper,
     @Override
     public Page<RepairInvoiceVo> pageList(RepairInvoiceParam param) {
         Page<RepairInvoiceVo> voList = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        List<RepairerVo> list = new ArrayList<>();
+        for (RepairInvoiceVo record : voList.getRecords()) {
+            RepairerVo vo = new RepairerVo();
+            BeanUtils.copyProperties(record,vo);
+            list.add(vo);
+        }
+        HashMap<String, BigDecimal> amountMap = priceListService.getAmountByRepairIds(list);
+        for (RepairInvoiceVo record : voList.getRecords()) {
+            if(StatusUtil.getWarranty(record.getWarrantyType())){
+                record.setInvoiceAmount(BigDecimal.ZERO);
+            }else {
+                record.setInvoiceAmount(amountMap.get(record.getRepairId()) == null ?BigDecimal.ZERO: amountMap.get(record.getRepairId()));
+            }
+        }
         return voList;
     }
 

+ 2 - 2
src/main/java/com/fdkankan/sale/service/impl/RepairSaleService.java

@@ -294,12 +294,12 @@ public class RepairSaleService {
         Integer orderType = null;
         if(repair.getStatus().equals(RepairStatusEnum.TO_BE_CANCELED.status())){
             payAmount = priceListService.getRobAmountByRepairId(repair.getRepairId());
-            orderSn = "se_c"+DateUtil.getDate(DateUtil.repairIdFmt);
+            orderSn = "c"+DateUtil.getDate(DateUtil.repairIdFmt);
             //status = RepairStatusEnum.TO_BE_CANCELED_RECOVERED.status();
             orderType = 1;
         }else {
             payAmount = priceListService.getAmountByRepairId(repair.getRepairId());
-            orderSn = "se_s"+DateUtil.getDate(DateUtil.repairIdFmt);
+            orderSn = "s"+DateUtil.getDate(DateUtil.repairIdFmt);
             //status = RepairStatusEnum.TO_BE_RECOVERED.status();
             orderType = 0;
         }

+ 2 - 2
src/main/java/com/fdkankan/sale/service/impl/RepairServiceImpl.java

@@ -100,7 +100,7 @@ public class RepairServiceImpl extends ServiceImpl<IRepairMapper, Repair> implem
             return;
         }
         repairPayService.updatePayStatus(orderSn,tradeNo,openid);
-        if(orderSn.contains("se_s")){
+        if(orderSn.contains("s")){
             List<RepairRegisterPartVo> partVoList = repairSupplyService.partInfo(repairPay.getRepairId(), 1);
             if(partVoList.size() >0){
                 repairLogService.saveBySysUser(null,repairPay.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),repair.getStatus(),"完成维修支付成功");
@@ -108,7 +108,7 @@ public class RepairServiceImpl extends ServiceImpl<IRepairMapper, Repair> implem
                 repairLogService.saveBySysUser(null,repairPay.getRepairId(), RepairStatusEnum.TO_BE_SHIPPED.status(),repair.getStatus(),"完成维修支付成功");
             }
         }
-        if(orderSn.contains("se_c")){
+        if(orderSn.contains("c")){
             List<RepairRegisterPartVo> partVoList = repairSupplyService.partInfo(repairPay.getRepairId(), 1);
             if(partVoList.size() >0){
                 repairLogService.saveBySysUser(null,repairPay.getRepairId(), RepairStatusEnum.TO_BE_CANCELED_RECOVERED.status(),repair.getStatus(),"取消维修支付成功");

+ 4 - 1
src/main/java/com/fdkankan/sale/vo/response/RepairInvoiceVo.java

@@ -126,7 +126,10 @@ public class RepairInvoiceVo  {
 
     @ExcelProperty("发票图片")
     private String invoiceImg;
-
+    @ExcelIgnore
+    private Integer cancelStatus;
+    @ExcelIgnore
+    private Integer warrantyType;
 
     public String getStatusStr() {
         if(status == null){

+ 2 - 2
src/main/java/com/fdkankan/sale/wx/pay/WechatPayService.java

@@ -63,13 +63,13 @@ public class WechatPayService {
         Integer orderType = null;
         if(repair.getStatus().equals(RepairStatusEnum.TO_BE_PAID.status())){
             amount = priceListService.getAmountByRepairId(param.getRepairId());
-            orderSn = "se_s"+DateUtil.getDate(DateUtil.repairIdFmt);
+            orderSn = "s"+DateUtil.getDate(DateUtil.repairIdFmt);
             subject = "维修订单";
             orderType = 0;
         }
         if(repair.getStatus().equals(RepairStatusEnum.TO_BE_CANCELED.status())){
             amount = priceListService.getRobAmountByRepairId(param.getRepairId());
-            orderSn = "se_c"+DateUtil.getDate(DateUtil.repairIdFmt);
+            orderSn = "c"+DateUtil.getDate(DateUtil.repairIdFmt);
             subject = "取消维修订单";
             orderType = 1;
         }

+ 2 - 1
src/main/resources/mapper/sale/RepairInvoiceMapper.xml

@@ -3,8 +3,9 @@
 <mapper namespace="com.fdkankan.sale.mapper.IRepairInvoiceMapper">
 
     <select id="pageList" resultType="com.fdkankan.sale.vo.response.RepairInvoiceVo">
-        select  ri.*,rp.order_sn ,rp.pay_time  from t_repair_invoice ri
+        select  ri.*,rp.order_sn ,rp.pay_time ,r.cancel_status,r.warranty_type from t_repair_invoice ri
             left join t_repair_pay rp on ri.repair_id = rp.repair_id
+            left join t_repair r on ri.repair_id = r.repair_id
         where  ri.rec_status = 'A' and rp.pay_status = 1
         <if test="param.orderSn !=null and param.orderSn !='' ">
             and rp.order_sn like concat('%',#{param.orderSn},'%')