package com.cabletech.business.assess.dao; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Repository; import com.cabletech.business.assess.model.AssessAppealForm; import com.cabletech.common.base.BaseDao; import com.cabletech.common.util.DateUtil; import com.cabletech.common.util.Page; /** * 考核管理-申诉记录 * * @author wj 2012-08-02 创建 * */ @Repository @SuppressWarnings("all") public class AssessAppealFormDao extends BaseDao { /** * 查询申诉列表 * * @param parameters * 查询参数 * @param page * 分页参数 * @return page */ public Page queryAppealFormList(Map<String, String> parameters, Page page) { StringBuffer sb = new StringBuffer(); sb.append(" select t.id,to_char(res.appraise_month,'yyyy')||'年'||to_char(res.appraise_month,'mm')||'月份' as appraisemonth,reg.regionname, "); sb.append(" tab.table_name,res.appraise_month,res.score,res.region_id,org.orgname,t.cause,us.username,to_char(t.APPEAL_TIME,'yyyy-mm-dd') as APPEAL_TIME from MM_APPEALFORM t "); sb.append(" join mm_examinationresults res on res.id = t.exam_result_id "); sb.append(" join mm_appraise_table tab on tab.id = res.table_id "); sb.append(" left join view_org org on t.contractor_id = org.id "); sb.append(" left join view_userinfo us on us.sid = t.complainant "); sb.append(" left join view_region reg on reg.regionid = res.region_id "); sb.append(" where 1=1 "); if (StringUtils.isNotBlank(parameters.get("appraiseMonth"))) { sb.append(" and res.appraise_month = to_date('" + parameters.get("appraiseMonth") + "-01','yyyy-mm-dd') "); } if (StringUtils.isNotBlank(parameters.get("orgId"))) { sb.append(" and t.contractor_id = '" + parameters.get("orgId") + "' "); } if (StringUtils.isNotBlank(parameters.get("regionId"))) { sb.append(" and res.region_id = any(select regionid from view_region start with regionid='" + parameters.get("regionId") + "' connect by prior regionid=parentid) "); } if (StringUtils.isNotBlank(parameters.get("tableId"))) { sb.append(" and res.table_id = '" + parameters.get("tableId") + "' "); } sb.append(" order by t.APPEAL_TIME "); return super.findSQLPage(page, sb.toString()); } /** * 查询申诉待办列表 * * @param parameters * 查询参数 * @param page * 分页参数 * @return page */ public Page queryWaitHandledList(Map<String, String> parameters, Page page) { StringBuffer sb = new StringBuffer(); sb.append(" SELECT TAB.TABLE_NAME, "); sb.append(" TO_CHAR(RES.APPRAISE_MONTH,'YYYY')||'年'||TO_CHAR(RES.APPRAISE_MONTH,'MM')||'月份' AS APPRAISE_MONTH, "); sb.append(" RES.SCORE,REG.REGIONNAME,ORG.ORGNAME,T.CAUSE,US.USERNAME, "); sb.append(" TO_CHAR(T.APPEAL_TIME,'YYYY-MM-DD') AS APPEAL_TIME, "); sb.append(" TASK.* FROM MM_APPEALFORM T "); sb.append(" JOIN VIEW_JBPM_USERTASK TASK ON TASK.BZID = T.ID "); sb.append(" JOIN MM_EXAMINATIONRESULTS RES ON RES.ID = T.EXAM_RESULT_ID "); sb.append(" JOIN MM_APPRAISE_TABLE TAB ON TAB.ID = RES.TABLE_ID "); sb.append(" LEFT JOIN VIEW_ORG ORG ON T.CONTRACTOR_ID = ORG.ID "); sb.append(" LEFT JOIN VIEW_USERINFO US ON US.SID = T.COMPLAINANT "); sb.append(" LEFT JOIN VIEW_REGION REG ON REG.REGIONID = RES.REGION_ID "); sb.append(" WHERE 1=1 "); sb.append(" AND EXISTS( "); sb.append(" SELECT BR.ID FROM BASE_ROLE BR "); sb.append(" JOIN BASE_USERROLE BUR ON BR.ID=BUR.ROLEID "); sb.append(" JOIN VIEW_USERINFO VU ON VU.ID=BUR.USERID "); sb.append(" WHERE BR.ROLENAME=TASK.GROUPID_ "); sb.append(" AND VU.SID='" + parameters.get("userId") + "' "); sb.append(" UNION "); sb.append(" SELECT VU.ID FROM VIEW_USERINFO VU "); sb.append(" WHERE TASK.ASSIGNEE_=VU.SID "); sb.append(" AND VU.SID='" + parameters.get("userId") + "' "); sb.append(" ) "); return super.findSQLPage(page, sb.toString()); } /** * 查询申诉 * * @param id * String * @return page */ public Map<String, Object> queryAppealForm(String id) { StringBuffer sb = new StringBuffer(); sb.append(" select to_char(res.appraise_month,'yyyy')||'年'||to_char(res.appraise_month,'mm')||'月份' as appraisemonth, "); sb.append(" t.*,t.score as appealscore,tab.table_name,res.appraise_month,res.score,res.region_id,reg.regionname,org.orgname,us.username,vu.username as reviewername from MM_APPEALFORM t "); sb.append(" join mm_examinationresults res on res.id = t.exam_result_id "); sb.append(" join mm_appraise_table tab on tab.id = res.table_id "); sb.append(" left join view_org org on t.contractor_id = org.id "); sb.append(" left join view_userinfo us on us.sid = t.complainant "); sb.append(" left join view_region reg on reg.regionid = res.region_id "); sb.append(" left join view_userinfo vu on vu.sid = t.reviewer "); sb.append(" where t.id = '" + id + "' "); return jdbcTemplate.queryForMap(sb.toString()); } /** * 查询考核结果调整 * * @param appealFormId * String 查询参数 */ public List<Map<String, Object>> queryAdjusstmentList(String appealFormId) { StringBuffer sb = new StringBuffer(); sb.append(" select * from mm_resultadjusstment t where t.appealform_id = '" + appealFormId + "' "); return jdbcTemplate.queryForList(sb.toString()); } /** * 删除考核结果调整 * * @param appealFormId * String 查询参数 */ public void delAdjusstmentByAppealId(String appealFormId) { StringBuffer sb = new StringBuffer(); sb.append(" delete mm_resultadjusstment t where t.appealform_id = '" + appealFormId + "' "); this.getJdbcTemplate().update(sb.toString()); } /** * 获取能申诉的月考核结果列表 (查询上个月的月考核列表) * * @param parameter * Map<String,String> * @return List<Map<String,Object>> */ public List<Map<String, Object>> queryCanAppealResultList( Map<String, String> parameter) { StringBuffer sql = new StringBuffer(""); sql.append(" select to_char(t.appraise_month,'yyyy')||'年'||to_char(t.appraise_month,'mm')||'月份' as appraisemonth, "); sql.append(" t.*,org.orgname,reg.regionname,tab.id as tableid,tab.table_name from mm_examinationresults t "); sql.append(" left join view_org org on t.contractor_id = org.id "); sql.append(" left join view_region reg on t.region_id = reg.regionid "); sql.append(" left join mm_appraise_table tab on tab.id = t.table_id "); sql.append(" where tab.table_type <>'" + AssessAppealForm.TABLETYPE_EXAMINATION + "' "); sql.append(" and (t.appraise_month=to_date('" + DateUtil.getPreviousMonth() + "','yyyy-mm-dd') or tab.table_type = '" + AssessAppealForm.TABLETYPE_YEAR + "') "); if (StringUtils.isNotBlank(parameter.get("orgId"))) { sql.append(" and t.contractor_id='"); sql.append(parameter.get("orgId")); sql.append("' "); } // if (StringUtils.isNotBlank(parameter.get("regionId"))) { // sql.append(" and t.region_id='"); // sql.append(parameter.get("regionId")); // sql.append("' "); // } return super.getSQLALL(sql.toString()); } }