Browse Source

关联成本中心

v1.0
Yen 2 years ago
parent
commit
470b12502d
  1. 23
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  2. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java
  3. 2
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java
  4. 58
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java
  5. 6
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  6. 32
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyItemController.java
  7. 4
      src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItem.java

23
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<TbsActivitySubject> activitySubjects = activitySubjectService.list(qw);
List<TbsActivityCenter> 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<TbsScheduleItemBudget> list = tbsScheduleItemBudgetMapper.listByActivityAndSubjectAndCenter(
activityId,subjectId,centerType,centerId);
center.setMatchBudgetList(list);
}else {
//可选的所有预算
List<TbsScheduleItemBudget> list =
tbsScheduleItemBudgetMapper.listBySubjectAndCenter(subjectId,centerType,centerId);
center.setMatchBudgetList(list);
}
}
Map<Long,List<TbsActivityCenter>> centerListMap = activityCenters.stream().collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId));
List<Long> subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).distinct().collect(Collectors.toList());
List<BmsSubject> subjectList = bmsSubjectService.listByIds(subjectIds);

4
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;
}

2
src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java

@ -57,5 +57,7 @@ public interface TbsBudgetLogMapper extends BaseMapper<TbsBudgetLog> {
" and (total_activity_amount-sum_budget>1 or sum_budget - total_activity_amount>1 )")
List<TbsCostApply> selectErrorThirtyCostId();
}

58
src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java

@ -196,5 +196,63 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper<TbsScheduleItemB
" where tbs_budget.del_flag = 0 and tbs_budget.budget_state = 1 and tbs_budget_log.id is null and budget_amount > 0")
List<TbsScheduleItemBudget> 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<TbsScheduleItemBudget> 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<TbsScheduleItemBudget> 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<TbsScheduleItemBudget> listByPolicyItemId(@Param("policyItemId") String policyItemId);
}

6
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<TzcPolicy> getById(@PathVariable("id") String id){
TzcPolicy tzcPolicy = tzcPolicyService.getById(id);
List<TzcPolicyItem> policyItemList = tzcPolicyItemService.listByPolicyId(tzcPolicy.getId());
tzcPolicy.setPolicyItemList(policyItemList);
if(tzcPolicy!=null){
List<TzcPolicyItem> policyItemList = tzcPolicyItemService.listByPolicyId(tzcPolicy.getId());
tzcPolicy.setPolicyItemList(policyItemList);
}
return R.ok(tzcPolicy);
}

32
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<List<TzcPolicyItem>> getList(TzcPolicyItem param){
LambdaQueryWrapper<TzcPolicyItem> lqw = new LambdaQueryWrapper<>(param);
List<TzcPolicyItem> list = tzcPolicyItemService.list(lqw);
TzcPolicy policy = null;
if(param.getPolicyId()!=null){
policy = tzcPolicyService.getById(param.getPolicyId());
}
for (TzcPolicyItem policyItem : list) {
List<TzcPolicyGoods> policyGoodsList = tzcPolicyGoodsService.listByItemId(policyItem.getId());
policyItem.setPolicyGoodsList(policyGoodsList);
@ -60,7 +69,30 @@ public class TzcPolicyItemController {
List<SysAttach> 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<TbsScheduleItemBudget> budgetList =tbsScheduleItemBudgetMapper.listByPolicyItemId(policyItem.getId()+"");
policyItem.setMatchBudgetList(budgetList);
}else {
//FYMC05 随货折让
String subjectId = "63";
String centerType = policyItem.getCenterType();
String centerId = policyItem.getCenterId();
//可选的所有预算
List<TbsScheduleItemBudget> budgetList =
tbsScheduleItemBudgetMapper.listBySubjectAndCenter(subjectId,centerType,centerId);
policyItem.setMatchBudgetList(budgetList);
}
}
}
return R.ok(list);
}

4
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);

Loading…
Cancel
Save