diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckItemResponse.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckItemResponse.java new file mode 100644 index 0000000..04ed18b --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckItemResponse.java @@ -0,0 +1,62 @@ +package com.lyms.hospitalapi.pojo; + +/** + * Created by Administrator on 2016/9/9 0009. + */ +public class CheckItemResponse { + + private String name; + private String code; + private String result; + private String refer; + private String unit; + private String special; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getRefer() { + return refer; + } + + public void setRefer(String refer) { + this.refer = refer; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getSpecial() { + return special; + } + + public void setSpecial(String special) { + this.special = special; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java new file mode 100644 index 0000000..2764dd7 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java @@ -0,0 +1,147 @@ +package com.lyms.hospitalapi.pojo; + +import java.util.Date; +import java.util.List; + +/** + * Created by Administrator on 2016/9/9 0009. + */ +public class CheckResponse { + + private Date applyDate; + private String applyDateStr; + private String sex; + private String name; + private String age; + private String applyDept; + private String doctor; + private String checkDept; + private String imgs; + private String result; + private String notice; + private Integer type; + private String title; + private Date modified; + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + private List itemList; + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Date getApplyDate() { + return applyDate; + } + + public void setApplyDate(Date applyDate) { + this.applyDate = applyDate; + } + + public String getApplyDateStr() { + return applyDateStr; + } + + public void setApplyDateStr(String applyDateStr) { + this.applyDateStr = applyDateStr; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAge() { + return age; + } + + public void setAge(String age) { + this.age = age; + } + + public String getApplyDept() { + return applyDept; + } + + public void setApplyDept(String applyDept) { + this.applyDept = applyDept; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public String getCheckDept() { + return checkDept; + } + + public void setCheckDept(String checkDept) { + this.checkDept = checkDept; + } + + public String getImgs() { + return imgs; + } + + public void setImgs(String imgs) { + this.imgs = imgs; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getNotice() { + return notice; + } + + public void setNotice(String notice) { + this.notice = notice; + } + + public List getItemList() { + return itemList; + } + + public void setItemList(List itemList) { + this.itemList = itemList; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/LisCheckInfo.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/LisCheckInfo.java index d0773c7..4d958b6 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/LisCheckInfo.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/LisCheckInfo.java @@ -26,6 +26,7 @@ import java.util.Date; public class LisCheckInfo { private String P_APPLICATIONNUM; + private String P_TITLE; private String P_CARD; private String P_BEDNUN; private String P_CHECKDEPARTNAME; @@ -43,6 +44,14 @@ public class LisCheckInfo { private Date MODIFIED; private Integer STATUS; + public String getP_TITLE() { + return P_TITLE; + } + + public void setP_TITLE(String p_TITLE) { + P_TITLE = p_TITLE; + } + public String getP_APPLICATIONNUM() { return P_APPLICATIONNUM; } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/RisCheckInfo.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/RisCheckInfo.java new file mode 100644 index 0000000..54b79ff --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/RisCheckInfo.java @@ -0,0 +1,217 @@ +package com.lyms.hospitalapi.pojo; + +import java.util.Date; + +/** + * Created by Administrator on 2016/9/9 0009. + * SICK_KIND VARCHAR2 患者类别," 儿童"或者"孕妇" + CARDNO VARCHAR2 卡号 + APPLY_NO VARCHAR2 申请单号 + SICK_ID VARCHAR2 病人唯一ID + RESIDENCE_NO VARCHAR2 住院号 + NAME VARCHAR2 患者姓名 + SEX VARCHAR2 性别 + AGE Number 年龄 + APPLY_DEPT VARCHAR2 申请科室名称 + IN_DEPT VARCHAR2 病区代码 + BED_NO VARCHAR2 床号 + APPLY_DOCTOR VARCHAR2 申请医生 + EXECUTE_DEPT VARCHAR2 执行科室名称 + EXECUTE_MAN VARCHAR2 执行人 + APPLY_TIME Date 申请时间(检查时间) + STATUS NUMBER 1:申请中,2:检查中,3:诊断完成 + MODIFIED DATE 最后修改时间 + ITEM_RESULT,ITEM_FINDING,IMGS,P_TITLE + */ +public class RisCheckInfo { + + private String SICK_KIND; + private String CARDNO; + private String APPLY_NO; + private String SICK_ID; + private String RESIDENCE_NO; + private String NAME; + private String SEX; + private String APPLY_DEPT; + private String IN_DEPT; + private String BED_NO; + private String APPLY_DOCTOR; + private String EXECUTE_DEPT; + private String EXECUTE_MAN; + private Integer AGE; + private Integer STATUS; + private Date APPLY_TIME; + private Date MODIFIED; + private String ITEM_RESULT; + private String ITEM_FINDING; + private String IMGS; + private String P_TITLE; + + public String getSICK_KIND() { + return SICK_KIND; + } + + public void setSICK_KIND(String SICK_KIND) { + this.SICK_KIND = SICK_KIND; + } + + public String getCARDNO() { + return CARDNO; + } + + public void setCARDNO(String CARDNO) { + this.CARDNO = CARDNO; + } + + public String getAPPLY_NO() { + return APPLY_NO; + } + + public void setAPPLY_NO(String APPLY_NO) { + this.APPLY_NO = APPLY_NO; + } + + public String getSICK_ID() { + return SICK_ID; + } + + public void setSICK_ID(String SICK_ID) { + this.SICK_ID = SICK_ID; + } + + public String getRESIDENCE_NO() { + return RESIDENCE_NO; + } + + public void setRESIDENCE_NO(String RESIDENCE_NO) { + this.RESIDENCE_NO = RESIDENCE_NO; + } + + public String getNAME() { + return NAME; + } + + public void setNAME(String NAME) { + this.NAME = NAME; + } + + public String getSEX() { + return SEX; + } + + public void setSEX(String SEX) { + this.SEX = SEX; + } + + public String getAPPLY_DEPT() { + return APPLY_DEPT; + } + + public void setAPPLY_DEPT(String APPLY_DEPT) { + this.APPLY_DEPT = APPLY_DEPT; + } + + public String getIN_DEPT() { + return IN_DEPT; + } + + public void setIN_DEPT(String IN_DEPT) { + this.IN_DEPT = IN_DEPT; + } + + public String getBED_NO() { + return BED_NO; + } + + public void setBED_NO(String BED_NO) { + this.BED_NO = BED_NO; + } + + public String getAPPLY_DOCTOR() { + return APPLY_DOCTOR; + } + + public void setAPPLY_DOCTOR(String APPLY_DOCTOR) { + this.APPLY_DOCTOR = APPLY_DOCTOR; + } + + public String getEXECUTE_DEPT() { + return EXECUTE_DEPT; + } + + public void setEXECUTE_DEPT(String EXECUTE_DEPT) { + this.EXECUTE_DEPT = EXECUTE_DEPT; + } + + public String getEXECUTE_MAN() { + return EXECUTE_MAN; + } + + public void setEXECUTE_MAN(String EXECUTE_MAN) { + this.EXECUTE_MAN = EXECUTE_MAN; + } + + public Integer getAGE() { + return AGE; + } + + public void setAGE(Integer AGE) { + this.AGE = AGE; + } + + public Integer getSTATUS() { + return STATUS; + } + + public void setSTATUS(Integer STATUS) { + this.STATUS = STATUS; + } + + public Date getAPPLY_TIME() { + return APPLY_TIME; + } + + public void setAPPLY_TIME(Date APPLY_TIME) { + this.APPLY_TIME = APPLY_TIME; + } + + public Date getMODIFIED() { + return MODIFIED; + } + + public void setMODIFIED(Date MODIFIED) { + this.MODIFIED = MODIFIED; + } + + public String getITEM_RESULT() { + return ITEM_RESULT; + } + + public void setITEM_RESULT(String ITEM_RESULT) { + this.ITEM_RESULT = ITEM_RESULT; + } + + public String getITEM_FINDING() { + return ITEM_FINDING; + } + + public void setITEM_FINDING(String ITEM_FINDING) { + this.ITEM_FINDING = ITEM_FINDING; + } + + public String getIMGS() { + return IMGS; + } + + public void setIMGS(String IMGS) { + this.IMGS = IMGS; + } + + public String getP_TITLE() { + return P_TITLE; + } + + public void setP_TITLE(String p_TITLE) { + P_TITLE = p_TITLE; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/v1/HisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/v1/HisService.java index 3756abc..dda5e19 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/v1/HisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/v1/HisService.java @@ -1,7 +1,6 @@ package com.lyms.hospitalapi.v1; -import com.lyms.hospitalapi.pojo.LisCheckInfo; -import com.lyms.hospitalapi.pojo.LisCheckResult; +import com.lyms.hospitalapi.pojo.*; import com.lyms.hospitalapi.v2.*; import com.lyms.platform.common.utils.DateUtil; import org.apache.commons.dbutils.DbUtils; @@ -12,7 +11,7 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.SQLException; -import java.util.List; +import java.util.*; /** * Created by Administrator on 2016/9/9 0009. @@ -20,9 +19,37 @@ import java.util.List; @Service("hisServiceV1") public class HisService { - public void queryLisCheckList(String cardNo) { + public List queryCheckList(String cardNo) { + List result = new ArrayList<>(); + result.addAll(queryLisCheckList(cardNo)); + result.addAll(queryPacsCheckList(cardNo)); + // 去重 + List list = new ArrayList<>(); + Date tempDate = null; + for (CheckResponse check:result) { + if (check.getModified().equals(tempDate)) { + continue; + } + list.add(check); + tempDate = check.getModified(); + } + + // 排序 + Collections.sort(list, new Comparator() { + public int compare(Object a, Object b) { + if (((CheckResponse)a).getModified().before(((CheckResponse)a).getModified())) { + return 1; + } + return 0; + } + }); + return list; + } + + public List queryLisCheckList(String cardNo) { + List result = new ArrayList<>(); if (StringUtils.isNotBlank(cardNo)) { - Connection conn = com.lyms.hospitalapi.v2.ConnTools.makeHisConnection(); + Connection conn = ConnTools.makeLisConnection(); QueryRunner queryRunner = new QueryRunner(); try { List list = queryRunner.query(conn, "select * from lis_check_info where P_CARD = '"+cardNo+"'", new BeanListHandler(LisCheckInfo.class)); @@ -31,17 +58,92 @@ public class HisService { if (StringUtils.isNotBlank(info.getP_APPLICATIONNUM())) { List resultList = queryRunner.query(conn, "select * from lis_check_result where P_APPLICATIONNUM = '"+info.getP_APPLICATIONNUM()+"'", new BeanListHandler(LisCheckResult.class)); if (resultList != null && resultList.size() > 0) { + CheckResponse check = new CheckResponse(); + check.setModified(info.getMODIFIED()); + check.setType(1); + check.setName(info.getP_NAME()); + check.setTitle(info.getP_TITLE()); + check.setAge(info.getP_AGE()); + check.setApplyDate(info.getP_CHECKTIME()); + check.setApplyDateStr(DateUtil.getyyyy_MM_dd_hms(info.getP_CHECKTIME())); + check.setCheckDept(info.getP_CHECKDEPARTNAME()); + check.setDoctor(info.getP_APPLATIONDOCNAME()); + if ("1".equals(info.getP_SEX())) { + check.setSex("男"); + } else if ("0".equals(info.getP_SEX())) { + check.setSex("女"); + } + List itemList = new ArrayList<>(); + check.setItemList(itemList); + for (LisCheckResult checkItem:resultList) { + CheckItemResponse item = new CheckItemResponse(); + item.setName(checkItem.getP_ITEMNAME()); + item.setCode(checkItem.getP_ITEMCODE()); + item.setRefer(checkItem.getP_REFERENCEVALUE()); + item.setResult(checkItem.getP_ITEMRESULT()); + item.setUnit(checkItem.getP_UNIT()); + item.setSpecial(checkItem.getP_HIGHANDLOWMARK()); + itemList.add(item); + } + result.add(check); + } + } + } + } + DbUtils.closeQuietly(conn); + return result; + } catch (SQLException e) { + DbUtils.closeQuietly(conn); + e.printStackTrace(); + return result; + } + } + return result; + } + public List queryPacsCheckList(String cardNo) { + List result = new ArrayList<>(); + if (StringUtils.isNotBlank(cardNo)) { + Connection conn = ConnTools.makePacsConnection(); + QueryRunner queryRunner = new QueryRunner(); + try { + List list = queryRunner.query(conn, "select * from ris.ris_check_info where CARDNO = '"+cardNo+"' order by apply_time", new BeanListHandler(RisCheckInfo.class)); + if (list.size() > 0) { + for (RisCheckInfo info:list) { + if (StringUtils.isNotBlank(info.getITEM_RESULT())) { + CheckResponse check = new CheckResponse(); + check.setModified(info.getMODIFIED()); + check.setType(2); + check.setName(info.getNAME()); + if (info.getAGE() != null) { + check.setAge(info.getAGE().toString()); + } + check.setApplyDate(info.getAPPLY_TIME()); + check.setApplyDateStr(DateUtil.getyyyy_MM_dd_hms(info.getAPPLY_TIME())); + check.setCheckDept(info.getAPPLY_DEPT()); + check.setDoctor(info.getEXECUTE_MAN()); + if ("F".equals(info.getSEX())) { + check.setSex("女"); + } else { + check.setSex("男"); } + check.setResult(info.getITEM_RESULT()); + check.setNotice(info.getITEM_FINDING()); + check.setTitle(info.getP_TITLE()); + check.setImgs(info.getIMGS()); + result.add(check); } } } DbUtils.closeQuietly(conn); + return result; } catch (SQLException e) { DbUtils.closeQuietly(conn); e.printStackTrace(); + return result; } } + return result; } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index 3ab9ece..038e870 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -1,9 +1,12 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.hospitalapi.v1.HisService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; +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.operate.web.facade.AntenatalExaminationFacade; import com.lyms.platform.operate.web.request.*; @@ -28,6 +31,19 @@ public class AntenatalExaminationController extends BaseController { @Autowired private AntenatalExaminationFacade antenatalExaminationFacade; + @Autowired + private HisService hisServiceV1; + + /** + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/hischecklist") + @ResponseBody + @TokenRequired + public BaseResponse queryHisCheckList(String cardNo, HttpServletRequest request) { + return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(hisServiceV1.queryCheckList(cardNo)); + } /** * 查询产前检查