Commit fb97418c0555ee810129627e54eb59f9dd37f0b8

Authored by wtt
1 parent 89d009e300

乳腺健康管理能否搬到妇女管理

Showing 8 changed files with 339 additions and 10 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/BreastModel.java View file @ fb97418
... ... @@ -21,6 +21,8 @@
21 21 private String id;
22 22 private Integer yn;
23 23 private String pid;
  24 + //居民健康档案(妇女健康 )模型 id
  25 + private String rid;
24 26 private Date createDate;
25 27 private Date modifyDate;
26 28 private String hospitalId;
... ... @@ -87,6 +89,14 @@
87 89  
88 90 public String getPid() {
89 91 return pid;
  92 + }
  93 +
  94 + public String getRid() {
  95 + return rid;
  96 + }
  97 +
  98 + public void setRid(String rid) {
  99 + this.rid = rid;
90 100 }
91 101  
92 102 public void setPid(String pid) {
platform-dal/src/main/java/com/lyms/platform/query/BreastModelQuery.java View file @ fb97418
... ... @@ -23,6 +23,10 @@
23 23 private Integer yn;
24 24 //儿童建档ID
25 25 private String pid;
  26 + private boolean pidNull;
  27 + //居民健康档案(妇女健康 )模型 id
  28 + private String rid;
  29 + private boolean ridNull;
26 30 private String hospitalId;
27 31  
28 32 // 检查日期
... ... @@ -54,6 +58,22 @@
54 58 return yn;
55 59 }
56 60  
  61 + public String getRid() {
  62 + return rid;
  63 + }
  64 +
  65 + public void setRid(String rid) {
  66 + this.rid = rid;
  67 + }
  68 +
  69 + public boolean isPidNull() {
  70 + return pidNull;
  71 + }
  72 +
  73 + public void setPidNull(boolean pidNull) {
  74 + this.pidNull = pidNull;
  75 + }
  76 +
57 77 public void setYn(Integer yn) {
58 78 this.yn = yn;
59 79 }
... ... @@ -66,6 +86,14 @@
66 86 this.pid = pid;
67 87 }
68 88  
  89 + public boolean isRidNull() {
  90 + return ridNull;
  91 + }
  92 +
  93 + public void setRidNull(boolean ridNull) {
  94 + this.ridNull = ridNull;
  95 + }
  96 +
69 97 public String getHospitalId() {
70 98 return hospitalId;
71 99 }
... ... @@ -154,6 +182,17 @@
154 182  
155 183 condition = condition.and("pid", pid, MongoOper.IS);
156 184 }
  185 + if (pidNull) {
  186 + condition = condition.and("pid", null, MongoOper.IS);
  187 + }
  188 +
  189 + if (StringUtils.isNotEmpty(rid)) {
  190 + condition = condition.and("rid", rid, MongoOper.IS);
  191 + }
  192 + if (ridNull) {
  193 + condition = condition.and("rid", null, MongoOper.IS);
  194 + }
  195 +
157 196 if (StringUtils.isNotEmpty(hospitalId)) {
158 197  
159 198 condition = condition.and("hospitalId", hospitalId, MongoOper.IS);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BreastController.java View file @ fb97418
... ... @@ -64,6 +64,26 @@
64 64 BaseResponse baseResponse = breastFacade.add(request, loginState.getId());
65 65 return baseResponse;
66 66 }
  67 + /**
  68 + * 乳腺检查 控制 添加或者修改
  69 + * 20201215 使用妇女建档 ,不在使用孕妇建档
  70 + * @param request
  71 + * @return
  72 + */
  73 + @RequestMapping(method = RequestMethod.POST, value = "/addOrUpNew")
  74 + @ResponseBody
  75 + @TokenRequired
  76 + public BaseResponse addOrUpNew(@Valid @RequestBody BreastRequest request, HttpServletRequest httpServletRequest) {
  77 + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext");
  78 + //更新
  79 + if (request != null && !StringUtils.isEmpty(request.getId())) {
  80 + BaseResponse baseResponse = breastFacade.update(request, loginState.getId());
  81 + return baseResponse;
  82 + }
  83 + //添加
  84 + BaseResponse baseResponse = breastFacade.addNew(request, loginState.getId());
  85 + return baseResponse;
  86 + }
