diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index ea14af3..281de33 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -181,6 +181,55 @@ public class MaternalDeliverModel extends BaseModel { */ private Date pushTime; + /** + * 转介地 + */ + private String provinceZJId; + private String cityZJId; + private String areaZJId; + private String streetZJId; + private String addressZJ; + + public String getAddressZJ() { + return addressZJ; + } + + public void setAddressZJ(String addressZJ) { + this.addressZJ = addressZJ; + } + + public String getProvinceZJId() { + return provinceZJId; + } + + public void setProvinceZJId(String provinceZJId) { + this.provinceZJId = provinceZJId; + } + + public String getCityZJId() { + return cityZJId; + } + + public void setCityZJId(String cityZJId) { + this.cityZJId = cityZJId; + } + + public String getAreaZJId() { + return areaZJId; + } + + public void setAreaZJId(String areaZJId) { + this.areaZJId = areaZJId; + } + + public String getStreetZJId() { + return streetZJId; + } + + public void setStreetZJId(String streetZJId) { + this.streetZJId = streetZJId; + } + public Date getPushTime() { return pushTime; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index 64a823c..4799323 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -175,6 +175,46 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery private String endPushTime; + /** + * 转介地 + */ + private String provinceZJId; + private String cityZJId; + private String areaZJId; + private String streetZJId; + + public String getProvinceZJId() { + return provinceZJId; + } + + public void setProvinceZJId(String provinceZJId) { + this.provinceZJId = provinceZJId; + } + + public String getCityZJId() { + return cityZJId; + } + + public void setCityZJId(String cityZJId) { + this.cityZJId = cityZJId; + } + + public String getAreaZJId() { + return areaZJId; + } + + public void setAreaZJId(String areaZJId) { + this.areaZJId = areaZJId; + } + + public String getStreetZJId() { + return streetZJId; + } + + public void setStreetZJId(String streetZJId) { + this.streetZJId = streetZJId; + } + public String getStartPushTime() { return startPushTime; } @@ -318,6 +358,22 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("hospitalId", hospitalId, MongoOper.IS); } + // /** + // * 转介地 + // */ + if (null != provinceZJId) { + condition = condition.and("provinceZJId", provinceZJId, MongoOper.IS); + if (null != cityZJId) { + condition = condition.and("cityZJId", cityZJId, MongoOper.IS); + if (null != areaZJId) { + condition = condition.and("areaZJId", areaZJId, MongoOper.IS); + if (null != streetZJId) { + condition = condition.and("streetZJId", streetZJId, MongoOper.IS); + } + } + } + } + if (null != contactResult) { condition = condition.and("contactResult", contactResult, MongoOper.IS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java index 43921d6..5c3454a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java @@ -6,12 +6,10 @@ import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.MatdeliverFollowFacade; -import com.lyms.platform.operate.web.request.MatDeliverFollowAddRequest; -import com.lyms.platform.operate.web.request.MatdeliverFollowRequest; -import com.lyms.platform.operate.web.request.QuestionnaireListRequest; -import com.lyms.platform.operate.web.request.QuestionnairePushRequest; +import com.lyms.platform.operate.web.request.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -123,6 +121,20 @@ public class MatdeliverFollowController extends BaseController { } /** + * 产后转介 + * @param param + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/status", method = RequestMethod.POST) + public BaseListResponse matdeliverFollowMakeStatus(@RequestBody @Validated MatdeliverFollowStatusRequest param, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return matdeliverFollowFacade.matdeliverFollowMakeStatus(param, loginState.getId()); + } + + /** * 推送问卷 * * @param request diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 658e091..cf5b857 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -1942,6 +1942,14 @@ public class MatDeliverFacade { errorPercentage = new BigDecimal(100.00).subtract(new BigDecimal(okPercentage)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); } matDeliverQuery.setVisitResult(matdeliverFollowRequest.getVisitResult()); + + + // 转介地址 + matDeliverQuery.setProvinceZJId(matdeliverFollowRequest.getProvinceZJId()); + matDeliverQuery.setCityZJId(matdeliverFollowRequest.getCityZJId()); + matDeliverQuery.setAreaZJId(matdeliverFollowRequest.getAreaZJId()); + matDeliverQuery.setStreetZJId(matdeliverFollowRequest.getStreetZJId()); + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getNeed())) {//是否分页 matDeliverQuery.setNeed("need"); matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit()); @@ -1981,8 +1989,11 @@ public class MatDeliverFacade { matdeliverFollowListResult.setName(patients.getUsername()); // 年龄 matdeliverFollowListResult.setAge(DateUtil.getAge(patients.getBirth())); + //放入map,进行下一步数据整合 patientsMap.put(patients.getId(), matdeliverFollowListResult); + + } @@ -1992,6 +2003,17 @@ public class MatDeliverFacade { if (matdeliverFollowListResult == null) { continue; } + // 转介地 + String provinceZJId = deliverModel.getProvinceZJId(); + String cityZJId = deliverModel.getCityZJId(); + String areaZJId = deliverModel.getAreaZJId(); + String streetZJId = deliverModel.getStreetZJId(); + if (StringUtils.isNotEmpty(provinceZJId) && StringUtils.isNotEmpty(cityZJId) && StringUtils.isNotEmpty(areaZJId) && StringUtils.isNotEmpty(streetZJId)) { + matdeliverFollowListResult.setAddressZJ(CommonsHelper.getResidence(provinceZJId, cityZJId, areaZJId, streetZJId, deliverModel.getAddressZJ(), basicConfigService)); + } else { + matdeliverFollowListResult.setAddressZJ(""); + } + //最后一次随访Id matdeliverFollowListResult.setMatFollowId(deliverModel.getMatFollowId()); matdeliverFollowListResult.setDueDate(deliverModel.getDueDate()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java index 4ca65f1..e190135 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java @@ -11,10 +11,7 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.operate.web.request.MatDeliverFollowAddRequest; -import com.lyms.platform.operate.web.request.MatdeliverFollowRequest; -import com.lyms.platform.operate.web.request.QuestionnaireListRequest; -import com.lyms.platform.operate.web.request.QuestionnairePushRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.MatdeliverFollowListResult; import com.lyms.platform.operate.web.result.MatdeliverFollowResult; import com.lyms.platform.operate.web.service.ITrackDownService; @@ -29,6 +26,7 @@ import com.lyms.platform.pojo.*; import com.lyms.platform.query.MatDeliverFollowQuery; import com.lyms.platform.query.PersonModelQuery; import com.lyms.platform.query.TrackDownRecordQuery; +import com.mongodb.WriteResult; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Colour; @@ -934,4 +932,23 @@ public class MatdeliverFollowFacade { baseListResponse.setData(mapList); return baseListResponse; } + + /** + * 产后转介处理 + * + * @param param + * @param userId + * @return + */ + public BaseListResponse matdeliverFollowMakeStatus(MatdeliverFollowStatusRequest param, Integer userId) { + Update update = new Update(); + update.set("provinceZJId", param.getProvinceZJId()); + update.set("cityZJId", param.getCityZJId()); + update.set("areaZJId", param.getAreaZJId()); + update.set("streetZJId", param.getStreetZJId()); + update.set("addressZJ", param.getAddressZJ()); + update.unset("fsHospital"); + mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(param.getId())), update, MaternalDeliverModel.class); + return new BaseListResponse(); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java index 0947e0c..26dd267 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java @@ -130,6 +130,46 @@ public class MatdeliverFollowRequest extends BasePageQueryRequest{ private String endPushTime; + /** + * 转介地 + */ + private String provinceZJId; + private String cityZJId; + private String areaZJId; + private String streetZJId; + + public String getProvinceZJId() { + return provinceZJId; + } + + public void setProvinceZJId(String provinceZJId) { + this.provinceZJId = provinceZJId; + } + + public String getCityZJId() { + return cityZJId; + } + + public void setCityZJId(String cityZJId) { + this.cityZJId = cityZJId; + } + + public String getAreaZJId() { + return areaZJId; + } + + public void setAreaZJId(String areaZJId) { + this.areaZJId = areaZJId; + } + + public String getStreetZJId() { + return streetZJId; + } + + public void setStreetZJId(String streetZJId) { + this.streetZJId = streetZJId; + } + public String getStartPushTime() { return startPushTime; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowStatusRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowStatusRequest.java new file mode 100644 index 0000000..a88867d --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowStatusRequest.java @@ -0,0 +1,78 @@ +package com.lyms.platform.operate.web.request; + +import org.hibernate.validator.constraints.Length; + +import java.io.Serializable; + +/** + * @author dongqin + * @description + * @date 11:29 2019/9/17 + **/ +public class MatdeliverFollowStatusRequest implements Serializable { + + + /** + * 转介地 + */ + @Length(min = 1, max = 32) + private String id; + @Length(min = 1, max = 32) + private String provinceZJId; + @Length(min = 1, max = 32) + private String cityZJId; + @Length(min = 1, max = 32) + private String areaZJId; + @Length(min = 1, max = 32) + private String streetZJId; + @Length(min = 1, max = 1024) + private String addressZJ; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getProvinceZJId() { + return provinceZJId; + } + + public void setProvinceZJId(String provinceZJId) { + this.provinceZJId = provinceZJId; + } + + public String getCityZJId() { + return cityZJId; + } + + public void setCityZJId(String cityZJId) { + this.cityZJId = cityZJId; + } + + public String getAreaZJId() { + return areaZJId; + } + + public void setAreaZJId(String areaZJId) { + this.areaZJId = areaZJId; + } + + public String getStreetZJId() { + return streetZJId; + } + + public void setStreetZJId(String streetZJId) { + this.streetZJId = streetZJId; + } + + public String getAddressZJ() { + return addressZJ; + } + + public void setAddressZJ(String addressZJ) { + this.addressZJ = addressZJ; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java index bdaeba3..3e93ff5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java @@ -160,6 +160,19 @@ public class MatdeliverFollowListResult { */ private String pushTime; + /** + * @discription 转介地 + */ + private String addressZJ; + + public String getAddressZJ() { + return addressZJ; + } + + public void setAddressZJ(String addressZJ) { + this.addressZJ = addressZJ; + } + public String getPushTime() { return pushTime; }