Browse Source

取消支付代码

v1.0
Yen 1 year ago
parent
commit
c9637ef8bd
  1. 15
      src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java
  2. 5
      src/main/java/com/qs/serve/modules/tbs/common/util/TbsBudgetLogBuildUtil.java
  3. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java
  4. 24
      src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  5. 21
      src/main/java/com/qs/serve/modules/third/PortalPolicyController.java
  6. 218
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  7. 39
      src/main/java/com/qs/serve/modules/tran/mapper/TranOldCostMapper.java
  8. 434
      src/main/java/com/qs/serve/modules/tran/service/TranOldCostService.java
  9. 11
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  10. 2
      src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyApplicationService.java
  11. 6
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java
  12. 2
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationService.java
  13. 28
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

15
src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java

@ -233,6 +233,21 @@ public class PayPaymentController {
return R.ok(payPayment);
}
/**
* 取消不再支付
* @param param
* @return
*/
@PostMapping("/cancelUnPayment")
@SysLog(module = SystemModule.Payment, title = "支付", biz = BizType.INSERT)
@PreAuthorize("hasRole('pay:payment:pay')")
public R<PayPayment> cancelUnPayment(@RequestBody @Valid Object param){
//PayPayment payPayment = payPaymentService.unpayment(param);
//TODO cancelUnPayment;
return R.error();
}
/**
* 新增支付
* @param param

5
src/main/java/com/qs/serve/modules/tbs/common/util/TbsBudgetLogBuildUtil.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.common.util;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tzc.entity.TzcPolicy;
@ -139,10 +140,10 @@ public class TbsBudgetLogBuildUtil {
budgetLog.setSupplierName(centerGoods.getSupplierName());
budgetLog.setActivityId(centerGoods.getActivityId());
budgetLog.setActivityCode(centerGoods.getActivityCode());
budgetLog.setActivityTheme(activity.getActTitle());
budgetLog.setActivityTheme(StringUtils.tailorLen(activity.getActTitle(),230));
budgetLog.setCostApplyId(costApply.getId());
budgetLog.setCostApplyCode(costApply.getCode());
budgetLog.setCostApplyTheme(costApply.getChargeTheme());
budgetLog.setCostApplyTheme(StringUtils.tailorLen(costApply.getChargeTheme(),140));
budgetLog.setTargetType(centerGoods.getTargetType());
budgetLog.setTargetId(centerGoods.getTargetId());
budgetLog.setTargetCode(centerGoods.getTargetCode());

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

@ -207,6 +207,9 @@ public class TbsBudgetLog implements Serializable {
@TableField(condition = SqlCondition.LIKE)
private String policyItemCode;
/** 政策生成的费用ID */
private Long createCostId;
/** 费用申请id */
private Long costApplyId;

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

@ -10,6 +10,7 @@ import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.modules.sys.entity.SysSyncLog;
import com.qs.serve.modules.sys.service.SysSyncLogService;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.third.consts.ThirtyConst;
import com.qs.serve.modules.third.entity.ProcessCreateContractCheckBo;
import com.qs.serve.modules.third.entity.ProcessCreateCostApplyBo;
@ -26,10 +27,7 @@ import com.qs.serve.modules.vtb.service.VtbVerificationService;
import com.qs.serve.modules.vtb.service.VtbVerificationSubjectService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
@ -173,10 +171,14 @@ public class PortalOfCostController {
return R.error("支付异常");
}
/**
* 伟成那边调用用于排查遗漏的核销
* @param codesDTO
* @return
*/
@PostMapping("/updateCheckSyncPayFlag")
public R<?> updateSyncPayFlag(@RequestBody VtbVerificationCodesDTO codesDTO){
String verifyCode = codesDTO.getCode();
String verifyCode = codesDTO.getCode().trim();
LambdaQueryWrapper<VtbVerification> lqw = new LambdaQueryWrapper<>();
lqw.select(VtbVerification::getId,VtbVerification::getVerificationCode)
.eq(VtbVerification::getVerificationCode,verifyCode)
@ -205,4 +207,14 @@ public class PortalOfCostController {
return R.ok();
}
/**
* 修复数据方法修复后可删除
* @return
*/
@GetMapping("/cpSyncLogByDong")
public R<?> cpSyncLogByDong(){
portalOfCostApplication.repairCaCost();
return R.ok();
}
}

21
src/main/java/com/qs/serve/modules/third/PortalPolicyController.java

