Browse Source

支付外联查询

v1.0
Yen 2 years ago
parent
commit
c5a54236b9
  1. 11
      src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java
  2. 6
      src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java
  3. 21
      src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java
  4. 8
      src/main/java/com/qs/serve/modules/vtb/entity/dto/PayPaymentItemExtend.java
  5. 86
      src/main/java/com/qs/serve/modules/vtb/entity/so/PayPaymentItemExtendSo.java
  6. 6
      src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java
  7. 19
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java
  8. 79
      src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml

11
src/main/java/com/qs/serve/modules/excel/controller/DateCheckApplyController.java

@ -89,5 +89,16 @@ public class DateCheckApplyController {
return R.ok(detailInfo); return R.ok(detailInfo);
} }
/**
* 明细帐
* @return
*/
@RepeatSubmit
@GetMapping("/getPayJoinList")
@SysLog(module = SystemModule.Verification, title = "客户支付帐", biz = BizType.EXPORT)
public R<DataCheckApplyDetailInfo> getPayJoinList(DataSupplierSo param){
return R.ok();
}
} }

6
src/main/java/com/qs/serve/modules/excel/service/DateCheckApplyService.java

@ -1,8 +1,11 @@
package com.qs.serve.modules.excel.service; 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.common.DataSupplierSo;
import com.qs.serve.modules.excel.entity.DataCheckApplyDetailInfo; import com.qs.serve.modules.excel.entity.DataCheckApplyDetailInfo;
import com.qs.serve.modules.excel.entity.DataCheckApplyMainInfo; 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 * @author YenHex
@ -24,4 +27,7 @@ public interface DateCheckApplyService {
*/ */
DataCheckApplyMainInfo getDataCheckApplyMainInfo(DataSupplierSo param); DataCheckApplyMainInfo getDataCheckApplyMainInfo(DataSupplierSo param);
PageVo<PayPaymentItemExtend> pagePayPaymentItems(PayPaymentItemExtendSo extendSo);
} }

21
src/main/java/com/qs/serve/modules/excel/service/impl/DateCheckApplyServiceImpl.java

@ -1,7 +1,10 @@
package com.qs.serve.modules.excel.service.impl; package com.qs.serve.modules.excel.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.CollectionUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierContacts; import com.qs.serve.modules.bms.entity.BmsSupplierContacts;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; 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.tbs.mapper.TbsCostApplySumAmountMapper;
import com.qs.serve.modules.vtb.common.VtbVerificationState; import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification; 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 com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -53,6 +59,7 @@ public class DateCheckApplyServiceImpl implements DateCheckApplyService {
private final BmsSupplierMapper supplierMapper; private final BmsSupplierMapper supplierMapper;
private final BmsSupplierContactsService supplierContactsService; private final BmsSupplierContactsService supplierContactsService;
private final TbsCostApplySumAmountMapper tbsCostApplySumAmountMapper; private final TbsCostApplySumAmountMapper tbsCostApplySumAmountMapper;
private final VtbVerForPayReportMapper payReportMapper;
@Override @Override
public DataCheckApplyDetailInfo getDataCheckApplyDetailInfo(DataSupplierSo param) { public DataCheckApplyDetailInfo getDataCheckApplyDetailInfo(DataSupplierSo param) {
@ -240,4 +247,18 @@ public class DateCheckApplyServiceImpl implements DateCheckApplyService {
// } // }
// return mainInfo; // return mainInfo;
} }
@Override
public PageVo<PayPaymentItemExtend> pagePayPaymentItems(PayPaymentItemExtendSo extendSo) {
Long count = payReportMapper.countPayItemList(extendSo);
RowParam rowParam = new RowParam(true);
PageVo<PayPaymentItemExtend> pageVo = new PageVo<>();
pageVo.initPageByTotal(count);
if(count>0){
List<PayPaymentItemExtend> list = payReportMapper.selectPayItemList(extendSo);
pageVo.setList(list);
}
return pageVo;
}
} }

8
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 {
}

86
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<Long> costApplyIds;
}

6
src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java

@ -37,6 +37,12 @@ public class VtbVerificationCheckSo {
private String wayTitle; private String wayTitle;
private String centerType;
private String centerCode;
private String centerName;
/** 核销开始时间 */ /** 核销开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

19
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerForPayReportMapper.java

@ -1,7 +1,9 @@
package com.qs.serve.modules.vtb.mapper; 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.VtbActivityCheckDTO;
import com.qs.serve.modules.vtb.entity.dto.VtbVerificationDTO; 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.VtbActivityCheckSo;
import com.qs.serve.modules.vtb.entity.so.VtbVerificationCheckSo; import com.qs.serve.modules.vtb.entity.so.VtbVerificationCheckSo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -29,4 +31,21 @@ public interface VtbVerForPayReportMapper {
// Long countActiveAndVtbDataAmount(@Param("query") VtbActivityCheckSo query); // 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<PayPaymentItemExtend> selectPayItemList(@Param("query") PayPaymentItemExtendSo param);
} }

79
src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml

@ -134,6 +134,8 @@
<if test="query.userName != null and query.userName != ''"> and `vtb`.`user_name` like concat('%',#{query.userName},'%')</if> <if test="query.userName != null and query.userName != ''"> and `vtb`.`user_name` like concat('%',#{query.userName},'%')</if>
<if test="query.wayTitle != null and query.wayTitle != ''"> and `vtb`.`way_title` = #{query.wayTitle}</if> <if test="query.wayTitle != null and query.wayTitle != ''"> and `vtb`.`way_title` = #{query.wayTitle}</if>
<if test="query.centerType != null and query.centerType != ''"> and `vtb`.`way_title` = #{query.centerType}</if>
<if test="query.costApplyCode != null and query.costApplyCode != ''"> and `cost`.`code` like concat('%',#{query.costApplyCode},'%')</if> <if test="query.costApplyCode != null and query.costApplyCode != ''"> and `cost`.`code` like concat('%',#{query.costApplyCode},'%')</if>
<if test="query.chargeTheme != null and query.chargeTheme != ''"> and `cost`.`charge_theme` like concat('%',#{query.chargeTheme},'%')</if> <if test="query.chargeTheme != null and query.chargeTheme != ''"> and `cost`.`charge_theme` like concat('%',#{query.chargeTheme},'%')</if>
@ -197,5 +199,82 @@
limit #{query.startRow},#{query.pageSize} limit #{query.startRow},#{query.pageSize}
</if> </if>
</select> </select>
<select id="countActJoinCheckJoinPay" resultType="java.lang.Long">
</select>
<sql id="payPaymentItemSql">
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` </sql>
<sql id="payBaseWhere">
<where>
<if test="query.cancelFlag != null"> and `pay_payment`.`cancel_flag` = #{query.cancelFlag}</if>
<if test="query.id != null"> and `pay_payment_item`.`id` = #{query.id}</if>
<if test="query.payType != null and query.payType != ''"> and `pay_payment_item`.`pay_type` = #{query.payType}</if>
<if test="query.paymentId != null"> and `pay_payment_item`.`payment_id` = #{query.paymentId}</if>
<if test="query.supplierId != null"> and `pay_payment_item`.`supplier_id` = #{query.supplierId}</if>
<if test="query.itemPayAmount != null"> and `pay_payment_item`.`item_pay_amount` = #{query.itemPayAmount}</if>
<if test="query.verificationId != null"> and `pay_payment_item`.`verification_id` = #{query.verificationId}</if>
<if test="query.verificationSubjectId != null"> and `pay_payment_item`.`verification_subject_id` = #{query.verificationSubjectId}</if>
<if test="query.costApplyId != null"> and `pay_payment_item`.`cost_apply_id` = #{query.costApplyId}</if>
<if test="query.activityId != null"> and `pay_payment_item`.`activity_id` = #{query.activityId}</if>
<if test="query.activityCode != null and query.activityCode != ''"> and `pay_payment_item`.`activity_code` = #{query.activityCode}</if>
<if test="query.subjectId != null"> and `pay_payment_item`.`subject_id` = #{query.subjectId}</if>
<if test="query.subjectCode != null and query.subjectCode != ''"> and `pay_payment_item`.`subject_code` = #{query.subjectCode}</if>
<if test="query.subjectName != null and query.subjectName != ''"> and `pay_payment_item`.`subject_name` = #{query.subjectName}</if>
<if test="query.createTime != null"> and `pay_payment_item`.`create_time` = #{query.createTime}</if>
<if test="query.updateTime != null"> and `pay_payment_item`.`update_time` = #{query.updateTime}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `pay_payment_item`.`tenant_id` = #{query.tenantId}</if>
<if test="query.createBy != null and query.createBy != ''"> and `pay_payment_item`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `pay_payment_item`.`update_by` = #{query.updateBy}</if>
<if test="query.delFlag != null and query.delFlag != ''"> and `pay_payment_item`.`del_flag` = #{query.delFlag}</if>
<if test="query.policyItemId != null"> and `pay_payment_item`.`policy_item_id` = #{query.policyItemId}</if>
<if test="query.policyItemCode != null and query.policyItemCode != ''"> and `pay_payment_item`.`policy_item_code` = #{query.policyItemCode}</if>
<if test="query.costApplyIds!=null and query.costApplyIds.size > 0">
and `pay_payment_item`.`cost_apply_id` in
<foreach collection="query.costApplyIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
</where>
</sql>
<select id="selectPayItemList" resultType="com.qs.serve.modules.vtb.entity.dto.PayPaymentItemExtend">
SELECT <include refid="payPaymentItemSql"/>
FROM `pay_payment_item` `pay_payment_item`
left join pay_payment on pay_payment_item.payment_id = pay_payment.id
left join vtb_verification vtb on pay_payment_item.verification_id = vtb.id
left join tbs_activity act on act.id = vtb.activity_id
<include refid="payBaseWhere"></include>
limit
</select>
<select id="countPayItemList" resultType="java.lang.Long">
</select>
</mapper> </mapper>

Loading…
Cancel
Save