diff --git a/src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java b/src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java index 71c7fa4b..5ce40205 100644 --- a/src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java +++ b/src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java @@ -89,5 +89,16 @@ public class DateCheckApplyController { return R.ok(detailInfo); } + /** + * 明细帐 + * @return + */ + @RepeatSubmit + @GetMapping("/getPayJoinList") + @SysLog(module = SystemModule.Verification, title = "客户支付帐", biz = BizType.EXPORT) + public R getPayJoinList(DataSupplierSo param){ + + return R.ok(); + } } diff --git a/src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java b/src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java index 141f1ae7..8ea2d59a 100644 --- a/src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java +++ b/src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java @@ -1,8 +1,11 @@ package com.qs.serve.modules.excel.service; +import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.modules.excel.common.DataSupplierSo; import com.qs.serve.modules.excel.entity.DataCheckApplyDetailInfo; import com.qs.serve.modules.excel.entity.DataCheckApplyMainInfo; +import com.qs.serve.modules.vtb.entity.dto.PayPaymentItemExtend; +import com.qs.serve.modules.vtb.entity.so.PayPaymentItemExtendSo; /** * @author YenHex @@ -24,4 +27,7 @@ public interface DateCheckApplyService { */ DataCheckApplyMainInfo getDataCheckApplyMainInfo(DataSupplierSo param); + + PageVo pagePayPaymentItems(PayPaymentItemExtendSo extendSo); + } diff --git a/src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java index 3d6c6102..64bc2697 100644 --- a/src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java @@ -1,7 +1,10 @@ package com.qs.serve.modules.excel.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.RowParam; import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplierContacts; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; @@ -23,6 +26,9 @@ import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplySumAmountMapper; import com.qs.serve.modules.vtb.common.VtbVerificationState; import com.qs.serve.modules.vtb.entity.VtbVerification; +import com.qs.serve.modules.vtb.entity.dto.PayPaymentItemExtend; +import com.qs.serve.modules.vtb.entity.so.PayPaymentItemExtendSo; +import com.qs.serve.modules.vtb.mapper.VtbVerForPayReportMapper; import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +59,7 @@ public class DateCheckApplyServiceImpl implements DateCheckApplyService { private final BmsSupplierMapper supplierMapper; private final BmsSupplierContactsService supplierContactsService; private final TbsCostApplySumAmountMapper tbsCostApplySumAmountMapper; + private final VtbVerForPayReportMapper payReportMapper; @Override public DataCheckApplyDetailInfo getDataCheckApplyDetailInfo(DataSupplierSo param) { @@ -240,4 +247,18 @@ public class DateCheckApplyServiceImpl implements DateCheckApplyService { // } // return mainInfo; } + + + @Override + public PageVo pagePayPaymentItems(PayPaymentItemExtendSo extendSo) { + Long count = payReportMapper.countPayItemList(extendSo); + RowParam rowParam = new RowParam(true); + PageVo pageVo = new PageVo<>(); + pageVo.initPageByTotal(count); + if(count>0){ + List list = payReportMapper.selectPayItemList(extendSo); + pageVo.setList(list); + } + return pageVo; + } } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/dto/PayPaymentItemExtend.java b/src/main/java/com/qs/serve/modules/vtb/entity/dto/PayPaymentItemExtend.java new file mode 100644 index 00000000..67f1dae6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/dto/PayPaymentItemExtend.java @@ -0,0 +1,8 @@ +package com.qs.serve.modules.vtb.entity.dto; + +/** + * @author YenHex + * @since 2023/11/15 + */ +public class PayPaymentItemExtend { +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/so/PayPaymentItemExtendSo.java b/src/main/java/com/qs/serve/modules/vtb/entity/so/PayPaymentItemExtendSo.java new file mode 100644 index 00000000..77fb85ba --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/so/PayPaymentItemExtendSo.java @@ -0,0 +1,86 @@ +package com.qs.serve.modules.vtb.entity.so; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.SqlCondition; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * @author YenHex + * @since 2023/11/16 + */ +@Data +public class PayPaymentItemExtendSo { + /** + * 支付类型 + * pay - 支付 + * unPay - 不再支付 + **/ + private String payType; + + /** 支付id */ + @NotNull(message = "支付id不能为空") + private Long paymentId; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 核销Code */ + private String verificationMainCode; + + /** 核销Code */ + private String verificationCode; + + /** 核销科目项id */ + @NotNull(message = "核销科目项id不能为空") + private Long verificationSubjectId; + + /** 费用申请id */ + @NotNull(message = "费用申请id不能为空") + private Long costApplyId; + + /** 活动id */ + @NotNull(message = "活动id不能为空") + private Long activityId; + + /** 活动编码 */ + @NotBlank(message = "活动编码不能为空") + @Length(max = 30,message = "活动编码长度不能超过30字") + private String activityCode; + + /** 政策项编码 */ + private String policyItemCode; + + /** 科目编码 */ + @NotBlank(message = "科目编码不能为空") + @Length(max = 50,message = "科目编码长度不能超过50字") + private String subjectCode; + + /** 科目名称 */ + @NotBlank(message = "科目名称不能为空") + @Length(max = 50,message = "科目名称长度不能超过50字") + private String subjectName; + + + @TableField(condition = SqlCondition.LIKE) + private String erpId; + + @TableField(condition = SqlCondition.LIKE) + private String billNumber; + + @TableField(exist = false) + private List costApplyIds; + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java index ea557c02..92472e3c 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java @@ -37,6 +37,12 @@ public class VtbVerificationCheckSo { private String wayTitle; + private String centerType; + + private String centerCode; + + private String centerName; + /** 核销开始时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java index d796a5a8..a5dd551b 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java @@ -1,7 +1,9 @@ package com.qs.serve.modules.vtb.mapper; +import com.qs.serve.modules.vtb.entity.dto.PayPaymentItemExtend; import com.qs.serve.modules.vtb.entity.dto.VtbActivityCheckDTO; import com.qs.serve.modules.vtb.entity.dto.VtbVerificationDTO; +import com.qs.serve.modules.vtb.entity.so.PayPaymentItemExtendSo; import com.qs.serve.modules.vtb.entity.so.VtbActivityCheckSo; import com.qs.serve.modules.vtb.entity.so.VtbVerificationCheckSo; import org.apache.ibatis.annotations.Param; @@ -29,4 +31,21 @@ public interface VtbVerForPayReportMapper { // Long countActiveAndVtbDataAmount(@Param("query") VtbActivityCheckSo query); // + /** + * TODO 活动 left 核销 left 支付 + * @param param + * @return + */ + Long countActJoinCheckJoinPay(@Param("query") Object param); + + + Long countPayItemList(@Param("query")Object param); + + /** + * 查询支付 left 核销 left 活动 + * @param param + * @return + */ + List selectPayItemList(@Param("query") PayPaymentItemExtendSo param); + } diff --git a/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml b/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml index 974ee5ef..764d0a7d 100644 --- a/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml +++ b/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml @@ -134,6 +134,8 @@ and `vtb`.`user_name` like concat('%',#{query.userName},'%') and `vtb`.`way_title` = #{query.wayTitle} + and `vtb`.`way_title` = #{query.centerType} + and `cost`.`code` like concat('%',#{query.costApplyCode},'%') and `cost`.`charge_theme` like concat('%',#{query.chargeTheme},'%') @@ -197,5 +199,82 @@ limit #{query.startRow},#{query.pageSize} + + + + + + + pay_payment_item.`id`, + pay_payment_item.`pay_type`, + pay_payment_item.`payment_id`, + pay_payment_item.`supplier_id`, + pay_payment_item.`item_pay_amount`, + pay_payment_item.`verification_id`, + pay_payment_item.`verification_subject_id`, + pay_payment_item.`cost_apply_id`, + pay_payment_item.`activity_id`, + pay_payment_item.`activity_code`, + pay_payment_item.`subject_id`, + pay_payment_item.`subject_code`, + pay_payment_item.`subject_name`, + pay_payment_item.`remark`, + pay_payment_item.`create_time`, + pay_payment_item.`update_time`, + pay_payment_item.`tenant_id`, + pay_payment_item.`create_by`, + pay_payment_item.`update_by`, + pay_payment_item.`del_flag`, + pay_payment_item.`policy_item_id`, + pay_payment_item.`policy_item_code` + + + + and `pay_payment`.`cancel_flag` = #{query.cancelFlag} + and `pay_payment_item`.`id` = #{query.id} + and `pay_payment_item`.`pay_type` = #{query.payType} + and `pay_payment_item`.`payment_id` = #{query.paymentId} + and `pay_payment_item`.`supplier_id` = #{query.supplierId} + and `pay_payment_item`.`item_pay_amount` = #{query.itemPayAmount} + and `pay_payment_item`.`verification_id` = #{query.verificationId} + and `pay_payment_item`.`verification_subject_id` = #{query.verificationSubjectId} + and `pay_payment_item`.`cost_apply_id` = #{query.costApplyId} + and `pay_payment_item`.`activity_id` = #{query.activityId} + and `pay_payment_item`.`activity_code` = #{query.activityCode} + and `pay_payment_item`.`subject_id` = #{query.subjectId} + and `pay_payment_item`.`subject_code` = #{query.subjectCode} + and `pay_payment_item`.`subject_name` = #{query.subjectName} + and `pay_payment_item`.`create_time` = #{query.createTime} + and `pay_payment_item`.`update_time` = #{query.updateTime} + and `pay_payment_item`.`tenant_id` = #{query.tenantId} + and `pay_payment_item`.`create_by` = #{query.createBy} + and `pay_payment_item`.`update_by` = #{query.updateBy} + and `pay_payment_item`.`del_flag` = #{query.delFlag} + and `pay_payment_item`.`policy_item_id` = #{query.policyItemId} + and `pay_payment_item`.`policy_item_code` = #{query.policyItemCode} + + and `pay_payment_item`.`cost_apply_id` in + + #{selectId} + + + + + + + +