Browse Source

底表查询 和 预算调整添加接口

v1.0
15989082884@163.com 2 years ago
parent
commit
f7e1a7c23f
  1. 8
      src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
  2. 18
      src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java
  3. 33
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  4. 1
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java
  5. 12
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

8
src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java

@ -58,6 +58,14 @@ public class BirActivityCenterGoodsController {
public R<PageVo<BirActivityCenterGoods>> getPage(BirActivityCenterGoods param){
PageUtil.startPage();
LambdaQueryWrapper<BirActivityCenterGoods> channelWrapper = new LambdaQueryWrapper<>(param);
if(param.getKeyNumStart()!=null){
Integer keyNumStart = Integer.parseInt(param.getKeyNumStart().replace("-",""));
channelWrapper.ge(BirActivityCenterGoods::getKeyNum,keyNumStart);
}
if(param.getKeyNumEnd()!=null){
Integer keyNumEnd = Integer.parseInt(param.getKeyNumEnd().replace("-",""));
channelWrapper.le(BirActivityCenterGoods::getKeyNum,keyNumEnd);
}
List<BirActivityCenterGoods> list = centerGoodsService.list(channelWrapper);
return R.byPageHelperList(list);
}

18
src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java

@ -85,6 +85,7 @@ public class BirActivityCenterGoods implements Serializable {
/** 活动编码 */
@NotBlank(message = "活动编码不能为空")
@Length(max = 30,message = "活动编码长度不能超过30字")
@TableField(condition = SqlCondition.LIKE)
private String activityCode;
/** 活动总金额 */
@ -106,11 +107,13 @@ public class BirActivityCenterGoods implements Serializable {
/** 科目编码 */
@NotBlank(message = "科目编码不能为空")
@Length(max = 50,message = "科目编码长度不能超过50字")
@TableField(condition = SqlCondition.LIKE)
private String subjectCode;
/** 科目名称 */
@NotBlank(message = "科目名称不能为空")
@Length(max = 50,message = "科目名称长度不能超过50字")
@TableField(condition = SqlCondition.LIKE)
private String subjectName;
/** 成本中心类型 */
@ -126,11 +129,13 @@ public class BirActivityCenterGoods implements Serializable {
/** 成本中心编码 */
@NotBlank(message = "成本中心编码不能为空")
@Length(max = 50,message = "成本中心编码长度不能超过50字")
@TableField(condition = SqlCondition.LIKE)
private String centerCode;
/** 成本中心名称 */
@NotBlank(message = "成本中心名称不能为空")
@Length(max = 200,message = "成本中心名称长度不能超过200字")
@TableField(condition = SqlCondition.LIKE)
private String centerName;
/** 成本中心金额 */
@ -165,11 +170,13 @@ public class BirActivityCenterGoods implements Serializable {
/** 目标编码 */
@NotBlank(message = "目标编码不能为空")
@Length(max = 30,message = "目标编码长度不能超过30字")
@TableField(condition = SqlCondition.LIKE)
private String targetCode;
/** 目标名称 */
@NotBlank(message = "目标名称不能为空")
@Length(max = 200,message = "目标名称长度不能超过200字")
@TableField(condition = SqlCondition.LIKE)
private String targetName;
/** 目标等级路径 */
@ -261,20 +268,29 @@ public class BirActivityCenterGoods implements Serializable {
/** 客户编码 */
@NotBlank(message = "客户编码不能为空")
@Length(max = 30,message = "客户编码长度不能超过30字")
@TableField(condition = SqlCondition.LIKE)
private String supplierCode;
/** 客户名称 */
@NotBlank(message = "客户名称不能为空")
@Length(max = 200,message = "客户名称长度不能超过200字")
@TableField(condition = SqlCondition.LIKE)
private String supplierName;
@TableField(condition = SqlCondition.LIKE)
private String supplierSaleRegionName;
private String supplierSaleRegionId;
@TableField(condition = SqlCondition.LIKE)
private String supplierBizRegionName;
private String supplierBizRegionId;
@TableField(exist = false)
private String keyNumStart;
@TableField(exist = false)
private String keyNumEnd;
}

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

@ -185,6 +185,39 @@ public class TbsBudgetController {
return R.ok();
}
/**
* 修改周期金额
* @param param
* @return
*/
@PostMapping("/updateScheduleItemAmountAdd")
@SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:budget:update')")
public R<?> updateScheduleItemAmountAdd(@RequestBody @Valid TbsScheduleItemBudgetBo param){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
//金额相同时退出
// if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();}
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
// TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget();
// itemBudget.setId(param.getId());
// itemBudget.setBudgetAmount(param.getBudgetAmount());
// tbsScheduleItemBudgetService.updateById(itemBudget);
//0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放
BudgetLogOptFlag optType;
BigDecimal amount;
if(param.getBudgetAmount().compareTo(BigDecimal.ZERO)>0){
amount = param.getBudgetAmount();
optType = BudgetLogOptFlag.State_2;
}else {
amount = param.getBudgetAmount();
optType = BudgetLogOptFlag.State_3;
}
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,scheduleItemBudget,optType, amount);
tbsBudgetLogService.save(budgetLog);
return R.ok();
}
/**
* 修改预计发货金额
* @param param

1
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java

@ -30,7 +30,6 @@ public class TbsScheduleItemBudgetBo implements Serializable {
private Long id;
/** 预算金额 */
@DecimalMin(value = "0")
@NotNull(message = "预算金额不能为空")
private BigDecimal budgetAmount;

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

@ -40,10 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -428,6 +425,13 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
LambdaQueryWrapper<TbsScheduleItemBudget> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(TbsScheduleItemBudget::getBudgetId,budget.getId());
List<TbsScheduleItemBudget> scheduleItemBudgets = scheduleItemBudgetService.list(lqw2);
scheduleItemBudgets.forEach(a->{
LambdaQueryWrapper<TbsBudgetLog> budgetLogLambdaQueryWrapper = new LambdaQueryWrapper<>();
budgetLogLambdaQueryWrapper.in(TbsBudgetLog::getOptType, BudgetLogOptFlag.getFinalBudgetOptFlag());
budgetLogLambdaQueryWrapper.eq(TbsBudgetLog::getScheduleItemBudgetId,a.getId());
List<TbsBudgetLog> logList = budgetLogService.list(budgetLogLambdaQueryWrapper);
a.setBudgetAmount(logList.stream().map(b->b.getAmount()).reduce(BigDecimal.ZERO,BigDecimal::add));
});
budgetVo.setScheduleItem(scheduleItemBudgets);
return budgetVo;
}

Loading…
Cancel
Save