diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java index 62f81304..306dc5c9 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java @@ -61,6 +61,7 @@ public class BmsCenterExtendController { public R> getPage(BmsCenterExtendSo param){ BmsCenterExtend entity = CopierUtil.copy(param,new BmsCenterExtend()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + lqw.eq(BmsCenterExtend::getSourceId,0); PageUtil.startPage(); List list = bmsCenterExtendService.list(lqw); for (BmsCenterExtend centerExtend : list) { @@ -108,7 +109,7 @@ public class BmsCenterExtendController { */ @PostMapping("/allocation4Save") @SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.INSERT) - public R allocation(BmsCenterExtendBo param){ + public R allocation(@RequestBody BmsCenterExtendBo param){ BmsCenterExtend detail = bmsCenterExtendService.allocation(param); return R.ok(detail); } @@ -120,7 +121,7 @@ public class BmsCenterExtendController { */ @PostMapping("/allocation4Update") @SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.UPDATE) - public R allocation4Update(BmsCenterExtendBo param){ + public R allocation4Update(@RequestBody BmsCenterExtendBo param){ bmsCenterExtendService.allocation4Update(param); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java index a7a3d406..81a388f6 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java @@ -187,7 +187,7 @@ public class BmsCenterExtendServiceImpl extends ServiceImpl extendUserList = new ArrayList<>(); for (BmsCenterExtendBo.AllocationUser allocationUser : userList) { - totalUser.add(allocationUser.getWeightRate()); + totalUser = totalUser.add(allocationUser.getWeightRate()); BmsCenterExtendUser extendUser = new BmsCenterExtendUser(); SysUser sysUser = sysUserMapper.selectById(allocationUser.getUserId()); extendUser.setChildExtId(childExtendId); @@ -281,6 +281,7 @@ public class BmsCenterExtendServiceImpl extends ServiceImpl dellqw = new LambdaQueryWrapper<>(); dellqw.eq(BmsCenterExtend::getCenterType,param.getType()); dellqw.eq(BmsCenterExtend::getCenterId,param.getSourceCenterId()); + dellqw.ne(BmsCenterExtend::getSourceId,0); dellqw.notIn(BmsCenterExtend::getId,updateIds); this.remove(dellqw); //更新 @@ -296,16 +297,13 @@ public class BmsCenterExtendServiceImpl extends ServiceImpl delUsrLqw = new LambdaQueryWrapper<>(); - delUsrLqw.eq(BmsCenterExtendUser::getChildExtId,centerExtend.getId()); - centerExtendUserService.remove(delUsrLqw); - //重新保存 - TbsCenterDto centerDto2 = centerDtoService.getCenterDto(type,item.getTargetCenterId()); - this.toSaveExtendUser( currentCenter, item.getUserList(), centerDto2, centerExtend.getId()); - } + //todo bug boolean noUpdUserList = item.getUpdateUserListFlag()!=null&&item.getUpdateUserListFlag().equals(0); + LambdaQueryWrapper delUsrLqw = new LambdaQueryWrapper<>(); + delUsrLqw.eq(BmsCenterExtendUser::getChildExtId,centerExtend.getId()); + centerExtendUserService.remove(delUsrLqw); + //重新保存 + TbsCenterDto centerDto2 = centerDtoService.getCenterDto(type,item.getTargetCenterId()); + this.toSaveExtendUser( currentCenter, item.getUserList(), centerDto2, centerExtend.getId()); } } } diff --git a/src/main/java/com/qs/serve/modules/check/service/DateCheckApplyService.java b/src/main/java/com/qs/serve/modules/check/service/DateCheckApplyService.java new file mode 100644 index 00000000..215563ad --- /dev/null +++ b/src/main/java/com/qs/serve/modules/check/service/DateCheckApplyService.java @@ -0,0 +1,27 @@ +package com.qs.serve.modules.check.service; + +import com.qs.serve.modules.check.common.DataSupplierSo; +import com.qs.serve.modules.check.entity.DataCheckApplyDetailInfo; +import com.qs.serve.modules.check.entity.DataCheckApplyMainInfo; + +/** + * @author YenHex + * @since 2023/6/2 + */ +public interface DateCheckApplyService { + + /** + * 获取明细帐 + * @param param + * @return + */ + DataCheckApplyDetailInfo getDataCheckApplyDetailInfo(DataSupplierSo param); + + /** + * 汇总单 + * @param param + * @return + */ + DataCheckApplyMainInfo getDataCheckApplyMainInfo(DataSupplierSo param); + +} diff --git a/src/main/java/com/qs/serve/modules/check/service/impl/DateCheckApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/check/service/impl/DateCheckApplyServiceImpl.java new file mode 100644 index 00000000..8eb4cc47 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/check/service/impl/DateCheckApplyServiceImpl.java @@ -0,0 +1,251 @@ +package com.qs.serve.modules.check.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.entity.BmsSupplierContacts; +import com.qs.serve.modules.bms.mapper.BmsSupplierContactsMapper; +import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; +import com.qs.serve.modules.bms.service.BmsSupplierContactsService; +import com.qs.serve.modules.check.common.DataSupplierSo; +import com.qs.serve.modules.check.entity.DataCheckApplyDetailInfo; +import com.qs.serve.modules.check.entity.DataCheckApplyDetailItem; +import com.qs.serve.modules.check.entity.DataCheckApplyMainInfo; +import com.qs.serve.modules.check.service.DateCheckApplyService; +import com.qs.serve.modules.pay.common.PaymentType; +import com.qs.serve.modules.pay.entity.PayPayment; +import com.qs.serve.modules.pay.entity.PayPaymentItem; +import com.qs.serve.modules.pay.mapper.PayPaymentItemMapper; +import com.qs.serve.modules.pay.mapper.PayPaymentMapper; +import com.qs.serve.modules.tbs.entity.TbsActivity; +import com.qs.serve.modules.tbs.entity.TbsCostApply; +import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; +import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; +import com.qs.serve.modules.vtb.common.VtbVerificationState; +import com.qs.serve.modules.vtb.entity.VtbVerification; +import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author YenHex + * @since 2023/6/2 + */ +@Slf4j +@Service +@AllArgsConstructor +public class DateCheckApplyServiceImpl implements DateCheckApplyService { + + private final TbsActivityMapper activityMapper; + private final TbsCostApplyMapper costApplyMapper; + private final VtbVerificationMapper verificationMapper; + //private final PayPaymentMapper paymentMapper; + private final PayPaymentItemMapper payPaymentItemMapper; + private final BmsSupplierMapper supplierMapper; + private final BmsSupplierContactsService supplierContactsService; + + @Override + public DataCheckApplyDetailInfo getDataCheckApplyDetailInfo(DataSupplierSo param) { + String supplierId = param.getSupplierId(); + BmsSupplier supplier = supplierMapper.selectById(supplierId); + LambdaQueryWrapper conLqw = new LambdaQueryWrapper<>(); + conLqw.eq(BmsSupplierContacts::getSupplierId,supplierId); + BmsSupplierContacts contacts = supplierContactsService.getOne(conLqw,false); + DataCheckApplyDetailInfo detailInfo = new DataCheckApplyDetailInfo(); + detailInfo.setCusName(supplier.getName()); + detailInfo.setCusAddress(supplier.getAddress()); + detailInfo.setCusCode(supplier.getCode()); + if(contacts!=null){ + detailInfo.setContactUser(contacts.getContactsName()); + detailInfo.setContactMobile(contacts.getContactsNumber()); + } + detailInfo.setStartDate(param.getStartDate()); + detailInfo.setEndDate(param.getEndDate()); + + LambdaQueryWrapper actLqw = new LambdaQueryWrapper<>(); + actLqw.eq(TbsActivity::getSupplierId,supplierId); + actLqw.eq(TbsActivity::getCostPassFlag,1); + //暂未定义时间区间 + List activityList = activityMapper.selectList(actLqw); + List detailItemList = new ArrayList<>(); + for (TbsActivity activity : activityList) { + TbsCostApply costApply = costApplyMapper.selectById(activity.getCostApplyId()); + DataCheckApplyDetailItem detailItem = new DataCheckApplyDetailItem(); + detailItem.setActivityCode(activity.getActivityCode()); + detailItem.setActivityDate(costApply.getSubmitTime().toLocalDate().toString()); + detailItem.setActivityTheme(activity.getActTitle()); + detailItem.setCostApplyAmt(activity.getTotalAmount()); + + LambdaQueryWrapper veriLqw = new LambdaQueryWrapper<>(); + veriLqw.select(VtbVerification::getVerificationState,VtbVerification::getAmount); + veriLqw.eq(VtbVerification::getActivityId,activity.getId()); + veriLqw.in(VtbVerification::getVerificationState, + VtbVerificationState.Finished.getCode(), + VtbVerificationState.Rollback.getCode(), + VtbVerificationState.Commiting.getCode()); + List vtbVerificationList = verificationMapper.selectList(veriLqw); + List finishedVeriList= vtbVerificationList.stream() + .filter(a->a.getVerificationState().equals(VtbVerificationState.Finished.getCode())).collect(Collectors.toList()); + List unFinishVeriList= vtbVerificationList.stream() + .filter(a->!a.getVerificationState().equals(VtbVerificationState.Finished.getCode())).collect(Collectors.toList()); + + BigDecimal checkedAmt = BigDecimal.ZERO; + for (VtbVerification verification : finishedVeriList) { + checkedAmt = checkedAmt.add(verification.getAmount()); + } + + BigDecimal notCheckAmt = BigDecimal.ZERO; + for (VtbVerification verification : unFinishVeriList) { + notCheckAmt = notCheckAmt.add(verification.getAmount()); + } + + detailItem.setCheckedAmt(checkedAmt); + detailItem.setCheckingAmt(notCheckAmt); + detailItem.setDontCheckAmt(activity.getReleaseAmount()); + BigDecimal notCheckedAmt = activity.getTotalAmount().subtract(detailItem.getCheckedAmt()) + .subtract(detailItem.getCheckingAmt()) + .subtract(detailItem.getDontCheckAmt()); + detailItem.setNotCheckAmt(notCheckedAmt); + + if(checkedAmt.compareTo(BigDecimal.ZERO)==0){ + detailItem.setPayAmt(BigDecimal.ZERO); + detailItem.setUnPayAmt(BigDecimal.ZERO); + detailItem.setNotPayAmt(BigDecimal.ZERO); + }else { + //已支付 + PayPaymentItem payItemQuery = new PayPaymentItem(); + payItemQuery.setCancelFlag(0); + payItemQuery.setActivityId(activity.getId()); + List allPayList = payPaymentItemMapper.selectPayPaymentItemList(payItemQuery); + List payList = allPayList.stream().filter(a->a.getPayType().equals(PaymentType.PAYMENT)).collect(Collectors.toList()); + List unPayList = allPayList.stream().filter(a->a.getPayType().equals(PaymentType.UN_PAYMENT)).collect(Collectors.toList()); + + //不再支付 + BigDecimal notPayAmt = BigDecimal.ZERO; + for (PayPaymentItem paymentItem : unPayList) { + notPayAmt = notPayAmt.add(paymentItem.getItemPayAmount()); + } + + BigDecimal payAmt = BigDecimal.ZERO; + for (PayPaymentItem paymentItem : payList) { + payAmt = payAmt.add(paymentItem.getItemPayAmount()); + } + //未支付 + BigDecimal unPayAmt = checkedAmt.subtract(payAmt).subtract(notPayAmt); + + detailItem.setPayAmt(payAmt); + detailItem.setUnPayAmt(unPayAmt); + detailItem.setNotPayAmt(notPayAmt); + } + detailItemList.add(detailItem); + } + detailInfo.setDetailList(detailItemList); + return detailInfo; + } + + @Override + public DataCheckApplyMainInfo getDataCheckApplyMainInfo(DataSupplierSo param) { + String supplierId = param.getSupplierId(); + BmsSupplier supplier = supplierMapper.selectById(supplierId); + LambdaQueryWrapper conLqw = new LambdaQueryWrapper<>(); + conLqw.eq(BmsSupplierContacts::getSupplierId,supplierId); + BmsSupplierContacts contacts = supplierContactsService.getOne(conLqw,false); + DataCheckApplyMainInfo mainInfo = new DataCheckApplyMainInfo(); + mainInfo.setCusName(supplier.getName()); + mainInfo.setCusAddress(supplier.getAddress()); + mainInfo.setCusCode(supplier.getCode()); + if(contacts!=null){ + mainInfo.setContactUser(contacts.getContactsName()); + mainInfo.setContactMobile(contacts.getContactsNumber()); + } + mainInfo.setStartDate(null); + mainInfo.setEndDate(LocalDate.now()); + + //申请总金额 + BigDecimal totalAmount = activityMapper.sumSupplierActivityCost(supplierId); + mainInfo.setCostApplyAmt(totalAmount); + if(totalAmount.compareTo(BigDecimal.ZERO)==0){ + mainInfo.setCostApplyAmt(totalAmount); + mainInfo.setCheckedAmt(totalAmount); + mainInfo.setCheckingAmt(totalAmount); + mainInfo.setNotCheckAmt(totalAmount); + mainInfo.setDontCheckAmt(totalAmount); + mainInfo.setPayAmt(totalAmount); + mainInfo.setUnPayAmt(totalAmount); + mainInfo.setNotPayAmt(totalAmount); + }else { + LambdaQueryWrapper veriLqw = new LambdaQueryWrapper<>(); + veriLqw.select(VtbVerification::getVerificationState,VtbVerification::getAmount); + veriLqw.eq(VtbVerification::getSupplierId,supplierId); + veriLqw.in(VtbVerification::getVerificationState, + VtbVerificationState.Finished.getCode(), + VtbVerificationState.Rollback.getCode(), + VtbVerificationState.Commiting.getCode()); + List vtbVerificationList = verificationMapper.selectList(veriLqw); + List finishedVeriList= vtbVerificationList.stream() + .filter(a->a.getVerificationState().equals(VtbVerificationState.Finished.getCode())).collect(Collectors.toList()); + List unFinishVeriList= vtbVerificationList.stream() + .filter(a->!a.getVerificationState().equals(VtbVerificationState.Finished.getCode())).collect(Collectors.toList()); + + BigDecimal checkedAmt = BigDecimal.ZERO; + for (VtbVerification verification : finishedVeriList) { + checkedAmt = checkedAmt.add(verification.getAmount()); + } + + BigDecimal notCheckAmt = BigDecimal.ZERO; + for (VtbVerification verification : unFinishVeriList) { + notCheckAmt = notCheckAmt.add(verification.getAmount()); + } + //不再支付统计 + BigDecimal dontCheckAmt = activityMapper.sumSupplierNotCheckCost(supplierId); + + mainInfo.setCheckedAmt(checkedAmt); + mainInfo.setCheckingAmt(notCheckAmt); + mainInfo.setDontCheckAmt(dontCheckAmt); + BigDecimal notCheckedAmt = mainInfo.getCostApplyAmt().subtract(mainInfo.getCheckedAmt()) + .subtract(mainInfo.getCheckingAmt()) + .subtract(mainInfo.getDontCheckAmt()); + mainInfo.setNotCheckAmt(notCheckedAmt); + + if(checkedAmt.compareTo(BigDecimal.ZERO)>0){ + + //已支付 + PayPaymentItem payItemQuery = new PayPaymentItem(); + payItemQuery.setCancelFlag(0); + payItemQuery.setSupplierId(Long.parseLong(supplierId)); + List allPayList = payPaymentItemMapper.selectPayPaymentItemList(payItemQuery); + List payList = allPayList.stream().filter(a->a.getPayType().equals(PaymentType.PAYMENT)).collect(Collectors.toList()); + List unPayList = allPayList.stream().filter(a->a.getPayType().equals(PaymentType.UN_PAYMENT)).collect(Collectors.toList()); + + //不再支付 + BigDecimal notPayAmt = BigDecimal.ZERO; + for (PayPaymentItem paymentItem : unPayList) { + notPayAmt = notPayAmt.add(paymentItem.getItemPayAmount()); + } + + BigDecimal payAmt = BigDecimal.ZERO; + for (PayPaymentItem paymentItem : payList) { + payAmt = payAmt.add(paymentItem.getItemPayAmount()); + } + //未支付 + BigDecimal unPayAmt = checkedAmt.subtract(payAmt).subtract(notPayAmt); + + mainInfo.setPayAmt(payAmt); + mainInfo.setUnPayAmt(unPayAmt); + mainInfo.setNotPayAmt(notPayAmt); + }else { + mainInfo.setPayAmt(BigDecimal.ZERO); + mainInfo.setUnPayAmt(BigDecimal.ZERO); + mainInfo.setNotPayAmt(BigDecimal.ZERO); + } + + } + return mainInfo; + } +} diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java index b43d9de8..af4f68c8 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -27,6 +27,7 @@ import com.qs.serve.modules.goods.service.GoodsSkuService; import javax.validation.Valid; import java.util.List; +import java.util.Random; /** * 商品 sku @@ -53,7 +54,9 @@ public class GoodsSkuController { @PreAuthorize("hasRole('goods:sku:query')") public R> getList(GoodsSku param){ List list = goodsSkuService.selectSkuVo(param); + Random rd = new Random(); for (GoodSkuVo goodSkuVo : list) { + goodSkuVo.setStock(rd.nextInt(3)); List skuSpecValueVos = goodsSkuSpecValueService.listSpecValueBySkuId(goodSkuVo.getId()); goodSkuVo.setSpecValueList(skuSpecValueVos); } diff --git a/src/main/java/com/qs/serve/modules/pay/entity/PayPaymentItem.java b/src/main/java/com/qs/serve/modules/pay/entity/PayPaymentItem.java index 8ec285d2..9b9d5b04 100644 --- a/src/main/java/com/qs/serve/modules/pay/entity/PayPaymentItem.java +++ b/src/main/java/com/qs/serve/modules/pay/entity/PayPaymentItem.java @@ -125,5 +125,15 @@ public class PayPaymentItem implements Serializable { @JsonProperty private String delFlag; + + /** + * 后端参数,请忽略 + * 支付主表的取消标识 + * 不再支付列表:0-冻结;1-解冻 + * 支付列表:0-正常;1-取消 + **/ + @TableField(exist = false) + private Integer cancelFlag; + } diff --git a/src/main/java/com/qs/serve/modules/pay/mapper/PayPaymentItemMapper.java b/src/main/java/com/qs/serve/modules/pay/mapper/PayPaymentItemMapper.java index 3cda8d41..15759a59 100644 --- a/src/main/java/com/qs/serve/modules/pay/mapper/PayPaymentItemMapper.java +++ b/src/main/java/com/qs/serve/modules/pay/mapper/PayPaymentItemMapper.java @@ -2,7 +2,9 @@ package com.qs.serve.modules.pay.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.pay.entity.PayPaymentItem; +import org.apache.ibatis.annotations.Param; +import java.util.List; /** * 支付明细项 Mapper * @author YenHex @@ -10,5 +12,7 @@ import com.qs.serve.modules.pay.entity.PayPaymentItem; */ public interface PayPaymentItemMapper extends BaseMapper { + List selectPayPaymentItemList(@Param("query") PayPaymentItem payment); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java index 5daf3530..b4560cf0 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java @@ -2,6 +2,10 @@ package com.qs.serve.modules.tbs.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.tbs.entity.TbsActivity; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; /** * 费用活动 Mapper @@ -10,5 +14,21 @@ import com.qs.serve.modules.tbs.entity.TbsActivity; */ public interface TbsActivityMapper extends BaseMapper { + /** + * 统计用户所有通过审核的费用 + * @param supplierId + * @return + */ + @Select("select sum(total_amount) from tbs_activity where supplier_id = #{supplierId} and costPassFlag = 1") + BigDecimal sumSupplierActivityCost(@Param("supplierId")String supplierId); + + /** + * 不予核销金额 + * @param supplierId + * @return + */ + @Select("select sum(release_amount) from tbs_activity where supplier_id = #{supplierId} and costPassFlag = 1 and release_flag = 1") + BigDecimal sumSupplierNotCheckCost(@Param("supplierId")String supplierId); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java index 2073f27b..973e35cb 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java @@ -2,6 +2,10 @@ package com.qs.serve.modules.tbs.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.tbs.entity.TbsCostApply; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; /** * 费用申请 Mapper diff --git a/src/main/resources/mapper/pay/PayPaymentItemMapper.xml b/src/main/resources/mapper/pay/PayPaymentItemMapper.xml new file mode 100644 index 00000000..223b9a6e --- /dev/null +++ b/src/main/resources/mapper/pay/PayPaymentItemMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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` + + + +