Browse Source

预算日志-费用日志

mssql
Yen 3 years ago
parent
commit
25d5409461
  1. 5
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  2. 18
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java
  3. 46
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java
  4. 42
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  5. 37
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

5
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -60,6 +60,7 @@ public class TbsCostApplyController {
private TbsCostApplyService tbsCostApplyService; private TbsCostApplyService tbsCostApplyService;
private TbsActivityService tbsActivityService; private TbsActivityService tbsActivityService;
private TbsBudgetLogService tbsBudgetLogService;
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonService seeYonService;
@ -398,6 +399,10 @@ public class TbsCostApplyController {
apply.setChargeState(TbsCostApplyState.State_5_stop.getCode()); apply.setChargeState(TbsCostApplyState.State_5_stop.getCode());
tbsCostApplyService.updateById(apply); tbsCostApplyService.updateById(apply);
tbsCostApplyService.releaseCost(costApply.getId(), 1); tbsCostApplyService.releaseCost(costApply.getId(), 1);
//移除日志
LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>();
logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId());
tbsBudgetLogService.remove(logLqw);
return R.ok(); return R.ok();
} }
}else if ("next".equals(flag)){ }else if ("next".equals(flag)){

18
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java

@ -1,7 +1,13 @@
package com.qs.serve.modules.tbs.service; package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog; import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import java.math.BigDecimal;
/** /**
* 预算日志 服务接口 * 预算日志 服务接口
@ -10,5 +16,17 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
*/ */
public interface TbsBudgetLogService extends IService<TbsBudgetLog> { public interface TbsBudgetLogService extends IService<TbsBudgetLog> {
/**
* 建立日志申请和释放时通用方法
* @param optType
* @param sysUser
* @param costApply
* @param item
* @param budget
* @param amount
* @return
*/
TbsBudgetLog buildTbsBudgetLog(Integer optType, SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount);
} }

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

@ -1,13 +1,20 @@
package com.qs.serve.modules.tbs.service.impl; package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog; import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.service.TbsBudgetLogService; import com.qs.serve.modules.tbs.service.TbsBudgetLogService;
import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper; import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper;
import java.math.BigDecimal;
/** /**
* 预算日志 服务实现类 * 预算日志 服务实现类
* @author YenHex * @author YenHex
@ -18,5 +25,44 @@ import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper;
@AllArgsConstructor @AllArgsConstructor
public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsBudgetLog> implements TbsBudgetLogService { public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsBudgetLog> implements TbsBudgetLogService {
@NotNull
@Override
public TbsBudgetLog buildTbsBudgetLog(Integer optType,SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount) {
TbsBudgetLog budgetLog = new TbsBudgetLog();
budgetLog.setBudgetId(item.getBudgetId());
budgetLog.setBudgetCode(budget.getBudgetCode());
budgetLog.setOptType(optType);
budgetLog.setOptUserId(sysUser.getId());
budgetLog.setOptUserCode(sysUser.getCode());
budgetLog.setOptUserName(sysUser.getName());
budgetLog.setAmount(amount);
budgetLog.setScheduleId(item.getScheduleId());
budgetLog.setScheduleItemId(item.getScheduleItemId());
//budgetLog.setItemName();
budgetLog.setStartDate(item.getActStartDate().atStartOfDay());
budgetLog.setEndDate(item.getActEndDate().atStartOfDay());
budgetLog.setSubjectId(item.getSubjectId());
budgetLog.setSubjectCode(item.getSubjectCode());
budgetLog.setSubjectName(item.getSubjectName());
budgetLog.setCenterId(item.getCenterId());
budgetLog.setCenterCode(item.getCenterCode());
budgetLog.setCenterName(item.getCenterName());
budgetLog.setSupplierId(item.getSupplierId());
budgetLog.setSupplierCode(item.getSupplierCode());
budgetLog.setSupplierName(item.getSupplierName());
budgetLog.setActivityId(item.getActivityId());
budgetLog.setActivityCode(item.getActivityCode());
budgetLog.setCostApplyId(costApply.getId());
budgetLog.setCostApplyCode(costApply.getCode());
budgetLog.setCostApplyTheme(costApply.getChargeTheme());
budgetLog.setTargetType(item.getTargetType());
budgetLog.setTargetId(item.getTargetId());
budgetLog.setTargetCode(item.getTargetCode());
budgetLog.setTargetName(item.getTargetName());
budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds());
budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames());
return budgetLog;
}
} }

42
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -22,6 +22,7 @@ import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService;
import com.qs.serve.modules.tbs.service.TbsBudgetLogService; import com.qs.serve.modules.tbs.service.TbsBudgetLogService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsCostApplyService; import com.qs.serve.modules.tbs.service.TbsCostApplyService;
@ -101,18 +102,17 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
allBudgetItem.addAll(result.getBudgetUnMatchList()); allBudgetItem.addAll(result.getBudgetUnMatchList());
budgetCostItemService.saveBatch(allBudgetItem); budgetCostItemService.saveBatch(allBudgetItem);
//保存预算使用日志 //保存预算使用日志
saveBudgetLog(supplier, result, sysUser, costApply, allBudgetItem); saveBudgetLog(result, sysUser, costApply, allBudgetItem);
} }
/** /**
* 保存预算使用日志 * 保存预算使用日志
* @param supplier
* @param result * @param result
* @param sysUser * @param sysUser
* @param costApply * @param costApply
* @param allBudgetItem * @param allBudgetItem
*/ */
private void saveBudgetLog(BmsSupplier supplier, TbsBudgetCostResult result, SysUser sysUser, TbsCostApply costApply, List<TbsBudgetCostItem> allBudgetItem) { private void saveBudgetLog(TbsBudgetCostResult result, SysUser sysUser, TbsCostApply costApply, List<TbsBudgetCostItem> allBudgetItem) {
List<TbsBudgetLog> budgetLogList = new ArrayList<>(); List<TbsBudgetLog> budgetLogList = new ArrayList<>();
List<TbsBudget> budgetList = result.getBudgetList(); List<TbsBudget> budgetList = result.getBudgetList();
for (TbsBudgetCostItem item : allBudgetItem) { for (TbsBudgetCostItem item : allBudgetItem) {
@ -130,39 +130,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
if(budget==null){ if(budget==null){
continue; continue;
} }
TbsBudgetLog budgetLog = new TbsBudgetLog(); TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(0,sysUser, costApply, item, budget,item.getCenterGoodsAmount().negate());
budgetLog.setBudgetId(item.getBudgetId());
budgetLog.setBudgetCode(budget.getBudgetCode());
budgetLog.setOptType(2);
budgetLog.setOptUserId(sysUser.getId());
budgetLog.setOptUserCode(sysUser.getCode());
budgetLog.setOptUserName(sysUser.getName());
budgetLog.setAmount(item.getCenterGoodsAmount().negate());
budgetLog.setScheduleId(item.getScheduleId());
budgetLog.setScheduleItemId(item.getScheduleItemId());
//budgetLog.setItemName();
budgetLog.setStartDate(item.getActStartDate().atStartOfDay());
budgetLog.setEndDate(item.getActEndDate().atStartOfDay());
budgetLog.setSubjectId(item.getSubjectId());
budgetLog.setSubjectCode(item.getSubjectCode());
budgetLog.setSubjectName(item.getSubjectName());
budgetLog.setCenterId(item.getCenterId());
budgetLog.setCenterCode(item.getCenterCode());
budgetLog.setCenterName(item.getCenterName());
budgetLog.setSupplierId(Long.parseLong(supplier.getId()));
budgetLog.setSupplierCode(supplier.getCode());
budgetLog.setSupplierName(supplier.getName());
budgetLog.setActivityId(item.getActivityId());
budgetLog.setActivityCode(item.getActivityCode());
budgetLog.setCostApplyId(costApply.getId());
budgetLog.setCostApplyCode(costApply.getCode());
budgetLog.setCostApplyTheme(costApply.getChargeTheme());
budgetLog.setTargetType(item.getTargetType());
budgetLog.setTargetId(item.getTargetId());
budgetLog.setTargetCode(item.getTargetCode());
budgetLog.setTargetName(item.getTargetName());
budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds());
budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames());
budgetLogList.add(budgetLog); budgetLogList.add(budgetLog);
} }
if(CollectionUtil.isNotEmpty(budgetLogList)){ if(CollectionUtil.isNotEmpty(budgetLogList)){
@ -170,6 +138,8 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
} }
} }
@Override @Override
public void releaseCost(Long costApplyId,Integer invalidFlag) { public void releaseCost(Long costApplyId,Integer invalidFlag) {
LambdaQueryWrapper<TbsBudgetCostItem> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetCostItem> lqw = new LambdaQueryWrapper<>();

37
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -61,7 +61,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
private final TbsActivitySubjectService activitySubjectService; private final TbsActivitySubjectService activitySubjectService;
private final TbsActivityCenterGoodsService activityCenterGoodsService; private final TbsActivityCenterGoodsService activityCenterGoodsService;
private final TbsActivityCenterService activityCenterService; private final TbsActivityCenterService activityCenterService;
private final TbsBudgetCostItemService budgetCostItemService;
private final TbsBudgetLogService budgetLogService;
private final TbsBudgetService budgetService;
private final BmsSubjectService subjectService; private final BmsSubjectService subjectService;
private final BmsChannelService channelService; private final BmsChannelService channelService;
private final BmsChannelPointService channelPointService; private final BmsChannelPointService channelPointService;
@ -110,6 +112,39 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
fundFlow.setUsedAmount(releaseAmount); fundFlow.setUsedAmount(releaseAmount);
fundFlowService.save(fundFlow); fundFlowService.save(fundFlow);
//todo 保存预算日志
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activityId);
LambdaQueryWrapper<TbsBudgetCostItem> itemLqw = new LambdaQueryWrapper<>();
itemLqw.eq(TbsBudgetCostItem::getActivityId,activityId);
List<TbsBudgetCostItem> budgetCostItemList = budgetCostItemService.list(itemLqw);
List<Long> budgetIds = budgetCostItemList.stream().map(TbsBudgetCostItem::getBudgetId).collect(Collectors.toList());
List<TbsBudget> budgetLIst = budgetService.listByIds(budgetIds);
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
for (TbsActivityCenterGoods centerGoods : centerGoodsList) {
if(centerGoods.getCenterGoodsAmount().compareTo(centerGoods.getUsedAmount())<1){
continue;
}
TbsBudgetCostItem currCostItem = null;
TbsBudget currentBudget = null;
for (TbsBudgetCostItem costItem : budgetCostItemList) {
if(centerGoods.getId().equals(costItem.getCenterGoodItemId())){
currCostItem = costItem;
break;
}
}
for (TbsBudget budget : budgetLIst) {
if (currCostItem.getBudgetId().equals(budget.getId())){
currentBudget = budget;
}
}
BigDecimal amount = centerGoods.getCenterGoodsAmount().subtract(centerGoods.getUsedAmount());
TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(4,sysUser,costApply,currCostItem,currentBudget,amount);
budgetLogList.add(budgetLog);
}
if(CollectionUtil.isNotEmpty(budgetLogList)){
budgetLogService.saveBatch(budgetLogList);
}
} }
@Override @Override

Loading…
Cancel
Save