package com.cabletech.business.assess.dao; import java.util.List; import java.util.Map; import org.springframework.stereotype.Repository; import com.cabletech.business.assess.model.AssessAppealForm; import com.cabletech.business.assess.model.AssessExaminationResult; import com.cabletech.common.base.BaseDao; /** * 月度考核成绩生成Dao * * @author 杨隽 2012-08-08 创建 * */ @Repository public class AssessScoreQueryDao extends BaseDao<AssessExaminationResult, String> { /** * 获取区域列表信息 * * @param regionId * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getRegionList(String regionId) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT * FROM VIEW_REGION VR "); sql.append(" WHERE REGIONID LIKE '%00' "); sql.append(" AND REGIONID NOT LIKE '%0000' "); sql.append(" START WITH VR.REGIONID='"); sql.append(regionId); sql.append("' "); sql.append(" CONNECT BY PRIOR VR.REGIONID=VR.PARENTID "); return super.getSQLALL(sql.toString()); } /** * 获取组织专业类型列表 * * @param regionId * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getOrgBusinessTypeList(String regionId) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT VO.ID AS ORGID,VO.NAME,VO.REGIONID,VO.REGIONNAME, "); sql.append(" R.RESOURCEID,DIC.LABLE AS BUSINESS_TYPE, "); sql.append(" DIC.CODEVALUE AS B_ID,TO_CHAR(MSW.WEIGHING,'FM990.00') AS WEIGHING, "); sql.append(" '' AS SCORE_01,'' AS SCORE_02,'' AS SUM_SCORE,'' AS SUM_WEIGHT_SCORE "); sql.append(" FROM VIEW_ORG VO "); sql.append(" JOIN RESPONSIBLE R ON VO.ID=R.CONTRACTORID "); sql.append(" JOIN MM_SPECIALTYWEIGHING MSW "); sql.append(" ON MSW.SPECIALTY_TYPE=R.RESOURCEID"); sql.append(" JOIN BASE_SYSDICTIONARY DIC "); sql.append(" ON DIC.CODEVALUE=R.RESOURCEID "); sql.append(" AND DIC.COLUMNTYPE='BUSINESSTYPE'"); sql.append(" WHERE VO.ORGTYPE='2' "); sql.append(" AND VO.REGIONID='"); sql.append(regionId); sql.append("' "); return super.getSQLALL(sql.toString()); } /** * 获取地市的专业考核成绩 * * @param regionId * String * @param yearMonth * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getOrgCityAssessScoreList(String regionId, String yearMonth) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT TO_CHAR(MER.SCORE,'FM990.00') AS SCORE, "); sql.append(" MER.CONTRACTOR_ID,MAT.BUSINESS_TYPE "); sql.append(" FROM MM_EXAMINATIONRESULTS MER "); sql.append(" JOIN MM_APPRAISE_TABLE MAT ON MAT.ID=MER.TABLE_ID "); sql.append(" WHERE MER.APPRAISE_MONTH=TO_DATE('"); sql.append(yearMonth); sql.append("','yyyy-mm-dd') "); sql.append(" AND MER.REGION_ID='"); sql.append(regionId); sql.append("' "); sql.append(" AND MER.STATE='"); sql.append(AssessExaminationResult.END_STATE); sql.append("'"); return super.getSQLALL(sql.toString()); } /** * 获取地市的申诉成绩 * * @param regionId * String * @param yearMonth * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getOrgCityAppealScoreList(String regionId, String yearMonth) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT TO_CHAR(MAF.SCORE,'FM990.00') AS SCORE, "); sql.append(" MAF.CONTRACTOR_ID,MAT.BUSINESS_TYPE "); sql.append(" FROM MM_APPEALFORM MAF"); sql.append(" JOIN MM_EXAMINATIONRESULTS MER ON MAF.EXAM_RESULT_ID=MER.ID "); sql.append(" JOIN MM_APPRAISE_TABLE MAT ON MAT.ID=MER.TABLE_ID "); sql.append(" WHERE MER.APPRAISE_MONTH=TO_DATE('"); sql.append(yearMonth); sql.append("','yyyy-mm-dd') "); sql.append(" AND MER.REGION_ID='"); sql.append(regionId); sql.append("' "); sql.append(" AND MAF.CHECK_RESULT='pass' "); sql.append(" AND MAF.AUDITING_STATE='"); sql.append(AssessAppealForm.END_STATE); sql.append("' "); return super.getSQLALL(sql.toString()); } /** * 获取县区的专业考核成绩 * * @param regionId * String * @param yearMonth * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getOrgCountyAssessScoreList( String regionId, String yearMonth) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT TO_CHAR(MER.SCORE,'FM990.00') AS SCORE, "); sql.append(" MER.CONTRACTOR_ID,MAT.BUSINESS_TYPE "); sql.append(" FROM MM_EXAMINATIONRESULTS MER "); sql.append(" JOIN MM_APPRAISE_TABLE MAT ON MAT.ID=MER.TABLE_ID "); sql.append(" WHERE MER.APPRAISE_MONTH=TO_DATE('"); sql.append(yearMonth); sql.append("','yyyy-mm-dd') "); sql.append(" AND EXISTS( "); sql.append(" SELECT RE.REGIONID FROM VIEW_REGION RE "); sql.append(" WHERE RE.REGIONID=MER.REGION_ID AND RE.REGIONID<>'"); sql.append(regionId); sql.append("' "); sql.append(" START WITH RE.REGIONID='"); sql.append(regionId); sql.append("' CONNECT BY PRIOR RE.REGIONID=RE.PARENTID "); sql.append(" ) "); sql.append(" AND MER.STATE='"); sql.append(AssessExaminationResult.END_STATE); sql.append("'"); return super.getSQLALL(sql.toString()); } /** * 获取县区的申诉成绩 * * @param regionId * String * @param yearMonth * String * @return List<Map<String, Object>> */ public List<Map<String, Object>> getOrgCountyAppealScoreList( String regionId, String yearMonth) { StringBuffer sql = new StringBuffer(""); sql.append(" SELECT TO_CHAR(MAF.SCORE,'FM990.00') AS SCORE, "); sql.append(" MAF.CONTRACTOR_ID,MAT.BUSINESS_TYPE "); sql.append(" FROM MM_APPEALFORM MAF"); sql.append(" JOIN MM_EXAMINATIONRESULTS MER ON MAF.EXAM_RESULT_ID=MER.ID "); sql.append(" JOIN MM_APPRAISE_TABLE MAT ON MAT.ID=MER.TABLE_ID "); sql.append(" WHERE MER.APPRAISE_MONTH=TO_DATE('"); sql.append(yearMonth); sql.append("','yyyy-mm-dd') "); sql.append(" AND EXISTS( "); sql.append(" SELECT RE.REGIONID FROM VIEW_REGION RE "); sql.append(" WHERE RE.REGIONID=MER.REGION_ID AND RE.REGIONID<>'"); sql.append(regionId); sql.append("' "); sql.append(" START WITH RE.REGIONID='"); sql.append(regionId); sql.append("' CONNECT BY PRIOR RE.REGIONID=RE.PARENTID "); sql.append(" ) "); sql.append(" AND MAF.CHECK_RESULT='pass' "); sql.append(" AND MAF.AUDITING_STATE='"); sql.append(AssessAppealForm.END_STATE); sql.append("' "); return super.getSQLALL(sql.toString()); } }