|
@ -10,7 +10,11 @@ import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.common.util.model.DateFormatString; |
|
|
import com.qs.serve.common.util.model.DateFormatString; |
|
|
import com.qs.serve.modules.bms.entity.BmsSubject; |
|
|
import com.qs.serve.modules.bms.entity.BmsSubject; |
|
|
import com.qs.serve.modules.bms.service.BmsSubjectService; |
|
|
import com.qs.serve.modules.bms.service.BmsSubjectService; |
|
|
|
|
|
import com.qs.serve.modules.goods.common.GoodsType; |
|
|
|
|
|
import com.qs.serve.modules.goods.entity.GoodsCategory; |
|
|
|
|
|
import com.qs.serve.modules.goods.entity.GoodsSpu; |
|
|
import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; |
|
|
import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; |
|
|
|
|
|
import com.qs.serve.modules.goods.service.GoodsCategoryService; |
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; |
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; |
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; |
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; |
|
|
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; |
|
|
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; |
|
@ -23,15 +27,13 @@ import com.qs.serve.modules.tbs.entity.bo.TbsBudgetBatchBo; |
|
|
import com.qs.serve.modules.tbs.service.*; |
|
|
import com.qs.serve.modules.tbs.service.*; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetBatchMapper; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetBatchMapper; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
import java.time.LocalDateTime; |
|
|
import java.time.LocalDateTime; |
|
|
import java.util.ArrayList; |
|
|
import java.util.*; |
|
|
import java.util.HashMap; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
import java.util.Map; |
|
|
|
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -53,6 +55,8 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
private final TbsCenterDtoService tbsCenterDtoService; |
|
|
private final TbsCenterDtoService tbsCenterDtoService; |
|
|
private final TbsScheduleService tbsScheduleService; |
|
|
private final TbsScheduleService tbsScheduleService; |
|
|
private final TbsScheduleItemService tbsScheduleItemService; |
|
|
private final TbsScheduleItemService tbsScheduleItemService; |
|
|
|
|
|
private final TbsScheduleItemBudgetService tbsScheduleItemBudgetService; |
|
|
|
|
|
private final GoodsCategoryService goodsCategoryService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
@ -113,7 +117,6 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
|
|
|
|
|
|
public TbsBudgetBatch buildBatchData(TbsBudgetBatchBo param,String batchCode,SysUser sysUser){ |
|
|
public TbsBudgetBatch buildBatchData(TbsBudgetBatchBo param,String batchCode,SysUser sysUser){ |
|
|
List<TbsBudgetBatchBo.BudgetMain> paramBudgetList = param.getBudgetList(); |
|
|
List<TbsBudgetBatchBo.BudgetMain> paramBudgetList = param.getBudgetList(); |
|
|
|
|
|
|
|
|
TbsBudgetBatch budgetBatch = new TbsBudgetBatch(); |
|
|
TbsBudgetBatch budgetBatch = new TbsBudgetBatch(); |
|
|
budgetBatch.setBatchTitle(sysUser.getName()+"发起了批量导入预算"); |
|
|
budgetBatch.setBatchTitle(sysUser.getName()+"发起了批量导入预算"); |
|
|
budgetBatch.setBatchCode(batchCode); |
|
|
budgetBatch.setBatchCode(batchCode); |
|
@ -129,23 +132,20 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
List<TbsBudgetBatchItem> batchItems = new ArrayList<>(); |
|
|
List<TbsBudgetBatchItem> batchItems = new ArrayList<>(); |
|
|
//加载 周期信息
|
|
|
//加载 周期信息
|
|
|
List<String> scheduleNames = paramBudgetList.stream() |
|
|
List<String> scheduleNames = paramBudgetList.stream() |
|
|
.map(TbsBudgetBatchBo.BudgetMain::getScheduleName).collect(Collectors.toList()); |
|
|
.map(TbsBudgetBatchBo.BudgetMain::getScheduleName).distinct().collect(Collectors.toList()); |
|
|
List<TbsSchedule> schedules = tbsScheduleService.list( |
|
|
Map<String,TbsSchedule> scheduleMap = loadScheduleMap(scheduleNames); |
|
|
new LambdaQueryWrapper<TbsSchedule>().in(TbsSchedule::getName,scheduleNames) |
|
|
//加载 科目
|
|
|
); |
|
|
|
|
|
for (TbsSchedule schedule : schedules) { |
|
|
|
|
|
List<TbsScheduleItem> scheduleItems = tbsScheduleItemService.listByScheduleId(schedule.getId()); |
|
|
|
|
|
schedule.setScheduleItemlist(scheduleItems); |
|
|
|
|
|
} |
|
|
|
|
|
//科目编码加载科目
|
|
|
|
|
|
Map<String,BmsSubject> subjectMap = loadSubjectMapWithFilterInvalid(param); |
|
|
Map<String,BmsSubject> subjectMap = loadSubjectMapWithFilterInvalid(param); |
|
|
//加载所有的成本中心
|
|
|
//加载 成本中心
|
|
|
Map<String,TbsCenterDto> centerDtoMap = new HashMap<>(); |
|
|
Map<String,TbsCenterDto> centerDtoMap = new HashMap<>(); |
|
|
for (TbsBudgetBatchBo.BudgetMain budgetMain : paramBudgetList) { |
|
|
for (TbsBudgetBatchBo.BudgetMain budgetMain : paramBudgetList) { |
|
|
TbsCenterDto centerDto = tbsCenterDtoService.getCenterDtoByName(budgetMain.getCenterType(),budgetMain.getCenterName(),true); |
|
|
TbsCenterDto centerDto = tbsCenterDtoService.getCenterDtoByName(budgetMain.getCenterType(),budgetMain.getCenterName(),true); |
|
|
//key=> budgetMain.getCenterType()+"_&_"+budgetMain.getCenterName()
|
|
|
//key=> budgetMain.getCenterType()+"_&_"+budgetMain.getCenterName()
|
|
|
centerDtoMap.put(budgetMain.getCenterType()+"_&_"+budgetMain.getCenterName(),centerDto); |
|
|
centerDtoMap.put(budgetMain.getCenterType()+"_&_"+budgetMain.getCenterName(),centerDto); |
|
|
} |
|
|
} |
|
|
|
|
|
//加载 品类
|
|
|
|
|
|
Map<String,GoodsCategory> categoryMap = loadGoodsCategoryMap(paramBudgetList); |
|
|
|
|
|
|
|
|
//修改的生成为更变记录
|
|
|
//修改的生成为更变记录
|
|
|
List<TbsBudgetBatchBo.BudgetMain> updBudgetList = paramBudgetList.stream() |
|
|
List<TbsBudgetBatchBo.BudgetMain> updBudgetList = paramBudgetList.stream() |
|
|
.filter(a->StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList()); |
|
|
.filter(a->StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList()); |
|
@ -170,7 +170,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
Long budgetId = budget.getId(); |
|
|
final Long budgetId = budget.getId(); |
|
|
if(budget.getBudgetState().equals(1)){ |
|
|
if(budget.getBudgetState().equals(1)){ |
|
|
//生成更变记录
|
|
|
//生成更变记录
|
|
|
|
|
|
|
|
@ -181,8 +181,104 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
new LambdaQueryWrapper<TbsBudgetCondition>() |
|
|
new LambdaQueryWrapper<TbsBudgetCondition>() |
|
|
.eq(TbsBudgetCondition::getBudgetId,budgetId) |
|
|
.eq(TbsBudgetCondition::getBudgetId,budgetId) |
|
|
); |
|
|
); |
|
|
|
|
|
tbsScheduleItemBudgetService.remove( |
|
|
|
|
|
new LambdaQueryWrapper<TbsScheduleItemBudget>() |
|
|
|
|
|
.eq(TbsScheduleItemBudget::getBudgetId,budgetId) |
|
|
|
|
|
); |
|
|
|
|
|
//设置新的值
|
|
|
|
|
|
TbsBudget newBudget = new TbsBudget(); |
|
|
|
|
|
newBudget.setId(budgetId); |
|
|
|
|
|
TbsSchedule schedule = scheduleMap.get(paramItem.getScheduleName()); |
|
|
|
|
|
this.initBudget4Update(sysUser,schedule, subjectMap, centerDtoMap, paramItem, newBudget); |
|
|
|
|
|
//创建新条件
|
|
|
|
|
|
List<TbsBudgetCondition> conditionList = this.createTbsBudgetConditions(categoryMap, paramItem, budgetId); |
|
|
|
|
|
//创建新预算周期
|
|
|
|
|
|
List<TbsScheduleItemBudget> scheduleItemBudgetList = this.createTbsScheduleItemBudgetList(paramItem, budgetId, schedule); |
|
|
|
|
|
//数据持久化
|
|
|
|
|
|
tbsBudgetService.updateById(newBudget); |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(conditionList)){ |
|
|
|
|
|
tbsBudgetConditionService.saveBatch(conditionList); |
|
|
|
|
|
} |
|
|
|
|
|
tbsScheduleItemBudgetService.saveBatch(scheduleItemBudgetList); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//新增的生成为草稿
|
|
|
|
|
|
List<TbsBudgetBatchBo.BudgetMain> addBudgetList = paramBudgetList.stream() |
|
|
|
|
|
.filter(a->!StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList()); |
|
|
|
|
|
for (TbsBudgetBatchBo.BudgetMain budgetMain : addBudgetList) { |
|
|
TbsBudget newBudget = new TbsBudget(); |
|
|
TbsBudget newBudget = new TbsBudget(); |
|
|
|
|
|
tbsBudgetService.save(newBudget); |
|
|
|
|
|
Long budgetId = newBudget.getId(); |
|
|
|
|
|
TbsSchedule schedule = scheduleMap.get(budgetMain.getScheduleName()); |
|
|
|
|
|
this.initBudget4Update(sysUser,schedule, subjectMap, centerDtoMap, budgetMain, newBudget); |
|
|
|
|
|
//创建新条件
|
|
|
|
|
|
List<TbsBudgetCondition> conditionList = this.createTbsBudgetConditions(categoryMap, budgetMain, budgetId); |
|
|
|
|
|
//创建新预算周期
|
|
|
|
|
|
List<TbsScheduleItemBudget> scheduleItemBudgetList = this.createTbsScheduleItemBudgetList(budgetMain, budgetId, schedule); |
|
|
|
|
|
//数据持久化
|
|
|
|
|
|
if(CollectionUtil.isNotEmpty(conditionList)){ |
|
|
|
|
|
tbsBudgetConditionService.saveBatch(conditionList); |
|
|
|
|
|
} |
|
|
|
|
|
tbsScheduleItemBudgetService.saveBatch(scheduleItemBudgetList); |
|
|
|
|
|
} |
|
|
|
|
|
this.save(budgetBatch); |
|
|
|
|
|
//保存后赋值
|
|
|
|
|
|
Long budgetBatchId = budgetBatch.getId(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@NotNull |
|
|
|
|
|
private List<TbsBudgetCondition> createTbsBudgetConditions(Map<String, GoodsCategory> categoryMap, TbsBudgetBatchBo.BudgetMain paramItem, Long budgetId) { |
|
|
|
|
|
List<TbsBudgetCondition> conditionList = new ArrayList<>(); |
|
|
|
|
|
if(StringUtils.hasText(paramItem.getBandNames())){ |
|
|
|
|
|
String[] values = paramItem.getBandNames().split(","); |
|
|
|
|
|
for (String value : values) { |
|
|
|
|
|
GoodsCategory category = categoryMap.get(value); |
|
|
|
|
|
TbsBudgetCondition budgetCondition = new TbsBudgetCondition(); |
|
|
|
|
|
budgetCondition.setBudgetId(budgetId); |
|
|
|
|
|
budgetCondition.setTargetType(GoodsType.Brand.name()); |
|
|
|
|
|
budgetCondition.setTargetId(category.getId()); |
|
|
|
|
|
budgetCondition.setTargetCode(category.getCode()); |
|
|
|
|
|
budgetCondition.setTargetName(category.getName()); |
|
|
|
|
|
budgetCondition.setTargetLevelPathIds(category.getLevelPath()); |
|
|
|
|
|
budgetCondition.setTargetLevelPathNames(category.getLevelPathNames()); |
|
|
|
|
|
conditionList.add(budgetCondition); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return conditionList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@NotNull |
|
|
|
|
|
private List<TbsScheduleItemBudget> createTbsScheduleItemBudgetList(TbsBudgetBatchBo.BudgetMain paramItem, Long budgetId, TbsSchedule schedule) { |
|
|
|
|
|
List<TbsScheduleItemBudget> scheduleItemBudgetList = new ArrayList<>(); |
|
|
|
|
|
for (TbsScheduleItem scheduleItem : schedule.getScheduleItemlist()) { |
|
|
|
|
|
for (TbsBudgetBatchBo.BudgetAmount amountItem : paramItem.getScheduleAmount()) { |
|
|
|
|
|
if(scheduleItem.getItemName().equals(amountItem.getScheduleItemName())){ |
|
|
|
|
|
TbsScheduleItemBudget scheduleItemBudget = new TbsScheduleItemBudget(); |
|
|
|
|
|
scheduleItemBudget.setScheduleId(schedule.getId()); |
|
|
|
|
|
scheduleItemBudget.setScheduleItemId(scheduleItem.getId()); |
|
|
|
|
|
scheduleItemBudget.setItemName(scheduleItem.getItemName()); |
|
|
|
|
|
scheduleItemBudget.setStartDate(scheduleItem.getStartDate()); |
|
|
|
|
|
scheduleItemBudget.setEndDate(scheduleItem.getEndDate()); |
|
|
|
|
|
scheduleItemBudget.setBudgetId(budgetId); |
|
|
|
|
|
scheduleItemBudget.setBudgetAmount(amountItem.getBudgetAmount()); |
|
|
|
|
|
scheduleItemBudget.setPreDispatchAmount(amountItem.getPreDispatchAmount()); |
|
|
|
|
|
scheduleItemBudget.setPreDispatchAmountFirst(amountItem.getPreDispatchAmount()); |
|
|
|
|
|
scheduleItemBudgetList.add(scheduleItemBudget); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return scheduleItemBudgetList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initBudget4Update(SysUser sysUser, TbsSchedule schedule, Map<String, BmsSubject> subjectMap, Map<String, TbsCenterDto> centerDtoMap, TbsBudgetBatchBo.BudgetMain paramItem, TbsBudget newBudget) { |
|
|
|
|
|
if(StringUtils.hasText(paramItem.getBudgetName())){ |
|
|
newBudget.setBudgetCode(paramItem.getBudgetName()); |
|
|
newBudget.setBudgetCode(paramItem.getBudgetName()); |
|
|
|
|
|
} |
|
|
newBudget.setBudgetNumber(paramItem.getBudgetNumber()); |
|
|
newBudget.setBudgetNumber(paramItem.getBudgetNumber()); |
|
|
newBudget.setBudgetState(0); |
|
|
newBudget.setBudgetState(0); |
|
|
newBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); |
|
|
newBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); |
|
@ -201,30 +297,85 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper, |
|
|
newBudget.setCenterType(centerDto.getCenterType()); |
|
|
newBudget.setCenterType(centerDto.getCenterType()); |
|
|
newBudget.setCenterCode(centerDto.getCenterCode()); |
|
|
newBudget.setCenterCode(centerDto.getCenterCode()); |
|
|
newBudget.setCenterName(centerDto.getCenterName()); |
|
|
newBudget.setCenterName(centerDto.getCenterName()); |
|
|
|
|
|
newBudget.setScheduleId(schedule.getId()); |
|
|
// newBudget.setScheduleId();
|
|
|
newBudget.setScheduleCode(schedule.getCode()); |
|
|
// newBudget.setScheduleCode();
|
|
|
newBudget.setScheduleName(schedule.getName()); |
|
|
// newBudget.setScheduleName();
|
|
|
boolean conditionFlag = StringUtils.hasText(paramItem.getCategoryNames()) |
|
|
//newBudget.setRemark();
|
|
|
||StringUtils.hasText(paramItem.getSeriesNames()) |
|
|
//newBudget.setConditionFlag();
|
|
|
||StringUtils.hasText(paramItem.getBandNames()); |
|
|
|
|
|
newBudget.setConditionFlag(conditionFlag?0:1); |
|
|
newBudget.setUserId(sysUser.getId()); |
|
|
newBudget.setUserId(sysUser.getId()); |
|
|
newBudget.setUserCode(sysUser.getCode()); |
|
|
newBudget.setUserCode(sysUser.getCode()); |
|
|
newBudget.setUserName(sysUser.getName()); |
|
|
newBudget.setUserName(sysUser.getName()); |
|
|
newBudget.setSubmitTime(LocalDateTime.now()); |
|
|
newBudget.setSubmitTime(LocalDateTime.now()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 加载类目 |
|
|
|
|
|
* @param paramBudgetList |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
|
|
|
private Map<String,GoodsCategory> loadGoodsCategoryMap(List<TbsBudgetBatchBo.BudgetMain> paramBudgetList) { |
|
|
|
|
|
Set<String> goodsCategoryNames = new HashSet<>(); |
|
|
|
|
|
for (TbsBudgetBatchBo.BudgetMain budgetMain : paramBudgetList) { |
|
|
|
|
|
String bandNames = budgetMain.getBandNames(); |
|
|
|
|
|
String categoryNames = budgetMain.getCategoryNames(); |
|
|
|
|
|
String seriesNames = budgetMain.getSeriesNames(); |
|
|
|
|
|
initCategorySet(goodsCategoryNames, bandNames); |
|
|
|
|
|
initCategorySet(goodsCategoryNames, categoryNames); |
|
|
|
|
|
initCategorySet(goodsCategoryNames, seriesNames); |
|
|
} |
|
|
} |
|
|
|
|
|
List<GoodsCategory> goodsCategories = goodsCategoryService.list( |
|
|
|
|
|
new LambdaQueryWrapper<GoodsCategory>().in(GoodsCategory::getName,goodsCategoryNames) |
|
|
|
|
|
); |
|
|
|
|
|
if(goodsCategories.size()!= goodsCategoryNames.size()){ |
|
|
|
|
|
for (String categoryName : goodsCategoryNames) { |
|
|
|
|
|
boolean exist = goodsCategories.stream().anyMatch(a->a.getName().equals(categoryName)); |
|
|
|
|
|
if(!exist){ |
|
|
|
|
|
Assert.throwEx("无效的品类:"+categoryName); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//新增的生成为草稿
|
|
|
} |
|
|
List<TbsBudgetBatchBo.BudgetMain> addBudgetList = paramBudgetList.stream() |
|
|
Map<String,GoodsCategory> categoryMap = new HashMap<>(goodsCategories.size()); |
|
|
.filter(a->!StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList()); |
|
|
for (GoodsCategory category : goodsCategories) { |
|
|
|
|
|
categoryMap.put(category.getName(),category); |
|
|
this.save(budgetBatch); |
|
|
} |
|
|
//保存后赋值
|
|
|
return categoryMap; |
|
|
Long budgetBatchId = budgetBatch.getId(); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 初始化set |
|
|
|
|
|
* @param goodsCategories |
|
|
|
|
|
* @param categoryString |
|
|
|
|
|
*/ |
|
|
|
|
|
private void initCategorySet(Set<String> goodsCategories, String categoryString) { |
|
|
|
|
|
if(StringUtils.hasText(categoryString)){ |
|
|
|
|
|
String[] values = categoryString |
|
|
|
|
|
.replace(",",",") |
|
|
|
|
|
.split(","); |
|
|
|
|
|
goodsCategories.addAll(Arrays.asList(values)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return null; |
|
|
private Map<String,TbsSchedule> loadScheduleMap(List<String> scheduleNames) { |
|
|
|
|
|
List<TbsSchedule> schedules = tbsScheduleService.list( |
|
|
|
|
|
new LambdaQueryWrapper<TbsSchedule>().in(TbsSchedule::getName, scheduleNames) |
|
|
|
|
|
); |
|
|
|
|
|
if(scheduleNames.size()!=schedules.size()){ |
|
|
|
|
|
for (String scheduleName : scheduleNames) { |
|
|
|
|
|
boolean exist = schedules.stream().anyMatch(a->a.getName().equals(scheduleName)); |
|
|
|
|
|
if(!exist){ |
|
|
|
|
|
Assert.throwEx("预算周期不存在:["+scheduleName+"]"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
Map<String,TbsSchedule> scheduleMap = new HashMap<>(scheduleNames.size()); |
|
|
|
|
|
for (TbsSchedule schedule : schedules) { |
|
|
|
|
|
List<TbsScheduleItem> scheduleItems = tbsScheduleItemService.listByScheduleId(schedule.getId()); |
|
|
|
|
|
schedule.setScheduleItemlist(scheduleItems); |
|
|
|
|
|
scheduleMap.put(schedule.getName(),schedule); |
|
|
|
|
|
} |
|
|
|
|
|
return scheduleMap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|