薪资方案-集团 点击停用方案提示“分配的方案中存在已经审核的数据”
业务场景:集团统一设置的薪资方案,使用一段时间后要停用。
需求分析:这种业务存在合理,并且NC系列系统本身支持集团分配的方案,统一由集团停用。(注意这里不是取消分配,因为如果有业务数据,取消分配会涉及到薪资方案的权限、数据权限等问题,所以不能用取消分配)。
问题现象:在薪资方案-集团,点击停用该方案的时候,提示“分配的方案中存在已经审核的数据”。
问题处理:经过分析,这里的提示“分配的方案中存在已经审核的数据”是指分配下去的方案的最新期间存在已经审核或发放,但未结账的数据。处理步骤如下:
(1)执行SQL,排查那些分配下去的薪资方案存在审核但未结账的数据。
--查询薪资方案-集团节点 某个方案分配出去且存在审核、发放但没结账的薪资方案
select
*
from(
--查询所有薪资方案计算、审批、结账情况s
select
org_orgs.name as orgName,
wa_waclass.pk_org,
wa_waclass.pk_wa_class,
wa_waclass.code,
wa_waclass.name,
wa_waclass.cyear,--最新年
wa_waclass.cperiod,--最新期间
wa_period.cyear as xinZhiCyear,--薪资期间
wa_period.cperiod as xinZhiCperiod,--薪资年度
wa_period.cstartdate,--薪资期间开始日期
wa_period.cenddate ,--薪资期间结束日期
wa_periodstate.caculateflag,--计算标志,
wa_periodstate.checkflag,--审核标志
wa_periodstate.payoffflag,--发放标志
wa_periodstate.accountmark --结账标志
from wa_waclass
LEFT OUTER JOIN wa_periodstate on wa_periodstate.pk_wa_class=wa_waclass.pk_wa_class
LEFT OUTER JOIN wa_period on wa_period. pk_wa_period = wa_periodstate.pk_wa_period
LEFT OUTER JOIN org_orgs on org_orgs.pk_org=wa_waclass.pk_org
where 1=1
--and wa_waclass.name='员工薪资方案'
--and wa_waclass.pk_wa_class='1001A210000000022OVX'
--查询薪资方案计算、审批、结账情况e
) where 1=1
and Cyear=xinZhiCyear --找到最新期间
and Cperiod=xinZhiCperiod --找到最新期间
and (checkflag='Y' or payoffflag='Y')
and accountmark='N' --结账标志
and pk_wa_class in(
--查询某个薪资方案分配出去形成的所有薪资方案s
select classid
from wa_assigncls
where pk_sourcecls in (select pk_wa_class from wa_waclass where name='员工薪资方案' and code='01') --name=薪资方案-集团节点下面的 薪资方案名称 ;code=薪资方案-集团节点下面的 薪资方案编码
--查询某个薪资方案分配出去形成的所有薪资方案e
)
查询结果如下图,发现查询结果的薪资方案已经审核了, 但未结账,这个就是导致集团薪资方案不能停用的原因
(2)通知操作人员处理,处理后就查询不到结果了
(3)在薪资方案-集团,点击停用该薪资方案。
注:如果停用后续又要启用,也是在这个节点点击启用,并且输入启用的时间。
(4)通过检查,在薪资方案-组织节点,集团分配的方案就已经停用了;在薪资档案、薪资核发、薪资发放等后续节点就看不到这个薪资方案了。