Răsfoiți Sursa

1.入职单携带offer信息

Tyx 5 zile în urmă
părinte
comite
2d6e06c10b

+ 2 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/hom/formplugin/OnbrdOfferInfoEditEx.java

@@ -35,6 +35,8 @@ public class OnbrdOfferInfoEditEx extends AbstractFormPlugin implements Plugin {
         }
         //查询offer数据
         Long offerId = bill.getLong("offerid");
+        if(offerId == 0L)
+            return;
         DynamicObject offerDyn = BusinessDataServiceHelper.loadSingle(offerId, OFFER_ENTITY);
         //赋值
         bill.set("nckd_isgrrz", false);

+ 3 - 1
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/hrmp/hbpm/task/SyncPersonTask.java

@@ -100,6 +100,7 @@ public class SyncPersonTask extends AbstractTask implements Plugin {
     public DataSet getChangePerson() {
         //获取人员查询sql
         StringBuilder sb = SyncUtil.getPersonQuerySql();
+        StringBuilder updatePartSb = SyncUtil.getPersonPartTimeChangeSql(startTime, endTime);
         //修改日期
         sb.append("   and (");
         sb.append("   (to_char(person.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(person.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' ) or \n");
@@ -115,7 +116,8 @@ public class SyncPersonTask extends AbstractTask implements Plugin {
         sb.append("   (to_char(m.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(m.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' ) or \n");
         sb.append("   (to_char(pos.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(pos.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' ) or \n");
         sb.append("   (to_char(pos1.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(pos1.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' ) or \n");
-        sb.append("   (a.fid in (select fpersonid from t_hrpi_ermanfile where to_char(fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(fmodifytime,'yyyy-MM-dd hh24:mi:ss') >= '"+startTime+"')) \n");
+        sb.append("   (a.fid in (select fpersonid from t_hrpi_ermanfile where to_char(fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(fmodifytime,'yyyy-MM-dd hh24:mi:ss') >= '"+startTime+"')) or \n");
+        sb.append("   (a.fid in (" + updatePartSb.toString() + ") \n");
         sb.append("   )");
         log.info("-------- 查询人员sql :" + sb.toString() + " -------- ");
         DataSet dataSet = DB.queryDataSet(this.getClass().getName(), DBRoute.of("hr"), sb.toString());

+ 22 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/hrmp/hbpm/task/SyncUtil.java

@@ -475,6 +475,28 @@ public class SyncUtil {
         return sb;
     }
 
+    /**
+     * 获取兼职变动sql
+     * 主要处理兼职岗位或者上级岗位有更新的情况
+     * @return
+     */
+    public static StringBuilder getPersonPartTimeChangeSql (String startTime, String endTime) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("/*dialect*/ select a.fpersonId \n");
+        sb.append(" from t_hrpi_ermanfile a \n");
+        sb.append(" left join t_hrpi_erfiletype b on a.ffiletypeid = b.fid \n");
+        sb.append(" left join t_hbss_postype c on b.fpostypeid = c.fid \n");
+        sb.append(" left join t_hrpi_empposorgrel d on d.fid = a.fempposrelid \n");
+        sb.append(" left join t_hbpm_position pos on pos.fid = d.fpositionid \n");
+        sb.append(" left join t_hbpm_position pos1 on pos1.fid = pos.fparentid  \n");
+        sb.append(" where c.fnumber = '1020_S' \n");
+        sb.append("   and a.fiscurrentversion = '1' \n");
+        sb.append("   and a.fdatastatus = '1' \n");
+        sb.append("   and (( to_char(pos.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(pos.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' ) \n");
+        sb.append("   or (to_char(pos1.fmodifytime,'yyyy-MM-dd hh24:mi:ss') <= '"+endTime+"' and to_char(pos1.fmodifytime,'yyyy-MM-dd hh24:mi:ss') >=  '"+startTime+"' )) ");
+        return sb;
+    }
+
     /**
      * 获取兼职档案, 人员ID - JSONArray数据
      *