From 7afdc6c9ad0fed973e4e77fd47d09b732695bf6e Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Thu, 14 Apr 2022 16:36:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E5=87=BA=E7=94=9F=E8=AF=81?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=EF=BC=9Ad201=20=E6=8E=A5=E5=8F=A3/getMatDeli?= =?UTF-8?q?verData?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/master/MasterOrganizationMapper.java | 2 + .../permission/service/OrganizationService.java | 2 + .../service/impl/OrganizationServiceImpl.java | 6 +- .../mainOrm/master/MasterOrganization.xml | 5 + .../platform/common/enums/CdGwPcountryEnums.java | 18 +- .../platform/common/enums/RenShenJieJuEnums.java | 6 +- .../lyms/platform/pojo/MaternalDeliverModel.java | 90 ++++++- .../main/java/com/lyms/platform/pojo/Patients.java | 13 + .../hospitalapi/lhxfy/model/enums/NationEnums.java | 14 +- .../web/controller/MatDeliverController.java | 13 + .../operate/web/facade/MatDeliverFacade.java | 41 ++++ .../web/service/impl/ReportServiceImpl.java | 16 +- .../platform/operate/web/worker/FmListWorker.java | 267 +++++++++++++++++++++ 13 files changed, 468 insertions(+), 25 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/FmListWorker.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java index 4745b2e..dd2b4c3 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java @@ -46,4 +46,6 @@ public interface MasterOrganizationMapper { List getOrganizationByHospsHs(@Param("hospPermissions") List hospPermissions); String getAreaCode(String areaName); + + String getPlatHosNewCode(String yljgmc); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java index 853b954..1a67341 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java @@ -50,4 +50,6 @@ public interface OrganizationService { List getOrganizationByHospsHs(List hospPermissions); String getAreaCode(String areaName); + + String getPlatHosNewCode(String yljgmc); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java index 4cf25db..e239c75 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java @@ -338,5 +338,9 @@ public class OrganizationServiceImpl extends DataAccessLayerService implements O String code = masterOrganizationMapper.getAreaCode(areaName); return StringUtils.isNotEmpty(code) ? code : "110100"; } - + @Override + public String getPlatHosNewCode(String yljgmc) { + String code = masterOrganizationMapper.getPlatHosNewCode(yljgmc); + return StringUtils.isNotEmpty(code) ? code : ""; + } } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml index 1d9088d..68da95b 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml @@ -307,4 +307,9 @@ select id,name,type,level,area_manage,province_id,city_id,area_id,address,descri + + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/CdGwPcountryEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/CdGwPcountryEnums.java index b0ec282..38e6f88 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/CdGwPcountryEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/CdGwPcountryEnums.java @@ -51,7 +51,7 @@ public enum CdGwPcountryEnums { Career148("148", "乍得"), Career152("152", "智利"), Career156("156", "中国"), - Career158("158", "台湾"), + Career158("158", "中国台湾"), Career162("162", "圣诞岛"), Career166("166", "科科斯(基林)群岛"), Career170("170", "哥伦比亚"), @@ -105,7 +105,7 @@ public enum CdGwPcountryEnums { Career334("334", "赫德岛和麦克唐纳岛"), Career336("336", "梵蒂冈"), Career340("340", "洪都拉斯"), - Career344("344", "香港"), + Career344("344", "中国香港"), Career348("348", "匈牙利"), Career352("352", "冰岛"), Career356("356", "印度"), @@ -245,7 +245,9 @@ public enum CdGwPcountryEnums { Career882("882", "萨摩亚"), Career887("887", "也门"), Career891("891", "南斯拉夫"), - Career894("894", "赞比亚"); + Career894("894", "赞比亚"), + Career998("998", "塞尔维亚共和国"), + Career999("999", "黑山共和国"); CdGwPcountryEnums(String id, String name) { this.id = id; @@ -254,24 +256,24 @@ public enum CdGwPcountryEnums { public static String getName(String id) { - if(StringUtils.isEmpty(id)) return "中国"; + if(StringUtils.isEmpty(id)) return ""; CdGwPcountryEnums[] values = CdGwPcountryEnums.values(); for (CdGwPcountryEnums value : values) { if (value.getId().equals(id)) { return value.getName(); } } - return "中国"; + return ""; } public static String getId(String name) { - if(StringUtils.isEmpty(name)) return "156"; + if(StringUtils.isEmpty(name)) return ""; CdGwPcountryEnums[] values = CdGwPcountryEnums.values(); for (CdGwPcountryEnums value : values) { - if (value.getName().contains(name)) { + if (value.getName().equals(name)) { return value.getId(); } } - return "156";//没有匹配到,默认中国 + return ""; } private String id; private String name; diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/RenShenJieJuEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/RenShenJieJuEnums.java index 4fd3254..1604790 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/RenShenJieJuEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/RenShenJieJuEnums.java @@ -4,7 +4,11 @@ package com.lyms.platform.common.enums; * Created by Administrator on 2016/6/24 0024. */ public enum RenShenJieJuEnums { - O("活产", "0"),O1("死胎", "1"),O2("浸软胎", "2"),O3("死产", "3"); + O("活产", "0"), + O1("死胎", "1"), + O2("浸软胎", "2"), + O3("死产", "3"), + O4("新生儿死亡","4"); private RenShenJieJuEnums(String name, String id) { this.name = name; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index 62d2c58..6cd6c7e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -44,10 +44,11 @@ public class MaternalDeliverModel extends BaseModel { private String fmType; //外院地址 private String fmAddr; + //分娩时间 date类型 private Date dueDate1; //分娩孕周 private String dueWeek; - //台数 + //胎数 private Integer tireNumber; //胎盘 private String placenta; @@ -205,12 +206,77 @@ public class MaternalDeliverModel extends BaseModel { private String cityPostRestId; private String areaPostRestId; private String streetRegisterId; + /** + * 产妇住院病案号 + */ private String inHospitalNo; //产后复查评估 状态 1 出院前评估 2 产后7天评估 3 产后14天评估 4 产后28天评估 5 产后42天评估 private List status; + /** + *本次是否属于高危妊娠 + */ + private String gwrs; + + /** + *妊娠风险评估分级代码 + */ + private String rsfxdm; + /** + *孕次 + */ + private String cfyc; + /** + *分娩地点类别代码 + */ + private String fmddlb; + /** + *分娩地点类型代码 + */ + private String fmddlx; + + public String getFmddlb() { + return fmddlb; + } + + public void setFmddlb(String fmddlb) { + this.fmddlb = fmddlb; + } + + public String getFmddlx() { + return fmddlx; + } + + public void setFmddlx(String fmddlx) { + this.fmddlx = fmddlx; + } + + public String getCfyc() { + return cfyc; + } + + public void setCfyc(String cfyc) { + this.cfyc = cfyc; + } + + public String getRsfxdm() { + return rsfxdm; + } + + public void setRsfxdm(String rsfxdm) { + this.rsfxdm = rsfxdm; + } + + public String getGwrs() { + return gwrs; + } + + public void setGwrs(String gwrs) { + this.gwrs = gwrs; + } + public List getStatus() { return status; } @@ -737,6 +803,28 @@ public class MaternalDeliverModel extends BaseModel { //儿童出生序列号 private String babySeq; + //胎次 该新生儿在本次分娩中出生的次序 + private String cftc; + /** + * 新生儿姓名 + */ + private String xsexm; + + public String getXsexm() { + return xsexm; + } + + public void setXsexm(String xsexm) { + this.xsexm = xsexm; + } + + public String getCftc() { + return cftc; + } + + public void setCftc(String cftc) { + this.cftc = cftc; + } public String getBabySeq() { return babySeq; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index 7655a8c..6489a7f 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -175,6 +175,10 @@ public class Patients extends BaseModel { private String cityRegisterId; private String areaRegisterId; private String streetRegisterId; + /** + * 村 + */ + private String villageRegister; /** * 社区id @@ -456,8 +460,17 @@ public class Patients extends BaseModel { this.cesareanTimeType = cesareanTimeType; } + public String getVillageRegister() { + return villageRegister; + } + + public void setVillageRegister(String villageRegister) { + this.villageRegister = villageRegister; + } + /****************************************************/ + public String getIsYyzyfmHospital() { return isYyzyfmHospital; } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/enums/NationEnums.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/enums/NationEnums.java index d50d495..59ec41e 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/enums/NationEnums.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/enums/NationEnums.java @@ -62,7 +62,9 @@ public enum NationEnums { Nation53("53", "赫哲族"), Nation54("54", "门巴族"), Nation55("55", "珞巴族"), - Nation56("56", "基诺族"); + Nation56("56", "基诺族"), + Nation97("97", "其他"), + Nation98("98", "外国血统中国籍人士"); NationEnums(String id, String name) { this.id = id; @@ -71,24 +73,24 @@ public enum NationEnums { public static String getName(String id) { - if(StringUtils.isEmpty(id)) return "汉族"; + if(StringUtils.isEmpty(id)) return ""; NationEnums[] values = NationEnums.values(); for (NationEnums value : values) { if (value.getId().equals(id)) { return value.getName(); } } - return "汉族"; + return ""; } public static String getId(String name) { - if(StringUtils.isEmpty(name)) return "01"; + if(StringUtils.isEmpty(name)) return ""; NationEnums[] values = NationEnums.values(); for (NationEnums value : values) { - if (value.getName().contains(name)) { + if (value.getName().equals(name)) { return value.getId(); } } - return "01"; + return ""; } private String id; private String name; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index d5700d6..08775ae 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -765,4 +765,17 @@ public class MatDeliverController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return matDeliverFacade.getLhByFmManageCount(startTime,endTime,loginState.getId()); } + + /** + * 国家出生证明数据对接-分娩记录 + * @param startDate + * @param endDate + * @return + */ + @RequestMapping(value = "/getMatDeliverData", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse getMatDeliverData(@RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + return matDeliverFacade.getMatDeliverData(startDate,endDate); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 83e70ad..783fe8e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -4018,4 +4018,45 @@ public class MatDeliverFacade { objectResponse.setData(mapCount); return objectResponse; } + + public BaseObjectResponse getMatDeliverData(String startDate, String endDate) { + + Query query=new Query(); + query.addCriteria(Criteria.where("yn").is(1)); + if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)){ + query.addCriteria(Criteria.where("dueDate1").gte(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate))) + .lte(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate)))); + }else { + //当天的数据 + query.addCriteria(Criteria.where("dueDate1").gte(DateUtil.getDayFirstSecond(new Date())) + .lte(DateUtil.getDayLastSecond(new Date()))); + } + List fmList = mongoTemplate.find(query, MaternalDeliverModel.class); + List data = new ArrayList <>(); + if(CollectionUtils.isNotEmpty(fmList)){ + int batchSize = 4; + int end = 0; + List listFuture = new ArrayList <>(); + for (int i = 0; i < fmList.size(); i += batchSize) { + end = (end + batchSize); + if (end > fmList.size()) { + end = fmList.size(); + } + listFuture.add(commonThreadPool.submit(new FmListWorker(fmList.subList(i, end), patientsService, + basicConfigService,organizationService,usersService))); + } + for (Future f : listFuture) { + try { + data.addAll((List ) f.get(30, TimeUnit.SECONDS)); + } catch (Exception e) { + ExceptionUtils.catchException(e, "convertToQuanWeight get result Future error."); + } + } + } + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + objectResponse.setData(data); + return objectResponse; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 7d95486..43957a0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -4675,8 +4675,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Criteria c1= Criteria.where("deliveryMode").regex("\\\"fmfs\\\":\\\"1\\\""); Criteria c2= Criteria.where("deliveryMode").regex("\\\"fmfs\\\":\\\"2\\\""); c.orOperator(c1,c2); - Criteria criteria11 = Criteria.where("dueDate") - .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) + Criteria criteria11 = Criteria.where("dueDate1") + .gte(startDate).lte(DateUtil.getDayLastSecond(endDate)) .andOperator(c) .and("hospitalId").is(hospitalId) .and("yn").is(1); @@ -4989,8 +4989,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Criteria c1= Criteria.where("deliveryMode").regex("\\\"fmfs\\\":\\\"1\\\""); Criteria c2= Criteria.where("deliveryMode").regex("\\\"fmfs\\\":\\\"2\\\""); c.orOperator(c1,c2); - Criteria criteria = Criteria.where("dueDate") - .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) + Criteria criteria = Criteria.where("dueDate1") + .gte(startDate).lte(DateUtil.getDayLastSecond(endDate)) .andOperator(c) .and("hospitalId").is(hospitalId) .and("yn").is(1); @@ -5012,8 +5012,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } map.put("name", doctor); //按医生查询,得到医生的接生信息 - Criteria criteria2 = Criteria.where("dueDate") - .gte(DateUtil.getyyyy_MM_dd(startDate)).lte(DateUtil.getyyyy_MM_dd(endDate)) + Criteria criteria2 = Criteria.where("dueDate1") + .gte(startDate).lte(DateUtil.getDayLastSecond(endDate)) .andOperator(c) .and("hospitalId").is(hospitalId) .and("yn").is(1) @@ -5044,8 +5044,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService public BaseResponse getFmAfterEvaluate(String hospitalId,String startDate,String endDate) { BaseResponse br = new BaseResponse(); List > listMap=new ArrayList<>(); - Criteria criteria11 = Criteria.where("dueDate") - .gte(startDate).lte(endDate) + Criteria criteria11 = Criteria.where("dueDate1") + .gte(DateUtil.parseYMD(startDate)).lte(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate))) .and("hospitalId").is(hospitalId) .and("yn").is(1); List mDlList = mongoTemplate.find(Query.query(criteria11), MaternalDeliverModel.class); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/FmListWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/FmListWorker.java new file mode 100644 index 0000000..7ded81d --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/FmListWorker.java @@ -0,0 +1,267 @@ +package com.lyms.platform.operate.web.worker; + +import com.lyms.hospitalapi.lhxfy.model.enums.NationEnums; +import com.lyms.platform.biz.service.AntenatalExaminationService; +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.enums.*; +import com.lyms.platform.common.utils.*; +import com.lyms.platform.operate.web.facade.MatDeliverFacade; +import com.lyms.platform.operate.web.facade.PatientFacade; +import com.lyms.platform.operate.web.result.HighScoreResult; +import com.lyms.platform.operate.web.result.QuanPatientsResult; +import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.AntExChuQuery; +import com.lyms.platform.query.AntExQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StopWatch; + +import java.util.*; +import java.util.concurrent.Callable; + +public class FmListWorker implements Callable> { + private static final Logger logger = LoggerFactory.getLogger(MatDeliverFacade.class); + + private List maternalDeliverModelList; + private PatientsService patientsService; + private BasicConfigService basicConfigService; + private OrganizationService organizationService; + private UsersService usersService; + public FmListWorker(List maternalDeliverModelList, + PatientsService patientsService, + BasicConfigService basicConfigService, + OrganizationService organizationService, + UsersService usersService) { + this.maternalDeliverModelList = maternalDeliverModelList; + this.patientsService = patientsService; + this.basicConfigService = basicConfigService; + this.organizationService = organizationService; + this.usersService = usersService; + } + + @Override + public List call() throws Exception { + List data = new ArrayList<>(); + for (MaternalDeliverModel model : maternalDeliverModelList) { + try { + Map result=new HashMap(); + final Patients patient = patientsService.findOnePatientById(model.getParentId()); + if (null==patient) { + continue; + } + result.put("MQXM", StringUtils.isEmpty(patient.getUsername())?"":patient.getUsername());//母亲姓名 + int MQNL=0; + if (null!= DateUtil.getAge(patient.getBirth(),model.getDueDate1())) { + MQNL=DateUtil.getAge(patient.getBirth(),model.getDueDate1()).intValue(); + } + result.put("MQNL", MQNL);//新生儿出生时母亲的年龄 + String MQZJLB="99"; + if(StringUtils.isNotEmpty(patient.getPcerteTypeId())) { + switch (patient.getPcerteTypeId()) { + case "70ae1d93-2964-46bc-83fa-bec9ff605b1c": + MQZJLB = "01"; + break; + case "5797135b0cf2dd415ca09fe1": + MQZJLB = "03"; + break; + default: + MQZJLB = "99"; + break; + } + } + result.put("MQZJLB",MQZJLB );//母亲身份证件的类别代码 + result.put("MQZJHM",StringUtils.isEmpty(patient.getCardNo())?"": patient.getCardNo());//母亲身份证件上唯一的法定标识符 + Date MQCSRQ=null; + if (null!=patient.getBirth()) { + MQCSRQ=DateUtil.parseYMD(DateUtil.y_m_d.format(patient.getBirth())); + } + result.put("MQCSRQ",MQCSRQ);//母亲出生日期 + + String MQGJ=CdGwPcountryEnums.getId(getBasicConfig(patient.getPcountryId())); + result.put("MQGJ",StringUtils.isEmpty(MQGJ)?"": MQGJ);//母亲国籍 + String MQMZ=NationEnums.getId(getBasicConfig(patient.getPnationId())); + result.put("MQMZ",StringUtils.isEmpty(MQMZ)?"":MQMZ );//母亲民族 + result.put("MQHJDZSZ",CommonsHelper.getName1(patient.getProvinceId(), basicConfigService) );//产妇户籍地址-省 + result.put("MQHJDZSD", CommonsHelper.getName1(patient.getCityId(), basicConfigService));//产妇户籍地址-市 + String MQHJDZXQ=CommonsHelper.getName1(patient.getAreaId(), basicConfigService); + result.put("MQHJDZXQ", MQHJDZXQ);//产妇户籍地址 - 县 + result.put("MQHJDZDM", organizationService.getAreaCode(MQHJDZXQ));//产妇户籍地址-行政区 划代码 + result.put("MQZZSZ", CommonsHelper.getName1(patient.getProvinceRegisterId(), basicConfigService));//母亲住址- 省 + result.put("MQZZSD",CommonsHelper.getName1(patient.getCityRegisterId(), basicConfigService) );//母亲住址-市 + String MQZZXQ=CommonsHelper.getName1(patient.getAreaRegisterId(), basicConfigService); + result.put("MQZZXQ",MQZZXQ );//母亲住址- 县 + result.put("MQZZXZ", CommonsHelper.getName1(patient.getStreetRegisterId(), basicConfigService));//母亲住址-乡 + result.put("MQZZCL", StringUtils.isEmpty(patient.getVillageRegister())?"":patient.getVillageRegister());//母亲住址- 村 + result.put("MQZZMPH", StringUtils.isEmpty(patient.getAddressRegister())?"":patient.getAddressRegister());//母亲住址-门牌号码 + result.put("MQZZQHDM", organizationService.getAreaCode(MQZZXQ));//产妇现住地址-行政区划代码 + String YLJGMC=""; + String YLJGDZSZ=""; + String YLJGDZSD=""; + String YLJGDZXQ=""; + if (StringUtils.isNotEmpty(model.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + YLJGMC = organization.getName(); + YLJGDZSZ=CommonsHelper.getName1(organization.getProvinceId(), basicConfigService); + YLJGDZSD=CommonsHelper.getName1(organization.getCityId(), basicConfigService); + YLJGDZXQ=CommonsHelper.getName1(organization.getAreaId(), basicConfigService); + } + } + result.put("YLJGMC",YLJGMC );//医疗机构名称 + String YLJGDM=""; + if(StringUtils.isNotEmpty(YLJGMC)){ + YLJGDM =organizationService.getPlatHosNewCode(YLJGMC); + } + result.put("YLJGDM", YLJGDM);//医疗机构编码 + result.put("YLJGDZSZ", YLJGDZSZ);//医疗机构地址-省 + result.put("YLJGDZSD", YLJGDZSD);//医疗机构地址-市 + result.put("YLJGDZXQ", YLJGDZXQ);//医疗机构地址 - 县 + result.put("YLJGDZQHDM", organizationService.getAreaCode(YLJGDZXQ));//医疗机构地址-行政区划代码 + result.put("ZCJG", "T");//是否助产机构 + result.put("FMDDLB", StringUtils.isEmpty(model.getFmddlb())?"":model.getFmddlb());//分娩地点类别代码 + result.put("FMDDLX", StringUtils.isEmpty(model.getFmddlx())?"":model.getFmddlx());//分娩地点类型代码 + result.put("CFJKDAH", "");//孕产妇健康档案编号(非必填) + result.put("CFZYBAH", StringUtils.isEmpty(model.getInHospitalNo())?"":model.getInHospitalNo());//产妇住院病案号 + Date JDSJ=null; + if (null!=patient.getBookbuildingDate()) { + JDSJ=DateUtil.parseYMD(DateUtil.y_m_d.format(patient.getBookbuildingDate())); + } + result.put("JDSJ", JDSJ);//建档时间 + result.put("GWRS", StringUtils.isEmpty(model.getGwrs())?"":model.getGwrs());//本次是否属于高危妊娠 + result.put("RSBFZ", "");//妊娠合并症/并发症史(非必填) + result.put("RSFXDM", StringUtils.isEmpty(model.getRsfxdm())?"":model.getRsfxdm());//妊娠风险评估分级代码 + String FMFSDM = "9"; + if (StringUtils.isNotEmpty(model.getDeliveryMode())) { + Map m = JsonUtil.str2Obj(model.getDeliveryMode(), Map.class); + if (m != null) { + Object b = m.get("fmfs"); + if (b != null ) { + FMFSDM = b.toString(); + } + } + } + if (StringUtils.isNotEmpty(FMFSDM)) { + switch (FMFSDM){ + case "2": + FMFSDM="3";//剖宫产 + break; + } + } + result.put("FMFSDM", FMFSDM);//分娩方式代码 + + String JSRXM = ""; + String LXDH = ""; + if (StringUtils.isNotEmpty(model.getDeliverDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(model.getDeliverDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + JSRXM = users.getName(); + LXDH = users.getPhone(); + } + } + result.put("JSRXM", JSRXM);//接生人员姓名 + result.put("CFYC", StringUtils.isEmpty(model.getCfyc())?0:Integer.parseInt(model.getCfyc()));//孕次(次) + result.put("CFCC", null==model.getDueCount()?0:model.getDueCount().intValue());//产次(次) + int CFYZ=0; + if(StringUtils.isNotEmpty(model.getDueWeek())){ + CFYZ=Integer.parseInt(model.getDueWeek().substring(0,2)); + } + result.put("CFYZ", CFYZ);//出生孕周(d) + result.put("CFTS", null==model.getTireNumber()?0:model.getTireNumber().intValue());//胎数 + + result.put("TBDWMC", YLJGMC);//填报单位名称 + result.put("TBRXM ", JSRXM);//填报人姓名 + result.put("LXDH", LXDH);//填报人联系电话 + Date BSRQ=null; + if (null!=model.getCreated()) { + BSRQ=DateUtil.parseYMD(DateUtil.y_m_d.format(model.getCreated())); + } + result.put("BSRQ", BSRQ);//报出日期 + //新生儿(处理多胎) + for (MaternalDeliverModel.Baby baby : model.getBaby()) { + result.put("XTBM", StringUtils.isEmpty(baby.getId())?"":baby.getId());//省级系统 ID(baby主键) + Date XSECSRQ=null; + if (StringUtils.isNotEmpty(baby.getDueTime())) { + XSECSRQ=DateUtil.parseYMDHMS(baby.getDueTime()); + } + result.put("XSECSRQ", XSECSRQ);//新生儿出生日期时间 + result.put("CFTC", StringUtils.isEmpty(baby.getCftc())?0:Integer.parseInt(baby.getCftc()));//胎次 + String FMJJ=""; + if(StringUtils.isNotEmpty(baby.getPregnancyOut())) { + switch (baby.getPregnancyOut()) { + case "0": + FMJJ="1"; + break; + case "1": + FMJJ="2"; + break; + case "2": + FMJJ="2"; + break; + case "3": + FMJJ="3"; + break; + case "4": + FMJJ="4"; + break; + } + } + result.put("FMJJ", FMJJ);//分娩结局代码 + result.put("RKBM", StringUtils.isEmpty(baby.getBabySeq())?"":baby.getBabySeq());//出生人口编码 + result.put("XSEXM ", StringUtils.isEmpty(baby.getXsexm())?"":baby.getXsexm());//新生儿姓名 + String XSEXB="9"; + if(StringUtils.isNotEmpty(baby.getBabyGender())) { + switch (baby.getBabyGender()){ + case "1": + XSEXB="1";//男 + break; + case "0": + XSEXB="2";//女 + break; + } + } + result.put("XSEXB", XSEXB);//新生儿性别代码 + result.put("XSESC", StringUtils.isEmpty(baby.getBabyHeight())?0:Integer.parseInt(baby.getBabyHeight()));//出生身长(cm) + result.put("XSETZ", StringUtils.isEmpty(baby.getBabyWeight())?0:Integer.parseInt(baby.getBabyWeight()));//出生体重(g) + result.put("APGARDM", "1");//Apgar 评分时间代码(默认1分钟代码) + int APGAR=0; + if (StringUtils.isNotEmpty(baby.getApgarScore())) { + Map m = JsonUtil.str2Obj(baby.getApgarScore(), Map.class); + if (null!=m) { + Object b = m.get("pf1"); + if (null!=b && StringUtils.isNotEmpty(b.toString())) { + APGAR = Integer.parseInt(b.toString()); + } + } + } + result.put("APGAR", APGAR);//Apgar 评分值(分) + data.add(result); + } + } catch (Exception e) { + logger.info(e.getMessage()); + e.printStackTrace(); + } + } + + return data; + } + + private String getBasicConfig(String id) { + if (com.lyms.platform.common.utils.StringUtils.isEmpty(id)) { + return ""; + } + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id); + if (null != basicConfig) { + return basicConfig.getName(); + } + return ""; + } +} -- 1.8.3.1