diff --git a/src/main/java/com/ccsens/carbasics/api/AccountManageController.java b/src/main/java/com/ccsens/carbasics/api/AccountManageController.java index 5b4a9d7..ca63cac 100644 --- a/src/main/java/com/ccsens/carbasics/api/AccountManageController.java +++ b/src/main/java/com/ccsens/carbasics/api/AccountManageController.java @@ -67,9 +67,9 @@ public class AccountManageController { @MustLogin @ApiOperation(value = "查询部门与职位", notes = "") @RequestMapping(value = "/queryDepartment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryDepartment(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + public JsonResponse queryDepartment(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("查询部门与职位开始{}",params); - List departmentList = accountManageService.queryDepartment(params.getUserId()); + List departmentList = accountManageService.queryDepartment(params.getParam(),params.getUserId()); log.info("查询部门与职位结束:{}",departmentList); return JsonResponse.newInstance().ok(departmentList); } diff --git a/src/main/java/com/ccsens/carbasics/api/FirstAidController.java b/src/main/java/com/ccsens/carbasics/api/FirstAidController.java index bdbe1b9..1fa8fa2 100644 --- a/src/main/java/com/ccsens/carbasics/api/FirstAidController.java +++ b/src/main/java/com/ccsens/carbasics/api/FirstAidController.java @@ -64,4 +64,13 @@ public class FirstAidController { return JsonResponse.newInstance().ok(projectDetail); } + @MustLogin + @ApiOperation(value = "删除演示急救", notes = "") + @RequestMapping(value = "/delDemo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delDemo(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("删除演示急救开始:{}", params); + firstAidService.delDemo(params.getParam(), params.getUserId()); + log.info("删除演示急救结束"); + return JsonResponse.newInstance().ok(); + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java index ab13be3..9984af4 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java @@ -53,6 +53,10 @@ public class PatientVo { private String probableCase; @ApiModelProperty("录入人ID") private Long recordUserId; + @ApiModelProperty("是否进行静脉溶栓 0否 1是") + private Byte isJmrs; + @ApiModelProperty("是否进行血管治疗 0否 1是") + private Byte isXgzl; @ApiModelProperty("参与者") private List doctors; diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java index f5589fc..579170d 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java @@ -83,7 +83,8 @@ public interface FirstAidDao extends FirstAidMapper { * @param departmentIdList 部门idList * @param departmentIdStr 部门id字符串 * @param param 参数 + * @param hospitalId 医院id * @return 急救列表 */ - List queryPatientListByQualityNew(@Param("departmentIdList") List departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param); + List queryPatientListByQualityNew(@Param("departmentIdList") List departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param,@Param("hid")Long hospitalId); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java index 0461a37..622ea73 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java @@ -11,8 +11,8 @@ public interface OrganizationDepartmentDao extends OrganizationDepartmentMapper /** * 根据机构id和部门code查询机构下的所有部门 * @param organizationId 机构id - * @param code 部门code + * @param name 医院名称 * @return 部门列表 */ - OrganizationDepartment queryByOrganization(@Param("organizationId") Long organizationId,@Param("code")String code); + OrganizationDepartment queryByOrganization(@Param("organizationId") Long organizationId,@Param("name")String name); } diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index 62d37ff..ac43c50 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -124,8 +124,31 @@ public class AccountManageService implements IAccountManageService { @Override - public List queryDepartment(Long userId) { + public List queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId) { List departmentList = new ArrayList<>(); + List specialList = redisUtil.lGet(Constant.DEPARTMENT_POSITION_KEY + param.getName(), 0, -1); + log.info("redis获取到的特殊职位信息{}",specialList); + if (CollectionUtil.isNotEmpty(specialList)) { + for (Object special : specialList) { + AccountVo.DepartmentList departmentListRedis = (AccountVo.DepartmentList) special; + departmentList.add(departmentListRedis); + } + return departmentList; + } + //查询特殊职位 + ConstantExample specialExample = new ConstantExample(); + specialExample.createCriteria().andBusinessTypeEqualTo((byte) 2) + .andTKeyEqualTo(Constant.DEPARTMENT_POSITION_KEY+param.getName()); + List specialDataList = constantMapper.selectByExample(specialExample); + if (CollectionUtil.isNotEmpty(specialDataList)) { + JSONArray jsonArray = JSONObject.parseArray(specialDataList.get(0).gettValue()); + List departmentLists = jsonArray.toJavaList(AccountVo.DepartmentList.class); + for (AccountVo.DepartmentList list : departmentLists) { + redisUtil.lSet(Constant.DEPARTMENT_POSITION_KEY+param.getName(),list); + } + return departmentLists; + } + //正常查询 List objects = redisUtil.lGet(Constant.DEPARTMENT_POSITION_KEY, 0, -1); log.info("redis获取到的职位信息{}",objects); if (CollectionUtil.isNotEmpty(objects)) { @@ -146,6 +169,7 @@ public class AccountManageService implements IAccountManageService { for (AccountVo.DepartmentList list : departmentLists) { redisUtil.lSet(Constant.DEPARTMENT_POSITION_KEY,list); } + return departmentLists; } return departmentList; } diff --git a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java index 756d33f..703f422 100644 --- a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java @@ -67,6 +67,8 @@ public class FirstAidService implements IFirstAidService{ @Resource private PatientDao patientDao; @Resource + private OrganizationProjectDao organizationProjectDao; + @Resource private RedisUtil redisUtil; @@ -220,6 +222,36 @@ public class FirstAidService implements IFirstAidService{ return firstAid; } + @Override + public void delDemo(FirstAidDto.Project param, Long userId) { + FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId()); + if (ObjectUtil.isNull(firstAid)) { + throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); + } + if (ObjectUtil.isNull(firstAid.getValueType()) || 1 != firstAid.getValueType()) { + throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); + } + FirstAidMember byAidId = firstAidMemberDao.findByAidId(param.getFirstAidId()); + if (!userId.equals(byAidId.getCreateUserId())) { + throw new BaseException(DefaultCodeError.NO_POWER); + } + //删除急救 + firstAid.setRecStatus((byte) 2); + firstAidDao.updateByPrimaryKeySelective(firstAid); + //删除first_aid_member + FirstAidMemberExample firstAidMemberExample = new FirstAidMemberExample(); + firstAidMemberExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId()); + FirstAidMember firstAidMember = new FirstAidMember(); + firstAidMember.setRecStatus((byte) 2); + firstAidMemberDao.updateByExampleSelective(firstAidMember,firstAidMemberExample); + //删除first_aid_record + FirstAidRecordExample firstAidRecordExample = new FirstAidRecordExample(); + firstAidRecordExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId()); + FirstAidRecord firstAidRecord = new FirstAidRecord(); + firstAidRecord.setRecStatus((byte) 2); + firstAidRecordMapper.updateByExampleSelective(firstAidRecord,firstAidRecordExample); + } + @Override public PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId) { PatientVo.GetPatient getPatient = new PatientVo.GetPatient(); @@ -328,9 +360,10 @@ public class FirstAidService implements IFirstAidService{ public PageInfo queryPatientListByQuality(PatientDto.QueryListByQuality param, Long userId) { //根据项目id查找医院id // FirstAid firstAid = firstAidDao.getIdByProjectId(param.getProjectId()); -// if(ObjectUtil.isNull(firstAid) || ObjectUtil.isNull(firstAid.getHospitalId())){ -// throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID); -// } + Long hid = organizationProjectDao.queryByProjectId(param.getProjectId()); + if(ObjectUtil.isNull(hid)){ + throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID); + } //查找当前用户的职位和科室 // OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); // //用户的科室必须是医院的科室 @@ -360,7 +393,7 @@ public class FirstAidService implements IFirstAidService{ //查找病例信息 PageHelper.startPage(param.getPageNum(),param.getPageSize()); // List patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param); - List patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param); + List patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param,hid); return new PageInfo<>(patientList); } diff --git a/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java b/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java index a9b3ea1..8baf64b 100644 --- a/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java @@ -33,7 +33,7 @@ public interface IAccountManageService { * @param userId 用户id * @return 部门列表及职位 */ - List queryDepartment(Long userId); + List queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId); /** * 查询医院下的申请 diff --git a/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java b/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java index 825e56f..d333f9c 100644 --- a/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java @@ -105,4 +105,11 @@ public interface IFirstAidService { FirstAid getFirstAid(PatientDto.SavePatient param, Long userId, Byte position, Long organizationId,Byte createUserType); + + /** + * 删除演示急救 + * @param param 急救id + * @param userId 用户id + */ + void delDemo(FirstAidDto.Project 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 e6e8196..7b77d90 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -438,7 +438,7 @@ public class QuestionnaireService implements IQuestionnaireService{ //创建项目 return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId); }else { - OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentCode); + OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName); if (ObjectUtil.isNull(department)) { //创建部门 OrganizationDepartment newDepartment = new OrganizationDepartment(); diff --git a/src/main/resources/mapper_dao/DataStatisticsDao.xml b/src/main/resources/mapper_dao/DataStatisticsDao.xml index 3fa79e5..a4f91f0 100644 --- a/src/main/resources/mapper_dao/DataStatisticsDao.xml +++ b/src/main/resources/mapper_dao/DataStatisticsDao.xml @@ -105,7 +105,7 @@ select a.id as firstAidId, a.name, a.gender, a.age, a.data_status as dataStatus, a.value_type as demonstrate, a.type as type, r1.answer as record1, r2.answer as record2, - a.project_id as projectId, m.record_user_id as recordUserId, r3.answer as probableCase + a.project_id as projectId, m.record_user_id as recordUserId, r3.answer as probableCase, + IF(r4.answer = '是',1,0) AS isJmrs, + IF(r5.answer = '是',1,0) AS isXgzl from (select a.* from t_qcp_first_aid a, t_organization_project o where a.hospital_id = o.organization_id and o.project_id = #{param.projectId} and a.rec_status = 0 and o.rec_status = 0 )a left join t_qcp_first_aid_member m @@ -27,6 +29,12 @@ and r2.question_code='CYQK-CYSJ' left join t_qcp_first_aid_record r3 on a.id = r3.first_aid_id and r3.question_code='CJBL-YSBL' and r3.rec_status = 0 + LEFT JOIN t_qcp_first_aid_record AS r4 ON a.id = r4.first_aid_id + AND r4.rec_status = 0 + AND r4.question_code = 'ZLFA-JMRS' + LEFT JOIN t_qcp_first_aid_record AS r5 ON a.id = r5.first_aid_id + AND r5.rec_status = 0 + AND r5.question_code = 'ZLFA-XGZL' where @@ -44,7 +52,7 @@ and a.name like concat('%', #{param.name}, '%') - order by a.updated_at desc + order by r2.answer IS NOT NULL,r2.answer DESC,a.created_at DESC @@ -318,6 +326,7 @@ t_organization_member WHERE rec_status = 0 + AND hospital_id = #{hid} AND id IN ( SELECT member_id diff --git a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml index c071d17..2a01d3a 100644 --- a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml +++ b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml @@ -17,6 +17,6 @@ WHERE rec_status = 0 AND organization_id = #{organizationId} - AND `code` = #{code} + AND `name` = #{name} \ No newline at end of file