package com.cabletech.business.wplan.plan.service.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.cabletech.business.wplan.plan.dao.PatrolanalysisDao; import com.cabletech.business.wplan.plan.dao.PatrolinfoExecuteDao; import com.cabletech.business.wplan.plan.model.Patrolinfo; import com.cabletech.business.wplan.plan.service.PatrolanalysisService; import com.cabletech.common.base.BaseDao; import com.cabletech.common.base.BaseServiceImpl; import com.cabletech.common.util.Page; /** * 巡检分析服务具体实现 * * @author Administrator * */ @Service @Transactional public class PatrolanalysisServiceImpl extends BaseServiceImpl<Patrolinfo, String> implements PatrolanalysisService { /** * 巡检执行信息DAO */ @Resource(name = "patrolinfoExecuteDao") private PatrolinfoExecuteDao patrolinfoExecuteDao; /** * 巡检分析信息DAO */ @Resource(name = "patrolanalysisDao") private PatrolanalysisDao patrolanalysisDao; /* * (non-Javadoc) * * @see com.cabletech.business.wplan.plan.service.PatrolanalysisService# * getAllPatrolCount(com.cabletech.business.wplan.plan.model.Patrolinfo) */ @Override @Transactional(readOnly = true) public Map<String, Object> getAllPatrolCount(Patrolinfo patrolinfo) { return patrolanalysisDao.getAllPatrolCount(patrolinfo); } @Override @Transactional(readOnly = true) public Page getPatrolGroupPatrolInfo(Patrolinfo patrolinfo, Page page) { // TODO Auto-generated method stub return patrolanalysisDao.getPatrolGroupPatrolInfo(patrolinfo, page); } /** * 获取巡检组图表数据 * * @param patrolinfo * Patrolinfo * @return */ @Override @Transactional(readOnly = true) public Map<String, Object> getPatrolGroupChart(Patrolinfo patrolinfo) { List<Map<String, Object>> patrolGroupList = patrolanalysisDao .getPatrolGroupPatrolList(patrolinfo); return getChartData(patrolGroupList, "PATROLGROUPNAME"); } /* * (non-Javadoc) * * @see * com.cabletech.business.wplan.plan.service.PatrolanalysisService#getPatrolInfo * (com.cabletech.business.wplan.plan.model.Patrolinfo, * com.cabletech.common.util.Page) */ @Override @Transactional(readOnly = true) public Page getPatrolInfo(Patrolinfo patrolinfo, Page page) { // TODO Auto-generated method stub return patrolinfoExecuteDao.getAllPatrolScheduleForSearch(patrolinfo, page); } /** * 获取巡检组图表数据 * * @param patrolinfo * Patrolinfo * @return */ @Override @Transactional(readOnly = true) public Map<String, Object> getPatrolOrgChart(Patrolinfo patrolinfo) { List<Map<String, Object>> orgList = patrolanalysisDao .getPatrolOrgList(patrolinfo); return getChartData(orgList, "ORGNAME"); } /** * 获取图表数据 * * @param list * List<Map<String,Object>> * @param name * String * @return */ private Map<String, Object> getChartData(List<Map<String, Object>> list, String name) { List<Map<String, Object>> orgList = list; // chart最后数据 Map<String, Object> chartdate = null; if (null != orgList && orgList.size() > 0) { chartdate = new HashMap<String, Object>(); // 巡检组名称 String patrolnames = "'"; // 已巡检资源数 String alrescounts = ""; // 未巡检资源数 String norescounts = ""; // 计划巡检数 String rescounts = ""; for (int i = 0; i < orgList.size(); i++) { patrolnames += orgList.get(i).get(name).toString() + "','"; alrescounts += orgList.get(i).get("PLANOVERRESCOUNT") .toString() + ","; norescounts += orgList.get(i).get("PLANLOSTRESCOUNT") .toString() + ","; rescounts += orgList.get(i).get("PLANRESCOUNT").toString() + ","; } if (patrolnames.length() != 1) { chartdate.put("PATROLNAMES", patrolnames.substring(0, patrolnames.length() - 2)); chartdate.put("ALRESCOUNTS", alrescounts.substring(0, alrescounts.length() - 1)); chartdate.put("NORESCOUNTS", norescounts.substring(0, norescounts.length() - 1)); chartdate.put("RESCOUNTS", rescounts.substring(0, rescounts.length() - 1)); } } return chartdate; } /** * 获取region下巡检组列表 * * @param patrolinfo * Patrolinfo * @param page * Page */ @Override @Transactional(readOnly = true) public Page getRegionPatrolInfo(Patrolinfo patrolinfo, Page page) { // TODO Auto-generated method stub return patrolanalysisDao.getPatrolRegionInfo(patrolinfo, page); } @Override protected BaseDao<Patrolinfo, String> getBaseDao() { // TODO Auto-generated method stub return patrolanalysisDao; } }