diff --git a/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java index 82ecab50..e4b522a9 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java @@ -37,5 +37,12 @@ public class BmsSupplierSo implements Serializable { @Length(max = 20,message = "客户编码长度不能超过20字") private String code; + /** 生成费用开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime queryStartTime; + + /** 生成费用结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime queryEndTime; } diff --git a/src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java b/src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java index 288fef63..58a2147e 100644 --- a/src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java +++ b/src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java @@ -14,6 +14,7 @@ import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.so.BmsSupplierSo; import com.qs.serve.modules.bms.service.BmsSupplierService; +import com.qs.serve.modules.pay.common.PaymentType; import com.qs.serve.modules.pay.entity.PayPaymentItem; import com.qs.serve.modules.pay.entity.bo.PayUnPaymentBo; import com.qs.serve.modules.pay.entity.dto.PayPaymentAmountDto; @@ -32,6 +33,7 @@ import com.qs.serve.modules.pay.entity.PayPayment; import com.qs.serve.modules.pay.service.PayPaymentService; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; @@ -56,30 +58,56 @@ public class PayPaymentController { * @return */ @GetMapping("supplierPage") - public R> getSupplierPage(BmsSupplierSo paramSo){ + public R> getSupplierPage(BmsSupplierSo paramSo){ BmsSupplier param = CopierUtil.copy(paramSo,new BmsSupplier()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); List list = bmsSupplierService.list(lqw); if(CollectionUtil.isNotEmpty(list)){ List supplierIds = list.stream().map(BmsSupplier::getId).collect(Collectors.toList()); - List costAmountList = paySupplierMapper.sumCostAmount(supplierIds); - List payAmountList = paySupplierMapper.sumPayAmount(supplierIds); - List unPayAmountList = paySupplierMapper.sumUnPayAmount(supplierIds); - List checkAmountList = paySupplierMapper.sumCheckAmount(supplierIds); + List costAmountList = paySupplierMapper.sumCostAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime()); + List payAmountList = paySupplierMapper.sumPayAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime()); + List unPayAmountList = paySupplierMapper.sumUnPayAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime()); + List checkAmountList = paySupplierMapper.sumCheckAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime()); List supplierVoList = list.stream().map(supplier -> { Long supplierId = Long.parseLong(supplier.getId()); PaySupplierVo supplierVo = new PaySupplierVo(); supplierVo.setSupplierId(supplierId); supplierVo.setSupplierCode(supplier.getCode()); supplierVo.setSupplierName(supplier.getName()); - + supplierVo.setSumAmountOfPay(BigDecimal.ZERO); + supplierVo.setSumAmountOfCost(BigDecimal.ZERO); + supplierVo.setSumAmountOfCheck(BigDecimal.ZERO); + supplierVo.setSumAmountOfUnPay(BigDecimal.ZERO); + for (PaySupplierAmountDto amountDto : costAmountList) { + if(amountDto.getSupplierId().equals(supplierId)){ + supplierVo.setSumAmountOfCost(amountDto.getSumAmount()); + break; + } + } + for (PaySupplierAmountDto amountDto : checkAmountList) { + if(amountDto.getSupplierId().equals(supplierId)){ + supplierVo.setSumAmountOfCheck(amountDto.getSumAmount()); + break; + } + } + for (PaySupplierAmountDto amountDto : payAmountList) { + if(amountDto.getSupplierId().equals(supplierId)){ + supplierVo.setSumAmountOfPay(amountDto.getSumAmount()); + break; + } + } + for (PaySupplierAmountDto amountDto : unPayAmountList) { + if(amountDto.getSupplierId().equals(supplierId)){ + supplierVo.setSumAmountOfUnPay(amountDto.getSumAmount()); + break; + } + } return supplierVo; }).collect(Collectors.toList()); + return R.byPageHelperList(list,supplierVoList); } - - //return R.byPageHelperList(list); - return null; + return R.byEmptyList(); } /** @@ -150,8 +178,10 @@ public class PayPaymentController { @SysLog(module = SystemModule.Payment, title = "支付", biz = BizType.INSERT) @PreAuthorize("hasRole('pay:payment:pay')") public R save(@RequestBody @Valid PayUnPaymentBo param){ - //TODO - return R.ok(); + PayPaymentBo paymentBo = CopierUtil.copy(param,new PayPaymentBo()); + paymentBo.setPayType(PaymentType.UN_PAYMENT); + PayPayment payPayment = payPaymentService.payment(paymentBo); + return R.ok(payPayment); } /** diff --git a/src/main/java/com/qs/serve/modules/pay/entity/PayPayment.java b/src/main/java/com/qs/serve/modules/pay/entity/PayPayment.java index 2a3f3073..2792abbc 100644 --- a/src/main/java/com/qs/serve/modules/pay/entity/PayPayment.java +++ b/src/main/java/com/qs/serve/modules/pay/entity/PayPayment.java @@ -94,7 +94,10 @@ public class PayPayment implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime payTime; - /** 取消标识 */ + /** + * 取消标识 + * 不再支付列表:0-冻结;1-解冻 + **/ private Integer cancelFlag; /** 取消时间 */ diff --git a/src/main/java/com/qs/serve/modules/pay/mapper/PaySupplierMapper.java b/src/main/java/com/qs/serve/modules/pay/mapper/PaySupplierMapper.java index 20a6f718..94fd0ea8 100644 --- a/src/main/java/com/qs/serve/modules/pay/mapper/PaySupplierMapper.java +++ b/src/main/java/com/qs/serve/modules/pay/mapper/PaySupplierMapper.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.pay.mapper; import com.qs.serve.modules.pay.entity.dto.PaySupplierAmountDto; import org.apache.ibatis.annotations.Param; +import java.time.LocalDateTime; import java.util.List; /** * @author YenHex @@ -13,29 +14,45 @@ public interface PaySupplierMapper { /** * 统计费用明细 * @param supplierIds + * @param startTime + * @param endTime * @return */ - List sumCostAmount(@Param("queryList") List supplierIds); + List sumCostAmount(@Param("queryList") List supplierIds, + @Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); /** * 统计核销金额 * @param supplierIds + * @param startTime + * @param endTime * @return */ - List sumCheckAmount(@Param("queryList") List supplierIds); + List sumCheckAmount(@Param("queryList") List supplierIds, + @Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); /** * 统计支付金额 * @param supplierIds + * @param startTime + * @param endTime * @return */ - List sumPayAmount(@Param("queryList") List supplierIds); + List sumPayAmount(@Param("queryList") List supplierIds, + @Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); /** * 统计未支付金额 * @param supplierIds + * @param startTime + * @param endTime * @return */ - List sumUnPayAmount(@Param("queryList") List supplierIds); + List sumUnPayAmount(@Param("queryList") List supplierIds, + @Param("startTime") LocalDateTime startTime, + @Param("endTime") LocalDateTime endTime); } diff --git a/src/main/resources/mapper/pay/PaySupplierMapper.xml b/src/main/resources/mapper/pay/PaySupplierMapper.xml index 64da8417..f5723cf6 100644 --- a/src/main/resources/mapper/pay/PaySupplierMapper.xml +++ b/src/main/resources/mapper/pay/PaySupplierMapper.xml @@ -15,12 +15,17 @@ sum(total_activity_amount) sum_amount FROM `tbs_cost_apply` - /*状态:0=未发布;1=审批中;2=待执行;3=完成;4-被驳回*/ and `tbs_cost_apply`.`charge_state` in (2,3) and `tbs_cost_apply`.`supplier_id` in #{selectId} + + and `create_time` >= #{startTime} + + + and `create_time` <= #{endTime} + GROUP BY supplier_id @@ -31,12 +36,17 @@ sum(amount) sum_amount FROM `vtb_verification` - /*状态:0=审批中;1=完成;2-中止;3-回滚*/ and `vtb_verification`.`verification_state` = 1 and `vtb_verification`.`supplier_id` in #{selectId} + + and `create_time` >= #{startTime} + + + and `create_time` <= #{endTime} + GROUP BY supplier_id @@ -49,10 +59,16 @@ and cancel_flag = '0' and pay_type = 'pay' - and `vtb_verification`.`supplier_id` in + and `pay_payment`.`supplier_id` in #{selectId} + + and `create_time` >= #{startTime} + + + and `create_time` <= #{endTime} + GROUP BY supplier_id @@ -65,10 +81,16 @@ and cancel_flag = '0' and pay_type = 'unPay' - and `vtb_verification`.`supplier_id` in + and `pay_payment`.`supplier_id` in #{selectId} + + and `create_time` >= #{startTime} + + + and `create_time` <= #{endTime} + GROUP BY supplier_id