Commit d6134a0d233b13a81fcbf5b05c43dc81bc242ca7

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 5 changed files

platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ d6134a0
... ... @@ -422,6 +422,10 @@
422 422 if (null != name) {
423 423 condition = condition.and("username", name, MongoOper.IS);
424 424 }
  425 + if (null != hospitalId) {
  426 + condition = condition.and("hospitalId", hospitalId, MongoOper.IS);
  427 + }
  428 +
425 429 /* *//**
426 430 * 服务类型
427 431 *//*
platform-data-api/src/main/java/com/lyms/platform/data/service/SmsService.java View file @ d6134a0
1 1 package com.lyms.platform.data.service;
2 2  
  3 +
3 4 /**
4 5 * Created by Administrator on 2016/7/5.
5 6 */
platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java View file @ d6134a0
... ... @@ -63,6 +63,7 @@
63 63 @Autowired
64 64 private OrganizationService organizationService;
65 65  
  66 +
66 67 /**
67 68 * 生成孕妇ams指导短信
68 69 */
... ... @@ -269,6 +270,9 @@
269 270 }
270 271  
271 272 }
  273 +
  274 +
  275 +
272 276  
273 277  
274 278 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ d6134a0
... ... @@ -13,6 +13,7 @@
13 13 import com.lyms.platform.operate.web.request.*;
14 14 import com.lyms.platform.operate.web.result.*;
15 15 import com.lyms.platform.permission.model.Organization;
  16 +import com.lyms.platform.permission.model.OrganizationQuery;
16 17 import com.lyms.platform.permission.service.OrganizationService;
17 18 import com.lyms.platform.pojo.*;
18 19 import com.lyms.platform.query.*;
... ... @@ -64,6 +65,11 @@
64 65 @Autowired
65 66 private BabyCheckService babyCheckService;
66 67  
  68 +
  69 + @Autowired
  70 + private SmsConfigService smsConfigService;
  71 +
  72 +
67 73 public BaseResponse getBabyBase(String babyId){
68 74 //查询儿童的基本信息
69 75 BabyBasicResult base = new BabyBasicResult();
... ... @@ -207,6 +213,7 @@
207 213 pmodel.setCreated(new Date());
208 214 PersonModel resultModel = personService.addPerson(pmodel);
209 215  
  216 +
210 217 BabyModel model = getBabyModel(request);
211 218 model.setPid(resultModel.getId());
212 219  
213 220  
214 221  
215 222  
216 223  
217 224  
218 225  
... ... @@ -258,41 +265,120 @@
258 265 private void createBuildSms(BabyModel babyModel)
259 266 {
260 267  
  268 + OrganizationQuery orgQuery = new OrganizationQuery();
  269 + orgQuery.setYn(YnEnums.YES.getId());
  270 + orgQuery.setId(Integer.parseInt(babyModel.getHospitalId()));
  271 + List<Organization> list = organizationService.queryOrganization(orgQuery);
  272 + boolean isRunning = false;
  273 + if (CollectionUtils.isNotEmpty(list))
  274 + {
  275 + Organization org = list.get(0);
  276 + if (org != null)
  277 + {
  278 + Integer status = org.getStatus();
  279 + if (status != null && (status == HospitalStatusEnums.SYX.getId() || status == HospitalStatusEnums.ZSYX.getId()))
  280 + {
  281 + isRunning = true;
  282 + }
  283 + }
  284 + }
  285 + if (!isRunning)
  286 + {
  287 + return;
  288 + }
  289 +
  290 + SmsConfigQuery configQuery = new SmsConfigQuery();
  291 + configQuery.setYn(YnEnums.YES.getId());
  292 + configQuery.setHospitalId(babyModel.getHospitalId());
  293 + //查询出对应医院配置
  294 + List<SmsConfigModel> configs = smsConfigService.querySmsConfig(configQuery);
  295 + boolean isStart = false;
  296 + if (CollectionUtils.isNotEmpty(configs))
  297 + {
  298 + String serviceStr = configs.get(0).getSmsService();
  299 + if (StringUtils.isNotEmpty(serviceStr))
  300 + {
  301 + isStart = isStartService(SmsServiceEnums.FWKT.getId(), serviceStr);
  302 + }
  303 +
  304 + }
  305 + if (!isStart)
  306 + {
  307 + return;
  308 + }
  309 +
261 310 SmsTemplateQuery query = new SmsTemplateQuery();
262 311 query.setYn(YnEnums.YES.getId());
263 312 query.setHospitalId(babyModel.getHospitalId());
264 313 query.setServiceObj(ServiceObjEnums.BABYOBJ.getId());
265 314 query.setSpecialDateType(SpecialDateEnums.JD.getId());
266 315  
  316 + Integer serviceType = babyModel.getServiceType();
  317 + Integer serviceStatus = babyModel.getServiceStatus();
  318 + if (serviceType != null && serviceStatus != null)
  319 + {
  320 + query.setServiceType(serviceType);
  321 + query.setServiceStatus(serviceStatus);
  322 + }
  323 +
267 324 List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
268 325 if (CollectionUtils.isNotEmpty(temps))
269 326 {
  327 +
270 328 SmsTemplateModel templateModel = temps.get(0);
271   - MessageListRequest smsList = new MessageListRequest();
272   - List<MessageRequest> messages = new ArrayList<>();
273   - MessageRequest mr = new MessageRequest();
274   - mr.setContent(templateModel.getContent());
275   - mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
276   - mr.setPhone(babyModel.getMphone());
277   - //短信商
278   - mr.setServiceType(1);//待定
279   - mr.setTypeId(1); //待定
280   - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
281   - mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId());
  329 + if (templateModel != null && templateModel.getStatus() == 1) {
  330 + MessageListRequest smsList = new MessageListRequest();
  331 + List<MessageRequest> messages = new ArrayList<>();
  332 + MessageRequest mr = new MessageRequest();
  333 + mr.setContent(templateModel.getContent());
  334 + mr.setObjType(ServiceObjEnums.BABYOBJ.getId());
  335 + mr.setPhone(babyModel.getMphone());
  336 + //短信商
  337 + mr.setServiceType(1);//待定
  338 + mr.setTypeId(1); //待定
  339 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  340 + mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
282 341  
283   - mr.setExt1(babyModel.getHospitalId());
284   - mr.setExt2(templateModel.getId());
285   - mr.setExt3(babyModel.getId());
286   - messages.add(mr);
  342 + mr.setExt1(babyModel.getHospitalId());
  343 + mr.setExt2(templateModel.getId());
  344 + mr.setExt3(babyModel.getId());
  345 + messages.add(mr);
287 346  
288   - if (CollectionUtils.isNotEmpty(messages)) {
289   - smsList.setTypeId(1);
290   - smsList.setMessages(messages);
291   - //调用发送接口 TODO
  347 + if (CollectionUtils.isNotEmpty(messages)) {
  348 + smsList.setTypeId(1);
  349 + smsList.setMessages(messages);
  350 + //调用发送接口 TODO
  351 + }
292 352 }
293 353 }
294 354 }
295 355  
  356 +
  357 + /**
  358 + * 判断对应服务是否启动
  359 + */
  360 + private boolean isStartService(Integer smsType,String serviceStr)
  361 + {
  362 + if (StringUtils.isEmpty(serviceStr))
  363 + {
  364 + return false;
  365 + }
  366 + //消息服务启动
  367 + List<Map> smsServices = JsonUtil.toList(serviceStr, Map.class);
  368 +
  369 + if (CollectionUtils.isNotEmpty(smsServices))
  370 + {
  371 + for (Map map : smsServices)
  372 + {
  373 + String status = String.valueOf(map.get(String.valueOf(smsType)));
  374 + if ("true".equals(status))
  375 + {
  376 + return true;
  377 + }
  378 + }
  379 + }
  380 + return false;
  381 + }
296 382  
297 383 /**
298 384 * 准备修改和添加的孕妇建档数据
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ d6134a0
... ... @@ -15,12 +15,10 @@
15 15 import com.lyms.platform.operate.web.result.BookbuildingRecordResult;
16 16 import com.lyms.platform.operate.web.result.PregnantInfoResult;
17 17 import com.lyms.platform.permission.model.Organization;
  18 +import com.lyms.platform.permission.model.OrganizationQuery;
18 19 import com.lyms.platform.permission.service.OrganizationService;
19 20 import com.lyms.platform.pojo.*;
20   -import com.lyms.platform.query.AntExChuQuery;
21   -import com.lyms.platform.query.BasicConfigQuery;
22   -import com.lyms.platform.query.PatientsQuery;
23   -import com.lyms.platform.query.SmsTemplateQuery;
  21 +import com.lyms.platform.query.*;
24 22 import org.apache.commons.collections.CollectionUtils;
25 23 import org.springframework.beans.factory.annotation.Autowired;
26 24 import org.springframework.stereotype.Component;
... ... @@ -57,6 +55,10 @@
57 55  
58 56 @Autowired
59 57 private AntenatalExaminationService antenatalExaminationService;
  58 +
  59 + @Autowired
  60 + private SmsConfigService smsConfigService;
  61 +
60 62 /**
61 63 * 添加孕妇建档
62 64 * @param yunRequest
63 65  
64 66  
65 67  
66 68  
67 69  
68 70  
69 71  
... ... @@ -137,47 +139,128 @@
137 139 }
138 140  
139 141 /**
140   - * 创建建档短信
  142 + * 创建孕妇建档短信
141 143 */
142 144 private void createBuildSms(Patients patient)
143 145 {
144 146  
  147 + OrganizationQuery orgQuery = new OrganizationQuery();
  148 + orgQuery.setYn(YnEnums.YES.getId());
  149 + orgQuery.setId(Integer.parseInt(patient.getHospitalId()));
  150 + List<Organization> list = organizationService.queryOrganization(orgQuery);
  151 + boolean isRunning = false;
  152 + if (CollectionUtils.isNotEmpty(list))
  153 + {
  154 + Organization org = list.get(0);
  155 + if (org != null)
  156 + {
  157 + Integer status = org.getStatus();
  158 + if (status != null && (status == HospitalStatusEnums.SYX.getId() || status == HospitalStatusEnums.ZSYX.getId()))
  159 + {
  160 + isRunning = true;
  161 + }
  162 + }
  163 + }
  164 + if (!isRunning)
  165 + {
  166 + return;
  167 + }
  168 +
  169 + SmsConfigQuery configQuery = new SmsConfigQuery();
  170 + configQuery.setYn(YnEnums.YES.getId());
  171 + configQuery.setHospitalId(patient.getHospitalId());
  172 + //查询出对应医院配置
  173 + List<SmsConfigModel> configs = smsConfigService.querySmsConfig(configQuery);
  174 + boolean isStart = false;
  175 + if (CollectionUtils.isNotEmpty(configs))
  176 + {
  177 + String serviceStr = configs.get(0).getSmsService();
  178 + if (StringUtils.isNotEmpty(serviceStr))
  179 + {
  180 + isStart = isStartService(SmsServiceEnums.FWKT.getId(), serviceStr);
  181 + }
  182 +
  183 + }
  184 + if (!isStart)
  185 + {
  186 + return;
  187 + }
  188 +
145 189 SmsTemplateQuery query = new SmsTemplateQuery();
146 190 query.setYn(YnEnums.YES.getId());
147 191 query.setHospitalId(patient.getHospitalId());
148 192 query.setServiceObj(ServiceObjEnums.YUNOBJ.getId());
149 193 query.setSpecialDateType(SpecialDateEnums.JD.getId());
150 194  
  195 + Integer serviceType = patient.getServiceType();
  196 + Integer serviceStatus = patient.getServiceStatus();
  197 + if (serviceType != null && serviceStatus != null)
  198 + {
  199 + query.setServiceType(serviceType);
  200 + query.setServiceStatus(serviceStatus);
  201 + }
  202 +
151 203 List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
152 204 if (CollectionUtils.isNotEmpty(temps))
153 205 {
154 206 SmsTemplateModel templateModel = temps.get(0);
155   - MessageListRequest smsList = new MessageListRequest();
156   - List<MessageRequest> messages = new ArrayList<>();
157   - MessageRequest mr = new MessageRequest();
158   - mr.setContent(templateModel.getContent());
159   - mr.setObjType(ServiceObjEnums.YUNOBJ.getId());
160   - mr.setPhone(patient.getPhone());
161   - //短信商
162   - mr.setServiceType(1);//待定
163   - mr.setTypeId(1); //待定
164   - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
165   - mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId());
166 207  
167   - mr.setExt1(patient.getHospitalId());
168   - mr.setExt2(templateModel.getId());
169   - mr.setExt3(patient.getId());
170   - messages.add(mr);
  208 + if (templateModel != null && templateModel.getStatus() == 1)
  209 + {
  210 + MessageListRequest smsList = new MessageListRequest();
  211 + List<MessageRequest> messages = new ArrayList<>();
  212 + MessageRequest mr = new MessageRequest();
  213 + mr.setContent(templateModel.getContent());
  214 + mr.setObjType(ServiceObjEnums.YUNOBJ.getId());
  215 + mr.setPhone(patient.getPhone());
  216 + //短信商
  217 + mr.setServiceType(1);//待定
  218 + mr.setTypeId(1); //待定
  219 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  220 + mr.setSubTypeId(SmsServiceEnums.FWKT.getId());
171 221  
172   - if (CollectionUtils.isNotEmpty(messages)) {
173   - smsList.setTypeId(1);
174   - smsList.setMessages(messages);
175   - //调用发送接口 TODO
  222 + mr.setExt1(patient.getHospitalId());
  223 + mr.setExt2(templateModel.getId());
  224 + mr.setExt3(patient.getId());
  225 + messages.add(mr);
  226 +
  227 + if (CollectionUtils.isNotEmpty(messages)) {
  228 + smsList.setTypeId(1);
  229 + smsList.setMessages(messages);
  230 + //调用发送接口 TODO
  231 + }
176 232 }
177 233 }
178 234 }
179 235  
  236 +
180 237 /**
  238 + * 判断对应服务是否启动
  239 + */
  240 + private boolean isStartService(Integer smsType,String serviceStr)
  241 + {
  242 + if (StringUtils.isEmpty(serviceStr))
  243 + {
  244 + return false;
  245 + }
  246 + //消息服务启动
  247 + List<Map> smsServices = JsonUtil.toList(serviceStr, Map.class);
  248 +
  249 + if (CollectionUtils.isNotEmpty(smsServices))
  250 + {
  251 + for (Map map : smsServices)
  252 + {
  253 + String status = String.valueOf(map.get(String.valueOf(smsType)));
  254 + if ("true".equals(status))
  255 + {
  256 + return true;
  257 + }
  258 + }
  259 + }
  260 + return false;
  261 + }
  262 +
  263 + /**
181 264 * 更新孕妇信息
182 265 * @param id
183 266 * @param yunRequest
... ... @@ -251,6 +334,7 @@
251 334 {
252 335 result.setBookbuildHospital(org.getName());
253 336 }
  337 + result.setHospitalId(String.valueOf(org.getId()));
254 338 result.setBookbuildDate(DateUtil.getyyyy_MM_dd(pat.getBookbuildingDate()));
255 339 result.setId(pat.getId());
256 340 result.setType(pat.getType());