Commit 2e997c0c2e33cec97037f13a6d13563eac12407b

Authored by yangfei
1 parent 47340b9858

听力诊断模块

Showing 9 changed files with 172 additions and 85 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarBabyQuery.java View file @ 2e997c0
... ... @@ -22,6 +22,7 @@
22 22 private String hospitalId;
23 23 private Integer buildType;
24 24 private String enable;
  25 + private String[] enables;
25 26 private String isEnable;
26 27 private String noEnable;
27 28 private Integer yn;
... ... @@ -39,6 +40,14 @@
39 40 * 生日
40 41 */
41 42 private Date birthEnd;
  43 +
  44 + public String[] getEnables() {
  45 + return enables;
  46 + }
  47 +
  48 + public void setEnables(String[] enables) {
  49 + this.enables = enables;
  50 + }
42 51  
43 52 public String getIsEnable() {
44 53 return isEnable;
platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarFollowUpQuery.java View file @ 2e997c0
... ... @@ -120,6 +120,7 @@
120 120 */
121 121 private String createId;
122 122 private String pid;
  123 + private String[] pids;
123 124 /**
124 125 * 状态
125 126 */
... ... @@ -139,6 +140,14 @@
139 140 private String nextEndTime;
140 141 //获取sql语句
141 142 private String sqlStr;
  143 +
  144 + public String[] getPids() {
  145 + return pids;
  146 + }
  147 +
  148 + public void setPids(String[] pids) {
  149 + this.pids = pids;
  150 + }
142 151  
143 152 public String getPid() {
144 153 return pid;
platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarBaby.xml View file @ 2e997c0
... ... @@ -185,6 +185,12 @@
185 185 <if test="enable != null and enable != ''">
186 186 and enable = #{enable,jdbcType=VARCHAR}
187 187 </if>
  188 + <if test="enables != null">
  189 + and enable in
  190 + <foreach item="item" index="index" collection="enables" open="(" separator="," close=")">
  191 + #{item}
  192 + </foreach>
  193 + </if>
188 194 <if test="isEnable != null and isEnable != ''">
189 195 and enable is null
190 196 </if>
platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarFollowUp.xml View file @ 2e997c0
... ... @@ -203,6 +203,13 @@
203 203 <if test="pid != null and pid != ''">
204 204 and pid = #{pid,jdbcType=VARCHAR}
205 205 </if>
  206 +
  207 + <if test="pids != null">
  208 + and pid in
  209 + <foreach item="item" index="index" collection="pids" open="(" separator="," close=")">
  210 + #{item}
  211 + </foreach>
  212 + </if>
206 213  
207 214 <if test="sqlStr!=null and sqlStr!=''">
208 215 AND (
platform-common/src/main/java/com/lyms/platform/common/enums/SourceEnums.java View file @ 2e997c0
... ... @@ -7,7 +7,7 @@
7 7 */
8 8 public enum SourceEnums {
9 9 ISJA(1, "本院"),
10   - ALL(4, "全部"),
  10 + // ALL(4, "全部"),
11 11 ISWJA(2, "外院");
12 12 private int id;
13 13 private String name;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FollowUpController.java View file @ 2e997c0
... ... @@ -279,9 +279,9 @@
279 279 }
280 280  
281 281 //医院ID 集合。本院、外院、全部...
282   - List<String> outOrgids = new ArrayList<>();
  282 + List<String> pids = new ArrayList<>();
283 283 if (fur.getSource() != null) {
284   - if (fur.getSource() == 2) {//2.转诊过来的医院、
  284 + if (fur.getSource() == 2) {//2.外院
285 285 //转诊过来的医院id
286 286 HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery();
287 287 hchQuery.setTargetType(2);//儿童
288 288  
289 289  
290 290  
291 291  
292 292  
... ... @@ -291,39 +291,29 @@
291 291 List<HighriskChangeHospital> hchList = highchangeService.queryHighriskChangeHospital(hchQuery);
292 292 if (hchList != null && hchList.size() > 0) {
293 293 for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收
294   - outOrgids.add(hch.getOutOrgid());
  294 + pids.add(hch.getPid());
295 295 }
296 296 }
  297 +
  298 + BabyPatientExtendEarBabyQuery babyQuery = new BabyPatientExtendEarBabyQuery();
  299 + babyQuery.setHospitalId(hospitalId);
  300 + babyQuery.setEnables(new String[]{"0","1","2"});
  301 + List<BabyPatientExtendEarBaby> earBabies = earBabyService.queryBabyPatientExtendEarBaby(babyQuery);
  302 + for (BabyPatientExtendEarBaby eb:earBabies){
  303 + pids.add(eb.getPersonId());
  304 + }
297 305 }else if (fur.getSource() == 1) {//1.本院
298   - //当前医院
299   - outOrgids.add(hospitalId);
300   - } else {//4.全部医院/默认全部医院
301   - //当前医院
302   - outOrgids.add(hospitalId);
303   - //转诊过来的医院id
304   - HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery();
305   - hchQuery.setTargetType(2);//儿童
306   - hchQuery.setChangeType(1);//听力转诊
307   - hchQuery.setStatus(2);//已接受
308   - hchQuery.setIntoOrgid(hospitalId);
309   - List<HighriskChangeHospital> hchList = highchangeService.queryHighriskChangeHospital(hchQuery);
310   - if (hchList != null && hchList.size() > 0) {
311   - for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收
312   - outOrgids.add(hch.getOutOrgid());
313   - }
  306 + BabyPatientExtendEarBabyQuery babyQuery = new BabyPatientExtendEarBabyQuery();
  307 + babyQuery.setHospitalId(hospitalId);
  308 + babyQuery.setIsEnable("1");
  309 + List<BabyPatientExtendEarBaby> earBabies = earBabyService.queryBabyPatientExtendEarBaby(babyQuery);
  310 + for (BabyPatientExtendEarBaby eb:earBabies){
  311 + pids.add(eb.getPersonId());
314 312 }
315 313 }
316   - } else {
317   - //当前医院
318   - outOrgids.add(hospitalId);
319 314 }
320 315  
321   - if(CollectionUtils.isEmpty(outOrgids)){
322   - return FrontEndResult.ini().setData(new ArrayList()).setPageInfo(query.getPageInfo()).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功");
323   - }
324 316  
325   - query.setCheckHospitalIds((String[]) outOrgids.toArray(new String[outOrgids.size()]));
326   -
327 317 query.setKeyword(fur.getKeyWord());
328 318  
329 319 query.setIfclose(fur.getIfclose());
330 320  
... ... @@ -359,12 +349,18 @@
359 349 query.setNextStartTime(fur.getNextStartTime());
360 350 query.setNextEndTime(fur.getNextEndTime());
361 351 query.setSource(fur.getSource());
  352 + query.setHospitalId(hospitalId);
362 353 //分页信息
363 354 query.setNeed("1");
364 355 query.setSort("create_time");
365 356 query.setLimit(fur.getLimit());
366 357 query.setPage(fur.getPage());
367   -
  358 + if(CollectionUtils.isNotEmpty(pids)){
  359 + query.setPids((String[]) pids.toArray(new String[pids.size()]));
  360 + }
  361 + if(CollectionUtils.isEmpty(pids)&&fur.getSource()!=null){
  362 + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("没有找到数据");
  363 + }
368 364 List<BabyPatientExtendEarFollowUp> BabyPatientExtendEarFollowUpList = babyPatientExtendEarFollowUpService.queryBabyPatientExtendEarFollowUp(query);
369 365 List<FollowUpListResult> fuResult = new ArrayList<>();
370 366  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearDiagnManageController.java View file @ 2e997c0
... ... @@ -462,7 +462,6 @@
462 462 //当前登录人医院Id
463 463 String hospitalId = autoMatchFacade.getHospitalId(loginState.getId());
464 464  
465   -
466 465 List<String> babyIds = new ArrayList<>();
467 466  
468 467 BabyPatientExtendEarScreenQuery screenQuery = new BabyPatientExtendEarScreenQuery();
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java View file @ 2e997c0
... ... @@ -351,6 +351,13 @@
351 351 pids.add(hch.getPid());
352 352 }
353 353 }
  354 + BabyPatientExtendEarBabyQuery babyQuery = new BabyPatientExtendEarBabyQuery();
  355 + babyQuery.setHospitalId(hospitalId);
  356 + babyQuery.setEnables(new String[]{"0","1","2"});
  357 + List<BabyPatientExtendEarBaby> earBabies = earBabyService.queryBabyPatientExtendEarBaby(babyQuery);
  358 + for (BabyPatientExtendEarBaby eb:earBabies){
  359 + pids.add(eb.getPersonId());
  360 + }
354 361 } else if (hdReq.getSource() == 1) {//1.本院
355 362 BabyPatientExtendEarBabyQuery babyQuery = new BabyPatientExtendEarBabyQuery();
356 363 babyQuery.setHospitalId(hospitalId);
357 364  
... ... @@ -388,11 +395,9 @@
388 395 query.setPids((String[]) pids.toArray(new String[pids.size()]));
389 396 }
390 397 if(CollectionUtils.isEmpty(pids)&&hdReq.getSource()!=null){
391   - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("没有找到要删除的数据");
  398 + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("没有找到数据");
392 399 }
393 400  
394   - //设置要查询的babyId
395   - query.setHospitalId(hospitalId);
396 401 if (hdReq.getDiagnoseStartTime() != null) {//诊断开始时间
397 402 query.setDiagnoseStartTime(hdReq.getDiagnoseStartTime());
398 403 }
... ... @@ -476,6 +481,7 @@
476 481 query.setConfirmEndTime(hdReq.getConfirmEndTime());
477 482 }
478 483  
  484 + query.setHospitalId(hospitalId);
