Commit 9f6fba296f3e09dc84f0e61c3d688525419b0da6

Authored by wtt
1 parent 1ac0a3328f

update

Showing 8 changed files with 139 additions and 39 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java View file @ 9f6fba2
... ... @@ -16,6 +16,8 @@
16 16  
17 17  
18 18 private static final long serialVersionUID = SerialIdEnum.BabyEyeCheck.getCid();
  19 + // 1 眼保健直接检查
  20 + private String displayState;
19 21  
20 22 //检查是儿童月龄
21 23 private String checkMonthAge;
... ... @@ -1265,6 +1267,14 @@
1265 1267  
1266 1268 public void setEyeMovementOther(String eyeMovementOther) {
1267 1269 this.eyeMovementOther = eyeMovementOther;
  1270 + }
  1271 +
  1272 + public String getDisplayState() {
  1273 + return displayState;
  1274 + }
  1275 +
  1276 + public void setDisplayState(String displayState) {
  1277 + this.displayState = displayState;
1268 1278 }
1269 1279 }
platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java View file @ 9f6fba2
... ... @@ -19,6 +19,9 @@
19 19  
20 20 private static final long serialVersionUID = SerialIdEnum.BabyModel.getCid();
21 21  
  22 + //区分眼保健管理,1眼保健直接建档显示 2 非眼保健建档不直接显示 ,null 历史数据
  23 + private String displayState;
  24 +
22 25 // 母亲高危因素
23 26 List<String> mHighRiskReason;
24 27 // 儿童高危因素标记<老版本>
... ... @@ -147,6 +150,8 @@
147 150 private String buildDoctor;
148 151 //建档日期
149 152 private Date buildDate;
  153 + //非眼保健建档,眼保健检查作为建档时间
  154 + private Date buildDateNoybj;
