diff --git a/src/main/java/com/qs/serve/common/util/BirHttpUtil.java b/src/main/java/com/qs/serve/common/util/BirHttpUtil.java index 0cca76c7..b967ba49 100644 --- a/src/main/java/com/qs/serve/common/util/BirHttpUtil.java +++ b/src/main/java/com/qs/serve/common/util/BirHttpUtil.java @@ -96,14 +96,19 @@ public class BirHttpUtil { } public static TbsCostSubItem.CostCenterTranStr buildCostCenter(String centerType, String centerId, String centerName, String supplierCode){ - Map map = new HashMap<>(); - map.put("centerType",centerType); - map.put("centerId",centerId); - map.put("centerName",centerName); - map.put("supplierCode",supplierCode); - R result = get("/bir/roiRate/getCostCenter",map); - String json = result.getData().toString(); - return JsonUtil.jsonToPojo(json,TbsCostSubItem.CostCenterTranStr.class); + try { + Map map = new HashMap<>(); + map.put("centerType",centerType); + map.put("centerId",centerId); + map.put("centerName",centerName); + map.put("supplierCode",supplierCode); + R result = get("/bir/roiRate/getCostCenter",map); + String json = result.getData().toString(); + return JsonUtil.jsonToPojo(json,TbsCostSubItem.CostCenterTranStr.class); + } catch (Exception e) { + + } + return null; } } diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java index be334786..ab3aea06 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java @@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.aliyun.oss.OSS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.qs.serve.common.config.properties.AliYunOssProperties; import com.qs.serve.common.config.properties.ProjectProperties; import com.qs.serve.common.model.annotation.SysLog; @@ -83,6 +84,35 @@ public class BirActivityCenterGoodsController { return R.ok(); } + /** + * 移除因作废的费用申请导致的bir数据 + * @return + */ + @GetMapping("/toSyncRmCost") + public R toSyncRm(){ + //select id from tbs_cost_apply where del_flag = 0 and ( cancel_flag = 1 or charge_state in (5,6,8) ) + List costApplyList = tbsCostApplyService.list(new LambdaQueryWrapper() + .select(TbsCostApply::getId) + .and( + qw->qw.eq(TbsCostApply::getCancelFlag,1) + .or() + .in(TbsCostApply::getChargeState,5,6,8) + ) + .ne(TbsCostApply::getTmpState,3) + .last(" limit 1600 ") + ); + List ids = costApplyList.stream().map(TbsCostApply::getId).collect(Collectors.toList()); + if(ids.size()<1){ + log.warn("已全部移除了错误的bir数据"); + return R.ok(); + } + centerGoodsService.rebuildBir(ids); + tbsCostApplyService.update(new LambdaUpdateWrapper() + .set(TbsCostApply::getTmpState,3) + .in(TbsCostApply::getId,ids)); + return R.ok(); + } + @GetMapping("/toSyncBirEcro") public R toSyncBirEcro(){ List costIds = tbsCostBirLogMapper.listCostIds(); @@ -101,8 +131,9 @@ public class BirActivityCenterGoodsController { lqw .select(TbsCostApply::getId).ne(TbsCostApply::getChargeState,0) .eq(TbsCostApply::getCancelFlag,0) - .eq(TbsCostApply::getTmpState,0) .gt(TbsCostApply::getTotalActivity,0) + .ne(TbsCostApply::getTmpState,11) + .le(TbsCostApply::getCreateTime, LocalDate.of(2024,1,1).atStartOfDay()) .ge(TbsCostApply::getCreateTime, LocalDate.of(2023,1,1).atStartOfDay()) ; boolean ex = extracted(lqw); while (!ex){ @@ -112,16 +143,16 @@ public class BirActivityCenterGoodsController { } private boolean extracted(LambdaQueryWrapper lqw) { List costApplyList = tbsCostApplyService.list(lqw); - List costIds = costApplyList.stream().map(a->a.getId()).collect(Collectors.toList()); + List costIds = costApplyList.stream().map(TbsCostApply::getId).collect(Collectors.toList()); if(CollectionUtil.isEmpty(costIds)){ return true; } - centerGoodsService.rebuildBir(costIds); - LambdaQueryWrapper updLqw = new LambdaQueryWrapper<>(); - updLqw.in(TbsCostApply::getId,costIds); - TbsCostApply costApply = new TbsCostApply(); - costApply.setTmpState(1); - tbsCostApplyService.update(costApply,updLqw); + for (Long costId : costIds) { + centerGoodsService.rebuildBir(Arrays.asList(costId)); + tbsCostApplyService.update(new LambdaUpdateWrapper() + .eq(TbsCostApply::getId,costId) + .set(TbsCostApply::getTmpState,11)); + } return costIds.size()<100; } diff --git a/src/main/java/com/qs/serve/modules/bir/entity/dto/BirTbsVtbPayJoinDTO.java b/src/main/java/com/qs/serve/modules/bir/entity/dto/BirTbsVtbPayJoinDTO.java index 8be86f23..ec104899 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/dto/BirTbsVtbPayJoinDTO.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/dto/BirTbsVtbPayJoinDTO.java @@ -112,6 +112,11 @@ public class BirTbsVtbPayJoinDTO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime payDate; + /** + * 费用类型:0->常规;1->协议类;2->进场费 + */ + private Integer contractFlag; + private List birVtbPayJoinDTOList; } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index edcebd9b..8228d5fe 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -287,11 +287,11 @@ public class BmsRegion2Controller { } /** - * 【dev】测试接口,更新祖级数据 + * 更新祖级数据 * @return */ @LimitSubmit(interval = 15000) - @GetMapping("/updateLevelDev") + @GetMapping("/updateLevel") public R editBatch(){ bmsRegion2Service.flushAllLevel(true); return R.ok(); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index e21a59a7..3aea5e2e 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -229,7 +229,7 @@ public class BmsRegionController { param.setSysCode1(regionBo.getSysCode1()); param.setSysCode2(regionBo.getSysCode2()); param.setSysCode3(regionBo.getSysCode3()); - boolean result = bmsRegionService.updateBmsRegionById(param); + boolean result = bmsRegionService.updateSaleRegionById(param); hisUserSupplierService.cleanTable(); return R.isTrue(result); } @@ -270,6 +270,18 @@ public class BmsRegionController { return R.isTrue(result); } + + /** + * 更新祖级数据 + * @return + */ + @LimitSubmit(interval = 15000) + @GetMapping("/updateLevel") + public R editBatch(){ + bmsRegionService.flushAllLevel(true); + return R.ok(); + } + /** * (批量)编辑(更新,只允许改名称) * @param regionBo diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java index f58b5348..4022b9db 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java @@ -32,6 +32,8 @@ public interface BmsRegionService extends IService { boolean saveBmsRegion(BmsRegion param); + boolean updateSaleRegionById(BmsRegion param); + boolean updateBmsRegionById(BmsRegion param); void updateAllFactoryIdsByFactoryId(String id,String addOrDel); diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java index 32f052a2..a805b879 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java @@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.mapper.BmsRegionMapper; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Arrays; @@ -44,6 +45,7 @@ public class BmsRegionServiceImpl extends ServiceImpl private BmsSupplierApplicationService bmsSupplierApplicationService; private BmsSupplierMapper bmsSupplierMapper; + @Override public boolean saveBmsRegion(BmsRegion param){ this.checkSysCodes(param); @@ -55,6 +57,92 @@ public class BmsRegionServiceImpl extends ServiceImpl return this.save(param); } + @Transactional(rollbackFor = Exception.class) + @Override + public boolean updateSaleRegionById(BmsRegion newRegion) { + String regionId = newRegion.getId(); + this.checkSysCodes(newRegion); + this.toSetLevel(newRegion); + BmsRegion orgRegion = this.getById(regionId); + boolean changePid = !orgRegion.getPid().equals(newRegion.getPid()); + if(changePid){ + //更变子级,拦截递归的错误设置 + List childTree = this.listTreeChildByDeep(regionId,newRegion.getLevel()); + + //罗列相关的客户进行更新 + List supplierList = bmsSupplierMapper.selectList(new LambdaQueryWrapper() + .select(BmsSupplier::getId,BmsSupplier::getRegionFirst,BmsSupplier::getRegionSecond,BmsSupplier::getRegionThird) + .eq(BmsSupplier::getRegionFirst,regionId) + .or() + .eq(BmsSupplier::getRegionSecond,regionId) + .or() + .eq(BmsSupplier::getRegionThird,regionId) + .or() + .eq(BmsSupplier::getRegionFourthly,regionId) + ); + //利用有序 + List sortList = new ArrayList<>(); + sortList.add(newRegion.getId()); + if (!newRegion.getPid().equals("0")){ + BmsRegion p1 = this.getById(newRegion.getPid()); + sortList.add(p1.getId()); + if(!p1.getPid().equals("0")){ + BmsRegion p2 = this.getById(p1.getPid()); + sortList.add(p2.getId()); + } + } + + // size对应层级数 + int size = sortList.size(); + for (BmsSupplier supplier : supplierList) { + if(size==3){ + //3级 + supplier.setRegionFirst(sortList.get(2)); + supplier.setRegionSecond(sortList.get(1)); + supplier.setRegionThird(sortList.get(0)); + supplier.setRegionLast(sortList.get(0)); + log.debug("3级变动"); + }else if (size==2){ + //二级 + supplier.setRegionFirst(sortList.get(1)); + if (orgRegion.getLevel() > (newRegion.getLevel())){ + supplier.setRegionSecond(sortList.get(0)); + log.debug("层级变小,由三级变二级"); + supplier.setRegion2Third("0"); + }if (orgRegion.getLevel() < (newRegion.getLevel())){ + log.debug("层级变大,由一级变二级"); + supplier.setRegionThird(supplier.getRegion2Second()); + supplier.setRegionSecond(sortList.get(0)); + }else { + log.debug("二级,平级更新"); + supplier.setRegionSecond(sortList.get(0)); + if(!StringUtils.hasText(supplier.getRegion2Third())){ + supplier.setRegionLast(supplier.getRegion2Second()); + } + } + }else { + //一级 + log.debug("更换变一级"); + supplier.setRegionFirst(sortList.get(0)); + supplier.setRegionLast(sortList.get(0)); + if (orgRegion.getLevel() > (newRegion.getLevel())){ + log.debug("层级变小,由二级变一级"); + Assert.throwEx("二级变一级不支持"); + supplier.setRegionSecond(supplier.getRegion2Third()); + supplier.setRegionThird("0"); + }else { + supplier.setRegionSecond("0"); + supplier.setRegionThird("0"); + } + } + bmsSupplierMapper.updateById(supplier); + } + + } + this.updateById(newRegion); + return true; + } + private void checkSysCodes(BmsRegion param) { if(StringUtils.hasText(param.getSysCode1())){ long count1 = baseMapper.countSysCode1(param.getSysCode1(), param.getId());if(count1>0){ @@ -368,5 +456,40 @@ public class BmsRegionServiceImpl extends ServiceImpl region.setFactoryIds(newIds.stream().toArray(String[]::new)); return region; } + + public BmsRegion toSetLevel(BmsRegion param) { + if(StringUtils.hasText(param.getPid()) && !param.getPid().equals("0")){ + BmsRegion parent = this.getById(param.getPid()); + if(parent!=null){ + if(parent.getLevel()>2){ + Assert.throwEx("最高支持3层级"); + } + param.setLevel(parent.getLevel()+1); + param.setPathIds(parent.getPathIds()+"_"+param.getId()); + param.setPathNames(parent.getPathNames()+"_"+param.getName()); + }else { + Assert.throwEx("无相关父级数据"); + } + }else { + param.setPid("0"); + param.setLevel(1); + param.setPathIds(param.getId()); + param.setPathNames(param.getName()); + } + return param; + } + + public List listTreeChildByDeep(String pid,Integer parentLevel){ + List list = this.listChild(pid); + if(parentLevel > 2 && CollectionUtil.isNotEmpty(list)){ + Assert.throwEx("最高只能设置3层级"); + } + for (BmsRegion region2 : list) { + List childList = listTreeChildByDeep(region2.getId(),parentLevel++); + region2.setChildNodes(childList); + } + return list; + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java index 378e9efd..3321d75d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java @@ -23,6 +23,19 @@ import java.util.List; */ public interface TbsCostApplyMapper extends BaseMapper { + /** + * 更新协议类状态 + * @return + */ + @Update(" update tbs_cost_apply " + + " set charge_state = 3 , check_state = 1 " + + " where del_flag = 0 " + + " and cancel_flag = 0 " + + " and contract_flag = 1 " + + " and total_activity_used_amount = total_activity_amount " + + " and total_activity_amount != 0") + int updateContractFinishedState(); + /** * 统计即将逾期 * @param userId diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java index 4d4ac26f..e93c2ebb 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java @@ -2,10 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.model.consts.SysConfigKey; -import com.qs.serve.common.util.Assert; -import com.qs.serve.common.util.CollectionUtil; -import com.qs.serve.common.util.JsonUtil; -import com.qs.serve.common.util.StringUtils; +import com.qs.serve.common.util.*; import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.dto.CostSortWrapper; @@ -193,6 +190,13 @@ public class TbsBudgetApplicationService { Boolean overspend, Boolean throwEx, Boolean buildTableFlag){ + //指定的预算 + String pointBudgetIdString = ServletUtils.getHeader("pointBudgetId"); + Long pointBudgetId = null; + if(StringUtils.hasText(pointBudgetIdString)){ + pointBudgetId = Long.parseLong(pointBudgetIdString); + } + CostSortWrapper costSortWrapper = new CostSortWrapper(); //考核期有关的预算id,判断逻辑为活动需要允许在 List budgetIds = new ArrayList<>(); @@ -200,6 +204,7 @@ public class TbsBudgetApplicationService { List noBudgetActivityIds = new ArrayList<>(); //所有满足条件的考核期,用于加载历史核销费用 List scheduleItemList = this.loadScheduleBudgetAndSetting(activityList, budgetIds, noBudgetActivityIds,costSortWrapper); + this.checkPointBudgetId(pointBudgetId, budgetIds,"未满足考核期"); List centerIds = activityCenterList.stream().map(TbsActivityCenter::getCenterId).collect(Collectors.toList()); List subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList()); //通过模板限制,选中指定的预算 @@ -215,6 +220,10 @@ public class TbsBudgetApplicationService { if(limitBudgetIds.size()>0){ budgetIds = (List) CollectionUtils.intersection(budgetIds, limitBudgetIds); } + this.checkPointBudgetId(pointBudgetId, budgetIds,"模板限制,选中指定的预算不符合"); + if(pointBudgetId!=null){ + budgetIds = Arrays.asList(pointBudgetId); + } // 加载所有条件 List budgetList; if(budgetIds.size()>0){ @@ -341,6 +350,29 @@ public class TbsBudgetApplicationService { return result; } + /** + * 检测指定的预算满足条件 + * @param pontBudgetId + * @param budgetIds + * @param msg + */ + private void checkPointBudgetId(Long pontBudgetId, List budgetIds,String msg) { + if(pontBudgetId!=null){ + if(budgetIds==null){ + Assert.throwEx(msg); + } + boolean mc = false; + for (Long budgetId : budgetIds) { + if(budgetId.equals(pontBudgetId)){ + mc = true; + } + } + if(!mc){ + Assert.throwEx(msg); + } + } + } + /** * 预算条件需包含活动条件, Map结构:活动id->满足的预算id列表 * @param activityList diff --git a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java index 9cda2fbf..f017877a 100644 --- a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java +++ b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java @@ -8,14 +8,8 @@ import com.qs.serve.common.config.properties.ProjectApisProperties; import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.consts.ResultFlag; import com.qs.serve.common.util.*; -import com.qs.serve.modules.bms.entity.BmsCostCenter; -import com.qs.serve.modules.bms.entity.BmsRegion; -import com.qs.serve.modules.bms.entity.BmsSubject; -import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.service.BmsCostCenterService; -import com.qs.serve.modules.bms.service.BmsRegionService; -import com.qs.serve.modules.bms.service.BmsSubjectService; -import com.qs.serve.modules.bms.service.BmsSupplierService; +import com.qs.serve.modules.bms.entity.*; +import com.qs.serve.modules.bms.service.*; import com.qs.serve.modules.goods.entity.GoodsCategory; import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.goods.entity.GoodsSpu; @@ -44,6 +38,7 @@ import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; import com.qs.serve.modules.tbs.mapper.TbsActivitySubjectMapper; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.third.entity.*; import com.qs.serve.modules.third.util.ThirtyVerificationUtil; @@ -91,7 +86,7 @@ public class PortalOfCostApplication { private SysUserCodeMathMapper userCodeMathMapper; private final SysSyncLogService sysSyncLogService; private SysTableTempMapper sysTableTempMapper; - + private TbsCostApplyMapper tbsCostApplyMapper; private TbsCostTodoService tbsCostTodoService; private final TbsActivityPayConditionService activityPayConditionService; private final TbsBudgetService budgetService; @@ -107,6 +102,7 @@ public class PortalOfCostApplication { private BmsSubjectService subjectService; private BmsCostCenterService costCenterService; private BmsRegionService saleRegionService; + private BmsRegion2Service bizRegionService; private SysUserService userService; @@ -643,6 +639,13 @@ public class PortalOfCostApplication { if(region==null){Assert.throwEx("销售区域不存在,请重新编辑");} centerName = region.getName(); centerId = region.getId(); + }else if (centerCode.contains("bizRegion_")) { + centerType = "bizRegion"; + centerCode = centerCode.replace("bizRegion_",""); + BmsRegion2 region = bizRegionService.getByCode(centerCode); + if(region==null){Assert.throwEx("行政区域不存在,请重新编辑");} + centerName = region.getName(); + centerId = region.getId(); }else if (centerCode.contains("customer_")) { centerType = "customer"; centerCode = centerCode.replace("customer_",""); @@ -886,7 +889,7 @@ public class PortalOfCostApplication { Arrays.asList(activity), Arrays.asList(activitySubject), activityCenterGoodsList, - Arrays.asList(activityCenter),false,false,false); + Arrays.asList(activityCenter),false,true,false); //不匹配的商品,保存到无预算表 List unMatchBudgetItem = budgetCostResult.getBudgetUnMatchList(); @@ -1364,10 +1367,9 @@ public class PortalOfCostApplication { } costApply.setTotalActivityUsedAmount(totalCostAmt); - if(costApply.getTotalActivityAmount().compareTo(costApply.getTotalActivityUsedAmount())==0){ - costApply.setChargeState(3); - } costApplyService.updateById(costApply); + + tbsCostApplyMapper.updateContractFinishedState(); } /** diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index a1168983..94f2a18a 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -32,6 +32,7 @@ import com.qs.serve.modules.vtb.entity.bo.VtbVerificationCenterCommitBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationContactBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationSubjectCommitBo; import com.qs.serve.modules.vtb.entity.dto.VtbVerificationCodesDTO; +import com.qs.serve.modules.vtb.entity.dto.XltDelVerificationDto; import com.qs.serve.modules.vtb.entity.vo.VtbCostInfo; import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import com.qs.serve.modules.vtb.service.*; @@ -590,5 +591,22 @@ public class VtbVerificationController { return R.ok(); } + @GetMapping("delErp") + public R a(String checkCode){ + VtbVerification verification = vtbVerificationService.getOne(new LambdaQueryWrapper() + .eq(VtbVerification::getVerificationCode,checkCode)); + String host = "http://59.37.164.96:2506/action/cms/cost/deletion"; + //TODO 请求伟成接口,删除 XLT_BIFyDbf + XltDelVerificationDto delVerificationDto = new XltDelVerificationDto( + verification.getUserCode(), + null, + verification.getVerificationCode() + ); + String requestBody = JsonUtil.objectToJson(delVerificationDto); + String response = HttpUtil.doPost(host,requestBody,null); + log.info("请求伟成接口,删除 XLT_BIFyDbf:{}",response); + return R.ok(); + } + } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index 305e5b64..e4644987 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -99,16 +99,12 @@ public class VtbVerificationApplication { }else { result = R.ok(); } - if(result.getStatus()==200){ - //提交审批 - log.warn("提交审批到致远,{}",JsonUtil.objectToJson(result)); - // 判断是否含有下个节点 - try { - Thread.sleep(500); - } catch (InterruptedException e) { - e.printStackTrace(); - } - //verificationOperationService.runCompensate(verification.getId()+""); + //提交审批 + log.warn("提交审批到致远,{}",JsonUtil.objectToJson(result)); + + + if(result.getStatus()==200 ){ + String templateCode = verificationOperationService.getTemplateCode(); SyAffairStateResult stateResult = verificationOperationService.checkAffairState(verification.getId()+"",templateCode); @@ -120,6 +116,18 @@ public class VtbVerificationApplication { //提交审批 log.warn("提交审批到致远,检查单据[{}]状态:{}",verification.getVerificationCode(),affairState); + //要确保所有不为next才支持回调 + if(result.getData().equals("next")){ + summeryResult = "next"; + } + + // 判断是否含有下个节点 + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult); // String summeryResult = result.getData(); @@ -148,7 +156,7 @@ public class VtbVerificationApplication { }else if (result.getStatus()==500){ return result; } - return R.error("远程调用失败"); + return R.ok(); } /** @@ -209,6 +217,7 @@ public class VtbVerificationApplication { String userId = AuthContextUtils.getSysUserId(); SysUser sysUser = sysUserService.getById(userId); + try { //保存记录 // 判断是否含有下个节点 diff --git a/src/main/java/com/qs/serve/task/BirTask.java b/src/main/java/com/qs/serve/task/BirTask.java index 733381e3..122ef861 100644 --- a/src/main/java/com/qs/serve/task/BirTask.java +++ b/src/main/java/com/qs/serve/task/BirTask.java @@ -1,6 +1,7 @@ package com.qs.serve.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.config.properties.ProjectApisProperties; import com.qs.serve.common.model.AmountDTO; import com.qs.serve.common.util.AuthContextUtils; @@ -18,9 +19,11 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.TimeZone; import java.util.stream.Collectors; /** @@ -37,13 +40,29 @@ public class BirTask { /** * 同步bir实时 + * 15分钟执行一次 */ @Scheduled(cron="0 0/15 * * * ?") public void toSyncBirEcro(){ AuthContextUtils.setTenant("001"); birActivityCenterGoodsController.toSyncBirEcro(); - log.warn("bir 更新 完成"); + log.warn("bir更新完成"); } + /** + * 移除因作废的费用申请导致的bir数据 + * 每天中午13点触发 + */ + @Scheduled(cron="0 0 13 * * ?") + public void toSyncRm(){ + AuthContextUtils.setTenant("001"); + birActivityCenterGoodsController.toSyncRm(); + log.warn("bir更新完成 - 作废的费用"); + } + + @PostConstruct + void started() { + log.warn("bir同步开启"); + } } diff --git a/src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml b/src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml index bb71b600..39ac2487 100644 --- a/src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml +++ b/src/main/resources/mapper/bir/BirTbsVtbPayJoinMapper.xml @@ -58,6 +58,7 @@ a.charge_state, a.submit_time, a.pass_time, + a.contract_flag, act.activity_code as activity_code, act.act_title as activity_title,