diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java index 6ca93d2..62a64af 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java @@ -69,9 +69,9 @@ public class AntenatalExaminationDaoImpl extends BaseMongoDAOImpl queryYuyueAntenatalExamination(Date startDate,String hospitalId,String pid) { + public List queryYuyueAntenatalExamination(Date startDate,String hospitalId,String parentId) { - AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(startDate).and("parentId").is("pid").and("hospitalId").is(hospitalId)); + AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(startDate).and("parentId").is(parentId).and("hospitalId").is(hospitalId)); AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); Aggregation aggregation = Aggregation.newAggregation(match, group); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_antex", AntenatalExaminationModel.class); diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PostReviewDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PostReviewDaoImpl.java index 2b35ecc..1681a25 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PostReviewDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PostReviewDaoImpl.java @@ -78,7 +78,7 @@ public class PostReviewDaoImpl extends BaseMongoDAOImpl impleme @Override public List queryPostOrder(Date orderDate, String hospitalId) { - AggregationOperation match = Aggregation.match(Criteria.where("nextCheckDate").gte(orderDate).lte(orderDate).and("hospitalId").is(hospitalId)); + AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(orderDate).lte(orderDate).and("hospitalId").is(hospitalId)); AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); Aggregation aggregation = Aggregation.newAggregation(match, group); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_postreview", PostReviewModel.class); @@ -86,7 +86,7 @@ public class PostReviewDaoImpl extends BaseMongoDAOImpl impleme } @Override public List queryPostOrder(Date orderDate, String hospitalId,String parentId) { - AggregationOperation match = Aggregation.match(Criteria.where("nextCheckDate").gte(orderDate).and("hospitalId").is(hospitalId).and("parentId").is(parentId)); + AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(orderDate).and("hospitalId").is(hospitalId).and("parentId").is(parentId)); AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); Aggregation aggregation = Aggregation.newAggregation(match, group); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_postreview", PostReviewModel.class); diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 7782fe0..20399ec 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -742,18 +742,25 @@ public class DateUtil { // System.out.println(s); // Date s = addDay(parseYMD("2016-02-26"), 168); - int start = 37; - int end = 37; - - - Date startDate = DateUtil.getNewDate(-end-1,"周",1+1); - Date endDate = DateUtil.getNewDate(-start,"周",0+1); +// int start = 37; +// int end = 37; +// +// +// Date startDate = DateUtil.getNewDate(-end-1,"周",1+1); +// Date endDate = DateUtil.getNewDate(-start,"周",0+1); // Date startDate = DateUtil.getNewDate(-end,"天",1); // Date endDate = DateUtil.getNewDate(-start,"天",1); - System.out.println(startDate + "==="+ endDate); +// System.out.println(startDate + "==="+ endDate); + + +// Date startDate = getRangeDate(parseYMD("2016-09-07"),2,"周",-1); +// System.out.println(getyyyy_MM_dd(startDate)); + + int a = daysBetween(parseYMD("2016-08-30"),new Date()); + System.out.println(a); } catch (Exception e) { diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java index 73319ef..74a60d4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java @@ -104,7 +104,7 @@ public class AntExChuQuery extends BaseQuery implements IConvertToNativeQuery { condition= condition.and("id",id, MongoOper.IS); } if(null!=nextCheckTime){ - condition= condition.and("nextCheckTime",nextCheckTime, MongoOper.IS); + condition= condition.and("nextCheckTime",nextCheckTime, MongoOper.GTE); } if(null!=hospitalId){ diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java index faddce2..7670e3e 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java @@ -86,6 +86,9 @@ public class SmsServiceImpl implements SmsService{ query.setYn(YnEnums.YES.getId()); String week = DateUtil.getWeekOfDate(new Date()); query.setGuideTime(week); + + query.setHospitalId(221+""); + //查询出对应周几要发送的的医院配置 List configs = smsConfigService.querySmsConfig(query); @@ -295,7 +298,7 @@ public class SmsServiceImpl implements SmsService{ if (!isRisk) { //计算出孕周 孕周计算方式 当前时间减去末次月经 除以7 的到孕周 - int weeks = DateUtil.daysBetween(new Date(), pat.getLastMenses()) / 7; + int weeks = DateUtil.daysBetween(pat.getLastMenses(),new Date()) / 7; String yunWeek = String.valueOf(weeks); //得到符合当前孕周的短信条数 List messageContents = amsSmses.get(yunWeek); @@ -426,7 +429,7 @@ public class SmsServiceImpl implements SmsService{ } - int weeks = DateUtil.daysBetween(new Date(), baby.getBirth()) / 7; + int weeks = DateUtil.daysBetween(baby.getBirth(),new Date()) / 7; String weekAge = String.valueOf(weeks); //得到符合当前孕周的短信条数 List messageContents = amsSmses.get(weekAge); @@ -435,12 +438,12 @@ public class SmsServiceImpl implements SmsService{ { for(MessageContent message : messageContents) { - //判断当前短信是否已经发送 通过短信ID和孕妇ID - boolean isExist = SaveMessageService.isExistSms(baby.getId(), message.getId()); - if (isExist) - { - continue; - } +// //判断当前短信是否已经发送 通过短信ID和孕妇ID +// boolean isExist = SaveMessageService.isExistSms(baby.getId(), message.getId()); +// if (isExist) +// { +// continue; +// } String messageContent = "【"+messagePrefix+"】" + message.getContent(); MessageRequest request = getMessageRequest( messageContent,baby.getMphone(),ServiceObjEnums.BABYOBJ.getId(), SmsServiceEnums.YBZD.getId(), baby.getHospitalId(),message.getId(),baby.getId()); @@ -552,7 +555,7 @@ public class SmsServiceImpl implements SmsService{ String messagePrefix = getSmsPrefix(config, pat.getBookbuildingDoctor()); //计算产后多少周 按分娩日期计算 - int weeks = DateUtil.daysBetween(new Date(),pat.getFmDate()) / 7; + int weeks = DateUtil.daysBetween(pat.getFmDate(),new Date()) / 7; String yunWeek = String.valueOf(weeks); //得到符合当前孕周的短信条数 List messageContents = amsSmses.get(yunWeek); @@ -629,7 +632,7 @@ public class SmsServiceImpl implements SmsService{ SmsConfigQuery configQuery = new SmsConfigQuery(); configQuery.setYn(YnEnums.YES.getId()); configQuery.setPrefixTypes(new Integer[]{0, 1}); -// configQuery.setHospitalId(221 + ""); + configQuery.setHospitalId(221 + ""); //查询出对应医院配置 List configs = smsConfigService.querySmsConfig(configQuery); @@ -670,7 +673,7 @@ public class SmsServiceImpl implements SmsService{ for (SmsTemplateModel template : templates) { -// if (!("57d65fa80cf2798825ca2d87".equals(template.getId())) ) +// if (!("57d605380cf2e638ab9a7036".equals(template.getId())) ) // { // continue; // } @@ -2183,12 +2186,23 @@ public class SmsServiceImpl implements SmsService{ AntExChuQuery antExChuQuery = new AntExChuQuery(); antExChuQuery.setYn(YnEnums.YES.getId()); - antExChuQuery.setNextCheckTimeStart(startDate); + antExChuQuery.setNextCheckTime(startDate); antExChuQuery.setParentId(pid); List chus = antenatalExaminationService.queryAntExChu(antExChuQuery); for (AntExChuModel chu : chus) { idset.add(chu.getParentId()); + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setParentId(chu.getParentId()); + antExQuery.setYn(YnEnums.YES.getId()); + //复诊不存在 才添加 + List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if (!CollectionUtils.isNotEmpty(list)) + { + idset.add(chu.getParentId()); + } + } List fuzs = antenatalExaminationService.queryYuyueAntenatalExamination(startDate,tempHid,pid); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java index 2f90f1d..9cf7b42 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.ArrayList; import java.util.HashMap; @@ -95,7 +96,7 @@ public class SieveController extends BaseController { @TokenRequired public BaseResponse getCheckItem(@RequestParam("parentId")String id,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return sieveFacade.getCheckItem(id,loginState.getId()); + return sieveFacade.getCheckItem(id, loginState.getId()); } @ResponseBody @@ -178,4 +179,18 @@ public class SieveController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return sieveFacade.queryList(cqSieveQueryRequest,loginState.getId()); } + + + /** + * 导出产筛列表 + * @param cqSieveQueryRequest + * @param request + * @return + */ + @RequestMapping(value = "/exportCqsieves",method = RequestMethod.GET) + @TokenRequired + public void exportCqsieves(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request,HttpServletResponse response){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + sieveFacade.exportCqsieves(cqSieveQueryRequest, loginState.getId(),response); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index f2ec86a..3cc1030 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -5,11 +5,14 @@ import com.lyms.platform.biz.service.ApplyOrderService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.biz.service.SieveService; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.ServiceStatusEnums; +import com.lyms.platform.common.enums.SexEnum; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExcelUtil; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.ChanQianDiaAddRequest; import com.lyms.platform.operate.web.request.CqSieveQueryRequest; @@ -28,10 +31,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.util.*; /** * 产筛门面 @@ -232,4 +234,51 @@ public class SieveFacade { } return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(sieveQuery.getPageInfo()); } + + public void exportCqsieves(CqSieveQueryRequest cqSieveQueryRequest, Integer id, HttpServletResponse response) { + try { + + BaseListResponse listResponse = (BaseListResponse)queryList(cqSieveQueryRequest, id); + + List list = listResponse.getData(); + List> datas = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(list)) + { + for (SieveListResult sive : list) + { + Map data = new HashMap<>(); + data.put("name", sive.getName()); + data.put("cDueWeek", sive.getcDueWeek()); + data.put("tireNumber", sive.getTireNumber()); + data.put("dueWeek", sive.getDueWeek()); + data.put("ztfxText", sive.getZtfxText()); + data.put("phone", sive.getPhone()); + data.put("cqStatus", sive.getCqStatus()); + data.put("cqResult", sive.getCqResult()); + data.put("renShenResult", sive.getRenShenResult()); + datas.add(data); + } + } + OutputStream out = response.getOutputStream(); + Map cnames = new HashMap<>(); + cnames.put("name", "姓名"); + cnames.put("sex","当前孕周"); + cnames.put("tireNumber","胎数"); + cnames.put("dueWeek", "申请孕周"); + cnames.put("ztfxText", "整体风险"); + cnames.put("phone", "联系方式"); + cnames.put("cqStatus", "产前诊断"); + cnames.put("cqResult","产前诊断结果"); + cnames.put("renShenResult","妊娠结局"); + response.setContentType("application/octet-stream"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;fileName="+"childDatas.xls"); + ExcelUtil.toExcel(out, datas, cnames); + } + catch (Exception e) + { + + } + } } \ No newline at end of file