Преглед изворни кода

社保档案新增责任组织部门

Timo пре 1 година
родитељ
комит
2c8edd99bd

+ 7 - 3
hrbm/src/private/nc/impl/bm/bmfile/BmfileDao.java

@@ -337,7 +337,7 @@ public class BmfileDao extends AppendBaseDAO {
                 + "bm_data.pk_liabilityorg,bm_data.pk_liabilitydept,bm_data.libdeptvid,"
                 + SQLHelper.getMultiLangNameColumn("bm_bmclass.name")
                 + " as classname,bm_data.checkflag,bm_data.vcancelreason "
-                + " ,bm_data.glbdef1 , bm_data.glbdef2 "
+                + " ,bm_data.glbdef1 , bm_data.glbdef2 ,bm_data.glbdef3 ,bm_data.glbdef4 "   // 20231018 dzz 新增 责任组织
                 + " from bm_data inner join bm_bmclass on bm_data.pk_bm_class = bm_bmclass.pk_bm_class "
                 + " where bm_data.pk_org = ? and bm_data.pk_psndoc = ? "
                 + " and bm_data.cyear = ? and bm_data.cperiod = ? ";
@@ -710,8 +710,10 @@ public class BmfileDao extends AppendBaseDAO {
         sqlBuffer.append("       hi_psnjob.assgid, "); // 3
         sqlBuffer.append("       hi_psnjob.pk_psndoc, "); // 4
         sqlBuffer.append("       hi_psnjob.clerkcode, "); // 5
-        sqlBuffer.append("       hi_psnjob.jobglbdef6 glbdef1, "); // 5
-        sqlBuffer.append("       hi_psnjob.jobglbdef5 glbdef2, "); // 5
+        sqlBuffer.append("       hi_psnjob.jobglbdef6 glbdef1, "); // 5 erp财务组织
+        sqlBuffer.append("       hi_psnjob.jobglbdef5 glbdef2, "); // 5 erp财务部门
+        sqlBuffer.append("       hi_psnjob.pk_org glbdef3, "); // 5 20231018 dzz 新增 责任组织
+        sqlBuffer.append("       hi_psnjob.pk_dept glbdef4, "); // 5 责任部门
         sqlBuffer.append("       org_orgs.pk_org as workorg, ");
         sqlBuffer.append("       org_orgs.pk_vid as workorgvid, ");
         sqlBuffer.append("       org_dept.pk_dept as workdept, ");
@@ -757,6 +759,8 @@ public class BmfileDao extends AppendBaseDAO {
         sqlBuffer.append("select distinct hi_psnjob.pk_psnjob, "); // 1
         sqlBuffer.append("       hi_psnjob.jobglbdef6 glbdef1, "); // ERP财务组织
         sqlBuffer.append("       hi_psnjob.jobglbdef5 glbdef2, "); // ERP财务部门
+        sqlBuffer.append("       hi_psnjob.pk_org glbdef3, "); // 责任组织
+        sqlBuffer.append("       hi_psnjob.pk_dept glbdef4, "); // 责任部门
         sqlBuffer.append("       hi_psnjob.pk_psnorg, "); // 2
         sqlBuffer.append("       hi_psnjob.assgid, "); // 3
         sqlBuffer.append("       hi_psnjob.pk_psndoc, "); // 4

+ 2 - 2
hrbm/src/private/nc/impl/bm/bmfile/BmfileManageServiceImpl.java

@@ -942,8 +942,8 @@ public class BmfileManageServiceImpl implements IBmfileManageService, IBmfileQue
 
         List<String> listFileds = (List<String>) getBmfileDao().getBaseDao().executeQuery(sbd.toString(), null,
                 new ColumnListProcessor("itemkey"));
-
-        String[] updatFixFileds = new String[]{"glbdef1","glbdef2","bmaccountno", "paylocation", "dbegindate", "pk_financeorg",
+        // dzz 恶心啊。。。新加要跟新的字段 还要在这里加       20231018 dzz 新增 责任组织
+        String[] updatFixFileds = new String[]{"glbdef1","glbdef2","glbdef3","glbdef4","bmaccountno", "paylocation", "dbegindate", "pk_financeorg",
                 "fiporgvid", "pk_financedept", "fipdeptvid", "pk_liabilityorg", "pk_liabilitydept", "libdeptvid",
                 "accountstate"};
         for (int i = 0; i < updatFixFileds.length; i++) {

+ 9 - 3
hrbm/src/private/nc/impl/bm/listener/BmfileBusinessListener.java

@@ -135,10 +135,16 @@ public class BmfileBusinessListener implements IBusinessListener{
 			return;
 		}
 		if(IEventType.TYPE_UPDATE_AFTER.equals(eventType)) {
-			getDao().updateBmDataMulVer(psnJobAfter.getPk_psnjob(), null);
-			String sql = " update bm_data set glbdef1 = '"+psnJobAfter.getAttributeValue("jobglbdef6")+"',glbdef2 = '"+ psnJobAfter.getAttributeValue("jobglbdef5")+"' where pk_psnjob = '"+psnjobBefore.getPk_psnjob()+"' and checkflag = 'N'";
+			BaseDAO d = new BaseDAO();
+			// 20231018 dzz 社保档案新增 责任组织部门 变更前 job_pk_org pk_dept 与 bm_glbdef3财务责任组织  和 bm_glbdef4 财务责任部门  一致 就要变成新的   不一致就不管
+			String sql = " UPDATE bm_data b  SET b.GLBDEF3 = '" + psnJobAfter.getPk_org() + "' ,b.GLBDEF4 = '" + psnJobAfter.getPk_dept() + "' WHERE b.PK_BM_DATA IN ( " +
+					" SELECT bd.PK_BM_DATA FROM BM_DATA bd JOIN BD_PSNJOB job on job.PK_PSNJOB = bd.PK_PSNJOB " +
+					" WHERE bd.checkflag = 'N' AND bd.GLBDEF3 = job.PK_ORG  AND bd.GLBDEF4 = job.PK_DEPT AND bd.PK_PSNJOB = '" + psnjobBefore.getPk_psnjob() + "') ";
+			d.executeUpdate(sql);
 			// 20230731 dzz 把psnjob表的 财务组织 财务部门也带到薪资档案
-			new BaseDAO().executeUpdate(sql);
+			 sql = " update bm_data set glbdef1 = '"+psnJobAfter.getAttributeValue("jobglbdef6")+"',glbdef2 = '"+ psnJobAfter.getAttributeValue("jobglbdef5")+"' where pk_psnjob = '"+psnjobBefore.getPk_psnjob()+"' and checkflag = 'N'";
+			d.executeUpdate(sql);
+			getDao().updateBmDataMulVer(psnJobAfter.getPk_psnjob(), null);
 			return;
 		}
 		//删除前校验:只要工作记录存在在薪资档案中,并且有已经审核的数据,就不能删除。

+ 21 - 3
hrbm/src/private/nc/impl/bm/listener/BmfileListenerDao.java

@@ -88,7 +88,14 @@ public class BmfileListenerDao extends BaseDAOManager {
         }
         //String sql = "";
 
-        String sql = " update bm_data set pk_psnjob = '"
+        // 20231018 dzz 社保档案新增 责任组织部门 变更前 job_pk_org pk_dept 与 bm_glbdef3财务责任组织  和 bm_glbdef4 财务责任部门  一致 就要变成新的   不一致就不管
+        String sql = " UPDATE bm_data b  SET b.GLBDEF3 = '" + psnJobAfter.getPk_org() + "' ,b.GLBDEF4 = '" + psnJobAfter.getPk_dept() + "' WHERE b.pk_bm_data IN ( " +
+                " SELECT bd.pk_bm_data FROM bm_data bd JOIN BD_PSNJOB job on job.PK_PSNJOB = bd.PK_PSNJOB " +
+                " WHERE bd.checkflag = 'N' AND bd.GLBDEF3 = job.PK_ORG  AND bd.GLBDEF4 = job.PK_DEPT AND bd.PK_PSNJOB = '" + psnjobBefore.getPk_psnjob() + "') ";
+        getBaseDao().executeUpdate(sql);
+
+
+         sql = " update bm_data set pk_psnjob = '"
 //		20151223 xiejie3  NCdp205564197 不修改参数反应立即变化进行调配,然后再修改参数立即变化进行调配,调配后人员的信息没有变化
 //		原因:当变动人员业务参数为0时,不立即更新社保档案人员工作记录,导致社保档案存的是上一条工作记录 job1,而此时工作记录有两条job1,job2,
 //			这时,再把参数改成31,增加人员工作记录job3,人事传过来的 工作记录 为 job2,job3,这时,用job2去社保档案去匹配人,将匹配不到,
@@ -116,7 +123,13 @@ public class BmfileListenerDao extends BaseDAOManager {
         if (psnJobAfter == null) {
             return;
         }
-        String sql = " update bm_data set pk_psnjob = '" + psnJobAfter.getPk_psnjob() + "',glbdef1 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "',glbdef2 = '" + psnJobAfter.getAttributeValue("jobglbdef6")
+        // 20231018 dzz 社保档案新增 责任组织部门 变更前 job_pk_org pk_dept 与 bm_glbdef3财务责任组织  和 bm_glbdef4 财务责任部门  一致 就要变成新的   不一致就不管
+        String sql = " UPDATE bm_data b  SET b.GLBDEF3 = '" + psnJobAfter.getPk_org() + "' ,b.GLBDEF4 = '" + psnJobAfter.getPk_dept() + "' WHERE b.pk_bm_data IN ( " +
+                " SELECT bd.pk_bm_data FROM bm_data bd JOIN BD_PSNJOB job on job.PK_PSNJOB = bd.PK_PSNJOB " +
+                " WHERE bd.checkflag = 'N' AND bd.GLBDEF3 = job.PK_ORG  AND bd.GLBDEF4 = job.PK_DEPT AND bd.PK_PSNJOB = '" + psnjobBefore.getPk_psnjob() + "') ";
+        getBaseDao().executeUpdate(sql);
+
+         sql = " update bm_data set pk_psnjob = '" + psnJobAfter.getPk_psnjob() + "',glbdef1 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "',glbdef2 = '" + psnJobAfter.getAttributeValue("jobglbdef6")
                 + "' where pk_psnjob = '" + psnjobBefore.getPk_psnjob() + "' and checkflag = 'N'";
 
         getBaseDao().executeUpdate(sql);
@@ -137,7 +150,12 @@ public class BmfileListenerDao extends BaseDAOManager {
                 && changeDate < psnJobAfter.getBegindate().getDay()) {
             return;
         }
-        String sql = "update bm_data set pk_psnjob = '" + psnJobAfter.getPk_psnjob()+ "',glbdef1 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "',glbdef2 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "' where pk_psndoc = '" + psnJobAfter.getPk_psndoc() + "' and checkflag = 'N'";
+        // 20231018 dzz 社保档案新增 责任组织部门 变更前 job_pk_org pk_dept 与 bm_glbdef3财务责任组织  和 bm_glbdef4 财务责任部门  一致 就要变成新的   不一致就不管
+        String sql = " UPDATE bm_data b  SET b.GLBDEF3 = '" + psnJobAfter.getPk_org() + "' ,b.GLBDEF4 = '" + psnJobAfter.getPk_dept() + "' WHERE b.pk_bm_data IN ( " +
+                " SELECT bd.pk_bm_data FROM bm_data bd JOIN BD_PSNJOB job on job.PK_PSNJOB = bd.PK_PSNJOB " +
+                " WHERE bd.checkflag = 'N' AND bd.GLBDEF3 = job.PK_ORG  AND bd.GLBDEF4 = job.PK_DEPT AND bd.PK_PSNJOB = '" + psnJobAfter.getPk_psnjob() + "') ";
+        getBaseDao().executeUpdate(sql);
+         sql = "update bm_data set pk_psnjob = '" + psnJobAfter.getPk_psnjob()+ "',glbdef1 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "',glbdef2 = '" + psnJobAfter.getAttributeValue("jobglbdef6") + "' where pk_psndoc = '" + psnJobAfter.getPk_psndoc() + "' and checkflag = 'N'";
         sql += filterSql;
         getBaseDao().executeUpdate(sql);
         updateBmDataMulVer(psnJobAfter.getPk_psnjob(), filterSql);