diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java index 7e8a2eb..14b5d74 100644 --- a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java +++ b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java @@ -24,6 +24,7 @@ public enum SerialIdEnum { BabyVisitModel("BabyVisitModel", 97531000090L), BasicConfig("BasicConfig", 97531000100L), CheckItemOrder("CheckItemOrder", 97531500100L), + CheckItemActual("CheckItemActual", 97521500100L), CheckItemConfig("CheckItemConfig", 97531320100L), BCInventoryModel("BCInventoryModel", 97531000110L), BCTransferInHistoryModel("BCTransferInHistoryModel", 97531000120L), diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/CheckItemActual.java b/platform-dal/src/main/java/com/lyms/platform/pojo/CheckItemActual.java new file mode 100644 index 0000000..3a867cc --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/CheckItemActual.java @@ -0,0 +1,84 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + + +/** + * 处方实际内容 + */ +@Document(collection="lyms_check_item_actual") +public class CheckItemActual extends BaseModel { + + private static final long serialVersionUID = SerialIdEnum.CheckItemOrder.getCid(); + + private String id; + private String itemId; + private String patientId; + private Date checkTime; + private String hospitalId; + // 0 未做检出 1已结做检出 + private Integer status; + private Date created; + + public Date getCheckTime() { + return checkTime; + } + + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getItemId() { + return itemId; + } + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + public String getPatientId() { + return patientId; + } + + public void setPatientId(String patientId) { + this.patientId = patientId; + } + + + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 89dfb27..df127d5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -1319,6 +1319,31 @@ public class AntExRecordFacade { public BaseResponse getActualReport(String checkTime, Integer userId) { + Map data = new HashMap<>(); + String hospitalId = autoMatchFacade.getHospitalId(userId); + if (checkTime != null) { + String[] arrs = checkTime.split(" - "); + Date start = DateUtil.parseYMD(arrs[0]); + Date end = DateUtil.parseYMD(arrs[1]); + long count = mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("checkTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), CheckItemActual.class); + data.put("allCount", String.valueOf(count)); + + List itemConfigs = mongoTemplate.find(Query.query(Criteria.where("hospitalId").is(hospitalId)), CheckItemConfig.class); + if (CollectionUtils.isNotEmpty(itemConfigs)) { + List list = new ArrayList<>(); + for (CheckItemConfig item : itemConfigs) { + long itemCount = mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("checkTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end)).and("itemId").is(item.getId())), CheckItemActual.class); + Map map = new HashMap<>(); + map.put("itemName", item.getName()); + map.put("itemCount", String.valueOf(itemCount)); + long actualCount = mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("checkTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end)).and("itemId").is(item.getId()).and("status").is(1)), CheckItemActual.class); + list.add(map); + + map.put("actualCount", String.valueOf(actualCount)); + } + data.put("itemList", list); + } + } return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(null).setErrormsg("成功"); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 9754415..e4d59b6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -499,6 +499,15 @@ public class AntenatalExaminationFacade { } catch (Exception e) { e.printStackTrace(); } + try { + //处方计划 + if (antExamModel.getCheckDate() != null) + { + saveCheckActual(antExamModel.getCheckDate(), patients); + } + } catch (Exception e) { + e.printStackTrace(); + } } }); @@ -1138,6 +1147,15 @@ public class AntenatalExaminationFacade { } catch (Exception e) { e.printStackTrace(); } + try { + //处方计划 + if (excAddRequest.getCheckTime()!= null) + { + saveCheckActual(DateUtil.parseYMD(excAddRequest.getCheckTime()), patients); + } + } catch (Exception e) { + e.printStackTrace(); + } } }); } @@ -1163,6 +1181,30 @@ public class AntenatalExaminationFacade { } } + + public void saveCheckActual(Date checkTime,Patients patients) + { + List itemConfigs = mongoTemplate.find(Query.query(Criteria.where("hospitalId").is(patients.getHospitalId())), CheckItemConfig.class); + if (CollectionUtils.isNotEmpty(itemConfigs)) + { + for(CheckItemConfig checkItemConfig : itemConfigs) + { + int currentWeek = DateUtil.getWeek(patients.getLastMenses(),checkTime); + if (checkItemConfig.getStartWeek() <= currentWeek && checkItemConfig.getEndWeek() >= currentWeek) + { + CheckItemActual actual = new CheckItemActual(); + actual.setCreated(new Date()); + actual.setHospitalId(patients.getHospitalId()); + actual.setCheckTime(checkTime); + actual.setItemId(checkItemConfig.getId()); + actual.setPatientId(patients.getId()); + actual.setStatus(0); + mongoTemplate.save(actual); + } + } + } + } + /** * 初诊、复诊添加或更新追访信息 *