Browse Source

feat: 标签查询

checkBack
Yen 1 year ago
parent
commit
954ec70de8
  1. 3
      src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java
  2. 71
      src/main/java/com/qs/serve/common/model/tag/TagFiledUtil.java
  3. 5
      src/main/java/com/qs/serve/common/util/AuthContextUtils.java
  4. 2
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  5. 1
      src/main/java/com/qs/serve/modules/bir/controller/BirTbsVtbPayJoinController.java
  6. 1
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java
  7. 52
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  8. 10
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  9. 7
      src/main/java/com/qs/serve/modules/tbs/entity/so/VtbVerificationBatchQuery.java
  10. 10
      src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsCostApplyVo.java
  11. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  12. 12
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java
  13. 38
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  14. 5
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java
  15. 15
      src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java
  16. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java
  17. 68
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  18. 2
      src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml
  19. 4
      src/main/resources/mapper/tag/TagDataMapper.xml
  20. 1
      src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml
  21. 1
      src/main/resources/mapper/vtb/VtbVerificationBatchMapper.xml

3
src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java

@ -38,15 +38,14 @@ public class UnifiedExceptionHandler {
@ResponseBody @ResponseBody
public R handleBindException(BusinessException e,HttpServletRequest request) { public R handleBindException(BusinessException e,HttpServletRequest request) {
log.warn("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI()); log.warn("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI());
e.printStackTrace();
return new R(e.getCode(),e.getMessage()); return new R(e.getCode(),e.getMessage());
} }
@ExceptionHandler(value = NullPointerException.class) @ExceptionHandler(value = NullPointerException.class)
@ResponseBody @ResponseBody
public R handleBindException(NullPointerException e,HttpServletRequest request) { public R handleBindException(NullPointerException e,HttpServletRequest request) {
log.error("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
e.printStackTrace(); e.printStackTrace();
log.error("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
return R.error("数据不存在或被移除"); return R.error("数据不存在或被移除");
} }

71
src/main/java/com/qs/serve/common/model/tag/TagFiledUtil.java

@ -4,7 +4,10 @@ import cn.hutool.core.collection.CollUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.tag.entity.so.TagQuery; import com.qs.serve.modules.tag.entity.so.TagQuery;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.entity.so.VtbVerificationBatchQuery;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -19,29 +22,65 @@ import java.util.Map;
public class TagFiledUtil { public class TagFiledUtil {
public final static Map<String,String> TbsCostApplyPageMap = new HashMap<String,String>(){{ public final static Map<String,String> TbsCostApplyPageMap = new HashMap<String,String>(){{
put("supplier","tbs_cost_apply.supplier_id"); put("supplierId","tbs_cost_apply.supplier_id");
}};
public final static Map<String,String> VtbVerificationPageMap = new HashMap<String,String>(){{
put("supplierId","vtb_verification.supplier_id");
}};
public final static Map<String,String> VtbVerificationBatchPageMap = new HashMap<String,String>(){{
put("supplierId","vtb_verification_batch.supplier_id");
}}; }};
public static void TbsCostApplyPage(TbsCostApply param){ public static void TbsCostApplyPage(TbsCostApply param){
List<TagQuery> newList = new ArrayList<>();
List<TagQuery> paramTagList = param.getTagQueryList(); List<TagQuery> paramTagList = param.getTagQueryList();
for (TagQuery tag : paramTagList) { List<TagQuery> newList = getNewList(paramTagList,TbsCostApplyPageMap);
if(!StringUtils.hasText(tag.getTargetType())){ param.setTagQueryList(newList);
continue; }
}
if (StringUtils.hasText(tag.getTagName()) || CollUtil.isNotEmpty(tag.getTagIds())){
String sqlColumn = TbsCostApplyPageMap.get(tag.getDataField()); public static void VtbVerificationPage(VtbVerification param){
if(StringUtils.hasText(sqlColumn)){ List<TagQuery> paramTagList = param.getTagQueryList();
TagQuery newVal = new TagQuery(); List<TagQuery> newList = getNewList(paramTagList,VtbVerificationPageMap);
newVal.setTargetType(tag.getTargetType()); param.setTagQueryList(newList);
newVal.setTagName(tag.getTagName()); }
newVal.setTagIds(tag.getTagIds());
newVal.setSqlColumn(sqlColumn);
newList.add(newVal); public static void VtbVerificationBatchPage(VtbVerificationBatchQuery param){
List<TagQuery> paramTagList = param.getTagQueryList();
List<TagQuery> newList = getNewList(paramTagList,VtbVerificationBatchPageMap);
param.setTagQueryList(newList);
}
/**
* 创建新的且有效性的查询参数(sql使用了非严谨写法这里做了sql注入过滤)
* @param paramTagList
* @param columnMap
* @return
*/
@NotNull
private static List<TagQuery> getNewList(List<TagQuery> paramTagList,Map<String,String> columnMap) {
List<TagQuery> newList = new ArrayList<>();
if(paramTagList!=null){
for (TagQuery tag : paramTagList) {
if(!StringUtils.hasText(tag.getTargetType())){
continue;
}
if (StringUtils.hasText(tag.getTagName()) || CollUtil.isNotEmpty(tag.getTagIds())){
String sqlColumn = columnMap.get(tag.getDataField());
if(StringUtils.hasText(sqlColumn)){
TagQuery newVal = new TagQuery();
newVal.setTargetType(tag.getTargetType());
newVal.setTagName(tag.getTagName());
newVal.setTagIds(tag.getTagIds());
newVal.setSqlColumn(sqlColumn);
newList.add(newVal);
}
} }
} }
} }
param.setTagQueryList(newList); return newList;
} }
} }

5
src/main/java/com/qs/serve/common/util/AuthContextUtils.java

@ -34,6 +34,11 @@ public class AuthContextUtils {
RES_THEME_LOCK.remove(); RES_THEME_LOCK.remove();
} }
/**
* 标注开发时使用
*/
public static boolean DEV_INDEX = true;
public static String getAppId(){ public static String getAppId(){
return getAppId(true); return getAppId(true);
} }

2
src/main/java/com/qs/serve/controller/AdminPortalController.java

@ -312,7 +312,9 @@ public class AdminPortalController {
*/ */
@GetMapping("/getOrder/{id}") @GetMapping("/getOrder/{id}")
public R<OmsOrder> getById(@PathVariable("id") String id,String supplierId){ public R<OmsOrder> getById(@PathVariable("id") String id,String supplierId){
AuthContextUtils.setTenant("001");
OmsOrder omsOrder = omsOrderService.getById(id); OmsOrder omsOrder = omsOrderService.getById(id);
if(omsOrder==null){return R.errorNotFound();}
omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId())); omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId()));
omsOrder.setAddressInfo(bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId())); omsOrder.setAddressInfo(bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId()));
if(omsOrder.getSupplierId().toString().equals(supplierId)){ if(omsOrder.getSupplierId().toString().equals(supplierId)){

1
src/main/java/com/qs/serve/modules/bir/controller/BirTbsVtbPayJoinController.java

@ -56,7 +56,6 @@ public class BirTbsVtbPayJoinController {
returnMap.put("page",page); returnMap.put("page",page);
returnMap.put("sumData",sumData); returnMap.put("sumData",sumData);
return R.ok(returnMap); return R.ok(returnMap);
} }

1
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java

@ -301,7 +301,6 @@ public class GoodsCustomerPriceServiceImpl extends ServiceImpl<GoodsCustomerPric
//移除旧历史 //移除旧历史
this.remove(new LambdaQueryWrapper<GoodsCustomerPrice>() this.remove(new LambdaQueryWrapper<GoodsCustomerPrice>()
.eq(GoodsCustomerPrice::getSupplierCode, cusCode) .eq(GoodsCustomerPrice::getSupplierCode, cusCode)
.in(GoodsCustomerPrice::getSkuCode,goodsSkus)
); );
if(goodsCustomerPriceList.size()>0){ if(goodsCustomerPriceList.size()>0){
this.saveBatch(goodsCustomerPriceList); this.saveBatch(goodsCustomerPriceList);

52
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -198,7 +198,19 @@ public class TbsCostApplyController {
} }
/** /**
* 翻页(个人及所属的费用申请) * 列表(个人及下属的费用申请)
* @param param
* @return
*/
@PostMapping("/listMy")
public R<List<TbsCostApply>> getListMy4Post(@RequestBody TbsCostApplyVo param){
PageUtil.setPageSize(param.getPageSize());
PageUtil.setPageNum(param.getPageNum());
return this.getListMy4Post(param);
}
/**
* 翻页(个人及所属的费用申请,GET)
* @param param * @param param
* @return * @return
*/ */
@ -218,7 +230,20 @@ public class TbsCostApplyController {
} }
/** /**
* 翻页 * 翻页(个人及所属的费用申请,GET)
* @param param
* @return
*/
@PostMapping("/pageMy")
@PreAuthorize("hasRole('tbs:costApply:query')")
public R<PageVo<TbsCostApply>> getPageMy4Post(TbsCostApplyVo param){
PageUtil.setPageSize(param.getPageSize());
PageUtil.setPageNum(param.getPageNum());
return this.getPageMy(param);
}
/**
* 翻页(Get)
* @param param * @param param
* @return * @return
*/ */
@ -230,16 +255,17 @@ public class TbsCostApplyController {
/** /**
* 翻页 * 翻页(Post)
* @param param * @param param
* @return * @return
*/ */
@PostMapping("/pageDev") @PostMapping("/page")
public R<PageVo<TbsCostApply>> getPageDev(@RequestBody TbsCostApply param){ public R<PageVo<TbsCostApply>> getPage4Post(@RequestBody TbsCostApply param){
TagFiledUtil.TbsCostApplyPage(param); PageUtil.setPageSize(param.getPageSize());
IPage<TbsCostApply> page = tbsCostApplyService.selectPage(param); PageUtil.setPageNum(param.getPageNum());
return R.byMbpList(page); return this.getPage(param);
} }
/** /**
* ID查询 * ID查询
* @param id * @param id
@ -267,16 +293,6 @@ public class TbsCostApplyController {
} }
TbsCostContract contract = costContractService.getByCostApplyId(tbsCostApply.getId()); TbsCostContract contract = costContractService.getByCostApplyId(tbsCostApply.getId());
tbsCostApply.setContractInfo(contract); tbsCostApply.setContractInfo(contract);
// if(tbsCostApply.getContractFlag().equals(1)){
// //协议类
// LambdaQueryWrapper<TbsCostTodo> lqw = new LambdaQueryWrapper<>();
// lqw.eq(TbsCostTodo::getCostApplyId,tbsCostApply.getId());
// lqw.eq(TbsCostTodo::getCheckStatus,1);
// List<TbsCostTodo> costTodoList = costTodoService.list(lqw);
// for (TbsCostTodo costTodo : costTodoList) {
// costTodoOperationService.runCompensate(costTodo.getId()+"");
// }
// }
return R.ok(tbsCostApply); return R.ok(tbsCostApply);
} }

10
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -17,6 +17,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 费用申请 实体类 * 费用申请 实体类
@ -284,11 +285,14 @@ public class TbsCostApply implements Serializable {
@TableField(exist = false) @TableField(exist = false)
List<?> changeInfoLogs; List<?> changeInfoLogs;
/**
* 选择的标签ID
*/
@TableField(exist = false) @TableField(exist = false)
List<TagQuery> tagQueryList; List<TagQuery> tagQueryList;
@TableField(exist = false)
String pageNum;
@TableField(exist = false)
String pageSize;
} }

