Commit 002d235c5ab05a2116976d2f1747dc651c0d0d92

Authored by jiangjiazhi
1 parent f2a60a6315

座机号 替换的问题

Showing 9 changed files with 525 additions and 83 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ 002d235
... ... @@ -191,7 +191,7 @@
191 191 PatientsQuery patientsQuery = new PatientsQuery();
192 192 patientsQuery.setYn(YnEnums.YES.getId());
193 193 patientsQuery.setType(1);
194   - patientsQuery.setLastMensesEnd(endDate);
  194 + patientsQuery.setLastMensesNeEnd(endDate);
195 195 List<Patients> patientses = queryPatient(patientsQuery);
196 196 List<PersonModel> list = null;
197 197 for (Patients patients : patientses) {
platform-biz-service/src/main/resources/mainOrm/slave/Users.xml View file @ 002d235
... ... @@ -97,6 +97,12 @@
97 97 <if test="created != null">
98 98 created = #{created,jdbcType=TIMESTAMP},
99 99 </if>
  100 + <if test="gteModified != null">
  101 + and modified >= #{gteModified,jdbcType=TIMESTAMP}
  102 + </if>
  103 + <if test="gteCreated != null">
  104 + and created >= #{gteCreated,jdbcType=TIMESTAMP}
  105 + </if>
100 106 <if test="remarks != null ">
101 107 remarks = #{remarks,jdbcType=VARCHAR},
102 108 </if>
platform-dal/src/main/java/com/lyms/platform/query/AntExChuQuery.java View file @ 002d235
... ... @@ -26,8 +26,17 @@
26 26 private Date nextCheckTimeEnd;
27 27 //大于修改时间
28 28 private Date gteModified;
  29 + private Date gteCreated;
29 30 private String pid;
30 31  
  32 + public Date getGteCreated() {
  33 + return gteCreated;
  34 + }
  35 +
  36 + public void setGteCreated(Date gteCreated) {
  37 + this.gteCreated = gteCreated;
  38 + }
  39 +
31 40 public Date getGteModified() {
32 41 return gteModified;
33 42 }
34 43  
... ... @@ -146,9 +155,16 @@
146 155  
147 156 if(null!=gteModified){
148 157 if (null != c) {
149   - c = c.gte(gteModified);
  158 + c = c.where("modified").gte(gteModified);
150 159 } else {
151 160 c = Criteria.where("modified").gte(gteModified);
  161 + }
  162 + }
  163 + if(null!=gteCreated){
  164 + if (null != c) {
  165 + c = c.where("created").gte(gteCreated);
  166 + } else {
  167 + c = Criteria.where("created").gte(gteCreated);
152 168 }
153 169 }
154 170  
platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java View file @ 002d235
... ... @@ -28,6 +28,27 @@
28 28  
29 29 private boolean neEnd;
30 30  
  31 + //大于修改时间
  32 + private Date gteModified;
  33 +
  34 + private Date gteCreated;
  35 +
  36 + public Date getGteCreated() {
  37 + return gteCreated;
  38 + }
  39 +
  40 + public void setGteCreated(Date gteCreated) {
  41 + this.gteCreated = gteCreated;
  42 + }
  43 +
  44 + public Date getGteModified() {
  45 + return gteModified;
  46 + }
  47 +
  48 + public void setGteModified(Date gteModified) {
  49 + this.gteModified = gteModified;
  50 + }
  51 +
31 52 public boolean isNeEnd() {
32 53 return neEnd;
33 54 }
... ... @@ -114,6 +135,21 @@
114 135 }
115 136 isAddStart = Boolean.TRUE;
116 137 }
  138 + if(null!=gteModified){
  139 + if (null != c) {
  140 + c = c.where("modified").gte(gteModified);
  141 + } else {
  142 + c = Criteria.where("modified").gte(gteModified);
  143 + }
  144 + }
  145 + if(null!=gteCreated){
  146 + if (null != c) {
  147 + c = c.where("created").gte(gteCreated);
  148 + } else {
  149 + c = Criteria.where("created").gte(gteCreated);
  150 + }
  151 + }
  152 +
