diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index 9b96c95..2c6c7ce 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -32,6 +32,15 @@ public final class StringUtils { return false; } + public static boolean isNotEmpty(String str) + { + if (str != null && !"".equals(str)) + { + return true; + } + return false; + } + /** * //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"), * ?表示0个或1个([0-9]?)(如""或"7") diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java b/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java index 7108b5c..558d4a5 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java @@ -7,16 +7,12 @@ public class MessageRequest { private String phone; private String content; private Integer typeId; - private Integer status; private Integer subTypeId; - private String tableName; //计划发送时间 private String planTime; - //实际发送时间 - private String actualTime; //对象类型 private Integer objType; @@ -24,17 +20,14 @@ public class MessageRequest { //短信商 private Integer serviceType; - //发送次数 - private Integer sendCount; - + //医院ID private String ext1; + //模板ID private String ext2; private String ext3; - - public String getPhone() { return phone; } @@ -59,14 +52,6 @@ public class MessageRequest { this.typeId = typeId; } - public Integer getStatus() { - return status; - } - - public void setStatus(Integer status) { - this.status = status; - } - public Integer getSubTypeId() { return subTypeId; } @@ -75,14 +60,6 @@ public class MessageRequest { this.subTypeId = subTypeId; } - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - public String getPlanTime() { return planTime; } @@ -91,14 +68,6 @@ public class MessageRequest { this.planTime = planTime; } - public String getActualTime() { - return actualTime; - } - - public void setActualTime(String actualTime) { - this.actualTime = actualTime; - } - public Integer getObjType() { return objType; } @@ -115,14 +84,6 @@ public class MessageRequest { this.serviceType = serviceType; } - public Integer getSendCount() { - return sendCount; - } - - public void setSendCount(Integer sendCount) { - this.sendCount = sendCount; - } - public String getExt1() { return ext1; } diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/util/SaveMessageService.java b/platform-data-api/src/main/java/com/lyms/platform/data/util/SaveMessageService.java index bfa6f5e..68bf8d4 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/util/SaveMessageService.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/util/SaveMessageService.java @@ -34,7 +34,6 @@ public class SaveMessageService { request.setPhone("18382670032"); request.setPlanTime("2015-01-06 15:22:12"); request.setServiceType(1); - request.setStatus(1); messages.add(request); @@ -45,7 +44,6 @@ public class SaveMessageService { request1.setPhone("18382670031"); request1.setPlanTime("2015-01-06 15:22:12"); request1.setServiceType(1); - request1.setStatus(1); messages.add(request1); list.setTypeId(1); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java index 7e7ede1..3521dbc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java @@ -196,6 +196,17 @@ public class BabyBookbuildingController extends BaseController{ } + /** + * 儿童个性化指导 短信发送 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/sendBabyGuildSms") + @ResponseBody + public BaseResponse babyGuildSms(@Valid @RequestBody BabyGuideSmsequest request) { + + return babyBookbuildingFacade.sendBabyGuideSms(request); + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java index 34a1e9f..44f96bf 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BookbuildingController.java @@ -128,4 +128,16 @@ public class BookbuildingController extends BaseController{ antenatalExaminationQueryRequest.setPatientId(id); return antenatalExaminationFacade.queryAntenatalExamination(antenatalExaminationQueryRequest); } + + + /** + * 建档页面基础数据 + * @return + */ + @RequestMapping(value = "/getYunBuildBaseConfig", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse getBabyBuildBaseConfig(){ + return bookbuildingFacade.getYunBuildBaseConfig(); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index d94f9e1..2021667 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -698,10 +698,72 @@ public class BabyBookbuildingFacade { * @return */ public BaseListResponse queryBabyList(BabyManageRequest request) { - BabyModelQuery babyQuery = new BabyModelQuery(); + List models = getBabayListByCondition(request,true,babyQuery); + List list = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(models)) + { + for(BabyModel model : models) + { + BabyManageListResult result = new BabyManageListResult(); + result.setId(model.getId()); + if (model.getHighRisk()== null || model.getHighRisk() == 0) + { + result.setHighRisk("正常"); + } + else + { + result.setHighRisk("高危"); + } + result.setSex(SexTypeEnums.getTitleById(model.getSex())); + result.setBabyName(model.getName()); + result.setBirthday(DateUtil.getyyyy_MM_dd(model.getBirth())); + result.setMommyName(model.getMname()); + result.setMommnyPhone(model.getMphone()); + result.setServiceStatus(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus())); + result.setNextDate(DateUtil.getyyyy_MM_dd(model.getNextDate())); + result.setMonthAge(DateUtil.getBabyMonthAge(model.getBirth(), new Date())); + result.setPatientId(model.getParentId()); + + String diagnose = "正常"; + if (!StringUtils.isEmpty(model.getDiagnose())) + { + List diagList = JsonUtil.toList(model.getDiagnose(),List.class); + if (CollectionUtils.isNotEmpty(diagList)) + { + diagnose = ""; + for(Object obj : diagList) + { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String)obj); + if (basicConfig != null) + { + diagnose += basicConfig.getName() + " "; + } + } + } + } + result.setDiagnose(diagnose); + list.add(result); + } + } + + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(list); + objectResponse.setPageInfo(babyQuery.getPageInfo()); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + + private List getBabayListByCondition(BabyManageRequest request,boolean isPage,BabyModelQuery babyQuery) + { + babyQuery.setYn(YnEnums.YES.getId()); - babyQuery.setNeed("1"); + if (isPage) + { + babyQuery.setNeed("true"); + } babyQuery.setMcertNo(request.getMcardNo()); babyQuery.setCardNo(request.getBcardNo()); babyQuery.setName(request.getName()); @@ -744,65 +806,82 @@ public class BabyBookbuildingFacade { babyQuery.setPage(request.getPage()); babyQuery.setLimit(request.getLimit()); - //0 非高危 1 高危 2 全部 + //0 非高危 1 高危 2 全部 if (request.getHighRiskType() != null && request.getHighRiskType() != 2) { babyQuery.setHighRisk(request.getHighRiskType()); } - List list = new ArrayList<>(); - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if(CollectionUtils.isNotEmpty(models)) + return models; + } + + /** + * 生成儿童指导短信 + * @param request + * @return + */ + public BaseResponse sendBabyGuideSms(BabyGuideSmsequest request) { + MessageListRequest smsList = new MessageListRequest(); + List messages = new ArrayList<>(); + + List sendModels = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(request.getIds())) { - for(BabyModel model : models) + List ids = request.getIds(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + for (String id : ids) { - BabyManageListResult result = new BabyManageListResult(); - result.setId(model.getId()); - if (model.getHighRisk()== null || model.getHighRisk() == 0) + if (StringUtils.isNotEmpty(id)) { - result.setHighRisk("正常"); - } - else - { - result.setHighRisk("高危"); + babyQuery.setId(id); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(models)) + { + sendModels.addAll(models); + } } - result.setSex(SexTypeEnums.getTitleById(model.getSex())); - result.setBabyName(model.getName()); - result.setBirthday(DateUtil.getyyyy_MM_dd(model.getBirth())); - result.setMommyName(model.getMname()); - result.setMommnyPhone(model.getMphone()); - result.setServiceStatus(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus())); - result.setNextDate(DateUtil.getyyyy_MM_dd(model.getNextDate())); - result.setMonthAge(DateUtil.getBabyMonthAge(model.getBirth(), new Date())); - result.setPatientId(model.getParentId()); + } + } + else + { + //按条件查询发送指导短信 + BabyModelQuery babyQuery = new BabyModelQuery(); + sendModels = getBabayListByCondition(request.getRequest(),false,babyQuery); + } - String diagnose = "正常"; - if (!StringUtils.isEmpty(model.getDiagnose())) + if (CollectionUtils.isNotEmpty(sendModels)) + { + for (BabyModel model : sendModels) + { + if (model != null && StringUtils.isNotEmpty(model.getMphone())) { - List diagList = JsonUtil.toList(model.getDiagnose(),List.class); - if (CollectionUtils.isNotEmpty(diagList)) - { - diagnose = ""; - for(Object obj : diagList) - { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String)obj); - if (basicConfig != null) - { - diagnose += basicConfig.getName() + " "; - } - } - } + MessageRequest mr = new MessageRequest(); + mr.setContent(request.getSmsContent()); + mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); + mr.setPhone(model.getMphone()); + //短信商 + mr.setServiceType(1);//待定 + mr.setTypeId(1); //待定 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); + + mr.setExt1(String.valueOf(model.getHospitalId())); + messages.add(mr); } - result.setDiagnose(diagnose); - list.add(result); } } - BaseListResponse objectResponse = new BaseListResponse(); + + if (CollectionUtils.isNotEmpty(messages)) + { + smsList.setTypeId(1); + smsList.setMessages(messages); + //调用发送接口 TODO + } + BaseResponse objectResponse = new BaseResponse(); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - objectResponse.setData(list); - objectResponse.setPageInfo(babyQuery.getPageInfo()); objectResponse.setErrormsg("成功"); return objectResponse; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 34fba80..f52a3e9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -458,4 +458,55 @@ public class BookbuildingFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + + /** + * 孕妇建档页面基础数据 + * @return + */ + public BaseObjectResponse getYunBuildBaseConfig() { + Map typeMap = new HashMap<>(); + + //证件类型 + List pcerteTypeResult = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.CERTE_TYPE_ID); + typeMap.put("certeType", pcerteTypeResult); + + //国籍 + List countiryResults = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.COUNTRY_TYPE_ID); + typeMap.put("country", countiryResults); + + // 民族 + List nationResults = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.NATION_TYPE_ID); + typeMap.put("nation", nationResults); + + // 职业类别 + List professionTypeResults = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.PROFESSION_TYPE_ID); + typeMap.put("professionType", professionTypeResults); + + // 户籍类别 + List censusType = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.CENSUS_TYPE_ID); + typeMap.put("censusType", censusType); + + // 户籍类别 + List liveType = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.LIVE_TYPE_ID); + typeMap.put("liveType", liveType); + + //服务类型 + List serviceType = ServiceTypeEnums.getServiceTypeList(); + typeMap.put("serviceType", serviceType); + + //服务状态 + List serviceStatus = ServiceStatusEnums.getServiceStatusList(); + typeMap.put("serviceStatus", serviceStatus); + + //孕妇体验类型 + List expYunEnums = ExpYunEnums.getExpYunEnums(); + typeMap.put("expYunEnums", expYunEnums); + + + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setData(typeMap); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyGuideSmsequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyGuideSmsequest.java new file mode 100644 index 0000000..b71c743 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyGuideSmsequest.java @@ -0,0 +1,53 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.Form; +import com.lyms.platform.common.core.annotation.form.FormParam; +import org.hibernate.validator.constraints.NotEmpty; + +import java.util.List; +import java.util.Map; + +/** + * 儿童健康指导短信 + * Created by lqy on 2016/6/15. + */ +@Form +public class BabyGuideSmsequest { + + + //短信内容 + @FormParam + @NotEmpty(message = "短信内容不能为空") + private String smsContent; + + //儿童IDs + private List ids; + + + //如果批量个性化指导就把过滤条件传送到该对象中 + private BabyManageRequest request; + + public String getSmsContent() { + return smsContent; + } + + public void setSmsContent(String smsContent) { + this.smsContent = smsContent; + } + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + public BabyManageRequest getRequest() { + return request; + } + + public void setRequest(BabyManageRequest request) { + this.request = request; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageListRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageListRequest.java new file mode 100644 index 0000000..310dcf8 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageListRequest.java @@ -0,0 +1,28 @@ +package com.lyms.platform.operate.web.request; + +import java.util.List; + +/** + * Created by Administrator on 2016/7/5. + */ +public class MessageListRequest { + private Integer typeId; + + private List messages; + + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId = typeId; + } + + public List getMessages() { + return messages; + } + + public void setMessages(List messages) { + this.messages = messages; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java new file mode 100644 index 0000000..cc19dda --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java @@ -0,0 +1,110 @@ +package com.lyms.platform.operate.web.request; + +/** + * Created by Administrator on 2016/7/5. + */ +public class MessageRequest { + private String phone; + private String content; + private Integer typeId; + private Integer subTypeId; + + + //计划发送时间 + private String planTime; + + + //对象类型 + private Integer objType; + + //短信商 + private Integer serviceType; + + //医院ID + private String ext1; + + //模板ID + private String ext2; + + private String ext3; + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId = typeId; + } + + public Integer getSubTypeId() { + return subTypeId; + } + + public void setSubTypeId(Integer subTypeId) { + this.subTypeId = subTypeId; + } + + public String getPlanTime() { + return planTime; + } + + public void setPlanTime(String planTime) { + this.planTime = planTime; + } + + public Integer getObjType() { + return objType; + } + + public void setObjType(Integer objType) { + this.objType = objType; + } + + public Integer getServiceType() { + return serviceType; + } + + public void setServiceType(Integer serviceType) { + this.serviceType = serviceType; + } + + public String getExt1() { + return ext1; + } + + public void setExt1(String ext1) { + this.ext1 = ext1; + } + + public String getExt2() { + return ext2; + } + + public void setExt2(String ext2) { + this.ext2 = ext2; + } + + public String getExt3() { + return ext3; + } + + public void setExt3(String ext3) { + this.ext3 = ext3; + } +}