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.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; 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 com.qs.serve.modules.bms.entity.BmsSupplier;
import lombok.Data; import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.time.Period; import java.time.Period;
import java.time.temporal.ChronoUnit;
import java.util.List; import java.util.List;
/** /**
* 费用活动 实体类 * 费用活动 实体类
@ -186,6 +189,8 @@ public class TbsActivity implements Serializable {
/** 模板ID */ /** 模板ID */
private Long templateId; private Long templateId;
private String templateBudgetIds;
/** 产品类型 */ /** 产品类型 */
@TableField(exist = false) @TableField(exist = false)
private String goodsType; 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 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.model.consts.SysConfigKey;
import com.qs.serve.common.util.Assert; 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.StringUtils;
import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.sys.service.SysConfigService;
import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.common.dto.CostSortWrapper; import com.qs.serve.modules.tbs.common.dto.CostSortWrapper;
@ -762,6 +763,12 @@ public class TbsBudgetApplicationService {
for (TbsActivity activity : activityList) { for (TbsActivity activity : activityList) {
List<TbsScheduleItemBudget> budgetItemList = tbsScheduleItemBudgetService List<TbsScheduleItemBudget> budgetItemList = tbsScheduleItemBudgetService
.betweenDateList(activity.getPreStartDate(),activity.getPreEndDate()); .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); activity.setScheduleItemBudgetList(budgetItemList);
if(CollectionUtil.isNotEmpty(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){ if(activity==null){
Assert.throwEx("活动不存在"); Assert.throwEx("活动不存在");
} }
activity.setUpdateTime(null);
}else { }else {
activity = CopierUtil.copy(activityBo,new TbsActivity()); activity = CopierUtil.copy(activityBo,new TbsActivity());
String random = String.format("%03d",new Random().nextInt(999)); String random = String.format("%03d",new Random().nextInt(999));
activity.setActivityCode("G"+ StringUtils.genShortId() + random); 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.setActStartDate(activityBo.getActStartDate());
activity.setActEndDate(activityBo.getActEndDate()); activity.setActEndDate(activityBo.getActEndDate());
activity.setPreStartDate(activityBo.getPreStartDate()); activity.setPreStartDate(activityBo.getPreStartDate());

Loading…
Cancel
Save