7
src/main/java/com/qs/serve/modules/tbs/entity/so/VtbVerificationBatchQuery.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.tbs.entity.so;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.qs.serve.modules.tag.entity.so.TagQuery;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -55,4 +56,10 @@ public class VtbVerificationBatchQuery {
private List<String> userIds; private List<String> userIds;
String pageNum;
String pageSize;
@TableField(exist = false)
List<TagQuery> tagQueryList;
} }

10
src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsCostApplyVo.java

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.tag.entity.so.TagQuery;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -109,6 +110,13 @@ public class TbsCostApplyVo implements Serializable {
/** /**
* 选择的标签ID * 选择的标签ID
*/ */
List<String> tagIds; @TableField(exist = false)
List<TagQuery> tagQueryList;
@TableField(exist = false)
String pageNum;
@TableField(exist = false)
String pageSize;
} }

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -18,6 +18,7 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.MonthValues; import com.qs.serve.common.model.enums.MonthValues;
import com.qs.serve.common.model.oa.OaFormMainProcess; import com.qs.serve.common.model.oa.OaFormMainProcess;
import com.qs.serve.common.model.oa.OaUploadFile; import com.qs.serve.common.model.oa.OaUploadFile;
import com.qs.serve.common.model.tag.TagFiledUtil;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods;
@ -291,6 +292,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
@Override @Override
public IPage<TbsCostApply> selectPage(TbsCostApply costApply) { public IPage<TbsCostApply> selectPage(TbsCostApply costApply) {
TagFiledUtil.TbsCostApplyPage(costApply);
int sysConfOfWarningDays = 0; int sysConfOfWarningDays = 0;
try { try {
SysConfigService configService = SpringUtils.getBean(SysConfigService.class); SysConfigService configService = SpringUtils.getBean(SysConfigService.class);

12
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java

@ -82,6 +82,12 @@ public class VtbVerificationBatchController {
List<VtbVerificationBatchVo> list = vtbVerificationBatchService.list2(query); List<VtbVerificationBatchVo> list = vtbVerificationBatchService.list2(query);
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@PostMapping("/page2")
public R<PageVo<VtbVerificationBatchVo>> getPage2Post(@RequestBody VtbVerificationBatchQuery query){
PageUtil.setPageNum(query.getPageNum());
PageUtil.setPageSize(query.getPageSize());
return this.getPage2(query);
}
/** /**
* 翻页2(连表查询-left join tbs_cost_apply) * 翻页2(连表查询-left join tbs_cost_apply)
@ -101,6 +107,12 @@ public class VtbVerificationBatchController {
List<VtbVerificationBatchVo> list = vtbVerificationBatchService.list2(query); List<VtbVerificationBatchVo> list = vtbVerificationBatchService.list2(query);
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@PostMapping("/pageMy")
public R<PageVo<VtbVerificationBatchVo>> getPageMy4Post(@RequestBody VtbVerificationBatchQuery query){
PageUtil.setPageNum(query.getPageNum());
PageUtil.setPageSize(query.getPageSize());
return this.getPageMy(query);
}
/** /**
* ID查询 * ID查询

38
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -9,6 +9,7 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.model.tag.TagFiledUtil;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil; import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil;
import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffair;
@ -106,13 +107,13 @@ public class VtbVerificationController {
/** /**
* 管理员 * 管理员
* @param param * @param param
* @param loadMy
* @param loadChild
* @return * @return
*/ */
@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("hasRole('vtb:verification:query')") @PreAuthorize("hasRole('vtb:verification:query')")
public R<PageVo<VtbVerification>> getPage(VtbVerificationSo param,Integer loadMy,Integer loadChild){ public R<PageVo<VtbVerification>> getPage(VtbVerificationSo param){
Integer loadMy = param.getLoadMy();
Integer loadChild = param.getLoadChild();
VtbVerification query = CopierUtil.copy(param,new VtbVerification()); VtbVerification query = CopierUtil.copy(param,new VtbVerification());
if(loadChild!=null&&loadChild.equals(1)){ if(loadChild!=null&&loadChild.equals(1)){
List<String> userIds = sysPostUserService.listByChildIds(AuthContextUtils.getSysUserId()); List<String> userIds = sysPostUserService.listByChildIds(AuthContextUtils.getSysUserId());
@ -144,16 +145,41 @@ public class VtbVerificationController {
return R.byMbpList(pageResult); return R.byMbpList(pageResult);
} }
/**
* 管理员
* @param param
* @return
*/
@PostMapping("/page")
@PreAuthorize("hasRole('vtb:verification:query')")
public R<PageVo<VtbVerification>> getPage4Post(@RequestBody VtbVerificationSo param){
PageUtil.setPageNum(param.getPageNum());
PageUtil.setPageSize(param.getPageSize());
return getPage(param);
}
/** /**
* 翻页(个人) * 翻页(个人)
* @param param * @param param
* @param loadChild loadChild=1 分页查询所属活动核销
* @return * @return
*/ */
@GetMapping("/pageMy") @GetMapping("/pageMy")
@PreAuthorize("hasRole('vtb:verification:query')") @PreAuthorize("hasRole('vtb:verification:query')")
public R<PageVo<VtbVerification>> pageMy(VtbVerificationSo param,Integer loadChild){ public R<PageVo<VtbVerification>> pageMy(VtbVerificationSo param){
return getPage(param,1,loadChild); param.setLoadMy(1);
return getPage(param);
}
/**
* 翻页(个人)
* @param param
* @return
*/
@PostMapping("/pageMy")
@PreAuthorize("hasRole('vtb:verification:query')")
public R<PageVo<VtbVerification>> pageMy4Post(@RequestBody VtbVerificationSo param){
param.setLoadMy(1);
return getPage(param);
} }
/** /**

5
src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java

@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler;
import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.entity.SysAttach;
import com.qs.serve.modules.tag.entity.so.TagQuery;
import lombok.Data; import lombok.Data;
import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
@ -240,5 +241,9 @@ public class VtbVerification implements Serializable {
@TableField(exist = false) @TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime queryEndTime; private LocalDateTime queryEndTime;
@TableField(exist = false)
List<TagQuery> tagQueryList;
} }

15
src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java

@ -4,12 +4,14 @@ import java.time.LocalDate;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.SqlCondition; import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.tag.entity.so.TagQuery;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -74,5 +76,18 @@ public class VtbVerificationSo implements Serializable {
/** 模板名称 */ /** 模板名称 */
private String templateTitle; private String templateTitle;
Integer loadMy;
/**
* loadChild=1 分页查询所属活动核销
*/
Integer loadChild;
String pageNum;
String pageSize;
@TableField(exist = false)
List<TagQuery> tagQueryList;
} }

2
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java

@ -10,6 +10,7 @@ import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.oa.OaFormMainProcess; import com.qs.serve.common.model.oa.OaFormMainProcess;
import com.qs.serve.common.model.oa.OaUploadFile; import com.qs.serve.common.model.oa.OaUploadFile;
import com.qs.serve.common.model.tag.TagFiledUtil;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.*;
@ -581,6 +582,7 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
@Override @Override
public List<VtbVerificationBatchVo> list2(VtbVerificationBatchQuery query) { public List<VtbVerificationBatchVo> list2(VtbVerificationBatchQuery query) {
TagFiledUtil.VtbVerificationBatchPage(query);
return baseMapper.selectList2(query); return baseMapper.selectList2(query);
} }
} }

68
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -13,6 +13,7 @@ import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.AmountDTO; import com.qs.serve.common.model.AmountDTO;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.tag.TagFiledUtil;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil; import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil;
@ -132,6 +133,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
@Override @Override
public IPage<VtbVerification> selectVerificationList(VtbVerification query) { public IPage<VtbVerification> selectVerificationList(VtbVerification query) {
//初始化标签
TagFiledUtil.VtbVerificationPage(query);
IPage<VtbVerification> iPage = PageUtil.getMbpPage(); IPage<VtbVerification> iPage = PageUtil.getMbpPage();
IPage<VtbVerification> result = baseMapper.selectVerificationList(iPage,query); IPage<VtbVerification> result = baseMapper.selectVerificationList(iPage,query);
return result; return result;
@ -213,6 +216,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
List<TbsActivityCenter> activityCenters4Update = new ArrayList<>(); List<TbsActivityCenter> activityCenters4Update = new ArrayList<>();
List<TbsActivitySubject> activitySubject4Update = new ArrayList<>(); List<TbsActivitySubject> activitySubject4Update = new ArrayList<>();
int countCode = 1; int countCode = 1;
//记录只支付一次
boolean saveOneTimes = false;
for (TbsActivitySubject activitySubject : activitySubjectList) { for (TbsActivitySubject activitySubject : activitySubjectList) {
if(tempTotal.compareTo(BigDecimal.ZERO)<1){ if(tempTotal.compareTo(BigDecimal.ZERO)<1){
break; break;
@ -314,36 +319,16 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
BmsSupplier supplier = new BmsSupplier(); BmsSupplier supplier = new BmsSupplier();
supplier.setCode(activity.getSupplierCode()); supplier.setCode(activity.getSupplierCode());
supplier.setName(activity.getSupplierName()); supplier.setName(activity.getSupplierName());
String COST_TO_PAY_API = projectApisProperties.getCostToPay(); //saveOneTimes,因为多个科目,单支付保存是总额,只保存一次支付
String json = ThirtyVerificationUtil.buildJson(supplier, subject, verification.getAmount() if(!saveOneTimes){
, activity,activity.getActStartDate().atStartOfDay(),activity.getActEndDate().atTime(23,59,59), verification); String COST_TO_PAY_API = projectApisProperties.getCostToPay();
SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json); String json = ThirtyVerificationUtil.buildJson(supplier, subject, verification.getAmount()
syncLog.setTodoState(1); , activity,activity.getActStartDate().atStartOfDay(),activity.getActEndDate().atTime(23,59,59), verification);
sysSyncLogService.save(syncLog); SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json);
// //发送请求到中间服务 syncLog.setTodoState(1);
// XltApticlaim apticlaim = new XltApticlaim(); saveOneTimes = true;
// apticlaim.setVerificationCode(verification.getVerificationCode()); sysSyncLogService.save(syncLog);
// apticlaim.setCostCode(vtbSubCode); }
// apticlaim.setCostCode2(vtbSubCode);
// apticlaim.setCusCode(verification.getSupplierCode());
// apticlaim.setAmount(currentSubjectAmt);
// apticlaim.setSubjectCode(activitySubject.getSubjectCode());
// apticlaim.setSubjectName(activitySubject.getSubjectName());
// apticlaim.setExpType("TI");
// apticlaim.setApplyType("01");
// apticlaim.setEffDate(nowDate_);
// apticlaim.setInvoiced("2");
// apticlaim.setCreateTime(nowDate_);
// apticlaim.setStatus("00");
// apticlaim.setDealTime(nowDate_);
// apticlaim.setTopic(costApply.getChargeTheme());
// try {
// xiaoLuTonService.saveApticlaim(apticlaim);
// log.info("发送对象(apticlaim)到OA服务成功");
// } catch (Exception e) {
// e.printStackTrace();
// log.error("发送对象到OA服务失败,数据内容如下:{}", JsonUtil.objectToJson(apticlaim));
// }
} }
if(CollectionUtil.isNotEmpty(activitySubject4Update)){ if(CollectionUtil.isNotEmpty(activitySubject4Update)){
activitySubjectService.updateBatchById(activitySubject4Update); activitySubjectService.updateBatchById(activitySubject4Update);
@ -1390,6 +1375,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
.collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId)); .collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId));
List<VtbFundFlow> addFundFlowList = new ArrayList<>(); List<VtbFundFlow> addFundFlowList = new ArrayList<>();
boolean hasPayOneTimes = false;
for (VtbVerificationSubject verificationSubject : verificationSubjects) { for (VtbVerificationSubject verificationSubject : verificationSubjects) {
Long subjectId = verificationSubject.getSubjectId(); Long subjectId = verificationSubject.getSubjectId();
BigDecimal usedAmount = verificationSubject.getUsedAmount(); BigDecimal usedAmount = verificationSubject.getUsedAmount();
@ -1444,15 +1431,18 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(!costApply.getContractFlag().equals(1) if(!costApply.getContractFlag().equals(1)
&& toPay && toPay
&& !isDevData){ && !isDevData){
log.warn("核销去支付:{}",verification.getVerificationCode()); //hasPayOneTimes 标记只保存一次支付
String COST_TO_PAY_API = projectApisProperties.getCostToPay(); if(!hasPayOneTimes){
String json = ThirtyVerificationUtil.buildJson(supplier, subject, verification.getAmount() hasPayOneTimes = true;
, activity,activity.getActStartDate().atStartOfDay(),activity.getActEndDate().atTime(23,59,59), verification); log.warn("核销去支付:{}",verification.getVerificationCode());
SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json); String COST_TO_PAY_API = projectApisProperties.getCostToPay();
syncLog.setTodoState(1); String json = ThirtyVerificationUtil.buildJson(supplier, subject, verification.getAmount()
sysSyncLogService.save(syncLog); , activity,activity.getActStartDate().atStartOfDay(),activity.getActEndDate().atTime(23,59,59), verification);
SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json);
syncLog.setTodoState(1);
sysSyncLogService.save(syncLog);
}
} }
} }
fundFlowService.saveBatch(addFundFlowList); fundFlowService.saveBatch(addFundFlowList);
@ -1649,6 +1639,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json); SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json);
syncLog.setTodoState(1); syncLog.setTodoState(1);
sysSyncLogService.save(syncLog); sysSyncLogService.save(syncLog);
//因为保存是总金额,只保存一次支付即可
break;
} }

