@Override public AcademicKPIWrapper getAllByAcademicYear(String getByAcademicYear) { String sqlpbp_work_type = " select * from pbp_work_type where academic_year ='" + getByAcademicYear + "'"; logger.info(" getAllByAcademicYear sqlpbp_work_type:" + sqlpbp_work_type); AcademicKPIWrapper academicKPIWrapper = new AcademicKPIWrapper(); List<PBPWorkType> pBPWorkTypeList = this.jdbcTemplate.query(sqlpbp_work_type, new PBPWorkTypeMapper()); for (PBPWorkType tmp : pBPWorkTypeList) { String sqlkpi = " select * from academic_kpi where academic_year ='" + getByAcademicYear + "' and work_type_code ='" + tmp.getCode() + "' order by order_no"; logger.info(" sqlkpi:" + sqlkpi); List<AcademicKPI> academicKPIList = null; try { academicKPIList = this.jdbcTemplate.query(sqlkpi, new AcademicKPIMapper()); } catch (org.springframework.dao.EmptyResultDataAccessException ex) { ex.printStackTrace(); } for (AcademicKPI tmpxx : academicKPIList) { String sqlAttribute = " select * from academic_kpi_attribute where academic_year ='" + tmpxx.getAcademicYear() + "' and academic_kpi_code ='" + tmpxx.getCode() + "'"; List<AcademicKPIAttribute> academicKPIAttributeList = new ArrayList(); try { academicKPIAttributeList = this.jdbcTemplate.query(sqlAttribute, new AcademicKPIAttributeMapper()); } catch (org.springframework.dao.EmptyResultDataAccessException ex) { ex.printStackTrace(); } tmpxx.setAcademicKPIAttributeList(academicKPIAttributeList); } tmp.setAcademicKPIList(academicKPIList); } academicKPIWrapper.setpBPWorkTypeList(pBPWorkTypeList); return academicKPIWrapper; }
@Override public Long create(AcademicKPI domain) { logger.info("domain : " + BeanUtils.getBeanString(domain)); final int nexCode = generateCodeUtil.getNextaAcademicKPI(domain); final AcademicKPI finalDomain = domain; KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update( new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement( "" + " insert into academic_kpi (name, code,work_type_code,mark,academic_year,unit_code,rule_code,order_no,description) values (?, ?,?,?,?,?,?,?,?)" + "", Statement.RETURN_GENERATED_KEYS); ps.setString(1, finalDomain.getName()); ps.setInt(2, nexCode); ps.setInt(3, new Integer(finalDomain.getWorkTypeCode())); ps.setBigDecimal(4, finalDomain.getMark()); ps.setString(5, finalDomain.getAcademicYear()); ps.setInt(6, new Integer(finalDomain.getUnitCode())); ps.setString(7, finalDomain.getMultiplyValue()); ps.setInt(8, new Integer(finalDomain.getOrderNo())); ps.setString(9, finalDomain.getDescription()); return ps; } }, keyHolder); Long returnid = keyHolder.getKey().longValue(); AcademicKPIAttribute academicKPIAttribute = new AcademicKPIAttribute(); academicKPIAttribute.setAcademicKPICode(nexCode + ""); academicKPIAttribute.setAcademicKPIId(returnid); academicKPIAttribute.setName("���ͧҹ"); // academicKPIAttribute.setMandatory("Y"); academicKPIAttribute.setAcademicYear(finalDomain.getAcademicYear()); addNewAttribute(academicKPIAttribute); return returnid; }
@Override public boolean isExistCreate(AcademicKPI domain) { boolean returnValue = false; try { String sqltmp = "select count(*) as totalItem from academic_kpi t where t.name='" + StringEscapeUtils.escapeSql(domain.getName()) + "' and t.work_type_code='" + domain.getWorkTypeCode() + "' and t.academic_year='" + domain.getAcademicYear() + "'"; Long found = this.jdbcTemplate.queryForLong(sqltmp); if (found != null && found.intValue() > 0) { returnValue = true; } } catch (Exception ex) { ex.printStackTrace(); } return returnValue; }
@Override public AcademicKPI getByCodeAcademicYear(String code, String getByAcademicYear) { String sql = " select * from academic_kpi where academic_year ='" + getByAcademicYear + "' and code ='" + code + "'"; logger.info(" sql:" + sql); AcademicKPI academicKPI = null; try { academicKPI = this.jdbcTemplate.queryForObject(sql, new AcademicKPIMapper()); } catch (org.springframework.dao.EmptyResultDataAccessException ex) { ex.printStackTrace(); } if (academicKPI != null) { // Get KPI Attribute String sqlAttribute = " select * from academic_kpi_attribute where academic_year ='" + getByAcademicYear + "' and academic_kpi_code ='" + code + "'"; List<AcademicKPIAttribute> academicKPIAttributeList = new ArrayList(); try { academicKPIAttributeList = this.jdbcTemplate.query(sqlAttribute, new AcademicKPIAttributeMapper()); } catch (org.springframework.dao.EmptyResultDataAccessException ex) { ex.printStackTrace(); } academicKPI.setAcademicKPIAttributeList(academicKPIAttributeList); } return academicKPI; }
@Override public AcademicKPI getById(String id) { String sql = " select * from academic_kpi where academic_kpi_id =" + id + ""; logger.info(" sql:" + sql); AcademicKPI academicKPI = academicKPI = this.jdbcTemplate.queryForObject(sql, new AcademicKPIMapper()); if (academicKPI != null) { String sqlAttribute = " select * from academic_kpi_attribute where academic_kpi_code ='" + academicKPI.getCode() + "' and academic_year='" + academicKPI.getAcademicYear() + "'"; logger.info(" sqlAttribute:" + sqlAttribute); List<AcademicKPIAttribute> academicKPIAttributeList = this.jdbcTemplate.query(sqlAttribute, new AcademicKPIAttributeMapper()); academicKPI.setAcademicKPIAttributeList(academicKPIAttributeList); } return academicKPI; }
@Override public AcademicKPI mapRow(ResultSet rs, int rowNum) throws SQLException { AcademicKPI domain = new AcademicKPI(); domain.setAcademicKPIId(rs.getLong("academic_kpi_id")); domain.setName(rs.getString("name")); domain.setCode(rs.getString("code")); domain.setWorkTypeCode(rs.getString("work_type_code")); domain.setDescription(rs.getString("description")); domain.setStatus(rs.getString("status")); domain.setAcademicYear(rs.getString("academic_year")); domain.setMark(rs.getBigDecimal("mark")); domain.setUnitCode(rs.getString("unit_code")); domain.setMultiplyValue(rs.getString("rule_code")); domain.setOrderNo(rs.getString("order_no")); domain.setSpecialP1(rs.getString("special_p1")); domain.setSpecialP2(rs.getString("special_p2")); domain.setSpecialP3(rs.getString("special_p3")); domain.setSpecialP4(rs.getString("special_p4")); domain.setTotalStudentFrom(rs.getString("total_student_from")); domain.setTotalStudentTo(rs.getString("total_student_to")); domain.setFromRegis(rs.getString("from_reg")); // logger.info(" ###### Multiply Value:"+rs.getString("rule_code")); try { domain.setUnitDesc( schoolUtil.getUnitDescMyCode(rs.getString("unit_code"), rs.getString("academic_year"))); } catch (org.springframework.dao.EmptyResultDataAccessException ex) { ex.printStackTrace(); } return domain; }
@Override public void edit(AcademicKPI domain) { logger.info("domain : " + BeanUtils.getBeanString(domain)); this.jdbcTemplate.update( "update academic_kpi set name=?,mark=?,unit_code=? ,rule_code=? ,order_no=?,description=? ," + " special_p1=?, special_p2=?, special_p3=?, special_p4=?, total_student_from=?, total_student_to=?,from_reg=? where academic_kpi_id=? ", domain.getName(), domain.getMark(), domain.getUnitCode(), domain.getMultiplyValue(), domain.getOrderNo(), domain.getDescription(), domain.getSpecialP1(), domain.getSpecialP2(), domain.getSpecialP3(), domain.getSpecialP4(), domain.getTotalStudentFrom(), domain.getTotalStudentTo(), domain.getFromRegis(), domain.getAcademicKPIId()); List<AcademicKPIAttribute> academicKPIAttributeList = domain.getAcademicKPIAttributeList(); if (academicKPIAttributeList != null && academicKPIAttributeList.size() > 0) { for (AcademicKPIAttribute tmp : academicKPIAttributeList) { logger.info(" checkValue:" + tmp.getIsCalculate()); String isCheckFlage = "on".equalsIgnoreCase(tmp.getIsCalculate()) ? "Y" : "N"; String isCheckFlage2 = "on".equalsIgnoreCase(tmp.getIsValidateNumber()) ? "Y" : "N"; logger.info( " Name :" + tmp.getName() + " isCal:" + isCheckFlage + " isValidateNumber:" + isCheckFlage2); this.jdbcTemplate.update( "update academic_kpi_attribute set name=?, is_calculate=?,is_validate_number=? where kpi_attribute_id=? ", tmp.getName(), isCheckFlage, isCheckFlage2, tmp.getAcademicKPIAtributeId()); } } }