6.5常见问题分析(四)-几个可以通过修正数据解决的问题申玉珺syj@yonyou.com1引言本案例总结了几个通过修正数据就可以解决的常见问题。2问题描述及解决方案2.1人员信息管理问题描述:由于操作员误操作将人员离职了,请问如何将人员恢复为在职人员。解决方案:通过脚本修正数据。--通过人员编码查询人员工作记录hi_psnjob、组织关系hi_psnorg、流动情况表hi_psndoc_psnchgselect*fromhi_psnjobwherepk_psndoc=(selectpk_psndocfrombd_psndocwherecode='人员编码');select*fromhi_psnorgwherepk_psndoc=(selectpk_psndocfrombd_psndocwherecode='人员编码');select*fromhi_psndoc_psnchgwherepk_psndoc=(selectpk_psndocfrombd_psndocwherecode='人员编码');--将组织关系记录中的结束日期清空、结束标志更新updatehi_psnorgsetenddate=null,endflag='N'wherepk_psnorg='人员最新组织关系记录主键pk_psnorg';--删除最新的离职记录deletefromhi_psnjobwherepk_psnjob='最新工作记录主键pk_psnjob';--更新最近一条历史记录,清空结束日期、结束标志更新,最新记录标志更新updatehi_psnjobsetenddate=null,endflag='N',lastflag='Y',recordnum=0wherepk_psnjob='最近一条历史记录的主键值pk_psnjob';--流动记录表中离职日期清空updatehi_psndoc_psnchgsetenddate=nullwherepk_psndoc_sub='最新记录的主键值pk_psndoc_sub';2.2人员变动管理问题描述:人员调动到其他组织后,发现原组织的工作记录不完整需要补充,但是在调配记录节点修改原组织记录时,提示:当前选择为历史组织的任职记录,不允许修改。如何解决?解决方案:通过脚本修正数据,将人员恢复回原组织在职人员。在调配记录节点,在原组织下查询出该人员后,补充完整记录。然后再重新将人员调配到新组织下。--通过人员姓名查询人员工作记录hi_psnjob、组织关系hi_psnorg、工作履历表hi_psndoc_work,流动情况表hi_psndoc_psnchg,确定主键值select*fromhi_psnjobwherepk_psndoc=(selectpk_psndocfrombd_psndocwherename='人员姓名');select*fromhi_psnorgwherepk_psndoc=(selectpk_psndocfrombd_psndocwherename='人员姓名');select*fromhi_psndoc_psnchgwherepk_psndoc=(selectpk_psndocfrombd_psndocwherename='人员姓名');select*fromhi_psndoc_workwherepk_psndoc=(selectpk_psndocfrombd_psndocwherename='人员姓名');--删除最新一条任职记录deletefromhi_psnjobwherepk_psnjob='最新记录的主键值pk_psnjob';--修改最近一条历史任职记录,取消结束日期,结束标志N,最新记录Yupdatehi_psnjobsetenddate=null,lastflag='Y',endflag='N',recordnum=0wherepk_psnjob='最近一条历史记录主键值pk_psnjob';--修改组织关系表,对应的人力资源组织恢复为A组织updatehi_psnorgsetpk_hrorg='A公司组织主键值'wherepk_psnorg='组织关系主键值';--删除流动情况表记录deletefromhi_psndoc_psnchgwherepk_psndoc_sub='最新记录主键值pk_psndoc_sub';updatehi_psndoc_psnchgsetenddate=null,lastflag='Y',recordnum=0,tocorpname=nullwherepk_psndoc_sub='最近一条历史记录主键值pk_psndoc_sub';--删除履历记录deletefromhi_psndoc_workwherepk_psndoc_sub='最新记录主键值pk_psndoc_sub';updatehi_psndoc_worksetlastflag='Y',recordnum=0wherepk_psndoc_sub='最近一条历史记录主键值pk_psndoc_sub';2.2薪酬管理问题描述:薪资发放申请节点无法参照到薪资方案?解决方案:通过脚本到后台数据库中查询是否已经存在单据。--通过薪资方案名称期间信息,确定薪资方案主键pk_wa_classselect*fromwa_waclasswherename=''andcyear='2017'andcperiod='01';--通过薪资方案主键pk_wa_class和期间值找到有问题的薪资发放记录select*fromwa_payrollwherepk_wa_class='薪资方案主键pk_wa_class'andcyear='2017'andcperiod='01';---确定用户select*fromsm_userwherecuserid='wa_payroll表中的creator值'找到用户后,通过用户登录系统,在薪资发放申请节点找到单据,然后决定是否将单据审批,或者删除。单据删除后,重新提交单据就可以参照到薪资方案了。3注意事项涉及数据库,更新数据前,做好数据备份工作。