479 485 query.setSort("diagnose_time");
480 486  
481 487 //已经诊断的数据
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HighriskChangeHospitalController.java View file @ 2e997c0
... ... @@ -111,7 +111,7 @@
111 111 List<HighriskChangeHospitalListResult> hchResList = disposeHighriskChange(hchList, type);
112 112  
113 113 List<Map<String, Object>> results = new ArrayList<>();
114   - for (int i =0;i<hchResList.size();i++) {
  114 + for (int i = 0; i < hchResList.size(); i++) {
115 115 HighriskChangeHospitalListResult ch = hchResList.get(i);
116 116 Map<String, Object> result = new LinkedHashMap<>();
117 117 result.put("id", i + 1);
... ... @@ -131,7 +131,7 @@
131 131 result.put("status", ch.getStatus());
132 132 results.add(result);
133 133 }
134   - ResponseUtil.responseExcel(cnames,results, resp);
  134 + ResponseUtil.responseExcel(cnames, results, resp);
135 135 }
136 136  
137 137 /**
138 138  
139 139  
140 140  
141 141  
142 142  
143 143  
144 144  
145 145  
... ... @@ -195,59 +195,114 @@
195 195 //设置医院名称
196 196 hcOne.setHospitalName(hospitalName);
197 197 }
  198 +
  199 + //根据医院id和儿童档案id获取听力筛查记录,获取一次初筛记录和最后一次复筛记录,将初筛和复筛的检测结果显示到转诊申请页。
198 200 BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery();
  201 + query.setCheckHospitalId(hospitalId);
199 202 query.setBabyId(hc.getTargetId());
200   - //听筛时间
201   - query.setSort("screen_date");
202   - //筛查类型 1=初筛 2=复筛
203   - query.setScreenType(2);
204   - //查询复筛
205   - List<BabyPatientExtendEarScreen> screentList = screenService.queryBabyPatientExtendEarScreen(query);
206   - if (screentList != null && screentList.size() > 0) {
207   - BabyPatientExtendEarScreen scr = screentList.get(screentList.size() - 1);
208   - hcOne.setEndScreen(disposeScreen(scr));
  203 + query.setSort("create_date");
  204 + // d、本院:初筛未通过或复筛确诊
  205 + List<BabyPatientExtendEarScreen> screenList = screenService.queryBabyPatientExtendEarScreen(query);
  206 + //根据医院ID和babyid查询听筛初筛第一条记录和复筛最后一条记录进行并集。前端显示
  207 + Map<String, String> map = new HashMap<>();
  208 + //取第一条初筛记录结果
  209 + BabyPatientExtendEarScreen firstScreen = null;
  210 + //取复筛记录最后一条结果
  211 + BabyPatientExtendEarScreen endScreen = null;
  212 + for (BabyPatientExtendEarScreen es : screenList) {
  213 + if (firstScreen == null) {
  214 + if (es.getScreenType() == 1) {
  215 + firstScreen = es;
  216 + }
  217 + }
  218 + if (es.getScreenType() == 2) {
  219 + endScreen = es;
  220 + }
209 221 }
210   - query.setScreenType(1);
211   - //初筛查询
212   - screentList = screenService.queryBabyPatientExtendEarScreen(query);
213   - if (screentList != null && screentList.size() > 0) {
214   - BabyPatientExtendEarScreen scr = screentList.get(0);
215   - hcOne.setFirstScreen(disposeScreen(scr));
216   - }
217   - BaseResponse baseResponse = new BaseResponse();
218   - baseResponse.setObject(hcOne);
219   - return baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功");
220   - }
  222 + //初筛
  223 + if (firstScreen != null) {
  224 + //未通过
  225 + if (firstScreen.getScrIspass() == 2) {
  226 + map.put("result", "未通过");
  227 + } else {
  228 + map.put("result", "通过");
  229 + }
  230 + StringBuffer firstMethod = new StringBuffer("");
  231 + if (firstScreen.getOaeLeft() != null || firstScreen.getOaeRight() != null) {
  232 + firstMethod.append("OAE/");
  233 + }
  234 + if (firstScreen.getAabrLeft() != null || firstScreen.getAabrRight() != null) {
  235 + firstMethod.append("AABR/");
  236 + }
221 237  
222   - private Map<String, String> disposeScreen(BabyPatientExtendEarScreen scr) {
223   - //筛查结果通过
224   - boolean scrRes = true;
225   - Integer oaeLeft = scr.getOaeLeft();
226   - Integer oaeRight = scr.getOaeRight();
227   - Integer abarLeft = scr.getAabrLeft();
228   - Integer abarRight = scr.getAabrRight();
229   - String screenMethod = "";
230   - if ((oaeLeft != null && oaeLeft == -1) || (oaeRight != null && oaeRight == -1)) {
231   - scrRes = false;
  238 + if (firstScreen.getGjb2Del35() != null || firstScreen.getGjb2Del176() != null || firstScreen.getGjb2Del235() != null || firstScreen.getGjb2Del299() != null) {
  239 + firstMethod.append("GJB2/");
  240 + }
  241 + if (firstScreen.getGjb3Slc26a4538() != null) {
  242 + firstMethod.append("GJB3/");
  243 + }
  244 + if (firstScreen.getGjb3Slc26a42168() != null || firstScreen.getGjb3Slc26a4Ivs7() != null) {
  245 + firstMethod.append("SLC26A4/");
  246 + }
  247 + if (firstScreen.getRrna1494() != null || firstScreen.getRrna1555() != null) {
  248 + firstMethod.append("线粒体125rRNA/");
  249 + }
  250 + String hfString = null;
  251 + if (firstMethod.toString().endsWith("/")) {
  252 + hfString = firstMethod.substring(0, firstMethod.length() - 1);
  253 + } else {
  254 + hfString = firstMethod.toString();
  255 + }
  256 + //初筛时间
  257 + map.put("screenTime", DateUtil.getyyyy_MM_dd(firstScreen.getScreenDate()));
  258 + map.put("screenMethod", hfString);
232 259 }
233   - if ((abarLeft != null && abarLeft == -1) || (abarRight != null && abarRight == -1)) {
234   - scrRes = false;
235   - }
236   - if (oaeLeft != null || oaeRight != null) {
237   - screenMethod = "OAE";
238   - }
239   - if (abarLeft != null || abarRight != null) {
240   - if (StringUtils.isNotEmpty(screenMethod)) {
241   - screenMethod = "OAE、AABR";
  260 + hcOne.setFirstScreen(map);
  261 +
  262 + Map endMap = new HashMap<>();
  263 + //复筛
  264 + if (endScreen != null) {
  265 + //未通过
  266 + if (endScreen.getScrIspass() == 2) {
  267 + endMap.put("result", "未通过");
242 268 } else {
243   - screenMethod = "AABR";
  269 + endMap.put("result", "通过");
244 270 }
  271 + StringBuffer endMethod = new StringBuffer("");
  272 + if (endScreen.getOaeLeft() != null || endScreen.getOaeRight() != null) {
  273 + endMethod.append("OAE/");
  274 + }
  275 + if (endScreen.getAabrLeft() != null || endScreen.getAabrRight() != null) {
  276 + endMethod.append("AABR/");
  277 + }
  278 +
  279 + if (endScreen.getGjb2Del35() != null || endScreen.getGjb2Del176() != null || endScreen.getGjb2Del235() != null || endScreen.getGjb2Del299() != null) {
  280 + endMethod.append("GJB2/");
  281 + }
  282 + if (endScreen.getGjb3Slc26a4538() != null) {
  283 + endMethod.append("GJB3/");
  284 + }
  285 + if (endScreen.getGjb3Slc26a42168() != null || endScreen.getGjb3Slc26a4Ivs7() != null) {
  286 + endMethod.append("SLC26A4/");
  287 + }
  288 + if (endScreen.getRrna1494() != null || endScreen.getRrna1555() != null) {
  289 + endMethod.append("线粒体125rRNA/");
  290 + }
  291 + String hfString = null;
  292 + if (endMethod.toString().endsWith("/")) {
  293 + hfString = endMethod.substring(0, endMethod.length() - 1);
  294 + } else {
  295 + hfString = endMethod.toString();
  296 + }
  297 + //初筛时间
  298 + endMap.put("screenTime", DateUtil.getyyyy_MM_dd(endScreen.getScreenDate()));
  299 + endMap.put("screenMethod", hfString);
245 300 }
246   - Map<String, String> scrMap = new HashMap<>();
247   - scrMap.put("result", scrRes == true ? "通过" : "未通过");
248   - scrMap.put("screenMethod", screenMethod);
249   - scrMap.put("screenTime", DateUtil.getyyyy_MM_dd(scr.getScreenDate()));
250   - return scrMap;
  301 +
  302 + hcOne.setEndScreen(endMap);
  303 + BaseResponse baseResponse = new BaseResponse();
  304 + baseResponse.setObject(hcOne);
  305 + return baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功");
251 306 }
252 307  
253 308 /**
254 309  
255 310  
... ... @@ -286,13 +341,13 @@
286 341 babyQuery.setQueryNo(query.getQueryNo());
287 342 //查询建档记录
288 343 List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
289   - if(CollectionUtils.isNotEmpty(models)){
  344 + if (CollectionUtils.isNotEmpty(models)) {
290 345 List<String> babyIds = new ArrayList<>();
291   - for(BabyModel babyModel:models){
  346 + for (BabyModel babyModel : models) {
292 347 babyIds.add(babyModel.getId());
293 348 }
294 349 query.setBabyIds(babyIds.toArray(new String[babyIds.size()]));
295   - }else{
  350 + } else {
296 351 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("没有找到数据");
297 352 }
298 353 }
... ... @@ -517,7 +572,7 @@
517 572 String hospitalId = autoMatchFacade.getHospitalId(loginState.getId());
518 573  
519 574 //建立隐藏档案
520   - babyEarFacade.addhideBabyEar(obj.getTargetId(),obj.getIntoOrgid(),"0");
  575 + babyEarFacade.addhideBabyEar(obj.getTargetId(), obj.getIntoOrgid(), "0");
521 576  
522 577 if (StringUtil.isBlank(obj.getTargetId())) {
523 578 return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童档案id");