Commit f12918a9a225b2b4aa2ed8bcfcc81a2af15b091d

Authored by dongqin
1 parent 4a56d6e547

孕前优生模块初始化

Showing 6 changed files with 475 additions and 34 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java View file @ f12918a
... ... @@ -7,9 +7,10 @@
7 7 import org.springframework.data.mongodb.core.mapping.Document;
8 8  
9 9 import java.util.Date;
  10 +import java.util.Map;
10 11  
11 12 /**
12   - * 孕前优生基础信息 实体类
  13 + * 孕前优生信息 实体类
13 14 *
14 15 * @author: shuai-Bo
15 16 * @Date: 2019/11/20 0020
16 17  
17 18  
18 19  
19 20  
20 21  
21 22  
22 23  
23 24  
24 25  
25 26  
26 27  
27 28  
28 29  
29 30  
30 31  
31 32  
32 33  
33 34  
34 35  
35 36  
36 37  
37 38  
38 39  
39 40  
40 41  
41 42  
42 43  
43 44  
44 45  
... ... @@ -18,110 +19,208 @@
18 19 @Document(collection = "lyms_preeugenics_base")
19 20 @Data
20 21 public class PreEugenicsBaseModel extends BaseModel {
21   - //id
  22 +
  23 + /**
  24 + * id
  25 + */
22 26 private String id;
  27 +
  28 + /**
  29 + * 医院id
  30 + */
  31 + private String hospitalId;
  32 +
  33 + /**
  34 + * 创建人id
  35 + */
  36 + private String createUser;
  37 +
  38 + /**
  39 + * 更新时间
  40 + */
  41 + private Date updateTime;
  42 +
  43 + /**
  44 + * 创建时间
  45 + */
  46 + private Date created;
  47 +
23 48 /******************丈夫信息****************************/
24   - //丈夫姓名
  49 +
  50 + /**
  51 + * 丈夫编号
  52 + */
  53 + private String husbandNo;
  54 +
  55 + /**
  56 + * 丈夫姓名
  57 + */
25 58 private String husbandName;
26   - //民族
  59 +
  60 + /**
  61 + * 丈夫民族id
  62 + */
