Commit 92bb4f0f authored by hongguangwu's avatar hongguangwu

1.7.20-非扣税银企

parent 11da3335
......@@ -112,18 +112,33 @@ public class IcbcTransactionFlowIssueController {
/**
* @param fdId 主键ID
* @param type 类型 1:主表附件;2:明细表附件
* @Description: 发放
* @Description: 发放工资银企付款
* @Author: hgw
* @Date: 2024-11-22 11:32:21
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta>
**/
@Operation(summary = "发放银企付款--EKP调用接口", description = "发放银企付款--EKP调用接口")
@SysLog("发放银企付款--EKP调用接口")
@Operation(summary = "发放工资银企付款--EKP调用接口", description = "发放工资银企付款--EKP调用接口")
@SysLog("发放工资银企付款--EKP调用接口")
@GetMapping("/submitBankTask")
public R<String> submitBankTask(@RequestParam String fdId, @RequestParam String type, @RequestParam String submitUser) {
return icbcTransactionFlowIssueService.submitBankTask(fdId, type, submitUser);
}
/**
* @param fdId 主键ID
* @param type 类型 1:主表附件;2:明细表附件
* @Description: 发放非扣税银企付款
* @Author: hgw
* @Date: 2026-02-14 11:32:21
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta>
**/
@Operation(summary = "发放非扣税银企付款--EKP调用接口", description = "发放非扣税银企付款--EKP调用接口")
@SysLog("发放非扣税银企付款--EKP调用接口")
@GetMapping("/submitNoTaxTask")
public R<String> submitNoTaxTask(@RequestParam String fdId, @RequestParam String type, @RequestParam String submitUser) {
return icbcTransactionFlowIssueService.submitNoTaxTask(fdId, type, submitUser);
}
@Operation(description = "下载文件测试")
@PostMapping("/exportAll")
@SysLog("下载文件测试")
......
......@@ -58,13 +58,23 @@ public interface IcbcTransactionFlowIssueService extends IService<EkpSocialInfo>
/**
* @param fdId 主键ID
* @param type 类型 1:主表附件;2:明细表附件
* @Description: 发放银企付款
* @Description: 发放工资银企付款
* @Author: hgw
* @Date: 2024/11/22 11:32
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> submitBankTask(String fdId, String type, String submitUser);
/**
* @param fdId 主键ID
* @param type 类型 1:主表附件;2:明细表附件
* @Description: 发放非扣税银企付款
* @Author: hgw
* @Date: 2024/11/22 11:32
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> submitNoTaxTask(String fdId, String type, String submitUser);
// 验证下载文件的正确性
void exportAll(HttpServletResponse response);
......
......@@ -709,7 +709,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
/**
* @param fdId 主键
* @param type 类型 1:主表;2明细表
* @Description: 发放银企付款
* @Description: 发放工资银企付款
* @Author: hgw
* @Date: 2024/11/22 14:13
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
......@@ -809,7 +809,109 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
}
}
} catch (Exception e) {
log.error("银企付款发放发放异常", e);
log.error("工资银企付款发放发放异常", e);
} finally {
redisUtil.remove(redisKey);
}
} else {
return R.failed("传参错误!");
}
return R.failed("传参错误!!");
}
/**
* @param fdId 主键
* @param type 类型 1:主表;2明细表
* @Description: 发放非扣税银企付款
* @Author: hgw
* @Date: 2026/02/14 14:13
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
@Transactional
public R<String> submitNoTaxTask(String fdId, String type, String submitUser) {
if (Common.isNotNull(fdId) && Common.isNotNull(type)) {
String redisKey = "SUBMIT_NO_TAX_BANK_"+fdId;
if (Common.isNotNull(redisUtil.get(redisKey))) {
return R.failed("数据锁定中,请耐心等待!");
} else {
redisUtil.set(redisKey, 600L);
}
try {
// 1主表
if (CommonConstants.ONE_STRING.equals(type)) {
EkpBankPayTask main = ekpBankPayTaskService.getById(fdId);
if (main == null) {
redisUtil.remove(redisKey);
return R.failed("未找到表数据!");
}
if (!"待发放".equals(main.getFdGrantStatus())) {
redisUtil.remove(redisKey);
return R.failed("状态不是待发放!");
}
if (Common.isEmpty(main.getFdMoney())) {
redisUtil.remove(redisKey);
return R.failed("数据错误,无金额!");
}
int count = ekpBankGrantDetailService.getCountByIdAndMain(fdId);
String totalAmt = String.valueOf(BigDecimalUtils.safeMultiply(main.getFdMoney(), new BigDecimal("100"), 0));
String totalCount = String.valueOf(count);
String wxNo = main.getFdWxNo();
String url = main.getFdAttaName();
String mdCode = main.getFdMdCode();
// TODO -真正的发放接口需要改造
R<String> returnR = submitIcbcTransactionFlow(totalAmt, totalCount, wxNo, url, mdCode);
if (returnR.getCode() == CommonConstants.SUCCESS) {
// 存储日志
saveIcbcLogBaseInfoBySumbit(returnR.getData(), wxNo + "_main", fdId);
// 发放次数+1,改主表或明细表“发放状态”为“发放中”
main.setFdGrantStatus("发放中");
main.setFdGrantNum(main.getFdGrantNum() + 1);
main.setFdSubmitCashier(submitUser);
ekpBankPayTaskService.updateById(main);
// 同步更新明细的发放时间、发放状态
ekpBankGrantDetailService.updateStatusByGrant(fdId);
// 更新 工资支出 的 银企出纳名字
ekpBankGrantDetailService.updateGongZiZhiChuTable(fdId, submitUser);
ekpBankGrantDetailService.updateGongZiZhiChuMain(fdId, submitUser);
}
redisUtil.remove(redisKey);
return returnR;
} else {
// 2明细表
EkpBankGrantDetail detail = ekpBankGrantDetailService.getById(fdId);
if (detail == null) {
redisUtil.remove(redisKey);
return R.failed("未找到明细表数据!");
}
if (!"待发放".equals(detail.getFdHandleStatus())) {
redisUtil.remove(redisKey);
return R.failed("状态不是待发放!");
}
if (Common.isEmpty(detail.getFdMoney())) {
redisUtil.remove(redisKey);
return R.failed("数据错误,无金额!");
}
String totalAmt = String.valueOf(BigDecimalUtils.safeMultiply(detail.getFdMoney(), new BigDecimal("100"), 0));
String totalCount = "1";
String wxNo = detail.getFdWxNo();
String url = detail.getFdAttaName();
String mdCode = detail.getFdMdCode();
R<String> returnR = submitIcbcTransactionFlow(totalAmt, totalCount, wxNo, url, mdCode);
if (returnR.getCode() == CommonConstants.SUCCESS) {
// 存储日志
saveIcbcLogBaseInfoBySumbit(returnR.getData(), wxNo, fdId);
// 发放次数+1,改主表或明细表“发放状态”为“发放中”
detail.setFdHandleStatus("发放中");
detail.setFdCreateTime(LocalDateTime.now());
detail.setFdGrantNum(detail.getFdGrantNum() + 1);
ekpBankGrantDetailService.updateById(detail);
}
redisUtil.remove(redisKey);
return returnR;
}
} catch (Exception e) {
log.error("非扣税银企付款发放发放异常", e);
} finally {
redisUtil.remove(redisKey);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment