From 470b12502d466979df27abfa4bd48e0f7c4031ac Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 2 Jan 2024 17:32:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E8=81=94=E6=88=90=E6=9C=AC=E4=B8=AD?= =?UTF-8?q?=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/controller/TbsActivityController.java | 23 ++++++++ .../modules/tbs/entity/TbsActivityCenter.java | 4 ++ .../tbs/mapper/TbsBudgetLogMapper.java | 2 + .../mapper/TbsScheduleItemBudgetMapper.java | 58 +++++++++++++++++++ .../tzc/controller/TzcPolicyController.java | 6 +- .../controller/TzcPolicyItemController.java | 32 ++++++++++ .../modules/tzc/entity/TzcPolicyItem.java | 4 ++ 7 files changed, 127 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index f3b13390..8b9900a8 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -34,6 +34,7 @@ import com.qs.serve.modules.tbs.entity.bo.TbsActivityDefaultCenterBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo; import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo; import com.qs.serve.modules.tbs.entity.vo.TbsActivityDefaultCenterVo; +import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.service.VtbFundFlowService; @@ -93,6 +94,7 @@ public class TbsActivityController { private final TbsActivityApplicationService tbsActivityApplicationService; private final TbsBudgetService tbsBudgetService; private final TbsBudgetConditionService tbsBudgetConditionService; + private final TbsScheduleItemBudgetMapper tbsScheduleItemBudgetMapper; private SysAttachService attachService; @@ -273,6 +275,27 @@ public class TbsActivityController { } List activitySubjects = activitySubjectService.list(qw); List activityCenters = activityCenterService.list(qw); + + //成本中心关联出相关预算 + for (TbsActivityCenter center : activityCenters) { + //没通过加载可选的所有预算,已通过加载出选中的预算 + String subjectId = center.getSubjectId()+""; + String centerType = center.getCenterType(); + String centerId = center.getCenterId(); + if(activity.getCostPassFlag().equals(1)){ + //选中的预算 + String activityId = activity.getId()+""; + List list = tbsScheduleItemBudgetMapper.listByActivityAndSubjectAndCenter( + activityId,subjectId,centerType,centerId); + center.setMatchBudgetList(list); + }else { + //可选的所有预算 + List list = + tbsScheduleItemBudgetMapper.listBySubjectAndCenter(subjectId,centerType,centerId); + center.setMatchBudgetList(list); + } + } + Map> centerListMap = activityCenters.stream().collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId)); List subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).distinct().collect(Collectors.toList()); List subjectList = bmsSubjectService.listByIds(subjectIds); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java index 815faa7f..b18e582c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java @@ -4,6 +4,7 @@ import java.time.LocalDate; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; @@ -121,5 +122,8 @@ public class TbsActivityCenter implements Serializable { /** 模板唯一健 */ private String tmpUk; + @TableField(exist = false) + private List matchBudgetList; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java index a69044ed..655165e6 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java @@ -57,5 +57,7 @@ public interface TbsBudgetLogMapper extends BaseMapper { " and (total_activity_amount-sum_budget>1 or sum_budget - total_activity_amount>1 )") List selectErrorThirtyCostId(); + + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java index b785bf77..c447d038 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java @@ -196,5 +196,63 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper 0") List listNotCreateLogBudget(); + @InterceptorIgnore(tenantLine = "true") + @Select("SELECT tbs_budget.budget_code as budgetName, " + + "tbs_budget.budget_number as budgetCode, " + + "tbs_schedule_item_budget.* " + + "FROM `tbs_schedule_item_budget` " + + "LEFT JOIN tbs_budget ON tbs_schedule_item_budget.budget_id = tbs_budget.id " + + "WHERE tbs_budget.del_flag = 0 " + + "and tbs_schedule_item_budget.del_flag = 0 " + + "and tbs_budget.budget_state = 1 " + + "and (tbs_budget.subject_id = 0 or tbs_budget.subject_id = #{subjectId}) " + + "and tbs_budget.center_id = #{centerId} " + + "and tbs_budget.center_type = #{centerType} ") + List listBySubjectAndCenter(@Param("subjectId") String subjectId, + @Param("centerType") String centerType, + @Param("centerId") String centerId); + + @InterceptorIgnore(tenantLine = "true") + @Select("SELECT " + + " tbs_budget.budget_code as budgetName, " + + " tbs_budget.budget_number as budgetCode, " + + " tbs_schedule_item_budget.* " + + "FROM " + + "tbs_schedule_item_budget " + + "left join tbs_budget_log " + + "on tbs_schedule_item_budget.id = tbs_budget_log.schedule_item_budget_id " + + "LEFT JOIN tbs_budget ON tbs_schedule_item_budget.budget_id = tbs_budget.id " + + "where " + + "tbs_budget_log.del_flag = 0 " + + "and tbs_budget.del_flag = 0 " + + "and tbs_schedule_item_budget.del_flag = 0 " + + "and tbs_budget.budget_state = 1 " + + "and tbs_budget_log.center_id = #{centerId} " + + "and tbs_budget_log.center_type = #{centerType} " + + "and tbs_budget_log.subject_id = #{subjectId} " + + "and tbs_budget_log.activity_id = #{activityId}") + List listByActivityAndSubjectAndCenter(@Param("activityId") String activityId, + @Param("subjectId") String subjectId, + @Param("centerType") String centerType, + @Param("centerId") String centerId); + + @InterceptorIgnore(tenantLine = "true") + @Select("SELECT " + + " tbs_budget.budget_code as budgetName, " + + " tbs_budget.budget_number as budgetCode, " + + " tbs_schedule_item_budget.* " + + "FROM " + + "tbs_schedule_item_budget " + + "left join tbs_budget_log " + + "on tbs_schedule_item_budget.id = tbs_budget_log.schedule_item_budget_id " + + "LEFT JOIN tbs_budget ON tbs_schedule_item_budget.budget_id = tbs_budget.id " + + "where " + + "tbs_budget_log.del_flag = 0 " + + "and tbs_budget.del_flag = 0 " + + "and tbs_schedule_item_budget.del_flag = 0 " + + "and tbs_budget.budget_state = 1 " + + "and tbs_budget_log.policy_item_id = #{policyItemId} ") + List listByPolicyItemId(@Param("policyItemId") String policyItemId); + } 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 058b1f84..7e103d84 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 @@ -183,8 +183,10 @@ public class TzcPolicyController { @PreAuthorize("hasRole('tzc:policy:query')") public R getById(@PathVariable("id") String id){ TzcPolicy tzcPolicy = tzcPolicyService.getById(id); - List policyItemList = tzcPolicyItemService.listByPolicyId(tzcPolicy.getId()); - tzcPolicy.setPolicyItemList(policyItemList); + if(tzcPolicy!=null){ + List policyItemList = tzcPolicyItemService.listByPolicyId(tzcPolicy.getId()); + tzcPolicy.setPolicyItemList(policyItemList); + } return R.ok(tzcPolicy); } diff --git a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java index e8186c75..685acdb7 100644 --- a/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java +++ b/src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java @@ -9,6 +9,8 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.service.SysAttachService; +import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; +import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import com.qs.serve.modules.tzc.common.TzcPolicyStatus; import com.qs.serve.modules.tzc.entity.TzcPolicy; import com.qs.serve.modules.tzc.entity.TzcPolicyGoods; @@ -39,6 +41,7 @@ import java.util.stream.Collectors; @RequestMapping("tzc/policyItem") public class TzcPolicyItemController { + private TbsScheduleItemBudgetMapper tbsScheduleItemBudgetMapper; private TzcPolicyItemService tzcPolicyItemService; private TzcPolicyGoodsService tzcPolicyGoodsService; private TzcPolicyService tzcPolicyService; @@ -53,6 +56,12 @@ public class TzcPolicyItemController { public R> getList(TzcPolicyItem param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); List list = tzcPolicyItemService.list(lqw); + + TzcPolicy policy = null; + if(param.getPolicyId()!=null){ + policy = tzcPolicyService.getById(param.getPolicyId()); + } + for (TzcPolicyItem policyItem : list) { List policyGoodsList = tzcPolicyGoodsService.listByItemId(policyItem.getId()); policyItem.setPolicyGoodsList(policyGoodsList); @@ -60,7 +69,30 @@ public class TzcPolicyItemController { List attachList = attachService.listByIds(Arrays.asList(policyItem.getAttachIds())); policyItem.setAttachList(attachList); } + + if(policy!=null){ + boolean pass1 = policy.getPolicyStatus().equals(TzcPolicyStatus.Status_1_Checking); + boolean pass2 = policy.getPolicyStatus().equals(TzcPolicyStatus.Status_2_PassSuccess); + boolean pass3 = policy.getPolicyStatus().equals(TzcPolicyStatus.Status_3_Success); + if(pass1||pass2||pass3){ + List budgetList =tbsScheduleItemBudgetMapper.listByPolicyItemId(policyItem.getId()+""); + policyItem.setMatchBudgetList(budgetList); + }else { + //FYMC05 随货折让 + String subjectId = "63"; + String centerType = policyItem.getCenterType(); + String centerId = policyItem.getCenterId(); + //可选的所有预算 + List budgetList = + tbsScheduleItemBudgetMapper.listBySubjectAndCenter(subjectId,centerType,centerId); + policyItem.setMatchBudgetList(budgetList); + } + } + + + } + return R.ok(list); } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java index 35545749..559773b0 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java @@ -212,6 +212,10 @@ public class TzcPolicyItem implements Serializable { @TableField(exist = false) private List attachList; + /** 附件列表 */ + @TableField(exist = false) + private List matchBudgetList; + public void initSetNull(){ this.setId(null); this.setCreateBy(null);