查询组织信息快照

This commit is contained in:
钱涛 2024-12-04 15:41:11 +08:00
parent c3b71201a4
commit 85e3d414fe
3 changed files with 27 additions and 447 deletions

View File

@ -16,6 +16,8 @@ public interface HrmSnapshotMapper {
*/
List<HrmSnapshotPO> listAll();
List<HrmSnapshotPO> snapshot(List<Long> employeeIds, Date snapshotTime);
/**
* 条件查询
*
@ -87,4 +89,5 @@ public interface HrmSnapshotMapper {
*/
List<HrmSnapshotPO> currentEmpData();
}

View File

@ -58,7 +58,6 @@
<result column="RESOURCETYPE" property="resourcetype"/>
<result column="SECLEVEL" property="seclevel"/>
<result column="SEX" property="sex"/>
<result column="STARTDATE" property="startdate"/>
<result column="STATUS" property="status"/>
<result column="SUBCOMPANYID1" property="subcompanyid1"/>
@ -150,7 +149,14 @@
SELECT
<include refid="baseColumns"/>
FROM hrsa_hrm_snapshot t
WHERE delete_type = 0
</select>
<select id="snapshot" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM hrsa_hrm_snapshot t
WHERE snapshot_time >= #{snapshotTime}
</select>
<!-- 根据主键获取单条记录 -->
@ -158,7 +164,7 @@
SELECT
<include refid="baseColumns"/>
FROM hrsa_hrm_snapshot t
WHERE ID = #{id} AND delete_type = 0
WHERE ID = #{id}
</select>
<!-- 条件查询 -->
@ -166,7 +172,7 @@
SELECT
<include refid="baseColumns"/>
FROM hrsa_hrm_snapshot t
WHERE delete_type = 0
WHERE 1=1
<if test="accountid1 != null">
AND ACCOUNTID1 = #{accountid1}
</if>
@ -790,445 +796,6 @@
</trim>
</insert>
<insert id="batchInsert">
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
<foreach collection="collection" item="item" separator=",">
(
#{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},
)
</foreach>
</insert>
<insert id="batchInsert" databaseId="oracle">
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,
)
<foreach collection="collection" item="item" separator="union all">
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
</foreach>
</insert>
<insert id="batchInsert" databaseId="sqlserver">
<foreach collection="collection" item="item" separator=";">
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},
)
</foreach>
</insert>
<!-- 更新,更新全部字段 -->
<update id="update" parameterType="com.engine.salary.entity.hrm.po.HrmSnapshotPO">
UPDATE hrsa_hrm_snapshot
@ -1300,7 +867,7 @@
workstartdate=#{workstartdate},
workyear=#{workyear},
</set>
WHERE ID = #{id} AND delete_type = 0
WHERE ID = #{id}
</update>
@ -1507,7 +1074,7 @@
workyear=#{workyear},
</if>
</set>
WHERE ID = #{id} AND delete_type = 0
WHERE ID = #{id}
</update>
@ -1522,8 +1089,7 @@
<delete id="deleteByIds">
UPDATE hrsa_hrm_snapshot
SET delete_type = 1
WHERE delete_type = 0
AND id IN
WHERE id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>

View File

@ -15,6 +15,7 @@ import com.engine.salary.entity.hrm.SubCompanyInfo;
import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO;
import com.engine.salary.entity.hrm.dto.FieldSetting;
import com.engine.salary.entity.hrm.po.ExpandFieldSettingsPO;
import com.engine.salary.entity.hrm.po.HrmSnapshotPO;
import com.engine.salary.entity.salarysob.bo.SalarySobRangeBO;
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
import com.engine.salary.entity.salarysob.po.SalarySobRangePO;
@ -23,6 +24,7 @@ import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.salarysob.TargetTypeEnum;
import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.hrm.ExpandFieldSettingsMapper;
import com.engine.salary.mapper.hrm.HrmSnapshotMapper;
import com.engine.salary.service.ExtEmpService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.SalarySobExtRangeService;
@ -33,6 +35,7 @@ import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.db.MapperProxyFactory;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -60,6 +63,10 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
private EmployBiz employBiz = new EmployBiz();
private HrmSnapshotMapper getHrmSnapshotMapper() {
return MapperProxyFactory.getProxy(HrmSnapshotMapper.class);
}
private EmployMapper getEmployMapper() {
return SqlProxyHandle.getProxy(EmployMapper.class);
}
@ -612,4 +619,8 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
}
return SalaryI18nUtil.i18n(getEmployMapper().getJobCallInfoById(jobCallId));
}
public List<HrmSnapshotPO> snapshot(List<Long> employeeIds, Date snapshotTime) {
return getHrmSnapshotMapper().snapshot(employeeIds, snapshotTime);
}
}