27 63 private String husbandNation;
28 64  
29 65 /**
30   - * 出生日期
  66 + * 丈夫出生日期
31 67 */
32 68 @JsonFormat(pattern = DateUtil.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
33 69 private Date husbandBirthday;
34 70  
35   - //年龄
  71 + /**
  72 + * 丈夫年龄
  73 + */
36 74 private String husbandAge;
37 75  
38   - //文化程度
  76 + /**
  77 + * 丈夫文化程度id
  78 + */
39 79 private String husbandEducational;
40 80  
41   - //身份证号码
  81 + /**
  82 + * 丈夫证件类型
  83 + */
  84 + private String husbandCardType;
  85 +
  86 + /**
  87 + * 丈夫身份证号码
  88 + */
42 89 private String husbandCardNo;
43 90  
44 91 /**
45   - * 职业 : 1农民 2工人 3服务业 4经商 5家务 6教师/公务员/职员 7其他
  92 + * 丈夫职业 : 1农民 2工人 3服务业 4经商 5家务 6教师/公务员/职员 7其他
46 93 */
47 94 private String husbandCareer;
48 95  
49 96 /**
50   - * 户口所在地 省
  97 + * 丈夫户口所在地 省
51 98 */
52 99 private String husbandAccountProvince;
53 100  
54 101 /**
55   - * 户口所在地 市
  102 + * 丈夫户口所在地 市
56 103 */
57 104 private String husbandAccountCity;
58 105  
59 106 /**
60   - * 户口所在地 县
  107 + * 丈夫户口所在地 县
61 108 */
62 109 private String husbandAccountCounty;
63 110  
64 111 /**
65   - * 户口所在地 详细地址
  112 + * 丈夫户口所在地 详细地址
66 113 */
67 114 private String husbandAccountAddress;
68 115  
69 116 /**
70   - * 户口性质:
  117 + * 丈夫现住址 省
  118 + */
  119 + private String husbandCurrentProvince;
  120 +
  121 + /**
  122 + * 丈夫现住址 市
  123 + */
  124 + private String husbandCurrentCity;
  125 +
  126 + /**
  127 + * 丈夫现住址 县
  128 + */
  129 + private String husbandCurrentArea;
  130 +
  131 + /**
  132 + * 丈夫现住址 街道
  133 + */
  134 + private String husbandCurrentStreet;
  135 +
  136 + /**
  137 + * 丈夫现住址 详细地址
  138 + */
  139 + private String husbandCurrentAddress;
  140 +
  141 + /**
  142 + * 丈夫户口性质:
71 143 * 1农业户口 (含界定为农村居民者) 2.非农业
72 144 */
73 145 private String husbandAccountNature;
74 146  
75   - /******************妻子信息**********************/
76 147 /**
  148 + * 丈夫邮政编码
  149 + */
  150 + private String husbandZipCode;
  151 +
  152 + /**
  153 + * 妻子编号
  154 + */
  155 + private String wifeNo;
  156 +
  157 + /**
77 158 * 妻子姓名
78 159 */
79 160 private String wifeName;
80 161  
81   - //民族
  162 + /**
  163 + * 妻子民族id
  164 + */
82 165 private String wifeNation;
  166 +
83 167 /**
84   - * 出生日期
  168 + * 妻子出生日期
85 169 */
86 170 @JsonFormat(pattern = DateUtil.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
87 171 private Date wifeBirthday;
88 172  
89   - //年龄
  173 + /**
  174 + * 妻子年龄
  175 + */
90 176 private String wifeAge;
91 177  
92   - //文化程度
  178 + /**
  179 + * 妻子文化程度id
  180 + */
93 181 private String wifeEducational;
94 182  
95   - //身份证号码
  183 + /**
  184 + * 妻子身份证号码类型
  185 + */
  186 + private String wifeCardType;
  187 +
  188 + /**
  189 + * 妻子身份证号码
  190 + */
96 191 private String wifeCardNo;
97 192  
98 193 /**
99   - * 职业 : 1农民 2工人 3服务业 4经商 5家务 6教师/公务员/职员 7其他
  194 + * 妻子职业 : 1农民 2工人 3服务业 4经商 5家务 6教师/公务员/职员 7其他
100 195 */
101 196 private String wifeCareer;
102 197  
103 198 /**
104   - * 户口所在地 省
  199 + * 妻子户口所在地 省
105 200 */
106 201 private String wifeAccountProvince;
107 202  
108 203 /**
109   - * 户口所在地 市
  204 + * 妻子户口所在地 市
110 205 */
111 206 private String wifeAccountCity;
112 207  
113 208 /**
114   - * 户口所在地 县
  209 + * 妻子户口所在地 县
115 210 */
116   - private String wifeAccountCounty;
  211 + private String wifeAccountArea;
117 212  
118 213 /**
119   - * 户口所在地 详细地址
  214 + * 妻子户口所在地 街道
120 215 */
  216 + private String wifeAccountStreet;
  217 + /**
  218 + * 妻子户口所在地 详细地址
  219 + */
121 220 private String wifeAccountAddress;
122 221  
123 222 /**
124   - * 户口性质:
  223 + * 妻子户口性质:
125 224 * 1农业户口 (含界定为农村居民者) 2.非农业
126 225 */
127 226 private String wifeAccountNature;
128 227  
129 228  
130 229  
131 230  
132 231  
... ... @@ -139,25 +238,50 @@
139 238 /**
140 239 * 妻子现住地址 县
141 240 */
142   - private String wifeCurrentCounty;
  241 + private String wifeCurrentArea;
143 242  
144 243 /**
  244 + * 妻子现住地址 街道
  245 + */
  246 + private String wifeCurrentStreet;
  247 +
  248 + /**
145 249 * 妻子现住地址 详细地址
146 250 */
147 251 private String wifeCurrentAddress;
148 252  
149 253 /**
  254 + * 妻子:邮编
  255 + */
  256 + private String wifeZipCode;
  257 +
  258 + /**
  259 + * 1/女方签署 2/男方签署 3/双方签署
  260 + */
  261 + private String hasSignBook;
  262 +
  263 + /**
150 264 * 结婚时间
151 265 */
152 266 @JsonFormat(pattern = DateUtil.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
153 267 private Date marriageTime;
154 268  
155 269 /**
156   - * 联系电话
  270 + * 妻子联系电话
157 271 */
158   - private String phone;
  272 + private String wifePhone;
159 273  
160 274 /**
  275 + * 丈夫联系电话
  276 + */
  277 + private String husbandPhone;
  278 +
  279 + /**
  280 + * 座机号
  281 + */
  282 + private String fixedLineTelephone;
  283 +
  284 + /**
161 285 * 填写日期
162 286 */
163 287 @JsonFormat(pattern = DateUtil.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
... ... @@ -168,5 +292,54 @@
168 292 */
169 293 private String doctor;
170 294  
  295 + /**
  296 + * 妻子一般情况
  297 + */
  298 + private Map<String, Object> wifeBaseInfo;
  299 +
  300 + /**
  301 + * 妻子体格检查
  302 + */
  303 + private Map<String, Object> wifePhysiqueCheck;
  304 +
  305 + /**
  306 + * 妻子临床检查
  307 + */
  308 + private Map<String, Object> wifeClinicalCheck;
  309 +
  310 + /**
  311 + * 妻子B超检查
  312 + */
  313 + private Map<String, Object> wifeBCheck;
  314 +
  315 + /**
  316 + * 妻子其他检查
  317 + */
  318 + private Map<String, Object> wifeOtherCheck;
  319 +
  320 + /**
  321 + * 丈夫一般情况
  322 + */
  323 + private Map<String, Object> husbandBaseInfo;
  324 +
  325 + /**
  326 + * 丈夫体格检查
  327 + */
  328 + private Map<String, Object> husbandPhysiqueCheck;
  329 +
  330 + /**
  331 + * 丈夫临床检查
  332 + */
  333 + private Map<String, Object> husbandClinicalCheck;
  334 +
  335 + /**
  336 + * 丈夫其他检查
  337 + */
  338 + private Map<String, Object> husbandOtherCheck;
  339 +
  340 + /**
  341 + * 孕前优生检查结果与建议
  342 + */
  343 + private Map<String, Object> resultAdvice;
171 344 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java View file @ f12918a
1 1 package com.lyms.platform.operate.web.controller;
2 2  
3   -import com.lyms.platform.common.base.BaseController;
4   -import com.lyms.platform.common.result.BaseResponse;
5   -import com.lyms.platform.operate.web.service.IPreEugenicsService;
  3 +import javax.servlet.http.HttpServletRequest;
  4 +
6 5 import org.springframework.beans.factory.annotation.Autowired;
7 6 import org.springframework.stereotype.Controller;
  7 +import org.springframework.web.bind.annotation.RequestBody;
8 8 import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
9 10 import org.springframework.web.bind.annotation.RequestParam;
10 11 import org.springframework.web.bind.annotation.ResponseBody;
11 12  
12   -import javax.servlet.http.HttpServletRequest;
  13 +import com.fasterxml.jackson.annotation.JsonAlias;
  14 +import com.lyms.platform.common.annotation.TokenRequired;
  15 +import com.lyms.platform.common.base.BaseController;
  16 +import com.lyms.platform.common.result.BaseListResponse;
  17 +import com.lyms.platform.common.result.BaseResponse;
  18 +import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
  19 +import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
  20 +import com.lyms.platform.operate.web.service.IPreEugenicsService;
13 21  
14 22 /**
15 23 * @author: shuai-Bo
16 24  
17 25  
... ... @@ -17,9 +25,82 @@
17 25 * @Time: 11:06
18 26 */
19 27 @Controller
  28 +@RequestMapping("/preEugenicsBase")
20 29 public class PreEugenicsBaseController extends BaseController {
  30 +
21 31 @Autowired
22 32 private IPreEugenicsService iPreEugenicsService;
  33 +
  34 + /**
  35 + *
  36 + * 根据身份证号获取对应的孕前优生信息
  37 + *
  38 + * @param idCard
  39 + * @return
  40 + */
  41 + @RequestMapping(method = RequestMethod.GET, value = "/getInfoByIdCard")
  42 + @ResponseBody
  43 + @TokenRequired
  44 + public BaseResponse getPatientInfoByIdCard(@RequestParam String idCard) {
  45 + return iPreEugenicsService.getPatientInfoByIdCard(idCard);
  46 + }
  47 +
  48 + /**
  49 + * 保存单个
  50 + *
  51 + * @param param
  52 + * @return
  53 + */
  54 + @RequestMapping(method = RequestMethod.POST, value = "/add")
  55 + @ResponseBody
  56 + @TokenRequired
  57 + public BaseResponse add( @RequestBody PreEugenicsBaseRequest param, HttpServletRequest request) {
  58 + Integer userId = getUserId(request);
  59 + param.setCreateUser(userId.toString());
  60 + return iPreEugenicsService.add(param);
  61 + }
  62 +
  63 + /**
  64 + * 编辑单个
  65 + *
  66 + * @param param
  67 + * @return
  68 + */
  69 + @RequestMapping(method = RequestMethod.POST, value = "/edit")
  70 + @ResponseBody
  71 + @TokenRequired
  72 + public BaseResponse edit( @RequestBody PreEugenicsBaseRequest param, HttpServletRequest request) {
  73 + Integer userId = getUserId(request);
  74 + param.setCreateUser(userId.toString());
  75 + return iPreEugenicsService.edit(param);
  76 + }
  77 +
  78 + /**
  79 + * 列表
  80 + *
  81 + * @param param
  82 + * @return
  83 + */
  84 + @RequestMapping(method = RequestMethod.GET, value = "/listPage")
  85 + @ResponseBody
  86 + @TokenRequired
  87 + public BaseListResponse listPage(@JsonAlias PreEugenicsBaseListRequest param) {
  88 + return iPreEugenicsService.listPage(param);
  89 + }
  90 +
  91 + /**
  92 + * 单个查询
  93 + *
  94 + * @param param
  95 + * @return
  96 + */
  97 + @RequestMapping(method = RequestMethod.GET, value = "/detail")
  98 + @ResponseBody
  99 + @TokenRequired
  100 + public BaseResponse detail( @JsonAlias PreEugenicsBaseRequest param) {
  101 + return iPreEugenicsService.detail(param);
  102 + }
  103 +
23 104  
24 105 @RequestMapping(value = "getPreEugenicsBase")
25 106 @ResponseBody
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PreEugenicsBaseListRequest.java View file @ f12918a
  1 +package com.lyms.platform.operate.web.request;
  2 +
  3 +import com.lyms.platform.common.dao.BaseQuery;
  4 +
  5 +/**
  6 + * @author dongqin
  7 + * @description
  8 + * @date 15:38 2019/11/26
  9 + **/
  10 +public class PreEugenicsBaseListRequest extends BaseQuery {
  11 +
  12 + /**
  13 + * 身份证
  14 + */
  15 + private String idCardNo;
  16 +
  17 + public String getIdCardNo() {
  18 + return idCardNo;
  19 + }
  20 +
  21 + public void setIdCardNo(String idCardNo) {
  22 + this.idCardNo = idCardNo;
  23 + }
  24 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PreEugenicsBaseRequest.java View file @ f12918a
  1 +package com.lyms.platform.operate.web.request;
  2 +
  3 +import com.lyms.platform.pojo.PreEugenicsBaseModel;
  4 +
  5 +/**
  6 + * @author dongqin
  7 + * @description
  8 + * @date 15:28 2019/11/26
  9 + **/
  10 +public class PreEugenicsBaseRequest extends PreEugenicsBaseModel {
  11 +
  12 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java View file @ f12918a
1 1 package com.lyms.platform.operate.web.service;
2 2  
  3 +import com.lyms.platform.common.result.BaseListResponse;
3 4 import com.lyms.platform.common.result.BaseResponse;
  5 +import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
  6 +import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
4 7  
5 8 public interface IPreEugenicsService extends IBaseService {
6 9 /**
... ... @@ -12,5 +15,44 @@
12 15 */
13 16 BaseResponse getPreEugenicsBaseInfo(String cardNo, String vcCardNo, Integer userId);
14 17  
  18 + /**
  19 + * 根据身份证号获取对应的孕前优生信息
  20 + *
  21 + * @param idCard
  22 + * @return
  23 + */
  24 + BaseResponse getPatientInfoByIdCard(String idCard);
  25 +
  26 + /**
  27 + * 保存单个
  28 + *
  29 + * @param param
  30 + * @return
  31 + */
  32 + BaseResponse add(PreEugenicsBaseRequest param);
  33 +
  34 + /**
  35 + * 编辑单个
  36 + *
  37 + * @param param
  38 + * @return
  39 + */
  40 + BaseResponse edit(PreEugenicsBaseRequest param);
  41 +
  42 + /**
  43 + * 列表
  44 + *
  45 + * @param param
  46 + * @return
  47 + */
  48 + BaseListResponse listPage(PreEugenicsBaseListRequest param);
  49 +
  50 + /**
  51 + * 单个查询
  52 + *
  53 + * @param param
  54 + * @return
  55 + */
  56 + BaseResponse detail(PreEugenicsBaseRequest param);
15 57 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java View file @ f12918a
1 1 package com.lyms.platform.operate.web.service.impl;
2 2  
  3 +import com.lyms.platform.biz.service.BasicConfigService;
  4 +import com.lyms.platform.common.result.BaseListResponse;
3 5 import com.lyms.platform.common.result.BaseResponse;
  6 +import com.lyms.platform.common.utils.DateUtil;
  7 +import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
  8 +import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
4 9 import com.lyms.platform.operate.web.service.IPreEugenicsService;
  10 +import com.lyms.platform.pojo.PreEugenicsBaseModel;
  11 +import com.lyms.platform.pojo.ResidentsArchiveModel;
  12 +
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.data.mongodb.core.MongoTemplate;
  15 +import org.springframework.data.mongodb.core.query.Criteria;
  16 +import org.springframework.data.mongodb.core.query.Query;
5 17 import org.springframework.stereotype.Service;
6 18  
7 19 /**
8 20  
... ... @@ -14,9 +26,106 @@
14 26 @Service
15 27 public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugenicsService {
16 28  
  29 + @Autowired
  30 + private MongoTemplate mongoTemplate;
  31 +
  32 + @Autowired
  33 + private BasicConfigService basicConfigService;
17 34  
18 35 @Override
19 36 public BaseResponse getPreEugenicsBaseInfo(String cardNo, String vcCardNo, Integer userId) {
  37 + return null;
  38 + }
  39 +
  40 + /**
  41 + * 根据身份证号获取对应的孕前优生信息
  42 + *
  43 + * @param idCard
  44 + * @return
  45 + */
  46 + @Override
  47 + public BaseResponse getPatientInfoByIdCard(String idCard) {
  48 + PreEugenicsBaseModel one = mongoTemplate.findOne(Query.query(Criteria.where("husbandCardNo").is(idCard)
  49 + .orOperator(Criteria.where("wifeCardNo").is(idCard))), PreEugenicsBaseModel.class);
  50 + if (one == null) {
  51 + ResidentsArchiveModel model = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(idCard)), ResidentsArchiveModel.class);
  52 + if (model == null) {
  53 + return new BaseResponse();
  54 + }
  55 + one = new PreEugenicsBaseModel();
  56 + one.setWifeName(model.getUsername());
  57 + one.setWifeNation(model.getNationId());
  58 + one.setWifeBirthday(model.getBirthday());
  59 + one.setWifeAge(DateUtil.getAge(model.getBirthday()).toString());
  60 + one.setWifeEducational(model.getLevelTypeId());
  61 + one.setWifeCardType(model.getCertificateTypeId());
  62 + one.setWifeCardNo(model.getCertificateNum());
  63 + one.setWifeCareer(model.getProfessionTypeId());
  64 +
  65 + // 妇女户口地址
  66 + one.setWifeAccountProvince(model.getProvinceRegisterId());
  67 + one.setWifeAccountCity(model.getCityRegisterId());
  68 + one.setWifeAccountArea(model.getAreaRegisterId());
  69 + one.setWifeAccountStreet(model.getStreetRegisterId());
  70 + one.setWifeAccountAddress(model.getStreetRegisterId());
  71 +
  72 + // 丈夫信息
  73 + one.setHusbandName(model.getSpouseName());
  74 + one.setHusbandPhone(model.getSpousePhone());
  75 + one.setHusbandCardType(model.getSpouseCertTypeId());
  76 + one.setHusbandCardNo(model.getSpouseCardNo());
  77 +
  78 + BaseResponse baseResponse = new BaseResponse();
  79 + baseResponse.setObject(one);
  80 + return baseResponse;
  81 + }
  82 +
  83 + BaseResponse baseResponse = new BaseResponse();
  84 + baseResponse.setObject(one);
  85 + return baseResponse;
  86 + }
  87 +
  88 + /**
  89 + * 保存单个
  90 + *
  91 + * @param param
  92 + * @return
  93 + */
  94 + @Override
  95 + public BaseResponse add(PreEugenicsBaseRequest param) {
  96 + return null;
  97 + }
  98 +
  99 + /**
  100 + * 编辑单个
  101 + *
  102 + * @param param
  103 + * @return
  104 + */
  105 + @Override
  106 + public BaseResponse edit(PreEugenicsBaseRequest param) {
  107 + return null;
  108 + }
  109 +
  110 + /**
  111 + * 列表
  112 + *
  113 + * @param param
  114 + * @return
  115 + */
  116 + @Override
  117 + public BaseListResponse listPage(PreEugenicsBaseListRequest param) {
  118 + return null;
  119 + }
  120 +
  121 + /**
  122 + * 单个查询
  123 + *
  124 + * @param param
  125 + * @return
  126 + */
  127 + @Override
  128 + public BaseResponse detail(PreEugenicsBaseRequest param) {
20 129 return null;
21 130 }
22 131 }