From a06a56a2f1b9220b875640c3ae4b7a08f966ca30 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 12 Jul 2024 15:49:49 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E9=87=8D=E6=9E=84=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/VtbVerificationController.java | 47 ++--- .../modules/vtb/entity/VtbVerification.java | 12 ++ .../vtb/mapper/VtbVerificationMapper.java | 10 ++ .../vtb/service/VtbVerificationService.java | 2 + .../impl/VtbVerificationServiceImpl.java | 8 + .../mapper/vtb/VtbVerfifcationMapper.xml | 170 ++++++++++++++++++ 6 files changed, 212 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index 6f301925..b75adff0 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.vtb.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.qs.serve.common.config.properties.ProjectApisProperties; import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; @@ -112,50 +113,23 @@ public class VtbVerificationController { @GetMapping("/page") @PreAuthorize("hasRole('vtb:verification:query')") public R> getPage(VtbVerificationSo param,Integer loadMy,Integer loadChild){ - VtbVerification entity = CopierUtil.copy(param,new VtbVerification()); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); - //减少mysql limit 产生的 IO - lqw.select(VtbVerification::getId); - if(param.getQueryStartTime()!=null){ - lqw.ge(VtbVerification::getCreateTime,param.getQueryStartTime()); - } - if(param.getQueryEndTime()!=null){ - lqw.le(VtbVerification::getCreateTime,param.getQueryEndTime()); - } + VtbVerification query = CopierUtil.copy(param,new VtbVerification()); if(loadChild!=null&&loadChild.equals(1)){ List userIds = sysPostUserService.listByChildIds(AuthContextUtils.getSysUserId()); userIds.add(AuthContextUtils.getSysUserId()); - if(userIds.size()==1){ - lqw.and(qw->{ - qw.eq(VtbVerification::getUserId,userIds.get(0)) - .or().eq(VtbVerification::getExtUserId,userIds.get(0)); - }); - - }else { - lqw.and(qw->{ - qw.in(VtbVerification::getUserId,userIds) - .or().in(VtbVerification::getExtUserId,userIds); - }); - } + query.setSelectUserIds(userIds); }else if(loadMy!=null&&loadMy.equals(1)){ - lqw.eq(VtbVerification::getUserId,AuthContextUtils.getSysUserId()); - } - if(StringUtils.hasText(param.getTemplateTitle())){ - lqw.like(VtbVerification::getTemplateTitle,param.getTemplateTitle()); + query.setSelectUserIds(Arrays.asList(AuthContextUtils.getSysUserId())); } - lqw.orderByDesc(VtbVerification::getId); - PageUtil.startPage(); - List listObjectIds = vtbVerificationService.list(lqw); - if(listObjectIds.size()<1){ - return R.byEmptyList(); + IPage pageResult = vtbVerificationService.selectVerificationList(query); + if(pageResult.getRecords().size()<1){ + return R.byMbpList(pageResult); } - List veriIds = listObjectIds.stream().map(VtbVerification::getId).collect(Collectors.toList()); - List list = vtbVerificationService.listByIds(veriIds); - List actIds = list.stream().map(VtbVerification::getActivityId).distinct().collect(Collectors.toList()); + List actIds = pageResult.getRecords().stream().map(VtbVerification::getActivityId).distinct().collect(Collectors.toList()); List activityList = tbsActivityService.listByIds(actIds); List costIds = activityList.stream().map(TbsActivity::getCostApplyId).distinct().collect(Collectors.toList()); List costList = tbsCostApplyService.listByIds(costIds); - for (VtbVerification verification : list) { + for (VtbVerification verification : pageResult.getRecords()) { for (TbsActivity activity : activityList) { if(activity.getId().equals(verification.getActivityId())){ verification.setActivityInfo(activity); @@ -167,8 +141,7 @@ public class VtbVerificationController { } } } - Collections.reverse(list); - return R.byPageHelperList(listObjectIds,list); + return R.byMbpList(pageResult); } /** diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java index ee05c5c6..fb4e1faf 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java @@ -222,11 +222,23 @@ public class VtbVerification implements Serializable { @TableField(exist = false) private Object activityInfo; + @TableField(exist = false) + private List selectUserIds; + /** * 费用申请 */ @TableField(exist = false) private Object costApplyInfo; + /** 开始时间 */ + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime queryStartTime; + + /** 结束时间 */ + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime queryEndTime; } diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java index e095e67c..1ccf8eba 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java @@ -2,7 +2,9 @@ package com.qs.serve.modules.vtb.mapper; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.vtb.entity.VtbVerification; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -19,6 +21,14 @@ import java.util.List; public interface VtbVerificationMapper extends BaseMapper { + /** + * 查询列表 + * @param page + * @param param + * @return + */ + IPage selectVerificationList(IPage page, @Param("query")VtbVerification param); + @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and batch_id = #{batchId} ") BigDecimal totalVtbAmtByBatchId(@Param("batchId")Long batchId); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java index 709c9f2e..ab8435a0 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.vtb.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.bms.entity.BmsSupplier; @@ -25,6 +26,7 @@ import java.util.Map; */ public interface VtbVerificationService extends IService { + IPage selectVerificationList(VtbVerification query) ; /** * 创建协议类核销记录 diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 0f3869da..54aa9388 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.vtb.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.config.properties.ProjectApisProperties; @@ -129,6 +130,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl selectVerificationList(VtbVerification query) { + IPage iPage = PageUtil.getMbpPage(); + IPage result = baseMapper.selectVerificationList(iPage,query); + return result; + } + @Override @Transactional(rollbackFor = Exception.class) public void createContactRecord(VtbVerificationContactBo param) { diff --git a/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml b/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml index 4a203791..aebd0c5c 100644 --- a/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml +++ b/src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml @@ -2,6 +2,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vtb_verification.`id`, + vtb_verification.`verification_main_code`, + vtb_verification.`verification_code`, + vtb_verification.`finished_time`, + vtb_verification.`batch_id`, + vtb_verification.`cost_apply_id`, + vtb_verification.`activity_id`, + vtb_verification.`policy_item_id`, + vtb_verification.`policy_item_code`, + vtb_verification.`attach_ids`, + vtb_verification.`verification_state`, + vtb_verification.`payment_state`, + vtb_verification.`reg_release_flag`, + vtb_verification.`reg_release_user_id`, + vtb_verification.`amount`, + vtb_verification.`amount_record`, + vtb_verification.`way_id`, + vtb_verification.`way_title`, + vtb_verification.`dis_code`, + vtb_verification.`bill_number`, + vtb_verification.`remark`, + vtb_verification.`create_time`, + vtb_verification.`update_time`, + vtb_verification.`tenant_id`, + vtb_verification.`create_by`, + vtb_verification.`update_by`, + vtb_verification.`del_flag`, + vtb_verification.`sy_form_id`, + vtb_verification.`sy_flow_id`, + vtb_verification.`supplier_id`, + vtb_verification.`supplier_code`, + vtb_verification.`supplier_name`, + vtb_verification.`user_id`, + vtb_verification.`user_code`, + vtb_verification.`user_name`, + vtb_verification.`pay_condition_id`, + vtb_verification.`activity_code`, + vtb_verification.`cost_apply_code`, + vtb_verification.`supplier_biz_region_first_name`, + vtb_verification.`supplier_biz_region_second_name`, + vtb_verification.`supplier_biz_region_third_name`, + vtb_verification.`input_release_flag`, + vtb_verification.`pay_release_flag`, + vtb_verification.`ext_user_id`, + vtb_verification.`ext_user_code`, + vtb_verification.`ext_user_name`, + vtb_verification.`template_title` + + + + update vtb_verification