Browse Source

预算添加启停状态

mssql
Yen 3 years ago
parent
commit
17fdbeb7e5
  1. 18
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  2. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java
  3. 13
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java
  4. 23
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java
  5. 19
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

18
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -12,6 +12,7 @@ import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.entity.TbsBudgetCondition;
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget;
import com.qs.serve.modules.tbs.entity.bo.TbsBudgetStateBo;
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo;
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper;
import com.qs.serve.modules.tbs.service.TbsBudgetConditionService;
@ -128,6 +129,22 @@ public class TbsBudgetController {
return R.ok();
}
/**
* 更新状态
* @param param
* @return
*/
@PostMapping("/updateState")
@SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:budget:update')")
public R<?> updateById(@RequestBody @Valid TbsBudgetStateBo param){
TbsBudget budget = new TbsBudget();
budget.setId(param.getId());
budget.setBudgetState(param.getBudgetState().equals(1)?1:0);
tbsBudgetService.updateById(budget);
return R.ok();
}
/**
* 新增
* @param param
@ -151,6 +168,7 @@ public class TbsBudgetController {
@SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.DELETE)
@PreAuthorize("hasRole('tbs:budget:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
//todo 预算记录则不允许删除
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = tbsBudgetService.removeByIds(idsLong);
return R.isTrue(result);

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java

@ -31,6 +31,9 @@ public class TbsBudget implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
/** 费用启用状态 */
private Integer budgetState;
/** 科目id */
@NotNull(message = "科目id不能为空")
private Long subjectId;

13
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java

@ -43,6 +43,8 @@ public class TbsBudgetBo implements Serializable {
@NotNull(message = "考核期id不能为空")
private Long scheduleId;
@NotNull(message = "考核项不能为空")
private List<ScheduleItem> scheduleItems;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
@ -62,5 +64,16 @@ public class TbsBudgetBo implements Serializable {
/** skuId列表(前端显示为单品) */
private List<Long> skuIds;
@Data
public static class ScheduleItem{
/** 考核期项ID */
private Long scheduleItemId;
/** 预算金额 */
private BigDecimal amount;
}
}

23
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java

@ -0,0 +1,23 @@
package com.qs.serve.modules.tbs.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/11/16
*/
@Data
public class TbsBudgetStateBo {
/** id */
@NotNull
private Long id;
/** 费用启用状态 */
@NotNull
private Integer budgetState;
}

19
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -83,15 +83,28 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
LambdaQueryWrapper<TbsScheduleItemBudget> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(TbsScheduleItemBudget::getBudgetId,budget.getId());
scheduleItemBudgetService.remove(lqw2);
}else {
this.saveOrUpdate(budget);
}
this.saveOrUpdate(budget);
//保存 费用项
List<TbsScheduleItem> scheduleItems = scheduleItemService.listByScheduleId(schedule.getId());
List<TbsScheduleItemBudget> scheduleItemBudgets = new ArrayList<>();
for (TbsScheduleItem scheduleItem : scheduleItems) {
TbsScheduleItemBudget itemBudget = CopierUtil.copy(scheduleItem,new TbsScheduleItemBudget());
for (TbsBudgetBo.ScheduleItem boScheduleItem : budgetBo.getScheduleItems()) {
if(itemBudget.getId().equals(boScheduleItem.getScheduleItemId())){
itemBudget.setBudgetAmount(boScheduleItem.getAmount());
break;
}
}
if(itemBudget.getBudgetAmount()==null){
Assert.throwEx("考核期周期需设置金额");
}
itemBudget.setId(null);
itemBudget.setBudgetId(budget.getId());
scheduleItemBudgets.add(itemBudget);
}
scheduleItemBudgetService.saveBatch(scheduleItemBudgets);
//设置条件
List<TbsBudgetCondition> budgetConditions = new ArrayList<>();
if(CollectionUtil.isNotEmpty(budgetBo.getSkuIds())){

Loading…
Cancel
Save