Browse Source

政策占用补偿;重新指定费用申请生成bir;政策生成费用记录接口调整

v1.0
Yen 2 years ago
parent
commit
edb811f000
  1. 5
      src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java
  2. 17
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  3. 3
      src/main/java/com/qs/serve/modules/bir/service/BirActivityCenterGoodsService.java
  4. 88
      src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java
  5. 4
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java
  6. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java
  7. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  8. 1
      src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  9. 26
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  10. 2
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  11. 224
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyTestController.java
  12. 1
      src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItemLog.java
  13. 10
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java
  14. 10
      src/main/java/com/qs/serve/task/TbsTask.java
  15. 1
      src/main/java/com/qs/serve/task/TzcPolicyTask.java

5
src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java

@ -24,5 +24,8 @@ public class ProjectApisProperties {
/** 嘉士利接口,spu转换sku */
private String spuToSku;
/**
* 原是生成销路通apt的中间表替换伟成的接口直接生成
*/
private String policySync;
}

17
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -27,7 +27,9 @@ import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* BI报表 ROI费率
@ -42,7 +44,7 @@ public class BirRoiRateController {
private BirRoiRateService birRoiRateService;
private BirBaseActivityService activityService;
private BirActivityCenterGoodsService activityCenterGoodsService;
private BirActivityCenterGoodsService birActivityCenterGoodsService;
private BirReportAccountBookService birReportAccountBookService;
private TbsBudgetService tbsBudgetService;
private BirCenterRateService birCenterRateService;
@ -188,5 +190,18 @@ public class BirRoiRateController {
return R.ok(sysDictData.getKeyVal(),"ok");
}
/**
* 重新指定费用申请生成bir
* @return
*/
@GetMapping("/rebuildBir")
public R<?> rebuildBir(){
Long[] costIds = new Long[]{
};
birActivityCenterGoodsService.rebuildBir(Arrays.asList(costIds).stream().distinct().collect(Collectors.toList()));
return R.ok();
}
}

3
src/main/java/com/qs/serve/modules/bir/service/BirActivityCenterGoodsService.java

@ -29,5 +29,8 @@ public interface BirActivityCenterGoodsService extends IService<BirActivityCente
*/
List<BirActivityCenterGoodsMonthVo> listMonthCusCenterVo(BirMonthCusCenterSo param);
void rebuildBir(List<Long> costApplyId);
}

88
src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java

