diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index 53043808..ed32b9b2 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -63,7 +63,7 @@ public class BmsRegion2Controller { private List treeByCurrentUser(){ String userId = AuthContextUtils.getSysUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(BmsRegionUser::getType,0); + lqw.eq(BmsRegionUser::getType,1); lqw.eq(BmsRegionUser::getUserId,userId); List regionUsers = bmsRegionUserService.list(lqw); List regionIds = regionUsers.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java index 1ec3e9c6..1c3def5a 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java +++ b/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.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.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.TbsGoodsType; import com.qs.serve.modules.tbs.entity.*; @@ -18,6 +23,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -33,6 +39,8 @@ import java.util.stream.Collectors; @AllArgsConstructor public class BmsSupplierApplicationService { + private BmsRegionService regionService; + private BmsRegion2Service region2Service; private TbsBudgetLogService budgetLogService; private TbsCostUnItemService costUnItemService; private TbsBudgetMapper budgetMapper; @@ -41,8 +49,19 @@ public class BmsSupplierApplicationService { private TbsActivityMapper activityMapper; public void migrateRegion(String supplierId, String regionType, String orgRegionId, String newRegionId) { - //todo 待测 + //if(1==1){return;} 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 lqw4log = new LambdaQueryWrapper<>(); lqw4log.eq(TbsBudgetLog::getMigrateFlag,0); lqw4log.eq(TbsBudgetLog::getRollbackFlag,0); @@ -175,7 +194,7 @@ public class BmsSupplierApplicationService { List scheduleItemBudgets = scheduleItemBudgetsMap.get(budget.getId()); for (TbsScheduleItemBudget itemBudget : scheduleItemBudgets) { 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())){ matchBudget = budget; matchItemBudget = itemBudget; @@ -198,6 +217,13 @@ public class BmsSupplierApplicationService { newLog.setScheduleId(matchItemBudget.getScheduleId()); newLog.setScheduleItemId(matchItemBudget.getScheduleItemId()); 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); }else { //无匹配的预算 diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java index af4899a8..281d296a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java @@ -41,7 +41,10 @@ public class TbsBudgetLog implements Serializable { @TableField(condition = SqlCondition.LIKE) 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 = "类型不能为空") private Integer optType; @@ -142,6 +145,16 @@ public class TbsBudgetLog implements Serializable { @Length(max = 30,message = "成本中心名称长度不能超过30字") private String centerName; + + /** 原成本中心id */ + private String centerOrgId; + + /** 原成本中心编码 */ + private String centerOrgCode; + + /** 原成本中心名称 */ + private String centerOrgName; + /** 客户id */ private Long supplierId;