diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 4c7511d..518ee15 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -6507,6 +6507,59 @@ public class BasicConfigServiceTest { } } + + + public static void saveBabyMicroelements(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + MicroelementConfigModel model = new MicroelementConfigModel(); + model.setType(1); + Cell[] cells = s.getRow(i); + if (cells.length > 0) { + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + model.setStartWeek(Integer.parseInt(str)); + continue; + case 1: + model.setEndWeek(Integer.parseInt(str)); + continue; + case 2: + model.setStatus(Integer.parseInt(str)); + continue; + case 3: + model.setEleName(str); + continue; + case 4: + List list2 = Arrays.asList(str.split("\n")); + model.setContents(list2); + continue; + } + } + } + mongoTemplate.save(model); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { // getData(); //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -6553,7 +6606,8 @@ public class BasicConfigServiceTest { //saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); //saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); - saveMicroelements("E:\\dev\\微量元素指导报告模板.xls"); + //saveMicroelements("E:\\dev\\微量元素指导报告模板.xls"); + saveBabyMicroelements("F:\\技术文档\\儿童微量元素\\儿童微量元素指导报告模板.xls"); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java index 4e69536..8ead34a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java @@ -21,12 +21,41 @@ public class MicroelementConfigModel extends BaseModel { private List middles;//中期建议 private List laters;//晚期建议 + private List contents;//儿童内容 + + private Integer startWeek; + private Integer endWeek; + //0过量 1不足 private Integer status; //0 孕妇 1儿童 private Integer type; + public List getContents() { + return contents; + } + + public void setContents(List contents) { + this.contents = contents; + } + + public Integer getStartWeek() { + return startWeek; + } + + public void setStartWeek(Integer startWeek) { + this.startWeek = startWeek; + } + + public Integer getEndWeek() { + return endWeek; + } + + public void setEndWeek(Integer endWeek) { + this.endWeek = endWeek; + } + public String getId() { return id; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java index f3e16a7..c0c6128 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java @@ -35,6 +35,7 @@ public class MicroelementModel extends BaseModel { private Date modified; + //0 孕前 1 儿童 private Integer type; @@ -42,8 +43,6 @@ public class MicroelementModel extends BaseModel { private String numberCode; - - public static class Microelement implements Serializable { private static final long serialVersionUID = SerialIdEnum.Microelement.getCid(); @@ -112,6 +111,8 @@ public class MicroelementModel extends BaseModel { } } + + public String getNumberCode() { return numberCode; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java index 7188a24..a022dfc 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java @@ -87,10 +87,8 @@ public class ResidentsArchiveModel extends BaseModel { /************配偶信息*************/ - //配偶姓名 - private String spouseName; - //配偶证件号 - private String spouseCardNo; + + //配偶手机 private String spousePhone; @@ -98,6 +96,14 @@ public class ResidentsArchiveModel extends BaseModel { private String spouseCertTypeId; + //配偶姓名 + private String spouseName; + //配偶证件号 + private String spouseCardNo; + + + + /************配偶信息*************/ //就诊卡号 @@ -181,6 +187,7 @@ public class ResidentsArchiveModel extends BaseModel { private String trackHospitalId; + public String getTrackHospitalId() { return trackHospitalId; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 4c3d1fc..c02031c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -236,6 +236,16 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private Date endAge; + private String numberCode; + + public String getNumberCode() { + return numberCode; + } + + public void setNumberCode(String numberCode) { + this.numberCode = numberCode; + } + public String getAddress() { return address; } @@ -874,6 +884,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != hasBlno) { condition = condition.and("blNo", hasBlno, MongoOper.EXISTS); } + if (null != numberCode) { + condition = condition.and("mcertNo", "^" + numberCode, MongoOper.LIKE); + } if (-1 != visitstatus) { condition = condition.and("visitstatus", visitstatus, MongoOper.IS); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java index e64cabb..2e2517d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java @@ -136,69 +136,8 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative //历史数据是否同步 private boolean isHistory; - public String getTrackHospitalId() { - return trackHospitalId; - } - - public void setTrackHospitalId(String trackHospitalId) { - this.trackHospitalId = trackHospitalId; - } - - public boolean isHistory() { - return isHistory; - } - - public void setHistory(boolean history) { - isHistory = history; - } - - public Date getCreatedStart() { - return createdStart; - } - - public void setCreatedStart(Date createdStart) { - this.createdStart = createdStart; - } - - public Date getCreatedEnd() { - return createdEnd; - } - - public void setCreatedEnd(Date createdEnd) { - this.createdEnd = createdEnd; - } - - public Integer getFollowupStatus() { - return followupStatus; - } - - public void setFollowupStatus(Integer followupStatus) { - this.followupStatus = followupStatus; - } - - public String getPregnantBuild() { - return pregnantBuild; - } - - public void setPregnantBuild(String pregnantBuild) { - this.pregnantBuild = pregnantBuild; - } - - public String getCheckup() { - return checkup; - } - - public void setCheckup(String checkup) { - this.checkup = checkup; - } - - public String getQueryNo() { - return queryNo; - } - - public void setQueryNo(String queryNo) { - this.queryNo = queryNo; - } + //配偶证件号 + private String spouseCardNo; @Override public MongoQuery convertToQuery() { @@ -286,6 +225,11 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative if (created != null) { condition = condition.and("created", created, MongoOper.IS); } + + if (spouseCardNo != null) { + condition = condition.and("spouseCardNo", spouseCardNo, MongoOper.IS); + } + if (marriageId != null) { condition = condition.and("marriageId", marriageId, MongoOper.IS); } @@ -383,6 +327,80 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative return condition.toMongoQuery(); } + + public String getSpouseCardNo() { + return spouseCardNo; + } + + public void setSpouseCardNo(String spouseCardNo) { + this.spouseCardNo = spouseCardNo; + } + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } + + public boolean isHistory() { + return isHistory; + } + + public void setHistory(boolean history) { + isHistory = history; + } + + public Date getCreatedStart() { + return createdStart; + } + + public void setCreatedStart(Date createdStart) { + this.createdStart = createdStart; + } + + public Date getCreatedEnd() { + return createdEnd; + } + + public void setCreatedEnd(Date createdEnd) { + this.createdEnd = createdEnd; + } + + public Integer getFollowupStatus() { + return followupStatus; + } + + public void setFollowupStatus(Integer followupStatus) { + this.followupStatus = followupStatus; + } + + public String getPregnantBuild() { + return pregnantBuild; + } + + public void setPregnantBuild(String pregnantBuild) { + this.pregnantBuild = pregnantBuild; + } + + public String getCheckup() { + return checkup; + } + + public void setCheckup(String checkup) { + this.checkup = checkup; + } + + public String getQueryNo() { + return queryNo; + } + + public void setQueryNo(String queryNo) { + this.queryNo = queryNo; + } + + public String getSpouseName() { return spouseName; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java index 57e60eb..adc956d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java @@ -95,6 +95,15 @@ public class TrackDownRecordQuery extends BaseQuery implements IConvertToNativeQ // private boolean isHistory; + private String trackHospitalId; + + public String getTrackHospitalId() { + return trackHospitalId; + } + + public void setTrackHospitalId(String trackHospitalId) { + this.trackHospitalId = trackHospitalId; + } public List getHospitalIdList() { return hospitalIdList; @@ -493,6 +502,19 @@ public class TrackDownRecordQuery extends BaseQuery implements IConvertToNativeQ } } + + + if (org.apache.commons.lang.StringUtils.isNotBlank(trackHospitalId)) { + MongoCondition c = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("trackHospitalId", trackHospitalId, MongoOper.IS); + MongoCondition con2 = MongoCondition.newInstance("hospitalId", trackHospitalId, MongoOper.IS); + if (c1 != null) { + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); + } else { + c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); + } + } + if (null != lastMensesStart) { if (null != c1) { c1 = c1.and("lastMenses").gte(lastMensesStart); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java index a2d6e77..184aa51 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java @@ -159,6 +159,14 @@ public class MeasureInfoController extends BaseController { @RequestParam(value = "hospitalId", required = true) String hospitalId, HttpServletRequest request ) { + if ("216".equals(hospitalId)) + { + try { + Thread.sleep(4000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } return measureInfoFacade.getNutritionPatientInfo(certType, certNo, hospitalId); } @@ -174,6 +182,14 @@ public class MeasureInfoController extends BaseController { public BaseObjectResponse addNutritionInfo(@RequestBody NutritionInfoRequest nutritionInfoRequest, HttpServletRequest request ) { + if ("216".equals(nutritionInfoRequest.getHospitalId())) + { + try { + Thread.sleep(4000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } return measureInfoFacade.addNutritionInfo(nutritionInfoRequest); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index 0eb95e7..ebde91f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -57,7 +57,7 @@ public class HealthChargeFacade { * 新增字段:报表解读人 孕妇/儿童 * * @param hospitalId 医院id - * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 4-儿童膳食 6体成分分析 7 孕期微量元素 8孕期骨密度 + * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 4-儿童膳食 6体成分分析 7 孕期微量元素 8孕期骨密度 9儿童微量元素 10 儿童骨密度 * @param foreignId 档案id (院内建档或者临时档案id)孕妇/儿童 * @param type 打印报告类别 1普通报告 2高危报告(暂时不用) * @param source 档案来源类型 1院内建档 2零时建档 (暂时不用) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java index 528c1e4..5c857c9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java @@ -1,11 +1,13 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.biz.service.BabyBookbuildingService; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.MicroelementService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.enums.SexEnum; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; @@ -13,10 +15,8 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.permission.model.PatientService; -import com.lyms.platform.pojo.MicroelementConfigModel; -import com.lyms.platform.pojo.MicroelementModel; -import com.lyms.platform.pojo.PatientWeight; -import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.BabyModelQuery; import com.lyms.platform.query.MicroelementQuery; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; @@ -54,74 +54,146 @@ public class MicroelementFacade { @Autowired private MongoTemplate mongoTemplate; + + @Autowired + private BabyBookbuildingService babyBookbuildingService; + public BaseResponse querymicroelementList(String queryNo, Integer weekStart, Integer weekEnd, Integer age, String vcCardNo,Integer type ,Integer page, Integer limit, Integer userId) { List dataList = new ArrayList(); String hospitalId = autoMatchFacade.getHospitalId(userId); - PatientsQuery patientsQuery = new PatientsQuery(); - List patientses = null; - List patientIds = new ArrayList<>(); - if (StringUtils.isNotEmpty(queryNo) ||StringUtils.isNotEmpty(vcCardNo) ) { - patientsQuery.setQueryNo(queryNo); - patientsQuery.setHospitalId(hospitalId); - patientsQuery.setVcCardNo(vcCardNo); - patientses = patientsService.queryPatient1(patientsQuery, "created"); - if (CollectionUtils.isEmpty(patientses)) + MicroelementQuery query = new MicroelementQuery(); + + //孕前 + if (type == 0) + { + PatientsQuery patientsQuery = new PatientsQuery(); + List patientses = null; + List patientIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(queryNo) ||StringUtils.isNotEmpty(vcCardNo) ) { + patientsQuery.setQueryNo(queryNo); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setVcCardNo(vcCardNo); + patientses = patientsService.queryPatient1(patientsQuery, "created"); + if (CollectionUtils.isEmpty(patientses)) + { + return new BaseListResponse().setData(dataList). + setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(new BaseQuery().getPageInfo()); + } + else + { + for (Patients pat : patientses) + { + patientIds.add(pat.getId()); + } + } + } + query.setLimit(limit); + query.setPage(page); + query.setHospitalId(hospitalId); + query.setPatientIds(patientIds); + query.setType(0); + query.setSort(" created "); + + if (age != null) { - return new BaseListResponse().setData(dataList). - setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(new BaseQuery().getPageInfo()); + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + query.setBirthStart(start); + query.setBirthEnd(end); } - else + + if (weekStart != null && weekEnd != null) { + Date start = DateUtil.getWeekStart(weekStart); + Date end = DateUtil.getWeekEnd(weekEnd); + query.setLastMensesStart(start); + query.setLastMensesEnd(end); + } + + + List models = microelementService.queryMicroelementList(query); + if (CollectionUtils.isNotEmpty(models)) { - for (Patients pat : patientses) + for (MicroelementModel model : models) { - patientIds.add(pat.getId()); + Map data = new HashMap(); + Patients patients = patientsService.findOnePatientById(model.getPatientId()); + data.put("id",model.getId()); + data.put("userName",patients.getUsername()); + data.put("phone",patients.getPhone()); + data.put("vcCardNo",patients.getVcCardNo()); + data.put("cardNo",patients.getCardNo()); + data.put("microelements", model.getMicroelements()); + data.put("age", DateUtil.getAge(patients.getBirth(), model.getCreated())); + data.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), model.getCreated())); + data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); + dataList.add(data); + } } } - MicroelementQuery query = new MicroelementQuery(); - query.setLimit(limit); - query.setPage(page); - query.setHospitalId(hospitalId); - query.setPatientIds(patientIds); - query.setType(0); - query.setSort(" created "); - - if (age != null) + //儿童 + else { - Date start = DateUtil.getBeforeAge(age); - Date end = DateUtil.getBeforeAge(age + 1); - query.setBirthStart(start); - query.setBirthEnd(end); - } - if (weekStart != null && weekEnd != null) { - Date start = DateUtil.getWeekStart(weekStart); - Date end = DateUtil.getWeekEnd(weekEnd); - query.setLastMensesStart(start); - query.setLastMensesEnd(end); - } + BabyModelQuery babyModelQuery = new BabyModelQuery(); + List babayIds = new ArrayList<>(); + List babyModels = null; + if (StringUtils.isNotEmpty(queryNo) ||StringUtils.isNotEmpty(vcCardNo) ) { + babyModelQuery.setQueryNo(queryNo); + babyModelQuery.setHospitalId(hospitalId); + babyModelQuery.setVcCardNo(vcCardNo); + babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isEmpty(babyModels)) + { + return new BaseListResponse().setData(dataList). + setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(new BaseQuery().getPageInfo()); + } + else + { + for (BabyModel model : babyModels) + { + babayIds.add(model.getId()); + } + } + } + query.setLimit(limit); + query.setPage(page); + query.setHospitalId(hospitalId); + query.setPatientIds(babayIds); + query.setType(1); + query.setSort(" created "); - List models = microelementService.queryMicroelementList(query); - if (CollectionUtils.isNotEmpty(models)) - { - for (MicroelementModel model : models) + if (weekStart != null && weekEnd != null) { - Map data = new HashMap(); - Patients patients = patientsService.findOnePatientById(model.getPatientId()); - data.put("id",model.getId()); - data.put("userName",patients.getUsername()); - data.put("phone",patients.getPhone()); - data.put("vcCardNo",patients.getVcCardNo()); - data.put("cardNo",patients.getCardNo()); - data.put("microelements", model.getMicroelements()); - data.put("age", DateUtil.getAge(patients.getBirth(), model.getCreated())); - data.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), model.getCreated())); - data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); - dataList.add(data); + Date currentDate = new Date(); + Date start = DateUtil.addMonth(currentDate, -weekStart); + Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -weekEnd - 1), 1); + query.setBirthStart(start); + query.setBirthEnd(end); + } + + List models = microelementService.queryMicroelementList(query); + if (CollectionUtils.isNotEmpty(models)) + { + for (MicroelementModel model : models) + { + Map data = new HashMap(); + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getPatientId()); + data.put("id",model.getId()); + data.put("userName",babyModel.getName()); + data.put("phone",babyModel.getMphone()); + data.put("vcCardNo",babyModel.getVcCardNo()); + data.put("mcardNo",babyModel.getMcertNo()); + data.put("microelements", model.getMicroelements()); + data.put("age", DateUtil.getBabyMonthAge(babyModel.getBirth(), model.getCreated())); + data.put("mname", babyModel.getMname()); + data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); + dataList.add(data); + } } } return new BaseListResponse().setData(dataList). @@ -138,124 +210,183 @@ public class MicroelementFacade { MicroelementModel model = microelementService.queryOneMicroelement(query); if (model != null) { - Patients pat = patientsService.findOnePatientById(model.getPatientId()); - data.put("city", FunvCommonUtil.getBaseicConfigByid(pat.getCityRegisterId(), basicConfigService)); - data.put("area", FunvCommonUtil.getBaseicConfigByid(pat.getAreaRegisterId(), basicConfigService)); - data.put("userName",pat.getUsername()); - data.put("age", DateUtil.getAge(pat.getBirth(), model.getCreated())); - data.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated())); - data.put("microelements", model.getMicroelements()); - data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); - Date lastMenses = DateUtil.addDay(pat.getLastMenses(),1); - int week = DateUtil.getWeek(lastMenses,model.getCreated()); - Map> contents = new HashMap<>(); - boolean isNormal = false; - - if (CollectionUtils.isNotEmpty(model.getMicroelements())) + if (type == 0) { - for (MicroelementModel.Microelement ele : model.getMicroelements()) + Patients pat = patientsService.findOnePatientById(model.getPatientId()); + data.put("city", FunvCommonUtil.getBaseicConfigByid(pat.getCityRegisterId(), basicConfigService)); + data.put("area", FunvCommonUtil.getBaseicConfigByid(pat.getAreaRegisterId(), basicConfigService)); + data.put("userName",pat.getUsername()); + data.put("age", DateUtil.getAge(pat.getBirth(), model.getCreated())); + data.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated())); + data.put("microelements", model.getMicroelements()); + data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); + Date lastMenses = DateUtil.addDay(pat.getLastMenses(),1); + int week = DateUtil.getWeek(lastMenses,model.getCreated()); + Map> contents = new HashMap<>(); + boolean isNormal = false; + + if (CollectionUtils.isNotEmpty(model.getMicroelements())) { - if (2 == ele.getStatus() || "铅".equals(ele.getEleName())) + for (MicroelementModel.Microelement ele : model.getMicroelements()) { - isNormal = true; - continue; + if (2 == ele.getStatus() || "铅".equals(ele.getEleName())) + { + isNormal = true; + continue; + } + MicroelementConfigModel configModel = mongoTemplate.findOne( + Query.query(Criteria.where("eleName").is(ele.getEleName()).and("status").is(ele.getStatus()).and("type").is(0)), MicroelementConfigModel.class); + + List datas = new ArrayList<>(); + if (week < 13) + { + datas.addAll(configModel.getEarlys()); + } + else if (week >= 13 && week < 28) + { + datas.addAll(configModel.getMiddles()); + } + else + { + datas.addAll(configModel.getLaters()); + } + contents.put(configModel.getEleName(),datas); } - MicroelementConfigModel configModel = mongoTemplate.findOne( - Query.query(Criteria.where("eleName").is(ele.getEleName()).and("status").is(ele.getStatus()).and("type").is(0)), MicroelementConfigModel.class); + } + + String nextCheckDate = ""; + String nextCheckWeek = ""; - List datas = new ArrayList<>(); + if (isNormal) { if (week < 13) { - datas.addAll(configModel.getEarlys()); + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); + nextCheckWeek = "孕13周前后"; } else if (week >= 13 && week < 28) { - datas.addAll(configModel.getMiddles()); - } - else - { - datas.addAll(configModel.getLaters()); + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); + nextCheckWeek = "孕28周前后"; } - contents.put(configModel.getEleName(),datas); } - } - - String nextCheckDate = ""; - String nextCheckWeek = ""; - - if (isNormal) { - if (week < 13) - { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); - nextCheckWeek = "孕13周前后"; - } - else if (week >= 13 && week < 28) + else { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); - nextCheckWeek = "孕28周前后"; + if (week < 8) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),8)); + nextCheckWeek = "孕8周前后"; + } + else if (week >= 8 && week < 13) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); + nextCheckWeek = "孕13周前后"; + } + else if (week >= 13 && week < 20) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),20)); + nextCheckWeek = "孕20周前后"; + } + else if (week >= 20 && week < 28) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); + nextCheckWeek = "孕28周前后"; + } + else if (week >= 28 && week < 36) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),36)); + nextCheckWeek = "孕36周前后"; + } } + data.put("nextCheckDate", nextCheckDate); + data.put("nextCheckWeek", nextCheckWeek); + data.put("contents", contents); + data.put("isNormal", isNormal); + healthChargeFacade.addHealthCharge(hospitalId, 7, model.getPatientId(), 1, 1, userId, doctorId, false); } + //儿童微量元素报告 else { - if (week < 8) - { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),8)); - nextCheckWeek = "孕8周前后"; - } - else if (week >= 8 && week < 13) - { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); - nextCheckWeek = "孕13周前后"; - } - else if (week >= 13 && week < 20) - { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),20)); - nextCheckWeek = "孕20周前后"; - } - else if (week >= 20 && week < 28) - { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); - nextCheckWeek = "孕28周前后"; - } - else if (week >= 28 && week < 36) + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getPatientId()); + data.put("city", FunvCommonUtil.getBaseicConfigByid(babyModel.getCityId(), basicConfigService)); + data.put("area", FunvCommonUtil.getBaseicConfigByid(babyModel.getAreaId(), basicConfigService)); + data.put("userName",babyModel.getName()); + data.put("age", DateUtil.getBabyMonthAge(babyModel.getBirth(), model.getCreated())); + data.put("sex", babyModel.getSex() == null ? "" : SexEnum.getTextById(babyModel.getSex())); + data.put("microelements", model.getMicroelements()); + data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); + Map> contents = new HashMap<>(); + boolean isNormal = false; + if (CollectionUtils.isNotEmpty(model.getMicroelements())) { - nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),36)); - nextCheckWeek = "孕36周前后"; + for (MicroelementModel.Microelement ele : model.getMicroelements()) + { + if (2 == ele.getStatus() || "铅".equals(ele.getEleName())) + { + isNormal = true; + continue; + } + MicroelementConfigModel configModel = mongoTemplate.findOne( + Query.query(Criteria.where("eleName").is(ele.getEleName()).and("status").is(ele.getStatus()).and("type").is(1)), MicroelementConfigModel.class); + contents.put(configModel.getEleName(),configModel.getContents()); + } } + + data.put("contents", contents); + data.put("isNormal", isNormal); + healthChargeFacade.addHealthCharge(hospitalId, 9, model.getPatientId(), 1, 1, userId, doctorId, true); } - data.put("nextCheckDate", nextCheckDate); - data.put("nextCheckWeek", nextCheckWeek); - data.put("contents", contents); - data.put("isNormal", isNormal); } - healthChargeFacade.addHealthCharge(hospitalId, 7, model.getPatientId(), 1, 1, userId, doctorId, false); + return new BaseObjectResponse().setData(data). setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } public BaseResponse saveMicroelement(MicroelementModel microelementModel) { - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setType(1); - patientsQuery.setNumberCode(microelementModel.getNumberCode()); - List patients = patientsService.queryPatient(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) + + if (microelementModel.getType() == 1) { - Patients pat = patients.get(0); - microelementModel.setHospitalId(pat.getHospitalId()); - microelementModel.setPatientId(pat.getId()); - microelementModel.setPid(pat.getPid()); - microelementModel.setBirthday(pat.getBirth()); - microelementModel.setLastMenses(pat.getLastMenses()); - microelementModel.setType(0); - microelementModel.setCreated(new Date()); - microelementModel.setModified(new Date()); - microelementService.add(microelementModel); - } + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery.setNumberCode(microelementModel.getNumberCode()); + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModels)) + { + BabyModel babyModel = babyModels.get(0); + microelementModel.setHospitalId(babyModel.getHospitalId()); + microelementModel.setPatientId(babyModel.getId()); + microelementModel.setPid(babyModel.getPid()); + microelementModel.setBirthday(babyModel.getBirth()); + microelementModel.setType(0); + microelementModel.setCreated(new Date()); + microelementModel.setModified(new Date()); + microelementService.add(microelementModel); + } + } + else + { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + patientsQuery.setNumberCode(microelementModel.getNumberCode()); + List patients = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) + { + Patients pat = patients.get(0); + microelementModel.setHospitalId(pat.getHospitalId()); + microelementModel.setPatientId(pat.getId()); + microelementModel.setPid(pat.getPid()); + microelementModel.setBirthday(pat.getBirth()); + microelementModel.setLastMenses(pat.getLastMenses()); + microelementModel.setType(0); + microelementModel.setCreated(new Date()); + microelementModel.setModified(new Date()); + microelementService.add(microelementModel); + } + } return new BaseResponse(). setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index f3e1c52..6dc1d38 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -582,6 +582,16 @@ public class TrackDownFacade { downRecordQuery.setLimit(downQueryRequest.getLimit()); downRecordQuery.setNeed("1"); // downRecordQuery.setSort("modified desc"); + + if (downQueryRequest.isArea()) + { + downRecordQuery.setTrackHospitalId(hospitalId); + } + else + { + downRecordQuery.setHospitalId(hospitalId); + } + downRecordQuery.setHospitalId(hospitalId); System.out.println("====>" + downRecordQuery.convertToQuery().convertToMongoQuery()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index e53922b..2351082 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -4951,8 +4951,31 @@ public class ViewFacade { ResidentsArchiveModel model = modelList.get(0); //建档详情 result = getResidentsPageResult(model); + if (StringUtils.isNotEmpty(model.getSpouseCardNo())) + { + query.setYn(YnEnums.YES.getId()); + query.setId(null); + query.setSpouseCardNo(model.getSpouseCardNo()); + modelList = residentsArchiveService.queryResident(query); + if (CollectionUtils.isNotEmpty(modelList)) + { + //是否显示打印指引单 + result.setIsPrint(true); + ResidentsArchiveModel model1 = modelList.get(0); + result.setSpouseName(model1.getUsername()); + result.setSpouseCardNo(model1.getCertificateNum()); + result.setSpouseSex(getBasicConfig(model.getSex())); + if (model1.getBirthday() != null) { + result.setSpouseAge(com.lyms.platform.common.utils.StringUtils.unitHandle(DateUtil.getAge(model1.getBirthday(), new Date()).toString(), UnitConstants.SUI)); + } + //居住地 + String liveAddress = CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(), + model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService); + result.setSpouseAddress(liveAddress); + result.setSpouseCreated(DateUtil.getyyyy_MM_dd(model.getBuildDay())); + } + } } - br.setData(result); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); @@ -5013,6 +5036,7 @@ public class ViewFacade { String title = getBasicConfig(key.toString()); pastHistory.append(title); + pastHistory.append(","); String item = obj.toString().substring(1).substring(0, obj.toString().length() - 2); if (StringUtils.isNotEmpty(item)) { if (item.contains("selected=[") && item.contains("]")) { @@ -5050,7 +5074,7 @@ public class ViewFacade { } } } - result.setPastHistory(pastHistory.toString()); + result.setPastHistory(FunvCommonUtil.spitd(pastHistory.toString())); //家族史 String familyHistory = ""; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java index 3ba9bae..102e189 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java @@ -90,6 +90,16 @@ public class TrackDownQueryRequest extends BasePageQueryRequest { // 不为空表示只查询高危 0 private Integer isRisk; + private boolean isArea; + + public boolean isArea() { + return isArea; + } + + public void setIsArea(boolean isArea) { + this.isArea = isArea; + } + public Integer getIsRisk() { return isRisk; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java index ff7656b..53372c5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java @@ -51,6 +51,15 @@ public class ResidentsPageResult { private String spouseName; //配偶证件号 private String spouseCardNo; + //配偶性别 + private String spouseSex; + //配偶年龄 + private String spouseAge; + //配偶家庭住址 + private String spouseAddress; + //配偶建档时间 + private String spouseCreated; + //配偶手机 private String spousePhone; @@ -122,6 +131,51 @@ public class ResidentsPageResult { private String jtbm;//注明具体病名 private String photo; + + //是否打印指引单 陵城区妇幼 + private boolean isPrint; + + + public String getSpouseSex() { + return spouseSex; + } + + public void setSpouseSex(String spouseSex) { + this.spouseSex = spouseSex; + } + + public String getSpouseAge() { + return spouseAge; + } + + public void setSpouseAge(String spouseAge) { + this.spouseAge = spouseAge; + } + + public String getSpouseAddress() { + return spouseAddress; + } + + public void setSpouseAddress(String spouseAddress) { + this.spouseAddress = spouseAddress; + } + + public String getSpouseCreated() { + return spouseCreated; + } + + public void setSpouseCreated(String spouseCreated) { + this.spouseCreated = spouseCreated; + } + + public boolean isPrint() { + return isPrint; + } + + public void setIsPrint(boolean isPrint) { + this.isPrint = isPrint; + } + public String getPhoto() { return photo; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HospitalCouponPrintUtils.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HospitalCouponPrintUtils.java index 5770d5a..72dd6a8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HospitalCouponPrintUtils.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HospitalCouponPrintUtils.java @@ -71,8 +71,8 @@ public class HospitalCouponPrintUtils { */ public static String qhdCouponUse(QhdDjq model){ String json = JsonUtil.obj2Str(model); - //String result = HttpClientUtil.doPost("http://localhost:9090/his/insertQhdfycjDjq", json, "utf-8"); - String result = "0"; + String result = HttpClientUtil.doPost("http://localhost:9090/his/insertQhdfycjDjq", json, "utf-8"); + //String result = "0"; return result; } diff --git a/platform-transfer/src/main/java/com/lyms/platform/Bone/BoneWorker.java b/platform-transfer/src/main/java/com/lyms/platform/Bone/BoneWorker.java new file mode 100644 index 0000000..55a68ac --- /dev/null +++ b/platform-transfer/src/main/java/com/lyms/platform/Bone/BoneWorker.java @@ -0,0 +1,113 @@ +package com.lyms.platform.Bone; + +import com.lyms.platform.common.utils.HttpClientUtil; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.PropertiesUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.conn.MicroelementConnection; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class BoneWorker { + + public static final String url = PropertiesUtils.getPropertyValue("url"); + + public static void getMicroelementRecords() + { + System.out.println("getMicroelementRecords start"); + Connection conn = null; + Statement sta = null; + ResultSet rst = null; + try { + conn = MicroelementConnection.getConnection(); + sta = conn.createStatement(); + rst = sta.executeQuery("select * from BaseInfo where status is null "); + while (rst.next()){ + Map data = new HashMap<>(); + String numberCode = rst.getString("编号"); + String autoId = rst.getString("AUTOID"); + data.put("numberCode",numberCode); + data.put("autoId",autoId); + getMicroelementRecords(data); + } + } + catch (SQLException e) { + } + finally { + MicroelementConnection.close(conn, sta,rst); + } + } + + + public static void getMicroelementRecords(Map data) + { + Connection conn = null; + Statement sta = null; + ResultSet rst = null; + try { + conn = MicroelementConnection.getConnection(); + String autoId = data.get("autoId").toString(); + sta = conn.createStatement(); + rst = sta.executeQuery("select * from ItemsInfo where BaseAutoId = "+autoId); + + List microelements = new ArrayList<>(); + while (rst.next()) { + Map map = new HashMap(); + String eleName = rst.getString("元素名称"); + String value = rst.getString("测量值"); + String result = StringUtils.checkNum(value); + map.put("result",result); + map.put("unit",value.contains("mmol") ? "mmol/l" : (value.contains("umol") ? "umol/l" : "ug/l")); + map.put("eleName",eleName); + map.put("refValue","");//TODO + microelements.add(map); + } + data.put("microelements", microelements); + data.remove("autoId"); + if (microelements.size() > 0) + { + String response = autoTransfer(data); + if (response.contains("0")) + { + sta.executeUpdate("update BaseInfo set status='1' where AUTOID="+autoId); + conn.commit(); + } + } + + } + catch (Exception e) { + try { + conn.rollback(); + } catch (SQLException e1) { + e1.printStackTrace(); + } + } + finally { + MicroelementConnection.close(conn, sta,rst); + } + } + + public static String autoTransfer( Map data) + { + if (data != null && data.size() > 0) + { + String json = JsonUtil.obj2Str(data); + System.out.println(json); + String result = HttpClientUtil.doPostSSL(url,json); + System.out.println("http result= "+result); + return result; + } + return ""; + } + +// public static void main(String[] args) { +// getMicroelementRecords(); +// } +}