117 153  
118 154 if (null != end) {
119 155 if (isAddStart) {
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ 002d235
... ... @@ -78,7 +78,16 @@
78 78  
79 79 private Date lastRhTimeStart;
80 80 private Date lastRhTimeEnd;
  81 + private Date lastMensesNeEnd;
81 82  
  83 + public Date getLastMensesNeEnd() {
  84 + return lastMensesNeEnd;
  85 + }
  86 +
  87 + public void setLastMensesNeEnd(Date lastMensesNeEnd) {
  88 + this.lastMensesNeEnd = lastMensesNeEnd;
  89 + }
  90 +
82 91 private String pid;
83 92  
84 93 public Date getLastRhTimeEnd() {
85 94  
... ... @@ -215,7 +224,17 @@
215 224 //大于修改时间
216 225 private Date gteModified;
217 226 //大于创建时间
  227 + //大于创建时间
  228 + private Date gteCreated;
218 229  
  230 + public Date getGteCreated() {
  231 + return gteCreated;
  232 + }
  233 +
  234 + public void setGteCreated(Date gteCreated) {
  235 + this.gteCreated = gteCreated;
  236 + }
  237 +
219 238 public Date getGteModified() {
220 239 return gteModified;
221 240 }
222 241  
... ... @@ -681,12 +700,20 @@
681 700  
682 701 if (null != gteModified) {
683 702 if (null!=c1) {
684   - c1 = c1.gte(gteModified);
  703 + c1 = c1.where("modified").gte(gteModified);
685 704 } else {
686 705 c1 = Criteria.where("modified").gte(gteModified);
687 706 }
688 707 }
689 708  
  709 + if(null!=gteCreated){
  710 + if (null != c1) {
  711 + c1 = c1.where("created").gte(gteCreated);
  712 + } else {
  713 + c1 = Criteria.where("created").gte(gteCreated);
  714 + }
  715 + }
  716 +
690 717 // Criteria cr1 = Criteria.where("bookbuildingDate").gte(bookbuildingDateStart).lte(bookbuildingDateEnd);
691 718 // Criteria cr = cr1.where("lastMenses").gte(lastMensesStart).lte(lastMensesEnd);
692 719  
... ... @@ -710,6 +737,13 @@
710 737 }
711 738 }
712 739  
  740 + if (null != lastMensesNeEnd) {
  741 + if (c1!=null) {
  742 + c1 = c1.lt(lastMensesNeEnd);
  743 + } else {
  744 + c1 = Criteria.where("lastMenses").lt(lastMensesNeEnd);
  745 + }
  746 + }
713 747  
714 748 if (null != dueDateStart) {
715 749 if(null!=c1){
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/ConvertHelper.java View file @ 002d235
1 1 package com.lyms.platform.job.index.restore.data;
2 2  
  3 +import com.lyms.platform.biz.service.BasicConfigService;
3 4 import com.lyms.platform.common.utils.DateUtil;
4 5 import com.lyms.platform.common.utils.JsonUtil;
5 6 import com.lyms.platform.common.utils.ReflectionUtils;
  7 +import com.lyms.platform.common.utils.StringUtils;
6 8 import com.lyms.platform.permission.model.Organization;
7 9 import com.lyms.platform.pojo.AntExChuModel;
  10 +import com.lyms.platform.pojo.AntenatalExaminationModel;
8 11 import com.lyms.platform.pojo.Patients;
9 12 import com.lymsh.mommybaby.maindata.model.DoctorUsers;
10 13 import com.lymsh.mommybaby.maindata.model.Hospitals;
11 14 import com.lymsh.mommybaby.maindata.model.Reports;
  15 +import org.apache.commons.collections.CollectionUtils;
12 16 import org.apache.commons.lang.math.NumberUtils;
13 17 import org.springframework.core.io.ClassPathResource;
14 18 import org.springframework.core.io.support.EncodedResource;
... ... @@ -179,7 +183,7 @@
179 183 * @param antExChuModel
180 184 * @return
181 185 */
182   - public static Reports convertAntExChu(AntExChuModel antExChuModel, Date lastMenses) {
  186 + public static Reports convertAntExChu(AntExChuModel antExChuModel, Date lastMenses,Map map,String doctorUserName) {
183 187 Reports reports = new Reports();
184 188 //孕期类型
185 189 reports.setType(1);
... ... @@ -193,7 +197,7 @@
193 197 //产检报告
194 198 reports.setCheckType(3);
195 199 reports.setPublishName(AUTO_WORKER);
196   -
  200 + reports.setNextCheckTime(antExChuModel.getNextCheckTime());
197 201 Integer dueWeek = null;
198 202 if (null != antExChuModel.getcDueWeek()) {
199 203 dueWeek = NumberUtils.toInt(antExChuModel.getcDueWeek());
200 204  
201 205  
... ... @@ -201,18 +205,50 @@
201 205 dueWeek = DateUtil.getWeek(lastMenses, antExChuModel.getCheckTime());
202 206 }
203 207 reports.setWeeks(dueWeek);
204   - reports.setResult(convertAntExChuResult(antExChuModel));
  208 + reports.setResult(convertAntExChuResult(antExChuModel, map, doctorUserName));
205 209  
206 210 return reports;
207 211 }
208 212  
209 213 /**
  214 + * 转换检查报告
  215 + *
  216 + * @param antExChuModel
  217 + * @return
  218 + */
  219 + public static Reports convertAntExChu(AntenatalExaminationModel antExChuModel, Date lastMenses,Map<String,String> rhMap,String doctorUserName) {
  220 + Reports reports = new Reports();
  221 + //孕期类型
  222 + reports.setType(1);
  223 + reports.setPhysicalTime(antExChuModel.getCheckDate());
  224 + reports.setForeignId(antExChuModel.getId());
  225 + reports.setDesignation("复诊");
  226 + reports.setCreated(antExChuModel.getCreated());
  227 + reports.setModified(antExChuModel.getModified());
  228 + reports.setYn(antExChuModel.getYn());
  229 + reports.setPublishId(0);
  230 + //产检报告
  231 + reports.setCheckType(3);
  232 + reports.setPublishName(AUTO_WORKER);
  233 + reports.setNextCheckTime(antExChuModel.getNextCheckTime());
  234 + Integer dueWeek = null;
  235 + if (null != antExChuModel.getcDueWeek()) {
  236 + dueWeek = NumberUtils.toInt(antExChuModel.getcDueWeek());
  237 + } else {
  238 + dueWeek = DateUtil.getWeek(lastMenses, antExChuModel.getCheckDate());
  239 + }
  240 + reports.setWeeks(dueWeek);
  241 + reports.setResult(convertAntExResult(antExChuModel,rhMap,doctorUserName));
  242 + return reports;
  243 + }
  244 +
  245 + /**
210 246 * 把初诊转换成json
211 247 *
212 248 * @param antExChuModel
213 249 * @return
214 250 */
215   - private static String convertAntExChuResult(AntExChuModel antExChuModel) {
  251 + private static String convertAntExChuResult(AntExChuModel antExChuModel,Map<String,String> bgMap,String doctorUserName) {
216 252 List list = new ArrayList();
217 253  
218 254 List<String> list2 = getField(antExChuModel);
219 255  
220 256  
221 257  
... ... @@ -221,14 +257,77 @@
221 257 String key = properties.getProperty(list2.get(i));
222 258 java.util.Map<String, Object> dataMap = new HashMap<>();
223 259 if (null != key) {
  260 + if ("血压".equals(key)) {
  261 + Map map = JsonUtil.str2Obj(antExChuModel.getBp(), Map.class);
  262 + if (null != map) {
  263 + String ssy =null;
  264 + String szy =null;
  265 + Object obj1 = map.get("ssy");
  266 + if(null!=obj1){
  267 + //低压
  268 + ssy= map.get("ssy").toString();
  269 + }
  270 + obj1 = map.get("szy");
  271 + if(null!=obj1){
  272 + szy= map.get("szy").toString();
  273 + }
  274 + //高压
  275 + if (StringUtils.isNotEmpty(szy)) {
  276 + java.util.Map<String, Object> dataMap1 = new HashMap<>();
  277 + dataMap1.put("k", "血压(低压)");
  278 + dataMap1.put("v", szy+"mmHg");
  279 + list.add(dataMap1);
  280 + }
  281 + if (StringUtils.isNotEmpty(ssy)) {
  282 + dataMap.put("k", "高压");
  283 + dataMap.put("v", ssy+"mmHg");
  284 + list.add(dataMap);
  285 + }
  286 + }
  287 + continue;
  288 + }
  289 + //高危
  290 + if ("高危因素".equals(key)) {
  291 + List map = JsonUtil.toList(antExChuModel.getHighrisk(), List.class);
  292 + if (CollectionUtils.isNotEmpty(map)) {
  293 + StringBuilder sb = new StringBuilder();
  294 + for (Object str : map) {
  295 + if (null!=str &&org.apache.commons.lang.StringUtils.isNotEmpty(str.toString())) {
  296 + String val = bgMap.get(str.toString());
  297 + if(org.apache.commons.lang.StringUtils.isNotEmpty(val)){
  298 + sb.append(val).append("、");
  299 + }
  300 + }
  301 + }
  302 + if(null!=antExChuModel.getOtherHighRisk()&&!"{}".equals(antExChuModel.getOtherHighRisk())){
  303 + Map map1 = JsonUtil.str2Obj(antExChuModel.getOtherHighRisk(),Map.class);
  304 + Object rh= map1.get("fxysu");
  305 + if(null!=rh &&StringUtils.isNotEmpty(rh.toString())){
  306 + sb.append(rh);
  307 + }
  308 + }
  309 + //低压
  310 + java.util.Map<String, Object> dataMap1 = new HashMap<>();
  311 + dataMap1.put("k", key);
  312 + dataMap1.put("v", sb.toString());
  313 + list.add(dataMap1);
  314 + }
  315 + continue;
  316 + }
224 317 dataMap.put("k", key);
  318 + if("产检医生".equals(key)){
  319 + obj=doctorUserName;
  320 + dataMap.put("v", obj);
  321 + list.add(dataMap);
  322 + continue;
  323 + }
225 324 if (obj instanceof Date) {
226 325 dataMap.put("v", DateUtil.getyyyy_MM_dd((Date) obj));
227 326 } else {
228   - String str =getAntExChuValue(key, antExChuModel);
229   - if(null!=str){
  327 + String str = getAntExChuValue(key, antExChuModel);
  328 + if (null != str) {
230 329 dataMap.put("v", str);
231   - }else{
  330 + } else {
232 331 dataMap.put("v", obj);
233 332 }
234 333 }
235 334  
... ... @@ -240,7 +339,89 @@
240 339 return JsonUtil.array2JsonString(list);
241 340 }
242 341  
  342 + private static String convertAntExResult(AntenatalExaminationModel antExChuModel,Map<String,String> hrMap,String doctorUserName) {
  343 + List list = new ArrayList();
243 344  
  345 + List<String> list2 = getField(antExChuModel);
  346 + for (int i = 0; i < list2.size(); i++) {
  347 + Object obj = ReflectionUtils.getFieldValue(antExChuModel, list2.get(i));
  348 + String key = properties.getProperty(list2.get(i));
  349 + java.util.Map<String, Object> dataMap = new HashMap<>();
  350 + if (null != key) {
  351 + if ("血压".equals(key)) {
  352 + Map map = JsonUtil.str2Obj(antExChuModel.getBp(), Map.class);
  353 + if (null != map) {
  354 +
  355 + String ssy =null;
  356 + String szy =null;
  357 + Object obj1 = map.get("ssy");
  358 + if(null!=obj1){
  359 + //低压
  360 + ssy= map.get("ssy").toString();
  361 + }
  362 + obj1 = map.get("szy");
  363 + if(null!=obj1){
  364 + szy= map.get("szy").toString();
  365 + }
  366 + if (StringUtils.isNotEmpty(ssy)) {
  367 + java.util.Map<String, Object> dataMap1 = new HashMap<>();
  368 + dataMap1.put("k", "血压(低压)");
  369 + dataMap1.put("v", ssy +"mmHg");
  370 + list.add(dataMap1);
  371 + }
  372 + if (StringUtils.isNotEmpty(szy)) {
  373 + dataMap.put("k", "高压");
  374 + dataMap.put("v", szy+ "mmHg");
  375 + list.add(dataMap);
  376 + }
  377 + }
  378 + continue;
  379 + }
  380 + //高危
  381 + else if ("高危因素".equals(key)) {
  382 + List map = JsonUtil.toList(antExChuModel.getRiskFactor(), List.class);
  383 + if (CollectionUtils.isNotEmpty(map)) {
  384 + StringBuilder sb = new StringBuilder();
  385 + for (Object str : map) {
  386 + if (org.apache.commons.lang.StringUtils.isNotEmpty(str.toString())) {
  387 + String val = hrMap.get(str.toString());
  388 + if(org.apache.commons.lang.StringUtils.isNotEmpty(val)){
  389 + sb.append(val).append("、");
  390 + }
  391 + }
  392 + }
  393 + if(null!=antExChuModel.getOtherRisk()&&!"{}".equals(antExChuModel.getOtherRisk())){
  394 + Map map1 = JsonUtil.str2Obj(antExChuModel.getOtherRisk(),Map.class);
  395 + Object rh= map1.get("fxysu");
  396 + if(null!=rh &&StringUtils.isNotEmpty(rh.toString())){
  397 + sb.append(rh);
  398 + }
  399 + }
  400 + //低压
  401 + java.util.Map<String, Object> dataMap1 = new HashMap<>();
  402 + dataMap1.put("k", key);
  403 + dataMap1.put("v", sb.toString());
  404 + list.add(dataMap1);
  405 + }
  406 + continue;
  407 + }else if("产检医生".equals(key)){
  408 + obj=doctorUserName;
  409 + }
  410 +
  411 + dataMap.put("k", key);
  412 + if (obj instanceof Date) {
  413 + dataMap.put("v", DateUtil.getyyyy_MM_dd((Date) obj));
  414 + } else {
  415 + dataMap.put("v", obj);
  416 + }
  417 + if (null != obj) {
  418 + list.add(dataMap);
  419 + }
  420 + }
  421 + }
  422 + return JsonUtil.array2JsonString(list);
  423 + }
  424 +
244 425 private static String getAntExChuValue(String key, AntExChuModel antExChuModel) {
245 426 StringBuilder sb = new StringBuilder();
246 427 Map<String, Object> map = null;
247 428  
248 429  
... ... @@ -264,17 +445,19 @@
264 445 return replace(map, sb);
265 446 }
266 447  
267   - public static void main(String [] args){
268   - AntExChuModel antExChuModel=new AntExChuModel();
269   - antExChuModel.setFamilyHistory("{\"yesOrNo\":\"no\"}");
  448 + public static void main(String[] args) {
  449 + AntExChuModel antExChuModel = new AntExChuModel();
  450 + antExChuModel.setFamilyHistory("{\"npx\":true,\"sm\":true,\"yesOrNo\":\"yes\"}");
270 451 antExChuModel.setPregnancyTimes(3);
271 452 antExChuModel.setHeight("3.2");
272 453 antExChuModel.setYsfyHistory("{\"yesOrNo\":\"yes\",\"yzq3\":true}");
273   - System.out.print(convertAntExChuResult(antExChuModel));
  454 + antExChuModel.setBp("{\"ssy\":70,\"szy\":120}");
  455 + antExChuModel.setFuwei("11");
  456 + System.out.print(convertAntExChu(antExChuModel,null, null,"").getResult());
274 457 }
275 458  
276 459 private static String replace(Map map, StringBuilder sb) {
277   - if(null==map){
  460 + if (null == map) {
278 461 return null;
279 462 }
280 463 if ("yes".equals(map.get(YES_OR_NO))) {
... ... @@ -295,8 +478,8 @@
295 478 if (map.containsKey("qtText")) {
296 479 sb.append(map.get("qtText"));
297 480 }
298   - if(sb.toString().endsWith(",")){
299   - return sb.substring(0,sb.length()-1);
  481 + if (sb.toString().endsWith(",")) {
  482 + return sb.substring(0, sb.length() - 1);
300 483 }
301 484 } else if ("no".equals(map.get(YES_OR_NO))) {
302 485 sb.append("无");
... ... @@ -309,6 +492,19 @@
309 492 return cachedField.get(antExChuModel.getClass());
310 493 }
311 494 Field[] field = AntExChuModel.class.getDeclaredFields();
  495 + List<String> fieldName = new ArrayList<>();
  496 + for (Field f : field) {
  497 + fieldName.add(f.getName());
  498 + }
  499 + cachedField.put(antExChuModel.getClass(), fieldName);
  500 + return fieldName;
  501 + }
  502 +
  503 + private static List<String> getField(AntenatalExaminationModel antExChuModel) {
  504 + if (cachedField.containsKey(antExChuModel.getClass())) {
  505 + return cachedField.get(antExChuModel.getClass());
  506 + }
  507 + Field[] field = AntenatalExaminationModel.class.getDeclaredFields();
312 508 List<String> fieldName = new ArrayList<>();
313 509 for (Field f : field) {
314 510 fieldName.add(f.getName());
platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java View file @ 002d235
... ... @@ -5,15 +5,18 @@
5 5 import com.lyms.platform.biz.service.YunBookbuildingService;
6 6 import com.lyms.platform.common.enums.YnEnums;
7 7 import com.lyms.platform.common.utils.DateUtil;
  8 +import com.lyms.platform.common.utils.SystemConfig;
8 9 import com.lyms.platform.permission.model.Organization;
9 10 import com.lyms.platform.permission.model.OrganizationQuery;
10 11 import com.lyms.platform.permission.model.Users;
11 12 import com.lyms.platform.permission.model.UsersQuery;
12 13 import com.lyms.platform.permission.service.OrganizationService;
13 14 import com.lyms.platform.pojo.AntExChuModel;
  15 +import com.lyms.platform.pojo.AntenatalExaminationModel;
14 16 import com.lyms.platform.pojo.BasicConfig;
15 17 import com.lyms.platform.pojo.Patients;
16 18 import com.lyms.platform.query.AntExChuQuery;
  19 +import com.lyms.platform.query.AntExQuery;
17 20 import com.lyms.platform.query.BasicConfigQuery;
18 21 import com.lyms.platform.query.PatientsQuery;
19 22 import com.lymsh.mommybaby.maindata.enumdata.YnEnum;
... ... @@ -25,6 +28,7 @@
25 28 import org.apache.commons.lang.math.NumberUtils;
26 29 import org.slf4j.Logger;
27 30 import org.slf4j.LoggerFactory;
  31 +import org.springframework.beans.factory.annotation.Autowire;
28 32 import org.springframework.beans.factory.annotation.Autowired;
29 33 import org.springframework.beans.factory.annotation.Value;
30 34 import org.springframework.stereotype.Component;
... ... @@ -42,7 +46,7 @@
42 46  
43 47 /**
44 48 * 同步数据接口
45   - * <p>
  49 + * <p/>
46 50 * Created by Administrator on 2016/9/29 0029.
47 51 */
48 52 @Component
49 53  
50 54  
51 55  
52 56  
53 57  
... ... @@ -96,33 +100,35 @@
96 100 private MembersService membersService;
97 101  
98 102 @Value("#{configProperties['file.path']}")
99   - private String FILE_PATH;
  103 + private String FILE_PATH;
100 104 //最后一次同步时间
101   - private long lastSyncTime=-1L;
  105 + private long lastSyncTime = -1L;
102 106 /**
103 107 *
104 108 */
105 109 private java.util.Map<String, Integer> orgMapToId = new HashMap<>();
106 110 //妈咪贝比的省市区
107 111 private java.util.Map<String, Integer> mamiRegions = new HashMap<>();
  112 + //高危因素
  113 + private java.util.Map<String, String> bgHighRisk = new HashMap<>();
108 114  
109 115 /**
110 116 * mongo 里面省市区的id
111 117 */
112 118 public static final String CHINA_BASIC_ID = "f6c505dd-835a-43d7-b0bb-fdb9eb0b7b31";
113 119  
114   - private long readLastSyncTime(){
  120 + private long readLastSyncTime() {
115 121 try {
116   - if(-1!=lastSyncTime){
  122 + if (-1 != lastSyncTime) {
117 123 return lastSyncTime;
118 124 }
119   - RandomAccessFile randomAccessFile=new RandomAccessFile(new File(FILE_PATH),"rw");
120   - String line =randomAccessFile.readLine();
121   - if(StringUtils.isNotEmpty(line)){
122   - lastSyncTime = Long.valueOf(line);
123   - }
124   - }catch (Exception e){
125   - logger.error("read last sync time error.",e);
  125 + RandomAccessFile randomAccessFile = new RandomAccessFile(new File(FILE_PATH), "rw");
  126 + String line = randomAccessFile.readLine();
  127 + if (StringUtils.isNotEmpty(line)) {
  128 + lastSyncTime = Long.valueOf(line);
  129 + }
  130 + } catch (Exception e) {
  131 + logger.error("read last sync time error.", e);
126 132 }
127 133 return lastSyncTime;
128 134 }
129 135  
130 136  
131 137  
... ... @@ -130,16 +136,17 @@
130 136 /**
131 137 * 持久化最后一次同步时间
132 138 */
133   - private void writeLastSyncTime(){
  139 + private void writeLastSyncTime() {
134 140 try {
135   - lastSyncTime=System.currentTimeMillis();
136   - RandomAccessFile randomAccessFile=new RandomAccessFile(new File(FILE_PATH),"rw");
  141 + lastSyncTime = System.currentTimeMillis();
  142 + RandomAccessFile randomAccessFile = new RandomAccessFile(new File(FILE_PATH), "rw");
137 143 randomAccessFile.writeBytes(lastSyncTime + "");
138 144 randomAccessFile.close();
139   - }catch (Exception e){
140   - logger.error("read last sync time error.",e);
  145 + } catch (Exception e) {
  146 + logger.error("read last sync time error.", e);
141 147 }
142 148 }
  149 +
143 150 /**
144 151 * 加载全部省市区的数据到内存里面
145 152 */
... ... @@ -157,6 +164,25 @@
157 164 }
158 165 }
159 166  
  167 + private void loadRpHighRisk() {
  168 +
  169 + BasicConfigQuery regionsQuery = new BasicConfigQuery();
  170 + regionsQuery.setParentId(SystemConfig.HIGH_RISK_ID);
  171 + regionsQuery.setYn(YnEnums.YES.getId());
  172 + List<BasicConfig> basicConfigList = basicConfigService.queryBasicConfig(regionsQuery);
  173 + if (CollectionUtils.isNotEmpty(basicConfigList)) {
  174 + for (BasicConfig basicConfig : basicConfigList) {
  175 + regionsQuery.setParentId(basicConfig.getId());
  176 + List<BasicConfig> basicConfigList1 = basicConfigService.queryBasicConfig(regionsQuery);
  177 + for (BasicConfig basicConfig1 : basicConfigList1) {
  178 + bgHighRisk.put(basicConfig1.getId(), basicConfig1.getName());
  179 + }
  180 + }
  181 + } else {
  182 + logger.warn("load loadRpHighRisk error.no data");
  183 + }
  184 + }
  185 +
160 186 /**
161 187 * 加载区域平台的省市区
162 188 */
... ... @@ -172,8 +198,8 @@
172 198 }
173 199 }
174 200  
175   - private Hospitals fullHospital(Organization organization){
176   - Hospitals hospitals = ConvertHelper.convertHospital(organization);
  201 + private Hospitals fullHospital(Organization organization) {
  202 + Hospitals hospitals = ConvertHelper.convertHospital(organization);
177 203 if (null != organization.getAreaId()) {
178 204 BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(organization.getAreaId());
179 205 if (null != basicConfig) {
180 206  
181 207  
182 208  
183 209  
184 210  
185 211  
... ... @@ -200,30 +226,29 @@
200 226 //获取最后一次同步的时间 如果为-1就表示是全量同步
201 227 readLastSyncTime();
202 228 logger.info("start sync at " + DateUtil.getyyyy_MM_dd(new Date()));
203   - //先加载省市区
  229 + //先加载省市区
204 230 loadMamiAllRegion();
  231 + //加载高危数据
  232 + loadRpHighRisk();
205 233  
206 234 OrganizationQuery organizationQuery = new OrganizationQuery();
207 235 organizationQuery.setYn(YnEnums.YES.getId());
208 236 //查询符合条件的机构
209 237 List<Organization> organizationList = organizationService.queryOrganization(organizationQuery);
210   - CountDownLatch countDownLatch=null;;
  238 + CountDownLatch countDownLatch = null;
  239 + ;
211 240 if (CollectionUtils.isNotEmpty(organizationList)) {
212 241 Hospitals hospitals = null;
213   - countDownLatch =new CountDownLatch(organizationList.size());
  242 + countDownLatch = new CountDownLatch(organizationList.size());
214 243 for (Organization organization : organizationList) {
215 244 HospitalsQuery hospitalsQuery = new HospitalsQuery();
216   -// hospitalsQuery.setForeignId(organization.getId() + "");
217 245 hospitalsQuery.setTitle(organization.getName());
218 246 hospitalsQuery.setYn(YnEnums.YES.getId());
219 247 List<Hospitals> hospitalsList = hospitalsService.queryHospitals(hospitalsQuery);
220 248 if (CollectionUtils.isNotEmpty(hospitalsList)) {
221   - hospitals=hospitalsList.get(0);
222   -// hospitals = fullHospital(organization);
223   - /* hospitals.setId(hospitalsList.get(0).getId());
224   - hospitalsService.updateHospitals(hospitals);*/
  249 + hospitals = hospitalsList.get(0);
225 250 } else {
226   - hospitals= fullHospital(organization);
  251 + hospitals = fullHospital(organization);
227 252 hospitalsService.addHospitals(hospitals);
228 253 }
229 254  
230 255  
231 256  
... ... @@ -232,15 +257,20 @@
232 257 } else {
233 258 logger.warn("add hospital don't id.");
234 259 }
235   - workExecutor.execute(new SyncWork(organization.getId() + "",countDownLatch));
  260 + workExecutor.execute(new SyncWork(organization.getId() + "", countDownLatch));
236 261 }
237 262 }
238 263 countDownLatch.await();
239 264 //持久化最后一次同步时间
240 265 writeLastSyncTime();
  266 + clearAll();
241 267 logger.info("sync end costTime:" + (System.currentTimeMillis() - l) + " ms.");
242 268 }
243   -
  269 + private void clearAll(){
  270 + orgMapToId.clear();
  271 + mamiRegions.clear();
  272 + bgHighRisk.clear();
  273 + }
244 274 /**
245 275 * 执行同步的工作线程
246 276 */
247 277  
248 278  
249 279  
250 280  
251 281  
... ... @@ -251,24 +281,25 @@
251 281  
252 282 private java.util.Map<Integer, Integer> userMapping = new HashMap<>();
253 283  
254   - public SyncWork(String hospitalId,CountDownLatch countDownLatch) {
255   - setName("SyncWork-"+hospitalId);
  284 + public SyncWork(String hospitalId, CountDownLatch countDownLatch) {
  285 + setName("SyncWork-" + hospitalId);
256 286 this.hospitalId = hospitalId;
257   - this.countDownLatch=countDownLatch;
  287 + this.countDownLatch = countDownLatch;
258 288 }
259 289  
260 290 @Override
261 291 public void run() {
262 292 try {
263   - long l =System.currentTimeMillis();
  293 + long l = System.currentTimeMillis();
264 294 logger.info("begin sync work hospital:" + hospitalId + ",at time " + DateUtil.getyyyy_MM_dd(new Date()));
265   - StopWatch stopWatch=new StopWatch("SyncWork-"+hospitalId);
  295 + StopWatch stopWatch = new StopWatch("SyncWork-" + hospitalId);
266 296 //查询出该医院所以的医生用户
267 297 UsersQuery usersQuery = new UsersQuery();
268 298 usersQuery.setYn(YnEnums.YES.getId());
269 299 usersQuery.setOrgId(Integer.valueOf(hospitalId));
270   - if(-1!=lastSyncTime){
  300 + if (-1 != lastSyncTime) {
271 301 usersQuery.setGteModified(new Date(lastSyncTime));
  302 + usersQuery.setGteCreated(new Date(lastSyncTime));
272 303 }
273 304 stopWatch.start("queryUsers");
274 305 List<Users> userses = usersService.queryUsers(usersQuery);
275 306  
... ... @@ -283,12 +314,12 @@
283 314 doctorUsersQuery.setYn(YnEnums.YES.getId());
284 315 doctorUsersQuery.setHospitalId(orgMapToId.get(hospitalId));
285 316 doctorUsersQuery.setUsername(users.getName());
286   - StopWatch stopWatch1=new StopWatch("SyncWork-"+hospitalId+",userId:"+users.getId());
  317 + StopWatch stopWatch1 = new StopWatch("SyncWork-" + hospitalId + ",userId:" + users.getId());
287 318 stopWatch1.start("queryDoctorUsers");
288 319 List<DoctorUsers> doctorUsersList = doctorUsersService.queryDoctorUsers(doctorUsersQuery);
289 320 stopWatch1.stop();
290 321 if (CollectionUtils.isNotEmpty(doctorUsersList)) {
291   - doctorUsers=doctorUsersList.get(0);
  322 + doctorUsers = doctorUsersList.get(0);
292 323 /* doctorUsers = ConvertHelper.convertUsers(users);
293 324 doctorUsers.setHospitalId(orgMapToId.get(hospitalId));
294 325 stopWatch1.start("updateDoctorUsers");
295 326  
296 327  
297 328  
298 329  
299 330  
300 331  
301 332  
302 333  
303 334  
... ... @@ -308,34 +339,39 @@
308 339 }
309 340 logger.info(stopWatch1.toString());
310 341 }
  342 + logger.info("hospitalId" + hospitalId + ",userMapping :" + userMapping);
311 343 }
312 344  
313 345 PatientsQuery patientsQuery1 = new PatientsQuery();
314 346 patientsQuery1.setYn(YnEnums.YES.getId());
315 347 patientsQuery1.setHospitalId(hospitalId);
316   - if(-1!=lastSyncTime){
  348 + if (-1 != lastSyncTime) {
317 349 patientsQuery1.setGteModified(new Date(lastSyncTime));
  350 + patientsQuery1.setGteCreated(new Date(lastSyncTime));
318 351 }
319   - StopWatch stopWatch2=new StopWatch("SyncWork-"+hospitalId+"-query patient");
  352 + StopWatch stopWatch2 = new StopWatch("SyncWork-" + hospitalId + "-query patient");
320 353 stopWatch2.start("queryPregnantWithQuery");
321 354 List<Patients> patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery1);
322 355 stopWatch2.stop();
323 356 logger.info(stopWatch2.toString());
324   - logger.info("query patient by hospitalId:"+ hospitalId+", list size :" + patientses.size());
325   - if(CollectionUtils.isNotEmpty(patientses)) {
  357 + logger.info("query patient by hospitalId:" + hospitalId + ", list size :" + patientses.size());
  358 + if (CollectionUtils.isNotEmpty(patientses)) {
326 359 for (Patients patients : patientses) {
327   - StopWatch stopWatch3=new StopWatch("SyncWork-"+hospitalId+"-patient-"+patients.getId());
  360 + StopWatch stopWatch3 = new StopWatch("SyncWork-" + hospitalId + "-patient-" + patients.getId());
328 361 com.lymsh.mommybaby.maindata.model.Patients mamiPatient = ConvertHelper.convertPatient(patients);
  362 + stopWatch3.start("aouPatients");
329 363 //增加建档记录
330 364 patientsService.aouPatients(mamiPatient);
  365 + stopWatch3.stop();
331 366 //绑定用户
332 367 bandingMember(mamiPatient);
333 368  
334 369 AntExChuQuery antExChuQuery = new AntExChuQuery();
335 370 antExChuQuery.setYn(YnEnums.YES.getId());
336 371 antExChuQuery.setParentId(patients.getId());
337   - if(-1!=lastSyncTime){
  372 + if (-1 != lastSyncTime) {
338 373 antExChuQuery.setGteModified(new Date(lastSyncTime));
  374 + antExChuQuery.setGteCreated(new Date(lastSyncTime));
339 375 }
340 376  
341 377 DoctorUsersPatientsMaps doctorUsersPatientsMaps = new DoctorUsersPatientsMaps();
342 378  
343 379  
344 380  
... ... @@ -344,16 +380,19 @@
344 380  
345 381 //门诊患者
346 382 doctorUsersPatientsMaps.setGroupId(4);
347   - //设置为待处理
348   - doctorUsersPatientsMaps.setStatus(1);
349   - doctorUsersPatientsMaps.setStatusName("待处理");
350   - stopWatch3.start("aouPatients");
  383 + //已分勉
  384 + if (null != patients.getType() && patients.getType() == 3) {
  385 + doctorUsersPatientsMaps.setGroupId(7);
  386 + }
351 387 //设置为高危
352   - if(null!=patients.getRiskScore() &&patients.getRiskScore()>0){
  388 + else if (null != patients.getRiskScore() && patients.getRiskScore() > 0) {
353 389 doctorUsersPatientsMaps.setGroupId(2);
354 390 }
  391 + //设置为待处理
  392 + doctorUsersPatientsMaps.setStatus(1);
  393 + doctorUsersPatientsMaps.setStatusName("待处理");
355 394  
356   - stopWatch3.stop();
  395 +
357 396 doctorUsersPatientsMaps.setPatientId(mamiPatient.getId());
358 397 if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) {
359 398 doctorUsersPatientsMaps.setDoctorUserId(userMapping.get(Integer.valueOf(patients.getBookbuildingDoctor())));
360 399  
... ... @@ -366,8 +405,19 @@
366 405 if (CollectionUtils.isEmpty(antExChuModel)) {
367 406 continue;
368 407 }
  408 + String doctorUserName = null;
369 409 for (AntExChuModel antExChuModel1 : antExChuModel) {
370   - Reports reports = ConvertHelper.convertAntExChu(antExChuModel1, patients.getLastMenses());
  410 +
  411 + Integer doctorUserId = userMapping.get(Integer.valueOf(antExChuModel1.getProdDoctor()));
  412 + if (null != doctorUserId) {
  413 + DoctorUsers doctorUsers1 = doctorUsersService.getDoctorUsers(doctorUserId);
  414 + if (null != doctorUsers1) {
  415 + doctorUserName = doctorUsers1.getUsername();
  416 + }
  417 + }
  418 +
  419 +
  420 + Reports reports = ConvertHelper.convertAntExChu(antExChuModel1, patients.getLastMenses(), bgHighRisk, doctorUserName);
371 421 if (NumberUtils.isNumber(antExChuModel1.getProdDoctor())) {
372 422 Users users = usersService.getUsers(Integer.valueOf(antExChuModel1.getProdDoctor()));
373 423 if (null != users) {
... ... @@ -393,7 +443,6 @@
393 443 stopWatch3.start("updatePatients");
394 444 patientsService.updatePatients(p);
395 445 stopWatch3.stop();
396   - logger.info(stopWatch3.toString());
397 446  
398 447  
399 448 DoctorUsersPatientsMaps reportdoctorUsersPatientsMaps = new DoctorUsersPatientsMaps();
400 449  
401 450  
402 451  
403 452  
404 453  
... ... @@ -402,22 +451,110 @@
402 451  
403 452 //门诊患者
404 453 reportdoctorUsersPatientsMaps.setGroupId(4);
405   - if(null!=patients.getRiskScore() &&patients.getRiskScore()>0){
406   - doctorUsersPatientsMaps.setGroupId(2);
  454 + if (null != patients.getRiskScore() && patients.getRiskScore() > 0) {
  455 + reportdoctorUsersPatientsMaps.setGroupId(2);
407 456 }
  457 + reportdoctorUsersPatientsMaps.setPatientId(mamiPatient.getId());
408 458 //设置为待处理
409 459 reportdoctorUsersPatientsMaps.setStatus(1);
410 460 reportdoctorUsersPatientsMaps.setStatusName("待处理");
411   - if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) {
412   - doctorUsersPatientsMaps.setDoctorUserId(userMapping.get(Integer.valueOf(antExChuModel1.getProdDoctor())));
  461 + if (StringUtils.isNotEmpty(antExChuModel1.getProdDoctor())) {
  462 + reportdoctorUsersPatientsMaps.setDoctorUserId(userMapping.get(Integer.valueOf(antExChuModel1.getProdDoctor())));
413 463 stopWatch3.start("report aouDoctorUsersPatientsMaps");
414 464 doctorUsersPatientsMapsService.aouDoctorUsersPatientsMaps(reportdoctorUsersPatientsMaps);
415 465 stopWatch3.stop();
416 466 }
  467 +
  468 + if (null != reports.getNextCheckTime()) {
  469 + com.lymsh.mommybaby.maindata.model.Patients patients1 = new com.lymsh.mommybaby.maindata.model.Patients();
  470 + patients1.setId(mamiPatient.getId());
  471 + patients1.setNextCheckTime(reports.getNextCheckTime());
  472 + patientsService.updatePatients(patients1);
  473 + }
417 474 }
  475 + AntExQuery antExQuery = new AntExQuery();
  476 + antExQuery.setYn(YnEnums.YES.getId());
  477 + antExQuery.setParentId(patients.getId());
  478 + if (-1 != lastSyncTime) {
  479 + antExQuery.setGteModified(new Date(lastSyncTime));
  480 + antExQuery.setGteCreated(new Date(lastSyncTime));
  481 + }
  482 + //复诊
  483 + List<AntenatalExaminationModel> antList = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery());
  484 + doctorUserName = null;
  485 + if (CollectionUtils.isNotEmpty(antList)) {
  486 + for (AntenatalExaminationModel ant : antList) {
  487 +
  488 + Integer doctorUserId = userMapping.get(Integer.valueOf(ant.getCheckDoctor()));
  489 + if (null != doctorUserId) {
  490 + DoctorUsers doctorUsers1 = doctorUsersService.getDoctorUsers(doctorUserId);
  491 + if (null != doctorUsers1) {
  492 + doctorUserName = doctorUsers1.getUsername();
  493 + }
  494 + }
  495 +
  496 +
  497 + Reports reports = ConvertHelper.convertAntExChu(ant, patients.getLastMenses(), bgHighRisk, doctorUserName);
  498 +
  499 + if (NumberUtils.isNumber(ant.getCheckDoctor())) {
  500 + Users users = usersService.getUsers(Integer.valueOf(ant.getCheckDoctor()));
  501 + if (null != users) {
  502 + reports.setDoctorName(users.getName());
  503 + }
  504 + }
  505 + reports.setPatientId(mamiPatient.getId());
  506 + reports.setAge(patients.getAge());
  507 + reports.setRealName(patients.getUsername());
  508 + if (StringUtils.isNotEmpty(patients.getHospitalId())) {
  509 + Organization organization = organizationService.getOrganization(NumberUtils.toInt(patients.getHospitalId()));
  510 + if (null != organization) {
  511 + reports.setHospitalName(organization.getName());
  512 + }
  513 + }
  514 + stopWatch3.start("aouReports");
  515 + reportsService.aouReports(reports);
  516 + stopWatch3.stop();
  517 + com.lymsh.mommybaby.maindata.model.Patients p = new com.lymsh.mommybaby.maindata.model.Patients();
  518 + p.setLastReportId(reports.getId());
  519 + p.setLastReportDoctorName(reports.getDoctorName());
  520 + p.setId(mamiPatient.getId());
  521 + stopWatch3.start("updatePatients");
  522 + patientsService.updatePatients(p);
  523 + stopWatch3.stop();
  524 +
  525 +
  526 + DoctorUsersPatientsMaps reportdoctorUsersPatientsMaps = new DoctorUsersPatientsMaps();
  527 + reportdoctorUsersPatientsMaps.setCreated(new Date());
  528 + reportdoctorUsersPatientsMaps.setYn(YnEnums.YES.getId());
  529 +
  530 + //门诊患者
  531 + reportdoctorUsersPatientsMaps.setGroupId(4);
  532 + if (null != patients.getRiskScore() && patients.getRiskScore() > 0) {
  533 + reportdoctorUsersPatientsMaps.setGroupId(2);
  534 + }
  535 + reportdoctorUsersPatientsMaps.setPatientId(mamiPatient.getId());
  536 + //设置为待处理
  537 + reportdoctorUsersPatientsMaps.setStatus(1);
  538 + reportdoctorUsersPatientsMaps.setStatusName("待处理");
  539 + if (StringUtils.isNotEmpty(ant.getCheckDoctor())) {
  540 + reportdoctorUsersPatientsMaps.setDoctorUserId(userMapping.get(Integer.valueOf(ant.getCheckDoctor())));
  541 + stopWatch3.start("report antchu aouDoctorUsersPatientsMaps");
  542 + doctorUsersPatientsMapsService.aouDoctorUsersPatientsMaps(reportdoctorUsersPatientsMaps);
  543 + stopWatch3.stop();
  544 + }
  545 +
  546 + if (null != reports.getNextCheckTime()) {
  547 + com.lymsh.mommybaby.maindata.model.Patients patients1 = new com.lymsh.mommybaby.maindata.model.Patients();
  548 + patients1.setId(mamiPatient.getId());
  549 + patients1.setNextCheckTime(reports.getNextCheckTime());
  550 + patientsService.updatePatients(patients1);
  551 + }
  552 + }
  553 + }
  554 + logger.info(stopWatch3.toString());
418 555 }
419 556 }
420   - logger.info("hospital "+hospitalId+",costTime:"+(System.currentTimeMillis()-l));
  557 + logger.info("hospital " + hospitalId + ",costTime:" + (System.currentTimeMillis() - l));
421 558 } catch (Exception e) {
422 559 e.printStackTrace();
423 560 } finally {
424 561  
... ... @@ -425,9 +562,10 @@
425 562 }
426 563 }
427 564 }
428   - private void bandingMember(com.lymsh.mommybaby.maindata.model.Patients patients){
  565 +
  566 + private void bandingMember(com.lymsh.mommybaby.maindata.model.Patients patients) {
429 567 MembersQuery membersQuery = new MembersQuery();
430   - if(StringUtils.isEmpty(patients.getPhone())){
  568 + if (StringUtils.isEmpty(patients.getPhone())) {
431 569 return;
432 570 }
433 571 membersQuery.setPhone(patients.getPhone());
434 572  
... ... @@ -438,13 +576,13 @@
438 576 membersQuery.setPatientId(patients.getId());
439 577 membersQuery.setYn(YnEnum.yes.getId());
440 578 List<Members> membersList1 = membersService.queryMembers(membersQuery);
441   - for (Members members:membersList1) {
  579 + for (Members members : membersList1) {
442 580 Members m = new Members();
443 581 m.setId(members.getId());
444 582 m.setYn(YnEnum.no.getId());
445 583 membersService.updateMembers(m);
446 584 }
447   - for (Members members:membersList) {
  585 + for (Members members : membersList) {
448 586 Members temp = new Members();
449 587 temp.setId(members.getId());
450 588 temp.setPatientId(patients.getId());
... ... @@ -452,7 +590,7 @@
452 590 temp.setLastMenses(patients.getLastMenses());
453 591 temp.setDueDate(patients.getDueDate());
454 592 //member status 为2时不需要修改
455   - if(null==members.getStatus()||2!=members.getStatus() ){
  593 + if (null == members.getStatus() || 2 != members.getStatus()) {
456 594 temp.setStatus(patients.getType());
457 595 }
458 596  
platform-job-index/src/main/java/com/lyms/platform/job/index/web/controller/SyncDataController.java View file @ 002d235
... ... @@ -23,8 +23,8 @@
23 23 @Qualifier("job-index-syncdataservice")
24 24 private SyncDataService syncDataService;
25 25  
26   - @Autowired
27   - private SyncDataWork syncDataWork;
  26 +/* @Autowired
  27 + private SyncDataWork syncDataWork;*/
28 28  
29 29 /**
30 30 * 孕妇同步
... ... @@ -52,7 +52,7 @@
52 52 @ResponseBody
53 53 public String syncDataToMami() {
54 54 try {
55   - syncDataWork.sync();
  55 +// syncDataWork.sync();
56 56 } catch (Exception e) {
57 57 ExceptionUtils.catchException(e, "syncDataToMami error");
58 58 }
platform-job-index/src/main/resources/lable.properties View file @ 002d235
1 1 dueDate=预产期
  2 +prodDoctor=产检医生
2 3 lastMenses=末次月经
3 4 cDueWeek=当前孕周
  5 +dirOpinion=指导意见
4 6 pastHistory=既往史
5 7 familyHistory=家族史
6 8 personalHistory=个人史
... ... @@ -23,6 +25,7 @@
23 25 baricIndex=体重指数
24 26 cestationInfo=本次妊娠情况
25 27 gonggao=宫高
  28 +gongGao=宫高
26 29 fuwei=腹围
27 30 tireNumber1=胎数
28 31 heart=心脏
... ... @@ -33,4 +36,17 @@
33 36 uterus=子宫
34 37 fujian=附件
35 38 bp=血压
  39 +chiefComplaint=主诉
  40 +abdominalCircumference=腹围
  41 +edema=浮肿
  42 +tireNumber=胎数
  43 +hemoglobin=血红蛋白
  44 +urineProtein=尿蛋白
  45 +bChao=B超
  46 +bloodSugar=血糖
  47 +treatmentOpinion=处理意见
  48 +guide=指导
  49 +checkDoctor=产检医生
  50 +highrisk=高危因素
  51 +riskFactor=高危因素