150 155 //服务类型
151 156 private Integer serviceType;
152 157  
... ... @@ -1933,6 +1938,22 @@
1933 1938  
1934 1939 public String getsAbility() {
1935 1940 return sAbility;
  1941 + }
  1942 +
  1943 + public String getDisplayState() {
  1944 + return displayState;
  1945 + }
  1946 +
  1947 + public void setDisplayState(String displayState) {
  1948 + this.displayState = displayState;
  1949 + }
  1950 +
  1951 + public Date getBuildDateNoybj() {
  1952 + return buildDateNoybj;
  1953 + }
  1954 +
  1955 + public void setBuildDateNoybj(Date buildDateNoybj) {
  1956 + this.buildDateNoybj = buildDateNoybj;
1936 1957 }
1937 1958  
1938 1959 public void setsAbility(String sAbility) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java View file @ 9f6fba2
... ... @@ -166,9 +166,9 @@
166 166 @ResponseBody
167 167 @TokenRequired
168 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,
  169 + public BaseResponse childrenFilingList( Date startBuildDate, Date endBuildDate,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 170 Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds) {
171   - return babyEyeCheckService.childrenFilingList(getUserId(request), startDate, endDate, doctor, key,
  171 + return babyEyeCheckService.childrenFilingList(getUserId(request),startBuildDate, endBuildDate,startDate, endDate, doctor, key,
172 172 currentMonthStart, currentMonthEnd, chechMonth, positive, positiveIds, page, limit,
173 173 bookStartDate, bookEndDate, apparatusPositive, doctorPositive, yin,noPassIds);
174 174 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 9f6fba2
... ... @@ -769,6 +769,7 @@
769 769  
770 770 request.setEncoded(encodedUtil);
771 771 BabyModel model = getBabyModel(request, true, userId,hid);
  772 + model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示
772 773 model.setmHighRiskReason(request.getmHighRiskReason());
773 774 model.setPid(babyPersonId);
774 775 model.setOperator(userId);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java View file @ 9f6fba2
... ... @@ -15,10 +15,13 @@
15 15 import com.lyms.platform.operate.web.result.BabySpecialDiseaseClinicResult;
16 16 import com.lyms.platform.operate.web.service.impl.BaseServiceImpl;
17 17 import com.lyms.platform.operate.web.utils.CommonsHelper;
  18 +import com.lyms.platform.permission.model.Users;
18 19 import com.lyms.platform.permission.service.OrganizationService;
  20 +import com.lyms.platform.permission.service.UsersService;
19 21 import com.lyms.platform.pojo.BabyModel;
20 22 import com.lyms.platform.pojo.BabySpecialDiseaseClinicModel;
21 23 import com.lyms.platform.query.BabySpecialDiseaseClinicModelQuery;
  24 +import org.apache.commons.lang.math.NumberUtils;
22 25 import org.springframework.beans.factory.annotation.Autowired;
23 26 import org.springframework.data.mongodb.core.MongoTemplate;
24 27 import org.springframework.stereotype.Component;
25 28  
... ... @@ -57,9 +60,9 @@
57 60 private BasicConfigFacade basicConfigFacade;
58 61 @Autowired
59 62 private MongoTemplate mongoTemplate;
  63 + @Autowired
  64 + private UsersService usersService;
60 65  
61   -
62   -
63 66 public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version");
64 67  
65 68 /**
... ... @@ -91,6 +94,15 @@
91 94 model.setMonth(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date()));
92 95 }
93 96 model.setModifyDate(new Date());
  97 + model.setBuildDate(babyModel.getBuildDate());
  98 + model.setBuildDoctorId(babyModel.getBuildDoctor());
  99 + if(StringUtils.isNotEmpty(babyModel.getBuildDoctor())){
  100 + Users users = usersService.getUsers(NumberUtils.toInt(babyModel.getBuildDoctor()));
  101 + model.setBuildDoctorName(users.getName());
  102 + }
  103 +
  104 +
  105 +
94 106 }
95 107  
96 108  
... ... @@ -104,9 +116,7 @@
104 116 model.setDiagnosis(request.getDiagnosis());
105 117 model.setCheckDoctor(request.getCheckDoctor());
106 118 model.setNextDate(DateUtil.parseYMD(request.getNextDate()));
107   - model.setBuildDate(DateUtil.parseYMD(request.getBuildDate()));
108   - model.setBuildDoctorId(request.getBuildDoctorId());
109   - model.setBuildDoctorName(request.getBuildDoctorName());
  119 +
110 120  
111 121 return model;
112 122  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyBookbuildingAddRequest.java View file @ 9f6fba2
... ... @@ -115,6 +115,8 @@
115 115 @FormParam
116 116 @NotEmpty(message = "母亲儿童名称不能为空")
117 117 private String babyName;
  118 + //区分眼保健管理,1眼保健直接建档显示 2 非眼保健建档不直接显示 ,null 历史数据
  119 + private String displayState;
118 120  
119 121 //儿童性别
120 122 private Integer sex;
... ... @@ -541,6 +543,14 @@
541 543  
542 544 public void setJxPwwf(boolean jxPwwf) {
543 545 this.jxPwwf = jxPwwf;
  546 + }
  547 +
  548 + public String getDisplayState() {
  549 + return displayState;
  550 + }
  551 +
  552 + public void setDisplayState(String displayState) {
  553 + this.displayState = displayState;
544 554 }
545 555  
546 556 public boolean isJxMtn() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java View file @ 9f6fba2
... ... @@ -29,7 +29,7 @@
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,
  32 + BaseResponse childrenFilingList(Integer userId, Date startBuildDate, Date endBuildDate,Date startDate, Date endDate, String doctor, String key,
33 33 Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive,
34 34 String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive,
35 35 String doctorPositive, String yin,String noPassIds);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java View file @ 9f6fba2
... ... @@ -213,7 +213,7 @@
213 213 || "2".equals(babyEyeCheck.getBehaviorObservation())
214 214 || "2".equals(babyEyeCheck.getRefractiveScreening())
215 215 || "2".equals(babyEyeCheck.getEyePositionExamination())
216   - || "2".equals(babyEyeCheck.getEyeMovement()) ) {
  216 + || "2".equals(babyEyeCheck.getEyeMovement())) {
217 217 //器械判定阳性
218 218 babyEyeCheck.setApparatus("2");
219 219 } else {
... ... @@ -237,7 +237,16 @@
237 237 }
238 238 syncData("ADD", babyEyeCheck, "");
239 239 mongoTemplate.save(babyEyeCheck);
240   -
  240 + /**
  241 + * start 增加更新儿童档案 建档时间2
  242 + * 添加保健检查更新建档时间,修改眼保健检查不该建档时间
  243 + * @Author: 武涛涛
  244 + * @Date: 2020/8/4 11:31
  245 + */
  246 + if(babyModel!=null && "2".equals(babyModel.getDisplayState())){// 2 是代表没有在眼保健建档的档案,null不处理历史数据
  247 + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()), BabyModel.class);
  248 + }
  249 + /*end*/
241 250 // 添加追访眼保检查
242 251 Date nextCheckTime = babyEyeCheck.getNextCheckTime();
243 252 if (null != nextCheckTime) {
... ... @@ -254,6 +263,7 @@
254 263 }
255 264 //更新眼保健
256 265 else {
  266 + babyEyeCheck.setDisplayState(null);//避免更新的時候更新了这个状态。
257 267 babyEyeCheck.setOperaterId(userId.toString());
258 268 List<BabyEyeCheck> before = mongoTemplate.find(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), BabyEyeCheck.class);
259 269  
... ... @@ -838,7 +848,6 @@
838 848 }
839 849  
840 850  
841   -
842 851 /**
843 852 * 眼保健管理,按照人次展示
844 853 *
845 854  
... ... @@ -846,14 +855,17 @@
846 855 * @Date: 2020/8/3 17:43
847 856 */
848 857 @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) {
  858 + public BaseResponse childrenFilingList(Integer userId, Date startBuildDate, Date endBuildDate, Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart,
  859 + Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds,
  860 + Integer page, Integer limit, Date bookStartDate, Date bookEndDate,
  861 + String apparatusPositive, String doctorPositive, String yin, String noPassIds) {
853 862 /*
854   - 1 获取所有儿童建档数据,筛查做过眼保健检查的档案。
855   - 2 眼保健建档新增一个字段标示可以展示到眼保健管理。其它建档可以不管。
856   - 3 其它建档在做眼保健检查。给该档案也标记成可以展示到眼保健管理状态。
  863 + 1 获取所有儿童建档数据,筛查做过眼保健检查的档案。
  864 +
  865 + 2 眼保健建档新增一个字段标示可以展示到眼保健管理。其它建档可以不管。
  866 +
  867 + 3 其它建档在做眼保健检查。给该档案也标记成可以展示到眼保健管理状态。
  868 +
857 869 4 列表展示儿童档案,第一有眼保健检查数据。第二档案有标记状态可以展示。
858 870 如何避免重复叠加,
859 871 1 以前建档的永远不标记可以展示状态。
... ... @@ -863,14 +875,6 @@
863 875 5 新增的档案,只是标记状态不冗余其它字段
864 876 */
865 877 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 878 boolean b = true;
875 879  
876 880 Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId);
877 881  
... ... @@ -914,11 +918,11 @@
914 918 criteria.and("apparatus").nin("2").and("doctorJudgement").nin("2");
915 919 }
916 920 if (org.apache.commons.lang.StringUtils.isNotBlank(key)) {
917   - /*Criteria c = new Criteria();
  921 + Criteria c = new Criteria();
918 922 c.orOperator(Criteria.where("mphone").is(key), Criteria.where("name").regex(key), Criteria.where("mcertNo").is(key)).and("yn").ne(0);
919 923 List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id");
920 924 List<String> babyIds = CollectionUtils.getId(babyModels, "id", String.class);
921   - criteria.and("babyId").in(babyIds);*/
  925 + criteria.and("babyId").in(babyIds);
922 926 }
923 927  
924 928 /**
925 929  
... ... @@ -980,10 +984,54 @@
980 984 List<Map<String, Object>> maps = setDatas(babyEyeChecks);
981 985 return RespBuilder.buildSuccess(new PageResult(count, page, limit, maps));
982 986 }
983   - PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit);
  987 + /* PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit);
984 988 List<BabyEyeCheck> babyEyeChecks = (List<BabyEyeCheck>) pageResult.getGrid();
985 989 pageResult.setGrid(setDatas(babyEyeChecks));
986   - return RespBuilder.buildSuccess(pageResult);
  990 + return RespBuilder.buildSuccess(pageResult);*/
  991 + List<String> babyIds = new ArrayList<>();
  992 +
  993 +
  994 + //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。
  995 + List<String> babyIdBabyEyeCheck = new ArrayList<>();
  996 + List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取
  997 + babyIdBabyEyeCheck = CollectionUtils.getId(babyEyeChecks, "babyId", String.class);
  998 + System.out.println("1 未去重 "+babyIdBabyEyeCheck.size());
  999 + if (CollectionUtils.isNotEmpty(babyIdBabyEyeCheck)) {
  1000 + babyIdBabyEyeCheck = new ArrayList<String>(new LinkedHashSet<String>(babyIdBabyEyeCheck));
  1001 + System.out.println("1 去重后 "+babyIdBabyEyeCheck.size());
  1002 + babyIds.addAll(babyIdBabyEyeCheck);
  1003 + }
  1004 + //获取在眼保健新增的新档案,历史不回去。
  1005 + Criteria c =Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1");
  1006 + List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id");
  1007 + List<String> babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class);
  1008 + System.out.println("2 未去重 "+babyIdsBabyModels.size());
  1009 + if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) {
  1010 + babyIdsBabyModels = new ArrayList<String>(new LinkedHashSet<String>(babyIdsBabyModels));
  1011 + System.out.println("2 去重后 "+babyIdsBabyModels.size());
  1012 + babyIds.addAll(babyIdsBabyModels);
  1013 + }
  1014 + System.out.println("总共档案条数 "+ babyIds.size());
  1015 +
  1016 +
  1017 + //控制建档查询。
  1018 + Criteria cbaby = new Criteria();
  1019 + if (startBuildDate != null && endBuildDate != null) {
  1020 + cbaby.and("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)).and("yn").ne("0").and("hospitalId").is(hospitalId);
  1021 + //cbaby.orOperator(Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId));
  1022 + List<BabyModel> jdbabyModels = mongoUtil.findField(BabyModel.class, cbaby, "id");
  1023 + babyIds = CollectionUtils.getId(jdbabyModels, "id", String.class);
  1024 + }
  1025 +
  1026 +
  1027 +
  1028 + System.out.println("建档条件后---总共档案条数 "+ babyIds.size());
  1029 +
  1030 + //更加建档id查询档案表,并且分页。关联眼保健检查。
  1031 +
  1032 +
  1033 +
  1034 + return null;
987 1035 }
988 1036  
989 1037 private void doFilter(List<BabyEyeCheck> babyEyeChecks, List<String> ids) {
990 1038  
991 1039  
992 1040  
993 1041  
994 1042  
995 1043  
996 1044  
... ... @@ -1134,28 +1182,28 @@
1134 1182 positive.append("红光反射(稍减弱)");
1135 1183 }
1136 1184  
1137   - if("2".equals(babyEyeCheck.getEyeAppearance())){
  1185 + if ("2".equals(babyEyeCheck.getEyeAppearance())) {
1138 1186 positive.append("眼外观 ");
1139 1187 }
1140   - if("2".equals(babyEyeCheck.getRedReflexQhd())){
  1188 + if ("2".equals(babyEyeCheck.getRedReflexQhd())) {
1141 1189 positive.append("红光反射 ");
1142 1190 }
1143   - if("2".equals(babyEyeCheck.getBlinkReflex())){
  1191 + if ("2".equals(babyEyeCheck.getBlinkReflex())) {
1144 1192 positive.append("瞬目反射 ");
1145 1193 }
1146   - if("2".equals(babyEyeCheck.getRedBallTest())){
  1194 + if ("2".equals(babyEyeCheck.getRedBallTest())) {
1147 1195 positive.append("红球试验 ");
1148 1196 }
1149   - if("2".equals(babyEyeCheck.getBehaviorObservation())){
  1197 + if ("2".equals(babyEyeCheck.getBehaviorObservation())) {
1150 1198 positive.append("视物行为观察 ");
1151 1199 }
1152   - if("2".equals(babyEyeCheck.getRefractiveScreening())){
  1200 + if ("2".equals(babyEyeCheck.getRefractiveScreening())) {
1153 1201 positive.append("屈光筛查 ");
1154 1202 }
1155   - if("2".equals(babyEyeCheck.getEyePositionExamination())){
  1203 + if ("2".equals(babyEyeCheck.getEyePositionExamination())) {
1156 1204 positive.append("眼位检查 ");
1157 1205 }
1158   - if("2".equals(babyEyeCheck.getEyeMovement())){
  1206 + if ("2".equals(babyEyeCheck.getEyeMovement())) {
1159 1207 positive.append("眼球运动 ");
1160 1208 }
1161 1209 return positive;
... ... @@ -1297,7 +1345,7 @@
1297 1345 }
1298 1346  
1299 1347 @Override
1300   - public BaseResponse queryShowQhd( String babyId) {
  1348 + public BaseResponse queryShowQhd(String babyId) {
1301 1349 Date firstSecond = DateUtil.getDayFirstSecond(new Date());
1302 1350 Date dayLastSecond = DateUtil.getDayLastSecond(new Date());
1303 1351 Map<String, Object> temp = new HashMap<>();