diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PregnantDeathModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PregnantDeathModel.java new file mode 100644 index 0000000..f278575 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PregnantDeathModel.java @@ -0,0 +1,272 @@ +package com.lyms.platform.pojo; + +import java.util.Date; +import java.util.Map; + +import org.springframework.data.mongodb.core.mapping.Document; + +import com.lyms.platform.common.result.BaseModel; + + +/** + * @author dongqin + * @description 孕妇死亡报告单 + * @date 15:41 2019/11/29 + **/ +@Document(collection = "lyms_pregnant_death") +public class PregnantDeathModel extends BaseModel { + + /** + * 主键 + */ + private String id; + + /** + * 死亡报告的的编号 + */ + private String number; + + /** + * 孕妇姓名 + */ + private String name; + + /** + * 手机号 + */ + private String phone; + + /** + * 孕次 + */ + private String yunSize; + + /** + * 产次 + */ + private String chanSize; + + /** + * 末次月经 + */ + private Date lastMenstruation; + + /** + * 分娩方式 + */ + private String fmType; + + /** + * 填写人 + */ + private String createUser; + + /** + * 医院id + */ + private String hospitalId; + + /** + * 创建时间 + */ + private Date created; + + /** + * 居住地址 省市区街道详细地址 + */ + private String resideProvince; + private String resideCity; + private String resideArea; + private String resideStreet; + private String resideAddress; + + /** + * 暂住地址 省市区街道详细地址 + */ + private String temporaryProvince; + private String temporaryCity; + private String temporaryArea; + private String temporaryStreet; + private String temporaryAddress; + + /** + * 表单数据,前端同事自定义 + */ + private Map formData; + + public Map getFormData() { + return formData; + } + + public void setFormData(Map formData) { + this.formData = formData; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getYunSize() { + return yunSize; + } + + public void setYunSize(String yunSize) { + this.yunSize = yunSize; + } + + public String getChanSize() { + return chanSize; + } + + public void setChanSize(String chanSize) { + this.chanSize = chanSize; + } + + public Date getLastMenstruation() { + return lastMenstruation; + } + + public void setLastMenstruation(Date lastMenstruation) { + this.lastMenstruation = lastMenstruation; + } + + public String getFmType() { + return fmType; + } + + public void setFmType(String fmType) { + this.fmType = fmType; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getResideProvince() { + return resideProvince; + } + + public void setResideProvince(String resideProvince) { + this.resideProvince = resideProvince; + } + + public String getResideCity() { + return resideCity; + } + + public void setResideCity(String resideCity) { + this.resideCity = resideCity; + } + + public String getResideArea() { + return resideArea; + } + + public void setResideArea(String resideArea) { + this.resideArea = resideArea; + } + + public String getResideStreet() { + return resideStreet; + } + + public void setResideStreet(String resideStreet) { + this.resideStreet = resideStreet; + } + + public String getResideAddress() { + return resideAddress; + } + + public void setResideAddress(String resideAddress) { + this.resideAddress = resideAddress; + } + + public String getTemporaryProvince() { + return temporaryProvince; + } + + public void setTemporaryProvince(String temporaryProvince) { + this.temporaryProvince = temporaryProvince; + } + + public String getTemporaryCity() { + return temporaryCity; + } + + public void setTemporaryCity(String temporaryCity) { + this.temporaryCity = temporaryCity; + } + + public String getTemporaryArea() { + return temporaryArea; + } + + public void setTemporaryArea(String temporaryArea) { + this.temporaryArea = temporaryArea; + } + + public String getTemporaryStreet() { + return temporaryStreet; + } + + public void setTemporaryStreet(String temporaryStreet) { + this.temporaryStreet = temporaryStreet; + } + + public String getTemporaryAddress() { + return temporaryAddress; + } + + public void setTemporaryAddress(String temporaryAddress) { + this.temporaryAddress = temporaryAddress; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java index 6ea552d..024b266 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java @@ -7,7 +7,6 @@ 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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.fasterxml.jackson.annotation.JsonAlias; @@ -17,6 +16,7 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.request.CervicalCancerListRequest; import com.lyms.platform.operate.web.request.CervicalCancerRequest; +import com.lyms.platform.operate.web.request.CommonParamRequest; import com.lyms.platform.operate.web.service.CervicalCancerService; /** @@ -35,14 +35,14 @@ public class CervicalCancerController extends BaseController { * * 根据身份证号获取对应的建档信息 * - * @param idCard + * @param param * @return */ @RequestMapping(method = RequestMethod.GET, value = "/getPatientInfoByIdCard") @ResponseBody @TokenRequired - public BaseResponse getPatientInfoByIdCard(@RequestParam String idCard) { - return cervicalCancerService.getPatientInfoByIdCard(idCard); + public BaseResponse getPatientInfoByIdCard(@JsonAlias CommonParamRequest param) { + return cervicalCancerService.getPatientInfoByIdCard(param); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java index 4be4b85..1dab7b0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java @@ -15,6 +15,7 @@ import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.CommonParamRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; import com.lyms.platform.operate.web.service.IPreEugenicsService; @@ -35,14 +36,14 @@ public class PreEugenicsBaseController extends BaseController { * * 根据身份证号获取对应的孕前优生信息 * - * @param idCard + * @param param * @return */ @RequestMapping(method = RequestMethod.GET, value = "/getInfoByIdCard") @ResponseBody @TokenRequired - public BaseResponse getPatientInfoByIdCard(@RequestParam String idCard) { - return iPreEugenicsService.getPatientInfoByIdCard(idCard); + public BaseResponse getPatientInfoByIdCard(@JsonAlias CommonParamRequest param) { + return iPreEugenicsService.getPatientInfoByIdCard(param); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantDeathController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantDeathController.java new file mode 100644 index 0000000..aa66720 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantDeathController.java @@ -0,0 +1,104 @@ +package com.lyms.platform.operate.web.controller; + +import javax.servlet.http.HttpServletRequest; + +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.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.CommonParamRequest; +import com.lyms.platform.operate.web.request.PregnantDeathListRequest; +import com.lyms.platform.operate.web.request.PregnantDeathRequest; +import com.lyms.platform.operate.web.service.IPregnantDeathServer; + +/** + * @author dongqin + * @description 孕产妇死亡报告卡 + * @date 16:05 2019/11/29 + **/ +@Controller +@RequestMapping("/pregnantDeath") +public class PregnantDeathController extends BaseController { + + @Autowired + private IPregnantDeathServer pregnantDeathServer; + + /** + * + * 根据身份证号获取对应的建档信息 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getPatientInfoByIdCard") + @ResponseBody + @TokenRequired + public BaseResponse getPatientInfoByIdCard(@JsonAlias CommonParamRequest param) { + return pregnantDeathServer.getPatientInfoByIdCard(param); + } + + + /** + * 保存单个 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/add") + @ResponseBody + @TokenRequired + public BaseResponse add(@RequestBody PregnantDeathRequest param, HttpServletRequest request) { + param.setCreateUser(getUserId(request).toString()); + return pregnantDeathServer.add(param); + } + + /** + * 编辑单个 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/edit") + @ResponseBody + @TokenRequired + public BaseResponse edit( @RequestBody PregnantDeathRequest param) { + return pregnantDeathServer.edit(param); + } + + /** + * 列表 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/listPage") + @ResponseBody + @TokenRequired + public BaseListResponse listPage(@JsonAlias PregnantDeathListRequest param) { + return pregnantDeathServer.listPage(param); + } + + /** + * 单个查询 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/detail") + @ResponseBody + @TokenRequired + public BaseResponse detail( @JsonAlias PregnantDeathRequest param) { + return pregnantDeathServer.detail(param); + } + + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonParamRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonParamRequest.java new file mode 100644 index 0000000..6592da1 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CommonParamRequest.java @@ -0,0 +1,39 @@ +package com.lyms.platform.operate.web.request; + +import java.io.Serializable; + +/** + * @author dongqin + * @description + * @date 10:08 2019/12/2 + **/ +public class CommonParamRequest implements Serializable { + + private static final long serialVersionUID = -6426491224399839985L; + + /** + * 卡号:身份证号/证件号... + */ + private String cardNo; + + /** + * 编号/就诊卡号.. + */ + private String otherNo; + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getOtherNo() { + return otherNo; + } + + public void setOtherNo(String otherNo) { + this.otherNo = otherNo; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathListRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathListRequest.java new file mode 100644 index 0000000..1fa8c46 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathListRequest.java @@ -0,0 +1,203 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.dao.BaseQuery; + +public class PregnantDeathListRequest extends BaseQuery { + + /** + * 死亡报告卡的编号 + */ + private String number; + + /** + * 孕妇姓名 + */ + private String name; + + /** + * 手机号 + */ + private String phone; + + /** + * 孕次 + */ + private String yunSize; + + /** + * 产次 + */ + private String chanSize; + + /** + * 填写人 + */ + private String createUser; + + /** + * 医院id + */ + private String hospitalId; + + + /** + * 创建时间 + */ + private String startCreated; + private String endCreated; + + /** + * 居住地址 省市区街道详细地址 + */ + private String resideProvince; + private String resideCity; + private String resideArea; + private String resideStreet; + + /** + * 暂住地址 省市区街道详细地址 + */ + private String temporaryProvince; + private String temporaryCity; + private String temporaryArea; + private String temporaryStreet; + + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getYunSize() { + return yunSize; + } + + public void setYunSize(String yunSize) { + this.yunSize = yunSize; + } + + public String getChanSize() { + return chanSize; + } + + public void setChanSize(String chanSize) { + this.chanSize = chanSize; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getStartCreated() { + return startCreated; + } + + public void setStartCreated(String startCreated) { + this.startCreated = startCreated; + } + + public String getEndCreated() { + return endCreated; + } + + public void setEndCreated(String endCreated) { + this.endCreated = endCreated; + } + + public String getResideProvince() { + return resideProvince; + } + + public void setResideProvince(String resideProvince) { + this.resideProvince = resideProvince; + } + + public String getResideCity() { + return resideCity; + } + + public void setResideCity(String resideCity) { + this.resideCity = resideCity; + } + + public String getResideArea() { + return resideArea; + } + + public void setResideArea(String resideArea) { + this.resideArea = resideArea; + } + + public String getResideStreet() { + return resideStreet; + } + + public void setResideStreet(String resideStreet) { + this.resideStreet = resideStreet; + } + + + public String getTemporaryProvince() { + return temporaryProvince; + } + + public void setTemporaryProvince(String temporaryProvince) { + this.temporaryProvince = temporaryProvince; + } + + public String getTemporaryCity() { + return temporaryCity; + } + + public void setTemporaryCity(String temporaryCity) { + this.temporaryCity = temporaryCity; + } + + public String getTemporaryArea() { + return temporaryArea; + } + + public void setTemporaryArea(String temporaryArea) { + this.temporaryArea = temporaryArea; + } + + public String getTemporaryStreet() { + return temporaryStreet; + } + + public void setTemporaryStreet(String temporaryStreet) { + this.temporaryStreet = temporaryStreet; + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathRequest.java new file mode 100644 index 0000000..97e5ac3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PregnantDeathRequest.java @@ -0,0 +1,7 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.pojo.PregnantDeathModel; + +public class PregnantDeathRequest extends PregnantDeathModel { + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PregnantDeathModelResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PregnantDeathModelResult.java new file mode 100644 index 0000000..6945819 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PregnantDeathModelResult.java @@ -0,0 +1,57 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.pojo.PregnantDeathModel; + +public class PregnantDeathModelResult extends PregnantDeathModel { + /** + * 居住地址 省市区街道详细地址 + */ + private String resideAddressStr; + + /** + * 暂住地址 省市区街道详细地址 + */ + private String temporaryAddressStr; + + /** + * 填写单位 + */ + private String hospitalStr; + + /** + * 填写人 + */ + private String createUserStr; + + public String getResideAddressStr() { + return resideAddressStr; + } + + public void setResideAddressStr(String resideAddressStr) { + this.resideAddressStr = resideAddressStr; + } + + public String getTemporaryAddressStr() { + return temporaryAddressStr; + } + + public void setTemporaryAddressStr(String temporaryAddressStr) { + this.temporaryAddressStr = temporaryAddressStr; + } + + public String getHospitalStr() { + return hospitalStr; + } + + public void setHospitalStr(String hospitalStr) { + this.hospitalStr = hospitalStr; + } + + public String getCreateUserStr() { + return createUserStr; + } + + public void setCreateUserStr(String createUserStr) { + this.createUserStr = createUserStr; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IFormReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IFormReportService.java index f33caa0..22d32c0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IFormReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IFormReportService.java @@ -4,6 +4,7 @@ import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseModel; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.CommonParamRequest; public interface IFormReportService { @@ -42,8 +43,8 @@ public interface IFormReportService { /** * 根据身份证号获取对应的信息 * - * @param idCard + * @param param 检索的条件 * @return */ - BaseResponse getPatientInfoByIdCard(String idCard); + BaseResponse getPatientInfoByIdCard(CommonParamRequest param); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPregnantDeathServer.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPregnantDeathServer.java new file mode 100644 index 0000000..c3e4c8a --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPregnantDeathServer.java @@ -0,0 +1,8 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.operate.web.request.PregnantDeathListRequest; +import com.lyms.platform.operate.web.request.PregnantDeathRequest; + +public interface IPregnantDeathServer extends IFormReportService { + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java index f24c57e..e76225a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java @@ -2,7 +2,6 @@ package com.lyms.platform.operate.web.service.impl; import java.util.Date; import java.util.List; -import java.util.Map; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -17,12 +16,12 @@ import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; -import com.lyms.platform.common.utils.MapUtil; import com.lyms.platform.common.utils.MongoConvertHelper; import com.lyms.platform.common.utils.ReflectionUtils; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.CervicalCancerListRequest; import com.lyms.platform.operate.web.request.CervicalCancerRequest; +import com.lyms.platform.operate.web.request.CommonParamRequest; import com.lyms.platform.operate.web.result.CervicalCancerModelResult; import com.lyms.platform.operate.web.service.CervicalCancerService; import com.lyms.platform.operate.web.utils.CollectionUtils; @@ -140,15 +139,19 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { /** * 根据身份证号获取对应的建档信息 * - * @param idCard + * @param param * @return */ @Override - public BaseResponse getPatientInfoByIdCard(String idCard) { - CervicalCancerModel modelByIdCardNo = mongoTemplate.findOne(Query.query(Criteria.where("idCardNo").is(idCard)), CervicalCancerModel.class); + public BaseResponse getPatientInfoByIdCard(CommonParamRequest param) { + String cardNo = param.getCardNo(); + if (StringUtils.isEmpty(cardNo)) { + return new BaseResponse("参数缺失",ErrorCodeConstants.PARAMETER_ERROR); + } + CervicalCancerModel modelByIdCardNo = mongoTemplate.findOne(Query.query(Criteria.where("idCardNo").is(cardNo)), CervicalCancerModel.class); CervicalCancerModelResult result = new CervicalCancerModelResult(); if (modelByIdCardNo == null) { - List models = mongoTemplate.find(Query.query(Criteria.where("certificateNum").is(idCard)).with(new Sort(Sort.Direction.DESC, "created")), ResidentsArchiveModel.class); + List models = mongoTemplate.find(Query.query(Criteria.where("certificateNum").is(cardNo)).with(new Sort(Sort.Direction.DESC, "created")), ResidentsArchiveModel.class); if (CollectionUtils.isEmpty(models)) { return new BaseResponse("查无数据,请先到妇女建档进行建档操作", ErrorCodeConstants.NO_DATA); } @@ -177,8 +180,8 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { return baseResponse; } - CervicalCancerRequest param = new CervicalCancerRequest(); - param.setId(modelByIdCardNo.getId()); - return detail(param); + CervicalCancerRequest request = new CervicalCancerRequest(); + request.setId(modelByIdCardNo.getId()); + return detail(request); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java index 2f7fbc6..073516c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java @@ -21,6 +21,7 @@ import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.MongoConvertHelper; import com.lyms.platform.common.utils.ReflectionUtils; import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.request.CommonParamRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; import com.lyms.platform.operate.web.result.PreEugenicsBaseListResult; @@ -48,44 +49,54 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen /** * 根据身份证号获取对应的孕前优生信息 * - * @param idCard + * @param param * @return */ @Override - public BaseResponse getPatientInfoByIdCard(String idCard) { - PreEugenicsBaseModel one = mongoTemplate.findOne(Query.query(Criteria.where("husbandCardNo").is(idCard) - .orOperator(Criteria.where("wifeCardNo").is(idCard))), PreEugenicsBaseModel.class); + public BaseResponse getPatientInfoByIdCard(CommonParamRequest param) { + String cardNo = param.getCardNo(); + Query query = new Query(); + if (StringUtils.isNotEmpty(cardNo)) { + query.addCriteria(Criteria.where("husbandCardNo").is(cardNo).orOperator(Criteria.where("wifeCardNo").is(cardNo))); + } + String otherNo = param.getOtherNo(); + if (StringUtils.isNotEmpty(otherNo)) { + query.addCriteria(Criteria.where("husbandNo").is(otherNo).orOperator(Criteria.where("wifeNo").is(otherNo))); + } + PreEugenicsBaseModel one = mongoTemplate.findOne(query, PreEugenicsBaseModel.class); if (one == null) { - ResidentsArchiveModel model = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(idCard)), ResidentsArchiveModel.class); - if (model == null) { - return new BaseResponse(); - } - one = new PreEugenicsBaseModel(); - one.setWifeName(model.getUsername()); - one.setWifeNation(model.getNationId()); - one.setWifeBirthday(model.getBirthday()); - one.setWifeAge(DateUtil.getAge(model.getBirthday()).toString()); - one.setWifeEducational(model.getLevelTypeId()); - one.setWifeCardType(model.getCertificateTypeId()); - one.setWifeCardNo(model.getCertificateNum()); - one.setWifeCareer(model.getProfessionTypeId()); + if (StringUtils.isNotEmpty(cardNo)) { + ResidentsArchiveModel model = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(cardNo)), ResidentsArchiveModel.class); + if (model == null) { + return new BaseResponse(); + } + one = new PreEugenicsBaseModel(); + one.setWifeName(model.getUsername()); + one.setWifeNation(model.getNationId()); + one.setWifeBirthday(model.getBirthday()); + one.setWifeAge(DateUtil.getAge(model.getBirthday()).toString()); + one.setWifeEducational(model.getLevelTypeId()); + one.setWifeCardType(model.getCertificateTypeId()); + one.setWifeCardNo(model.getCertificateNum()); + one.setWifeCareer(model.getProfessionTypeId()); - // 妇女户口地址 - one.setWifeAccountProvince(model.getProvinceRegisterId()); - one.setWifeAccountCity(model.getCityRegisterId()); - one.setWifeAccountArea(model.getAreaRegisterId()); - one.setWifeAccountStreet(model.getStreetRegisterId()); - one.setWifeAccountAddress(model.getStreetRegisterId()); + // 妇女户口地址 + one.setWifeAccountProvince(model.getProvinceRegisterId()); + one.setWifeAccountCity(model.getCityRegisterId()); + one.setWifeAccountArea(model.getAreaRegisterId()); + one.setWifeAccountStreet(model.getStreetRegisterId()); + one.setWifeAccountAddress(model.getStreetRegisterId()); - // 丈夫信息 - one.setHusbandName(model.getSpouseName()); - one.setHusbandPhone(model.getSpousePhone()); - one.setHusbandCardType(model.getSpouseCertTypeId()); - one.setHusbandCardNo(model.getSpouseCardNo()); + // 丈夫信息 + one.setHusbandName(model.getSpouseName()); + one.setHusbandPhone(model.getSpousePhone()); + one.setHusbandCardType(model.getSpouseCertTypeId()); + one.setHusbandCardNo(model.getSpouseCardNo()); - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setObject(one); - return baseResponse; + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(one); + return baseResponse; + } } BaseResponse baseResponse = new BaseResponse(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PregnantDeathServerImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PregnantDeathServerImpl.java new file mode 100644 index 0000000..c77d3b5 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PregnantDeathServerImpl.java @@ -0,0 +1,313 @@ +package com.lyms.platform.operate.web.service.impl; + +import java.util.Date; +import java.util.LinkedList; +import java.util.List; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.MongoConvertHelper; +import com.lyms.platform.common.utils.ReflectionUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.request.CommonParamRequest; +import com.lyms.platform.operate.web.request.PregnantDeathListRequest; +import com.lyms.platform.operate.web.request.PregnantDeathRequest; +import com.lyms.platform.operate.web.result.PregnantDeathModelResult; +import com.lyms.platform.operate.web.service.IPregnantDeathServer; +import com.lyms.platform.operate.web.utils.CollectionUtils; +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.AntExChuModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PersonModel; +import com.lyms.platform.pojo.PregnantDeathModel; + +@Service +public class PregnantDeathServerImpl implements IPregnantDeathServer { + + @Autowired + private MongoTemplate mongoTemplate; + + @Autowired + private BasicConfigService basicConfigService; + + @Autowired + private OrganizationService organizationService; + + @Autowired + private UsersService usersService; + + /** + * 保存单个 + * + * @param param + * @return + */ + @Override + public BaseResponse add(PregnantDeathRequest param) { + param.setCreated(new Date()); + mongoTemplate.insert(param); + return new BaseResponse(); + } + + /** + * 编辑单个 + * + * @param param + * @return + */ + @Override + public BaseResponse edit(PregnantDeathRequest param) { + Query query = Query.query(Criteria.where("id").is(param.getId())); + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); + mongoTemplate.updateFirst(query, update, PregnantDeathModel.class); + return new BaseResponse(); + } + + /** + * 列表 + * + * @param param + * @return + */ + @Override + public BaseListResponse listPage(PregnantDeathListRequest param) { + Query query = new Query(); + // 编号 + String number = param.getNumber(); + if (StringUtils.isNotEmpty(number)) { + query.addCriteria(Criteria.where("number").is(number)); + } + // 姓名 + String name = param.getName(); + if (StringUtils.isNotEmpty(name)) { + query.addCriteria(Criteria.where("name").is(name)); + } + // 手机号 + String phone = param.getPhone(); + if (StringUtils.isNotEmpty(phone)) { + query.addCriteria(Criteria.where("phone").is(phone)); + } + // 孕次 + String yunSize = param.getYunSize(); + if (StringUtils.isNotEmpty(yunSize)) { + query.addCriteria(Criteria.where("yunSize").is(yunSize)); + } + // 产次 + String chanSize = param.getChanSize(); + if (StringUtils.isNotEmpty(chanSize)) { + query.addCriteria(Criteria.where("chanSize").is(chanSize)); + } + // 填写人 + String createUser = param.getCreateUser(); + if (StringUtils.isNotEmpty(createUser)) { + query.addCriteria(Criteria.where("createUser").is(createUser)); + } + // 填写单位 + String hospitalId = param.getHospitalId(); + if (StringUtils.isNotEmpty(hospitalId)) { + query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); + } + // 填写时间 + String startCreated = param.getStartCreated(); + String endCreated = param.getEndCreated(); + if (StringUtils.isNotEmpty(startCreated) && StringUtils.isNotEmpty(endCreated)) { + Date startDate = DateUtil.parseYMD(startCreated); + Date dayFirstSecond = DateUtil.getDayFirstSecond(startDate); + Date endDate = DateUtil.parseYMD(endCreated); + Date dayLastSecond = DateUtil.getDayLastSecond(endDate); + query.addCriteria(Criteria.where("created").gte(dayFirstSecond).lte(dayLastSecond)); + } + + // 居住地址 + String resideProvince = param.getResideProvince(); + if (StringUtils.isNotEmpty(resideProvince)) { + query.addCriteria(Criteria.where("resideProvince").is(resideProvince)); + String resideCity = param.getResideCity(); + if (StringUtils.isNotEmpty(resideCity)) { + query.addCriteria(Criteria.where("resideCity").is(resideCity)); + String resideArea = param.getResideArea(); + if (StringUtils.isNotEmpty(resideArea)) { + query.addCriteria(Criteria.where("resideArea").is(resideArea)); + } + } + } + + // 暂住地址 + String temporaryProvince = param.getTemporaryProvince(); + if (StringUtils.isNotEmpty(temporaryProvince)) { + query.addCriteria(Criteria.where("temporaryProvince").is(temporaryProvince)); + String temporaryCity = param.getTemporaryCity(); + if (StringUtils.isNotEmpty(temporaryCity)) { + query.addCriteria(Criteria.where("temporaryCity").is(temporaryCity)); + String temporaryArea = param.getTemporaryArea(); + if (StringUtils.isNotEmpty(temporaryArea)) { + query.addCriteria(Criteria.where("temporaryArea").is(temporaryArea)); + String temporaryStreet = param.getTemporaryStreet(); + if (StringUtils.isNotEmpty(temporaryStreet)) { + query.addCriteria(Criteria.where("temporaryStreet").is(temporaryStreet)); + } + } + } + } + + query.with(new Sort(Sort.Direction.DESC, "created")); + long count = mongoTemplate.count(query, PregnantDeathModel.class); + param.mysqlBuild((int) count); + query.skip(param.getOffset()).limit(param.getLimit()); + List results = new LinkedList<>(); + List models = mongoTemplate.find(query, PregnantDeathModel.class); + for (PregnantDeathModel model : models) { + PregnantDeathModelResult result = new PregnantDeathModelResult(); + getOtherStr(result, model); + results.add(result); + } + + BaseListResponse baseListResponse = new BaseListResponse(); + baseListResponse.setData(results); + baseListResponse.setPageInfo(param.getPageInfo()); + return baseListResponse; + } + + /** + * 单个查询 + * + * @param param + * @return + */ + @Override + public BaseResponse detail(PregnantDeathRequest param) { + String id = param.getId(); + if (StringUtils.isEmpty(id)) { + return new BaseResponse(); + } + PregnantDeathModelResult result = new PregnantDeathModelResult(); + PregnantDeathModel model = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), PregnantDeathModel.class); + if (model != null) { + getOtherStr(result, model); + } + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(result); + return baseResponse; + } + + private void getOtherStr(PregnantDeathModelResult result, PregnantDeathModel model) { + BeanUtils.copyProperties(model, result); + result.setResideAddressStr(CommonsHelper.getResidence( + result.getResideProvince(), + result.getResideCity(), + result.getResideArea(), + result.getResideStreet(), + result.getResideAddress(), + basicConfigService)); + result.setTemporaryAddressStr(CommonsHelper.getResidence( + result.getTemporaryProvince(), + result.getTemporaryCity(), + result.getTemporaryArea(), + result.getTemporaryStreet(), + result.getTemporaryAddress(), + basicConfigService + )); + String createUser = result.getCreateUser(); + if (StringUtils.isNotEmpty(createUser)) { + Users users = usersService.getUsers(Integer.parseInt(createUser)); + if (users != null) { + result.setCreateUserStr(users.getName()); + } + } + String hospitalId = result.getHospitalId(); + if (StringUtils.isNotEmpty(hospitalId)) { + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + if (organization != null) { + result.setHospitalStr(organization.getName()); + } + } + } + + /** + * 根据身份证号获取对应的信息 + * + * @param param + * @return + */ + @Override + public BaseResponse getPatientInfoByIdCard(CommonParamRequest param) { + String cardNo = param.getCardNo(); + Query query = new Query(); + if (StringUtils.isNotEmpty(cardNo)) { + query.addCriteria(Criteria.where("certificateNum").is(cardNo)); + } + String otherNo = param.getOtherNo(); + if (StringUtils.isNotEmpty(otherNo)) { + query.addCriteria(Criteria.where("number").is(otherNo)); + } + PregnantDeathModel model = mongoTemplate.findOne(query.with(new Sort(Sort.Direction.DESC, "created")), PregnantDeathModel.class); + PregnantDeathModelResult result = new PregnantDeathModelResult(); + if (model != null) { + getOtherStr(result, model); + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(result); + return baseResponse; + } + + if (StringUtils.isNotEmpty(cardNo)) { + PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(cardNo)), PersonModel.class); + if (personModel != null) { + List patients = mongoTemplate.find(Query.query(Criteria.where("pid").is(personModel.getId())).with(new Sort(Sort.Direction.DESC, "created")), Patients.class); + if (CollectionUtils.isNotEmpty(patients)) { + Patients patient = patients.get(0); + result.setName(personModel.getName()); + result.setPhone(personModel.getPhone()); + result.setLastMenstruation(patient.getLastMenses()); + result.setResideProvince(patient.getProvincePostRestId()); + result.setResideCity(patient.getCityPostRestId()); + result.setResideArea(patient.getAreaRegisterId()); + result.setResideStreet(patient.getStreetRegisterId()); + result.setResideAddress(patient.getAddressRegister()); + result.setResideAddressStr( CommonsHelper.getResidence( + patient.getProvinceRegisterId(), + patient.getCityRegisterId(), + patient.getAreaRegisterId(), + patient.getStreetRegisterId(), + patient.getAddressRegister(), + basicConfigService)); + AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(patient.getId())), AntExChuModel.class); + if (antExChuModel != null) { + // 产次 + Integer prodTime = antExChuModel.getProdTime(); + if (prodTime != null) { + result.setChanSize(prodTime.toString()); + } + // 孕次 + Integer pregnancyTimes = antExChuModel.getPregnancyTimes(); + if (pregnancyTimes != null) { + result.setYunSize(pregnancyTimes.toString()); + } + } + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(result); + return baseResponse; + } + } + } + + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(result); + return baseResponse; + } +}