@ -0,0 +1,21 @@
package com.qs.serve.modules.third;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author YenHex
* @since 2024/1/31
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("thirty/policy")
public class PortalPolicyController {
}

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

@ -1,6 +1,7 @@
package com.qs.serve.modules.third.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qs.serve.common.config.properties.ProjectApisProperties;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.consts.ResultFlag;
@ -471,8 +472,15 @@ public class PortalOfCostApplication {
TbsBudgetLog dropPolicyBudgetLog = new TbsBudgetLog();
CopierUtil.copy(oriPolicyBudgetLog,dropPolicyBudgetLog);
dropPolicyBudgetLog.setId(null);
dropPolicyBudgetLog.setCreateTime(null);
dropPolicyBudgetLog.setUpdateTime(null);
dropPolicyBudgetLog.setCreateBy(null);
dropPolicyBudgetLog.setUpdateBy(null);
dropPolicyBudgetLog.setOptType(BudgetLogOptFlag.State_13.getCode());
dropPolicyBudgetLog.setAmount(totalAmount);
//拓展关联
dropPolicyBudgetLog.setCreateCostId(costApply.getId());
dropPolicyBudgetLog.setRemark("政策生成费用");
List<TbsBudgetLog> budgetLogList = new ArrayList<>();
@ -489,6 +497,8 @@ public class PortalOfCostApplication {
TbsBudget currBudget = tbsBudgetMapper.selectById(dropPolicyBudgetLog.getBudgetId());
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_1,user, costApply, costItem, currBudget,centerGoodItem.getCenterGoodsAmount(),activity);
budgetLog.setCreateCostId(costApply.getId());
budgetLog.setRemark("政策生成费用");
budgetLogList.add(budgetLog);
costItemList.add(costItem);
}
@ -501,11 +511,11 @@ public class PortalOfCostApplication {
TzcPolicyItemLog policyItemLog = TzcPolicyItemLog.toNewObject(policyItem,totalAmount);
policyItemLogService.save(policyItemLog);
//更新项使用情况
TzcPolicyItem policyItemParam = new TzcPolicyItem();
policyItemParam.setId(policyItem.getId());
policyItemParam.setUsedAmount(policyItem.getUsedAmount().add(totalAmount));
policyItemServiceService.updateById(policyItemParam);
//TODO DEV 更新项使用情况
// TzcPolicyItem policyItemParam = new TzcPolicyItem();
// policyItemParam.setId(policyItem.getId());
// policyItemParam.setUsedAmount(policyItem.getUsedAmount().add(totalAmount));
// policyItemServiceService.updateById(policyItemParam);
//保存核销申请
VtbVerification verification = new VtbVerification();
@ -916,7 +926,7 @@ public class PortalOfCostApplication {
verificationSubject.setCountSession(0);
verificationSubjectService.save(verificationSubject);
//保存支付信息
//保存支付信息(DHX赠品)
if(costCode.indexOf("DHX")==0) {
//发货单的
String json = ThirtyVerificationUtil.buildJson(supplier, subject, totalAmount, activityTitle, verification);
@ -963,48 +973,48 @@ public class PortalOfCostApplication {
}
log.info("COST_TO_PAY_API 支付单信息:{},结果:{}", verification.getVerificationCode(), rs);
}
//保存支付
if(costCode.indexOf("SHX")==0) {
//发票的要直接支付
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.setCostApplyId(costApply.getId());
payPayment.setUserId(user.getId());
payPayment.setUserCode(user.getCode());
payPayment.setUserName(user.getName());
payPayment.setPayTime(nowTime);
payPayment.setErpCode(erpCode);
payPayment.setBillNumber(billNumber);
payPayment.setCreateBy(user.getName());
payPayment.setCreateTime(LocalDateTime.now());
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.setVerificationCode(verification.getVerificationCode());
paymentItem.setVerificationMainCode(verification.getVerificationCode());
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());
paymentItem.setCreateBy(user.getName());
paymentItem.setCreateTime(LocalDateTime.now());
paymentItem.setPayTime(nowTime);
paymentItemService.save(paymentItem);
}
//保存支付(SHX试吃品)
// if(costCode.indexOf("SHX")==0) {
// //发票的要直接支付
// 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.setCostApplyId(costApply.getId());
// payPayment.setUserId(user.getId());
// payPayment.setUserCode(user.getCode());
// payPayment.setUserName(user.getName());
// payPayment.setPayTime(nowTime);
// payPayment.setErpCode(erpCode);
// payPayment.setBillNumber(billNumber);
// payPayment.setCreateBy(user.getName());
// payPayment.setCreateTime(LocalDateTime.now());
// 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.setVerificationCode(verification.getVerificationCode());
// paymentItem.setVerificationMainCode(verification.getVerificationCode());
// 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());
// paymentItem.setCreateBy(user.getName());
// paymentItem.setCreateTime(LocalDateTime.now());
// paymentItem.setPayTime(nowTime);
//
// paymentItemService.save(paymentItem);
// }
}
@ -1077,23 +1087,23 @@ public class PortalOfCostApplication {
verificationService.save(verification);
//协议类的要直接支付
PayPayment payPayment = new PayPayment();
payPayment.setPayType(PaymentType.PAYMENT);
payPayment.setPayCode("PM" + StringUtils.genShortId());
payPayment.setSupplierId(Long.parseLong(supplier.getId()));
payPayment.setSupplierCode(supplier.getCode());
payPayment.setSupplierName(supplier.getName());
payPayment.setPayAmount(totalAmount);
payPayment.setCostApplyId(costApply.getId());
payPayment.setUserId(user.getId());
payPayment.setUserCode(user.getCode());
payPayment.setUserName(user.getName());
payPayment.setPayTime(nowTime);
payPayment.setErpCode(createBo.getDispatchCode());
payPayment.setBillNumber(createBo.getBillNumber());
payPayment.setCreateBy(user.getName());
payPayment.setCreateTime(LocalDateTime.now());
paymentService.save(payPayment);
// PayPayment payPayment = new PayPayment();
// payPayment.setPayType(PaymentType.PAYMENT);
// payPayment.setPayCode("PM" + StringUtils.genShortId());
// payPayment.setSupplierId(Long.parseLong(supplier.getId()));
// payPayment.setSupplierCode(supplier.getCode());
// payPayment.setSupplierName(supplier.getName());
// payPayment.setPayAmount(totalAmount);
// payPayment.setCostApplyId(costApply.getId());
// payPayment.setUserId(user.getId());
// payPayment.setUserCode(user.getCode());
// payPayment.setUserName(user.getName());
// payPayment.setPayTime(nowTime);
// payPayment.setErpCode(createBo.getDispatchCode());
// payPayment.setBillNumber(createBo.getBillNumber());
// payPayment.setCreateBy(user.getName());
// payPayment.setCreateTime(LocalDateTime.now());
// paymentService.save(payPayment);
//保存核销费用结果
@ -1134,31 +1144,31 @@ public class PortalOfCostApplication {
verificationSubject.setCountPerson(0);
verificationSubject.setCountSession(0);
PayPaymentItem paymentItem = new PayPaymentItem();
paymentItem.setPaymentId(payPayment.getId());
paymentItem.setPayType(PaymentType.PAYMENT);
paymentItem.setSupplierId(Long.parseLong(supplier.getId()));
paymentItem.setItemPayAmount(totalAmount);
paymentItem.setPayTime(nowTime);
paymentItem.setVerificationId(verification.getId());
paymentItem.setVerificationCode(verification.getVerificationCode());
paymentItem.setVerificationMainCode(verification.getVerificationCode());
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());
paymentItem.setCreateBy(user.getName());
paymentItem.setCreateTime(LocalDateTime.now());
// PayPaymentItem paymentItem = new PayPaymentItem();
// paymentItem.setPaymentId(payPayment.getId());
// paymentItem.setPayType(PaymentType.PAYMENT);
// paymentItem.setSupplierId(Long.parseLong(supplier.getId()));
// paymentItem.setItemPayAmount(totalAmount);
// paymentItem.setPayTime(nowTime);
// paymentItem.setVerificationId(verification.getId());
// paymentItem.setVerificationCode(verification.getVerificationCode());
// paymentItem.setVerificationMainCode(verification.getVerificationCode());
// 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());
// paymentItem.setCreateBy(user.getName());
// paymentItem.setCreateTime(LocalDateTime.now());
//保存和更新项
TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setId(subject.getId());
activitySubject.setUsedAmount(totalPay);
activitySubjectService.updateById(subject);
paymentItemService.save(paymentItem);
// paymentItemService.save(paymentItem);
verificationSubjectService.save(verificationSubject);
}
@ -1212,4 +1222,44 @@ public class PortalOfCostApplication {
return goodsSkus;
}
/**
* 修复数据方法修复后可删除
*/
public void repairCaCost(){
LambdaQueryWrapper<SysSyncLog> lqw = new LambdaQueryWrapper<>();
lqw.eq(SysSyncLog::getFromPlat,"一站式费用ByDong");
//只处理成功的
lqw.eq(SysSyncLog::getSuccessStatus,1);
lqw.eq(SysSyncLog::getId,13731L);
List<SysSyncLog> syncLogList = sysSyncLogService.list(lqw);
for (SysSyncLog syncLog : syncLogList) {
ProcessCreatePolicyCostBo applyBo = JsonUtil.jsonToPojo(syncLog.getRequestJson(),ProcessCreatePolicyCostBo.class);
String title = applyBo.getCostTheme();
LambdaQueryWrapper<TbsCostApply> costLqw = new LambdaQueryWrapper<>();
costLqw.eq(TbsCostApply::getChargeTheme,title);
TbsCostApply costApply = costApplyService.getOne(costLqw);
if(costApply!=null){
costApplyService.removeById(costApply.getId());
QueryWrapper costqw = new QueryWrapper();
costqw.eq("cost_apply_id",costApply.getId());
activityService.remove(costqw);
activitySubjectService.remove(costqw);
activityCenterService.remove(costqw);
activityGoodsService.remove(costqw);
activityCenterGoodsService.remove(costqw);
budgetLogService.remove(costqw);
costItemService.remove(costqw);
//policyItemLogService
//policyItemServiceService
verificationService.remove(costqw);
this.createCostProcessByPolicy(applyBo);
break;
}
}
}
}

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

