Browse Source

保存activity时,传入模板指定预算ids,如模板预算存在,计算预算命中时,筛选预算ids

contract
15989082884@163.com 2 years ago
parent
commit
9648d70213
  1. 5
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  2. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java
  3. 7
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  4. 6
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

5
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -10,14 +10,17 @@ import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.time.Period;
import java.time.temporal.ChronoUnit;
import java.util.List;
/**
* 费用活动 实体类
@ -186,6 +189,8 @@ public class TbsActivity implements Serializable {
/** 模板ID */
private Long templateId;
private String templateBudgetIds;
/** 产品类型 */
@TableField(exist = false)
private String goodsType;

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java

@ -108,5 +108,7 @@ public class TbsActivityBo implements Serializable {
/** 模板值 */
private String templateValue;
private List<Long> templateBudgetIds;
}

7
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.consts.SysConfigKey;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.service.SysConfigService;
import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.common.dto.CostSortWrapper;
@ -762,6 +763,12 @@ public class TbsBudgetApplicationService {
for (TbsActivity activity : activityList) {
List<TbsScheduleItemBudget> budgetItemList = tbsScheduleItemBudgetService
.betweenDateList(activity.getPreStartDate(),activity.getPreEndDate());
if(StringUtils.hasText(activity.getTemplateBudgetIds())){
List<Long> budgetIdsList = Arrays.stream(activity.getTemplateBudgetIds().split(",")).map(Long::parseLong)
.collect(Collectors.toList());
budgetItemList = budgetItemList.stream().filter(a->budgetIdsList.contains(a.getBudgetId())).collect(Collectors.toList());
}
//设置关联用于后面条件过滤
activity.setScheduleItemBudgetList(budgetItemList);
if(CollectionUtil.isNotEmpty(budgetItemList)){

6
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -120,11 +120,17 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
if(activity==null){
Assert.throwEx("活动不存在");
}
activity.setUpdateTime(null);
}else {
activity = CopierUtil.copy(activityBo,new TbsActivity());
String random = String.format("%03d",new Random().nextInt(999));
activity.setActivityCode("G"+ StringUtils.genShortId() + random);
}
if(activityBo.getTemplateBudgetIds()!=null && activityBo.getTemplateBudgetIds().size()>0){
String budgetIds = activityBo.getTemplateBudgetIds().stream()
.map(a->a.toString()).collect(Collectors.joining(","));
activity.setTemplateBudgetIds(budgetIds);
}
activity.setActStartDate(activityBo.getActStartDate());
activity.setActEndDate(activityBo.getActEndDate());
activity.setPreStartDate(activityBo.getPreStartDate());

Loading…
Cancel
Save