Browse Source

预算日志-调试完成

mssql
Yen 3 years ago
parent
commit
69b762739d
  1. 9
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java
  2. 4
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  3. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java
  4. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java
  5. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java
  6. 4
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsBudgetCostResult.java
  7. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityApplicationService.java
  8. 34
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  9. 7
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java
  10. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java
  11. 11
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java
  12. 30
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  13. 25
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  14. 9
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

9
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java

@ -111,6 +111,15 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> im
} }
} }
} }
String specInfos = "";
for (int i = 0; i < skuSpecValueVos.size(); i++) {
GoodsSkuSpecValueVo specValueVo = skuSpecValueVos.get(i);
if( i > 0 ){
specInfos = ";"+specInfos;
}
specInfos = specValueVo.getSpecValue() + specInfos;
}
goodsSku.setSpecInfos(specInfos);
this.saveOrUpdate(goodsSku); this.saveOrUpdate(goodsSku);
for (GoodsSpecValue specValue : goodsSpecValues) { for (GoodsSpecValue specValue : goodsSpecValues) {
goodsSkuSpecValueService.initSkuSpecValue(goodsSku.getSpuId(),goodsSku.getId(),specValue.getId()); goodsSkuSpecValueService.initSkuSpecValue(goodsSku.getSpuId(),goodsSku.getId(),specValue.getId());

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

@ -129,7 +129,7 @@ public class TbsBudgetController {
public R<?> updateById(@RequestBody @Valid TbsBudgetStateBo param){ public R<?> updateById(@RequestBody @Valid TbsBudgetStateBo param){
TbsBudget budget = new TbsBudget(); TbsBudget budget = new TbsBudget();
budget.setId(param.getId()); budget.setId(param.getId());
budget.setBudgetState(param.getBudgetState().equals(1)?1:0); budget.setBudgetState(1);
tbsBudgetService.updateById(budget); tbsBudgetService.updateById(budget);
return R.ok(); return R.ok();
} }
@ -145,6 +145,8 @@ public class TbsBudgetController {
public R<?> updateById(@RequestBody @Valid TbsScheduleItemBudgetBo param){ public R<?> updateById(@RequestBody @Valid TbsScheduleItemBudgetBo param){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
//金额相同时退出
if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();}
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget();
itemBudget.setId(param.getId()); itemBudget.setId(param.getId());

4
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java

@ -218,6 +218,10 @@ public class TbsActivityCenterGoods implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Long scheduleItemId; private Long scheduleItemId;
/** 后台参数:考核期项id */
@TableField(exist = false)
private String scheduleItemName;
/** 后台参数:费用考核期项id */ /** 后台参数:费用考核期项id */
@TableField(exist = false) @TableField(exist = false)
private Long scheduleItemBudgetId; private Long scheduleItemBudgetId;

2
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java

@ -210,6 +210,8 @@ public class TbsBudgetCostItem implements Serializable {
@NotNull(message = "考核期项id不能为空") @NotNull(message = "考核期项id不能为空")
private Long scheduleItemId; private Long scheduleItemId;
private String scheduleItemName;
/** 费用考核期项id */ /** 费用考核期项id */
@NotNull(message = "费用考核期项id不能为空") @NotNull(message = "费用考核期项id不能为空")
private Long scheduleItemBudgetId; private Long scheduleItemBudgetId;

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

@ -142,6 +142,8 @@ public class TbsBudgetLog implements Serializable {
@Length(max = 30,message = "活动编码长度不能超过30字") @Length(max = 30,message = "活动编码长度不能超过30字")
private String activityCode; private String activityCode;
private String activityTheme;
/** 费用申请id */ /** 费用申请id */
private Long costApplyId; private Long costApplyId;

4
src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsBudgetCostResult.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.tbs.entity.dto;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem; import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem;
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo;
@ -35,4 +36,7 @@ public class TbsBudgetCostResult {
/** 后台数据数据封装 */ /** 后台数据数据封装 */
private List<TbsBudget> budgetList; private List<TbsBudget> budgetList;
/** 后台数据数据封装 */
private List<TbsActivity> activityList;
} }

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

@ -173,6 +173,8 @@ public class TbsActivityApplicationService {
if(!hasNoMatch){ if(!hasNoMatch){
budgetIdsOfActivity.add(budget.getId()); budgetIdsOfActivity.add(budget.getId());
} }
}else {
budgetIdsOfActivity.add(budget.getId());
} }
} }
return budgetIdsOfActivity; return budgetIdsOfActivity;

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

@ -187,7 +187,9 @@ public class TbsBudgetApplicationService {
//预算条件需包含活动条件, Map结构:活动id->满足的预算id列表 //预算条件需包含活动条件, Map结构:活动id->满足的预算id列表
Map<Long,List<Long>> activityAllowBudgetIdMap = this.buildActivityBudgetMap(activityList, budgetList, noConditionBudgetList); Map<Long,List<Long>> activityAllowBudgetIdMap = this.buildActivityBudgetMap(activityList, budgetList, noConditionBudgetList);
//活动拦截 //活动拦截
this.handleNoBudgetActivity(throwEx, overspend, activityList, noBudgetActivityIds, budgetNoCondition,activityAllowBudgetIdMap); if(!budgetNoCondition){
this.handleNoBudgetActivity(throwEx, overspend, activityList, noBudgetActivityIds,activityAllowBudgetIdMap);
}
//统计当前活动前置项占用预算 //统计当前活动前置项占用预算
Map<Long,BigDecimal> counterMap = new HashMap<>(); Map<Long,BigDecimal> counterMap = new HashMap<>();
//匹配预算主要方法 //匹配预算主要方法
@ -211,6 +213,7 @@ public class TbsBudgetApplicationService {
result.setBudgetUnMatchList(budgetUnMatchList); result.setBudgetUnMatchList(budgetUnMatchList);
result.setTableData(tableVo); result.setTableData(tableVo);
result.setBudgetList(budgetList); result.setBudgetList(budgetList);
result.setActivityList(activityList);
return result; return result;
} }
@ -429,6 +432,7 @@ public class TbsBudgetApplicationService {
activityCostItem.setScheduleId(itemBudget.getScheduleId()); activityCostItem.setScheduleId(itemBudget.getScheduleId());
activityCostItem.setScheduleItemId(itemBudget.getScheduleItemId()); activityCostItem.setScheduleItemId(itemBudget.getScheduleItemId());
activityCostItem.setScheduleItemBudgetId(itemBudget.getId()); activityCostItem.setScheduleItemBudgetId(itemBudget.getId());
activityCostItem.setScheduleItemName(itemBudget.getItemName());
isMatch = true; isMatch = true;
//记录当前费用使用考核期费用 //记录当前费用使用考核期费用
lastAmount = lastAmount.add(goodsAmount); lastAmount = lastAmount.add(goodsAmount);
@ -444,6 +448,7 @@ public class TbsBudgetApplicationService {
activityCostItem.setScheduleId(itemBudget.getScheduleId()); activityCostItem.setScheduleId(itemBudget.getScheduleId());
activityCostItem.setScheduleItemId(itemBudget.getScheduleItemId()); activityCostItem.setScheduleItemId(itemBudget.getScheduleItemId());
activityCostItem.setScheduleItemBudgetId(itemBudget.getId()); activityCostItem.setScheduleItemBudgetId(itemBudget.getId());
activityCostItem.setScheduleItemName(itemBudget.getItemName());
//记录当前费用使用考核期费用 //记录当前费用使用考核期费用
BigDecimal lastAmount = counterMap.get(itemBudget.getId()); BigDecimal lastAmount = counterMap.get(itemBudget.getId());
if(lastAmount==null){ if(lastAmount==null){
@ -458,6 +463,7 @@ public class TbsBudgetApplicationService {
activityCostItem.setScheduleId(0L); activityCostItem.setScheduleId(0L);
activityCostItem.setScheduleItemId(0L); activityCostItem.setScheduleItemId(0L);
activityCostItem.setScheduleItemBudgetId(0L); activityCostItem.setScheduleItemBudgetId(0L);
activityCostItem.setScheduleItemName("无");
} }
actMatchList.add(activityCostItem); actMatchList.add(activityCostItem);
}else { }else {
@ -469,6 +475,7 @@ public class TbsBudgetApplicationService {
activityCostItem.setScheduleId(0L); activityCostItem.setScheduleId(0L);
activityCostItem.setScheduleItemId(0L); activityCostItem.setScheduleItemId(0L);
activityCostItem.setScheduleItemBudgetId(0L); activityCostItem.setScheduleItemBudgetId(0L);
activityCostItem.setScheduleItemName("无");
actUnMatchList.add(activityCostItem); actUnMatchList.add(activityCostItem);
} }
} }
@ -534,31 +541,24 @@ public class TbsBudgetApplicationService {
* @param overspend 超支 * @param overspend 超支
* @param activityList 活动列表 * @param activityList 活动列表
* @param noBudgetActivityIds 没有预算的活动id * @param noBudgetActivityIds 没有预算的活动id
* @param budgetNoCondition 标识没有条件的预算 * @param activityAllowBudgetIdMap 预算条件需包含活动条件 Map结构活动id->满足的预算id列表
*/ */
private void handleNoBudgetActivity(Boolean throwEx, boolean overspend, List<TbsActivity> activityList, private void handleNoBudgetActivity(Boolean throwEx, boolean overspend, List<TbsActivity> activityList,
List<Long> noBudgetActivityIds, boolean budgetNoCondition, List<Long> noBudgetActivityIds,
Map<Long,List<Long>> activityAllowBudgetIdMap) { Map<Long,List<Long>> activityAllowBudgetIdMap) {
if(!overspend && !budgetNoCondition && throwEx && noBudgetActivityIds.size()>0){ if(!overspend && throwEx && noBudgetActivityIds.size()>0){
for (Long activityId : noBudgetActivityIds) { for (TbsActivity activity : activityList) {
for (TbsActivity activity : activityList) { for (Long activityId : noBudgetActivityIds) {
if(activity.getId().equals(activityId)){ if(activity.getId().equals(activityId)){
Assert.throwEx("活动["+activity.getActivityCode()+"]无可用预算"); Assert.throwEx("活动["+activity.getActivityCode()+"]无可用预算");
} }
} }
} List<Long> budgetIds = activityAllowBudgetIdMap.get(activity.getId());
Assert.throwEx("活动无可用预算"); if(CollectionUtil.isEmpty(budgetIds)){
} Assert.throwEx("活动["+activity.getActivityCode()+"]无可用预算");
if(throwEx){
for (Long activityId : activityAllowBudgetIdMap.keySet()) {
if(activityAllowBudgetIdMap.get(activityId).size()<1){
for (TbsActivity activity : activityList) {
if(activity.getId().equals(activityId)){
Assert.throwEx("活动["+activity.getActivityCode()+"]无可用预算");
}
}
} }
} }
Assert.throwEx("活动无可用预算");
} }
} }

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

@ -2,10 +2,7 @@ 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.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -26,7 +23,7 @@ public interface TbsBudgetLogService extends IService<TbsBudgetLog> {
* @param amount * @param amount
* @return * @return
*/ */
TbsBudgetLog buildTbsBudgetLog(Integer optType, SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount); TbsBudgetLog buildTbsBudgetLog(Integer optType, SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount, TbsActivity activity);
} }

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

@ -26,6 +26,8 @@ public interface TbsBudgetService extends IService<TbsBudget> {
*/ */
void modify(TbsBudgetBo budgetBo); void modify(TbsBudgetBo budgetBo);
void startBudget(Long id);
void modifyByExcel(TbsBudgetExcelBo budgetBo); void modifyByExcel(TbsBudgetExcelBo budgetBo);
//void modifyByExcelBatch(TbsBudgetExcelBatchDto budgetBo); //void modifyByExcelBatch(TbsBudgetExcelBatchDto budgetBo);

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

@ -2,14 +2,11 @@ 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.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.*;
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.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.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;
@ -27,7 +24,7 @@ public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsB
@NotNull @NotNull
@Override @Override
public TbsBudgetLog buildTbsBudgetLog(Integer optType,SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount) { public TbsBudgetLog buildTbsBudgetLog(Integer optType,SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount, TbsActivity activity) {
TbsBudgetLog budgetLog = new TbsBudgetLog(); TbsBudgetLog budgetLog = new TbsBudgetLog();
budgetLog.setBudgetId(item.getBudgetId()); budgetLog.setBudgetId(item.getBudgetId());
budgetLog.setBudgetCode(budget.getBudgetCode()); budgetLog.setBudgetCode(budget.getBudgetCode());
@ -38,7 +35,7 @@ public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsB
budgetLog.setAmount(amount); budgetLog.setAmount(amount);
budgetLog.setScheduleId(item.getScheduleId()); budgetLog.setScheduleId(item.getScheduleId());
budgetLog.setScheduleItemId(item.getScheduleItemId()); budgetLog.setScheduleItemId(item.getScheduleItemId());
//budgetLog.setItemName(); budgetLog.setItemName(item.getScheduleItemName());
budgetLog.setStartDate(item.getActStartDate().atStartOfDay()); budgetLog.setStartDate(item.getActStartDate().atStartOfDay());
budgetLog.setEndDate(item.getActEndDate().atStartOfDay()); budgetLog.setEndDate(item.getActEndDate().atStartOfDay());
budgetLog.setSubjectId(item.getSubjectId()); budgetLog.setSubjectId(item.getSubjectId());
@ -47,11 +44,13 @@ public class TbsBudgetLogServiceImpl extends ServiceImpl<TbsBudgetLogMapper,TbsB
budgetLog.setCenterId(item.getCenterId()); budgetLog.setCenterId(item.getCenterId());
budgetLog.setCenterCode(item.getCenterCode()); budgetLog.setCenterCode(item.getCenterCode());
budgetLog.setCenterName(item.getCenterName()); budgetLog.setCenterName(item.getCenterName());
budgetLog.setCenterType(item.getCenterType());
budgetLog.setSupplierId(item.getSupplierId()); budgetLog.setSupplierId(item.getSupplierId());
budgetLog.setSupplierCode(item.getSupplierCode()); budgetLog.setSupplierCode(item.getSupplierCode());
budgetLog.setSupplierName(item.getSupplierName()); budgetLog.setSupplierName(item.getSupplierName());
budgetLog.setActivityId(item.getActivityId()); budgetLog.setActivityId(item.getActivityId());
budgetLog.setActivityCode(item.getActivityCode()); budgetLog.setActivityCode(item.getActivityCode());
budgetLog.setActivityTheme(activity.getActTitle());
budgetLog.setCostApplyId(costApply.getId()); budgetLog.setCostApplyId(costApply.getId());
budgetLog.setCostApplyCode(costApply.getCode()); budgetLog.setCostApplyCode(costApply.getCode());
budgetLog.setCostApplyTheme(costApply.getChargeTheme()); budgetLog.setCostApplyTheme(costApply.getChargeTheme());

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

@ -67,7 +67,6 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void modify(TbsBudgetBo budgetBo) { public void modify(TbsBudgetBo budgetBo) {
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsBudget budget; TbsBudget budget;
if(budgetBo.getId()!=null){ if(budgetBo.getId()!=null){
budget = this.getById(budgetBo.getId()); budget = this.getById(budgetBo.getId());
@ -104,13 +103,6 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
scheduleItemBudgets.add(itemBudget); scheduleItemBudgets.add(itemBudget);
} }
scheduleItemBudgetService.saveBatch(scheduleItemBudgets); scheduleItemBudgetService.saveBatch(scheduleItemBudgets);
//保存预算流水日志
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) {
TbsBudgetLog budgetLog = this.toTbsBudgetLog(sysUser, budget, scheduleItemBudget,0,scheduleItemBudget.getBudgetAmount());
budgetLogList.add(budgetLog);
}
budgetLogService.saveBatch(budgetLogList);
//设置条件 //设置条件
List<Long> skuIds = budgetBo.getSkuIds(); List<Long> skuIds = budgetBo.getSkuIds();
List<Long> spuIds = budgetBo.getSpuIds(); List<Long> spuIds = budgetBo.getSpuIds();
@ -120,6 +112,27 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
buildCondition(budget.getId(),brandIds,categoryIds,seriesIds,spuIds,skuIds); buildCondition(budget.getId(),brandIds,categoryIds,seriesIds,spuIds,skuIds);
} }
@Override
public void startBudget(Long id) {
TbsBudget budget = this.getById(id);
if(budget.getBudgetState().equals(1)){
Assert.throwEx("已开启");
}
budget.setBudgetState(1);
this.updateById(budget);
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
LambdaQueryWrapper<TbsScheduleItemBudget> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsScheduleItemBudget::getBudgetId,id);
List<TbsScheduleItemBudget> scheduleItemBudgets = scheduleItemBudgetService.list(lqw);
//保存预算流水日志
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) {
TbsBudgetLog budgetLog = this.toTbsBudgetLog(sysUser, budget, scheduleItemBudget,0,scheduleItemBudget.getBudgetAmount());
budgetLogList.add(budgetLog);
}
budgetLogService.saveBatch(budgetLogList);
}
@NotNull @NotNull
@Override @Override
public TbsBudgetLog toTbsBudgetLog(SysUser sysUser, TbsBudget budget, TbsScheduleItemBudget scheduleItemBudget,Integer optType, BigDecimal amount) { public TbsBudgetLog toTbsBudgetLog(SysUser sysUser, TbsBudget budget, TbsScheduleItemBudget scheduleItemBudget,Integer optType, BigDecimal amount) {
@ -139,6 +152,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
budgetLog.setSubjectId(budget.getSubjectId()); budgetLog.setSubjectId(budget.getSubjectId());
budgetLog.setSubjectCode(budget.getSubjectCode()); budgetLog.setSubjectCode(budget.getSubjectCode());
budgetLog.setSubjectName(budget.getSubjectName()); budgetLog.setSubjectName(budget.getSubjectName());
budgetLog.setCenterType(budget.getCenterType());
budgetLog.setCenterId(budget.getCenterId()); budgetLog.setCenterId(budget.getCenterId());
budgetLog.setCenterCode(budget.getCenterCode()); budgetLog.setCenterCode(budget.getCenterCode());
budgetLog.setCenterName(budget.getCenterName()); budgetLog.setCenterName(budget.getCenterName());

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

@ -13,19 +13,13 @@ import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItem;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult;
import com.qs.serve.modules.tbs.service.TbsBudgetApplicationService; import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService;
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.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.service.TbsCostApplyService;
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -46,7 +40,6 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsCostApply> implements TbsCostApplyService { public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsCostApply> implements TbsCostApplyService {
private BmsSupplierService supplierService;
private TbsBudgetApplicationService budgetApplicationService; private TbsBudgetApplicationService budgetApplicationService;
private TbsBudgetCostItemService budgetCostItemService; private TbsBudgetCostItemService budgetCostItemService;
private TbsBudgetLogService budgetLogService; private TbsBudgetLogService budgetLogService;
@ -61,7 +54,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
&&!tbsCostApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){ &&!tbsCostApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){
Assert.throwEx("操作失败,申请费用状态不支持"); Assert.throwEx("操作失败,申请费用状态不支持");
} }
BmsSupplier supplier = supplierService.getById(tbsCostApply.getSupplierId());
TbsBudgetCostResult result = budgetApplicationService.buildBudgetCostResult(tbsCostApply.getId(),true,false); TbsBudgetCostResult result = budgetApplicationService.buildBudgetCostResult(tbsCostApply.getId(),true,false);
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
sysUser.checkSyAccount(); sysUser.checkSyAccount();
@ -94,6 +86,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
costApply.setSyFormId(formId); costApply.setSyFormId(formId);
costApply.setChargeState(TbsCostApplyState.State_1_apply.getCode()); costApply.setChargeState(TbsCostApplyState.State_1_apply.getCode());
this.updateById(costApply); this.updateById(costApply);
costApply = this.getById(costApply.getId());
//移除历史记录 //移除历史记录
budgetCostItemService.removeByCostApplyId(costApply.getId()); budgetCostItemService.removeByCostApplyId(costApply.getId());
//重新保存 //重新保存
@ -102,7 +95,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
allBudgetItem.addAll(result.getBudgetUnMatchList()); allBudgetItem.addAll(result.getBudgetUnMatchList());
budgetCostItemService.saveBatch(allBudgetItem); budgetCostItemService.saveBatch(allBudgetItem);
//保存预算使用日志 //保存预算使用日志
saveBudgetLog(result, sysUser, costApply, allBudgetItem); saveBudgetLog(result, sysUser, costApply, allBudgetItem,result.getActivityList());
} }
/** /**
@ -112,7 +105,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
* @param costApply * @param costApply
* @param allBudgetItem * @param allBudgetItem
*/ */
private void saveBudgetLog(TbsBudgetCostResult result, SysUser sysUser, TbsCostApply costApply, List<TbsBudgetCostItem> allBudgetItem) { private void saveBudgetLog(TbsBudgetCostResult result, SysUser sysUser, TbsCostApply costApply, List<TbsBudgetCostItem> allBudgetItem, List<TbsActivity> activityList) {
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,7 +123,13 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
if(budget==null){ if(budget==null){
continue; continue;
} }
TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(0,sysUser, costApply, item, budget,item.getCenterGoodsAmount().negate()); TbsActivity currActivity = null;
for (TbsActivity activity : activityList) {
if(item.getActivityId().equals(activity.getId())){
currActivity = activity;
}
}
TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(0,sysUser, costApply, item, budget,item.getCenterGoodsAmount().negate(),currActivity);
budgetLogList.add(budgetLog); budgetLogList.add(budgetLog);
} }
if(CollectionUtil.isNotEmpty(budgetLogList)){ if(CollectionUtil.isNotEmpty(budgetLogList)){

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

@ -84,7 +84,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
public void release(Long activityId) { public void release(Long activityId) {
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsActivity activity = activityService.getById(activityId); TbsActivity activity = activityService.getById(activityId);
if(activity.getActivityState().equals(TbsActivityState.STATE_0_Todo)){ if(!activity.getActivityState().equals(TbsActivityState.STATE_0_Todo)){
Assert.throwEx("活动状态非待核销状态,操作失败"); Assert.throwEx("活动状态非待核销状态,操作失败");
} }
TbsCostApply costApply = costApplyService.getById(activity.getCostApplyId()); TbsCostApply costApply = costApplyService.getById(activity.getCostApplyId());
@ -110,9 +110,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
fundFlow.setCostApplyId(activity.getCostApplyId()); fundFlow.setCostApplyId(activity.getCostApplyId());
fundFlow.setActivityId(activity.getId()); fundFlow.setActivityId(activity.getId());
fundFlow.setUsedAmount(releaseAmount); fundFlow.setUsedAmount(releaseAmount);
fundFlow.setSupplierId(activity.getSupplierId());
fundFlow.setSupplierCode(activity.getSupplierCode());
fundFlow.setSupplierName(activity.getSupplierName());
fundFlowService.save(fundFlow); fundFlowService.save(fundFlow);
//todo 保存预算日志 //保存预算日志
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activityId); List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activityId);
LambdaQueryWrapper<TbsBudgetCostItem> itemLqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetCostItem> itemLqw = new LambdaQueryWrapper<>();
itemLqw.eq(TbsBudgetCostItem::getActivityId,activityId); itemLqw.eq(TbsBudgetCostItem::getActivityId,activityId);
@ -138,7 +141,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
} }
} }
BigDecimal amount = centerGoods.getCenterGoodsAmount().subtract(centerGoods.getUsedAmount()); BigDecimal amount = centerGoods.getCenterGoodsAmount().subtract(centerGoods.getUsedAmount());
TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(4,sysUser,costApply,currCostItem,currentBudget,amount); TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(4,sysUser,costApply,currCostItem,currentBudget,amount,activity);
budgetLogList.add(budgetLog); budgetLogList.add(budgetLog);
} }
if(CollectionUtil.isNotEmpty(budgetLogList)){ if(CollectionUtil.isNotEmpty(budgetLogList)){

Loading…
Cancel
Save