@ -0,0 +1,39 @@
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.Select;
import java.util.List;
/**
* @author YenHex
* @since 2024/1/24
*/
public interface TranOldCostMapper {
@InterceptorIgnore(tenantLine = "true")
@Select("SELECT " +
" old_cost.*, " +
" cus_code as supplierCode, cus_name as supplierName, " +
" usedAmount " +
"FROM " +
" `old_main_cost` old_cost " +
" LEFT JOIN ( " +
" SELECT " +
" cost_code, " +
" cus_code, cus_name, " +
" sum( check_amt ) AS usedAmount " +
" FROM " +
" ( SELECT * FROM old_main_verify UNION SELECT * FROM old_main_verify2 UNION SELECT * FROM old_main_verify3 ) tmp " +
" GROUP BY " +
" cost_code " +
" ) tmp2 on tmp2.cost_code = old_cost.cost_code ")
List<OldCost> listCost();
@InterceptorIgnore(tenantLine = "true")
@Select("SELECT * FROM old_main_verify UNION SELECT * FROM old_main_verify2 UNION SELECT * FROM old_main_verify3")
List<OldVerify> listVerifyList();
}

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

@ -0,0 +1,434 @@
package com.qs.serve.modules.tran.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectApisProperties;
import com.qs.serve.common.model.consts.ResultFlag;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.StringUtils;
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.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.pay.service.PayPaymentItemService;
import com.qs.serve.modules.pay.service.PayPaymentService;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserCodeMathMapper;
import com.qs.serve.modules.sys.service.SysSyncLogService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper;
import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper;
import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.tran.domain.OldCost;
import com.qs.serve.modules.tran.domain.OldVerify;
import com.qs.serve.modules.tran.mapper.TranOldCostMapper;
import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemLogService;
import com.qs.serve.modules.tzc.service.TzcPolicyItemService;
import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.entity.VtbVerificationSubject;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import com.qs.serve.modules.vtb.service.VtbVerificationSubjectService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author YenHex
* @since 2024/1/24
*/
@Slf4j
@Service
@AllArgsConstructor
public class TranOldCostService {
private TranOldCostMapper tranOldCostMapper;
private SysUserCodeMathMapper userCodeMathMapper;
private final SysSyncLogService sysSyncLogService;
private TbsActivityService activityService;
private TbsActivityCenterService activityCenterService;
private TbsActivitySubjectService activitySubjectService;
private TbsActivityGoodsService activityGoodsService;
private TbsActivityCenterGoodsService activityCenterGoodsService;
private BmsSupplierService supplierService;
private BmsSubjectService subjectService;
private BmsCostCenterService costCenterService;
private BmsRegionService saleRegionService;
private SysUserService userService;
private TbsCostApplyService costApplyService;
private TbsCostUnItemService costUnItemService;
private TbsBudgetCostItemService costItemService;
private TbsBudgetLogService budgetLogService;
private TbsBudgetApplicationService budgetApplicationService;
private TbsScheduleItemBudgetMapper scheduleItemBudgetMapper;
private TbsBudgetMapper tbsBudgetMapper;
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService;
private GoodsCategoryService goodsCategoryService;
private PayPaymentService paymentService;
private PayPaymentItemService paymentItemService;
private VtbVerificationService verificationService;
private VtbVerificationSubjectService verificationSubjectService;
private TzcPolicyItemService policyItemServiceService;
private TzcPolicyItemLogService policyItemLogService;
private TzcPolicyGoodsSyncService tzcPolicyGoodsSyncService;
private final XiaoLuTonService xiaoLuTonService;
private ProjectApisProperties projectApisProperties;
public void syncOldCost(){
Long scheduleItemBudgetId = 4896L;
String centerType = "center";
String centerId = "71";
String centerName = "BI历史记录";
String centerCode = "HIS2022";
BmsSubject subject = new BmsSubject();
subject.setId(79L);
subject.setSubjectName("原BI科目");
subject.setSubjectCode("10001");
TbsScheduleItemBudget itemBudget = scheduleItemBudgetMapper.selectById(scheduleItemBudgetId);
final BigDecimal OneHundred = new BigDecimal("100");
List<OldCost> costList = tranOldCostMapper.listCost();
for (OldCost oldCost : costList) {
String costCode = oldCost.getCostCode();
LambdaQueryWrapper<TbsCostApply> costLqwCount = new LambdaQueryWrapper<>();
costLqwCount.eq(TbsCostApply::getCode,costCode);
if(costApplyService.count(costLqwCount)>0){
log.warn("已存:{}",costCode);
continue;
}
BmsSupplier supplier = supplierService.getByNameOrCode(oldCost.getSupplierCode());
if(supplier==null){
supplier = new BmsSupplier();
supplier.setId("0");
if(oldCost.getSupplierCode()==null){
supplier.setCode("未指定客户");
supplier.setName("未指定客户");
}else {
supplier.setCode(oldCost.getSupplierCode());
supplier.setName(oldCost.getSupplierName());
}
}
Long supplierId = Long.parseLong(supplier.getId());
SysUser user = new SysUser();
if(oldCost.getCheckUser()!=null&&oldCost.getCheckUser().contains(" - ")){
String[] users = oldCost.getCheckUser().split(" - ");
user.setId("0");
user.setCode(users[0]);
user.setName(users[1]);
}else {
user.setId("0");
user.setCode("系统导入");
user.setName("系统导入");
}
BigDecimal usedAmt = oldCost.getUsedAmount();
BigDecimal totalAmount = oldCost.getCostPrice();
//构建费用申请
TbsCostApply costApply = new TbsCostApply();
costApply.setCode(oldCost.getCostCode());
costApply.setMatchType(-1);
String chargeTheme = StringUtils.tailorLen(oldCost.getCostTitle(),590);
costApply.setChargeTheme(chargeTheme);
costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode());
costApply.setSupplierId(Long.parseLong(supplier.getId()));
costApply.setSupplierName(supplier.getName());
costApply.setSupplierCode(supplier.getCode());
costApply.setUserId(user.getId());
costApply.setUserCode(user.getCode());
costApply.setUserName(user.getName());
costApply.setTotalActivity(1);
costApply.setTotalActivityAmount(totalAmount);
costApply.setTotalActivityUsedAmount(usedAmt);
costApply.setSubmitTime(oldCost.getCreateTime());
costApply.setCreateTime(oldCost.getCreateTime());
costApply.setRemark(StringUtils.tailorLen(oldCost.getRemark(),590));
//构建活动
TbsActivity activity = new TbsActivity();
activity.setActivityCode(oldCost.getCostCode());
activity.setActivityState(TbsActivityState.STATE_1_Finished);
activity.setCostPassFlag(1);
activity.setCostPassTime(oldCost.getCheckTime());
activity.setActTitle(chargeTheme);
activity.setSupplierId(supplierId);
activity.setSupplierName(supplier.getName());
activity.setSupplierCode(supplier.getCode());
activity.setActStartDate(oldCost.getStartDate());
activity.setActEndDate(oldCost.getEndDate());
activity.setPreStartDate(oldCost.getStartDate());
activity.setPreEndDate(oldCost.getEndDate());
activity.setPreCheckDate(oldCost.getEndDate());
activity.setPreActQuantity(oldCost.getCostPrePrice());
activity.setTotalAmount(totalAmount);
activity.setUsedAmount(usedAmt);
activity.setFinishedFlag(ResultFlag.OK);
activity.setFinishedTime(oldCost.getCreateTime());
//活动-科目
TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setSubjectId(subject.getId());
activitySubject.setSubjectCode(subject.getSubjectCode());
activitySubject.setSubjectName(subject.getSubjectName());
activitySubject.setAmount(totalAmount);
activitySubject.setUsedAmount(usedAmt);
activitySubject.setCountSession(0);
activitySubject.setCountPerson(0);
//活动-成本中心
TbsActivityCenter activityCenter = new TbsActivityCenter();
activityCenter.setSubjectId(subject.getId());
activityCenter.setCenterAmount(totalAmount);
activityCenter.setCenterRate(OneHundred);
activityCenter.setCenterType(centerType);
activityCenter.setCenterId(centerId);
activityCenter.setCenterName(centerName);
activityCenter.setCenterCode(centerCode);
activityCenter.setUsedAmount(totalAmount);
//品类
TbsActivityGoods activityGoods = new TbsActivityGoods();
activityGoods.setTargetType("brand");
activityGoods.setTargetId(102L);
activityGoods.setTargetCode("B101");
activityGoods.setTargetName("原BI品牌");
activityGoods.setTargetLevelPathIds("102");
activityGoods.setTargetLevelPathNames("原BI品牌");
TbsActivityCenterGoods centerGoods = new TbsActivityCenterGoods();
centerGoods.setActivityCode(activity.getActivityCode());
centerGoods.setCenterGoodsCode(activity.getActivityCode());
centerGoods.setSupplierId(supplierId);
centerGoods.setSupplierCode(supplier.getCode());
centerGoods.setSupplierName(supplier.getName());
//设置成本中心
centerGoods.setCenterType(centerType);
centerGoods.setCenterId(centerId);
centerGoods.setCenterName(centerName);
centerGoods.setCenterCode(centerCode);
centerGoods.setCenterRate(OneHundred);
centerGoods.setCenterAmount(totalAmount);
//设置科目
centerGoods.setSubjectId(subject.getId());
centerGoods.setSubjectCode(subject.getSubjectCode());
centerGoods.setSubjectName(subject.getSubjectName());
//设置活动时间
centerGoods.setActEndDate(oldCost.getEndDate());
centerGoods.setActStartDate(oldCost.getStartDate());
centerGoods.setPreEndDate(oldCost.getEndDate());
centerGoods.setPreStartDate(oldCost.getStartDate());
centerGoods.setPreCheckDate(oldCost.getEndDate());
//设置目标
centerGoods.setTargetId(activityGoods.getTargetId());
centerGoods.setTargetType(activityGoods.getTargetType());
centerGoods.setTargetCode(activityGoods.getTargetCode());
centerGoods.setTargetName(activityGoods.getTargetName());
centerGoods.setTargetLevelPathIds(activityGoods.getTargetLevelPathIds());
centerGoods.setTargetLevelPathNames(activityGoods.getTargetLevelPathNames());
// 分配金额
centerGoods.setCenterGoodsAmount(totalAmount);
centerGoods.setCenterGoodsRate(OneHundred);
centerGoods.setUsedAmount(usedAmt);
//保存活动有关数据
costApplyService.save(costApply);
activity.setCostApplyId(costApply.getId());
activityService.save(activity);
activitySubject.setCostApplyId(costApply.getId());
activitySubject.setActivityId(activity.getId());
activitySubjectService.save(activitySubject);
activityCenter.setCostApplyId(costApply.getId());
activityCenter.setActivityId(activity.getId());
activityCenterService.save(activityCenter);
activityGoods.setCostApplyId(costApply.getId());
activityGoods.setActivityId(activity.getId());
activityGoodsService.save(activityGoods);
centerGoods.setCostApplyId(costApply.getId());
centerGoods.setActivityId(activity.getId());
activityCenterGoodsService.save(centerGoods);
//匹配的商品,生成预算日志
TbsBudgetCostItem costItem = new TbsBudgetCostItem();
costItem.setCenterGoodsCode(centerGoods.getCenterGoodsCode());
costItem.setCostApplyId(centerGoods.getCostApplyId());
costItem.setActivityId(centerGoods.getActivityId());
costItem.setActivityCode(centerGoods.getActivityCode());
costItem.setSupplierId(centerGoods.getSupplierId());
costItem.setSupplierCode(centerGoods.getSupplierCode());
costItem.setSupplierName(centerGoods.getSupplierName());
costItem.setSubjectId(centerGoods.getSubjectId());
costItem.setSubjectCode(centerGoods.getSubjectCode());
costItem.setSubjectName(centerGoods.getSubjectName());
costItem.setCenterType(centerGoods.getCenterType());
costItem.setCenterId(centerGoods.getCenterId());
costItem.setCenterCode(centerGoods.getCenterCode());
costItem.setCenterName(centerGoods.getCenterName());
costItem.setCenterAmount(centerGoods.getCenterAmount());
costItem.setCenterRate(centerGoods.getCenterRate());
costItem.setCenterGoodsAmount(centerGoods.getCenterGoodsAmount());
costItem.setCenterGoodsRate(centerGoods.getCenterGoodsRate());
costItem.setTargetType(centerGoods.getTargetType());
costItem.setTargetId(centerGoods.getTargetId());
costItem.setTargetCode(centerGoods.getTargetCode());
costItem.setTargetName(centerGoods.getTargetName());
costItem.setTargetLevelPathIds(centerGoods.getTargetLevelPathIds());
costItem.setTargetLevelPathNames(centerGoods.getTargetLevelPathNames());
costItem.setActStartDate(centerGoods.getActStartDate());
costItem.setActEndDate(centerGoods.getActEndDate());
costItem.setPreStartDate(centerGoods.getPreStartDate());
costItem.setPreEndDate(centerGoods.getPreEndDate());
costItem.setPreCheckDate(centerGoods.getPreCheckDate());
costItem.setCenterGoodItemId(centerGoods.getId());
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_1,user, costApply, itemBudget, centerGoods,centerGoods.getCenterGoodsAmount(),activity);
costItem.setBudgetId(itemBudget.getBudgetId());
costItem.setScheduleId(itemBudget.getScheduleId());
costItem.setScheduleItemId(itemBudget.getScheduleItemId());
costItem.setScheduleItemName(itemBudget.getItemName());
costItem.setScheduleItemAmount(itemBudget.getFinalBudgetAmount());
costItem.setScheduleItemAmountUsed(itemBudget.getUsedBudgetAmount());
costItem.setScheduleItemAmountApply(itemBudget.getUnUsedBudgetAmount());
costItem.setScheduleItemBudgetId(itemBudget.getId());
budgetLogService.save(budgetLog);
}
}
public void syncVerify(){
BmsSubject subject = new BmsSubject();
subject.setId(79L);
subject.setSubjectName("原BI科目");
subject.setSubjectCode("10001");
List<OldVerify> oldVerifyList = tranOldCostMapper.listVerifyList();
for (OldVerify oldVerify : oldVerifyList) {
TbsCostApply costApply = costApplyService.getByCode(oldVerify.getCostCode());
//if(oldVerify.getCode())
long count = verificationService.count(new LambdaQueryWrapper<VtbVerification>()
.eq(VtbVerification::getVerificationCode,oldVerify.getCostCode()));
if(count>0L){
log.warn("已存");
continue;
}
if(costApply==null){
log.warn("费用缺失");
continue;
}
TbsActivity activity = activityService.listByCostApplyId(costApply.getId()).get(0);
String verifyCode = oldVerify.getCode();
BigDecimal totalAmount = oldVerify.getCheckAmt();
LocalDateTime nowTime = oldVerify.getSubmitDate();
SysUser user = new SysUser();
if(oldVerify.getCheckUser()!=null&&oldVerify.getCheckUser().contains(" - ")){
String[] users = oldVerify.getCheckUser().split(" - ");
user.setId("0");
user.setCode(users[0]);
user.setName(users[1]);
}else {
user.setId("0");
user.setCode("系统导入");
user.setName("系统导入");
}
//保存核销申请
VtbVerification verification = new VtbVerification();
verification.setVerificationCode(verifyCode);
verification.setVerificationMainCode(verification.getVerificationCode());
verification.setCostApplyId(costApply.getId());
verification.setFinishedTime(nowTime);
verification.setVerificationState(VtbVerificationState.Finished.getCode());
verification.setActivityId(activity.getId());
verification.setSupplierId(activity.getSupplierId());
verification.setSupplierCode(activity.getSupplierCode());
verification.setSupplierName(activity.getSupplierName());
verification.setUserId(user.getId());
verification.setUserCode(user.getCode());
verification.setUserName(user.getName());
verification.setAmount(totalAmount);
verification.setAmountRecord(totalAmount);
verification.setPaymentState(ResultFlag.OK);
String remark = StringUtils.tailorLen("["+oldVerify.getSubjectName()+"]"+oldVerify.getTitle()+"备注:"+oldVerify.getRemark(),580);
verification.setRemark(remark);
verificationService.save(verification);
//保存核销费用结果
VtbVerificationSubject verificationSubject = new VtbVerificationSubject();
verificationSubject.setVerificationId(verification.getId());
verificationSubject.setVerificationSubCode(verification.getVerificationCode()+"_1");
verificationSubject.setCostApplyId(costApply.getId());
verificationSubject.setActivityId(activity.getId());
verificationSubject.setSubjectId(costApply.getId());
verificationSubject.setSubjectCode(subject.getSubjectCode());
verificationSubject.setSubjectName(subject.getSubjectName());
verificationSubject.setSupplierId(costApply.getSupplierId());
verificationSubject.setSupplierCode(costApply.getSupplierCode());
verificationSubject.setSupplierName(costApply.getSupplierName());
verificationSubject.setPayFinishedFlag(ResultFlag.OK);
verificationSubject.setUsedAmount(totalAmount);
verificationSubject.setUsedAmountRecord(totalAmount);
verificationSubject.setCountPerson(0);
verificationSubject.setCountSession(0);
verificationSubjectService.save(verificationSubject);
}
}
}

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

