Commit 4e6ec4af700341d582d2e20bfcdc98f03f3f50f6
1 parent
3663e4c701
Exists in
master
and in
8 other branches
code update
Showing 3 changed files with 131 additions and 35 deletions
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java
View file @
4e6ec4a
1 | 1 | package com.lyms.platform.biz; |
2 | 2 | |
3 | 3 | import com.lyms.platform.common.enums.*; |
4 | +import com.lyms.platform.common.utils.DateUtil; | |
4 | 5 | import com.lyms.platform.common.utils.JsonUtil; |
6 | +import com.lyms.platform.common.utils.StringUtils; | |
5 | 7 | import com.lyms.platform.common.utils.SystemConfig; |
6 | 8 | import com.lyms.platform.pojo.*; |
9 | +import org.apache.commons.collections.CollectionUtils; | |
7 | 10 | import org.apache.velocity.anakia.Escape; |
8 | 11 | import org.bson.types.ObjectId; |
9 | 12 | import org.springframework.context.ApplicationContext; |
10 | 13 | |
11 | 14 | |
12 | 15 | |
13 | 16 | |
14 | 17 | |
15 | 18 | |
16 | 19 | |
17 | 20 | |
18 | 21 | |
19 | 22 | |
20 | 23 | |
... | ... | @@ -169,38 +172,86 @@ |
169 | 172 | public static void syncPatientData(String hospitalId) |
170 | 173 | { |
171 | 174 | List<Map<String,Object>> list = getListDataBySql(" SELECT * FROM ( SELECT A.*, ROWNUM RN FROM " + |
172 | - "(select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday from MOMMY_PATIENT mp left join Plat_Patient pp" + | |
173 | - " on mp.p_platpatientid=pp.p_id where mp.p_hospitalid = '"+hospitalId+"') A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "); | |
175 | + "(select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday,p_name,floor((trunc(sysdate) - trunc(mp.P_LASTMENSTRUALPERIOD)+1) /7) as weeks from MOMMY_PATIENT mp left join Plat_Patient pp" + | |
176 | + " on mp.p_platpatientid=pp.p_id where mp.p_hospitalid = '"+hospitalId+"') A WHERE ROWNUM <= 30 and weeks < 42) WHERE RN >= 0 "); | |
174 | 177 | |
175 | 178 | |
176 | 179 | MongoTemplate mongoTemplate = getMongoTemplate(); |
177 | 180 | |
178 | 181 | for(Map<String,Object> map : list) |
179 | 182 | { |
183 | + Patients patients = new Patients(); | |
180 | 184 | PersonModel person = new PersonModel(); |
185 | + | |
186 | + | |
187 | + int type = 1; | |
188 | + Integer weeks = getInteger(map.get("WEEKS")); | |
189 | + List<Map<String,Object>> chanList = null; | |
190 | + if (StringUtils.isNotEmpty(getString(map.get("P_ID")))) | |
191 | + { | |
192 | + chanList = getListDataBySql("select * from MOMMY_PREGDELIVERYRECORD p where p.pdr_patientid = '"+getString(map.get("p_id"))+"' order by p.PDR_CHILDBIRTHDAY desc "); | |
193 | + } | |
194 | + if (weeks >= 42 || CollectionUtils.isNotEmpty(chanList)) | |
195 | + { | |
196 | + Date fmDate = null; | |
197 | + if (CollectionUtils.isNotEmpty(chanList)) | |
198 | + { | |
199 | + fmDate = getDate(chanList.get(0).get("PDR_CHILDBIRTHDAY")); | |
200 | + } | |
201 | + else | |
202 | + { | |
203 | + fmDate = DateUtil.addDay(getDate(map.get("P_LASTMENSTRUALPERIOD")),42*7); | |
204 | + } | |
205 | + patients.setFmDate(fmDate); | |
206 | + | |
207 | + type = 3; | |
208 | + } | |
209 | + | |
210 | + patients.setDueDate(DateUtil.addDay(getDate(map.get("P_LASTMENSTRUALPERIOD")), 42 * 7)); | |
181 | 211 | person.setCreated(new Date()); |
182 | - person.setType(getInteger(map.get("P_PATIENTTYPE"))); | |
212 | + | |
213 | + | |
214 | + person.setType(type); | |
183 | 215 | person.setYn(YnEnums.YES.getId()); |
184 | - person.setBirth(map.get("P_BIRTHDAY") == null ? new Date() : getDate(map.get("P_BIRTHDAY"))); | |
216 | + person.setBirth(getDate(map.get("P_BIRTHDAY"))); | |
185 | 217 | person.setCardNo(getString(map.get("P_CARDNO"))); |
186 | - person.setName(getString(map.get("P_MOTHERNAME"))); | |
218 | + person.setName(getString(map.get("P_NAME"))); | |
187 | 219 | person.setPhone(getString(map.get("P_MOBILEPHONE"))); |
188 | - | |
220 | + person.setCreated(getDate(map.get("P_FILINGTIME"))); | |
221 | + person.setModified(getDate(map.get("P_OPERTIME"))); | |
189 | 222 | mongoTemplate.save(person); |
190 | 223 | |
191 | - Patients patients = new Patients(); | |
224 | + | |
192 | 225 | patients.setPid(person.getId()); |
193 | 226 | patients.setId(String.valueOf(map.get("PID"))); |
194 | 227 | patients.setYn(getInteger(map.get("P_ISVALID"))); //是否有效 |
228 | + patients.setBuildType(0); | |
229 | + patients.setBirth(getDate(map.get("P_BIRTHDAY"))); | |
230 | + patients.setCreated(getDate(map.get("P_FILINGTIME"))); | |
231 | + patients.setModified(getDate(map.get("P_OPERTIME"))); | |
232 | + patients.setDueStatus(0); | |
195 | 233 | |
196 | - String cardType = getString(map.get("P_CARDTYPE")); //证件类型 | |
197 | - String cardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + cardType + "'")); | |
198 | - if (cardTypeName != null && !"".equals(cardTypeName)) | |
234 | + | |
235 | + | |
236 | + | |
237 | + | |
238 | + if (StringUtils.isNotEmpty(getString(map.get("P_CARDNO")))) | |
199 | 239 | { |
200 | - String id = getMongoBasicConfig(cardTypeName, SystemConfig.CERTE_TYPE_ID); | |
201 | - patients.setPcerteTypeId(id); | |
240 | + String cardType = getString(map.get("P_CARDTYPE")); //证件类型 | |
241 | + String cardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + cardType + "'")); | |
242 | + if (cardTypeName != null && !"".equals(cardTypeName)) | |
243 | + { | |
244 | + String id = getMongoBasicConfig(cardTypeName, SystemConfig.CERTE_TYPE_ID); | |
245 | + patients.setPcerteTypeId(id); | |
246 | + } | |
247 | + | |
248 | + patients.setCardNo(getString(map.get("P_CARDNO"))); //证件号码 | |
202 | 249 | } |
203 | - patients.setCardNo(getString(map.get("P_CARDNO"))); //证件号码 | |
250 | + else | |
251 | + { | |
252 | + patients.setCardNo(getString(map.get("P_MOBILEPHONE"))); //证件号码 | |
253 | + patients.setPcerteTypeId("57e0a21c0cf209b410a82cda"); | |
254 | + } | |
204 | 255 | |
205 | 256 | //---------------------居住地址 |
206 | 257 | String proviceId = getString(map.get("P_ADDRESSPROVINCE")); |
... | ... | @@ -247,7 +298,7 @@ |
247 | 298 | } |
248 | 299 | |
249 | 300 | patients.setPhone(getString(map.get("P_MOBILEPHONE"))); //孕妇手机号码 |
250 | - patients.setUsername(getString(map.get("P_MOTHERNAME"))); //孕妇姓名 | |
301 | + patients.setUsername(getString(map.get("P_NAME"))); //孕妇姓名 | |
251 | 302 | patients.setBookbuildingDate(getDate(map.get("P_FILINGTIME"))); //建档日期 |
252 | 303 | patients.setLastMenses(getDate(map.get("P_LASTMENSTRUALPERIOD"))); //末次月经 |
253 | 304 | |
254 | 305 | |
255 | 306 | |
... | ... | @@ -282,14 +333,14 @@ |
282 | 333 | patients.setHospitalId(id); |
283 | 334 | } |
284 | 335 | |
285 | - patients.setType(getInteger(map.get("P_PATIENTTYPE"))); //患者类型 | |
336 | + patients.setType(type); //患者类型 | |
286 | 337 | |
287 | - String doctorId = getString(map.get("P_DOCID")); | |
338 | + String doctorId = getString(map.get("P_FILINGOPER")); | |
288 | 339 | if (doctorId != null && !"".equals(doctorId)) |
289 | 340 | { |
290 | 341 | String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'")); |
291 | 342 | String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'")); |
292 | - patients.setBookbuildingDoctor(id); //建档医生 | |
343 | + patients.setBookbuildingDoctor(id); //建档医生(创建者) | |
293 | 344 | } |
294 | 345 | |
295 | 346 | Integer isvip = getInteger(map.get("P_ISVIP")); //vip |
... | ... | @@ -562,6 +613,8 @@ |
562 | 613 | chuModel.setUterus(getString(map.get("FE_UTERUS"))); |
563 | 614 | chuModel.setFujian(getString(map.get("FE_ATTACHMENT"))); |
564 | 615 | chuModel.setCreated(getDate(map.get("FE_CREATETIME"))); |
616 | + chuModel.setNextCheckTime(getDate(map.get("FE_ORDERNEXT"))); | |
617 | + chuModel.setCheckTime(getDate(map.get("FE_ROCTORTIME"))); | |
565 | 618 | |
566 | 619 | String hid = getString(map.get("FE_HOSPITALID")); |
567 | 620 | if (hid != null && !"".equals(hid)) |
568 | 621 | |
... | ... | @@ -718,9 +771,17 @@ |
718 | 771 | antxModel.setUrineProtein(getString(map.get("URINEPROTEIN"))); |
719 | 772 | antxModel.setbChao(getString(map.get("BCHAO"))); |
720 | 773 | antxModel.setBloodSugar(getString(map.get("BLOODSUGAR"))); |
721 | - antxModel.setRiskFactor(getString(map.get("RISKFACTOR"))); | |
774 | + if (StringUtils.isNotEmpty(getString(map.get("RISKFACTOR")))) | |
775 | + { | |
776 | + antxModel.setRiskFactor(getString(map.get("RISKFACTOR"))); | |
777 | + } | |
778 | + else | |
779 | + { | |
780 | + antxModel.setRiskFactor("[]"); | |
781 | + } | |
782 | + | |
722 | 783 | antxModel.setRiskScore(getString(map.get("RISKSCORE"))); |
723 | - antxModel.setOtherRisk(getString(map.get(""))); | |
784 | + antxModel.setOtherRisk("{}"); | |
724 | 785 | antxModel.setDiagnosis(getString(map.get(""))); |
725 | 786 | antxModel.setType(getString(map.get(""))); |
726 | 787 | antxModel.setTypeYc(getString(map.get(""))); |
... | ... | @@ -739,7 +800,14 @@ |
739 | 800 | antxModel.setYn(getInteger(map.get("YN"))); |
740 | 801 | antxModel.setCreated(getDate(map.get("CREATED"))); |
741 | 802 | antxModel.setModified(getDate(map.get("MODIFIED"))); |
742 | - antxModel.setHospitalId(getString(map.get("HOSPITALID"))); | |
803 | + | |
804 | + String hid = getString(map.get("HOSPITALID")); | |
805 | + if (hid != null && !"".equals(hid)) | |
806 | + { | |
807 | + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + hid + "'")); | |
808 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'")); | |
809 | + antxModel.setHospitalId(id); | |
810 | + } | |
743 | 811 | antxModel.setcDueWeek(getString(map.get("CDUEWEEK"))); |
744 | 812 | |
745 | 813 | |
... | ... | @@ -778,7 +846,7 @@ |
778 | 846 | model.setAddress(getString(map.get("PI_ADDRESS"))); |
779 | 847 | |
780 | 848 | model.setFname(getString(map.get("PI_FATHERNAME"))); |
781 | - model.setFphone(getString(map.get("PI_FATHERPROFESSION"))); | |
849 | + model.setFphone(getString(map.get("PI_FATHERPHONE"))); | |
782 | 850 | model.setFbirth(getDate(map.get(""))); |
783 | 851 | |
784 | 852 | |
785 | 853 | |
786 | 854 | |
... | ... | @@ -843,16 +911,21 @@ |
843 | 911 | Integer yn = getInteger(map.get("PI_ISDELETE")); |
844 | 912 | model.setYn(yn); |
845 | 913 | |
846 | - model.setDueType(getString(map.get(""))); | |
847 | - model.setFetusCount(getString(map.get(""))); | |
848 | - model.setDueCount(getString(map.get(""))); | |
914 | + String dueTypeId = getString(map.get("PI_FENMIAN")); | |
915 | + if (dueTypeId != null && !"".equals(dueTypeId)) | |
916 | + { | |
917 | + String name = getString(getOralceSingleObjBySql("select pd.dc_name from Plat_Datacontent pd where pd.dc_id='"+dueTypeId+"'")); | |
918 | + model.setDueType(FmTypeEnums.getIdByName(name)); | |
919 | + } | |
920 | + | |
921 | + model.setFetusCount(getString(map.get("PI_FOETUSCOUNT"))); | |
922 | + model.setDueCount(getString(map.get("PI_BIRTHCOUNT"))); | |
849 | 923 | model.setBabyWeight(getString(map.get("PI_WEIGHT"))); |
850 | 924 | model.setBabyHeight(getString(map.get("PI_HEIGHT"))); |
851 | 925 | model.setBabyHead(getString(map.get("PI_HEADSIZE"))); |
852 | - model.setMalformation(getInteger(map.get(""))); | |
926 | + model.setMalformation(getInteger(map.get("PI_BIRTHDEFORMED"))); | |
853 | 927 | |
854 | - | |
855 | - String doctorId = getString(map.get("PI_DOCTORID")); | |
928 | + String doctorId = getString(map.get("PI_CREATEOPER")); | |
856 | 929 | if (doctorId != null && !"".equals(doctorId)) { |
857 | 930 | String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'")); |
858 | 931 | String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'")); |
859 | 932 | |
... | ... | @@ -906,9 +979,18 @@ |
906 | 979 | } |
907 | 980 | |
908 | 981 | model.setVcCardNo(getString(map.get("PI_CARDNO"))); |
909 | - model.setApgarScore(getString(map.get(""))); | |
982 | +// String apgar = getString(map.get("PI_APGAR")); | |
983 | +// if (StringUtils.isNotEmpty(apgar)) | |
984 | +// { | |
985 | +// String[] apgars = apgar.split("-"); | |
986 | +// if (apgars) | |
987 | +// { | |
988 | +// | |
989 | +// } | |
990 | +// } | |
991 | +// model.setApgarScore(); | |
910 | 992 | model.setAsphyxiaM(getString(map.get(""))); |
911 | - model.setPregnancyOut(getString(map.get("PI_BIRTHASPHYXIA"))); | |
993 | + model.setPregnancyOut(getString(map.get(""))); | |
912 | 994 | model.setBabyHealthy(getString(map.get(""))); |
913 | 995 | model.setContactStartM(getString(map.get(""))); |
914 | 996 | model.setContactM(getString(map.get(""))); |
915 | 997 | |
... | ... | @@ -937,9 +1019,9 @@ |
937 | 1019 | { |
938 | 1020 | BabyCheckModel checkModel = new BabyCheckModel(); |
939 | 1021 | |
940 | - checkModel.setId(getString(map.get("CER_ID"))); | |
1022 | + checkModel.setId(getString(map.get("CER_ID")).replace("-","")); | |
941 | 1023 | checkModel.setYn(YnEnums.YES.getId()); |
942 | - checkModel.setBuildId(getString(map.get("CER_PATIENTID"))); | |
1024 | + checkModel.setBuildId(parentId); | |
943 | 1025 | checkModel.setCheckDate(getDate(map.get("CER_EXAMINDATE"))); |
944 | 1026 | |
945 | 1027 | String hname = getString(map.get("CER_EXAMINHOSPITAL")); |
... | ... | @@ -1016,7 +1098,9 @@ |
1016 | 1098 | } |
1017 | 1099 | else if ("体格发育评价".equals(itemName)) |
1018 | 1100 | { |
1019 | - checkModel.setGrowthEvaluate(result); | |
1101 | + List<String> growthEvaluate = new ArrayList<>(); | |
1102 | + growthEvaluate.add(result); | |
1103 | + checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate)); | |
1020 | 1104 | } |
1021 | 1105 | else if ("经皮胆红素".equals(itemName)) |
1022 | 1106 | { |
... | ... | @@ -1042,7 +1126,7 @@ |
1042 | 1126 | else if ("前囟".equals(itemName)) |
1043 | 1127 | { |
1044 | 1128 | //{"yeaOrNo":"no","wbhcc1":"5","wbhcc2":"5"} |
1045 | - //未闭合|1*1 未闭合|1.5×1.5 | |
1129 | + //未闭合|1*1 未闭合|1.5×1.5 未闭合|1×1 | |
1046 | 1130 | Map bregma = new HashMap(); |
1047 | 1131 | if ("闭合".equals(result)) |
1048 | 1132 | { |
... | ... | @@ -1236,7 +1320,7 @@ |
1236 | 1320 | // DBCollection conn = template.getCollection("lyms_patient_test"); |
1237 | 1321 | // conn.up |
1238 | 1322 | |
1239 | - syncBabyData("62"); | |
1323 | + syncPatientData("62"); | |
1240 | 1324 | } |
1241 | 1325 | } |
platform-common/src/main/java/com/lyms/platform/common/enums/FmTypeEnums.java
View file @
4e6ec4a
... | ... | @@ -18,6 +18,18 @@ |
18 | 18 | this.name = name; |
19 | 19 | } |
20 | 20 | |
21 | + | |
22 | + public static String getIdByName(String name) | |
23 | + { | |
24 | + for (FmTypeEnums e : FmTypeEnums.values()) { | |
25 | + if (e.getName().equals(name)) | |
26 | + { | |
27 | + return e.getId(); | |
28 | + } | |
29 | + } | |
30 | + return null; | |
31 | + } | |
32 | + | |
21 | 33 | public static List<Map> getFmTypeEnums() { |
22 | 34 | List<Map> list = new ArrayList<>(); |
23 | 35 | for (FmTypeEnums e : FmTypeEnums.values()) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java
View file @
4e6ec4a
... | ... | @@ -1753,7 +1753,7 @@ |
1753 | 1753 | if (CollectionUtils.isNotEmpty(basicConfigs2)) { |
1754 | 1754 | for (BasicConfig bc : basicConfigs2) { |
1755 | 1755 | String name = bc.getName(); |
1756 | - if (name.indexOf("预警") > -1) { | |
1756 | + if (name != null && name.indexOf("预警") > -1) { | |
1757 | 1757 | name = name.replace("预警", ""); |
1758 | 1758 | } |
1759 | 1759 | map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); |