/* * modifyEmployeeExcludeFlag * * @content: 社員コード及び除外/非除外より、当該教育プランの社員を除外/除外解除する * * @param : 社員コードリスト * * @return : 更新成功->true 更新失敗->false */ public boolean modifyEmployeeExcludeFlag(ExcludeFlagDataList employeeDataList) throws EducationManagementException { BusObjectIterator<ExcludeFlagData> dataList = employeeDataList.getDataListObjects(); try { // 繰り返しで、受講対象者の除外区分を更新する。 while (dataList.hasMoreElements()) { ExcludeFlagData data = dataList.nextElement(); EDU_TRAINEE.modifyEmployeeExcludeFlag( data.getPlanID(), data.getEmployeeCD(), data.getExcludeFlag()); } } catch (Exception e) { // システムエラーが発生する場合、 EducationManagementException educationManagementException = new EducationManagementException( e, // ここでeをEducationManagementExceptionのコンストラクタへ渡す ErrorMessages.E10002, new Object[] {EducationManagementConst.TBL_NAME_EDU_TRAINEE}); LOGGER.error( educationManagementException, ErrorMessages.E10002, new Object[] {EducationManagementConst.TBL_NAME_EDU_TRAINEE}); throw educationManagementException; } // 更新処理は成功 return true; }
/* * getEmployeeInfoByPlanID * * @content: 教育プランIDより、該当教育プランの社員情報を取得する * * @param : 教育プランID,カーソル * * @return : 該当教育プランの社員情報 */ public BusObjectIterator< jp.co.intasect.educationmanagement.service.manageeduprogress.EmployeeData> getEmployeeInfoByPlanID(String planID, com.cordys.cpc.bsf.query.Cursor cursor) throws EducationManagementException { ArrayList<EmployeeData> arrResult = new ArrayList<EmployeeData>(); EducationManagementUtil util = new EducationManagementUtil(); int response = -1; String employeeCdList = ""; try { // 受講対象者テーブルのBusObjectの全件取得用メソッドをコールする BusObjectIterator<EDU_TRAINEE> arrEduEmployee = EDU_TRAINEE.getEmployeeInfoByPlanID(planID); // 一つずつ受講対象者を戻る結果にセットする while (arrEduEmployee.hasMoreElements()) { EmployeeData data = new EmployeeData(); EDU_TRAINEE eduEmployee = arrEduEmployee.nextElement(); data.setEmployeeCD(eduEmployee.getEMPLOYEE_CD()); // 社員コード data.setPassDate(eduEmployee.getPASS_DATE()); // 合格日 data.setGradingDate(eduEmployee.getGRADING_DATE()); // 採点日 data.setTrainee(eduEmployee.getTRAINEE()); // 受講者開始日 data.setGradingNum(eduEmployee.getGRADING_NUM()); // 採点回数 data.setFirstScore(eduEmployee.getFIRST_SCORE()); // 初回点数 data.setLastScore(eduEmployee.getLAST_SCORE()); // 最終点数 data.setExcludeFlag(eduEmployee.getEXCLUDE_FLG()); // 除外区分 data.setEmployeeName(""); // 社員名前 data.setEmployeeNameKana(""); // 社員名前片仮名 data.setHireName(""); // 雇用区分 data.setAssignOrgName(""); // 所属 data.setWorkLocation(""); // 勤務地 // 社員基本情報を取得したい社員CDを組み込む if ("".equals(employeeCdList)) { employeeCdList = data.getEmployeeCD(); } else { employeeCdList = employeeCdList + "," + data.getEmployeeCD(); } arrResult.add(data); } // 社員基本情報を取得する response = util.getEmployeeByRequestTypeAndEmployeeCd( EducationManagementConst.EMPLOYEE_TYPE_SPECIAL, employeeCdList); // 情報を取得する場合 if (response > 0) { // 基本情報と受講情報を組み込む for (int i = 0; i < arrResult.size(); i++) { // 一件基本情報を取得する EmployeeData employeeData = (EmployeeData) arrResult.get(i); XPath listPath = XPath.getXPathInstance( ".//*[local-name()='employeeCd' and text()= '" + employeeData.getEmployeeCD() + "']/parent::*"); // 親ノード配列を取得する NodeSet oNodeSet = listPath.selectNodeSet(response); // 繰り返しで親ノードを取得する while (oNodeSet.hasNext()) { // 一つ親ノードを取得する long iResultNode = oNodeSet.next(); // 属性ではない、ノードの場合 if (!ResultNode.isAttribute(iResultNode)) { int iNode = ResultNode.getElementNode(iResultNode); // 社員名前 employeeData.setEmployeeName(Node.getDataElement(iNode, "employeeName", null)); // 社員名前片仮名 employeeData.setEmployeeNameKana( Node.getDataElement(iNode, "employeeNameKana", null)); // 雇用区分 employeeData.setHireName(Node.getDataElement(iNode, "hireName", null)); // 所属 employeeData.setAssignOrgName(Node.getDataElement(iNode, "assignOrgName", null)); // 勤務地 employeeData.setWorkLocation(Node.getDataElement(iNode, "workLocation", null)); } } } } // 結果を返却する BusObjectIterator<EmployeeData> result = new BusObjectArray<EmployeeData>(arrResult); return result; } catch (Exception e) { // システムエラーが発生する場合、 EducationManagementException educationManagementException = new EducationManagementException( e, // ここでeをEducationManagementExceptionのコンストラクタへ渡す ErrorMessages.E10004, new Object[] {EducationManagementConst.TBL_NAME_EDU_TRAINEE}); LOGGER.error( educationManagementException, ErrorMessages.E10004, new Object[] {EducationManagementConst.TBL_NAME_EDU_TRAINEE}); throw educationManagementException; } }