Browse Source

客户地区迁移,预算占用调整

contract
Yen 2 years ago
parent
commit
f7c78f036c
  1. 2
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java
  2. 30
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java
  3. 15
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java

2
src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java

@ -63,7 +63,7 @@ public class BmsRegion2Controller {
private List<BmsRegionTreeVo> treeByCurrentUser(){ private List<BmsRegionTreeVo> treeByCurrentUser(){
String userId = AuthContextUtils.getSysUserId(); String userId = AuthContextUtils.getSysUserId();
LambdaQueryWrapper<BmsRegionUser> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsRegionUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsRegionUser::getType,0); lqw.eq(BmsRegionUser::getType,1);
lqw.eq(BmsRegionUser::getUserId,userId); lqw.eq(BmsRegionUser::getUserId,userId);
List<BmsRegionUser> regionUsers = bmsRegionUserService.list(lqw); List<BmsRegionUser> regionUsers = bmsRegionUserService.list(lqw);
List<String> regionIds = regionUsers.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); List<String> regionIds = regionUsers.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList());

30
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java

@ -2,8 +2,13 @@ package com.qs.serve.modules.bms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.consts.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogOptFlag;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.tbs.common.TbsCenterType; import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
@ -18,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -33,6 +39,8 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class BmsSupplierApplicationService { public class BmsSupplierApplicationService {
private BmsRegionService regionService;
private BmsRegion2Service region2Service;
private TbsBudgetLogService budgetLogService; private TbsBudgetLogService budgetLogService;
private TbsCostUnItemService costUnItemService; private TbsCostUnItemService costUnItemService;
private TbsBudgetMapper budgetMapper; private TbsBudgetMapper budgetMapper;
@ -41,8 +49,19 @@ public class BmsSupplierApplicationService {
private TbsActivityMapper activityMapper; private TbsActivityMapper activityMapper;
public void migrateRegion(String supplierId, String regionType, String orgRegionId, String newRegionId) { public void migrateRegion(String supplierId, String regionType, String orgRegionId, String newRegionId) {
//todo 待测 //if(1==1){return;}
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
String newRegionCode;
String newRegionName;
if(regionType.equals(TbsCenterType.saleRegion.name())){
BmsRegion bmsRegion = regionService.getById(newRegionId);
newRegionCode = bmsRegion.getCode();
newRegionName = bmsRegion.getName();
}else {
BmsRegion2 bmsRegion2 = region2Service.getById(newRegionId);
newRegionCode = bmsRegion2.getCode();
newRegionName = bmsRegion2.getName();
}
LambdaQueryWrapper<TbsBudgetLog> lqw4log = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetLog> lqw4log = new LambdaQueryWrapper<>();
lqw4log.eq(TbsBudgetLog::getMigrateFlag,0); lqw4log.eq(TbsBudgetLog::getMigrateFlag,0);
lqw4log.eq(TbsBudgetLog::getRollbackFlag,0); lqw4log.eq(TbsBudgetLog::getRollbackFlag,0);
@ -175,7 +194,7 @@ public class BmsSupplierApplicationService {
List<TbsScheduleItemBudget> scheduleItemBudgets = scheduleItemBudgetsMap.get(budget.getId()); List<TbsScheduleItemBudget> scheduleItemBudgets = scheduleItemBudgetsMap.get(budget.getId());
for (TbsScheduleItemBudget itemBudget : scheduleItemBudgets) { for (TbsScheduleItemBudget itemBudget : scheduleItemBudgets) {
LocalDateTime actStartDate = currActivity.getPreStartDate().atStartOfDay(); LocalDateTime actStartDate = currActivity.getPreStartDate().atStartOfDay();
LocalDateTime actEndDate = currActivity.getPreStartDate().atStartOfDay().with(LocalDateTime.MAX); LocalDateTime actEndDate = LocalDateTime.of(currActivity.getPreStartDate(), LocalTime.MAX);
if(actStartDate.isAfter(itemBudget.getStartDate())&&actEndDate.isBefore(itemBudget.getEndDate())){ if(actStartDate.isAfter(itemBudget.getStartDate())&&actEndDate.isBefore(itemBudget.getEndDate())){
matchBudget = budget; matchBudget = budget;
matchItemBudget = itemBudget; matchItemBudget = itemBudget;
@ -198,6 +217,13 @@ public class BmsSupplierApplicationService {
newLog.setScheduleId(matchItemBudget.getScheduleId()); newLog.setScheduleId(matchItemBudget.getScheduleId());
newLog.setScheduleItemId(matchItemBudget.getScheduleItemId()); newLog.setScheduleItemId(matchItemBudget.getScheduleItemId());
newLog.setScheduleItemBudgetId(matchItemBudget.getId()); newLog.setScheduleItemBudgetId(matchItemBudget.getId());
//设置新的成本中心
newLog.setCenterOrgId(newLog.getCenterId());
newLog.setCenterOrgCode(newLog.getCenterCode());
newLog.setCenterOrgName(newLog.getCenterName());
newLog.setCenterId(newRegionId);
newLog.setCenterCode(newRegionCode);
newLog.setCenterName(newRegionName);
budgetLog4Diff.add(newLog); budgetLog4Diff.add(newLog);
}else { }else {
//无匹配的预算 //无匹配的预算

15
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java

@ -41,7 +41,10 @@ public class TbsBudgetLog implements Serializable {
@TableField(condition = SqlCondition.LIKE) @TableField(condition = SqlCondition.LIKE)
private String budgetCode; private String budgetCode;
/** 类型:0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放;5-费用申请调增;6-费用申请调减 */ /** 类型
* 0-预算新增1-费用申请2-预算调增3-预算调减4-费用释放5-费用申请调增6-费用申请调减
* {@link com.qs.serve.common.model.consts.BudgetLogOptFlag}
**/
@NotNull(message = "类型不能为空") @NotNull(message = "类型不能为空")
private Integer optType; private Integer optType;
@ -142,6 +145,16 @@ public class TbsBudgetLog implements Serializable {
@Length(max = 30,message = "成本中心名称长度不能超过30字") @Length(max = 30,message = "成本中心名称长度不能超过30字")
private String centerName; private String centerName;
/** 原成本中心id */
private String centerOrgId;
/** 原成本中心编码 */
private String centerOrgCode;
/** 原成本中心名称 */
private String centerOrgName;
/** 客户id */ /** 客户id */
private Long supplierId; private Long supplierId;

Loading…
Cancel
Save