From 8ff6840271f9b8f6bbe589d4239d24fbabb526c7 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 19 Dec 2023 11:24:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E7=AD=96=E6=9F=A5=E8=AF=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/UnifiedExceptionHandler.java | 1 - .../controller/TbsCostApplyController.java | 13 +++ .../modules/tbs/entity/TbsCostApply.java | 5 + .../TbsActivityChannelPointService.java | 3 + .../tbs/service/TbsCostChangeInfoService.java | 3 + .../TbsActivityChannelPointServiceImpl.java | 10 ++ .../impl/TbsCostChangeInfoServiceImpl.java | 61 +++++++++++- .../modules/third/PortalOfCostController.java | 4 + .../tzc/controller/TzcPolicyController.java | 14 +-- .../serve/modules/tzc/entity/TzcPolicy.java | 7 ++ .../modules/tzc/mapper/TzcPolicyMapper.java | 9 ++ .../modules/tzc/service/TzcPolicyService.java | 3 + .../service/impl/TzcPolicyServiceImpl.java | 7 ++ .../resources/mapper/tzc/TzcPolicyMapper.xml | 99 +++++++++++++++++++ 14 files changed, 225 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java b/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java index e14d98a7..079f2780 100644 --- a/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java +++ b/src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java @@ -45,7 +45,6 @@ public class UnifiedExceptionHandler { @ExceptionHandler(value = NullPointerException.class) @ResponseBody public R handleBindException(NullPointerException e,HttpServletRequest request) { - e.printStackTrace(); log.error("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI()); e.printStackTrace(); return R.error("数据不存在或被移除"); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index faf9702e..98c51395 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -86,6 +86,7 @@ public class TbsCostApplyController { private TbsScheduleItemBudgetService tbsScheduleItemBudgetService; private SysDeleteLogService deleteLogService; private TbsCostApplyMapper tbsCostApplyMapper; + private TbsCostChangeInfoService tbsCostChangeInfoService; /** @@ -226,6 +227,13 @@ public class TbsCostApplyController { e.printStackTrace(); } } + if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_7_changed.getCode())){ + try { + tbsCostChangeInfoService.compareToBuildChangeInfo(tbsCostApply.getId(),tbsCostApply.getChangeExtendId()); + } catch (Exception e) { + e.printStackTrace(); + } + } TbsCostContract contract = costContractService.getByCostApplyId(tbsCostApply.getId()); tbsCostApply.setContractInfo(contract); return R.ok(tbsCostApply); @@ -341,6 +349,11 @@ public class TbsCostApplyController { lqw.eq(TbsCostApply::getCode,costApply.getCode()); lqw.orderByAsc(TbsCostApply::getCreateTime); List costApplyList = tbsCostApplyService.list(lqw); + for (TbsCostApply apply : costApplyList) { + tbsCostChangeInfoService.compareToBuildChangeInfo(apply.getChangeSourceId(),apply.getChangeExtendId()); + List changeInfoList = tbsCostChangeInfoService.listByExtendCostApplyId(apply.getId()); + apply.setChangeInfoLogs(changeInfoList); + } return R.ok(costApplyList); } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java index 4a4b89df..5d1f6e4b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java @@ -269,5 +269,10 @@ public class TbsCostApply implements Serializable { List selectUserIds; + /** + * 异动修改日志 + */ + @TableField(exist = false) + List changeInfoLogs; } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityChannelPointService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityChannelPointService.java index 38b3ce88..f8565972 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityChannelPointService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityChannelPointService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.tbs.entity.TbsActivityChannelPoint; +import java.util.List; /** * 活动网点项 服务接口 @@ -10,5 +11,7 @@ import com.qs.serve.modules.tbs.entity.TbsActivityChannelPoint; */ public interface TbsActivityChannelPointService extends IService { + List listByActivityId(Long activityId); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostChangeInfoService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostChangeInfoService.java index 9e6b18c0..cbf31580 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostChangeInfoService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostChangeInfoService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.tbs.entity.TbsCostChangeInfo; +import java.util.List; /** * 异动信息 服务接口 @@ -12,5 +13,7 @@ public interface TbsCostChangeInfoService extends IService { void compareToBuildChangeInfo(Long orgId,Long newId); + List listByExtendCostApplyId(Long newId); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityChannelPointServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityChannelPointServiceImpl.java index d2d8e585..0c7de16d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityChannelPointServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityChannelPointServiceImpl.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,6 +9,8 @@ import com.qs.serve.modules.tbs.entity.TbsActivityChannelPoint; import com.qs.serve.modules.tbs.service.TbsActivityChannelPointService; import com.qs.serve.modules.tbs.mapper.TbsActivityChannelPointMapper; +import java.util.List; + /** * 活动网点项 服务实现类 * @author YenHex @@ -18,5 +21,12 @@ import com.qs.serve.modules.tbs.mapper.TbsActivityChannelPointMapper; @AllArgsConstructor public class TbsActivityChannelPointServiceImpl extends ServiceImpl implements TbsActivityChannelPointService { + @Override + public List listByActivityId(Long activityId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsActivityChannelPoint::getActivityId,activityId); + return this.list(lqw); + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java index 40c9b8ee..f24cff41 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java @@ -60,9 +60,27 @@ public class TbsCostChangeInfoServiceImpl extends ServiceImpl listByExtendCostApplyId(Long newId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsCostChangeInfo::getExtendId,newId); + return this.list(lqw); + } @Override public void compareToBuildChangeInfo(Long orgId, Long newId) { + if (orgId==null||newId==null){ + return; + } + LambdaQueryWrapper checkBuild = new LambdaQueryWrapper<>(); + checkBuild.eq(TbsCostChangeInfo::getSourceId,orgId); + checkBuild.eq(TbsCostChangeInfo::getExtendId,newId); + Long count = this.count(checkBuild); + if(count>0){ + return; + } List changeInfoList = new ArrayList<>(); TbsCostApply oldApply = costApplyService.getById(orgId); TbsCostApply newApply = costApplyService.getById(newId); @@ -122,11 +140,48 @@ public class TbsCostChangeInfoServiceImpl extends ServiceImpl changeInfoList ) { - + List orgPointList = activityChannelPointService.listByActivityId(orgAct.getId()); + List newPointList = activityChannelPointService.listByActivityId(newAct.getId()); + boolean hasChannel = orgPointList.size()>0||newPointList.size()>0; + if(hasChannel){ + for (TbsActivityChannelPoint oldChannel : orgPointList) { + boolean matchOld = false; + for (TbsActivityChannelPoint newChannel : newPointList) { + if(oldChannel.getPointId().equals(newChannel.getPointId())){ + matchOld = true; + if(oldChannel.getPointRate().compareTo(newChannel.getPointRate())!=0) { + changeInfoList.add(TbsCostChangeInfo.toNewObject("活动["+orgAct.getActivityCode()+"]网点更变", + "原费用占比:"+oldChannel.getPointRate()+"%" + +"; 异动后占比:"+newChannel.getPointRate()+"%")); + } + } + } + if(!matchOld){ + changeInfoList.add(TbsCostChangeInfo.toNewObject("活动["+orgAct.getActivityCode()+"]网点删除", + oldChannel.getPointCode()+"/"+oldChannel.getPointName())); + } + } + for (TbsActivityChannelPoint newChannel : newPointList) { + boolean matchNew = false; + for (TbsActivityChannelPoint oldChannel : orgPointList) { + if(oldChannel.getPointId().equals(newChannel.getPointId())){ + matchNew = true; + } + } + if(!matchNew){ + changeInfoList.add(TbsCostChangeInfo.toNewObject("活动["+orgAct.getActivityCode()+"]网点新增", + newChannel.getPointCode()+"/"+newChannel.getPointName())); + } + } + } } private void buildChannelByActs(TbsActivity orgAct, TbsActivity newAct,List changeInfoList ) { @@ -144,7 +199,7 @@ public class TbsCostChangeInfoServiceImpl extends ServiceImpl{}", JsonUtil.objectToJson(createBo)); syncLog.setFailReason(e.getMessage()); + sysSyncLogService.save(syncLog); return R.error(e.getMessage()); } sysSyncLogService.save(syncLog); @@ -88,6 +89,7 @@ public class PortalOfCostController { } catch (Exception e) { log.error("协议类核销支付(费用申请)===>{}", JsonUtil.objectToJson(createBo)); syncLog.setFailReason(e.getMessage()); + sysSyncLogService.save(syncLog); return R.error(e.getMessage()); } sysSyncLogService.save(syncLog); @@ -116,6 +118,7 @@ public class PortalOfCostController { } catch (Exception e) { log.error("协议类核销支付(费用申请)===>{}", JsonUtil.objectToJson(contractBo)); syncLog.setFailReason(e.getMessage()); + sysSyncLogService.save(syncLog); return R.error(e.getMessage()); } sysSyncLogService.save(syncLog); @@ -146,6 +149,7 @@ public class PortalOfCostController { } catch (Exception e) { log.error("站式创建费用(费用申请)===>{}", JsonUtil.objectToJson(createBo)); syncLog.setFailReason(e.getMessage()); + sysSyncLogService.save(syncLog); return R.error(e.getMessage()); } sysSyncLogService.save(syncLog); diff --git a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java index f78fdbb2..41fec56e 100644 --- a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java +++ b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java @@ -128,11 +128,9 @@ public class TzcPolicyController { @GetMapping("/pageMy") public R> getPageMy(TzcPolicy param){ String userId = AuthContextUtils.getSysUserId(); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); param.setUserId(userId); PageUtil.startPage(); - lqw.orderByDesc(TzcPolicy::getCreateTime); - List list = tzcPolicyService.list(lqw); + List list = tzcPolicyService.selectPolicyList(param); return R.byPageHelperList(list); } @@ -146,11 +144,9 @@ public class TzcPolicyController { String userId = AuthContextUtils.getSysUserId(); List userIds = postUserService.listByChildIds(userId); userIds.add(userId); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + param.setChildUserIds(userIds); PageUtil.startPage(); - lqw.in(TzcPolicy::getUserId,userIds); - lqw.orderByDesc(TzcPolicy::getCreateTime); - List list = tzcPolicyService.list(lqw); + List list = tzcPolicyService.selectPolicyList(param); return R.byPageHelperList(list); } @@ -162,10 +158,8 @@ public class TzcPolicyController { @GetMapping("/page") @PreAuthorize("hasRole('tzc:policy:query')") public R> getPage(TzcPolicy param){ - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); - lqw.orderByDesc(TzcPolicy::getCreateTime); - List list = tzcPolicyService.list(lqw); + List list = tzcPolicyService.selectPolicyList(param); return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java index 3d063b57..6d56c69d 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicy.java @@ -148,6 +148,13 @@ public class TzcPolicy implements Serializable { private String extUserCode; private String extUserName; + + /** + * 下属ID + */ + @TableField(exist = false) + List childUserIds; + @TableField(exist = false) List policyItemList; diff --git a/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyMapper.java b/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyMapper.java index 2951c7ee..301ea5eb 100644 --- a/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyMapper.java +++ b/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyMapper.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tzc.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.tzc.entity.TzcPolicy; @@ -15,6 +16,14 @@ import java.util.List; */ public interface TzcPolicyMapper extends BaseMapper { + /** + * 查询政策 + * @param param + * @return + */ + @InterceptorIgnore(tenantLine = "true") + List selectTzcPolicyList(@Param("query")TzcPolicy param); + /** * 设置数据的继承人 * @param policyIds diff --git a/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyService.java b/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyService.java index d0fbf5a6..5e5962b2 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyService.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.tzc.entity.TzcPolicy; import com.qs.serve.modules.tzc.entity.bo.TzcPolicyBo; +import java.util.List; /** * 政策 服务接口 @@ -12,6 +13,8 @@ import com.qs.serve.modules.tzc.entity.bo.TzcPolicyBo; */ public interface TzcPolicyService extends IService { + List selectPolicyList(TzcPolicy tzcPolicy); + R modify(TzcPolicyBo policyParam); diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyServiceImpl.java index 20759ada..d738f245 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyServiceImpl.java @@ -26,6 +26,8 @@ import com.qs.serve.modules.tzc.service.TzcPolicyService; import com.qs.serve.modules.tzc.mapper.TzcPolicyMapper; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * 政策 服务实现类 * @author YenHex @@ -40,6 +42,11 @@ public class TzcPolicyServiceImpl extends ServiceImpl private SysUserService sysUserService; private TbsBudgetCostItemPolicyService tbsBudgetCostItemPolicyService; + @Override + public List selectPolicyList(TzcPolicy tzcPolicy) { + return baseMapper.selectTzcPolicyList(tzcPolicy); + } + @Override @Transactional(rollbackFor = Exception.class) public R modify(TzcPolicyBo policyParam) { diff --git a/src/main/resources/mapper/tzc/TzcPolicyMapper.xml b/src/main/resources/mapper/tzc/TzcPolicyMapper.xml index 0e301bd0..c799a641 100644 --- a/src/main/resources/mapper/tzc/TzcPolicyMapper.xml +++ b/src/main/resources/mapper/tzc/TzcPolicyMapper.xml @@ -4,6 +4,105 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tzc_policy.`id`, + tzc_policy.`title`, + tzc_policy.`policy_code`, + tzc_policy.`policy_status`, + tzc_policy.`pass_time`, + tzc_policy.`submit_time`, + tzc_policy.`total_items`, + tzc_policy.`total_item_amount`, + tzc_policy.`total_item_used_amount`, + tzc_policy.`supplier_id`, + tzc_policy.`supplier_code`, + tzc_policy.`supplier_name`, + tzc_policy.`user_id`, + tzc_policy.`user_code`, + tzc_policy.`user_name`, + tzc_policy.`sy_flow_id`, + tzc_policy.`sy_form_id`, + tzc_policy.`remark`, + tzc_policy.`create_time`, + tzc_policy.`update_time`, + tzc_policy.`tenant_id`, + tzc_policy.`create_by`, + tzc_policy.`update_by`, + tzc_policy.`del_flag`, + tzc_policy.`ext_user_id`, + tzc_policy.`ext_user_code`, + tzc_policy.`ext_user_name` + + update tzc_policy