From 1b0622917bcf6eda8e64ee6ef0f3c911509371ec Mon Sep 17 00:00:00 2001 From: haorp <754760654@qq.com> Date: Tue, 17 Jun 2025 10:04:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=A6=87=E5=BB=BA=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/dao/master/AppointmentMapper.java | 2 + .../permission/service/AppointmentService.java | 3 + .../service/impl/AppointmentServiceImpl.java | 5 ++ .../resources/mainOrm/master/AppointmentMapper.xml | 74 ++++++++++++++++++++++ .../main/java/com/lyms/platform/pojo/Patients.java | 2 +- .../java/com/lyms/platform/pojo/PersonModel.java | 2 +- .../web/controller/MedicalRecordController.java | 21 +++++- .../operate/web/facade/MedicalRecordFacade.java | 67 ++++++++++++++++++++ 8 files changed, 173 insertions(+), 3 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java index c7152c6..1b6050c 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java @@ -12,4 +12,6 @@ public interface AppointmentMapper { int queryListCount(MedicalRecordVo medicalRecordVo); List queryList(MedicalRecordVo medicalRecordVo); + + int updateMedicalRecord(MedicalRecordVo medicalRecordVo); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java index 3428a62..e1fdcf0 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java @@ -11,4 +11,7 @@ public interface AppointmentService { int queryAppointmentCount(AppointmentQuery appointmentQuery); List queryList(MedicalRecordVo medicalRecordVo); + + int updateMedicalRecord(MedicalRecordVo medicalRecordVo); + } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java index 8a269bd..d7ff1fb 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java @@ -42,4 +42,9 @@ public class AppointmentServiceImpl implements AppointmentService { } return appointmentMapper.queryList(medicalRecordVo); } + + @Override + public int updateMedicalRecord(MedicalRecordVo medicalRecordVo) { + return appointmentMapper.updateMedicalRecord(medicalRecordVo); + } } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml index 4462003..683ff40 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml @@ -272,4 +272,78 @@ + + + UPDATE medical_record + + + + PID = #{pid}, + + + NAME = #{name}, + + + AGE = #{age}, + + + PHONE = #{phone}, + + + GENDER = #{gender}, + + + + + ZY_TYPE = #{zyType}, + + + MED_TYPE = #{medType}, + + + DEPARTMENT = #{department}, + + + DIAGNOSIS = #{diagnosis}, + + + DIAGNOSIS_CODE = #{diagnosisCode}, + + + OPERATION = #{operation}, + + + OPERATION_CODE = #{operationCode}, + + + MEDICINE = #{medicine}, + + + + + DELIVERY_TYPE = #{deliveryType}, + + + DELIVERY_TIME = #{deliveryTime}, + + + BABY_WEIGHT = #{babyWeight}, + + + BABY_HEIGHT = #{babyHeight}, + + + BABY_GENDER = #{babyGender}, + + + MATN_HISTORY = #{matnHistory}, + + + + + MODIFIED = #{modified} + + + WHERE CARD_NO = #{cardNo} + 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 c669f88..5fd1178 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 @@ -290,7 +290,7 @@ public class Patients extends BaseModel { //分娩状态 0未终止妊娠 1终止妊娠 private Integer dueStatus; - //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 + //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 4.已分娩建档 private Integer buildType; //最后一次高危时间 private Date lastRhTime; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PersonModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PersonModel.java index bdacf78..f055e3e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PersonModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PersonModel.java @@ -31,7 +31,7 @@ public class PersonModel extends BaseModel { //生日 private Date birth; - //类型 1 孕妇 2 儿童 3孕妇 + //类型 1 孕妇 2 儿童 3产妇 private Integer type; private Date created; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicalRecordController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicalRecordController.java index 9d9519a..30f6aaa 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicalRecordController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MedicalRecordController.java @@ -1,23 +1,28 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.MedicalRecordFacade; import com.lyms.platform.permission.model.MedicalRecordVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; /* * 产妇建党 */ -@Controller("/medicalRecord") +@Controller +@RequestMapping("/medicalRecord") public class MedicalRecordController extends BaseController { @Autowired @@ -44,4 +49,18 @@ public class MedicalRecordController extends BaseController { public BaseResponse queryRecordOne(@Valid MedicalRecordVo medicalRecordVo) { return medicalRecordFacade.queryRecordOne(medicalRecordVo); } + + + /** + * 病案单人信息查询 + * + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/saveRecordOne") + @ResponseBody + @TokenRequired + public BaseResponse saveRecordOne(@Valid @RequestBody MedicalRecordVo medicalRecordVo , HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return medicalRecordFacade.saveRecordOne(medicalRecordVo,loginState.getId()); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicalRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicalRecordFacade.java index fbd1bb4..daae71a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicalRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MedicalRecordFacade.java @@ -1,16 +1,23 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.biz.service.PersonService; import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.permission.model.MedicalRecordVo; import com.lyms.platform.permission.service.AppointmentService; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PersonModel; +import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Date; import java.util.List; /** @@ -21,6 +28,10 @@ public class MedicalRecordFacade { @Autowired private AppointmentService appointmentService; + @Autowired + private PatientsService patientsService; + @Autowired + private PersonService personService; public BaseResponse queryRecord(MedicalRecordVo queryVo) { MedicalRecordVo medicalRecordVo = new MedicalRecordVo(); medicalRecordVo.setNeed("true"); @@ -52,4 +63,60 @@ public class MedicalRecordFacade { } return new BaseObjectResponse().setData(medicalRecordVoList.get(0)).setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); } + + + public BaseResponse saveRecordOne(MedicalRecordVo medicalRecordVo,Integer userId) { + // 查建档 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(medicalRecordVo.getCardNo()); + patientsQuery.setPhone(medicalRecordVo.getPhone()); + patientsQuery.setYn(1); + patientsQuery.setType(3); + patientsQuery.setDesc("true"); + patientsQuery.setSort("created"); + List patientsList = patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(patientsList)){ + return new BaseResponse().setErrormsg("该手机号已经存在产妇档案,请核实").setErrorcode(ErrorCodeConstants.SUCCESS); + } + + // 写个人信息 + PersonModel pmodel = new PersonModel(); + pmodel.setName(medicalRecordVo.getName()); + pmodel.setPhone(medicalRecordVo.getPhone()); + pmodel.setCardNo(medicalRecordVo.getCardNo()); + pmodel.setType(3); + pmodel.setModified(new Date()); + pmodel.setYn(1); + pmodel.setCreated(new Date()); + PersonModel personModel = personService.addPerson(pmodel); + + // 写建档 + Patients patient=new Patients(); + patient.setHospitalId("2100002419"); + patient.setFmHospital("2100002419"); + patient.setFmDate(DateUtil.parseYMD(medicalRecordVo.getDeliveryTime())); + patient.setCardNo(medicalRecordVo.getCardNo()); + patient.setYn(1); + patient.setType(3); + patient.setBuildType(4); + patient.setBookbuildingDate(new Date()); + patient.setUsername(medicalRecordVo.getName()); + patient.setPhone(medicalRecordVo.getPhone()); + if (personModel != null) { + patient.setPid(personModel.getId()); + } + patient.setOperator(userId); + patient.setBirth(DateUtil.parseYMD(DateUtil.getBirthFromIdCard(medicalRecordVo.getCardNo()))); + patient.setCreated(new Date()); + patient.setModified(new Date()); + patientsService.addPatient(patient); + + // 更新诊断 + MedicalRecordVo insertVo = new MedicalRecordVo(); + insertVo.setModified(DateUtil.getYyyyMmDd(new Date())); + insertVo.setCardNo(medicalRecordVo.getCardNo()); + insertVo.setDiagnosis(medicalRecordVo.getDiagnosis()); + appointmentService.updateMedicalRecord(medicalRecordVo); + return new BaseResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); + } } \ No newline at end of file -- 1.8.3.1