定时任务每小时执行一次会计凭证关联原始凭证(附件、审批流程)

new
JiilingLee 1 year ago
parent 4b7407b8a1
commit 5faeaf334e

@ -32,6 +32,12 @@
<artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId> <artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
</dependency> </dependency>
<!-- Job 定时任务相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-job</artifactId>
</dependency>
<!-- 业务组件 --> <!-- 业务组件 -->
<dependency> <dependency>
<groupId>cn.iocoder.boot</groupId> <groupId>cn.iocoder.boot</groupId>

@ -0,0 +1,61 @@
package cn.iocoder.yudao.module.accounting.job;
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
import cn.iocoder.yudao.module.accounting.dal.dataobject.attachment.AttachmentDO;
import cn.iocoder.yudao.module.accounting.dal.dataobject.bankslip.BankSlipDO;
import cn.iocoder.yudao.module.accounting.dal.dataobject.flow.FlowDO;
import cn.iocoder.yudao.module.accounting.dal.mysql.attachment.AttachmentMapper;
import cn.iocoder.yudao.module.accounting.dal.mysql.bankslip.BankSlipMapper;
import cn.iocoder.yudao.module.accounting.dal.mysql.flow.FlowMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Component
@TenantJob // 多租户
@Slf4j
public class injoinJob implements JobHandler {
@Resource
private BankSlipMapper bankSlipMapper;
@Resource
private FlowMapper flowMapper;
@Resource
private AttachmentMapper attachmentMapper;
@Override
public String execute(String param) throws Exception {
//银行回单流程号OA/ERP流程编号得到凭证id
List<BankSlipDO> BankSlipDOList = bankSlipMapper.selectList(new QueryWrapperX<BankSlipDO>()
.isNotNull("flow_code"));
for (BankSlipDO bankSlip:BankSlipDOList
) {
//每个回单的流程号 获取后查找绑定附件、审批流程
Long voucherId = bankSlip.getVoucherId();
String flowCode = bankSlip.getFlowCode();
//通过flowCode查找附件、审批流程
List<FlowDO> flowDOList = flowMapper.selectList(new QueryWrapperX<FlowDO>()
.eq("flow_code", flowCode));
for (FlowDO flowDO:flowDOList
) {
flowDO.setVoucherId(voucherId);
flowMapper.updateById(flowDO);
}
List<AttachmentDO> attachmentDOList = attachmentMapper.selectList(new QueryWrapperX<AttachmentDO>()
.eq("flow_code", flowCode));
for (AttachmentDO attachmentDO:attachmentDOList
) {
attachmentDO.setVoucherId(voucherId);
attachmentMapper.updateById(attachmentDO);
}
}
return "injoinJob 执行了";
}
}
Loading…
Cancel
Save