diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java index b152caef..c4703734 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java @@ -10,16 +10,20 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.bir.entity.so.BirCostRoiSo; import com.qs.serve.modules.bir.entity.vo.*; +import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper; import com.qs.serve.modules.bir.service.*; import com.qs.serve.modules.sys.entity.SysDictData; import com.qs.serve.modules.sys.service.SysDictDataService; import com.qs.serve.modules.tbs.common.TbsCenterType; +import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; +import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import com.qs.serve.modules.tbs.service.TbsBudgetService; import com.qs.serve.modules.tbs.service.TbsCostApplyService; import lombok.AllArgsConstructor; @@ -53,6 +57,8 @@ public class BirRoiRateController { private BirCenterRateService birCenterRateService; private SysDictDataService sysDictDataService; private TbsCostApplyService costApplyService; + private BirBaseActivityMapper birBaseActivityMapper; + private TbsActivityMapper tbsActivityMapper; // /** @@ -89,14 +95,21 @@ public class BirRoiRateController { @GetMapping("/test22") public R test22(){ //移除当年所有 - int year = 2023; - for (int i = 0; i < 12; i++) { - activityService.buildReport(year,i+1); - } - activityService.buildReport(2024,1); +// int year = 2023; +// for (int i = 0; i < 12; i++) { +// activityService.buildReport(year,i+1); +// } +// activityService.buildReport(2024,1); + List ids = birBaseActivityMapper.selectErrorAmtActivityCode(); + activityService.removeErrorData(ids); + List activityList = tbsActivityMapper.selectBatchIds(ids); + List costIds = activityList.stream().map(TbsActivity::getCostApplyId).distinct().collect(Collectors.toList()); + birActivityCenterGoodsService.rebuildBir(costIds); return R.ok(); } + + /** * 台账 * @return diff --git a/src/main/java/com/qs/serve/modules/bir/mapper/BirBaseActivityMapper.java b/src/main/java/com/qs/serve/modules/bir/mapper/BirBaseActivityMapper.java index 21d3f65a..22998c7b 100644 --- a/src/main/java/com/qs/serve/modules/bir/mapper/BirBaseActivityMapper.java +++ b/src/main/java/com/qs/serve/modules/bir/mapper/BirBaseActivityMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.tbs.entity.TbsActivity; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.time.LocalDate; import java.util.List; @@ -17,6 +18,8 @@ public interface BirBaseActivityMapper extends BaseMapper { List selectByBirActivity(@Param("startDate") LocalDate startDate, @Param("endDate")LocalDate endDate); + List selectErrorAmtActivityCode(); + /** * 作废的异常的 * @return diff --git a/src/main/java/com/qs/serve/modules/bir/service/BirBaseActivityService.java b/src/main/java/com/qs/serve/modules/bir/service/BirBaseActivityService.java index 84e21709..b2d90958 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/BirBaseActivityService.java +++ b/src/main/java/com/qs/serve/modules/bir/service/BirBaseActivityService.java @@ -3,6 +3,8 @@ package com.qs.serve.modules.bir.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bir.entity.BirBaseActivity; +import java.util.List; + /** * ROI费率(活动档案) 服务接口 * @author YenHex @@ -17,7 +19,9 @@ public interface BirBaseActivityService extends IService { */ void buildReport(int year, int month); - - + /** + * 修复和bir_center_good金额异常的活动 + */ + void removeErrorData(List actIds); } diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java index 51f3d54b..68d58680 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java @@ -220,9 +220,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl costApplyIds) { - LambdaQueryWrapper costLqw = new LambdaQueryWrapper<>(); - costLqw.in(TbsActivityCenterGoods::getCostApplyId,costApplyIds); - List activityCenterGoodsAllList = tbsActivityCenterGoodsMapper.selectList(costLqw); + LambdaQueryWrapper centerGoodsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + centerGoodsLambdaQueryWrapper.in(TbsActivityCenterGoods::getCostApplyId,costApplyIds); + List activityCenterGoodsAllList = tbsActivityCenterGoodsMapper.selectList(centerGoodsLambdaQueryWrapper); if(activityCenterGoodsAllList.size()<1){ return; @@ -255,6 +255,11 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl bizRegionList = region2Mapper.selectList(region2Lqw); Map bizRegionMap = bizRegionList.stream().collect(Collectors.toMap(BmsRegion2::getId,a->a)); + //过滤无效的费用申请 + LambdaQueryWrapper costLqw = new LambdaQueryWrapper<>(); + costLqw.in(TbsCostApply::getId,costApplyIds); + costLqw.eq(TbsCostApply::getCancelFlag,0); + costLqw.in(TbsCostApply::getChargeState,1,2,3,4); List costApplyList = tbsCostApplyMapper.selectBatchIds(costApplyIds); Map> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId)); @@ -262,15 +267,20 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl bacgList = new ArrayList<>(); //创建对象列表 List 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(); diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java index 40f5098a..2fdb2bc2 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBaseActivityServiceImpl.java @@ -51,6 +51,10 @@ public class BirBaseActivityServiceImpl extends ServiceImpl activityList) { //删除历史数据 List ids = activityList.stream().filter(a->a.getId()!=null) .map(TbsActivity::getId).collect(Collectors.toList()); @@ -192,5 +196,11 @@ public class BirBaseActivityServiceImpl extends ServiceImpl actIds) { + List activityList = tbsActivityMapper.selectBatchIds(actIds); + this.buildByActivityList(activityList); + } } diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java index 682da77c..b337d7bf 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java @@ -107,7 +107,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl regionSupplierList = bmsSupplierMapper.selectList(regionSupplierLqw); List regionSupplierIds = regionSupplierList.stream().map(BmsSupplier::getId).collect(Collectors.toList()); - regionSupplierIds.add("0"); + regionSupplierIds.add("-999"); //加载公司内费用 BirRoiCostDTO costDTO4Com = new BirRoiCostDTO(); costDTO4Com.setStartMonthNum(startMonthNum); @@ -600,7 +600,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl客户的销售区域,省份 @@ -609,7 +609,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl公司维度统计 @@ -621,7 +621,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl cancelUnPayment(@RequestBody @Valid Object param){ - //PayPayment payPayment = payPaymentService.unpayment(param); - //TODO cancelUnPayment; - return R.error(); + public R cancelUnPayment(@RequestBody String verificationCode){ + payPaymentService.cancelUnPayment(verificationCode); + return R.ok(); } /** diff --git a/src/main/java/com/qs/serve/modules/pay/service/PayPaymentService.java b/src/main/java/com/qs/serve/modules/pay/service/PayPaymentService.java index d510dec7..2a3e68d1 100644 --- a/src/main/java/com/qs/serve/modules/pay/service/PayPaymentService.java +++ b/src/main/java/com/qs/serve/modules/pay/service/PayPaymentService.java @@ -21,6 +21,12 @@ public interface PayPaymentService extends IService { PayPayment unpayment(PayPaymentBo paymentBo); + /** + * 取消不在支付 + * @param vtbCheckCode + */ + void cancelUnPayment(String vtbCheckCode); + /** * 取消支付 * @param id diff --git a/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java b/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java index 5b5dd5b1..bdd18f91 100644 --- a/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/pay/service/impl/PayPaymentServiceImpl.java @@ -285,7 +285,12 @@ public class PayPaymentServiceImpl extends ServiceImpl listNotMatchAmtCenterGoods(@Param("costApplyIds") List costIds); + /** + * 查询错误的CenterGoodsBir记录 + * @return + */ + @Select("select bir.cost_apply_id from bir_activity_center_goods bir " + + " left join tbs_activity act " + + " on bir.activity_id = act.id " + + " left join tbs_cost_apply cost " + + " on bir.cost_apply_id = cost.id " + + " where act.cancel_flag = 1 or act.del_flag = 1 or cost.del_flag = 1 or cost.cancel_flag = 1") + List listCenterGoodsBirErrorCostId(); + + /** + * 查询错误的ActivityBir记录 + * @return + */ + @Select("select bir.cost_apply_id from bir_base_activity bir " + + " left join tbs_activity act " + + " on bir.activity_id = act.id " + + " left join tbs_cost_apply cost " + + " on bir.cost_apply_id = cost.id " + + " where act.cancel_flag = 1 or act.del_flag = 1 or cost.del_flag = 1 or cost.cancel_flag = 1 and bir.del_flag=0 ") + List listActivityBirErrorCostId(); + } diff --git a/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java b/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java index b4b7a7b0..6e86a17f 100644 --- a/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java +++ b/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java @@ -18,7 +18,7 @@ import java.math.BigDecimal; @Setter public class ThirtyVerification { - private String cacc = "001"; + private String cAcc; /** * 原销路通中间表 apticlaimNum @@ -142,5 +142,30 @@ public class ThirtyVerification { @NotNull(message = "id不能为空") private String id; + /** + * 接口的账套转换逻辑 + * @param bookCode + * @param cusCode + */ + public void initBookCode(String bookCode,String cusCode){ + if(bookCode!=null){ + //SL也扔给锦泰 + if (bookCode.equals("020")){ + this.setBookCode("019"); + }else { + this.setBookCode(bookCode); + } + }else { + if(cusCode.contains("JF")){ + this.setBookCode("006"); + }else if(cusCode.contains("KL")){ + this.setBookCode("002"); + }else if(cusCode.contains("SL")||cusCode.contains("JT")){ + this.setBookCode("019"); + }else { + this.setBookCode("001"); + } + } + } } 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 df999200..59120406 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 @@ -335,7 +335,6 @@ public class PortalOfCostApplication { //构建费用申请 TbsCostApply costApply = new TbsCostApply(); - //2024年1月23日,添加 costApply.setBillNumber(billNumber); costApply.setCode(costApplyCode); costApply.setChargeTheme(costTheme); @@ -352,7 +351,6 @@ public class PortalOfCostApplication { costApply.setPolicyItemId(policyItem.getId()); costApply.setPolicyItemCode(policyItem.getPolicyItemCode()); costApply.setSubmitTime(LocalDateTime.now()); - //2024年1月17日,添加 costApply.setRemark(createBo.getErpCode()); //构建活动 TbsActivity activity = new TbsActivity(); diff --git a/src/main/java/com/qs/serve/modules/third/util/ThirtyVerificationUtil.java b/src/main/java/com/qs/serve/modules/third/util/ThirtyVerificationUtil.java index 8f50c5de..fbb80f59 100644 --- a/src/main/java/com/qs/serve/modules/third/util/ThirtyVerificationUtil.java +++ b/src/main/java/com/qs/serve/modules/third/util/ThirtyVerificationUtil.java @@ -53,6 +53,8 @@ public class ThirtyVerificationUtil { tv.setCheckTime(timeString); tv.setCusCode(supplier.getCode()); tv.setCusName(supplier.getName()); + tv.initBookCode(supplier.getBookCode(),supplier.getCode()); + tv.setCAcc(tv.getBookCode()); tv.setRecId(verification.getVerificationCode()); String json = JsonUtil.objectToJson(tv); return json; @@ -91,7 +93,8 @@ public class ThirtyVerificationUtil { tv.setCheckTime(timeString); tv.setCusCode(supplier.getCode()); tv.setCusName(supplier.getName()); - tv.setBookCode(supplier.getBookCode()); + tv.initBookCode(supplier.getBookCode(),supplier.getCode()); + tv.setCAcc(tv.getBookCode()); tv.setRecId(verification.getVerificationCode()); return JsonUtil.objectToJson(tv); } diff --git a/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java b/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java index 43f8bff1..ce2241aa 100644 --- a/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java +++ b/src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java @@ -21,7 +21,7 @@ public interface TzcPolicyItemMapper extends BaseMapper { * @return */ @InterceptorIgnore(tenantLine = "true") - @Select("select COALESCE(sum(amount),0) from tbs_budget_log where create_policy_item_id = #{policyItemId} and opt_type = '13'") + @Select("select COALESCE(sum(amount),0) from tbs_budget_log where create_policy_item_id = #{policyItemId} and opt_type = '13' and del_flag = 0") BigDecimal sumPolicyItemTranAmt(@Param("policyItemId")Long policyItemId); } 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 1eb053ba..e040fd2f 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 @@ -1,6 +1,7 @@ package com.qs.serve.modules.vtb.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.config.properties.ProjectApisProperties; import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; @@ -15,6 +16,7 @@ import com.qs.serve.modules.seeyon.entity.dto.CtpAffairPageSo; import com.qs.serve.modules.seeyon.service.SeeYonRequestService; import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.entity.dto.CostDeletion; import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysPostUserService; import com.qs.serve.modules.sys.service.SysUserService; @@ -58,6 +60,7 @@ import java.util.stream.Collectors; @RequestMapping("vtb/verification") public class VtbVerificationController { + private ProjectApisProperties projectApisProperties; private VtbVerificationService vtbVerificationService; private VtbVerificationMapper vtbVerificationMapper; private VtbVerificationChannelService vtbVerificationChannelService; @@ -489,6 +492,9 @@ public class VtbVerificationController { */ @GetMapping("/toPayRequest") public R toPayRequest(Long verificationId,Integer fullState){ + //预先调用伟成同步状态接口,减少查询记录数 + String url = projectApisProperties.getCheckPayStatus(); + HttpUtil.doGet(url,null); if(fullState!=null&&fullState.equals(1)){ List vids = vtbVerificationMapper.listNotPayVerifyIds(); for (Long vid : vids) { @@ -501,6 +507,20 @@ public class VtbVerificationController { } +// @GetMapping("delCaPay") +// public R delCaPay(){ +// String url = "http://59.37.164.96:2506/action/cms/cost/deletion"; +// Set codes = new HashSet<>(vtbVerificationMapper.listCaVerificationCode()); +// for (String code : codes) { +// CostDeletion costDeletion = new CostDeletion(); +// costDeletion.setEmpNo("yuangong"); +// costDeletion.setVerificationCode(code); +// HttpUtil.doPost(url, JsonUtil.objectToJson(costDeletion),null); +// log.debug("del :{} ",code); +// } +// return R.ok(); +// } + /** * 成功提交回调 * @param verificationId diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java index 100d5583..193d5a57 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java @@ -18,6 +18,12 @@ import java.util.List; */ public interface VtbVerificationMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "true") + @Select("SELECT verification_code FROM `vtb_verification`" + + " where verification_code like 'HX%'" + + " and LENGTH(verification_code)>12 ") + List listCaVerificationCode(); + @InterceptorIgnore(tenantLine = "true") @Select("select v.id from vtb_verification v " + "left join tbs_cost_apply t " + @@ -35,6 +41,8 @@ public interface VtbVerificationMapper extends BaseMapper { "and v.user_id <> '0' " + //排除CA的单子 "and length(v.verification_code)<18 "+ + //部分金额为0忽略 + " and v.amount != 0 "+ "ORDER BY v.id asc") List listNotPayVerifyIds(); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 9901d6d8..8eb288c0 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -371,7 +371,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl + +