From 4d2e8a8035e6626a81dd254f61d88ea58bb9ef88 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 21 Oct 2024 10:06:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E7=AE=A1=E7=90=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=80=E8=87=B4=E6=80=A7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cronjob/DeleteIsCancelJobCrob.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/weaver/interfaces/organization/cronjob/DeleteIsCancelJobCrob.java diff --git a/src/weaver/interfaces/organization/cronjob/DeleteIsCancelJobCrob.java b/src/weaver/interfaces/organization/cronjob/DeleteIsCancelJobCrob.java new file mode 100644 index 00000000..c9268854 --- /dev/null +++ b/src/weaver/interfaces/organization/cronjob/DeleteIsCancelJobCrob.java @@ -0,0 +1,65 @@ +package weaver.interfaces.organization.cronjob; + +import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.mapper.job.JobMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.interfaces.schedule.BaseCronJob; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author liang.cheng + * @Date 2024/10/18 11:25 AM + * @Description: 自动清除已失效的岗位 (执行前请注意编制的引用,会出现名称为空) + * @Version 1.0 + */ +public class DeleteIsCancelJobCrob extends BaseCronJob { + + @Override + public void execute() { + + RecordSet rs = new RecordSet(); + + List jobList = new ArrayList<>(); + rs.executeQuery("select id,ec_jobtitle,ec_department from jcl_org_job where delete_type = 0"); + while (rs.next()) { + jobList.add(JobPO.builder() + .id((long)Util.getIntValue(rs.getString("id"))) + .ecJobTitle(Util.getIntValue(rs.getString("ec_jobtitle"))) + .ecDepartment(Util.getIntValue(rs.getString("ec_department"))) + .build()); + } + + + + List deleteIds = new ArrayList<>(); + + jobList.forEach(job -> { + + //1.岗位是否封存或删除 + rs.executeQuery("select id from hrmjobtitles where id = ? and (canceled is null or canceled != 1)",job.getEcJobTitle()); + if (!rs.next()) { + deleteIds.add(job.getId()); + return; + } + + //2.部门是否封存或删除 + rs.executeQuery("select id from hrmdepartment where id = ? and (canceled is null or canceled != 1)",job.getEcDepartment()); + if (!rs.next()) { + deleteIds.add(job.getId()); + } + + }); + + if (CollectionUtils.isNotEmpty(deleteIds)) { + MapperProxyFactory.getProxy(JobMapper.class).deleteByIds(deleteIds); + } + + + + } +}