diff --git a/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java b/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java index 598557b..1817f3c 100644 --- a/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java +++ b/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java @@ -151,4 +151,24 @@ public class QuestionnaireController { log.info("查询是否可以进入问卷结束{}",isShow); return JsonResponse.newInstance().ok(isShow); } + + @MustLogin + @ApiOperation(value = "医院名称回显", notes = "") + @RequestMapping(value = "/hospitalNameEcho", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse hospitalNameEcho(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("医院名称回显开始{}",params); + QuestionnaireVo.HospitalName hospitalName = questionnaireService.hospitalNameEcho(params.getUserId()); + log.info("医院名称回显结束{}",hospitalName); + return JsonResponse.newInstance().ok(hospitalName); + } + + @MustLogin + @ApiOperation(value = "查询医院列表", notes = "") + @RequestMapping(value = "/queryHospitalList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryHospitalList(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("问卷查询医院列表开始{}",params); + List hospitalList = questionnaireService.queryHospitalList(params.getParam(),params.getUserId()); + log.info("问卷查询医院列表结束{}",hospitalList); + return JsonResponse.newInstance().ok(hospitalList); + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java index 3227864..8ba3656 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java @@ -97,4 +97,13 @@ public class QuestionnaireDto { private String endTime; } + @Data + @ApiModel("查询医院列表-请求") + public static class QueryHospitalList { + @ApiModelProperty("地区") + private String area; + @ApiModelProperty("名字") + private String name; + } + } diff --git a/src/main/java/com/ccsens/carbasics/bean/po/AccountManage.java b/src/main/java/com/ccsens/carbasics/bean/po/AccountManage.java index 550a092..0fec3ef 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/AccountManage.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/AccountManage.java @@ -26,6 +26,8 @@ public class AccountManage implements Serializable { private Byte auditStatus; + private Byte dataFrom; + private Date createdAt; private Date updatedAt; @@ -122,6 +124,14 @@ public class AccountManage implements Serializable { this.auditStatus = auditStatus; } + public Byte getDataFrom() { + return dataFrom; + } + + public void setDataFrom(Byte dataFrom) { + this.dataFrom = dataFrom; + } + public Date getCreatedAt() { return createdAt; } @@ -163,6 +173,7 @@ public class AccountManage implements Serializable { sb.append(", submitterUserId=").append(submitterUserId); sb.append(", aduitUserId=").append(aduitUserId); sb.append(", auditStatus=").append(auditStatus); + sb.append(", dataFrom=").append(dataFrom); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); diff --git a/src/main/java/com/ccsens/carbasics/bean/po/AccountManageExample.java b/src/main/java/com/ccsens/carbasics/bean/po/AccountManageExample.java index cac673d..6932e3a 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/AccountManageExample.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/AccountManageExample.java @@ -835,6 +835,66 @@ public class AccountManageExample { return (Criteria) this; } + public Criteria andDataFromIsNull() { + addCriterion("data_from is null"); + return (Criteria) this; + } + + public Criteria andDataFromIsNotNull() { + addCriterion("data_from is not null"); + return (Criteria) this; + } + + public Criteria andDataFromEqualTo(Byte value) { + addCriterion("data_from =", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromNotEqualTo(Byte value) { + addCriterion("data_from <>", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromGreaterThan(Byte value) { + addCriterion("data_from >", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromGreaterThanOrEqualTo(Byte value) { + addCriterion("data_from >=", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromLessThan(Byte value) { + addCriterion("data_from <", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromLessThanOrEqualTo(Byte value) { + addCriterion("data_from <=", value, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromIn(List values) { + addCriterion("data_from in", values, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromNotIn(List values) { + addCriterion("data_from not in", values, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromBetween(Byte value1, Byte value2) { + addCriterion("data_from between", value1, value2, "dataFrom"); + return (Criteria) this; + } + + public Criteria andDataFromNotBetween(Byte value1, Byte value2) { + addCriterion("data_from not between", value1, value2, "dataFrom"); + return (Criteria) this; + } + public Criteria andCreatedAtIsNull() { addCriterion("created_at is null"); return (Criteria) this; diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java index 3fb6b3c..5a2de85 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java @@ -103,4 +103,11 @@ public class QuestionnaireVo { @ApiModelProperty("职务") private String position; } + + @Data + @ApiModel("医院名称回显-返参") + public static class HospitalName { + @ApiModelProperty("医院名称") + private String name; + } } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java index 17da7e6..291755d 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java @@ -33,4 +33,18 @@ public interface QuestionnaireRecordDao extends QuestionnaireRecordMapper { * @return 记录 */ List> queryRecord(@Param("export") QuestionnaireDto.Export export, @Param("codes") List codes,@Param("qid") Long qid); + + /** + * 医院名称回显 + * @param userId 用户id + * @return 医院名称回显 + */ + QuestionnaireVo.HospitalName hospitalNameEcho(@Param("userId") Long userId); + + /** + * 查询医院列表 + * @param param 参数 + * @return 医院列表 + */ + List queryHospitalList(@Param("param") QuestionnaireDto.QueryHospitalList param); } diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index 31a8294..5be7389 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -59,6 +59,7 @@ public class AccountManageService implements IAccountManageService { accountManage.setId(snowflake.nextId()); accountManage.setSubmitterUserId(userId); accountManage.setAuditStatus((byte) 0); + accountManage.setDataFrom((byte) 0); accountManageDao.insertSelective(accountManage); } diff --git a/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java index bdecc68..4cc18a0 100644 --- a/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java @@ -94,4 +94,19 @@ public interface IQuestionnaireService { * @return 是否展示 */ ButtonVO.IsShow queryIsShow(Long userId); + + /** + * 医院名称回显 + * @param userId 用户id + * @return 医院名称 + */ + QuestionnaireVo.HospitalName hospitalNameEcho(Long userId); + + /** + * 查询医院列表 + * @param param 参数 + * @param userId 用户id + * @return 医院列表 + */ + List queryHospitalList(QuestionnaireDto.QueryHospitalList param, Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index 2bb3e2b..f7454d3 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -174,13 +174,19 @@ public class QuestionnaireService implements IQuestionnaireService{ } //1.校验字段是否都填写 Integer num = questionnaireDetailDao.countCodeNumber(param.getDetailId()); - if (num < 22) { + List stringList = new ArrayList<>(); + stringList.add("QXXWJ"); + List qxxwj = codeDictionariesDao.query(stringList); + if (num <= qxxwj.size()) { throw new BaseException(DefaultCodeError.QUESTIONNAIRE_INFO_INCOMPLETE); } String answer = questionnaireDetailDao.queryXGZL(param.getDetailId()); if ("是".equals(answer)) { + List sonCode = new ArrayList<>(); + sonCode.add("XGZL"); + List xgzl = codeDictionariesDao.query(sonCode); Integer sonOfXGZLNum = questionnaireDetailDao.querySonOfXGZL(param.getDetailId()); - if (sonOfXGZLNum < 23) { + if (sonOfXGZLNum <= xgzl.size()) { throw new BaseException(DefaultCodeError.XGZL_INCOMPLETE); } } @@ -214,6 +220,7 @@ public class QuestionnaireService implements IQuestionnaireService{ accountManage.setSubmitterPhone(param.getPhone()); accountManage.setSubmitterUserId(userId); accountManage.setAuditStatus((byte) 0); + accountManage.setDataFrom((byte) 1); accountManageDao.insertSelective(accountManage); return new QuestionnaireVo.SubmitInfo(); // if (ObjectUtil.isNotNull(submitId)) { @@ -705,6 +712,16 @@ public class QuestionnaireService implements IQuestionnaireService{ return isShow; } + @Override + public QuestionnaireVo.HospitalName hospitalNameEcho(Long userId) { + return questionnaireRecordDao.hospitalNameEcho(userId); + } + + @Override + public List queryHospitalList(QuestionnaireDto.QueryHospitalList param, Long userId) { + return questionnaireRecordDao.queryHospitalList(param); + } + public String queryRole(Long positionId){ OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); // if (position.getCode().equals(Constant.PositionIdAndRole.CuZhongZhongXinBanGongShiZhuRen.positionCode)){ diff --git a/src/main/resources/druid-test.yml b/src/main/resources/druid-test.yml index 02c6182..7dcd6cc 100644 --- a/src/main/resources/druid-test.yml +++ b/src/main/resources/druid-test.yml @@ -27,7 +27,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://test.tall.wiki/carbasics?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://test.tall.wiki/carbasics_bak?useUnicode=true&characterEncoding=UTF-8 username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_TALL \ No newline at end of file diff --git a/src/main/resources/mapper_dao/QuestionnaireDao.xml b/src/main/resources/mapper_dao/QuestionnaireDao.xml index f151c47..ffe7400 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDao.xml @@ -160,7 +160,7 @@ WHERE rec_status = 0 AND type = 0 - ORDER BY end_time + ORDER BY end_time DESC diff --git a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml index be91950..bc5eac6 100644 --- a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml @@ -49,6 +49,41 @@ (select d.id, d.submit_status, d.updated_at from t_qcp_questionnaire_detail d, t_qcp_questionnaire_record r,t_qcp_questionnaire AS q where d.id = r.questionnaire_detail_id and d.rec_status = 0 and r.rec_status = 0 AND q.rec_status = 0 AND d.questionnaire_id = #{qid} ) t1 group by t1.id + ORDER BY updateTime + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_raw/AccountManageMapper.xml b/src/main/resources/mapper_raw/AccountManageMapper.xml index c6b6fa8..e1aea4e 100644 --- a/src/main/resources/mapper_raw/AccountManageMapper.xml +++ b/src/main/resources/mapper_raw/AccountManageMapper.xml @@ -13,6 +13,7 @@ + @@ -77,8 +78,8 @@ id, hospital_name, department_name, department_code, position_name, position_code, - submitter, submitter_phone, submitter_user_id, aduit_user_id, audit_status, created_at, - updated_at, rec_status + submitter, submitter_phone, submitter_user_id, aduit_user_id, audit_status, data_from, + created_at, updated_at, rec_status