Browse Source

修复CA数据;修复锦泰历史数据

v1.0
Yen 1 year ago
parent
commit
d49f80d662
  1. 3
      src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java
  2. 4
      src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java
  3. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java
  4. 168
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  5. 25
      src/main/java/com/qs/serve/modules/tran/mapper/CpOldSupplierCodeMapper.java
  6. 2
      src/main/java/com/qs/serve/modules/tran/mapper/TranOldCostMapper.java
  7. 40
      src/main/java/com/qs/serve/modules/tran/service/TranOldCostService.java
  8. 14
      src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java
  9. 20
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  10. 22
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java
  11. 2
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java
  12. 27
      src/main/java/com/qs/serve/task/PayTask.java
  13. 51
      src/main/java/com/qs/serve/task/TzcTask.java

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

@ -18,6 +18,9 @@ public class ProjectApisProperties {
/** 支付接口 */ /** 支付接口 */
private String costToPay; private String costToPay;
/** 同步核销的支付状态 */
private String checkPayStatus;
/** 调度系统-发货单 */ /** 调度系统-发货单 */
private String diaoduPlanOrder; private String diaoduPlanOrder;

4
src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java

@ -54,8 +54,8 @@ public enum BudgetLogOptFlag {
/** 12-政策申请调增(政策申请,预算调增) */ /** 12-政策申请调增(政策申请,预算调增) */
State_12(12,true), State_12(12,true),
/** 13-政策申请调减(政策申请,预算调减) */ /** 13-政策因费用申请调增(政策申请,预算转移) */
State_13(13,false), State_13(13,true),
/** 14-政策释放(被拒绝后,政策释放) */ /** 14-政策释放(被拒绝后,政策释放) */
State_14(14,true), State_14(14,true),

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

@ -210,6 +210,9 @@ public class TbsBudgetLog implements Serializable {
/** 政策生成的费用ID */ /** 政策生成的费用ID */
private Long createCostId; private Long createCostId;
/** 政策生成的政策ID */
private Long createPolicyItemId;
/** 费用申请id */ /** 费用申请id */
private Long costApplyId; private Long costApplyId;

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

@ -29,7 +29,9 @@ import com.qs.serve.modules.seeyon.entity.XltApticlaim;
import com.qs.serve.modules.seeyon.entity.XltPaymentRecord; import com.qs.serve.modules.seeyon.entity.XltPaymentRecord;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService; import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
import com.qs.serve.modules.sys.entity.SysSyncLog; import com.qs.serve.modules.sys.entity.SysSyncLog;
import com.qs.serve.modules.sys.entity.SysTableTemp;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysTableTempMapper;
import com.qs.serve.modules.sys.mapper.SysUserCodeMathMapper; import com.qs.serve.modules.sys.mapper.SysUserCodeMathMapper;
import com.qs.serve.modules.sys.service.SysSyncLogService; import com.qs.serve.modules.sys.service.SysSyncLogService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
@ -46,6 +48,7 @@ import com.qs.serve.modules.tzc.common.TzPolicyItemStatus;
import com.qs.serve.modules.tzc.entity.TzcPolicyGoodsSync; import com.qs.serve.modules.tzc.entity.TzcPolicyGoodsSync;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import com.qs.serve.modules.tzc.entity.TzcPolicyItemLog; import com.qs.serve.modules.tzc.entity.TzcPolicyItemLog;
import com.qs.serve.modules.tzc.mapper.TzcPolicyItemMapper;
import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService; import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemLogService; import com.qs.serve.modules.tzc.service.TzcPolicyItemLogService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemService; import com.qs.serve.modules.tzc.service.TzcPolicyItemService;
@ -80,6 +83,7 @@ public class PortalOfCostApplication {
private SysUserCodeMathMapper userCodeMathMapper; private SysUserCodeMathMapper userCodeMathMapper;
private final SysSyncLogService sysSyncLogService; private final SysSyncLogService sysSyncLogService;
private SysTableTempMapper sysTableTempMapper;
private TbsActivityService activityService; private TbsActivityService activityService;
private TbsActivityCenterService activityCenterService; private TbsActivityCenterService activityCenterService;
@ -100,6 +104,7 @@ public class PortalOfCostApplication {
private TbsBudgetLogService budgetLogService; private TbsBudgetLogService budgetLogService;
private TbsBudgetApplicationService budgetApplicationService; private TbsBudgetApplicationService budgetApplicationService;
private TbsBudgetMapper tbsBudgetMapper; private TbsBudgetMapper tbsBudgetMapper;
private TzcPolicyItemMapper tzcPolicyItemMapper;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
@ -311,6 +316,14 @@ public class PortalOfCostApplication {
if(costApplyService.count(checkLqw)>0L){ if(costApplyService.count(checkLqw)>0L){
Assert.throwEx("记录已存在"); Assert.throwEx("记录已存在");
} }
LambdaQueryWrapper<TbsBudgetLog> tbsLogLqw = new LambdaQueryWrapper<>();
tbsLogLqw.eq(TbsBudgetLog::getPolicyItemId,policyItem.getId());
tbsLogLqw.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_11.getCode());
TbsBudgetLog oriPolicyBudgetLog = budgetLogService.getOne(tbsLogLqw,false);
if(oriPolicyBudgetLog==null){
Assert.throwEx("政策预算数据异常:"+policyItem.getPolicyItemCode());
}
//构建费用申请 //构建费用申请
TbsCostApply costApply = new TbsCostApply(); TbsCostApply costApply = new TbsCostApply();
//2024年1月23日,添加 //2024年1月23日,添加
@ -367,7 +380,6 @@ public class PortalOfCostApplication {
activityCenter.setCenterAmount(totalAmount); activityCenter.setCenterAmount(totalAmount);
activityCenter.setCenterRate(OneHundred); activityCenter.setCenterRate(OneHundred);
activityCenter.setCenterType(policyItem.getCenterType()); activityCenter.setCenterType(policyItem.getCenterType());
activityCenter.setCenterId(policyItem.getCenterId()); activityCenter.setCenterId(policyItem.getCenterId());
activityCenter.setCenterName(policyItem.getCenterName()); activityCenter.setCenterName(policyItem.getCenterName());
@ -459,16 +471,8 @@ public class PortalOfCostApplication {
}); });
activityCenterGoodsService.saveBatch(activityCenterGoodsList); activityCenterGoodsService.saveBatch(activityCenterGoodsList);
// 活动申请扣除预算,这里需要进行保存
LambdaQueryWrapper<TbsBudgetLog> tbsLogLqw = new LambdaQueryWrapper<>(); //活动申请扣除预算,这里需要进行保存
tbsLogLqw.eq(TbsBudgetLog::getPolicyItemId,policyItem.getId());
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(); TbsBudgetLog dropPolicyBudgetLog = new TbsBudgetLog();
CopierUtil.copy(oriPolicyBudgetLog,dropPolicyBudgetLog); CopierUtil.copy(oriPolicyBudgetLog,dropPolicyBudgetLog);
dropPolicyBudgetLog.setId(null); dropPolicyBudgetLog.setId(null);
@ -480,13 +484,13 @@ public class PortalOfCostApplication {
dropPolicyBudgetLog.setAmount(totalAmount); dropPolicyBudgetLog.setAmount(totalAmount);
//拓展关联 //拓展关联
dropPolicyBudgetLog.setCreateCostId(costApply.getId()); dropPolicyBudgetLog.setCreateCostId(costApply.getId());
dropPolicyBudgetLog.setCreatePolicyItemId(policyItem.getId());
dropPolicyBudgetLog.setRemark("政策生成费用"); dropPolicyBudgetLog.setRemark("政策生成费用");
List<TbsBudgetLog> budgetLogList = new ArrayList<>(); List<TbsBudgetLog> budgetLogList = new ArrayList<>();
List<TbsBudgetCostItem> costItemList = new ArrayList<>(); List<TbsBudgetCostItem> costItemList = new ArrayList<>();
for (TbsActivityCenterGoods centerGoodItem : activityCenterGoodsList) { for (TbsActivityCenterGoods centerGoodItem : activityCenterGoodsList) {
TbsBudgetCostItem costItem = centerGoodItem.toBudgetCostItem(); TbsBudgetCostItem costItem = centerGoodItem.toBudgetCostItem();
costItem.setBudgetId(dropPolicyBudgetLog.getBudgetId()); costItem.setBudgetId(dropPolicyBudgetLog.getBudgetId());
@ -498,6 +502,7 @@ public class PortalOfCostApplication {
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_1,user, costApply, costItem, currBudget,centerGoodItem.getCenterGoodsAmount(),activity); TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_1,user, costApply, costItem, currBudget,centerGoodItem.getCenterGoodsAmount(),activity);
budgetLog.setCreateCostId(costApply.getId()); budgetLog.setCreateCostId(costApply.getId());
budgetLog.setCreatePolicyItemId(policyItem.getId());
budgetLog.setRemark("政策生成费用"); budgetLog.setRemark("政策生成费用");
budgetLogList.add(budgetLog); budgetLogList.add(budgetLog);
costItemList.add(costItem); costItemList.add(costItem);
@ -511,11 +516,11 @@ public class PortalOfCostApplication {
TzcPolicyItemLog policyItemLog = TzcPolicyItemLog.toNewObject(policyItem,totalAmount); TzcPolicyItemLog policyItemLog = TzcPolicyItemLog.toNewObject(policyItem,totalAmount);
policyItemLogService.save(policyItemLog); policyItemLogService.save(policyItemLog);
//TODO DEV 更新项使用情况 BigDecimal usedAmt = tzcPolicyItemMapper.sumPolicyItemTranAmt(policyItem.getId());
// TzcPolicyItem policyItemParam = new TzcPolicyItem(); TzcPolicyItem policyItemParam = new TzcPolicyItem();
// policyItemParam.setId(policyItem.getId()); policyItemParam.setId(policyItem.getId());
// policyItemParam.setUsedAmount(policyItem.getUsedAmount().add(totalAmount)); policyItemParam.setUsedAmount(usedAmt.add(totalAmount));
// policyItemServiceService.updateById(policyItemParam); policyItemServiceService.updateById(policyItemParam);
//保存核销申请 //保存核销申请
VtbVerification verification = new VtbVerification(); VtbVerification verification = new VtbVerification();
@ -557,38 +562,6 @@ public class PortalOfCostApplication {
verificationSubject.setCountSession(0); verificationSubject.setCountSession(0);
verificationSubjectService.save(verificationSubject); verificationSubjectService.save(verificationSubject);
//保存支付
// PayPayment payPayment = new PayPayment();
// payPayment.setPayType(PaymentType.PAYMENT);
// payPayment.setPayCode("PM"+ StringUtils.genShortId());
// payPayment.setSupplierId(supplierId);
// payPayment.setSupplierCode(supplier.getCode());
// payPayment.setSupplierName(supplier.getName());
// payPayment.setPayAmount(totalAmount);
// payPayment.setUserId(user.getId());
// payPayment.setUserCode(user.getCode());
// payPayment.setUserName(user.getName());
// payPayment.setPayTime(nowTime);
// payPayment.setErpCode(erpCode);
// payPayment.setBillNumber(billNumber);
// paymentService.save(payPayment);
//
// PayPaymentItem paymentItem = new PayPaymentItem();
// paymentItem.setPaymentId(payPayment.getId());
// paymentItem.setPayType(PaymentType.PAYMENT);
// paymentItem.setSupplierId(supplierId);
// paymentItem.setItemPayAmount(totalAmount);
// paymentItem.setVerificationId(verification.getId());
// paymentItem.setVerificationSubjectId(verificationSubject.getId());
// paymentItem.setCostApplyId(costApply.getId());
// paymentItem.setActivityId(activity.getId());
// paymentItem.setActivityCode(activity.getActivityCode());
// paymentItem.setSubjectId(subject.getId());
// paymentItem.setSubjectCode(subject.getSubjectCode());
// paymentItem.setSubjectName(subject.getSubjectName());
// paymentItemService.save(paymentItem);
} }
@ -1087,23 +1060,23 @@ public class PortalOfCostApplication {
verificationService.save(verification); verificationService.save(verification);
//协议类的要直接支付 //协议类的要直接支付
// PayPayment payPayment = new PayPayment(); PayPayment payPayment = new PayPayment();
// payPayment.setPayType(PaymentType.PAYMENT); payPayment.setPayType(PaymentType.PAYMENT);
// payPayment.setPayCode("PM" + StringUtils.genShortId()); payPayment.setPayCode("PM" + StringUtils.genShortId());
// payPayment.setSupplierId(Long.parseLong(supplier.getId())); payPayment.setSupplierId(Long.parseLong(supplier.getId()));
// payPayment.setSupplierCode(supplier.getCode()); payPayment.setSupplierCode(supplier.getCode());
// payPayment.setSupplierName(supplier.getName()); payPayment.setSupplierName(supplier.getName());
// payPayment.setPayAmount(totalAmount); payPayment.setPayAmount(totalAmount);
// payPayment.setCostApplyId(costApply.getId()); payPayment.setCostApplyId(costApply.getId());
// payPayment.setUserId(user.getId()); payPayment.setUserId(user.getId());
// payPayment.setUserCode(user.getCode()); payPayment.setUserCode(user.getCode());
// payPayment.setUserName(user.getName()); payPayment.setUserName(user.getName());
// payPayment.setPayTime(nowTime); payPayment.setPayTime(nowTime);
// payPayment.setErpCode(createBo.getDispatchCode()); payPayment.setErpCode(createBo.getDispatchCode());
// payPayment.setBillNumber(createBo.getBillNumber()); payPayment.setBillNumber(createBo.getBillNumber());
// payPayment.setCreateBy(user.getName()); payPayment.setCreateBy(user.getName());
// payPayment.setCreateTime(LocalDateTime.now()); payPayment.setCreateTime(LocalDateTime.now());
// paymentService.save(payPayment); paymentService.save(payPayment);
//保存核销费用结果 //保存核销费用结果
@ -1144,31 +1117,31 @@ public class PortalOfCostApplication {
verificationSubject.setCountPerson(0); verificationSubject.setCountPerson(0);
verificationSubject.setCountSession(0); verificationSubject.setCountSession(0);
// PayPaymentItem paymentItem = new PayPaymentItem(); PayPaymentItem paymentItem = new PayPaymentItem();
// paymentItem.setPaymentId(payPayment.getId()); paymentItem.setPaymentId(payPayment.getId());
// paymentItem.setPayType(PaymentType.PAYMENT); paymentItem.setPayType(PaymentType.PAYMENT);
// paymentItem.setSupplierId(Long.parseLong(supplier.getId())); paymentItem.setSupplierId(Long.parseLong(supplier.getId()));
// paymentItem.setItemPayAmount(totalAmount); paymentItem.setItemPayAmount(totalAmount);
// paymentItem.setPayTime(nowTime); paymentItem.setPayTime(nowTime);
// paymentItem.setVerificationId(verification.getId()); paymentItem.setVerificationId(verification.getId());
// paymentItem.setVerificationCode(verification.getVerificationCode()); paymentItem.setVerificationCode(verification.getVerificationCode());
// paymentItem.setVerificationMainCode(verification.getVerificationCode()); paymentItem.setVerificationMainCode(verification.getVerificationCode());
// paymentItem.setVerificationSubjectId(verificationSubject.getId()); paymentItem.setVerificationSubjectId(verificationSubject.getId());
// paymentItem.setCostApplyId(costApply.getId()); paymentItem.setCostApplyId(costApply.getId());
// paymentItem.setActivityId(activity.getId()); paymentItem.setActivityId(activity.getId());
// paymentItem.setActivityCode(activity.getActivityCode()); paymentItem.setActivityCode(activity.getActivityCode());
// paymentItem.setSubjectId(subject.getId()); paymentItem.setSubjectId(subject.getId());
// paymentItem.setSubjectCode(subject.getSubjectCode()); paymentItem.setSubjectCode(subject.getSubjectCode());
// paymentItem.setSubjectName(subject.getSubjectName()); paymentItem.setSubjectName(subject.getSubjectName());
// paymentItem.setCreateBy(user.getName()); paymentItem.setCreateBy(user.getName());
// paymentItem.setCreateTime(LocalDateTime.now()); paymentItem.setCreateTime(LocalDateTime.now());
//保存和更新项 //保存和更新项
TbsActivitySubject activitySubject = new TbsActivitySubject(); TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setId(subject.getId()); activitySubject.setId(subject.getId());
activitySubject.setUsedAmount(totalPay); activitySubject.setUsedAmount(totalPay);
activitySubjectService.updateById(subject); activitySubjectService.updateById(subject);
// paymentItemService.save(paymentItem); paymentItemService.save(paymentItem);
verificationSubjectService.save(verificationSubject); verificationSubjectService.save(verificationSubject);
} }
@ -1227,20 +1200,27 @@ public class PortalOfCostApplication {
* 修复数据方法修复后可删除 * 修复数据方法修复后可删除
*/ */
public void repairCaCost(){ public void repairCaCost(){
Assert.throwEx("DEV");
LambdaQueryWrapper<SysSyncLog> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysSyncLog> lqw = new LambdaQueryWrapper<>();
lqw.eq(SysSyncLog::getFromPlat,"一站式费用ByDong"); lqw.eq(SysSyncLog::getFromPlat,"一站式费用ByDong");
//只处理成功的 //只处理成功的
lqw.eq(SysSyncLog::getSuccessStatus,1); lqw.eq(SysSyncLog::getSuccessStatus,1);
lqw.eq(SysSyncLog::getId,13731L); lqw.in(SysSyncLog::getId,13506L,13542L,13674L,8323L,12510L,12585L,12642L,12645L,12660L,12708L,13298L);
List<SysSyncLog> syncLogList = sysSyncLogService.list(lqw); List<SysSyncLog> syncLogList = sysSyncLogService.list(lqw);
for (SysSyncLog syncLog : syncLogList) { for (SysSyncLog syncLog : syncLogList) {
ProcessCreatePolicyCostBo applyBo = JsonUtil.jsonToPojo(syncLog.getRequestJson(),ProcessCreatePolicyCostBo.class); ProcessCreatePolicyCostBo applyBo = JsonUtil.jsonToPojo(syncLog.getRequestJson(),ProcessCreatePolicyCostBo.class);
String title = applyBo.getCostTheme(); String title = applyBo.getCostTheme();
LambdaQueryWrapper<TbsCostApply> costLqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsCostApply> costLqw = new LambdaQueryWrapper<>();
costLqw.eq(TbsCostApply::getChargeTheme,title); costLqw.eq(TbsCostApply::getChargeTheme,title);
TbsCostApply costApply = costApplyService.getOne(costLqw); List<TbsCostApply> costApplyList = costApplyService.list(costLqw);
if(costApply!=null){
SysTableTemp sysTableTemp = new SysTableTemp();
sysTableTemp.setTableName("sys_sync_log");
sysTableTemp.setTableId(syncLog.getId()+"");
sysTableTemp.setOptionTitle("修复CA数据");
for (int i = 0; i < costApplyList.size(); i++) {
TbsCostApply costApply = costApplyList.get(i);
costApplyService.removeById(costApply.getId()); costApplyService.removeById(costApply.getId());
QueryWrapper costqw = new QueryWrapper(); QueryWrapper costqw = new QueryWrapper();
costqw.eq("cost_apply_id",costApply.getId()); costqw.eq("cost_apply_id",costApply.getId());
@ -1251,14 +1231,16 @@ public class PortalOfCostApplication {
activityCenterGoodsService.remove(costqw); activityCenterGoodsService.remove(costqw);
budgetLogService.remove(costqw); budgetLogService.remove(costqw);
costItemService.remove(costqw); costItemService.remove(costqw);
//policyItemLogService
//policyItemServiceService
verificationService.remove(costqw); verificationService.remove(costqw);
verificationSubjectService.remove(costqw);
}
try {
this.createCostProcessByPolicy(applyBo); this.createCostProcessByPolicy(applyBo);
break; sysTableTemp.setDealState(1);
} catch (Exception e) {
sysTableTemp.setResultMsg(e.getMessage());
} }
sysTableTempMapper.insert(sysTableTemp);
} }
} }

25
src/main/java/com/qs/serve/modules/tran/mapper/CpOldSupplierCodeMapper.java

@ -0,0 +1,25 @@
package com.qs.serve.modules.tran.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.qs.serve.modules.tran.domain.OldCost;
import com.qs.serve.modules.tran.domain.OldVerify;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* @author YenHex
* @since 2024/1/24
*/
public interface CpOldSupplierCodeMapper {
@Update("update ${tableName} set supplier_id = #{cusId},supplier_code = #{cusCode} where cost_apply_id = #{costId}")
int updateSupplierInfo(@Param("tableName")String tableName,
@Param("costId")Long costId,
@Param("cusId")String cusId,
@Param("cusCode")String cusCode);
}

2
src/main/java/com/qs/serve/modules/tran/mapper/TranOldCostMapper.java

@ -36,4 +36,6 @@ public interface TranOldCostMapper {
@Select("SELECT * FROM old_main_verify UNION SELECT * FROM old_main_verify2 UNION SELECT * FROM old_main_verify3") @Select("SELECT * FROM old_main_verify UNION SELECT * FROM old_main_verify2 UNION SELECT * FROM old_main_verify3")
List<OldVerify> listVerifyList(); List<OldVerify> listVerifyList();
} }

40
src/main/java/com/qs/serve/modules/tran/service/TranOldCostService.java

@ -33,6 +33,7 @@ import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper;
import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.tran.domain.OldCost; import com.qs.serve.modules.tran.domain.OldCost;
import com.qs.serve.modules.tran.domain.OldVerify; import com.qs.serve.modules.tran.domain.OldVerify;
import com.qs.serve.modules.tran.mapper.CpOldSupplierCodeMapper;
import com.qs.serve.modules.tran.mapper.TranOldCostMapper; import com.qs.serve.modules.tran.mapper.TranOldCostMapper;
import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService; import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemLogService; import com.qs.serve.modules.tzc.service.TzcPolicyItemLogService;
@ -91,7 +92,7 @@ public class TranOldCostService {
private PayPaymentService paymentService; private PayPaymentService paymentService;
private PayPaymentItemService paymentItemService; private PayPaymentItemService paymentItemService;
private CpOldSupplierCodeMapper oldSupplierCodeMapper;
private VtbVerificationService verificationService; private VtbVerificationService verificationService;
private VtbVerificationSubjectService verificationSubjectService; private VtbVerificationSubjectService verificationSubjectService;
@ -431,4 +432,41 @@ public class TranOldCostService {
} }
public void cpSupplierCode(){
LambdaQueryWrapper<TbsCostApply> costLqw = new LambdaQueryWrapper<>();
costLqw.eq(TbsCostApply::getMatchType,-1);
List<TbsCostApply> costApplyList = costApplyService.list(costLqw);
for (TbsCostApply costApply : costApplyList) {
String cusCode = costApply.getSupplierCode();
boolean jtCus = cusCode.contains("JT");
if(!jtCus){
cusCode = "JT"+cusCode;
}
String cusId = "0";
BmsSupplier supplier = supplierService.getByCode(cusCode,null);
if(supplier==null){
supplier = new BmsSupplier();
supplier.setSupplierCode(cusCode);
}else {
cusId = supplier.getId();
}
//更新相关
oldSupplierCodeMapper.updateSupplierInfo("tbs_activity",costApply.getId(),cusId,cusCode);
oldSupplierCodeMapper.updateSupplierInfo("tbs_activity_center_goods",costApply.getId(),cusId,cusCode);
oldSupplierCodeMapper.updateSupplierInfo("tbs_budget_cost_item",costApply.getId(),cusId,cusCode);
oldSupplierCodeMapper.updateSupplierInfo("tbs_budget_log",costApply.getId(),cusId,cusCode);
oldSupplierCodeMapper.updateSupplierInfo("vtb_verification",costApply.getId(),cusId,cusCode);
oldSupplierCodeMapper.updateSupplierInfo("vtb_verification_subject",costApply.getId(),cusId,cusCode);
//标记为-2,代表成功
costApply.setSupplierId(Long.parseLong(cusId));
costApply.setSupplierCode(cusCode);
costApply.setMatchType(-2);
costApplyService.updateById(costApply);
}
}
} }

14
src/main/java/com/qs/serve/modules/tzc/mapper/TzcPolicyItemMapper.java

@ -1,7 +1,12 @@
package com.qs.serve.modules.tzc.mapper; package com.qs.serve.modules.tzc.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
/** /**
* 政策项 Mapper * 政策项 Mapper
@ -10,5 +15,14 @@ import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
*/ */
public interface TzcPolicyItemMapper extends BaseMapper<TzcPolicyItem> { public interface TzcPolicyItemMapper extends BaseMapper<TzcPolicyItem> {
/**
* 查询所有转化费用的合计
* @param policyItemId
* @return
*/
@InterceptorIgnore(tenantLine = "true")
@Select("select COALESCE(sum(amount),0) from tbs_budget_log where create_policy_item_id = #{policyItemId} and opt_type = '13'")
BigDecimal sumPolicyItemTranAmt(@Param("policyItemId")Long policyItemId);
} }

20
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -30,6 +30,7 @@ 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.bo.VtbVerificationSubjectCommitBo;
import com.qs.serve.modules.vtb.entity.dto.VtbVerificationCodesDTO; import com.qs.serve.modules.vtb.entity.dto.VtbVerificationCodesDTO;
import com.qs.serve.modules.vtb.entity.vo.VtbCostInfo; import com.qs.serve.modules.vtb.entity.vo.VtbCostInfo;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.service.*; import com.qs.serve.modules.vtb.service.*;
import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -58,6 +59,7 @@ import java.util.stream.Collectors;
public class VtbVerificationController { public class VtbVerificationController {
private VtbVerificationService vtbVerificationService; private VtbVerificationService vtbVerificationService;
private VtbVerificationMapper vtbVerificationMapper;
private VtbVerificationChannelService vtbVerificationChannelService; private VtbVerificationChannelService vtbVerificationChannelService;
private VtbVerificationChannelPointService vtbVerificationChannelPointService; private VtbVerificationChannelPointService vtbVerificationChannelPointService;
private VtbVerificationYardCenterItemService vtbVerificationYardCenterItemService; private VtbVerificationYardCenterItemService vtbVerificationYardCenterItemService;
@ -480,6 +482,24 @@ public class VtbVerificationController {
return R.ok(costInfo); return R.ok(costInfo);
} }
/**
* 去支付
* @param verificationId
* @return
*/
@GetMapping("/toPayRequest")
public R<?> toPayRequest(Long verificationId,Integer fullState){
if(fullState!=null&&fullState.equals(1)){
List<Long> vids = vtbVerificationMapper.listNotPayVerifyIds();
for (Long vid : vids) {
vtbVerificationService.toPayRequest(vid);
}
}else {
vtbVerificationService.toPayRequest(verificationId);
}
return R.ok();
}
/** /**
* 成功提交回调 * 成功提交回调

22
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java

@ -1,9 +1,11 @@
package com.qs.serve.modules.vtb.mapper; package com.qs.serve.modules.vtb.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.entity.VtbVerification;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -16,6 +18,26 @@ import java.util.List;
*/ */
public interface VtbVerificationMapper extends BaseMapper<VtbVerification> { public interface VtbVerificationMapper extends BaseMapper<VtbVerification> {
@InterceptorIgnore(tenantLine = "true")
@Select("select v.id from vtb_verification v " +
"left join tbs_cost_apply t " +
"on t.id = v.cost_apply_id " +
"where " +
//协议类不需要支付,设置忽略
"t.contract_flag != 1 " +
"and v.del_flag = 0 " +
"and t.del_flag = 0 " +
"and v.sync_pay_flag = 0 " +
"and verification_state = 1 " +
"and t.charge_state in (2,3) " +
"and (verification_code like 'HX%' or verification_code like 'DHX%') " +
//不维护CMS上线前导入的核销
"and v.user_id <> '0' " +
//排除CA的单子
"and length(v.verification_code)<18 "+
"ORDER BY v.id asc")
List<Long> listNotPayVerifyIds();
/** /**
* 替换继承人 * 替换继承人
* @param userId * @param userId

2
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java

@ -9,6 +9,7 @@ import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBo;
import com.qs.serve.modules.vtb.entity.bo.VtbVerificationContactBo; import com.qs.serve.modules.vtb.entity.bo.VtbVerificationContactBo;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -18,6 +19,7 @@ import java.util.Map;
*/ */
public interface VtbVerificationService extends IService<VtbVerification> { public interface VtbVerificationService extends IService<VtbVerification> {
/** /**
* 创建协议类核销记录 * 创建协议类核销记录
* @param param * @param param

27
src/main/java/com/qs/serve/task/PayTask.java

@ -1,14 +1,18 @@
package com.qs.serve.task; package com.qs.serve.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectApisProperties;
import com.qs.serve.common.model.AmountDTO; import com.qs.serve.common.model.AmountDTO;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.HttpUtil;
import com.qs.serve.modules.pay.entity.PayPayment; import com.qs.serve.modules.pay.entity.PayPayment;
import com.qs.serve.modules.pay.mapper.PayPaymentItemMapper; import com.qs.serve.modules.pay.mapper.PayPaymentItemMapper;
import com.qs.serve.modules.pay.mapper.PayPaymentMapper; import com.qs.serve.modules.pay.mapper.PayPaymentMapper;
import com.qs.serve.modules.pay.service.PayPaymentService; import com.qs.serve.modules.pay.service.PayPaymentService;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsCostApplyService; import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -30,9 +34,32 @@ import java.util.stream.Collectors;
@ConditionalOnProperty(value = "project.task", havingValue = "true") @ConditionalOnProperty(value = "project.task", havingValue = "true")
public class PayTask { public class PayTask {
private VtbVerificationService vtbVerificationService;
private VtbVerificationMapper vtbVerificationMapper;
private final TbsCostApplyService costApplyService; private final TbsCostApplyService costApplyService;
private final PayPaymentItemMapper payPaymentItemMapper; private final PayPaymentItemMapper payPaymentItemMapper;
private final PayPaymentMapper payPaymentMapper; private final PayPaymentMapper payPaymentMapper;
private ProjectApisProperties projectApisProperties;
/**
* 将未支付的重新发起请求
*/
@Scheduled(cron="0 0 2 * * ?")
public void checkToPay(){
//预先调用伟成同步状态接口,减少查询记录数
String url = projectApisProperties.getCheckPayStatus();
HttpUtil.doGet(url,null);
List<Long> vids = vtbVerificationMapper.listNotPayVerifyIds();
for (Long vid : vids) {
vtbVerificationService.toPayRequest(vid);
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
HttpUtil.doGet(url,null);
}
/** /**
* 同步支付 * 同步支付

51
src/main/java/com/qs/serve/task/TzcTask.java

@ -0,0 +1,51 @@
package com.qs.serve.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.AmountDTO;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.modules.pay.mapper.PayPaymentItemMapper;
import com.qs.serve.modules.pay.mapper.PayPaymentMapper;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author YenHex
* @since 2023/11/7
*/
@Slf4j
@Component
@AllArgsConstructor
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TzcTask {
/**
* 同步未同步的政策项排查数据并无异常
* 流程如下
* 1.查询CMS未同步的政策项编码发送到中间服务 SELECT * FROM `tzc_policy` LEFT JOIN tzc_policy_item
* ON tzc_policy.id = tzc_policy_item.policy_id WHERE tzc_policy.del_flag = 0 AND tzc_policy_item.del_flag = 0
* AND tzc_policy.policy_status = 2 AND tzc_policy_item.sync_status = 0
* 2.中间服务返回已有的政策项编码 SELECT * FROM [dbo].[XLT_BI_GhDbf] where cGhMemo = '数据自动导入' and cGhCode like 'P%'
* 3.更新已有的政策项编码 update tzc_policy_item set sync_status = 1 where policy_item_code in (...)
* 4.重新请求未同步的政策编码
*
*/
//@Scheduled(cron="0 0 3 * * ?")
public void checkToPay(){
}
}
Loading…
Cancel
Save