Commit 1ac0a3328ff26caf019c0ae4ecd87fd49a7bdbcf

Authored by wtt
1 parent a0c35e1b2d

update

Showing 6 changed files with 177 additions and 7 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/BabySpecialDiseaseClinicModel.java View file @ 1ac0a33
... ... @@ -48,7 +48,7 @@
48 48 //儿童生日
49 49 private Date birthday;
50 50 //儿童月龄
51   - private Integer month;
  51 + private String month;
52 52  
53 53 /*新增页面内容*/
54 54 //专病项目 ①上呼②肺炎③腹泻④矮小⑤早熟⑥黄疸⑦多动⑧抽动⑨智力低下⑩自闭
55 55  
... ... @@ -208,11 +208,11 @@
208 208 this.birthday = birthday;
209 209 }
210 210  
211   - public Integer getMonth() {
  211 + public String getMonth() {
212 212 return month;
213 213 }
214 214  
215   - public void setMonth(Integer month) {
  215 + public void setMonth(String month) {
216 216 this.month = month;
217 217 }
218 218  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java View file @ 1ac0a33
... ... @@ -156,6 +156,22 @@
156 156 currentMonthStart, currentMonthEnd, chechMonth, positive, positiveIds, page, limit,
157 157 bookStartDate, bookEndDate, apparatusPositive, doctorPositive, yin,noPassIds);
158 158 }
  159 +
  160 + /**
  161 + * 眼保健管理,按照人次展示
  162 + *
  163 + * @Author: 武涛涛
  164 + * @Date: 2020/8/3 14:09
  165 + */
  166 + @ResponseBody
  167 + @TokenRequired
  168 + @RequestMapping(value = "/childrenFilingList", method = RequestMethod.GET)
  169 + public BaseResponse childrenFilingList(Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, HttpServletRequest request,
  170 + Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds) {
  171 + return babyEyeCheckService.childrenFilingList(getUserId(request), startDate, endDate, doctor, key,
  172 + currentMonthStart, currentMonthEnd, chechMonth, positive, positiveIds, page, limit,
  173 + bookStartDate, bookEndDate, apparatusPositive, doctorPositive, yin,noPassIds);
  174 + }
159 175 @ResponseBody
160 176 @TokenRequired
161 177 @RequestMapping(value = "/export", method = RequestMethod.GET)
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java View file @ 1ac0a33
... ... @@ -88,7 +88,7 @@
88 88 model.setsINCard(babyModel.getsINCard());
89 89 model.setBirthday(babyModel.getBirth());
90 90 if(babyModel.getBirth() !=null){
91   - model.setMonth(DateUtil.getBabyAgeMonth(babyModel.getBirth(), new Date()));
  91 + model.setMonth(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date()));
92 92 }
93 93 model.setModifyDate(new Date());
94 94 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySpecialDiseaseClinicResult.java View file @ 1ac0a33
... ... @@ -45,7 +45,7 @@
45 45 //儿童生日
46 46 private String birthday;
47 47 //儿童月龄
48   - private Integer month;
  48 + private String month;
