From c3b71201a41799331b1e8f23da5ab003d8d17c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 3 Dec 2024 16:39:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=BF=AB=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/entity/hrm/po/HrmSnapshotPO.java | 428 +++++ .../salary/mapper/hrm/HrmSnapshotMapper.java | 90 + .../salary/mapper/hrm/HrmSnapshotMapper.xml | 1616 +++++++++++++++++ .../engine/salary/timer/HrmSnapshotJob.java | 51 + 4 files changed, 2185 insertions(+) create mode 100644 src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java create mode 100644 src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java create mode 100644 src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml create mode 100644 src/com/engine/salary/timer/HrmSnapshotJob.java diff --git a/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java new file mode 100644 index 000000000..2dc410de5 --- /dev/null +++ b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java @@ -0,0 +1,428 @@ +package com.engine.salary.entity.hrm.po; + +import com.engine.hrmelog.annotation.ElogTransform; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Collection; +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HrmSnapshotPO { + + @ElogTransform(name = "id") + private Long id; + + /** + * 快照时间 + */ + @ElogTransform(name = "快照时间") + private Date snapshotTime; + + + /** + * 人员id + */ + @ElogTransform(name = "人员id") + private Long employeeId; + + /** + * 姓名 + */ + @ElogTransform(name = "姓名") + private String lastname; + + + /** + * 工资帐号1 + */ + @ElogTransform(name = "工资帐号1") + private String accountid1; + + /** + * 工资账号户名 + */ + @ElogTransform(name = "工资账号户名") + private String accountname; + + /** + * 帐号类型 + */ + @ElogTransform(name = "帐号类型") + private Integer accounttype; + + /** + * 公积金帐号 + */ + @ElogTransform(name = "公积金帐号") + private String accumfundaccount; + + /** + * 助理 + */ + @ElogTransform(name = "助理") + private Integer assistantid; + + /** + * 工资银行1 + */ + @ElogTransform(name = "工资银行1") + private Integer bankid1; + + /** + * 所属主帐号 + */ + @ElogTransform(name = "所属主帐号") + private Integer belongto; + + /** + * 入团时间 + */ + @ElogTransform(name = "入团时间") + private String bememberdate; + + /** + * 入党时间 + */ + @ElogTransform(name = "入党时间") + private String bepartydate; + + /** + * 生日 + */ + @ElogTransform(name = "生日") + private String birthday; + + /** + * 出生地 + */ + @ElogTransform(name = "出生地") + private String birthplace; + + /** + * 身份证号码 + */ + @ElogTransform(name = "身份证号码") + private String certificatenum; + + /** + * 公司开始日期 + */ + @ElogTransform(name = "公司开始日期") + private String companystartdate; + + /** + * 公司年限 + */ + @ElogTransform(name = "公司年限") + private BigDecimal companyworkyear; + + /** + * 所属成本中心 + */ + @ElogTransform(name = "所属成本中心") + private Integer costcenterid; + + /** + * 国家id + */ + @ElogTransform(name = "国家id") + private Integer countryid; + + /** + * 学位 + */ + @ElogTransform(name = "学位") + private String degree; + + /** + * 所属部门 + */ + @ElogTransform(name = "所属部门") + private Integer departmentid; + + /** + * 部门名称 + */ + @ElogTransform(name = "部门名称") + private String departmentname; + + /** + * 学历 + */ + @ElogTransform(name = "学历") + private Integer educationlevel; + + /** + * 电子邮件 + */ + @ElogTransform(name = "电子邮件") + private String email; + + + /** + * 合同结束日期 + */ + @ElogTransform(name = "合同结束日期") + private String enddate; + + /** + * 分机 + */ + @ElogTransform(name = "分机") + private String extphone; + + /** + * 传真 + */ + @ElogTransform(name = "传真") + private String fax; + + /** + * 民族 + */ + @ElogTransform(name = "民族") + private String folk; + + /** + * 健康状况 + */ + @ElogTransform(name = "健康状况") + private String healthinfo; + + /** + * 家庭住址 + */ + @ElogTransform(name = "家庭住址") + private String homeaddress; + + + /** + * 是否为工会会员 + */ + @ElogTransform(name = "是否为工会会员") + private String islabouunion; + + /** + * 职责描述 + */ + @ElogTransform(name = "职责描述") + private String jobactivitydesc; + + /** + * 职称 + */ + @ElogTransform(name = "职称") + private Integer jobcall; + + /** + * 工作级别 + */ + @ElogTransform(name = "工作级别") + private Integer joblevel; + + /** + * 岗位 + */ + @ElogTransform(name = "岗位") + private Integer jobtitle; + + /** + * 岗位名称 + */ + @ElogTransform(name = "岗位名称") + private String jobtitlename; + + /** + * 最后登陆日期 + */ + @ElogTransform(name = "最后登陆日期") + private String lastlogindate; + + /** + * 工作地点 + */ + @ElogTransform(name = "工作地点") + private Integer locationid; + + /** + * 系统登陆帐号 + */ + @ElogTransform(name = "系统登陆帐号") + private String loginid; + + /** + * 经理 + */ + @ElogTransform(name = "经理") + private Integer managerid; + + /** + * 所有上级 + */ + @ElogTransform(name = "所有上级") + private String managerstr; + + /** + * 婚姻状况 + */ + @ElogTransform(name = "婚姻状况") + private String maritalstatus; + + /** + * 手机 + */ + @ElogTransform(name = "手机") + private String mobile; + + /** + * 其他电话 + */ + @ElogTransform(name = "其他电话") + private String mobilecall; + + /** + * 国籍 + */ + @ElogTransform(name = "国籍") + private Integer nationality; + + /** + * 籍贯 + */ + @ElogTransform(name = "籍贯") + private String nativeplace; + + /** + * 政治面貌 + */ + @ElogTransform(name = "政治面貌") + private String policy; + + /** + * 试用期结束日期 + */ + @ElogTransform(name = "试用期结束日期") + private String probationenddate; + + /** + * 户口 + */ + @ElogTransform(name = "户口") + private String regresidentplace; + + /** + * 居住地电话 + */ + @ElogTransform(name = "居住地电话") + private String residentphone; + + /** + * 居住地 + */ + @ElogTransform(name = "居住地") + private String residentplace; + + /** + * 居住地邮编 + */ + @ElogTransform(name = "居住地邮编") + private String residentpostcode; + + /** + * 用户类别 + */ + @ElogTransform(name = "用户类别") + private String resourcetype; + + /** + * 安全级别 + */ + @ElogTransform(name = "安全级别") + private Integer seclevel; + + /** + * 性别 + */ + @ElogTransform(name = "性别") + private String sex; + + + + /** + * 合同开始日期 + */ + @ElogTransform(name = "合同开始日期") + private String startdate; + + /** + * 0:试用
1:正式
2:临时
3:试用延期
4:解聘
5:离职
6:退休
7:无效 + */ + @ElogTransform(name = " 0:试用
1:正式
2:临时
3:试用延期
4:解聘
5:离职
6:退休
7:无效") + private Integer status; + + /** + * 所属分部1 + */ + @ElogTransform(name = "所属分部1") + private Integer subcompanyid1; + + /** + * 分部名称 + */ + @ElogTransform(name = "分部名称") + private String subcompanyname; + + /** + * 电话 + */ + @ElogTransform(name = "电话") + private String telephone; + + /** + * 暂住证号码 + */ + @ElogTransform(name = "暂住证号码") + private String tempresidentnumber; + + /** + * 用工性质 + */ + @ElogTransform(name = "用工性质") + private Integer usekind; + + /** + * 编号 + */ + @ElogTransform(name = "编号") + private String workcode; + + /** + * 办公室 + */ + @ElogTransform(name = "办公室") + private String workroom; + + /** + * 工作开始日期 + */ + @ElogTransform(name = "工作开始日期") + private String workstartdate; + + /** + * 工作年限 + */ + @ElogTransform(name = "工作年限") + private BigDecimal workyear; + + + //主键id集合 + private Collection ids; + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java new file mode 100644 index 000000000..077e96d70 --- /dev/null +++ b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java @@ -0,0 +1,90 @@ +package com.engine.salary.mapper.hrm; + +import com.engine.salary.entity.hrm.po.HrmSnapshotPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.Date; +import java.util.List; + +public interface HrmSnapshotMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(HrmSnapshotPO hrmSnapshot); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + HrmSnapshotPO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param hrmSnapshot 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(HrmSnapshotPO hrmSnapshot); + + /** + * 批量插入 + * + * @param hrmSnapshot + */ + void batchInsert(@Param("collection") List hrmSnapshot); + + /** + * 修改,修改所有字段 + * + * @param hrmSnapshot 修改的记录 + * @return 返回影响行数 + */ + int update(HrmSnapshotPO hrmSnapshot); + + /** + * 修改,忽略null字段 + * + * @param hrmSnapshot 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(HrmSnapshotPO hrmSnapshot); + + /** + * 删除记录 + * + * @param hrmSnapshot 待删除的记录 + * @return 返回影响行数 + */ + int delete(HrmSnapshotPO hrmSnapshot); + + /** + * 批量删除记录 + * + * @param ids 主键id集合 + */ + void deleteByIds(@Param("ids") Collection ids); + + void deleteBySnapshotTime(Date snapshotTime); + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List currentEmpData(); + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml new file mode 100644 index 000000000..4ceb64c7a --- /dev/null +++ b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml @@ -0,0 +1,1616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + . + ACCOUNTID1 + , t.ACCOUNTNAME + , t.ACCOUNTTYPE + , t.ACCUMFUNDACCOUNT + , t.ASSISTANTID + , t.BANKID1 + , t.BELONGTO + , t.BEMEMBERDATE + , t.BEPARTYDATE + , t.BIRTHDAY + , t.BIRTHPLACE + , t.CERTIFICATENUM + , t.companystartdate + , t.companyworkyear + , t.COSTCENTERID + , t.COUNTRYID + , t.DEGREE + , t.DEPARTMENTID + , t.DEPARTMENTNAME + , t.EDUCATIONLEVEL + , t.EMAIL + , t.employee_id + , t.ENDDATE + , t.EXTPHONE + , t.FAX + , t.FOLK + , t.HEALTHINFO + , t.HOMEADDRESS + , t.ID + , t.ISLABOUUNION + , t.JOBACTIVITYDESC + , t.JOBCALL + , t.JOBLEVEL + , t.JOBTITLE + , t.JOBTITLENAME + , t.LASTLOGINDATE + , t.LASTNAME + , t.LOCATIONID + , t.loginid + , t.MANAGERID + , t.MANAGERSTR + , t.MARITALSTATUS + , t.MOBILE + , t.MOBILECALL + , t.NATIONALITY + , t.NATIVEPLACE + , t.POLICY + , t.PROBATIONENDDATE + , t.REGRESIDENTPLACE + , t.RESIDENTPHONE + , t.RESIDENTPLACE + , t.RESIDENTPOSTCODE + , t.RESOURCETYPE + , t.SECLEVEL + , t.SEX + , t.snapshot_time + , t.STARTDATE + , t.STATUS + , t.SUBCOMPANYID1 + , t.SUBCOMPANYNAME + , t.TELEPHONE + , t.TEMPRESIDENTNUMBER + , t.USEKIND + , t.WORKCODE + , t.WORKROOM + , t.workstartdate + , t.workyear + + + + + + + + + + + + + + + INSERT INTO hrsa_hrm_snapshot + + + + ACCOUNTID1, + + + ACCOUNTNAME, + + + ACCOUNTTYPE, + + + ACCUMFUNDACCOUNT, + + + ASSISTANTID, + + + BANKID1, + + + BELONGTO, + + + BEMEMBERDATE, + + + BEPARTYDATE, + + + BIRTHDAY, + + + BIRTHPLACE, + + + CERTIFICATENUM, + + + companystartdate, + + + companyworkyear, + + + COSTCENTERID, + + + COUNTRYID, + + + DEGREE, + + + DEPARTMENTID, + + + DEPARTMENTNAME, + + + EDUCATIONLEVEL, + + + EMAIL, + + + employee_id, + + + ENDDATE, + + + EXTPHONE, + + + FAX, + + + FOLK, + + + HEALTHINFO, + + + HOMEADDRESS, + + + ID, + + + ISLABOUUNION, + + + JOBACTIVITYDESC, + + + JOBCALL, + + + JOBLEVEL, + + + JOBTITLE, + + + JOBTITLENAME, + + + LASTLOGINDATE, + + + LASTNAME, + + + LOCATIONID, + + + loginid, + + + MANAGERID, + + + MANAGERSTR, + + + MARITALSTATUS, + + + MOBILE, + + + MOBILECALL, + + + NATIONALITY, + + + NATIVEPLACE, + + + POLICY, + + + PROBATIONENDDATE, + + + REGRESIDENTPLACE, + + + RESIDENTPHONE, + + + RESIDENTPLACE, + + + RESIDENTPOSTCODE, + + + RESOURCETYPE, + + + SECLEVEL, + + + SEX, + + + snapshot_time, + + + STARTDATE, + + + STATUS, + + + SUBCOMPANYID1, + + + SUBCOMPANYNAME, + + + TELEPHONE, + + + TEMPRESIDENTNUMBER, + + + USEKIND, + + + WORKCODE, + + + WORKROOM, + + + workstartdate, + + + workyear, + + + + + #{accountid1}, + + + #{accountname}, + + + #{accounttype}, + + + #{accumfundaccount}, + + + #{assistantid}, + + + #{bankid1}, + + + #{belongto}, + + + #{bememberdate}, + + + #{bepartydate}, + + + #{birthday}, + + + #{birthplace}, + + + #{certificatenum}, + + + #{companystartdate}, + + + #{companyworkyear}, + + + #{costcenterid}, + + + #{countryid}, + + + #{degree}, + + + #{departmentid}, + + + #{departmentname}, + + + #{educationlevel}, + + + #{email}, + + + #{employeeId}, + + + #{enddate}, + + + #{extphone}, + + + #{fax}, + + + #{folk}, + + + #{healthinfo}, + + + #{homeaddress}, + + + #{id}, + + + #{islabouunion}, + + + #{jobactivitydesc}, + + + #{jobcall}, + + + #{joblevel}, + + + #{jobtitle}, + + + #{jobtitlename}, + + + #{lastlogindate}, + + + #{lastname}, + + + #{locationid}, + + + #{loginid}, + + + #{managerid}, + + + #{managerstr}, + + + #{maritalstatus}, + + + #{mobile}, + + + #{mobilecall}, + + + #{nationality}, + + + #{nativeplace}, + + + #{policy}, + + + #{probationenddate}, + + + #{regresidentplace}, + + + #{residentphone}, + + + #{residentplace}, + + + #{residentpostcode}, + + + #{resourcetype}, + + + #{seclevel}, + + + #{sex}, + + + #{snapshotTime}, + + + #{startdate}, + + + #{status}, + + + #{subcompanyid1}, + + + #{subcompanyname}, + + + #{telephone}, + + + #{tempresidentnumber}, + + + #{usekind}, + + + #{workcode}, + + + #{workroom}, + + + #{workstartdate}, + + + #{workyear}, + + + + + + + + INSERT INTO hrsa_hrm_snapshot + ( + ACCOUNTID1, + ACCOUNTNAME, + ACCOUNTTYPE, + ACCUMFUNDACCOUNT, + ASSISTANTID, + BANKID1, + BELONGTO, + BEMEMBERDATE, + BEPARTYDATE, + BIRTHDAY, + BIRTHPLACE, + CERTIFICATENUM, + companystartdate, + companyworkyear, + COSTCENTERID, + COUNTRYID, + DEGREE, + DEPARTMENTID, + DEPARTMENTNAME, + EDUCATIONLEVEL, + EMAIL, + employee_id, + ENDDATE, + EXTPHONE, + FAX, + FOLK, + HEALTHINFO, + HOMEADDRESS, + ID, + ISLABOUUNION, + JOBACTIVITYDESC, + JOBCALL, + JOBLEVEL, + JOBTITLE, + JOBTITLENAME, + LASTLOGINDATE, + LASTNAME, + LOCATIONID, + loginid, + MANAGERID, + MANAGERSTR, + MARITALSTATUS, + MOBILE, + MOBILECALL, + NATIONALITY, + NATIVEPLACE, + POLICY, + PROBATIONENDDATE, + REGRESIDENTPLACE, + RESIDENTPHONE, + RESIDENTPLACE, + RESIDENTPOSTCODE, + RESOURCETYPE, + SECLEVEL, + SEX, + snapshot_time, + STARTDATE, + STATUS, + SUBCOMPANYID1, + SUBCOMPANYNAME, + TELEPHONE, + TEMPRESIDENTNUMBER, + USEKIND, + WORKCODE, + WORKROOM, + workstartdate, + workyear, + ) + VALUES + + + ( + #{item.accountid1}, + #{item.accountname}, + #{item.accounttype}, + #{item.accumfundaccount}, + #{item.assistantid}, + #{item.bankid1}, + #{item.belongto}, + #{item.bememberdate}, + #{item.bepartydate}, + #{item.birthday}, + #{item.birthplace}, + #{item.certificatenum}, + #{item.companystartdate}, + #{item.companyworkyear}, + #{item.costcenterid}, + #{item.countryid}, + #{item.degree}, + #{item.departmentid}, + #{item.departmentname}, + #{item.educationlevel}, + #{item.email}, + #{item.employeeId}, + #{item.enddate}, + #{item.extphone}, + #{item.fax}, + #{item.folk}, + #{item.healthinfo}, + #{item.homeaddress}, + #{item.id}, + #{item.islabouunion}, + #{item.jobactivitydesc}, + #{item.jobcall}, + #{item.joblevel}, + #{item.jobtitle}, + #{item.jobtitlename}, + #{item.lastlogindate}, + #{item.lastname}, + #{item.locationid}, + #{item.loginid}, + #{item.managerid}, + #{item.managerstr}, + #{item.maritalstatus}, + #{item.mobile}, + #{item.mobilecall}, + #{item.nationality}, + #{item.nativeplace}, + #{item.policy}, + #{item.probationenddate}, + #{item.regresidentplace}, + #{item.residentphone}, + #{item.residentplace}, + #{item.residentpostcode}, + #{item.resourcetype}, + #{item.seclevel}, + #{item.sex}, + #{item.snapshotTime}, + #{item.startdate}, + #{item.status}, + #{item.subcompanyid1}, + #{item.subcompanyname}, + #{item.telephone}, + #{item.tempresidentnumber}, + #{item.usekind}, + #{item.workcode}, + #{item.workroom}, + #{item.workstartdate}, + #{item.workyear}, + ) + + + + + + + INSERT INTO hrsa_hrm_snapshot ( + ACCOUNTID1, + ACCOUNTNAME, + ACCOUNTTYPE, + ACCUMFUNDACCOUNT, + ASSISTANTID, + BANKID1, + BELONGTO, + BEMEMBERDATE, + BEPARTYDATE, + BIRTHDAY, + BIRTHPLACE, + CERTIFICATENUM, + companystartdate, + companyworkyear, + COSTCENTERID, + COUNTRYID, + DEGREE, + DEPARTMENTID, + DEPARTMENTNAME, + EDUCATIONLEVEL, + EMAIL, + employee_id, + ENDDATE, + EXTPHONE, + FAX, + FOLK, + HEALTHINFO, + HOMEADDRESS, + ID, + ISLABOUUNION, + JOBACTIVITYDESC, + JOBCALL, + JOBLEVEL, + JOBTITLE, + JOBTITLENAME, + LASTLOGINDATE, + LASTNAME, + LOCATIONID, + loginid, + MANAGERID, + MANAGERSTR, + MARITALSTATUS, + MOBILE, + MOBILECALL, + NATIONALITY, + NATIVEPLACE, + POLICY, + PROBATIONENDDATE, + REGRESIDENTPLACE, + RESIDENTPHONE, + RESIDENTPLACE, + RESIDENTPOSTCODE, + RESOURCETYPE, + SECLEVEL, + SEX, + snapshot_time, + STARTDATE, + STATUS, + SUBCOMPANYID1, + SUBCOMPANYNAME, + TELEPHONE, + TEMPRESIDENTNUMBER, + USEKIND, + WORKCODE, + WORKROOM, + workstartdate, + workyear, + ) + + + select + #{item.accountid1,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.accountname,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.accounttype,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.accumfundaccount,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.assistantid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.bankid1,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.belongto,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.bememberdate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.bepartydate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.birthday,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.birthplace,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.certificatenum,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.companystartdate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.companyworkyear,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.costcenterid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.countryid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.degree,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.departmentid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.departmentname,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.educationlevel,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.email,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.employeeId,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.enddate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.extphone,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.fax,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.folk,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.healthinfo,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.homeaddress,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.id,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.islabouunion,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.jobactivitydesc,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.jobcall,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.joblevel,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.jobtitle,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.jobtitlename,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.lastlogindate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.lastname,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.locationid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.loginid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.managerid,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.managerstr,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.maritalstatus,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.mobile,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.mobilecall,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.nationality,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.nativeplace,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.policy,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.probationenddate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.regresidentplace,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.residentphone,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.residentplace,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.residentpostcode,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.resourcetype,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.seclevel,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.sex,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.snapshotTime,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.startdate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.status,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.subcompanyid1,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.subcompanyname,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.telephone,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.tempresidentnumber,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.usekind,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.workcode,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.workroom,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.workstartdate,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + #{item.workyear,jdbcType=DOUBLE、DATE、VARCHAR、INTEGER}, + from dual + + + + + + + INSERT INTO hrsa_hrm_snapshot ( + ACCOUNTID1, + ACCOUNTNAME, + ACCOUNTTYPE, + ACCUMFUNDACCOUNT, + ASSISTANTID, + BANKID1, + BELONGTO, + BEMEMBERDATE, + BEPARTYDATE, + BIRTHDAY, + BIRTHPLACE, + CERTIFICATENUM, + companystartdate, + companyworkyear, + COSTCENTERID, + COUNTRYID, + DEGREE, + DEPARTMENTID, + DEPARTMENTNAME, + EDUCATIONLEVEL, + EMAIL, + employee_id, + ENDDATE, + EXTPHONE, + FAX, + FOLK, + HEALTHINFO, + HOMEADDRESS, + ID, + ISLABOUUNION, + JOBACTIVITYDESC, + JOBCALL, + JOBLEVEL, + JOBTITLE, + JOBTITLENAME, + LASTLOGINDATE, + LASTNAME, + LOCATIONID, + loginid, + MANAGERID, + MANAGERSTR, + MARITALSTATUS, + MOBILE, + MOBILECALL, + NATIONALITY, + NATIVEPLACE, + POLICY, + PROBATIONENDDATE, + REGRESIDENTPLACE, + RESIDENTPHONE, + RESIDENTPLACE, + RESIDENTPOSTCODE, + RESOURCETYPE, + SECLEVEL, + SEX, + snapshot_time, + STARTDATE, + STATUS, + SUBCOMPANYID1, + SUBCOMPANYNAME, + TELEPHONE, + TEMPRESIDENTNUMBER, + USEKIND, + WORKCODE, + WORKROOM, + workstartdate, + workyear, + ) + VALUES + ( + #{item.accountid1}, + #{item.accountname}, + #{item.accounttype}, + #{item.accumfundaccount}, + #{item.assistantid}, + #{item.bankid1}, + #{item.belongto}, + #{item.bememberdate}, + #{item.bepartydate}, + #{item.birthday}, + #{item.birthplace}, + #{item.certificatenum}, + #{item.companystartdate}, + #{item.companyworkyear}, + #{item.costcenterid}, + #{item.countryid}, + #{item.degree}, + #{item.departmentid}, + #{item.departmentname}, + #{item.educationlevel}, + #{item.email}, + #{item.employeeId}, + #{item.enddate}, + #{item.extphone}, + #{item.fax}, + #{item.folk}, + #{item.healthinfo}, + #{item.homeaddress}, + #{item.id}, + #{item.islabouunion}, + #{item.jobactivitydesc}, + #{item.jobcall}, + #{item.joblevel}, + #{item.jobtitle}, + #{item.jobtitlename}, + #{item.lastlogindate}, + #{item.lastname}, + #{item.locationid}, + #{item.loginid}, + #{item.managerid}, + #{item.managerstr}, + #{item.maritalstatus}, + #{item.mobile}, + #{item.mobilecall}, + #{item.nationality}, + #{item.nativeplace}, + #{item.policy}, + #{item.probationenddate}, + #{item.regresidentplace}, + #{item.residentphone}, + #{item.residentplace}, + #{item.residentpostcode}, + #{item.resourcetype}, + #{item.seclevel}, + #{item.sex}, + #{item.snapshotTime}, + #{item.startdate}, + #{item.status}, + #{item.subcompanyid1}, + #{item.subcompanyname}, + #{item.telephone}, + #{item.tempresidentnumber}, + #{item.usekind}, + #{item.workcode}, + #{item.workroom}, + #{item.workstartdate}, + #{item.workyear}, + ) + + + + + + UPDATE hrsa_hrm_snapshot + + ACCOUNTID1=#{accountid1}, + ACCOUNTNAME=#{accountname}, + ACCOUNTTYPE=#{accounttype}, + ACCUMFUNDACCOUNT=#{accumfundaccount}, + ASSISTANTID=#{assistantid}, + BANKID1=#{bankid1}, + BELONGTO=#{belongto}, + BEMEMBERDATE=#{bememberdate}, + BEPARTYDATE=#{bepartydate}, + BIRTHDAY=#{birthday}, + BIRTHPLACE=#{birthplace}, + CERTIFICATENUM=#{certificatenum}, + companystartdate=#{companystartdate}, + companyworkyear=#{companyworkyear}, + COSTCENTERID=#{costcenterid}, + COUNTRYID=#{countryid}, + DEGREE=#{degree}, + DEPARTMENTID=#{departmentid}, + DEPARTMENTNAME=#{departmentname}, + EDUCATIONLEVEL=#{educationlevel}, + EMAIL=#{email}, + employee_id=#{employeeId}, + ENDDATE=#{enddate}, + EXTPHONE=#{extphone}, + FAX=#{fax}, + FOLK=#{folk}, + HEALTHINFO=#{healthinfo}, + HOMEADDRESS=#{homeaddress}, + ISLABOUUNION=#{islabouunion}, + JOBACTIVITYDESC=#{jobactivitydesc}, + JOBCALL=#{jobcall}, + JOBLEVEL=#{joblevel}, + JOBTITLE=#{jobtitle}, + JOBTITLENAME=#{jobtitlename}, + LASTLOGINDATE=#{lastlogindate}, + LASTNAME=#{lastname}, + LOCATIONID=#{locationid}, + loginid=#{loginid}, + MANAGERID=#{managerid}, + MANAGERSTR=#{managerstr}, + MARITALSTATUS=#{maritalstatus}, + MOBILE=#{mobile}, + MOBILECALL=#{mobilecall}, + NATIONALITY=#{nationality}, + NATIVEPLACE=#{nativeplace}, + POLICY=#{policy}, + PROBATIONENDDATE=#{probationenddate}, + REGRESIDENTPLACE=#{regresidentplace}, + RESIDENTPHONE=#{residentphone}, + RESIDENTPLACE=#{residentplace}, + RESIDENTPOSTCODE=#{residentpostcode}, + RESOURCETYPE=#{resourcetype}, + SECLEVEL=#{seclevel}, + SEX=#{sex}, + snapshot_time=#{snapshotTime}, + STARTDATE=#{startdate}, + STATUS=#{status}, + SUBCOMPANYID1=#{subcompanyid1}, + SUBCOMPANYNAME=#{subcompanyname}, + TELEPHONE=#{telephone}, + TEMPRESIDENTNUMBER=#{tempresidentnumber}, + USEKIND=#{usekind}, + WORKCODE=#{workcode}, + WORKROOM=#{workroom}, + workstartdate=#{workstartdate}, + workyear=#{workyear}, + + WHERE ID = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_hrm_snapshot + + + ACCOUNTID1=#{accountid1}, + + + ACCOUNTNAME=#{accountname}, + + + ACCOUNTTYPE=#{accounttype}, + + + ACCUMFUNDACCOUNT=#{accumfundaccount}, + + + ASSISTANTID=#{assistantid}, + + + BANKID1=#{bankid1}, + + + BELONGTO=#{belongto}, + + + BEMEMBERDATE=#{bememberdate}, + + + BEPARTYDATE=#{bepartydate}, + + + BIRTHDAY=#{birthday}, + + + BIRTHPLACE=#{birthplace}, + + + CERTIFICATENUM=#{certificatenum}, + + + companystartdate=#{companystartdate}, + + + companyworkyear=#{companyworkyear}, + + + COSTCENTERID=#{costcenterid}, + + + COUNTRYID=#{countryid}, + + + DEGREE=#{degree}, + + + DEPARTMENTID=#{departmentid}, + + + DEPARTMENTNAME=#{departmentname}, + + + EDUCATIONLEVEL=#{educationlevel}, + + + EMAIL=#{email}, + + + employee_id=#{employeeId}, + + + ENDDATE=#{enddate}, + + + EXTPHONE=#{extphone}, + + + FAX=#{fax}, + + + FOLK=#{folk}, + + + HEALTHINFO=#{healthinfo}, + + + HOMEADDRESS=#{homeaddress}, + + + ISLABOUUNION=#{islabouunion}, + + + JOBACTIVITYDESC=#{jobactivitydesc}, + + + JOBCALL=#{jobcall}, + + + JOBLEVEL=#{joblevel}, + + + JOBTITLE=#{jobtitle}, + + + JOBTITLENAME=#{jobtitlename}, + + + LASTLOGINDATE=#{lastlogindate}, + + + LASTNAME=#{lastname}, + + + LOCATIONID=#{locationid}, + + + loginid=#{loginid}, + + + MANAGERID=#{managerid}, + + + MANAGERSTR=#{managerstr}, + + + MARITALSTATUS=#{maritalstatus}, + + + MOBILE=#{mobile}, + + + MOBILECALL=#{mobilecall}, + + + NATIONALITY=#{nationality}, + + + NATIVEPLACE=#{nativeplace}, + + + POLICY=#{policy}, + + + PROBATIONENDDATE=#{probationenddate}, + + + REGRESIDENTPLACE=#{regresidentplace}, + + + RESIDENTPHONE=#{residentphone}, + + + RESIDENTPLACE=#{residentplace}, + + + RESIDENTPOSTCODE=#{residentpostcode}, + + + RESOURCETYPE=#{resourcetype}, + + + SECLEVEL=#{seclevel}, + + + SEX=#{sex}, + + + snapshot_time=#{snapshotTime}, + + + STARTDATE=#{startdate}, + + + STATUS=#{status}, + + + SUBCOMPANYID1=#{subcompanyid1}, + + + SUBCOMPANYNAME=#{subcompanyname}, + + + TELEPHONE=#{telephone}, + + + TEMPRESIDENTNUMBER=#{tempresidentnumber}, + + + USEKIND=#{usekind}, + + + WORKCODE=#{workcode}, + + + WORKROOM=#{workroom}, + + + workstartdate=#{workstartdate}, + + + workyear=#{workyear}, + + + WHERE ID = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_hrm_snapshot + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + UPDATE hrsa_hrm_snapshot + SET delete_type = 1 + WHERE delete_type = 0 + AND id IN + + #{id} + + + + + delete from hrsa_hrm_snapshot + WHERE snapshot_time = #{snapshotTime} + + + + e + . + ID as employee_id + ,e.loginid + ,e.LASTNAME + ,e.SEX + ,e.BIRTHDAY + ,e.NATIONALITY + ,e.MARITALSTATUS + ,e.TELEPHONE + ,e.MOBILE + ,e.MOBILECALL + ,e.EMAIL + ,e.LOCATIONID + ,e.WORKROOM + ,e.HOMEADDRESS + ,e.RESOURCETYPE + ,e.STARTDATE + ,e.ENDDATE + ,e.JOBTITLE + ,j.JOBTITLENAME + ,e.JOBACTIVITYDESC + ,e.JOBLEVEL + ,e.SECLEVEL + ,e.DEPARTMENTID + ,d.DEPARTMENTNAME + ,e.SUBCOMPANYID1 + ,c.SUBCOMPANYNAME + ,e.COSTCENTERID + ,e.MANAGERID + ,e.ASSISTANTID + ,e.BANKID1 + ,e.ACCOUNTID1 + ,e.LASTLOGINDATE + ,e.CERTIFICATENUM + ,e.NATIVEPLACE + ,e.EDUCATIONLEVEL + ,e.BEMEMBERDATE + ,e.BEPARTYDATE + ,e.WORKCODE + ,e.REGRESIDENTPLACE + ,e.HEALTHINFO + ,e.RESIDENTPLACE + ,e.POLICY + ,e.DEGREE + ,e.USEKIND + ,e.JOBCALL + ,e.ACCUMFUNDACCOUNT + ,e.BIRTHPLACE + ,e.FOLK + ,e.RESIDENTPHONE + ,e.RESIDENTPOSTCODE + ,e.EXTPHONE + ,e.MANAGERSTR + ,e.STATUS + ,e.FAX + ,e.ISLABOUUNION + ,e.TEMPRESIDENTNUMBER + ,e.PROBATIONENDDATE + ,e.COUNTRYID + ,e.ACCOUNTTYPE + ,e.BELONGTO + ,e.ACCOUNTNAME + ,e.companystartdate + ,e.workstartdate + ,e.companyworkyear + ,e.workyear + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/timer/HrmSnapshotJob.java b/src/com/engine/salary/timer/HrmSnapshotJob.java new file mode 100644 index 000000000..5a256371a --- /dev/null +++ b/src/com/engine/salary/timer/HrmSnapshotJob.java @@ -0,0 +1,51 @@ +package com.engine.salary.timer; + +import cn.hutool.core.util.StrUtil; +import com.engine.salary.entity.hrm.po.HrmSnapshotPO; +import com.engine.salary.mapper.hrm.HrmSnapshotMapper; +import com.engine.salary.util.SalaryDateUtil; +import com.engine.salary.util.db.IdGenerator; +import com.engine.salary.util.db.MapperProxyFactory; +import weaver.hrm.User; +import weaver.interfaces.schedule.BaseCronJob; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; + + +public class HrmSnapshotJob extends BaseCronJob { + + private String appointSnapshotTime; + + private HrmSnapshotMapper getHrmSnapshotMapper() { + return MapperProxyFactory.getProxy(HrmSnapshotMapper.class); + } + + @Override + public void execute() { + User user = new User(); + user.setUid(1); + user.setLoginid("sysadmin"); + + List hrmSnapshotPOS = getHrmSnapshotMapper().currentEmpData(); + + Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now()); + + //先删除当日快照 + getHrmSnapshotMapper().deleteBySnapshotTime(snapshotTime); + + hrmSnapshotPOS.forEach(hrmSnapshotPO -> { + + hrmSnapshotPO.setId(IdGenerator.generate()); + hrmSnapshotPO.setSnapshotTime(snapshotTime); + + getHrmSnapshotMapper().insertIgnoreNull(hrmSnapshotPO); + + }); + + + System.out.println(hrmSnapshotPOS); + } + +}