fix(bpm): 修复财务支付部门ID为null的问题
流程管理中,财务支付部门ID此前未正确填充,导致部门信息缺失。此修复引入了获取用户信息的新调用, 以确保在创建财务支付记录时,用户的部门ID正确分配。
This commit is contained in:
parent
94a0a48cbc
commit
e31a2fcff5
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
||||||
@ -20,11 +21,13 @@ import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOACashMapper;
|
|||||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||||
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
||||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import cn.iocoder.yudao.module.system.api.bank.BankApi;
|
import cn.iocoder.yudao.module.system.api.bank.BankApi;
|
||||||
import cn.iocoder.yudao.module.system.api.bank.dto.BankRespDTO;
|
import cn.iocoder.yudao.module.system.api.bank.dto.BankRespDTO;
|
||||||
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
||||||
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.flowable.engine.runtime.ProcessInstance;
|
import org.flowable.engine.runtime.ProcessInstance;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -80,6 +83,10 @@ public class BpmOACashServiceImpl extends BpmOABaseService implements BpmOACashS
|
|||||||
@Resource
|
@Resource
|
||||||
private BankApi bankApi;
|
private BankApi bankApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi userApi;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createCash(Long userId, BpmOACashCreateReqVO createReqVO) {
|
public Long createCash(Long userId, BpmOACashCreateReqVO createReqVO) {
|
||||||
|
|
||||||
@ -166,9 +173,11 @@ public class BpmOACashServiceImpl extends BpmOABaseService implements BpmOACashS
|
|||||||
}
|
}
|
||||||
|
|
||||||
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
||||||
|
CommonResult<AdminUserRespDTO> user = userApi.getUser(cash.getUserId());
|
||||||
// -- 插入到财务支付表中
|
// -- 插入到财务支付表中
|
||||||
financialPaymentService.save(new FinancialPaymentDO()
|
financialPaymentService.save(new FinancialPaymentDO()
|
||||||
.setUserId(cash.getUserId())
|
.setUserId(cash.getUserId())
|
||||||
|
.setDeptId(user.getData() == null ? null : user.getData().getDeptId())
|
||||||
.setProcessInstanceId(cash.getProcessInstanceId())
|
.setProcessInstanceId(cash.getProcessInstanceId())
|
||||||
.setProcessInstanceName(processInstance.getName())
|
.setProcessInstanceName(processInstance.getName())
|
||||||
.setReason(reason)
|
.setReason(reason)
|
||||||
@ -248,7 +257,7 @@ public class BpmOACashServiceImpl extends BpmOABaseService implements BpmOACashS
|
|||||||
List<BpmOACashItemDO> cashItemDOs = getCashItem(cash.getId());
|
List<BpmOACashItemDO> cashItemDOs = getCashItem(cash.getId());
|
||||||
|
|
||||||
//获取部门信息map
|
//获取部门信息map
|
||||||
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(cashItemDOs, BpmOACashItemDO::getDeptId));
|
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(cashItemDOs, BpmOACashItemDO::getDeptId));
|
||||||
|
|
||||||
// 获取银行卡信息
|
// 获取银行卡信息
|
||||||
BankRespDTO bankRespDTO = null;
|
BankRespDTO bankRespDTO = null;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.bpm.service.oa;
|
package cn.iocoder.yudao.module.bpm.service.oa;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
||||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.imprest.BpmOAImprestCreateReqVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.imprest.BpmOAImprestCreateReqVO;
|
||||||
@ -13,6 +14,8 @@ import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAImprestMapper;
|
|||||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||||
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
||||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.flowable.engine.runtime.ProcessInstance;
|
import org.flowable.engine.runtime.ProcessInstance;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
@ -54,6 +57,8 @@ public class BpmOAImprestServiceImpl extends BpmOABaseService implements BpmOAIm
|
|||||||
private BpmProcessInstanceService bpmProcessInstanceService;
|
private BpmProcessInstanceService bpmProcessInstanceService;
|
||||||
@Resource
|
@Resource
|
||||||
private FinancialPaymentService financialPaymentService;
|
private FinancialPaymentService financialPaymentService;
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi userApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createImprest(Long userId, BpmOAImprestCreateReqVO createReqVO) {
|
public Long createImprest(Long userId, BpmOAImprestCreateReqVO createReqVO) {
|
||||||
@ -96,10 +101,11 @@ public class BpmOAImprestServiceImpl extends BpmOABaseService implements BpmOAIm
|
|||||||
//判断是否有采购报销
|
//判断是否有采购报销
|
||||||
BpmOAImprestDO cash = getImprest(id);
|
BpmOAImprestDO cash = getImprest(id);
|
||||||
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
||||||
|
CommonResult<AdminUserRespDTO> user = userApi.getUser(cash.getUserId());
|
||||||
// -- 插入到财务支付表中
|
// -- 插入到财务支付表中
|
||||||
financialPaymentService.save(new FinancialPaymentDO()
|
financialPaymentService.save(new FinancialPaymentDO()
|
||||||
.setUserId(cash.getUserId())
|
.setUserId(cash.getUserId())
|
||||||
|
.setDeptId(user.getData() == null ? null : user.getData().getDeptId())
|
||||||
.setProcessInstanceId(cash.getProcessInstanceId())
|
.setProcessInstanceId(cash.getProcessInstanceId())
|
||||||
.setReason(cash.getReason())
|
.setReason(cash.getReason())
|
||||||
.setObjectId(id)
|
.setObjectId(id)
|
||||||
|
@ -29,6 +29,7 @@ import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
|
|||||||
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
|
||||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.flowable.engine.runtime.ProcessInstance;
|
import org.flowable.engine.runtime.ProcessInstance;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
@ -73,6 +74,8 @@ public class BpmOAProcurePayServiceImpl extends BpmOABaseService implements BpmO
|
|||||||
private BpmProcessInstanceService bpmProcessInstanceService;
|
private BpmProcessInstanceService bpmProcessInstanceService;
|
||||||
@Resource
|
@Resource
|
||||||
private FinancialPaymentService financialPaymentService;
|
private FinancialPaymentService financialPaymentService;
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi userApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OA 采购支付对应的流程定义 KEY
|
* OA 采购支付对应的流程定义 KEY
|
||||||
@ -176,9 +179,11 @@ public class BpmOAProcurePayServiceImpl extends BpmOABaseService implements BpmO
|
|||||||
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
||||||
//判断是否有采购报销
|
//判断是否有采购报销
|
||||||
BpmOAProcurePayDO cash = getOAProcurePay(id);
|
BpmOAProcurePayDO cash = getOAProcurePay(id);
|
||||||
|
CommonResult<AdminUserRespDTO> user = userApi.getUser(cash.getUserId());
|
||||||
// -- 插入到财务支付表中
|
// -- 插入到财务支付表中
|
||||||
financialPaymentService.save(new FinancialPaymentDO()
|
financialPaymentService.save(new FinancialPaymentDO()
|
||||||
.setUserId(cash.getUserId())
|
.setUserId(cash.getUserId())
|
||||||
|
.setDeptId(user.getData() == null ? null : user.getData().getDeptId())
|
||||||
.setProcessInstanceId(cash.getProcessInstanceId())
|
.setProcessInstanceId(cash.getProcessInstanceId())
|
||||||
.setReason(cash.getReason())
|
.setReason(cash.getReason())
|
||||||
.setObjectId(id)
|
.setObjectId(id)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.bpm.service.oa;
|
package cn.iocoder.yudao.module.bpm.service.oa;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
@ -179,8 +180,10 @@ public class BpmOAReimbursementServiceImpl extends BpmOABaseService implements B
|
|||||||
|
|
||||||
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
BpmProcessInstanceExtDO processInstance = bpmProcessInstanceService.getProcessInstanceDO(processInstanceId);
|
||||||
// -- 插入到财务支付表中
|
// -- 插入到财务支付表中
|
||||||
|
CommonResult<AdminUserRespDTO> user = userApi.getUser(bpmOAReimbursementDO.getUserId());
|
||||||
financialPaymentService.save(new FinancialPaymentDO()
|
financialPaymentService.save(new FinancialPaymentDO()
|
||||||
.setUserId(bpmOAReimbursementDO.getUserId())
|
.setUserId(bpmOAReimbursementDO.getUserId())
|
||||||
|
.setDeptId(user.getData() == null ? null : user.getData().getDeptId())
|
||||||
.setProcessInstanceId(bpmOAReimbursementDO.getProcessInstanceId())
|
.setProcessInstanceId(bpmOAReimbursementDO.getProcessInstanceId())
|
||||||
.setReason(reason)
|
.setReason(reason)
|
||||||
.setObjectId(id)
|
.setObjectId(id)
|
||||||
|
Loading…
Reference in New Issue
Block a user