From 64ab363237e45dbfc623f72899899de479bebec9 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Fri, 2 Aug 2024 17:22:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9E=B6=E6=9E=84=E5=9B=BE?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=92=8C=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cronjob/OrgVersionDeleteCron.java | 70 +++++++++++++++++++ .../cronjob/OrgVersionRecordCron.java | 39 +++++++++++ 2 files changed, 109 insertions(+) create mode 100644 src/weaver/interfaces/organization/cronjob/OrgVersionDeleteCron.java create mode 100644 src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java diff --git a/src/weaver/interfaces/organization/cronjob/OrgVersionDeleteCron.java b/src/weaver/interfaces/organization/cronjob/OrgVersionDeleteCron.java new file mode 100644 index 00000000..ef9bacc9 --- /dev/null +++ b/src/weaver/interfaces/organization/cronjob/OrgVersionDeleteCron.java @@ -0,0 +1,70 @@ +package weaver.interfaces.organization.cronjob; + +import com.engine.organization.service.impl.ChartServiceImpl; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationDateUtil; +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/8/1 3:12 PM + * @Description: 组织架构版本定时删除 + * @Version 1.0 + */ +public class OrgVersionDeleteCron extends BaseCronJob { + + + + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + @Override + public void execute() { + + RecordSet rs = new RecordSet(); + + List idList = new ArrayList<>(); + String createTime = ""; + rs.executeQuery("select id,createtime from jcl_org_chartversion order by createtime asc"); + if (rs.next()){ + idList.add(Util.getIntValue(rs.getString("id"))); + createTime = Util.null2String(rs.getString("createtime")); + } + + OrganizationAssert.notEmpty(idList,"未查询到组织架构图历史版本"); + + //1.type=1 删除最早版本记录日期 + //2.type=2 删除最早版本日期--往后一个月的数据 + if("2".equals(type)){ + String lastMonthDate = OrganizationDateUtil.getLastMonthDate(createTime); + rs.executeQuery("select id from jcl_org_chartversion where createtime >= ? and createtime <= ?",createTime,lastMonthDate); + while (rs.next()) { + idList.add(Util.getIntValue(rs.getString("id"))); + } + } + //3.type=3 删除最早版本日期--往后一年的数据 + if("3".equals(type)){ + String lastYearDate = OrganizationDateUtil.getLastYearDate(createTime); + rs.executeQuery("select id from jcl_org_chartversion where createtime >= ? and createtime <= ?",createTime,lastYearDate); + while (rs.next()) { + idList.add(Util.getIntValue(rs.getString("id"))); + } + } + + //删除数据 + ChartServiceImpl chartService = new ChartServiceImpl(); + idList.forEach(chartService::versionDelete); + } +} diff --git a/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java b/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java new file mode 100644 index 00000000..1350c2f3 --- /dev/null +++ b/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java @@ -0,0 +1,39 @@ +package weaver.interfaces.organization.cronjob; + +import com.engine.organization.service.impl.ChartServiceImpl; +import com.engine.organization.util.OrganizationDateUtil; +import weaver.hrm.User; +import weaver.interfaces.schedule.BaseCronJob; + +import java.time.LocalDate; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2024/8/2 9:39 AM + * @Description: 组织架构图定时版本保存 + * @Version 1.0 + */ +public class OrgVersionRecordCron extends BaseCronJob { + + @Override + public void execute() { + + ChartServiceImpl chartService = new ChartServiceImpl(); + User user = new User(); + user.setUid(1); + + // 获取当前日期 + LocalDate today = LocalDate.now(); + String example = OrganizationDateUtil.dateExample(today); + String description = "版本自动记录"+example; + + Map params = new HashMap(){ + { + put("description",description); + }}; + + chartService.versionRecord(params,user); + } +}