chenzhfa 2 vuotta sitten
vanhempi
commit
ffe8f3df0f

+ 3 - 1
hrhi/src/client/nccloud/web/hrhi/psndoc/action/TrainImportInDBAction.java

@@ -110,7 +110,9 @@ public class TrainImportInDBAction extends HRCommonAction {
 			public int compare(TrainVO vo1, TrainVO vo2) {
 				if(vo1.getBegindate().compareTo(vo2.getBegindate()) > 0) {
 					return -1;
-				}else {
+				}else if(vo1.getBegindate().compareTo(vo2.getBegindate()) == 0){
+					return 0;
+				}else{
 					return 1;
 				}
 			}

+ 23 - 24
hrhi/src/public/nc/bs/hrhi/common/HrkqMgrReceiver.java

@@ -6,11 +6,10 @@ import com.alibaba.fastjson.JSONObject;
 
 import nc.bs.framework.common.NCLocator;
 import nc.bs.logging.Logger;
-import nc.itf.hi.IPsndocQryService;
 import nc.itf.uap.IUAPQueryBS;
 import nc.jdbc.framework.processor.BeanListProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
 import nc.vo.er.exception.ExceptionHandler;
-import nc.vo.hi.psndoc.PsnJobVO;
 import nc.vo.pub.BusinessException;
 import nc.vo.pub.compiler.PfParameterVO;
 import nc.vo.pub.pf.plugin.IPfMsgCustomReceiver;
@@ -42,18 +41,20 @@ public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
 				pk_psnjob = (String) paravo.m_preValueVo.getParentVO().getAttributeValue("pk_psnjob");
 			}
 			List<UserVO> list = new ArrayList();
-			Logger.debug("测试日志1:"+pk_psndoc+"有人员");
+			Logger.error("测试日志1:"+pk_psnjob+"有人员");
 			//单据人员的组织和这个职责所关联的人员的组织相同噢
 			if (pk_psnjob != null) {
 				if(pk_dept == null) {
-					PsnJobVO psnJobVO = this.queryPsnJob(pk_psnjob);
-					pk_dept = psnJobVO.getPk_dept();
-				}
-				UserVO[] users = this.queryUserByPkDept(pk_dept);
-				Logger.debug("测试日志2:"+JSONObject.toJSONString(users));
-				if(users != null && users.length > 0) {
-					for(UserVO vo : users) {
-						list.add(vo);
+					pk_dept = this.queryPsnJob(pk_psnjob);
+					Logger.error("测试日志4:"+pk_dept+"部门");
+					if(pk_dept != null) {
+						UserVO[] users = this.queryUserByPkDept(pk_dept);
+						Logger.error("测试日志2:"+JSONObject.toJSONString(users));
+						if(users != null && users.length > 0) {
+							for(UserVO vo : users) {
+								list.add(vo);
+							}
+						}
 					}
 				}
 			}
@@ -61,13 +62,13 @@ public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
 			return list.toArray(new UserVO[0]);
 			
 		} catch (Exception e) {
-			Logger.debug("测试日志3:"+e.getMessage());
+			Logger.error("测试日志3:"+e.getMessage());
 			ExceptionHandler.handleExceptionRuntime(e);
 		}
 		return new UserVO[0];
 	}
 	
-	public PsnJobVO queryPsnJob(String pk_psnjob) throws BusinessException{
+	public String queryPsnJob(String pk_psnjob) throws BusinessException{
 //	    StringBuffer where = new StringBuffer();
 //	    where.append(" bd_psndoc.dr = 0 and hi_psnorg.dr = 0 and hi_psnjob.dr = 0 and hi_psnorg.lastflag = 'Y' and hi_psnjob.lastflag = 'Y' and hi_psnjob.psntype = 0 and hi_psnorg.indocflag ='Y' and hi_psnjob.ismainjob = 'Y' and hi_psnjob.endflag = 'N' and bd_psndoc.enablestate = 2");
 //
@@ -85,18 +86,14 @@ public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
 //	    if (psnJobList == null ) {
 //	    	throw new BusinessException("找不到对应的工作记录");
 //	    }
-		PsnJobVO psnjobVO = null;
 		try {
-			 PsnJobVO[] psnjobs = ((IPsndocQryService)NCLocator.getInstance().lookup(IPsndocQryService.class)).queryPsnjobByPKs(new String[] {pk_psnjob});
-			 if(psnjobs != null) {
-				 psnjobVO = psnjobs[0];
-			 }
+			String sql = "select pk_dept from hi_psnjob where pk_psnjob = '"+pk_psnjob+"' and nvl(dr,0) = 0";
+			String pk_dept = (String) NCLocator.getInstance().lookup(IUAPQueryBS.class).executeQuery(sql, new ColumnProcessor());
+			return pk_dept;
 		} catch (BusinessException e) {
 	      Logger.error(e.getMessage(), e);
 	    } 
-		if (psnjobVO == null ) {
-	    	throw new BusinessException("找不到对应的工作记录");
-	    }
+		
 	    return null;
 	}
 	
@@ -118,6 +115,8 @@ public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
 		sqlstr.append("    on sm_perm_func.subjectid = sm_role.pk_role").append("\r\n");
 		sqlstr.append(" left join sm_responsibility").append("\r\n");
 		sqlstr.append("    on sm_responsibility.pk_responsibility = sm_perm_func.ruleid").append("\r\n");
+		sqlstr.append(" left join sm_subject_org ").append("\r\n");
+		sqlstr.append("    on sm_user_role.pk_role= sm_subject_org.subjectid ").append("\r\n");
 		sqlstr.append(" where bd_psndoc.dr = 0").append("\r\n");
 		sqlstr.append("   and hi_psnorg.dr = 0").append("\r\n");
 		sqlstr.append("   and hi_psnjob.dr = 0").append("\r\n");
@@ -128,9 +127,9 @@ public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
 		sqlstr.append("   and hi_psnjob.ismainjob = 'Y'").append("\r\n");
 		sqlstr.append("   and hi_psnjob.endflag = 'N'").append("\r\n");
 		sqlstr.append("   and bd_psndoc.enablestate = 2").append("\r\n");
-		sqlstr.append("   and sm_responsibility.name = '假勤管理'").append("\r\n");
-		sqlstr.append("   and hi_psnjob.pk_dept = '"+pk_dept+"'"); 
-		List<UserVO> userList = (List<UserVO>) NCLocator.getInstance().lookup(IUAPQueryBS.class).executeQuery(sqlstr.toString(), new BeanListProcessor(UserVO.class));
+		sqlstr.append("   and sm_responsibility.name = '假勤管理'").append("\r\n");
+		sqlstr.append("   and sm_subject_org.pk_org = '"+pk_dept+"'"); 
+		List<UserVO> userList = (List<UserVO>)  NCLocator.getInstance().lookup(IUAPQueryBS.class).executeQuery(sqlstr.toString(), new BeanListProcessor(UserVO.class));
 		if(userList != null && userList.size() > 0) {
 			return userList.toArray(new UserVO[0]);
 		}