49 49  
50 50 /*新增页面内容*/
51 51 //专病项目 ①上呼②肺炎③腹泻④矮小⑤早熟⑥黄疸⑦多动⑧抽动⑨智力低下⑩自闭
52 52  
... ... @@ -230,11 +230,11 @@
230 230 this.birthday = birthday;
231 231 }
232 232  
233   - public Integer getMonth() {
  233 + public String getMonth() {
234 234 return month;
235 235 }
236 236  
237   - public void setMonth(Integer month) {
  237 + public void setMonth(String month) {
238 238 this.month = month;
239 239 }
240 240  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java View file @ 1ac0a33
... ... @@ -29,6 +29,11 @@
29 29 String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive,
30 30 String doctorPositive, String yin,String noPassIds);
31 31  
  32 + BaseResponse childrenFilingList(Integer userId, Date startDate, Date endDate, String doctor, String key,
  33 + Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive,
  34 + String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive,
  35 + String doctorPositive, String yin,String noPassIds);
  36 +
32 37 BaseResponse query(Integer userId, String babyId);
33 38 BaseResponse queryQhd(Integer userId, String babyId);
34 39 BaseResponse queryShowQhd( String babyId);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java View file @ 1ac0a33
... ... @@ -837,6 +837,155 @@
837 837 return RespBuilder.buildSuccess(pageResult);
838 838 }
839 839  
  840 +
  841 +
  842 + /**
  843 + * 眼保健管理,按照人次展示
  844 + *
  845 + * @Author: 武涛涛
  846 + * @Date: 2020/8/3 17:43
  847 + */
  848 + @Override
  849 + public BaseResponse childrenFilingList(Integer userId, Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart,
  850 + Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds,
  851 + Integer page, Integer limit, Date bookStartDate, Date bookEndDate,
  852 + String apparatusPositive, String doctorPositive, String yin, String noPassIds) {
  853 + /*
  854 + 1 获取所有儿童建档数据,筛查做过眼保健检查的档案。
  855 + 2 眼保健建档新增一个字段标示可以展示到眼保健管理。其它建档可以不管。
  856 + 3 其它建档在做眼保健检查。给该档案也标记成可以展示到眼保健管理状态。
  857 + 4 列表展示儿童档案,第一有眼保健检查数据。第二档案有标记状态可以展示。
  858 + 如何避免重复叠加,
  859 + 1 以前建档的永远不标记可以展示状态。
  860 + 2 以前其它建档没有眼保健检查的可以标记展示状态。
  861 + 3 先查建档关联的有检查结果数据档案。在查有标记状态的档案。合并。在去除重复避免重叠
  862 +
  863 + 5 新增的档案,只是标记状态不冗余其它字段
  864 + */
  865 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  866 + Criteria c = new Criteria();
  867 + c.orOperator(Criteria.where("hospitalId").is(hospitalId),Criteria.where("mcertNo").is(key)).and("yn").ne(0);
  868 + List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id");
  869 + List<String> babyIds = CollectionUtils.getId(babyModels, "id", String.class);
  870 +
  871 +
  872 +
  873 +
  874 + boolean b = true;
  875 +
  876 + Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId);
  877 + if (startDate != null && endDate != null) {
  878 + criteria.and("checkTime").gte(startDate).lt(DateUtil.addDay(endDate, 1));
  879 + }
  880 + if (bookStartDate != null && bookEndDate != null) {
  881 + criteria.and("nextCheckTime").gte(bookStartDate).lt(DateUtil.addDay(bookEndDate, 1));
  882 + }
  883 + if (org.apache.commons.lang.StringUtils.isNotBlank(doctor)) {
  884 + criteria.and("doctor").is(doctor);
  885 + }
  886 + List<String> chechMonths = new ArrayList<>();
  887 + if (b && StringUtils.isNotEmpty(chechMonth)) {
  888 + if ("1".equals(chechMonth)) {
  889 + chechMonths.add("0");
  890 + } else if ("12".equals(chechMonth)) {
  891 + chechMonths.add("9");
  892 + } else if ("24".equals(chechMonth)) {
  893 + chechMonths.add("18");
  894 + }
  895 +
  896 + chechMonths.add(chechMonth);
  897 + }
  898 + if (StringUtils.isNotEmpty(chechMonth)) {
  899 + criteria.and("checkMonthId").in(chechMonths);
  900 + }
  901 +
  902 + if (currentMonthStart != null && currentMonthEnd != null) {
  903 + Date start = DateUtil.getBirthStart(currentMonthEnd);
  904 + Date end = DateUtil.getBirthEnd(currentMonthStart);
  905 + criteria.and("birth").gte(start).lt(end);
  906 + }
  907 + if (StringUtils.isNotEmpty(apparatusPositive)) {
  908 + criteria.and("apparatus").is(apparatusPositive);
  909 + }
  910 + if (StringUtils.isNotEmpty(doctorPositive)) {
  911 + criteria.and("doctorJudgement").is(doctorPositive);
  912 + }
  913 + if (StringUtils.isNotEmpty(yin)) {
  914 + criteria.and("apparatus").nin("2").and("doctorJudgement").nin("2");
  915 + }
  916 + if (org.apache.commons.lang.StringUtils.isNotBlank(key)) {
  917 + /*Criteria c = new Criteria();
  918 + c.orOperator(Criteria.where("mphone").is(key), Criteria.where("name").regex(key), Criteria.where("mcertNo").is(key)).and("yn").ne(0);
  919 + List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id");
  920 + List<String> babyIds = CollectionUtils.getId(babyModels, "id", String.class);
  921 + criteria.and("babyId").in(babyIds);*/
  922 + }
  923 +
  924 + /**
  925 + * 新加的 不通过查询条件
  926 + * @Author: 武涛涛
  927 + * @Date: 2020/7/21 21:56
  928 + */
  929 + if (StringUtils.isNotEmpty(noPassIds)) {
  930 + List<String> ids = CollectionUtils.asList(noPassIds, String.class);
  931 + for (String id : ids) {
  932 + if ("eyeAppearance".equals(id)) {
  933 + criteria.and("eyeAppearance").is("2");
  934 + } else if ("redReflexQhd".equals(id)) {
  935 + criteria.and("redReflexQhd").is("2");
  936 + } else if ("blinkReflex".equals(id)) {
  937 + criteria.and("blinkReflex").is("2");
  938 + } else if ("redBallTest".equals(id)) {
  939 + criteria.and("redBallTest").is("2");
  940 + } else if ("behaviorObservation".equals(id)) {
  941 + criteria.and("behaviorObservation").is("2");
  942 + } else if ("refractiveScreening".equals(id)) {
  943 + criteria.and("refractiveScreening").is("2");
  944 + } else if ("eyePositionExamination".equals(id)) {
  945 + criteria.and("eyePositionExamination").is("2");
  946 + } else if ("eyeMovement".equals(id)) {
  947 + criteria.and("eyeMovement").is("2");
  948 + }
  949 + }
  950 + }
  951 +
  952 + /*end */
  953 + if (positive) {
  954 +
  955 + Query query = new Query(criteria);
  956 + query.with(new Sort(Sort.Direction.DESC, "created"));
  957 + query.addCriteria(new Criteria().orOperator(Criteria.where("apparatus").is("2"), Criteria.where("doctorJudgement").is("2")));
  958 + System.out.println(query.toString());
  959 +
  960 + int count = (int) mongoTemplate.count(query, BabyEyeCheck.class);
  961 +
  962 + BaseQuery param = new BaseQuery();
  963 + param.setPage(page);
  964 + param.setLimit(limit);
  965 + param.mysqlBuild(count);
  966 + query.skip(param.getOffset()).limit(param.getLimit());
  967 +
  968 + List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(query, BabyEyeCheck.class);
  969 + // doFilter(babyEyeChecks);
  970 +
  971 + if (StringUtils.isNotEmpty(positiveIds)) {
  972 + List<String> ids = CollectionUtils.asList(positiveIds, String.class);
  973 + if (CollectionUtils.isNotEmpty(ids)) {
  974 + doFilter(babyEyeChecks, ids);
  975 + }
  976 + }
  977 + //Integer count = babyEyeChecks.size();
  978 +
  979 + // List<BabyEyeCheck> datas = CollectionUtils.getPageIds(babyEyeChecks, page, limit);
  980 + List<Map<String, Object>> maps = setDatas(babyEyeChecks);
  981 + return RespBuilder.buildSuccess(new PageResult(count, page, limit, maps));
  982 + }
  983 + PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit);
  984 + List<BabyEyeCheck> babyEyeChecks = (List<BabyEyeCheck>) pageResult.getGrid();
  985 + pageResult.setGrid(setDatas(babyEyeChecks));
  986 + return RespBuilder.buildSuccess(pageResult);
  987 + }
  988 +
840 989 private void doFilter(List<BabyEyeCheck> babyEyeChecks, List<String> ids) {
841 990 List<BabyEyeCheck> deleteList = new ArrayList<>();
842 991 for (BabyEyeCheck babyEyeCheck : babyEyeChecks) {