diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ExerciseAppraisalModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ExerciseAppraisalModel.java new file mode 100644 index 0000000..2f41470 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ExerciseAppraisalModel.java @@ -0,0 +1,440 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; +import java.util.List; + +/** + * 儿童量表--运动测评 + * @Author dongqin + * @Description + * @Date 11:42 2019/7/25 + */ +@Document(collection = "lyms_exerciseAppraisal") +public class ExerciseAppraisalModel extends BaseModel { + + private static final long serialVersionUID = 993491777685035796L; + + private String id; + + /** + * baby主键 + */ + private String babyId; + + /** + * 证件号 + */ + private String cardNo; + + /** + * 就诊卡 + */ + private String vcCardNo; + + /** + * 儿童名称 + */ + private String name; + + /** + * 性别 + */ + private Integer gender; + + /** + * 生日 + */ + private Date birth; + + /** + * 母亲手机号 + */ + private String mphone; + + /** + * 备注 + */ + private String mremark; + + + private Date checkTime; + + + /********************俯卧位********************/ + + /** + * 窗前得分、图片下标、窗内得分、图片下标、分量表得分(方便以后统计) = 窗前得分 + 窗内得分 + */ + private Integer lieProstrateOutside; + private List lieProstrateOutsideIndexs; + private Integer lieProstrateInside; + private List lieProstrateInsideIndexs; + private Integer lieProstratComponent; + + /**********************仰卧位********************/ + /** + * 窗前得分、图片下标、窗内得分、图片下标、分量表得分(方便以后统计) = 窗前得分 + 窗内得分 + */ + private Integer supineOutside; + private List supineOutsideIndexs; + private Integer supineInside; + private List supineInsideIndexs; + private Integer supineComponent; + + /**********************坐位********************/ + /** + * 窗前得分、图片下标、窗内得分、图片下标、分量表得分(方便以后统计) = 窗前得分 + 窗内得分 + */ + private Integer seatOutside; + private List seatOutsideIndexs; + private Integer seatInside; + private List seatInsideIndexs; + private Integer seatComponent; + + /**********************站立位********************/ + /** + * 窗前得分、图片下标、窗内得分、图片下标、分量表得分(方便以后统计) = 窗前得分 + 窗内得分 + */ + private Integer standingOutside; + private List standingOutsideIndexs; + private Integer standingInside; + private List standingInsideIndexs; + private Integer standingComponent; + + /** + * 总分 + */ + private Integer totalScore; + + /** + * 百分位 + */ + private Integer percentileScore; + + /** + * 检查医生 + */ + private String checkDoctor; + + private String hospitalId; + private Date createTime; + private String createUser; + private Date updateTime; + private String updateUser; + private Integer yn; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getBabyId() { + return babyId; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public void setBabyId(String babyId) { + this.babyId = babyId; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getGender() { + return gender; + } + + public void setGender(Integer gender) { + this.gender = gender; + } + + public Date getBirth() { + return birth; + } + + public void setBirth(Date birth) { + this.birth = birth; + } + + public String getMphone() { + return mphone; + } + + public void setMphone(String mphone) { + this.mphone = mphone; + } + + public String getMremark() { + return mremark; + } + + public void setMremark(String mremark) { + this.mremark = mremark; + } + + public Date getCheckTime() { + return checkTime; + } + + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Integer getLieProstrateOutside() { + return lieProstrateOutside; + } + + public void setLieProstrateOutside(Integer lieProstrateOutside) { + this.lieProstrateOutside = lieProstrateOutside; + } + + public List getLieProstrateOutsideIndexs() { + return lieProstrateOutsideIndexs; + } + + public void setLieProstrateOutsideIndexs(List lieProstrateOutsideIndexs) { + this.lieProstrateOutsideIndexs = lieProstrateOutsideIndexs; + } + + public Integer getLieProstrateInside() { + return lieProstrateInside; + } + + public void setLieProstrateInside(Integer lieProstrateInside) { + this.lieProstrateInside = lieProstrateInside; + } + + public List getLieProstrateInsideIndexs() { + return lieProstrateInsideIndexs; + } + + public void setLieProstrateInsideIndexs(List lieProstrateInsideIndexs) { + this.lieProstrateInsideIndexs = lieProstrateInsideIndexs; + } + + public Integer getLieProstratComponent() { + return lieProstratComponent; + } + + public void setLieProstratComponent(Integer lieProstratComponent) { + this.lieProstratComponent = lieProstratComponent; + } + + public Integer getSupineOutside() { + return supineOutside; + } + + public void setSupineOutside(Integer supineOutside) { + this.supineOutside = supineOutside; + } + + public List getSupineOutsideIndexs() { + return supineOutsideIndexs; + } + + public void setSupineOutsideIndexs(List supineOutsideIndexs) { + this.supineOutsideIndexs = supineOutsideIndexs; + } + + public Integer getSupineInside() { + return supineInside; + } + + public void setSupineInside(Integer supineInside) { + this.supineInside = supineInside; + } + + public List getSupineInsideIndexs() { + return supineInsideIndexs; + } + + public void setSupineInsideIndexs(List supineInsideIndexs) { + this.supineInsideIndexs = supineInsideIndexs; + } + + public Integer getSupineComponent() { + return supineComponent; + } + + public void setSupineComponent(Integer supineComponent) { + this.supineComponent = supineComponent; + } + + public Integer getSeatOutside() { + return seatOutside; + } + + public void setSeatOutside(Integer seatOutside) { + this.seatOutside = seatOutside; + } + + public List getSeatOutsideIndexs() { + return seatOutsideIndexs; + } + + public void setSeatOutsideIndexs(List seatOutsideIndexs) { + this.seatOutsideIndexs = seatOutsideIndexs; + } + + public Integer getSeatInside() { + return seatInside; + } + + public void setSeatInside(Integer seatInside) { + this.seatInside = seatInside; + } + + public List getSeatInsideIndexs() { + return seatInsideIndexs; + } + + public void setSeatInsideIndexs(List seatInsideIndexs) { + this.seatInsideIndexs = seatInsideIndexs; + } + + public Integer getSeatComponent() { + return seatComponent; + } + + public void setSeatComponent(Integer seatComponent) { + this.seatComponent = seatComponent; + } + + public Integer getStandingOutside() { + return standingOutside; + } + + public void setStandingOutside(Integer standingOutside) { + this.standingOutside = standingOutside; + } + + public List getStandingOutsideIndexs() { + return standingOutsideIndexs; + } + + public void setStandingOutsideIndexs(List standingOutsideIndexs) { + this.standingOutsideIndexs = standingOutsideIndexs; + } + + public Integer getStandingInside() { + return standingInside; + } + + public void setStandingInside(Integer standingInside) { + this.standingInside = standingInside; + } + + public List getStandingInsideIndexs() { + return standingInsideIndexs; + } + + public void setStandingInsideIndexs(List standingInsideIndexs) { + this.standingInsideIndexs = standingInsideIndexs; + } + + public Integer getStandingComponent() { + return standingComponent; + } + + public void setStandingComponent(Integer standingComponent) { + this.standingComponent = standingComponent; + } + + public Integer getTotalScore() { + return totalScore; + } + + public void setTotalScore(Integer totalScore) { + this.totalScore = totalScore; + } + + public Integer getPercentileScore() { + return percentileScore; + } + + public void setPercentileScore(Integer percentileScore) { + this.percentileScore = percentileScore; + } + + public String getCheckDoctor() { + return checkDoctor; + } + + public void setCheckDoctor(String checkDoctor) { + this.checkDoctor = checkDoctor; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEvaluationCriterionController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEvaluationCriterionController.java index 7a40c88..96236a6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEvaluationCriterionController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEvaluationCriterionController.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.request.EvaluationCriterionNeuropsychologyRequest; +import com.lyms.platform.operate.web.request.ExerciseAppraisalRequest; import com.lyms.platform.operate.web.request.NerveMovementListRequest; import com.lyms.platform.operate.web.request.NerveMovementSaveOrUpdateRequest; import com.lyms.platform.operate.web.service.BabyEvaluationCriterionService; @@ -12,6 +13,7 @@ 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; @@ -38,7 +40,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/basequery") + @RequestMapping(method = RequestMethod.POST, value = "/basequery") private BaseResponse baseQuery(@RequestBody JSONObject jsonObject, HttpServletRequest request) { return babyEvaluationCriterionService.baseQuery(getUserId(request), jsonObject); } @@ -53,7 +55,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/query") + @RequestMapping(method = RequestMethod.POST, value = "/query") private BaseResponse query(@RequestBody JSONObject jsonObject, HttpServletRequest request) { return babyEvaluationCriterionService.query(getUserId(request), jsonObject); } @@ -66,7 +68,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/saveOrUpdate") + @RequestMapping(method = RequestMethod.POST, value = "/saveOrUpdate") private BaseResponse saveOrUpdateNeuropsychology(@RequestBody EvaluationCriterionNeuropsychologyRequest param, HttpServletRequest request) { return babyEvaluationCriterionService.saveOrUpdateNeuropsychology(param, getUserId(request)); } @@ -80,7 +82,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/nervemovement/query") + @RequestMapping(method = RequestMethod.POST, value = "/nervemovement/query") protected BaseResponse queryNerveMovement(@RequestBody JSONObject jsonObject, HttpServletRequest request) { return babyEvaluationCriterionService.queryNerveMovement(getUserId(request), jsonObject); } @@ -94,7 +96,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/nervemovement/saveOrUpdate") + @RequestMapping(method = RequestMethod.POST, value = "/nervemovement/saveOrUpdate") protected BaseResponse saveOrUpdateNerveMovement(@RequestBody NerveMovementSaveOrUpdateRequest param, HttpServletRequest request) { return babyEvaluationCriterionService.saveOrUpdateNerveMovement(getUserId(request), param); } @@ -108,7 +110,7 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/nervemovement/list") + @RequestMapping(method = RequestMethod.POST, value = "/nervemovement/list") private BaseResponse nerveMovementList(@RequestBody NerveMovementListRequest jsonObject, HttpServletRequest request) { return babyEvaluationCriterionService.nerveMovementList(getUserId(request), jsonObject); } @@ -123,8 +125,36 @@ public class BabyEvaluationCriterionController extends BaseController { */ @ResponseBody @TokenRequired - @RequestMapping("/nervemovementBybabyId/list") + @RequestMapping(method = RequestMethod.POST, value = "/nervemovementBybabyId/list") private BaseResponse nerveMovementByIdList(@RequestBody JSONObject jsonObject, HttpServletRequest request) { return babyEvaluationCriterionService.nerveMovementByIdList(getUserId(request), jsonObject); } + + /** + * 儿童量表--运动测评--save or update + * + * @param param + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(method = RequestMethod.POST, value = "/exerciseAppraisal/saveOrUpdate") + private BaseResponse saveOrUpdateExerciseAppraisal(@RequestBody ExerciseAppraisalRequest param, HttpServletRequest request) { + return babyEvaluationCriterionService.saveOrUpdateExerciseAppraisal(getUserId(request), param); + } + + /** + * 儿童量表--运动测评--查询 + * + * @param jsonObject + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(method = RequestMethod.POST, value = "/exerciseAppraisal/detail") + private BaseResponse findExerciseAppraisal(@RequestBody JSONObject jsonObject, HttpServletRequest request) { + return babyEvaluationCriterionService.findExerciseAppraisal(getUserId(request), jsonObject); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ExerciseAppraisalRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ExerciseAppraisalRequest.java new file mode 100644 index 0000000..279d0f0 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ExerciseAppraisalRequest.java @@ -0,0 +1,13 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.pojo.ExerciseAppraisalModel; + +/** + * 儿童量表-运动测评 保存更新 + * @Author dongqin + * @Description + * @Date 15:47 2019/7/25 + */ +public class ExerciseAppraisalRequest extends ExerciseAppraisalModel { + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEvaluationCriterionService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEvaluationCriterionService.java index 6669073..7579ceb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEvaluationCriterionService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEvaluationCriterionService.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.service; import com.alibaba.fastjson.JSONObject; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.request.EvaluationCriterionNeuropsychologyRequest; +import com.lyms.platform.operate.web.request.ExerciseAppraisalRequest; import com.lyms.platform.operate.web.request.NerveMovementListRequest; import com.lyms.platform.operate.web.request.NerveMovementSaveOrUpdateRequest; @@ -23,7 +24,6 @@ public interface BabyEvaluationCriterionService { * @param jsonObject * @return */ - @Deprecated BaseResponse query(Integer userId, JSONObject jsonObject); /** @@ -80,4 +80,22 @@ public interface BabyEvaluationCriterionService { * @return */ BaseResponse baseQuery(Integer userId, JSONObject jsonObject); + + /** + * 儿童量表--运动测评--save or update + * + * @param userId + * @param param + * @return + */ + BaseResponse saveOrUpdateExerciseAppraisal(Integer userId, ExerciseAppraisalRequest param); + + /** + * 儿童量表--运动测评-根据证件号、就诊卡查询 + * + * @param userId + * @param jsonObject + * @return + */ + BaseResponse findExerciseAppraisal(Integer userId, JSONObject jsonObject); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java index bb87d70..0968ab3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java @@ -8,6 +8,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.request.EvaluationCriterionNeuropsychologyRequest; +import com.lyms.platform.operate.web.request.ExerciseAppraisalRequest; import com.lyms.platform.operate.web.request.NerveMovementListRequest; import com.lyms.platform.operate.web.request.NerveMovementSaveOrUpdateRequest; import com.lyms.platform.operate.web.service.BabyEvaluationCriterionService; @@ -607,4 +608,121 @@ public class BabyEvaluationCriterionServiceImpl implements BabyEvaluationCriteri } return baseResponse; } + + /** + * 儿童量表--运动测评--save or update + * + * @param userId + * @param param + * @return + */ + @Override + public BaseResponse saveOrUpdateExerciseAppraisal(Integer userId, ExerciseAppraisalRequest param) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + String babyId = param.getBabyId(); + boolean isPass = paramValid(param); + ExerciseAppraisalModel model = param; + if (!isPass) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("参数缺失"); + } + String id = param.getId(); + if (StringUtils.isEmpty(id)) { + // 新增运动测评 + BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyId)), BabyModel.class); + if (babyModel == null) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("未查到该儿童的建档数据"); + } + model.setBirth(babyModel.getBirth()); + model.setCardNo(babyModel.getCardNo()); + model.setVcCardNo(babyModel.getVcCardNo()); + model.setMphone(babyModel.getMphone()); + model.setMremark(babyModel.getMremark()); + model.setGender(babyModel.getSex()); + model.setHospitalId(hospitalId); + model.setName(babyModel.getName()); + model.setCreateTime(new Date()); + model.setCreateUser(userId.toString()); + model.setYn(YnEnums.YES.getId()); + mongoTemplate.insert(model); + } + + if (StringUtils.isNotEmpty(id)) { + model.setCheckTime(new Date(model.getCheckTime().getTime() - 28800000)); + model.setCreateUser(null); + model.setCreateTime(null); + model.setBirth(null); + model.setCardNo(null); + model.setVcCardNo(null); + model.setMphone(null); + model.setMremark(null); + model.setGender(null); + model.setHospitalId(null); + model.setName(null); + model.setCreateTime(null); + model.setCreateUser(null); + model.setYn(null); + Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); + mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), update, ExerciseAppraisalModel.class); + } + return new BaseResponse(); + } + + /** + * 儿童量表--运动测评-根据证件号、就诊卡查询 + * + * @param userId + * @param jsonObject + * @return + */ + @Override + public BaseResponse findExerciseAppraisal(Integer userId, JSONObject jsonObject) { + String cardNo = jsonObject.getString("queryNo"); + String patientIdCard = jsonObject.getString("patientIdCard"); + String hospitalId = autoMatchFacade.getHospitalId(userId); + BaseResponse baseResponse = new BaseResponse(); + Query query = new Query(); + query.addCriteria(Criteria.where("hospitalId").is(hospitalId).and("yn").is(YnEnums.YES.getId())); + query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "createTime"))); + if (StringUtils.isNotEmpty(cardNo)) { + query.addCriteria(new Criteria().orOperator(Criteria.where("cardNo").is(cardNo), Criteria.where("mphone").is(cardNo))); + } + if (StringUtils.isNotEmpty(patientIdCard)) { + query.addCriteria(Criteria.where("vcCardNo").is(patientIdCard)); + } + + final List models = mongoTemplate.find(query, ExerciseAppraisalModel.class); + final List> modelList = new ArrayList>(){{ + if (CollectionUtils.isNotEmpty(models)) { + for (ExerciseAppraisalModel model : models) { + Map map = BeanUtils.objectToStringMap(model); + map.put("age", DateUtil.getBabyMonthAge(model.getBirth(), new Date())); + add(map); + } + } + }}; + baseResponse.setObject(modelList); + return baseResponse; + } + + /** + * 参数效验 + * + * @param param + * @return + */ + private boolean paramValid(ExerciseAppraisalRequest param) { + if (StringUtils.isEmpty(babyId) || StringUtils.isEmpty(param.getCheckDoctor()) || param.getCheckTime() == null + || param.getLieProstratComponent() == null || param.getLieProstrateInside() == null + || param.getLieProstrateOutside() == null || param.getLieProstrateInsideIndexs() == null + || param.getLieProstrateOutsideIndexs() == null + || param.getSeatComponent() == null || param.getSeatInside() == null + || param.getSeatOutside() == null || param.getSeatInsideIndexs() == null + || param.getSeatOutsideIndexs() == null + || param.getStandingComponent() == null || param.getStandingInside() == null + || param.getStandingOutside() == null || param.getStandingInsideIndexs() == null + || param.getStandingOutsideIndexs() == null) { + return false; + } + return true; + } }