From 7b5eae1c7da3e4b73fc1e58bcef70e3ce50cf9d2 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 22 Jul 2016 11:25:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/biz/service/SmsConfigService.java | 50 +++++++++++++++++++--- .../com/lyms/platform/common/enums/WeekEnums.java | 19 ++++++++ .../operate/web/facade/SmsConfigFacade.java | 48 ++++++++++++++++++--- .../operate/web/result/SmsConfigResult.java | 6 +-- 4 files changed, 108 insertions(+), 15 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SmsConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SmsConfigService.java index 03611d5..76d6eb3 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SmsConfigService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SmsConfigService.java @@ -10,6 +10,8 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -46,16 +48,54 @@ public class SmsConfigService { if (CollectionUtils.isNotEmpty(configs)) { List list = JsonUtil.toList(configs.get(0).getDeptPrefix(), Map.class); - - for (Map dept : list) + if (CollectionUtils.isNotEmpty(list)) { - if (deptId != null && String.valueOf(deptId).equals(String.valueOf(dept.get("deptId")))) + for (Map dept : list) { - dept.put("deptPrefix",deptPrefix); + if (deptId != null && String.valueOf(deptId).equals(String.valueOf(dept.get("deptId")))) + { + dept.put("deptPrefix",deptPrefix); + } + else + { + Map preMap = new HashMap(); + preMap.put("deptPrefix",deptPrefix); + preMap.put("deptId",deptId); + preMap.put("hospitalId",hid); + list.add(preMap); + break; + } } + + } + else + { + Map preMap = new HashMap(); + preMap.put("deptPrefix",deptPrefix); + preMap.put("deptId",deptId); + preMap.put("hospitalId",hid); + list.add(preMap); } updateModel.setDeptPrefix(JsonUtil.array2JsonString(list)); + smsConfigDao.updateDeptPrefix(hid, updateModel); + } + else + { + List list = new ArrayList<>(); + SmsConfigModel model = new SmsConfigModel(); + model.setHospitalId(hid); + model.setYn(YnEnums.YES.getId()); + + model.setPrefixType(0); + + Map preMap = new HashMap(); + preMap.put("deptPrefix",deptPrefix); + preMap.put("deptId", deptId); + preMap.put("hospitalId", hid); + list.add(preMap); + model.setDeptPrefix(JsonUtil.array2JsonString(list)); + } - smsConfigDao.updateDeptPrefix(hid,updateModel); + } } diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/WeekEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/WeekEnums.java index faa228a..5437642 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/WeekEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/WeekEnums.java @@ -49,6 +49,25 @@ public enum WeekEnums { return list; } + public static List getWeekEnums(List weeks) { + List list = new ArrayList<>(); + for (String week : weeks) + { + for (WeekEnums e : WeekEnums.values()) { + if (e.getName().equals(week)) + { + Map rootMap = new HashMap(); + rootMap.put("id", e.getId()); + rootMap.put("name", e.getName()); + list.add(rootMap); + } + + } + } + + return list; + } + private int id; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java index 840d338..30b4869 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.WeekEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -160,23 +161,56 @@ public class SmsConfigFacade { sr.setHospitalPrefix(model.getHospitalPrefix()); sr.setHospitalId(model.getHospitalId()); sr.setPrefixType(model.getPrefixType()); - sr.setGuideTime(JsonUtil.toList(model.getGuideTime(),String.class)); - List deptsPrefix = JsonUtil.toList(model.getDeptPrefix(), Map.class); - if (CollectionUtils.isNotEmpty(deptsPrefix)) + List weeks = JsonUtil.toList(model.getGuideTime(), String.class); + sr.setGuideTime(WeekEnums.getWeekEnums(weeks)); + List deptsPrefixs = JsonUtil.toList(model.getDeptPrefix(), Map.class); + if (CollectionUtils.isNotEmpty(deptsPrefixs)) { - for (Map detp : deptsPrefix) + for (Map dept : deptsPrefixs) { //查询科室 并设置名称 - Departments qdetp = departmentsService.getDepartments(Integer.valueOf(String.valueOf(detp.get("deptId")))); + Departments qdetp = departmentsService.getDepartments(Integer.valueOf(String.valueOf(dept.get("deptId")))); if (qdetp != null) { - detp.put("deptName",qdetp.getName()); + dept.put("deptName",qdetp.getName()); } } } - sr.setDeptPrefix(deptsPrefix); + DepartmentsQuery departmentsQuery = new DepartmentsQuery(); + departmentsQuery.setSort("modified desc"); + departmentsQuery.setYn(YnEnums.YES.getId()); + departmentsQuery.setOrgId(Integer.valueOf(model.getHospitalId())); + List departmentses = departmentsService.queryDepartments(departmentsQuery); + for(Departments dept : departmentses) + { + boolean isExist = false; + if (CollectionUtils.isNotEmpty(deptsPrefixs)) + { + for (Map deptsPrefix : deptsPrefixs) + { + if (dept != null && deptsPrefix.get("deptId") != null) + { + if (Integer.valueOf(String.valueOf(deptsPrefix.get("deptId"))) == dept.getId()) + { + isExist = true; + } + } + } + + } + if (!isExist) + { + Map map = new HashMap<>(); + map.put("deptId",String.valueOf(dept.getId())); + map.put("hospitalId",String.valueOf(dept.getOrgId())); + map.put("deptName",dept.getName()); + map.put("deptPrefix", ""); + deptsPrefixs.add(map); + } + } + sr.setDeptPrefix(deptsPrefixs); List smsService = JsonUtil.toList(model.getSmsService(), Map.class); sr.setSmsService(smsService); return sr; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmsConfigResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmsConfigResult.java index 6d46868..58000f2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmsConfigResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmsConfigResult.java @@ -20,7 +20,7 @@ public class SmsConfigResult { private List deptPrefix; //指导发送时间 - private List guideTime; + private List guideTime; //消息服务启动 private List smsService; @@ -67,11 +67,11 @@ public class SmsConfigResult { this.deptPrefix = deptPrefix; } - public List getGuideTime() { + public List getGuideTime() { return guideTime; } - public void setGuideTime(List guideTime) { + public void setGuideTime(List guideTime) { this.guideTime = guideTime; } -- 1.8.3.1