员工单据中岗位数据少于员工任岗明细数据时,其症状表现与修复方案

【问题描述】
如下图,员工(张三),在员工列表中打开只显示了4行任岗数据


而员工任岗明细中却显示张三有8行数据

因此,存在的问题:员工单据中的岗位信息存在缺失
【解决方案】
出现上述问题可以尝试自动修复,但若员工单据的任岗信息分录存在二开,就需要采用以下手工修复方案,特别注意:手工修复脚本需要专业的二开人员或找金蝶研发确认。
一. 手工修复步骤
1、备份原有数据,备份员工-员工任岗分录对应数据表中的数据;
--SQL SERVER数据库备份语句
SELECT * INTO t_bd_stafftemp20221014 FROM t_bd_stafftemp
--ORACLE数据库备份语句
CREATE TABLE t_bd_stafftemp20221014 AS SELECT * FROM t_bd_stafftemp
2、补数据,将员工任岗明细主数据表中的任岗数据补录到员工-员工任岗分录数据表。
insert into T_BD_STAFFTEMP(FENTRYID,FSTAFFID,FSEQ,FSTARTDATE,FPOSTID,FDEPTID,FID) select a.FTEMPSTAFFID,a.FSTAFFID,0,a.FSTARTDATE,a.FPOSTID,a.FDEPTID,a.FEMPINFOID from t_bd_staff a left join t_bd_stafftemp b on a.FTEMPSTAFFID=b.FENTRYID where b.FENTRYID is null and a.ftempstaffid>0;
update t_bd_stafftemp set FENTRYID=(select b.FTEMPSTAFFID from t_bd_staff b where b.fstaffid=t_bd_stafftemp.fstaffid);
update t_bd_stafftemp set FPOSTID=(select b.FPOSTID from t_bd_staff b where b.fstaffid=t_bd_stafftemp.fstaffid);
update t_bd_stafftemp set FSTARTDATE=(select b.FSTARTDATE from t_bd_staff b where b.fstaffid=t_bd_stafftemp.fstaffid);
update
员工单据中岗位数据少于员工任岗明细数据时,其症状表现与修复方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