@ -478,6 +478,17 @@ public class TzcPolicyController {
}
/**
* 释放政策
* @param policyId
* @return
*/
@GetMapping("/releasePolicy")
public R<?> releasePolicy(Long policyId){
policyApplicationService.releasePolicy(policyId);
return R.ok();
}
private List<String> getCateIds(String province,String city,String area){
LambdaQueryWrapper<BmsRegion2> region2Lqw = new LambdaQueryWrapper<>();
boolean search = false;

2
src/main/java/com/qs/serve/modules/tzc/service/TzcPolicyApplicationService.java

@ -21,6 +21,8 @@ public interface TzcPolicyApplicationService {
void syncPolicy(Long policyId);
void releasePolicy(Long policyId);
/**
* 创建费用占用结果
* @param policyId

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

@ -112,6 +112,12 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
}
}
@Override
public void releasePolicy(Long policyId) {
}
@Override
public void syncPolicyItem(Long policyItemId) {
TzcPolicyItem policyItem = tzcPolicyItemService.getById(policyItemId);

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

@ -91,5 +91,7 @@ public interface VtbVerificationService extends IService<VtbVerification> {
*/
void toPayRequest();
void toPayRequest(Long verificationId);
}

28
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -1290,6 +1290,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
syncLog.setTodoState(1);
sysSyncLogService.save(syncLog);
}
}
@ -1451,5 +1452,32 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
}
}
@Override
public void toPayRequest(Long verificationId) {
List<VtbVerificationSubject> verificationSubjects = verificationSubjectService.listByVerificationId(verificationId);
VtbVerification verification = this.getById(verificationId);
TbsActivity activity = activityService.getById(verification.getActivityId());
//调用支付接口
BmsSubject subject = new BmsSubject();
BmsSupplier supplier = new BmsSupplier();
supplier.setCode(activity.getSupplierCode());
supplier.setName(activity.getSupplierName());
for (VtbVerificationSubject verificationSubject : verificationSubjects) {
subject.setSubjectCode(verificationSubject.getSubjectCode());
subject.setSubjectName(verificationSubject.getSubjectName());
String COST_TO_PAY_API = projectApisProperties.getCostToPay();
String json = ThirtyVerificationUtil.buildJson(supplier, subject, verification.getAmount()
, activity.getActTitle(),activity.getActStartDate().atStartOfDay(),activity.getActEndDate().atTime(23,59,59), verification);
SysSyncLog syncLog = ThirtyVerificationUtil.requestToPayment("to支付请求",verification.getVerificationCode(), COST_TO_PAY_API, json);
syncLog.setTodoState(1);
sysSyncLogService.save(syncLog);
}
}
}

Loading…
Cancel
Save