67 87  
68 88 /**
69 89 * 删除
... ... @@ -118,6 +138,18 @@
118 138 }
119 139  
120 140 /**
  141 + * 查询单人所有记录,冗余的是妇女档案
  142 + * buildId
  143 + * @param
  144 + */
  145 + @RequestMapping(value = "/queryOneNew", method = RequestMethod.GET)
  146 + @ResponseBody
  147 + @TokenRequired
  148 + public BaseResponse queryOneNew(BreastModelQuery breastModelQuery, HttpServletRequest request) {
  149 + return breastFacade.queryOneNew(breastModelQuery,getUserId(request));
  150 + }
  151 +
  152 + /**
121 153 * 管理列表
122 154 *
123 155 * @param
... ... @@ -128,7 +160,12 @@
128 160 public BaseResponse queryAll(BreastModelQuery breastModelQuery, HttpServletRequest request) {
129 161 return breastFacade.queryAll(breastModelQuery,getUserId(request));
130 162 }
131   -
  163 + @RequestMapping(value = "/queryAllNew", method = RequestMethod.GET)
  164 + @ResponseBody
  165 + @TokenRequired
  166 + public BaseResponse queryAllNew(BreastModelQuery breastModelQuery, HttpServletRequest request) {
  167 + return breastFacade.queryAllNew(breastModelQuery,getUserId(request));
  168 + }
132 169  
133 170  
134 171 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java View file @ fb97418
... ... @@ -57,7 +57,31 @@
57 57 param.setCardNo(cardNo);
58 58 return residentsArchiveFacade.queryResidentsArchive(param , loginState.getId());
59 59 }
60   -
  60 + /**
  61 + * 查询居民基本信息
  62 + * 查询居民健康记录,获取基础数据
  63 + *
  64 + * @param vcCardNo 身份证号
  65 + * @param cardNo 就诊卡号
  66 + * @param request
  67 + * @return
  68 + */
  69 + @RequestMapping(value = "/queryResidentsArchiveNewZufy", method = RequestMethod.GET)
  70 + @ResponseBody
  71 + @TokenRequired
  72 + public BaseResponse queryResidentsArchiveNewZufy(@RequestParam(value = "vcCardNo",required = false) String vcCardNo,
  73 + @RequestParam(value = "cardNo",required = false) String cardNo,
  74 + @RequestParam(value = "certificateTypeId",required = false)String certificateTypeId,
  75 + HttpServletRequest request) {
  76 + //获取当前登录用户ID
  77 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  78 + //请求数据
  79 + ResidentsArchiveQueryRequest param = new ResidentsArchiveQueryRequest();
  80 + param.setVcCardNo(vcCardNo);
  81 + param.setCertificateTypeId(certificateTypeId);
  82 + param.setCardNo(cardNo);
  83 + return residentsArchiveFacade.queryResidentsArchiveNewZufy(param , loginState.getId());
  84 + }
