Browse Source

修复:费用申请回退后,预览金额重复扣除;预算日志添加预算考核期关联;

contract
Yen 3 years ago
parent
commit
066fbfa1dd
  1. 16
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java
  2. 4
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java
  3. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  4. 1
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetCostItemServiceImpl.java
  5. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java
  6. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

16
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java

@ -73,6 +73,22 @@ public class TbsBudgetLog implements Serializable {
@NotNull(message = "考核期项id不能为空")
private Long scheduleItemId;
/** 预算的考核期id */
@NotNull(message = "预算的考核期id不能为空")
private Long scheduleItemBudgetId;
/** 原考核id */
@NotNull(message = "考核id不能为空")
private Long scheduleOrgId;
/** 原考核期项id */
@NotNull(message = "考核期项id不能为空")
private Long scheduleItemOrgId;
/** 原预算的考核期id */
@NotNull(message = "预算的考核期id不能为空")
private Long scheduleItemBudgetOrgId;
/** 考核编码 */
@NotBlank(message = "考核编码不能为空")
@Length(max = 30,message = "考核编码长度不能超过30字")

4
src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java

@ -23,8 +23,8 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper<TbsScheduleItemB
" LEFT JOIN `tbs_cost_apply` " +
" ON `tbs_budget_cost_item`.cost_apply_id = `tbs_cost_apply`.id " +
" WHERE `tbs_cost_apply`.charge_state = 1 OR `tbs_cost_apply`.charge_state = 4 " +
" AND `tbs_budget_cost_item`.id = #{scheduleItemBudgetId}")
BigDecimal totalApplyAmount(@Param("scheduleItemBudgetId") Long scheduleItemBudgetId);
" AND `tbs_budget_cost_item`.id = #{scheduleItemBudgetId} and `tbs_cost_apply`.id != #{applyId}")
BigDecimal totalApplyAmount(@Param("scheduleItemBudgetId") Long scheduleItemBudgetId,@Param("applyId") Long applyId);
}

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

@ -208,7 +208,7 @@ public class TbsBudgetApplicationService {
//统计费用申请占用金额
Map<Long,BigDecimal> budgetItemApplyAmountMap = new HashMap<>(scheduleItemList.size());
for (TbsScheduleItemBudget itemBudget : scheduleItemList) {
BigDecimal budgetItemApplyAmount = tbsScheduleItemBudgetMapper.totalApplyAmount(itemBudget.getId());
BigDecimal budgetItemApplyAmount = tbsScheduleItemBudgetMapper.totalApplyAmount(itemBudget.getId(),costApplyId);
budgetItemApplyAmountMap.put(itemBudget.getId(),budgetItemApplyAmount);
}
//统计当前活动前置项占用预算

1
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetCostItemServiceImpl.java

@ -35,6 +35,7 @@ public class TbsBudgetCostItemServiceImpl extends ServiceImpl<TbsBudgetCostItemM
if(CollectionUtil.isNotEmpty(ids)){
LambdaQueryWrapper<TbsBudgetCostItem> costLqw = new LambdaQueryWrapper<>();
costLqw.in(TbsBudgetCostItem::getScheduleItemBudgetId,ids);
costLqw.eq(TbsBudgetCostItem::getInvalidFlag,0);
if(neCostApplyId!=null){
costLqw.ne(TbsBudgetCostItem::getCostApplyId,neCostApplyId);
}

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java

@ -35,6 +35,10 @@ public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsB
budgetLog.setAmount(amount);
budgetLog.setScheduleId(item.getScheduleId());
budgetLog.setScheduleItemId(item.getScheduleItemId());
budgetLog.setScheduleItemBudgetId(item.getId());
budgetLog.setScheduleOrgId(item.getScheduleId());
budgetLog.setScheduleItemOrgId(item.getScheduleItemId());
budgetLog.setScheduleItemBudgetOrgId(item.getId());
budgetLog.setItemName(item.getScheduleItemName());
budgetLog.setStartDate(item.getActStartDate().atStartOfDay());
budgetLog.setEndDate(item.getActEndDate().atStartOfDay());

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

@ -250,6 +250,10 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
budgetLog.setAmount(amount);
budgetLog.setScheduleId(scheduleItemBudget.getScheduleId());
budgetLog.setScheduleItemId(scheduleItemBudget.getScheduleItemId());
budgetLog.setScheduleItemBudgetId(scheduleItemBudget.getId());
budgetLog.setScheduleOrgId(scheduleItemBudget.getScheduleId());
budgetLog.setScheduleItemOrgId(scheduleItemBudget.getScheduleItemId());
budgetLog.setScheduleItemBudgetOrgId(scheduleItemBudget.getId());
budgetLog.setItemName(scheduleItemBudget.getItemName());
budgetLog.setStartDate(scheduleItemBudget.getStartDate());
budgetLog.setEndDate(scheduleItemBudget.getEndDate());

Loading…
Cancel
Save