diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index fdc552f..d1ab079 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -1,6 +1,7 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.service.TrackDownService; +import com.lyms.platform.common.enums.FmTypeEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.PageResult; @@ -11,9 +12,7 @@ import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.MongoUtil; -import com.lyms.platform.pojo.Patients; -import com.lyms.platform.pojo.ResidentsArchiveModel; -import com.lyms.platform.pojo.TrackDown; +import com.lyms.platform.pojo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -65,24 +64,58 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS temp.put("id", patient.getId()); temp.put("cardNo", patient.getCardNo()); temp.put("username", patient.getUsername()); + temp.put("phone", patient.getPhone()); temp.put("age", DateUtil.getAge(patient.getBirth())); - temp.put("resident", "--"); // 妇女建档 - temp.put("residentDate", "2017-10-11"); // 妇女建档日期 - temp.put("check", "--"); // 婚检 - temp.put("bookbuild", ""); // 孕期建档 1=勾勾 2=叉叉 - temp.put("bookbuildDte", DateUtil.getyyyy_MM_dd(patient.getBookbuildingDate())); - temp.put("yjcount", 0); // 孕检次数 - temp.put("cqsc", ""); // 产前筛查 1=勾勾 2=叉叉 - temp.put("fm", ""); // 分娩 1=勾勾 2=叉叉 - temp.put("fmType", ""); // 分娩方式 1=顺产, 2=剖宫产 - temp.put("chfc", ""); // 产后复查 1=勾勾 2=叉叉 - temp.put("chfcCount", ""); // 复查次数 + temp.put("bookbuild", 2); // 孕期建档 1=勾勾 2=叉叉 3=-- + temp.put("bookbuildDate", DateUtil.getyyyy_MM_dd(patient.getBookbuildingDate())); + temp.put("yjcount", getChuzhenCount(patient.getId())); // 孕检次数 = 初诊 + 复诊 + temp.put("cqsc", 1); // 产前筛查 1=勾勾 2=叉叉 3=-- + temp.put("fm", 3); // 分娩 1=勾勾 2=叉叉 3=-- + temp.put("fmType", FmTypeEnums.getFmNameById(patient.getFmType())); // 分娩方式 + temp.put("chfc", 3); // 产后复查 1=勾勾 2=叉叉 3=-- + temp.put("chfcCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(patient.getId()).and("yn").is(1)), PostReviewModel.class)); // 复查次数 + restList.add(temp); + } + for (ResidentsArchiveModel archiveModel : residentsArchiveModels) { + for (Map map : restList) { + if(archiveModel.getVcCardNo().toString().equals(map.get("cardNo").toString())) { + map.put("resident", 2); // 妇女建档 + map.put("residentDate", DateUtil.getyyyy_MM_dd(archiveModel.getBuildDay())); + map.put("check", 3); // 婚检 + continue; + } + } + Map temp = new HashMap<>(); + temp.put("id", archiveModel.getId()); + temp.put("cardNo", archiveModel.getCertificateNum()); + temp.put("username", archiveModel.getUsername()); + temp.put("phone", archiveModel.getPhone()); + temp.put("age", DateUtil.getAge(archiveModel.getBirthday())); + temp.put("resident", 3); // 妇女建档 + temp.put("residentDate", DateUtil.getyyyy_MM_dd(archiveModel.getBuildDay())); // 妇女建档日期 + temp.put("check", 2); // 婚检 + temp.put("bookbuild", null); // 孕期建档 1=勾勾 2=叉叉 + temp.put("bookbuildDate", null); + temp.put("yjcount", 0); // 孕检次数 = 初诊 + 复诊 + temp.put("cqsc", 3); // 产前筛查 1=勾勾 2=叉叉 + temp.put("fm", 3); // 分娩 1=勾勾 2=叉叉 + temp.put("fmType", null); // 分娩方式 + temp.put("chfc", 3); // 产后复查 1=勾勾 2=叉叉 + temp.put("chfcCount", null); // 复查次数 restList.add(temp); } - return RespBuilder.buildSuccess(new PageResult(restList.size(), page, limit, CollectionUtils.getPageIds(restList, page, limit))); } + /** + * 获取产检次数 + */ + private long getChuzhenCount(String patientId) { + long antexcCount = mongoTemplate.count(Query.query(Criteria.where("parentId").is(patientId).and("yn").is(1)), AntExChuModel.class); + long antexCount = mongoTemplate.count(Query.query(Criteria.where("parentid").is(patientId).and("yn").is(1)), AntenatalExaminationModel.class); + return antexcCount + antexCount; + } + public BaseResponse add(Integer userId, TrackDown trackDown) { String hospitalId = autoMatchFacade.getHospitalId(userId); String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId);