|
@@ -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]);
|
|
|
}
|