Browse Source

预算日志-费用申请日志

mssql
Yen 3 years ago
parent
commit
aadfd3f16b
  1. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java
  2. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java
  3. 33
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java
  4. 4
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsBudgetCostResult.java
  5. 1
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  6. 1
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  7. 70
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

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

@ -45,6 +45,9 @@ public class TbsActivityCenterGoods implements Serializable {
@NotNull(message = "活动id不能为空") @NotNull(message = "活动id不能为空")
private Long activityId; private Long activityId;
/** 活动编码 */
private String activityCode;
/** 科目id */ /** 科目id */
@NotNull(message = "科目id不能为空") @NotNull(message = "科目id不能为空")
private Long subjectId; private Long subjectId;

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

@ -46,6 +46,9 @@ public class TbsBudgetCostItem implements Serializable {
@NotNull(message = "活动id不能为空") @NotNull(message = "活动id不能为空")
private Long activityId; private Long activityId;
/** 活动编码 */
private String activityCode;
/** 客户id */ /** 客户id */
private Long supplierId; private Long supplierId;

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

@ -157,6 +157,34 @@ public class TbsBudgetLog implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")
private String remark; private String remark;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 目标类型(brand、category、series、spu、sku) */
@Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字")
private String targetType;
/** 目标id */
private Long targetId;
/** 目标编码 */
@Length(max = 30,message = "目标编码长度不能超过30字")
private String targetCode;
/** 目标名称 */
@Length(max = 30,message = "目标名称长度不能超过30字")
private String targetName;
/** 目标等级路径 */
@Length(max = 600,message = "目标等级路径长度不能超过600字")
private String targetLevelPathIds;
/** 目标等级路径 */
@Length(max = 600,message = "目标等级路径长度不能超过600字")
private String targetLevelPathNames;
/** 创建时间 */ /** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ -169,11 +197,6 @@ public class TbsBudgetLog implements Serializable {
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime; private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 创建人 */ /** 创建人 */
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
private String createBy; private String createBy;

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.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;
import lombok.Data; import lombok.Data;
@ -31,4 +32,7 @@ public class TbsBudgetCostResult {
/** 表数据封装 */ /** 表数据封装 */
private TbsBudgetTableVo tableData; private TbsBudgetTableVo tableData;
/** 后台数据数据封装 */
private List<TbsBudget> budgetList;
} }

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

@ -210,6 +210,7 @@ public class TbsBudgetApplicationService {
result.setBudgetMatchList(budgetMatchList); result.setBudgetMatchList(budgetMatchList);
result.setBudgetUnMatchList(budgetUnMatchList); result.setBudgetUnMatchList(budgetUnMatchList);
result.setTableData(tableVo); result.setTableData(tableVo);
result.setBudgetList(budgetList);
return result; return result;
} }

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

@ -259,6 +259,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
String key = centerGoodsBo.getCenterType()+":"+centerGoodsBo.getCenterId(); String key = centerGoodsBo.getCenterType()+":"+centerGoodsBo.getCenterId();
TbsCenterDto tbsCenterDto = centerDtoMap.get(key); TbsCenterDto tbsCenterDto = centerDtoMap.get(key);
centerGoods.setActivityId(activity.getId()); centerGoods.setActivityId(activity.getId());
centerGoods.setActivityCode(activity.getActivityCode());
centerGoods.setCostApplyId(costApplyId); centerGoods.setCostApplyId(costApplyId);
centerGoods.setCenterType(centerGoodsBo.getCenterType()); centerGoods.setCenterType(centerGoodsBo.getCenterType());
centerGoods.setCenterId(centerGoodsBo.getCenterId()); centerGoods.setCenterId(centerGoodsBo.getCenterId());

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

@ -3,21 +3,23 @@ package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.DateUtils;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.service.SeeYonService;
import com.qs.serve.modules.sys.entity.SysUser; 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.TbsBudgetCostItem; 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.TbsBudgetApplicationService;
import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService; 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.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -31,6 +33,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 费用申请 服务实现类 * 费用申请 服务实现类
@ -42,8 +45,10 @@ import java.util.Map;
@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 SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonService seeYonService;
@ -55,6 +60,7 @@ 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 +100,62 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
allBudgetItem.addAll(result.getBudgetMatchList()); allBudgetItem.addAll(result.getBudgetMatchList());
allBudgetItem.addAll(result.getBudgetUnMatchList()); allBudgetItem.addAll(result.getBudgetUnMatchList());
budgetCostItemService.saveBatch(allBudgetItem); budgetCostItemService.saveBatch(allBudgetItem);
//保存预算使用日志
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
List<TbsBudget> budgetList = result.getBudgetList();
for (TbsBudgetCostItem item : allBudgetItem) {
//排除不匹配预算的项
if(item.getBudgetId().equals(0L)){
continue;
}
TbsBudget budget = null;
for (TbsBudget tbsBudget : budgetList) {
if(item.getBudgetId().equals(tbsBudget.getId())){
budget = tbsBudget;
break;
}
}
if(budget==null){
continue;
}
TbsBudgetLog budgetLog = new TbsBudgetLog();
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());
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);
}
if(CollectionUtil.isNotEmpty(budgetLogList)){
budgetLogService.saveBatch(budgetLogList);
}
} }
@Override @Override

Loading…
Cancel
Save