|
|
@@ -178,9 +178,10 @@ public class StatisticServiceImpl implements StatisticService {
|
|
|
equipDTO.setIntactData(getEquipSituation());
|
|
|
|
|
|
// 各部门设备维护完成情况
|
|
|
-
|
|
|
+ equipDTO.setCompleteData(getEquipMaintenanceByDept());
|
|
|
|
|
|
// 各部门设备检定/校准完成情况
|
|
|
+ equipDTO.setVerificationData(getVerificationData());
|
|
|
|
|
|
// 检验科设备停用/报废列表
|
|
|
equipDTO.setScrapData(getEquipScrapList());
|
|
|
@@ -189,9 +190,68 @@ public class StatisticServiceImpl implements StatisticService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- private List<EquipMaintenanceDTO> getEquipMaintenanceByDept(){
|
|
|
+ private List<EquipCalibrationByPositionDTO> getVerificationData(){
|
|
|
+ String todoSql = "SELECT id_ from t_mjsbjdxzjh WHERE di_dian_='"+getDiDian()+"' and shi_fou_guo_shen_!='已完成' ";
|
|
|
+ String aldySql = "SELECT id_ from t_mjsbjdxzjh WHERE di_dian_='"+getDiDian()+"' and shi_fou_guo_shen_ ='已完成' ";
|
|
|
+ String sql = "SELECT p.name_,q.bian_zhi_bu_men_,COUNT(bian_zhi_bu_men_)as value from " +
|
|
|
+ " (SELECT name_,id_ from ibps_party_entity WHERE path_ like '%%%s%%' and DEPTH_>=3) p " +
|
|
|
+ " left join " +
|
|
|
+ " (SELECT bian_zhi_bu_men_ from t_mjsbjdxzjhzb WHERE parent_id_ in(%s) or record_parentid_ in(%s) ) q " +
|
|
|
+ " on q.bian_zhi_bu_men_=p.id_ GROUP BY p.id_";
|
|
|
+ todoSql = String.format(sql,getDiDian(),todoSql,todoSql);
|
|
|
+ aldySql = String.format(sql,getDiDian(),aldySql,aldySql);
|
|
|
+ List<Map<String, Object>> aldyList = (List<Map<String, Object>>) commonDao.query(aldySql);
|
|
|
+ List<Map<String, Object>> toDoList = (List<Map<String, Object>>) commonDao.query(todoSql);
|
|
|
+ Map<String, EquipCalibrationByPositionDTO> mergedMap = new HashMap<>();
|
|
|
+ for (Map<String, Object> entry : aldyList) {
|
|
|
+ String org = (String) entry.get("name_");
|
|
|
+ int count = ((Number) entry.get("value")).intValue();
|
|
|
+ EquipCalibrationByPositionDTO dto = mergedMap.getOrDefault(org, new EquipCalibrationByPositionDTO());
|
|
|
+ dto.setOrg(org);
|
|
|
+ dto.setNumW(count);
|
|
|
+ mergedMap.put(org, dto);
|
|
|
+ }
|
|
|
+ for (Map<String, Object> entry : toDoList) {
|
|
|
+ String org = (String) entry.get("name_");
|
|
|
+ int count = ((Number) entry.get("value")).intValue();
|
|
|
+ EquipCalibrationByPositionDTO dto = mergedMap.getOrDefault(org, new EquipCalibrationByPositionDTO());
|
|
|
+ dto.setOrg(org);
|
|
|
+ dto.setNumJ(count);
|
|
|
+ mergedMap.put(org, dto);
|
|
|
+ }
|
|
|
+ List<EquipCalibrationByPositionDTO> mergedList = new ArrayList<>(mergedMap.values());
|
|
|
+ return mergedList;
|
|
|
+ }
|
|
|
|
|
|
- return null;
|
|
|
+ private List<EquipMaintenanceDTO> getEquipMaintenanceByDept(){
|
|
|
+ String sql = "SELECT p.name_,q.bian_zhi_bu_men_,COUNT(bian_zhi_bu_men_)as value from " +
|
|
|
+ "(SELECT name_,id_ from ibps_party_entity WHERE path_ like '%%%s%%' and DEPTH_>=3) p " +
|
|
|
+ "left join " +
|
|
|
+ "(SELECT bian_zhi_bu_men_ from t_mjsbwhbyjlby WHERE shi_fou_guo_shen_='%s' and di_dian_='%s') q " +
|
|
|
+ " on q.bian_zhi_bu_men_=p.id_ GROUP BY p.id_ ";
|
|
|
+ String finishSql = String.format(sql,getDiDian(),"已完成",getDiDian());
|
|
|
+ String toDoSql = String.format(sql,getDiDian(),"待处理",getDiDian());
|
|
|
+ List<Map<String, Object>> aldyList = (List<Map<String, Object>>) commonDao.query(finishSql);
|
|
|
+ List<Map<String, Object>> toDoList = (List<Map<String, Object>>) commonDao.query(toDoSql);
|
|
|
+ Map<String, EquipMaintenanceDTO> mergedMap = new HashMap<>();
|
|
|
+ for (Map<String, Object> entry : aldyList) {
|
|
|
+ String org = (String) entry.get("name_");
|
|
|
+ int count = ((Number) entry.get("value")).intValue();
|
|
|
+ EquipMaintenanceDTO dto = mergedMap.getOrDefault(org, new EquipMaintenanceDTO());
|
|
|
+ dto.setOrg(org);
|
|
|
+ dto.setNumC(count);
|
|
|
+ mergedMap.put(org, dto);
|
|
|
+ }
|
|
|
+ for (Map<String, Object> entry : toDoList) {
|
|
|
+ String org = (String) entry.get("name_");
|
|
|
+ int count = ((Number) entry.get("value")).intValue();
|
|
|
+ EquipMaintenanceDTO dto = mergedMap.getOrDefault(org, new EquipMaintenanceDTO());
|
|
|
+ dto.setOrg(org);
|
|
|
+ dto.setNumP(count);
|
|
|
+ mergedMap.put(org, dto);
|
|
|
+ }
|
|
|
+ List<EquipMaintenanceDTO> mergedList = new ArrayList<>(mergedMap.values());
|
|
|
+ return mergedList;
|
|
|
}
|
|
|
|
|
|
private List<List<String>> getEquipScrapList(){
|