|
@ -8,26 +8,23 @@ import com.qs.serve.common.model.dto.R; |
|
|
import com.qs.serve.common.model.enums.BizType; |
|
|
import com.qs.serve.common.model.enums.BizType; |
|
|
import com.qs.serve.common.model.enums.SystemModule; |
|
|
import com.qs.serve.common.model.enums.SystemModule; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.common.util.*; |
|
|
|
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
|
|
|
import com.qs.serve.modules.sys.service.SysUserService; |
|
|
import com.qs.serve.modules.tbs.common.TbsGoodsType; |
|
|
import com.qs.serve.modules.tbs.common.TbsGoodsType; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetCondition; |
|
|
import com.qs.serve.modules.tbs.entity.*; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem; |
|
|
|
|
|
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; |
|
|
|
|
|
import com.qs.serve.modules.tbs.entity.bo.*; |
|
|
import com.qs.serve.modules.tbs.entity.bo.*; |
|
|
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; |
|
|
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; |
|
|
import com.qs.serve.modules.tbs.service.TbsBudgetConditionService; |
|
|
import com.qs.serve.modules.tbs.service.*; |
|
|
import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService; |
|
|
|
|
|
import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService; |
|
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo; |
|
|
import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudget; |
|
|
|
|
|
import com.qs.serve.modules.tbs.service.TbsBudgetService; |
|
|
|
|
|
|
|
|
|
|
|
import javax.validation.Valid; |
|
|
import javax.validation.Valid; |
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
@ -44,10 +41,12 @@ import java.util.stream.Collectors; |
|
|
@RequestMapping("tbs/budget") |
|
|
@RequestMapping("tbs/budget") |
|
|
public class TbsBudgetController { |
|
|
public class TbsBudgetController { |
|
|
|
|
|
|
|
|
private TbsBudgetService tbsBudgetService; |
|
|
private final TbsBudgetService tbsBudgetService; |
|
|
private TbsBudgetMapper tbsBudgetMapper; |
|
|
private final TbsBudgetMapper tbsBudgetMapper; |
|
|
private TbsBudgetCostItemService tbsBudgetCostItemService; |
|
|
private final TbsBudgetCostItemService tbsBudgetCostItemService; |
|
|
private TbsScheduleItemBudgetService tbsScheduleItemBudgetService; |
|
|
private final TbsBudgetLogService tbsBudgetLogService; |
|
|
|
|
|
private final TbsScheduleItemBudgetService tbsScheduleItemBudgetService; |
|
|
|
|
|
private final SysUserService sysUserService; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 列表 |
|
|
* 列表 |
|
@ -144,10 +143,25 @@ public class TbsBudgetController { |
|
|
@SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE) |
|
|
@SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE) |
|
|
@PreAuthorize("hasRole('tbs:budget:update')") |
|
|
@PreAuthorize("hasRole('tbs:budget:update')") |
|
|
public R<?> updateById(@RequestBody @Valid TbsScheduleItemBudgetBo param){ |
|
|
public R<?> updateById(@RequestBody @Valid TbsScheduleItemBudgetBo param){ |
|
|
|
|
|
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); |
|
|
|
|
|
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); |
|
|
|
|
|
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); |
|
|
TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); |
|
|
TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); |
|
|
itemBudget.setId(param.getId()); |
|
|
itemBudget.setId(param.getId()); |
|
|
itemBudget.setBudgetAmount(param.getBudgetAmount()); |
|
|
itemBudget.setBudgetAmount(param.getBudgetAmount()); |
|
|
tbsScheduleItemBudgetService.updateById(itemBudget); |
|
|
tbsScheduleItemBudgetService.updateById(itemBudget); |
|
|
|
|
|
//0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放
|
|
|
|
|
|
Integer optType; |
|
|
|
|
|
BigDecimal amount = null; |
|
|
|
|
|
if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())>0){ |
|
|
|
|
|
amount = scheduleItemBudget.getBudgetAmount().subtract(param.getBudgetAmount()).negate(); |
|
|
|
|
|
optType = 3; |
|
|
|
|
|
}else { |
|
|
|
|
|
amount = param.getBudgetAmount().subtract(scheduleItemBudget.getBudgetAmount()); |
|
|
|
|
|
optType = 2; |
|
|
|
|
|
} |
|
|
|
|
|
TbsBudgetLog budgetLog = tbsBudgetService.toTbsBudgetLog(sysUser,budget,scheduleItemBudget,optType, amount); |
|
|
|
|
|
tbsBudgetLogService.save(budgetLog); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|