@ -207,6 +207,92 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
}
@Override
public void rebuildBir(List<Long> costApplyIds) {
LambdaQueryWrapper<TbsActivityCenterGoods> costLqw = new LambdaQueryWrapper<>();
costLqw.in(TbsActivityCenterGoods::getCostApplyId,costApplyIds);
List<TbsActivityCenterGoods> activityCenterGoodsAllList = tbsActivityCenterGoodsMapper.selectList(costLqw);
if(activityCenterGoodsAllList.size()<1){
return;
}
// 删除历史数据
List<Long> activityIds = activityCenterGoodsAllList.stream().filter(a->a.getId()!=null)
.map(TbsActivityCenterGoods::getActivityId).collect(Collectors.toList());
this.buildRemoveRecode(activityIds);
//加载所有自定义成本中心
List<BmsCostCenter> costCenterList = costCenterMapper.selectList(new QueryWrapper<>());
// 按活动id分组
Map<Long,List<TbsActivityCenterGoods>> collectMap = activityCenterGoodsAllList.stream()
.collect(Collectors.groupingBy(TbsActivityCenterGoods::getActivityId));
LambdaQueryWrapper<BmsSupplier> supplierLqw = new LambdaQueryWrapper<>();
supplierLqw.in(BmsSupplier::getId,activityCenterGoodsAllList.stream().map(a->a.getSupplierId()).distinct().collect(Collectors.toList()));
List<BmsSupplier> bmsSupplierList = bmsSupplierMapper.selectList(supplierLqw);
Map<String,BmsSupplier> supplierMap = bmsSupplierList.stream().collect(Collectors.toMap(BmsSupplier::getId,a->a));
LambdaQueryWrapper<BmsRegion> regionLqw = new LambdaQueryWrapper<>();
regionLqw.in(BmsRegion::getId,bmsSupplierList.stream().map(a->a.getRegionLast()).collect(Collectors.toList()));
List<BmsRegion> saleRegionList = regionMapper.selectList(regionLqw);
Map<String,BmsRegion> saleRegionMap = saleRegionList.stream().collect(Collectors.toMap(BmsRegion::getId,a->a));
LambdaQueryWrapper<BmsRegion2> region2Lqw = new LambdaQueryWrapper<>();
region2Lqw.in(BmsRegion2::getId,bmsSupplierList.stream().map(a->a.getRegion2Last()).collect(Collectors.toList()));
List<BmsRegion2> bizRegionList = region2Mapper.selectList(region2Lqw);
Map<String,BmsRegion2> bizRegionMap = bizRegionList.stream().collect(Collectors.toMap(BmsRegion2::getId,a->a));
List<TbsCostApply> costApplyList = tbsCostApplyMapper.selectBatchIds(costApplyIds);
Map<Long,List<TbsCostApply>> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId));
for (Long activityId : collectMap.keySet()) {
//用于保存的对象列表
List<BirActivityCenterGoods> bacgList = new ArrayList<>();
//创建对象列表
List<TbsActivityCenterGoods> activityCenterGoodsList = collectMap.get(activityId);
TbsActivityCenterGoods tempGoods = activityCenterGoodsList.get(0);
TbsCostApply costApply = costApplyMap.get(tempGoods.getCostApplyId()).get(0);
for (TbsActivityCenterGoods activityCenterGoods : activityCenterGoodsList) {
LocalDate actStartDate = activityCenterGoods.getPreStartDate();
LocalDate actEndDate = activityCenterGoods.getPreEndDate();
int currentActDays = (int) (actEndDate.toEpochDay()-actStartDate.toEpochDay()+1);
List<DateSplitDTO> dateSplitList = DateSplitUtil.getSplitDto(actStartDate,actEndDate);
if(dateSplitList.size()>1){
for (DateSplitDTO currDateSplit : dateSplitList) {
//获取该项分割金额对象
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods,
dateSplitList, currDateSplit,currentActDays);
//创建底表对象
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList,
activityCenterGoods, currentActDays, currDateSplit, goodSplitDTO,supplierMap,saleRegionMap,bizRegionMap,costApply);
bacgList.add(entity);
}
}else if (dateSplitList.size()==1){
DateSplitDTO currDateSplit = dateSplitList.get(0);
//获取该项分割金额对象
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods,
dateSplitList, currDateSplit,currentActDays);
//创建底表对象
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList,
activityCenterGoods, currentActDays, currDateSplit, goodSplitDTO,supplierMap,saleRegionMap,bizRegionMap,costApply);
bacgList.add(entity);
}
}
if(bacgList.size()>0){
this.saveBatch(bacgList);
}
}
}
private void buildRemoveRecode(List<Long> activityIds) {
if(CollectionUtil.isNotEmpty(activityIds)) {
LambdaQueryWrapper<BirActivityCenterGoods> birBaseActivityLqw = new LambdaQueryWrapper<>();
@ -453,7 +539,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe
goodSplitDTO.setCurrentSplitCheckAmount(splitCenterGoodsAmount);
goodSplitDTO.setCurrentSplitPayAmount(splitPayAmount);
goodSplitDTO.setCurrentSplitReleaseAmount(BigDecimal.ZERO);
if(activityCenterGoods.getActivityFinishedFlag().equals(1)){
if(activityCenterGoods.getActivityFinishedFlag()!=null&&activityCenterGoods.getActivityFinishedFlag().equals(1)){
BigDecimal currentReleaseAmount = splitCenterGoodsAmount.subtract(splitCheckAmount);
goodSplitDTO.setCurrentSplitReleaseAmount(currentReleaseAmount);
goodSplitDTO.setCurrentSplitCheckAmount(splitCheckAmount);

4
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java

@ -9,6 +9,7 @@ import com.qs.serve.modules.seeyon.entity.*;
import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeDTO;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.sys.entity.SysSyncLog;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
@ -82,7 +83,8 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService {
@Override
public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) {
String title = "【创建流程】";
return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title);
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title);
return result;
}
@Override

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

@ -260,7 +260,7 @@ public class TbsActivityCenterGoods implements Serializable {
/** 后台参数:用于生成BIR */
@TableField(exist = false)
private Integer activityFinishedFlag;
private Integer activityFinishedFlag = 0;
@TableField(exist = false)
private List<TbsCenterGoodsGroupDTO> queryGoodsGroups;

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

@ -405,7 +405,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
?TbsSeeYonConst.CostApplyContractConf.Code()
:TbsSeeYonConst.CostApplyConf.Code();
R<String> flowIdResult = null;
//TODO 启用新方法开关
//启用新方法开关
boolean newWay = true;
if(newWay && tbsCostApply.getContractFlag().equals(1)){
List<OaUploadFile> uploadFileList = new ArrayList<>();
@ -449,9 +449,12 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
}
if(flowIdResult==null||flowIdResult.getStatus()!=200){
Assert.throwEx("远程服务调用失败");
Assert.throwEx("远程服务调用失败:"+flowIdResult.getMsg());
}
String flowId = flowIdResult.getData();
if(flowId.length()>45){
flowId = flowId.substring(0,40);
}
String formId = null;
R<String> formIdResult = seeYonService.getFormId(templateCode,tbsCostApply.getId());
if(formIdResult.getStatus()==200){

1
src/main/java/com/qs/serve/modules/third/PortalOfCostController.java

@ -148,6 +148,7 @@ public class PortalOfCostController {
syncLog.setSuccessStatus(1);
} catch (Exception e) {
log.error("站式创建费用(费用申请)===>{}", JsonUtil.objectToJson(createBo));
e.printStackTrace();
syncLog.setFailReason(e.getMessage());
sysSyncLogService.save(syncLog);
return R.error(e.getMessage());

26
src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

@ -248,7 +248,7 @@ public class PortalOfCostApplication {
//发票号
String billNumber = createBo.getBillNumber();
//校验商品信息
List<String> skuCodes = createBo.getGoodsList().stream().map(a->a.getInventoryCode()).collect(Collectors.toList());
List<String> skuCodes = createBo.getGoodsList().stream().map(ProcessGoodsItem::getInventoryCode).collect(Collectors.toList());
//初始化sku列表
List<ProcessGoodsItem> processGoodsItems = createBo.getGoodsList();
List<String> invCodes = new ArrayList<>();
@ -284,6 +284,8 @@ public class PortalOfCostApplication {
costApply.setTotalActivityUsedAmount(totalAmount);
costApply.setPolicyItemId(policyItem.getId());
costApply.setSubmitTime(LocalDateTime.now());
//2024年1月17日,添加
costApply.setRemark(createBo.getErpCode());
//构建活动
TbsActivity activity = new TbsActivity();
activity.setActivityCode(activityCode);
@ -418,7 +420,9 @@ public class PortalOfCostApplication {
tbsLogLqw.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_11.getCode());
tbsLogLqw.isNull(TbsBudgetLog::getCostApplyId);
TbsBudgetLog oriPolicyBudgetLog = budgetLogService.getOne(tbsLogLqw);
if(oriPolicyBudgetLog==null){
Assert.throwEx("政策预算数据异常");
}
TbsBudgetLog dropPolicyBudgetLog = new TbsBudgetLog();
CopierUtil.copy(oriPolicyBudgetLog,dropPolicyBudgetLog);
dropPolicyBudgetLog.setId(null);
@ -609,11 +613,25 @@ public class PortalOfCostApplication {
List<String> invCodeList = new ArrayList<>();
if(CollectionUtil.isNotEmpty(createBo.getGoodsList())){
invCodeList = createBo.getGoodsList().stream()
.map(ProcessGoodsItem::getInventoryCode).distinct().collect(Collectors.toList());
.map(ProcessGoodsItem::getInventoryCode).distinct()
.filter(StringUtils::hasText).collect(Collectors.toList());
}
if(invCodeList.size()<1){
Assert.throwEx("请选择存货提交");
}
List<GoodsSku> skuList = this.initSkuListOfProcess(invCodeList);
if(skuList.size()!=invCodeList.size()){
Assert.throwEx("品类缺失");
Set<String> missCodes = new HashSet<>();
for (String code : invCodeList) {
boolean noneMatch = skuList.stream().noneMatch(a->a.getSkuCode().equals(code));
if(noneMatch){
missCodes.add(code);
}
}
Assert.throwEx("品类缺失:"+missCodes.stream().collect(Collectors.joining(",")));
}
if(skuList.size()<1){
Assert.throwEx("请选择品类再提交");
}
//常用参数
final String GOODS_TYPE = "sku";

2
src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java

@ -74,7 +74,7 @@ public class TzcPolicyController {
private TbsBudgetLogService budgetLogService;
private BmsRegion2Service bmsRegion2Service;
@GetMapping("succ")
//@GetMapping("succ")
public R<?> succ(Long id,String all){
if("all".equals(all)){
LambdaQueryWrapper<TzcPolicyItem> itemLqw = new LambdaQueryWrapper<>();

224
src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyTestController.java

@ -0,0 +1,224 @@
package com.qs.serve.modules.tzc.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam;
import com.qs.serve.modules.sys.entity.SysTableTemp;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysTableTempMapper;
import com.qs.serve.modules.sys.service.SysPostUserService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsBudgetCostItemPolicy;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult;
import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo;
import com.qs.serve.modules.tbs.service.TbsBudgetCostItemPolicyService;
import com.qs.serve.modules.tbs.service.TbsBudgetLogService;
import com.qs.serve.modules.tzc.common.TzPolicyItemStatus;
import com.qs.serve.modules.tzc.common.TzcPolicyStatus;
import com.qs.serve.modules.tzc.entity.TzcPolicy;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import com.qs.serve.modules.tzc.entity.bo.TzcPolicyBo;
import com.qs.serve.modules.tzc.service.TzcPolicyApplicationService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemService;
import com.qs.serve.modules.tzc.service.TzcPolicyService;
import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 政策 政策
* @author YenHex
* @since 2023-02-20
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("tzc/policyTest")
public class TzcPolicyTestController {
private TzcPolicyService tzcPolicyService;
private TzcPolicyItemService tzcPolicyItemService;
private TzcPolicyApplicationService policyApplicationService;
private TzcPolicyOperationServiceImpl tzcPolicyOperationService;
private SysPostUserService postUserService;
private VtbVerificationService verificationService;
private TbsBudgetLogService budgetLogService;
private BmsRegion2Service bmsRegion2Service;
private TbsBudgetCostItemPolicyService tbsBudgetCostItemPolicyService;
private SysUserService sysUserService;
private SysTableTempMapper sysTableTempMapper;
private TzcPolicyApplicationService tzcPolicyApplicationService;
@GetMapping("/testSyncPolicy")
public R<?> syncPolicy(Long policyId){
tzcPolicyApplicationService.syncPolicy(policyId);
return R.ok();
}
@GetMapping("/rebulidAllPolicy")
public R<?> rebulidAllPolicy(){
Long[] ids = new Long[]{
685L,
771L,
995L
};
for (Long id : ids) {
rebuildPolicy(id);
}
return R.ok();
}
public R<?> rebuildPolicy(Long policyId){
// TzcPolicy tzcPolicy = tzcPolicyService.getById(policyId);
//Integer tzcPolicyStatus = tzcPolicy.getPolicyStatus();
//SysUser sysUser = sysUserService.getById(tzcPolicy.getCreateBy());
SysTableTemp sysTableTemp = new SysTableTemp();
sysTableTemp.setTableName("policyId");
sysTableTemp.setTableId(""+policyId);
sysTableTemp.setOptionTitle("PreRebuildPolicy");
TbsBudgetCostResult result = policyApplicationService.buildBudgetCostResult(policyId,false,false);
if(result.getBudgetUnMatchList()!=null&&result.getBudgetUnMatchList().size()>0){
sysTableTemp.setResultMsg("政策匹配预算失败");
sysTableTempMapper.insert(sysTableTemp);
return R.error("政策匹配预算失败");
}
LambdaQueryWrapper<TbsBudgetCostItemPolicy> itemPolicyLqw = new LambdaQueryWrapper<>();
itemPolicyLqw.eq(TbsBudgetCostItemPolicy::getPolicyId,policyId);
List<TbsBudgetCostItemPolicy> orgBudgetItem = tbsBudgetCostItemPolicyService.list(itemPolicyLqw);
List<TbsBudgetCostItemPolicy> allBudgetItem = result.getPolicyBudgetMatchList();
boolean isMatchAll = true;
for (TbsBudgetCostItemPolicy item1 : allBudgetItem) {
boolean isMatch = false;
for (TbsBudgetCostItemPolicy item2 : orgBudgetItem) {
if(item1.getScheduleItemBudgetId().equals(item2.getScheduleItemBudgetId())&&item1.getPolicyItemId().equals(item2.getPolicyItemId())){
isMatch = true;
}
}
if(!isMatch){
isMatchAll = false;
break;
}
}
if(isMatchAll){
sysTableTemp.setResultMsg("正常");
sysTableTempMapper.insert(sysTableTemp);
return R.ok("正常");
}else {
sysTableTemp.setResultMsg("预算占用错误");
sysTableTempMapper.insert(sysTableTemp);
return R.ok("预算占用错误");
}
// tbsBudgetCostItemPolicyService.saveBatch(allBudgetItem);
// //保存预算使用日志
// List<TbsBudgetLog> budgetLogList = saveBudgetLog(result, sysUser, tzcPolicy, result.getPolicyBudgetMatchList(),result.getPolicyItemList());
// if(tzcPolicyStatus.equals(TzcPolicyStatus.Status_0_UnCommit)){
// budgetLogService.saveBatch(budgetLogList);
// }else {
// //排除历史记录
// LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>();
// logLqw.eq(TbsBudgetLog::getPolicyId,policyId);
// logLqw.eq(TbsBudgetLog::getRollbackFlag, BudgetLogRollbackFlag.State_1);
// List<TbsBudgetLog> oldLogList = budgetLogService.list(logLqw);
// List<TbsBudgetLog> oldLogList4Upd = oldLogList.stream().map(a->{
// TbsBudgetLog budgetLog = new TbsBudgetLog();
// budgetLog.setId(a.getId());
// budgetLog.setRollbackFlag(BudgetLogRollbackFlag.State_2);
// return budgetLog;
// }).collect(Collectors.toList());
// budgetLogService.updateBatchById(oldLogList4Upd);
// for (TbsBudgetLog budgetLog : oldLogList) {
// budgetLog.setCreateBy(null);
// budgetLog.setCreateTime(null);
// budgetLog.setUpdateBy(null);
// budgetLog.setUpdateTime(null);
// budgetLog.setId(null);
// BudgetLogOptFlag optFlag = BudgetLogOptFlag.State_12;
// budgetLog.setAmount(TbsBudgetLogBuildUtil.buildAmount(budgetLog.getAmount(),optFlag));
// budgetLog.setOptType(optFlag.getCode());
// }
// budgetLogService.saveBatch(oldLogList);
// BudgetLogOptFlag optFlag = BudgetLogOptFlag.State_13;
// budgetLogList.forEach(a->{
// a.setOptType(optFlag.getCode());
// a.setAmount(TbsBudgetLogBuildUtil.buildAmount(a.getAmount(),optFlag));
// });
// budgetLogService.saveBatch(budgetLogList);
// }
//return R.ok();
}
/**
* 保存预算使用日志
* @param result
* @param sysUser
* @param tzcPolicy
* @param allBudgetItem
*/
private List<TbsBudgetLog> saveBudgetLog(TbsBudgetCostResult result, SysUser sysUser, TzcPolicy tzcPolicy, List<TbsBudgetCostItemPolicy> allBudgetItem, List<TzcPolicyItem> policyItemList) {
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
List<TbsBudget> budgetList = result.getBudgetList();
for (TbsBudgetCostItemPolicy 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;
}
TzcPolicyItem currPolicyItem = null;
for (TzcPolicyItem policyItem : policyItemList) {
if(item.getPolicyItemId().equals(policyItem.getId())){
currPolicyItem = policyItem;
}
}
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_11,sysUser, tzcPolicy, item, budget,item.getPolicyItemAmount().negate(),currPolicyItem);
budgetLogList.add(budgetLog);
}
return budgetLogList;
}
}

1
src/main/java/com/qs/serve/modules/tzc/entity/TzcPolicyItemLog.java

@ -165,7 +165,6 @@ public class TzcPolicyItemLog implements Serializable {
public static TzcPolicyItemLog toNewObject(TzcPolicyItem source,BigDecimal totalAmount){
TzcPolicyItemLog policyItemLog = new TzcPolicyItemLog();
policyItemLog.setId(source.getId());
policyItemLog.setTitle(source.getTitle());
policyItemLog.setPolicyId(source.getPolicyId());
policyItemLog.setPolicyItemCode(source.getPolicyItemCode());

10
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tzc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectApisProperties;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.framework.manager.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager;
@ -96,6 +97,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
private ProjectProperties projectProperties;
private final BmsRegionMapper regionMapper;
private final BmsRegion2Mapper region2Mapper;
private ProjectApisProperties projectApisProperties;
@Override
public void syncPolicy(Long policyId) {
@ -179,6 +181,14 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
policyItemDto.setInvCodeList(invCodes);
policyItemDto.setPolicyGoodsItemList(goodsItems);
String policySyncUrl = projectApisProperties.getPolicySync();
//String rs = HttpUtil.doPost(policySyncUrl, JsonUtil.objectToJson(policyItemDto), null);
//log.debug("PolicySync() ==>{} \n{}",JsonUtil.objectToJson(policyItemDto),rs);
//TODO 测试临时注释
//保存异步处理的
xiaoLuTonService.savePolicyItem(policyItemDto);
TzcPolicyItem updParam = new TzcPolicyItem();

10
src/main/java/com/qs/serve/task/TbsTask.java

@ -14,6 +14,7 @@ import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
@ -34,6 +35,7 @@ public class TbsTask {
private final TbsActivityService activityService;
private final TbsCostApplyService tbsCostApplyService;
private final TbsActivityTemplateService activityTemplateService;
private final VtbVerificationService vtbVerificationService;
//每日更新过期的活动,过期则进行冻结
@ -117,4 +119,12 @@ public class TbsTask {
}
/**
* 每半小时执行一次
*/
@Scheduled(cron="0 0/30 * * * ?")
public void syncPayToErp(){
vtbVerificationService.toPayRequest();
}
}

1
src/main/java/com/qs/serve/task/TzcPolicyTask.java

@ -9,6 +9,7 @@ import com.qs.serve.modules.third.entity.AptPolicyPayment;
import com.qs.serve.modules.third.service.PortalOfCostApplication;
import com.qs.serve.modules.tzc.common.TzPolicyItemStatus;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import com.qs.serve.modules.tzc.entity.dto.PolicyItemDto;
import com.qs.serve.modules.tzc.service.TzcPolicyApplicationService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemService;
import com.qs.serve.modules.tzc.service.TzcPolicyService;

Loading…
Cancel
Save