Commit 44730b8f9d419e8eac5d631b2f5802ac7a7dd016
1 parent
edf3764351
Exists in
master
and in
6 other branches
update
Showing 3 changed files with 191 additions and 68 deletions
platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/JDBCUtil.java
View file @
44730b8
1 | 1 | package com.lyms.hospitalapi.hs; |
2 | 2 | |
3 | 3 | |
4 | + | |
4 | 5 | import java.sql.*; |
5 | 6 | import java.util.ArrayList; |
6 | 7 | import java.util.HashMap; |
... | ... | @@ -15,6 +16,9 @@ |
15 | 16 | static String oracle_url = "jdbc:oracle:thin:@172.16.7.250:1521:prmi"; |
16 | 17 | static String oracle_name = "LYMS_HENGSHUI_ZHENGSHI"; |
17 | 18 | static String oracle_pwd = "lyms2018"; |
19 | +// static String oracle_url = "jdbc:oracle:thin:@119.90.57.26:1522:orcl"; | |
20 | +// static String oracle_name = "LYMS_ODS"; | |
21 | +// static String oracle_pwd = "Welcome1"; | |
18 | 22 | |
19 | 23 | static String mysql_url = "jdbc:mysql://127.0.0.1:3306/platform?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"; |
20 | 24 | static String mysql_name = "lyms_chengdu"; |
... | ... | @@ -79,8 +83,10 @@ |
79 | 83 | while (rs.next()) { |
80 | 84 | Map<String, Object> maps = new HashMap<>(); |
81 | 85 | for (int i = 1; i <= count; i++) { |
82 | - String columnName = rs.getMetaData().getColumnName(i); | |
83 | - Object obj = rs.getObject(columnName); | |
86 | + ResultSetMetaData resultSetMetaData = rs.getMetaData(); | |
87 | + String columnName = resultSetMetaData.getColumnName(i); | |
88 | + Integer typeId = resultSetMetaData.getColumnType(i); | |
89 | + Object obj = (typeId != null && Types.DATE == typeId) ? rs.getTimestamp(columnName) : rs.getObject(columnName); | |
84 | 90 | if (obj != null) { |
85 | 91 | maps.put(columnName, obj); |
86 | 92 | } else { |
... | ... | @@ -96,6 +102,11 @@ |
96 | 102 | } |
97 | 103 | return list; |
98 | 104 | } |
105 | + | |
106 | +// public static void main(String[] args) { | |
107 | +// List<Map<String, Object>> list = getOracleListDataBySql("select last_login_time from USERS t where t.id=1"); | |
108 | +// System.out.println(DateUtil.gety_m_dhm(HsDataUtil.getDate(list.get(0).get("LAST_LOGIN_TIME")))); | |
109 | +// } | |
99 | 110 | |
100 | 111 | |
101 | 112 | public static List<Map<String, Object>> getMysqlListDataBySql(String sql) { |
platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncHsPatientService.java
View file @
44730b8
... | ... | @@ -2,8 +2,10 @@ |
2 | 2 | |
3 | 3 | |
4 | 4 | import com.lyms.platform.biz.service.CommonService; |
5 | +import com.lyms.platform.common.enums.RenShenJieJuEnums; | |
5 | 6 | import com.lyms.platform.common.enums.YnEnums; |
6 | 7 | import com.lyms.platform.common.utils.*; |
8 | +import com.lyms.platform.operate.web.request.MatDeliverAddRequest; | |
7 | 9 | import com.lyms.platform.pojo.*; |
8 | 10 | import org.apache.commons.collections.CollectionUtils; |
9 | 11 | import org.springframework.beans.factory.InitializingBean; |
... | ... | @@ -39,7 +41,7 @@ |
39 | 41 | @Override |
40 | 42 | public void afterPropertiesSet() throws Exception { |
41 | 43 | //初始化数据 |
42 | - //HsDataUtil.initData(mongoTemplate); | |
44 | + HsDataUtil.initData(mongoTemplate); | |
43 | 45 | } |
44 | 46 | |
45 | 47 | /** |
... | ... | @@ -51,11 +53,17 @@ |
51 | 53 | int pageEnd = 5000; |
52 | 54 | |
53 | 55 | //查询孕妇档案 |
54 | - String sql = " select * from (select ROWNUM AS rowno, temp.* from (select replace(mp.P_NO, '-', '') as PID, " + | |
55 | - " mp.*, p_birthday, p_name, vc.VC_CARDNO from MOMMY_PATIENT mp " + | |
56 | - " left join Plat_Patient pp on mp.p_platpatientid = pp.p_id left join (select max(VC_OPERTIME) as OPERTIME, " + | |
57 | - " VC_CARDNO, VC_PATIENTNO from MOMMY_VISITCARD group by VC_CARDNO, VC_PATIENTNO) vc " + | |
58 | - " on vc.VC_PATIENTNO = mp.P_NO order by mp.P_FILINGTIME desc) temp where ROWNUM <=pageEnd) pat where pat.rowno >= pageStart and p_platpatientid='876b5f81-b495-4937-81cc-06219ed25e94'"; | |
56 | +// String sql = " select * from (select ROWNUM AS rowno, temp.* from (select replace(mp.P_NO, '-', '') as PID, " + | |
57 | +// " mp.*, p_birthday, p_name, vc.VC_CARDNO from MOMMY_PATIENT mp " + | |
58 | +// " left join Plat_Patient pp on mp.p_platpatientid = pp.p_id left join (select max(VC_OPERTIME) as OPERTIME, " + | |
59 | +// " VC_CARDNO, VC_PATIENTNO from MOMMY_VISITCARD group by VC_CARDNO, VC_PATIENTNO) vc " + | |
60 | +// " on vc.VC_PATIENTNO = mp.P_NO order by mp.P_FILINGTIME desc) temp where ROWNUM <=pageEnd) pat where pat.rowno >= pageStart"; | |
61 | + | |
62 | + String sql = " select replace(mp.P_NO, '-', '') as PID, \n" + | |
63 | + " mp.*, p_birthday, p_name, vc.VC_CARDNO from MOMMY_PATIENT mp \n" + | |
64 | + " left join Plat_Patient pp on mp.p_platpatientid = pp.p_id left join (select max(VC_OPERTIME) as OPERTIME, \n" + | |
65 | + " VC_CARDNO, VC_PATIENTNO from MOMMY_VISITCARD group by VC_CARDNO, VC_PATIENTNO) vc \n" + | |
66 | + " on vc.VC_PATIENTNO = mp.P_NO where p_platpatientid='876b5f81-b495-4937-81cc-06219ed25e94' order by mp.P_FILINGTIME desc"; | |
59 | 67 | do { |
60 | 68 | sql = sql.replace("pageEnd",String.valueOf(pageEnd)); |
61 | 69 | sql = sql.replace("pageStart",String.valueOf(pageStart)); |
62 | 70 | |
63 | 71 | |
64 | 72 | |
65 | 73 | |
66 | 74 | |
67 | 75 | |
... | ... | @@ -119,69 +127,16 @@ |
119 | 127 | |
120 | 128 | Patients patients = new Patients(); |
121 | 129 | |
122 | - int type = 1; | |
123 | - List<Map<String, Object>> chanList = null; | |
124 | - if (StringUtils.isNotEmpty(HsDataUtil.getString(map.get("P_PLATPATIENTID")))) { | |
125 | - chanList = JDBCUtil.getOracleListDataBySql("SELECT * FROM MOMMY_PREGDELIVERYRECORD P WHERE P.PDR_PATIENTID = '" + HsDataUtil.getString(map.get("P_PLATPATIENTID")) + "' order by p.PDR_CHILDBIRTHDAY desc "); | |
126 | - } | |
127 | - //分娩孕妇处理 | |
128 | - if ( CollectionUtils.isNotEmpty(chanList)) { | |
129 | - if (CollectionUtils.isNotEmpty(chanList)) { | |
130 | - System.out.println("============"+chanList.size()); | |
131 | - //分娩记录 | |
132 | - Map<String, Object> fmMap = chanList.get(0); | |
133 | - Date fmDate = HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY")); | |
134 | - patients.setIsAutoFm(0); | |
135 | - patients.setFmDate(fmDate); | |
136 | - type = 3; | |
137 | 130 | |
138 | - patients.setFmAge(DateUtil.getAge(HsDataUtil.getDate(map.get("P_BIRTHDAY")), fmDate)); | |
139 | - patients.setFmWeek(DateUtil.getWeek(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), fmDate)); | |
140 | 131 | |
141 | - String hname = HsDataUtil.getOraHosptalById(HsDataUtil.getString(map.get("PDR_DELIVERORGANIZATIONID"))); | |
142 | - String id = HsDataUtil.getMysqlHosptalByName(hname); | |
143 | - patients.setFmHospital(id); | |
144 | - if (StringUtils.isNotEmpty(HsDataUtil.getString(map.get("PDR_DELIVERYMODE")))) | |
145 | - { | |
146 | 132 | |
147 | - Map deliveryMode = new HashMap(); | |
148 | - if ("自然娩出".equals(HsDataUtil.getString(map.get("PDR_DELIVERYMODE")))) | |
149 | - { | |
150 | - deliveryMode.put("fmfs","0"); | |
151 | - deliveryMode.put("scfs","0"); | |
152 | - } | |
153 | - else if ("剖宫产".equals(HsDataUtil.getString(map.get("PDR_DELIVERYMODE")))) | |
154 | - { | |
155 | - deliveryMode.put("fmfs","1"); | |
156 | - deliveryMode.put("scfs",""); | |
157 | - } | |
158 | - patients.setFmType(JsonUtil.obj2Str(deliveryMode)); | |
159 | - } | |
160 | 133 | |
161 | - craeteFm(fmMap,String.valueOf(map.get("PID")),HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), id); | |
162 | - } | |
163 | - } | |
164 | - | |
165 | - PersonModel person = new PersonModel(); | |
166 | - mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(HsDataUtil.getString(map.get("P_CARDNO"))).and("yn").is(1)), PersonModel.class); | |
167 | - person.setId(String.valueOf(map.get("PID"))); | |
168 | - person.setType(type); | |
169 | - person.setYn(YnEnums.YES.getId()); | |
170 | - person.setBirth(HsDataUtil.getDate(map.get("P_BIRTHDAY"))); | |
171 | - person.setCardNo(HsDataUtil.getString(map.get("P_CARDNO"))); | |
172 | - person.setName(HsDataUtil.getString(map.get("P_NAME"))); | |
173 | - person.setPhone(HsDataUtil.getString(map.get("P_MOBILEPHONE"))); | |
174 | - person.setCreated(HsDataUtil.getDate(map.get("P_FILINGTIME"))); | |
175 | - person.setModified(HsDataUtil.getDate(map.get("P_OPERTIME"))); | |
176 | - mongoTemplate.save(person); | |
177 | - | |
178 | - | |
179 | 134 | Date dueDate = DateUtil.addDay(DateUtil.addMonth(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), 9), 7); |
180 | 135 | patients.setDueDate(dueDate); |
181 | 136 | |
182 | - patients.setBuildDays(DateUtil.getDays(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")),HsDataUtil.getDate(map.get("P_FILINGTIME")))); | |
137 | + patients.setBuildDays(DateUtil.getDays(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), HsDataUtil.getDate(map.get("P_FILINGTIME")))); | |
183 | 138 | |
184 | - patients.setPid(person.getId()); | |
139 | + | |
185 | 140 | patients.setId(String.valueOf(map.get("PID"))); |
186 | 141 | patients.setYn(HsDataUtil.getInteger(map.get("P_ISVALID"))); //是否有效 |
187 | 142 | patients.setBuildType(0); |
188 | 143 | |
... | ... | @@ -248,8 +203,8 @@ |
248 | 203 | patients.setHospitalId(id); |
249 | 204 | } |
250 | 205 | |
251 | - patients.setType(type); //患者类型 | |
252 | 206 | |
207 | + | |
253 | 208 | String doctorId = HsDataUtil.getString(map.get("P_FILINGOPER")); |
254 | 209 | if (doctorId != null && !"".equals(doctorId)) { |
255 | 210 | String userName = HsDataUtil.getEmpNameById(doctorId); |
256 | 211 | |
... | ... | @@ -485,7 +440,72 @@ |
485 | 440 | |
486 | 441 | createCZ(chuList,patients); |
487 | 442 | } |
443 | + int type = 1; | |
488 | 444 | |
445 | + | |
446 | + | |
447 | + | |
448 | + | |
449 | + List<Map<String, Object>> chanList = null; | |
450 | + if (StringUtils.isNotEmpty(HsDataUtil.getString(map.get("P_PLATPATIENTID")))) { | |
451 | + chanList = JDBCUtil.getOracleListDataBySql("SELECT * FROM MOMMY_PREGDELIVERYRECORD P WHERE P.PDR_PATIENTID = '" + HsDataUtil.getString(map.get("P_PLATPATIENTID")) + "' order by p.PDR_CHILDBIRTHDAY desc "); | |
452 | + } | |
453 | + //分娩孕妇处理 | |
454 | + if ( CollectionUtils.isNotEmpty(chanList)) { | |
455 | + if (CollectionUtils.isNotEmpty(chanList)) { | |
456 | + System.out.println("============"+chanList.size()); | |
457 | + //分娩记录 | |
458 | + Map<String, Object> fmMap = chanList.get(0); | |
459 | + Date fmDate = HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY")); | |
460 | + patients.setIsAutoFm(0); | |
461 | + patients.setFmDate(fmDate); | |
462 | + type = 3; | |
463 | + patients.setType(type); //患者类型 | |
464 | + patients.setFmAge(DateUtil.getAge(HsDataUtil.getDate(map.get("P_BIRTHDAY")), fmDate)); | |
465 | + patients.setFmWeek(DateUtil.getDays(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), fmDate)); | |
466 | + | |
467 | + String hname = HsDataUtil.getOraHosptalById(HsDataUtil.getString(fmMap.get("PDR_DELIVERORGANIZATIONID"))); | |
468 | + String id = HsDataUtil.getMysqlHosptalByName(hname); | |
469 | + patients.setFmHospital(id); | |
470 | + if (StringUtils.isNotEmpty(HsDataUtil.getString(fmMap.get("PDR_DELIVERYMODE")))) | |
471 | + { | |
472 | + | |
473 | + Map deliveryMode = new HashMap(); | |
474 | + if ("自然娩出".equals(HsDataUtil.getString(fmMap.get("PDR_DELIVERYMODE")))) | |
475 | + { | |
476 | + deliveryMode.put("fmfs","0"); | |
477 | + deliveryMode.put("scfs","0"); | |
478 | + } | |
479 | + else if ("剖宫产".equals(HsDataUtil.getString(fmMap.get("PDR_DELIVERYMODE")))) | |
480 | + { | |
481 | + deliveryMode.put("fmfs","1"); | |
482 | + deliveryMode.put("scfs",""); | |
483 | + } | |
484 | + patients.setFmType(JsonUtil.obj2Str(deliveryMode)); | |
485 | + } | |
486 | + | |
487 | + craeteFm(fmMap,String.valueOf(map.get("PID")),HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), id, patients); | |
488 | + } | |
489 | + } | |
490 | + | |
491 | + patients.setType(type); //患者类型 | |
492 | + | |
493 | + | |
494 | + PersonModel person = new PersonModel(); | |
495 | + mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(HsDataUtil.getString(map.get("P_CARDNO"))).and("yn").is(1)), PersonModel.class); | |
496 | + person.setId(String.valueOf(map.get("PID"))); | |
497 | + person.setType(type); | |
498 | + | |
499 | + person.setYn(YnEnums.YES.getId()); | |
500 | + person.setBirth(HsDataUtil.getDate(map.get("P_BIRTHDAY"))); | |
501 | + person.setCardNo(HsDataUtil.getString(map.get("P_CARDNO"))); | |
502 | + person.setName(HsDataUtil.getString(map.get("P_NAME"))); | |
503 | + person.setPhone(HsDataUtil.getString(map.get("P_MOBILEPHONE"))); | |
504 | + person.setCreated(HsDataUtil.getDate(map.get("P_FILINGTIME"))); | |
505 | + person.setModified(HsDataUtil.getDate(map.get("P_OPERTIME"))); | |
506 | + mongoTemplate.save(person); | |
507 | + patients.setPid(person.getId()); | |
508 | + | |
489 | 509 | mongoTemplate.save(patients); |
490 | 510 | count.getAndIncrement(); |
491 | 511 | System.out.println(patients.getId() + "============"+count.get()); |
... | ... | @@ -642,7 +662,7 @@ |
642 | 662 | * @param last |
643 | 663 | * @param fmHospitalId |
644 | 664 | */ |
645 | - private void craeteFm(Map<String,Object> fmMap,String patientId,Date last,String fmHospitalId) { | |
665 | + private void craeteFm(Map<String,Object> fmMap,String patientId,Date last,String fmHospitalId,Patients patients) { | |
646 | 666 | |
647 | 667 | try { |
648 | 668 | MaternalDeliverModel deliverModel = new MaternalDeliverModel(); |
649 | 669 | |
... | ... | @@ -729,11 +749,103 @@ |
729 | 749 | } |
730 | 750 | deliverModel.setBaby(babies); |
731 | 751 | mongoTemplate.save(deliverModel); |
732 | - System.out.println("创建分娩完成"+deliverModel.getId()); | |
752 | + System.out.println("创建分娩完成" + deliverModel.getId()); | |
753 | + | |
754 | + createBaby(babies,patients); | |
755 | + | |
733 | 756 | }catch (Exception e) |
734 | 757 | { |
735 | 758 | System.out.println(e.getMessage()); |
736 | 759 | } |
760 | + } | |
761 | + | |
762 | + private void createBaby(List<MaternalDeliverModel.Baby> list,Patients patients) { | |
763 | + | |
764 | + for (MaternalDeliverModel.Baby baby : list) { | |
765 | + //填充小孩基本信息 | |
766 | + BabyModel babyModel = new BabyModel(); | |
767 | + if (null != patients) { | |
768 | + babyModel.setId(baby.getId()); | |
769 | + babyModel.setAreaId(patients.getAreaId()); | |
770 | + babyModel.setProvinceId(patients.getProvinceId()); | |
771 | + babyModel.setCityId(patients.getCityId()); | |
772 | + babyModel.setStreetId(patients.getStreetId()); | |
773 | + babyModel.setAddress(patients.getAddress()); | |
774 | + //母亲信息 | |
775 | + babyModel.setMname(patients.getUsername()); | |
776 | + babyModel.setMjob(patients.getPworkUnit()); | |
777 | + babyModel.setMphone(patients.getPhone()); | |
778 | + babyModel.setMbirth(patients.getBirth()); | |
779 | + babyModel.setMcertNo(patients.getCardNo()); | |
780 | + babyModel.setMcertTypeId(patients.getPcerteTypeId()); | |
781 | + //父亲信息 | |
782 | + babyModel.setFjob(patients.getHworkUnit()); | |
783 | + babyModel.setFname(patients.getHusbandName()); | |
784 | + babyModel.setFphone(patients.getHusbandPhone()); | |
785 | + babyModel.setFproTypeId(patients.getHprofessionTypeId()); | |
786 | + babyModel.setfLevelId(patients.getHlevelTypeId()); | |
787 | + babyModel.setFcertNo(patients.getHcertificateNum()); | |
788 | + babyModel.setFcertTypeId(patients.getPcerteTypeId()); | |
789 | + babyModel.setDueDate(patients.getDueDate()); | |
790 | + babyModel.setDueType(patients.getDueType()); | |
791 | + babyModel.setBuildDoctor("a9e5507f-e7da-4ec6-b8db-9a1e4d1b7c29"); | |
792 | + babyModel.setCreated(new Date()); | |
793 | + babyModel.setModified(new Date()); | |
794 | + if (null != patients.getDueDate()) { | |
795 | + int day = DateUtil.getDays(patients.getLastMenses(), patients.getDueDate()); | |
796 | + babyModel.setDueWeek(day / 7); | |
797 | + int dueDay = day % 7; | |
798 | + babyModel.setDueDay(dueDay == 0 ? null : dueDay); | |
799 | + } | |
800 | + } | |
801 | + // 产妇分娩建档 | |
802 | + babyModel.setBuildType(2); | |
803 | + | |
804 | + | |
805 | + PersonModel personModel = new PersonModel(); | |
806 | + personModel.setType(2); | |
807 | + personModel.setBirth(DateUtil.parseYMD(baby.getDueTime())); | |
808 | + personModel.setModified(new Date()); | |
809 | + personModel.setPhone(babyModel.getMphone()); | |
810 | + personModel.setCardNo(babyModel.getMcertNo()); | |
811 | + personModel.setName(babyModel.getName()); | |
812 | + personModel.setCreated(new Date()); | |
813 | + | |
814 | + | |
815 | + //判断妊娠结局是活产才添加数据 | |
816 | + if ((RenShenJieJuEnums.O.getId() + "").equals(baby.getPregnancyOut())) { | |
817 | + //改成这种是因为需求要求 分娩自动流转儿童信息,建档时间为空,医生确认建档 | |
818 | + babyModel.setYn(YnEnums.NO.getId()); | |
819 | + babyModel.setDataStatus(1); | |
820 | + //add lqy start 2017-03-01 | |
821 | + babyModel.setBlNo(baby.getBlNo()); | |
822 | + babyModel.setBabyDiagnosis(baby.getBabyDiagnosis()); | |
823 | + personModel.setYn(YnEnums.YES.getId()); | |
824 | + } else { | |
825 | + personModel.setYn(YnEnums.NO.getId()); | |
826 | + } | |
827 | + mongoTemplate.save(personModel); | |
828 | + | |
829 | + babyModel.setPid(personModel.getId()); | |
830 | + babyModel.setName(patients.getUsername() + ("1".equals(baby.getBabyGender()) ? "之子" : "之女")); | |
831 | + babyModel.setBabyHealthy(baby.getBabyHealthy()); | |
832 | + babyModel.setBabyWeight(com.lyms.platform.common.utils.StringUtils.cutBabyWeight(baby.getBabyWeight())); | |
833 | + babyModel.setBabyHeight(baby.getBabyHeight()); | |
834 | + babyModel.setMalformation(baby.getDeformity()); | |
835 | + babyModel.setPregnancyOut(baby.getPregnancyOut()); | |
836 | + | |
837 | + babyModel.setContactM(baby.getContactM()); | |
838 | + babyModel.setContactStartM(baby.getContactStartM()); | |
839 | + babyModel.setEarlySuck(baby.getEarlySuck()); | |
840 | + babyModel.setParentId(patients.getId()); | |
841 | + babyModel.setBuildDate(patients.getFmDate()); | |
842 | + babyModel.setHospitalId(patients.getFmHospital()); | |
843 | + | |
844 | + mongoTemplate.save(babyModel); | |
845 | + | |
846 | + | |
847 | + } | |
848 | + | |
737 | 849 | } |
738 | 850 | |
739 | 851 |
platform-operate-api/src/main/resources/config.properties
View file @
44730b8
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | #区域平台访问短信中心的token |
6 | 6 | center_token=e0c56363-00d6-42ee-bbe0-23c553583062 |
7 | 7 | |
8 | -#His系统版本 0:未使用,1:桓台,2:新乐,3:青龙县医院,4:秦皇岛妇幼,5:抚宁妇幼, 6: 德州妇幼,7:南充中心医院 | |
9 | -his_version=21 | |
8 | +#His系统版本 0:未使用,1:桓台,2:新乐,3:青龙县医院,4:秦皇岛妇幼,5:抚宁妇幼, 6: 德州妇幼,7:南充中心医院 30 衡水 | |
9 | +his_version=30 | |
10 | 10 | |
11 | 11 | xt_version= |
12 | 12 |