2
src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml

@ -100,7 +100,7 @@
left join left join
(select activity_id, GROUP_CONCAT(DISTINCT center_name SEPARATOR ', ') AS center_name (select activity_id, GROUP_CONCAT(DISTINCT center_name SEPARATOR ', ') AS center_name
from tbs_activity_center where from tbs_activity_center where
center_name LIKE CONCAT('%', #{query.centerName}, '%') center_name LIKE CONCAT('%', #{query.centerName}, '%') and tbs_activity_center.del_flag = 0
GROUP BY activity_id GROUP BY activity_id
) as ac on act.id = ac.activity_id ) as ac on act.id = ac.activity_id
</if> </if>

4
src/main/resources/mapper/tag/TagDataMapper.xml

@ -71,8 +71,8 @@
</select> </select>
<sql id="tagSelectSql"> <sql id="tagSelectSql">
<if test="query.tagQueryList!=null and query.tagQueryList.size > 0"> <if test="query.TagQueryList!=null and query.TagQueryList.size > 0">
<foreach collection="query.tagQueryList" item="tagQuery" index="i" separator=","> <foreach collection="query.TagQueryList" item="tagQuery" index="i" separator=",">
and ${tagQuery.sqlColumn} in and ${tagQuery.sqlColumn} in
( (
select target_id from tag_data select target_id from tag_data

1
src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml

@ -169,6 +169,7 @@
<if test="query.extUserCode != null and query.extUserCode != ''"> and `vtb_verification`.`ext_user_code` = #{query.extUserCode}</if> <if test="query.extUserCode != null and query.extUserCode != ''"> and `vtb_verification`.`ext_user_code` = #{query.extUserCode}</if>
<if test="query.extUserName != null and query.extUserName != ''"> and `vtb_verification`.`ext_user_name` = #{query.extUserName}</if> <if test="query.extUserName != null and query.extUserName != ''"> and `vtb_verification`.`ext_user_name` = #{query.extUserName}</if>
<if test="query.templateTitle != null and query.templateTitle != ''"> and `vtb_verification`.`template_title` like concat('%', #{query.templateTitle} ,'%')</if> <if test="query.templateTitle != null and query.templateTitle != ''"> and `vtb_verification`.`template_title` like concat('%', #{query.templateTitle} ,'%')</if>
<include refid="com.qs.serve.modules.tag.mapper.TagDataMapper.tagSelectSql"></include>
</where> </where>
order by vtb_verification.id desc order by vtb_verification.id desc
</select> </select>

1
src/main/resources/mapper/vtb/VtbVerificationBatchMapper.xml

@ -111,6 +111,7 @@
<if test="query.supplierBizRegionFirstName != null and query.supplierBizRegionFirstName != ''"> and `tbs_cost_apply`.`supplier_biz_region_first_name` like concat('%', #{query.supplierBizRegionFirstName},'%') </if> <if test="query.supplierBizRegionFirstName != null and query.supplierBizRegionFirstName != ''"> and `tbs_cost_apply`.`supplier_biz_region_first_name` like concat('%', #{query.supplierBizRegionFirstName},'%') </if>
<if test="query.supplierBizRegionSecondName != null and query.supplierBizRegionSecondName != ''"> and `tbs_cost_apply`.`supplier_biz_region_second_name` like concat('%',#{query.supplierBizRegionSecondName},'%') </if> <if test="query.supplierBizRegionSecondName != null and query.supplierBizRegionSecondName != ''"> and `tbs_cost_apply`.`supplier_biz_region_second_name` like concat('%',#{query.supplierBizRegionSecondName},'%') </if>
<if test="query.supplierBizRegionThirdName != null and query.supplierBizRegionThirdName != ''"> and `tbs_cost_apply`.`supplier_biz_region_third_name` like concat('%',#{query.supplierBizRegionThirdName},'%') </if> <if test="query.supplierBizRegionThirdName != null and query.supplierBizRegionThirdName != ''"> and `tbs_cost_apply`.`supplier_biz_region_third_name` like concat('%',#{query.supplierBizRegionThirdName},'%') </if>
<include refid="com.qs.serve.modules.tag.mapper.TagDataMapper.tagSelectSql"></include>
</where> </where>
order by vtb_verification_batch.id desc order by vtb_verification_batch.id desc
</select> </select>

Loading…
Cancel
Save