Parcourir la source

云学堂对接,培训导入,自定义接收者

chenzhfa il y a 3 ans
Parent
commit
9d1f1fb175

+ 1 - 1
hrhi/resources/cloudapi.properties

@@ -6,5 +6,5 @@
 #prod
 cloudapi.apikey=e8765865-58b1-4d11-8c33-95e6b5336fea
 cloudapi.secretKey=54705a73-1f8f-43f0-baff-6b9b6c964a87
-cloudapi.url=https://sdcs-api-dpb.yunxuetang.cn
+cloudapi.url=http://sdcs-api-dpb.yunxuetang.cn
 

+ 1 - 1
hrhi/src/private/nc/impl/hi/psndoc/PsndocTrainServiceImpl.java

@@ -96,7 +96,7 @@ public class PsndocTrainServiceImpl implements IPsndocTrainService {
 		sbSql.append("	where  ");
 		sbSql.append("	bd_psndoc.code = '").append(trainVO.getPsnCode()).append("' and  ");
 		sbSql.append("	hi_psnorg.indocflag = 'Y' and  ");
-		sbSql.append("	hi_psnorg.lastflag = 'Y'   ");
+		sbSql.append("	hi_psnorg.lastflag = 'Y'  and hi_psnjob.lastflag = 'Y' and hi_psnjob.endflag = 'N' and hi_psnorg.endflag = 'N' and hi_psnjob.ismainjob = 'Y' ");
 		TrainVO[] trainVOs = this.executeQueryVOs(sbSql.toString());
 		if(trainVOs != null && trainVOs.length > 0) {
 			trainVO.setPk_psnjob(trainVOs[0].getPk_psnjob());

+ 2 - 1
hrhi/src/private/nc/impl/hr/train/CloudOnlineuserknowledgePlugin.java

@@ -97,6 +97,7 @@ public class CloudOnlineuserknowledgePlugin implements IBackgroundWorkPlugin {
 				updateDate = sdf.format(c.getTime());
 				c.add(Calendar.DAY_OF_MONTH, 30-nums);
 				updateEndDate = sdf.format(c.getTime());
+				months = Integer.valueOf(arg0.getKeyMap().get("nums").toString());
 			}
 		} else {
 			c.add(Calendar.DAY_OF_MONTH, -1);
@@ -119,7 +120,7 @@ public class CloudOnlineuserknowledgePlugin implements IBackgroundWorkPlugin {
 			c.setTime(today);
 			for(int i = 0; i < months; i++) {
 				updateEndDate = sdf.format(c.getTime());
-				c.add(Calendar.MONTH, -1);
+				c.add(Calendar.MONTH, -(i+1));
 				updateDate = sdf.format(c.getTime());
 				bodyMap.put("updateDate", updateDate);
 				bodyMap.put("updateEndDate", updateEndDate);

+ 139 - 0
hrhi/src/public/nc/bs/hrhi/common/HrkqMgrReceiver.java

@@ -0,0 +1,139 @@
+package nc.bs.hrhi.common;
+import java.util.ArrayList;
+import java.util.List;
+
+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.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;
+import nc.vo.pub.pf.plugin.ReceiverVO;
+import nc.vo.sm.UserVO;
+
+public class HrkqMgrReceiver implements IPfMsgCustomReceiver {
+
+	@Override
+	public ReceiverVO[] createReceivers() {
+		ReceiverVO lrr = new ReceiverVO();
+		lrr.setName("假勤管理员");
+		lrr.setCode("hrkqMgr");
+		return new ReceiverVO[] {lrr};
+	}
+
+	@Override
+	public UserVO[] queryUsers(ReceiverVO arg0, PfParameterVO paravo) {
+		return queryOperatorByPsn(paravo);
+	}
+
+	private UserVO[] queryOperatorByPsn(PfParameterVO paravo) {
+		try {
+			String pk_psndoc = null;
+			String pk_psnjob = null;
+			String pk_dept = null;
+			if(paravo.m_preValueVo.getParentVO() != null) {
+//				pk_psndoc = (String) paravo.m_preValueVo.getParentVO().getAttributeValue("pk_psndoc");
+				pk_psnjob = (String) paravo.m_preValueVo.getParentVO().getAttributeValue("pk_psnjob");
+			}
+			List<UserVO> list = new ArrayList();
+			Logger.debug("测试日志1:"+pk_psndoc+"有人员");
+			//单据人员的组织和这个职责所关联的人员的组织相同噢
+			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);
+					}
+				}
+			}
+			
+			return list.toArray(new UserVO[0]);
+			
+		} catch (Exception e) {
+			Logger.debug("测试日志3:"+e.getMessage());
+			ExceptionHandler.handleExceptionRuntime(e);
+		}
+		return new UserVO[0];
+	}
+	
+	public PsnJobVO 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");
+//
+//	    where.append(" and bd_psndoc.pk_psndoc = ");
+//	    if (StringUtils.isNotBlank(pk_psndoc)) {
+//	      where.append("'" + pk_psndoc + "'");
+//	    }  
+		
+//	    List<PsnJobVO> psnJobList = null;
+//	    try {
+//			psnJobList = ((IPsndocQryService)NCLocator.getInstance().lookup(IPsndocQryService.class)).queryPsninfoByCondition(where.toString());
+//	    } catch (BusinessException e) {
+//	      Logger.error(e.getMessage(), e);
+//	    } 
+//	    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];
+			 }
+		} catch (BusinessException e) {
+	      Logger.error(e.getMessage(), e);
+	    } 
+		if (psnjobVO == null ) {
+	    	throw new BusinessException("找不到对应的工作记录");
+	    }
+	    return null;
+	}
+	
+	public UserVO[] queryUserByPkDept(String pk_dept) throws BusinessException{
+		StringBuffer sqlstr=new StringBuffer("");
+		sqlstr.append("select sm_user.*").append("\r\n");
+		sqlstr.append("  from sm_user").append("\r\n");
+		sqlstr.append("  left join bd_psndoc").append("\r\n");
+		sqlstr.append("    on bd_psndoc.pk_psndoc = sm_user.pk_psndoc").append("\r\n");
+		sqlstr.append(" inner join hi_psnorg").append("\r\n");
+		sqlstr.append("    on bd_psndoc.pk_psndoc = hi_psnorg.pk_psndoc").append("\r\n");
+		sqlstr.append(" inner join hi_psnjob").append("\r\n");
+		sqlstr.append("    on hi_psnorg.pk_psnorg = hi_psnjob.pk_psnorg").append("\r\n");
+		sqlstr.append(" left join sm_user_role").append("\r\n");
+		sqlstr.append("    on sm_user_role.cuserid = sm_user.cuserid").append("\r\n");
+		sqlstr.append(" left join sm_role").append("\r\n");
+		sqlstr.append("    on sm_role.pk_role = sm_user_role.pk_role").append("\r\n");
+		sqlstr.append(" left join sm_perm_func").append("\r\n");
+		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(" 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");
+		sqlstr.append("   and hi_psnorg.lastflag = 'Y'").append("\r\n");
+		sqlstr.append("   and hi_psnjob.lastflag = 'Y'").append("\r\n");
+		sqlstr.append("   and hi_psnjob.psntype = 0").append("\r\n");
+		sqlstr.append("   and hi_psnorg.indocflag = 'Y'").append("\r\n");
+		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));
+		if(userList != null && userList.size() > 0) {
+			return userList.toArray(new UserVO[0]);
+		}
+		return null;
+	}
+}

+ 27 - 0
hrhi/src/public/nc/hrhi/httpUtil/MyX509TrustManager.java

@@ -0,0 +1,27 @@
+package nc.hrhi.httpUtil;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import javax.net.ssl.X509TrustManager;
+
+public class MyX509TrustManager implements X509TrustManager {
+    /* (non-Javadoc)
+    * @see javax.net.ssl.X509TrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String)
+    */
+    public void checkClientTrusted(X509Certificate[] arg0, String arg1)
+            throws CertificateException {
+
+    }
+    /* (non-Javadoc)
+     * @see javax.net.ssl.X509TrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String)
+     */
+    public void checkServerTrusted(X509Certificate[] arg0, String arg1)
+            throws CertificateException {
+
+    }
+    /* (non-Javadoc)
+     * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers()
+     */
+    public X509Certificate[] getAcceptedIssuers() {
+        return null;
+    }
+}