单个员工更新/新增逻辑
2019-08-01 18:09:47 0 举报
11
作者其他创作
大纲/内容
结束
如果差集中的数据为在职则更新为离职,EFFDT设置为当前时间
把employee/employee_jb表查询的数据和ps_c_if_empl_job表中查出来的数据以部门id为比较条件做差集
ps_c_if_empl_job表中查出来的数据合employee/employee_jb表查询的数据和以部门id为比较条件做差集
选出该员工数据中的主岗数据(部门id等于主部门id的那条就是主岗数据),根据岗位名称和部门id(转换成ps表中的部门id)查询对应的标准岗位。
差集不为空
查询某个某个员工employee/employee_jb员有效数据(见顶部sql1)
相同
查不到
ps_c_if_empl_job.EFFDT更新说明主岗数据只有在主岗发生变化时更新,兼岗数据只有在在职变为离职或者离职变为在职是更新。
交集不为空
更新主岗数据并把ps_c_if_empl_job.EFFDT更新为当前时间
sql:1. 查询employee/employee_jb员工有效数据:select * from `employee` e where e.`job_number` = '工号' and e.`ineffect_time` = '9999-12-31' and e.`is_other_dept` = '0'2. 查询ps_c_if_empl_job中员工所有数据包括在职和离职的:select * from ps_c_if_empl_job job where job.`EMPLID`='工号' and job.`C_CRUD_FLAG` !='D'
查到
差集为空
不同
钉钉报警
结果条数0
把employee/employee_jb表查询的数据和ps_c_if_empl_job表中查出来的数据以部门id为比较条件做交集
交集为空
employee/employee_jb表中查出来的与ps_c_if_empl_job表中主岗信息的岗位id比较
主岗不需要更新
查询该员工在ps_c_if_empl_job中的所有数据见(见顶部sql2)
如果手机号码,邮箱等职位无关的数据有修改在修改ps_c_if_empl_job中所有在职数据的对应数据。
将差集同步到ps_c_if_empl_job,EFFDT设置为当前时间
0 条评论
回复 删除
下一页