61 85 /**
62 86 * 通过证件号,就诊卡号查询居民建档信息,优先返回本院
63 87 * @param vcCardNo
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BreastFacade.java View file @ fb97418
1 1 package com.lyms.platform.operate.web.facade;
2 2  
3   -import com.lyms.platform.biz.service.BabyBookbuildingService;
4   -import com.lyms.platform.biz.service.BasicConfigService;
5   -import com.lyms.platform.biz.service.BreastService;
6   -import com.lyms.platform.biz.service.PatientsService;
  3 +import com.lyms.platform.biz.service.*;
7 4 import com.lyms.platform.common.constants.ErrorCodeConstants;
8 5 import com.lyms.platform.common.enums.OptActionEnums;
9 6 import com.lyms.platform.common.enums.YnEnums;
10 7  
... ... @@ -49,8 +46,9 @@
49 46 private BabyBookbuildingService babyBookbuildingService;
50 47 @Autowired
51 48 private AutoMatchFacade autoMatchFacade;
52   -
53 49 @Autowired
  50 + ResidentsArchiveService residentsArchiveService;
  51 + @Autowired
54 52 private OperateLogFacade operateLogFacade;
55 53 @Autowired
56 54 private OrganizationService organizationService;
... ... @@ -105,6 +103,37 @@
105 103  
106 104 return model;
107 105 }
  106 + private BreastModel getBreastModelNew(BreastRequest request) {
  107 + BreastModel model = new BreastModel();
  108 + model.setYn(YnEnums.YES.getId());
  109 + ResidentsArchiveModel resident = residentsArchiveService.getResident(request.getRid());
  110 +
  111 + if (resident != null) {
  112 + model.setRid(resident.getId());
  113 + model.setModifyDate(new Date());
  114 + model.setName(resident.getUsername());
  115 + model.setAge(resident.getAge() == null ? "" : resident.getAge().toString());
  116 + model.setCertNo(resident.getCertificateNum());
  117 + model.setPhone(resident.getPhone());
  118 + model.setVcCardNo(resident.getVcCardNo());
  119 + //createDate,hospitalId调用外添加赋值
  120 + }
  121 + model.setInspectionPhase(request.getInspectionPhase());
  122 + model.setCheckDate(DateUtil.parseYMD(request.getCheckDate()));
  123 + model.setCheckDoctor(request.getCheckDoctor());
  124 + model.setZdyj(request.getZdyj());
  125 + model.setNextDate(DateUtil.parseYMD(request.getNextDate()));
  126 + model.setRfsz(request.getRfsz());
  127 + model.setSzzl(request.getSzzl());
  128 + model.setZywf(request.getZywf());
  129 + model.setZymrg(request.getZymrg());
  130 + model.setRxcc(request.getRxcc());
  131 + model.setXcg(request.getXcg());
  132 + model.setCrpjc(request.getCrpjc());
  133 + model.setWyzd(request.getWyzd());
  134 +
  135 + return model;
  136 + }
108 137 /**
109 138 * 获取孕妇建档不区分产妇孕妇
110 139 */
111 140  
112 141  
... ... @@ -155,8 +184,29 @@
155 184 br.setData(model.getId());
156 185 return br;
157 186 }
  187 + /**
  188 + * 新增 20201215 使用妇女建档 ,不在使用孕妇建档
  189 + */
  190 + public BaseResponse addNew(BreastRequest request, Integer userId) {
158 191  
  192 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  193 + request.setHospitalId(hospitalId);
  194 + BreastModel model = getBreastModelNew(request);
  195 + model.setCreateDate(new Date());
  196 + model.setHospitalId(hospitalId);
159 197  
  198 + model = breastService.add(model);
  199 + if (model != null && model.getId() != null) {
  200 + operateLogFacade.addModifyOptLog(userId, Integer.valueOf(hospitalId), model, model, OptActionEnums.ADD.getId(), "乳腺检查新增");
  201 + }
  202 + BaseObjectResponse br = new BaseObjectResponse();
  203 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  204 + br.setErrormsg("成功");
  205 + br.setData(model.getId());
  206 + return br;
  207 + }
  208 +
  209 +
160 210 /**
161 211 * 更新
162 212 */
... ... @@ -167,7 +217,7 @@
167 217 return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("ID不能为空");
168 218 }
169 219 request.setHospitalId(hospitalId);
170   - BreastModel model = getBreastModel(request);
  220 + BreastModel model = getBreastModelNew(request);
171 221 BreastModel models = breastService.queryById(request.getId());
172 222 if (models != null && models.getId() != null) {
173 223 breastService.update(model, request.getId());
174 224  
... ... @@ -288,7 +338,47 @@
288 338  
289 339 }
290 340  
  341 + public BaseObjectResponse queryOneNew(BreastModelQuery babyQuery, Integer userId) {
291 342  
  343 + BaseObjectResponse br = new BaseObjectResponse();
  344 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  345 + List <BreastResult> breastResultList = new ArrayList <>();
  346 +
  347 + //单人多条专病记录
  348 + List <BreastModel> breastModelList = new ArrayList <>();
  349 +
  350 + if (StringUtils.isNotEmpty(babyQuery.getRid())) {
  351 + babyQuery.setYn(YnEnums.YES.getId());
  352 + babyQuery.setHospitalId(hospitalId);
  353 + babyQuery.setSort("checkDate");
  354 + breastModelList = breastService.queryOne(babyQuery);
  355 +
  356 + }
  357 + for (int i = 0; i < breastModelList.size(); i++) {
  358 + BreastModel breastModel = breastModelList.get(i);
  359 + BreastResult breastResult = new BreastResult();
  360 + if (breastModel != null) {
  361 + breastResult.convertToResult(breastModel);
  362 + if (StringUtils.isNotEmpty(breastModel.getCheckDoctor())) {
  363 + Users users = usersService.getUsers(NumberUtils.toInt(breastModel.getCheckDoctor()));
  364 + if (users != null && StringUtils.isNotEmpty(users.getName())) {
  365 + breastResult.setCheckDoctor(users.getName());
  366 + }
  367 + }
  368 + if (StringUtils.isNotEmpty(breastModel.getHospitalId())) {
  369 + breastResult.setHospitalName(CommonsHelper.getHospitalName(breastModel.getHospitalId(), organizationService));
  370 + }
  371 + breastResultList.add(breastResult);
  372 + }
  373 + }
  374 + br.setData(breastResultList);
  375 + br.setPageInfo(babyQuery.getPageInfo());
  376 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  377 + br.setErrormsg("成功");
  378 + return br;
  379 +
  380 + }
  381 +
