diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index a79f2ef1..6449a060 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -16,6 +16,7 @@ import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount; +import com.qs.serve.modules.tbs.entity.dto.TbsScheduleItemBudgetAmount; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; @@ -435,5 +436,18 @@ public class TbsBudgetController { tbsBudgetService.updateBudgetAfterStart(param); return R.ok(); } + + @GetMapping("/syncNotExitLog") + public R syncNotExitLog(){ + List items = tbsScheduleItemBudgetMapper.listNotCreateLogBudget(); + for (TbsScheduleItemBudget item : items) { + TbsBudget budget = tbsBudgetService.getById(item.getBudgetId()); + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(new SysUser(),budget,item,BudgetLogOptFlag.State_0,item.getBudgetAmount()); + budgetLog.setRemark("sync"); + tbsBudgetLogService.save(budgetLog); + } + return R.ok(); + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java index 3b30d098..7a4c0e49 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java @@ -37,5 +37,6 @@ public interface TbsBudgetLogMapper extends BaseMapper { @Update("update tbs_budget_log set del_flag = #{delState} WHERE cost_apply_id = #{costApplyId}") void updateLogDelFlagByCostApply(@Param("costApplyId")Long costApplyId,@Param("delState")Integer delState); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java index 41155d0e..0b01c661 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogPreAmount; @@ -152,5 +153,14 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper getAllByScheduleItemIdList(@Param("selectIds") List ids); + + @InterceptorIgnore(tenantLine = "true") + @Select(" SELECT tsib.* FROM `tbs_schedule_item_budget` tsib " + + " LEFT JOIN tbs_budget ON tsib.budget_id = tbs_budget.id " + + " LEFT JOIN tbs_budget_log ON (tsib.budget_id = tbs_budget_log.budget_id " + + " and tsib.schedule_item_id = tbs_budget_log.schedule_item_id and tbs_budget_log.opt_type = 0) " + + " where tbs_budget.del_flag = 0 and tbs_budget.budget_state = 1 and tbs_budget_log.id is null and budget_amount > 0") + List listNotCreateLogBudget(); + } diff --git a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java index 5531faea..4755cdc3 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java @@ -11,6 +11,7 @@ import com.qs.serve.modules.third.consts.ThirtyConst; import com.qs.serve.modules.third.entity.ProcessCreateContractCheckBo; import com.qs.serve.modules.third.entity.ProcessCreateCostApplyBo; import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; +import com.qs.serve.modules.third.entity.ProcessReleaseContractBo; import com.qs.serve.modules.third.service.PortalOfCostApplication; import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService; import lombok.AllArgsConstructor; @@ -69,7 +70,7 @@ public class PortalOfCostController { /** - * 协议类费用 核销支付记录;添加释放接口,释放合同不再支付的金额; + * 协议类费用 核销支付记录 * @param createBo * @return */ @@ -96,7 +97,33 @@ public class PortalOfCostController { return R.error("支付异常"); } - + /** + * 协议类费用 释放接口,释放合同不再支付的金额; + * @param contractBo + * @return + */ + @PostMapping("releaseContractCost") + public R releaseContractCost(@Valid @RequestBody ProcessReleaseContractBo contractBo, HttpServletRequest request){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setFromPlat("协议类释放"); + syncLog.setUrl(request.getRequestURI()); + syncLog.setRequestJson(JsonUtil.objectToJson(contractBo)); + syncLog.setEntityClass(ProcessCreateCostApplyBo.class.getName()); + try { + ThirdTokenUtil.checkToken(request); + portalOfCostApplication.releaseContractCost(contractBo); + syncLog.setSuccessStatus(1); + } catch (Exception e) { + log.error("协议类核销支付(费用申请)===>{}", JsonUtil.objectToJson(contractBo)); + syncLog.setFailReason(e.getMessage()); + return R.error(e.getMessage()); + } + sysSyncLogService.save(syncLog); + if(syncLog.getSuccessStatus()!=null&&syncLog.getSuccessStatus().equals(1)){ + return R.ok(); + } + return R.error("支付异常"); + } /** * 一站式创建费用(政策) diff --git a/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java b/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java new file mode 100644 index 00000000..8490b159 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java @@ -0,0 +1,20 @@ +package com.qs.serve.modules.third.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author YenHex + * @since 2023/11/13 + */ +@Data +public class ProcessReleaseContractBo { + + /** 费用编码 */ + private String costCode; + + /** 核销与支付备注 */ + private String remark; + +} 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 92f5022a..796dbebd 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 @@ -940,6 +940,10 @@ public class PortalOfCostApplication { } + /** + * 协议类费用 核销支付记录 + * @param createBo + */ @Transactional(rollbackFor = Exception.class) public void createByContractCheck(ProcessCreateContractCheckBo createBo){ TbsCostApply costApply = costApplyService.getByCode(createBo.getCostCode()); @@ -1055,10 +1059,13 @@ public class PortalOfCostApplication { verificationSubjectService.save(verificationSubject); } + } - - - + /** + * 协议类费用 释放接口,释放合同不再支付的金额; + * @param contractBo + */ + public void releaseContractCost(ProcessReleaseContractBo contractBo){ }