292 382 /**
293 383 * 管理列表
294 384 *
... ... @@ -305,6 +395,7 @@
305 395 if (StringUtils.isEmpty(babyQuery.getPid())) {
306 396 babyQuery.setNeed("true");
307 397 babyQuery.setYn(YnEnums.YES.getId());
  398 + babyQuery.setRidNull(true);
308 399 babyQuery.setHospitalId(hospitalId);
309 400 babyQuery.setSort("createDate");
310 401 if (babyQuery.getCheckDateEnd() != null) {
... ... @@ -316,6 +407,57 @@
316 407  
317 408 breastModelList = breastService.queryAll(babyQuery);
318 409 System.out.println(babyQuery.convertToQuery().convertToMongoQuery());
  410 + }
  411 + for (int i = 0; i < breastModelList.size(); i++) {
  412 + BreastModel breastModel = breastModelList.get(i);
  413 + BreastResult breastResult = new BreastResult();
  414 + if (breastResult != null) {
  415 + breastResult.convertToResult(breastModel);
  416 + if (StringUtils.isNotEmpty(breastModel.getCheckDoctor())) {
  417 + Users users = usersService.getUsers(NumberUtils.toInt(breastModel.getCheckDoctor()));
  418 + if (users != null && StringUtils.isNotEmpty(users.getName())) {
  419 + breastResult.setCheckDoctor(users.getName());
  420 + }
  421 + }
  422 + breastResult.setHospitalName(CommonsHelper.getHospitalName(breastModel.getHospitalId(), organizationService));
  423 + breastResultList.add(breastResult);
  424 + }
  425 + }
  426 + br.setData(breastResultList);
  427 + br.setPageInfo(babyQuery.getPageInfo());
  428 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  429 + br.setErrormsg("成功");
  430 + return br;
  431 +
  432 + }
  433 + /**
  434 + * 管理列表,冗余的妇女档案
  435 + *
  436 + * @param babyQuery
  437 + * @param userId
  438 + */
  439 + public BaseObjectResponse queryAllNew(BreastModelQuery babyQuery, Integer userId) {
  440 +
  441 + BaseObjectResponse br = new BaseObjectResponse();
  442 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  443 + List <BreastResult> breastResultList = new ArrayList <>();
  444 + //单人多条专病记录
  445 + List <BreastModel> breastModelList = new ArrayList <>();
  446 + if (StringUtils.isEmpty(babyQuery.getRid())) {
  447 + babyQuery.setNeed("true");
  448 + babyQuery.setYn(YnEnums.YES.getId());
  449 + babyQuery.setPidNull(true);
  450 + babyQuery.setHospitalId(hospitalId);
  451 + babyQuery.setSort("createDate");
  452 + if (babyQuery.getCheckDateEnd() != null) {
  453 + babyQuery.setCheckDateEnd(DateUtil.getDayLastSecond(babyQuery.getCheckDateEnd()));
  454 + }
  455 + if (babyQuery.getNextDateEnd() != null) {
  456 + babyQuery.setNextDateEnd(DateUtil.getDayLastSecond(babyQuery.getNextDateEnd()));
  457 + }
  458 +
  459 + breastModelList = breastService.queryAll(babyQuery);
  460 + //System.out.println(babyQuery.convertToQuery().convertToMongoQuery());
319 461 }
320 462 for (int i = 0; i < breastModelList.size(); i++) {
321 463 BreastModel breastModel = breastModelList.get(i);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java View file @ fb97418
... ... @@ -251,6 +251,61 @@
251 251 }
252 252  
253 253 /**
  254 + * 查询居民基本信息
  255 + *
  256 + * @param residentsArchiveQueryRequest
  257 + * @param userId
  258 + * @return
  259 + */
  260 + public BaseResponse queryResidentsArchiveNewZufy(ResidentsArchiveQueryRequest residentsArchiveQueryRequest, Integer userId) {
  261 + List<ResidentsArchiveModel> residents = new ArrayList<>();
  262 + Map<String, List> typeMap = new HashMap<>();
  263 +
  264 + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery();
  265 + archiveQuery.setYn(YnEnums.YES.getId());
  266 + //身份证不为空的情况下通过身份证查询
  267 + if (StringUtils.isNotEmpty(residentsArchiveQueryRequest.getCardNo())) {
  268 + archiveQuery.setCertificateTypeId(residentsArchiveQueryRequest.getCertificateTypeId());
  269 + archiveQuery.setCertificateNum(residentsArchiveQueryRequest.getCardNo());
  270 + residents = residentsArchiveService.queryResident(archiveQuery);
  271 +
  272 + //使用就诊卡号查询,先用登录ID查询属于哪家医院,然后查询到该居民的身份证号,调出所有的建档记录
  273 + } else if (StringUtils.isNotEmpty(residentsArchiveQueryRequest.getVcCardNo())) {
  274 + //通过用户ID查询医院ID
  275 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  276 + archiveQuery.setVcCardNo(residentsArchiveQueryRequest.getVcCardNo());
  277 + archiveQuery.setHospitalId(hospitalId);
  278 + List<ResidentsArchiveModel> archiveModelList = residentsArchiveService.queryResident(archiveQuery);
  279 + if (CollectionUtils.isNotEmpty(archiveModelList)) {
  280 + //判断身份证号是否为null
  281 + if (StringUtils.isEmpty(archiveModelList.get(0).getCertificateNum())) {
  282 + residents = archiveModelList;
  283 + } else {
  284 + archiveQuery.setHospitalId(null);
  285 + archiveQuery.setVcCardNo(null);
  286 + archiveQuery.setCertificateNum(archiveModelList.get(0).getCertificateNum());
  287 + residents = residentsArchiveService.queryResident(archiveQuery);
  288 + }
  289 + }
  290 + }
  291 +
  292 + ResidentsArchiveModel newModel = null;
  293 +
  294 + //历史建档记录
  295 + List<ResidentsArchiveHistoryResult> resultList = new ArrayList<>();
  296 + if (CollectionUtils.isNotEmpty(residents)) {
  297 + //如果该身份证号或者就诊卡号已经在某家医院建档,拉取最新的一条建档记录返回给前端
  298 + newModel = residents.get(0);
  299 + }
  300 +
  301 + BaseResponse listResponse = new BaseResponse();
  302 + listResponse.setObject(newModel);
  303 + listResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  304 + listResponse.setErrormsg("成功");
  305 + return listResponse;
  306 + }
  307 +
  308 + /**
254 309 * 通过id修改居民健康档案
255 310 *
256 311 * @param id 建档ID
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BreastRequest.java View file @ fb97418
... ... @@ -16,9 +16,12 @@
16 16 private String id;
17 17 private Integer yn;
18 18 //建档 pid
19   - @FormParam
20   - @NotEmpty(message = "建档pid不能为空.")
  19 +// @FormParam
  20 +// @NotEmpty(message = "建档pid不能为空.")
21 21 private String pid;
  22 +
  23 + //居民健康档案(妇女健康 )模型 id
  24 + private String rid;
22 25 private String createDate;
23 26 private String modifyDate;
24 27 private String hospitalId;
... ... @@ -102,6 +105,14 @@
102 105  
103 106 public void setPid(String pid) {
104 107 this.pid = pid;
  108 + }
  109 +
  110 + public String getRid() {
  111 + return rid;
  112 + }
  113 +
  114 + public void setRid(String rid) {
  115 + this.rid = rid;
105 116 }
106 117  
107 118 public String getCreateDate() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BreastResult.java View file @ fb97418
... ... @@ -17,6 +17,8 @@
17 17 private String id;
18 18 private Integer yn;
19 19 private String pid;
  20 + //居民健康档案(妇女健康 )模型 id
  21 + private String rid;
20 22 private Date createDate;
21 23 private Date modifyDate;
22 24 private String hospitalId;
... ... @@ -98,6 +100,14 @@
98 100 this.pid = pid;
99 101 }
100 102  
  103 + public String getRid() {
  104 + return rid;
  105 + }
  106 +
  107 + public void setRid(String rid) {
  108 + this.rid = rid;
  109 + }
  110 +
101 111 public Date getCreateDate() {
102 112 return createDate;
103 113 }
... ... @@ -279,6 +289,7 @@
279 289  
280 290 setId(destModel.getId());
281 291 setPid(destModel.getPid());
  292 + setRid(destModel.getRid());
282 293 //createDate modifyDate
283 294 setHospitalId(destModel.getHospitalId());
284 295 setName(destModel.getName());