Browse Source

统计bug修复,病例列表修改

master
ma 4 years ago
parent
commit
3fc3e07030
  1. 4
      src/main/java/com/ccsens/carbasics/api/AccountManageController.java
  2. 9
      src/main/java/com/ccsens/carbasics/api/FirstAidController.java
  3. 4
      src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java
  4. 3
      src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java
  5. 4
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java
  6. 26
      src/main/java/com/ccsens/carbasics/service/AccountManageService.java
  7. 41
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  8. 2
      src/main/java/com/ccsens/carbasics/service/IAccountManageService.java
  9. 7
      src/main/java/com/ccsens/carbasics/service/IFirstAidService.java
  10. 2
      src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java
  11. 12
      src/main/resources/mapper_dao/DataStatisticsDao.xml
  12. 13
      src/main/resources/mapper_dao/FirstAidDao.xml
  13. 2
      src/main/resources/mapper_dao/OrganizationDepartmentDao.xml

4
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<AccountVo.DepartmentList> queryDepartment(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<AccountVo.DepartmentList> queryDepartment(@ApiParam @Validated @RequestBody QueryDto<AccountDto.QueryPositionOfHospital> params) throws Exception{
log.info("查询部门与职位开始{}",params);
List<AccountVo.DepartmentList> departmentList = accountManageService.queryDepartment(params.getUserId());
List<AccountVo.DepartmentList> departmentList = accountManageService.queryDepartment(params.getParam(),params.getUserId());
log.info("查询部门与职位结束:{}",departmentList);
return JsonResponse.newInstance().ok(departmentList);
}

9
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<FirstAidDto.Project> params) throws Exception{
log.info("删除演示急救开始:{}", params);
firstAidService.delDemo(params.getParam(), params.getUserId());
log.info("删除演示急救结束");
return JsonResponse.newInstance().ok();
}
}

4
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<FirstAidLogVo.Member> doctors;

3
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<PatientVo.PatientListByQuality> queryPatientListByQualityNew(@Param("departmentIdList") List<Long> departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param);
List<PatientVo.PatientListByQuality> queryPatientListByQualityNew(@Param("departmentIdList") List<Long> departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param,@Param("hid")Long hospitalId);
}

4
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);
}

26
src/main/java/com/ccsens/carbasics/service/AccountManageService.java

@ -124,8 +124,31 @@ public class AccountManageService implements IAccountManageService {
@Override
public List<AccountVo.DepartmentList> queryDepartment(Long userId) {
public List<AccountVo.DepartmentList> queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId) {
List<AccountVo.DepartmentList> departmentList = new ArrayList<>();
List<Object> 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<com.ccsens.common.bean.po.Constant> specialDataList = constantMapper.selectByExample(specialExample);
if (CollectionUtil.isNotEmpty(specialDataList)) {
JSONArray jsonArray = JSONObject.parseArray(specialDataList.get(0).gettValue());
List<AccountVo.DepartmentList> departmentLists = jsonArray.toJavaList(AccountVo.DepartmentList.class);
for (AccountVo.DepartmentList list : departmentLists) {
redisUtil.lSet(Constant.DEPARTMENT_POSITION_KEY+param.getName(),list);
}
return departmentLists;
}
//正常查询
List<Object> 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;
}

41
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<PatientVo.PatientListByQuality> 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<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param);
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param);
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param,hid);
return new PageInfo<>(patientList);
}

2
src/main/java/com/ccsens/carbasics/service/IAccountManageService.java

@ -33,7 +33,7 @@ public interface IAccountManageService {
* @param userId 用户id
* @return 部门列表及职位
*/
List<AccountVo.DepartmentList> queryDepartment(Long userId);
List<AccountVo.DepartmentList> queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId);
/**
* 查询医院下的申请

7
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);
}

2
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();

12
src/main/resources/mapper_dao/DataStatisticsDao.xml

@ -105,7 +105,7 @@
<select id="queryJmrsForHospital" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$AreaResult">
SELECT
gediAis.hname AS `name`,
IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`,1),0) AS `value`,
IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`+0.001,1),0.0) AS `value`,
gediRszs.`value` AS rsTotal
FROM
(SELECT
@ -1016,7 +1016,6 @@
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
@ -1039,8 +1038,7 @@
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
@ -1154,7 +1152,7 @@
answer1.qjxgnzlzs,
answer2.sjxgnzlzrs AS fqjxgnzlzs,
(answer1.qjxgnzlzs+answer2.sjxgnzlzrs) AS xgnzlzs,
round(answer2.sjxgnzlzrs*100/answer3.rshfhxgnzlzzzrs,1) AS qjxgnzll,
round(answer1.qjxgnzlzs*100/answer3.rshfhxgnzlzzzrs,1) AS qjxgnzll,
round(answer2.sjxgnzlzrs*100/answer4.fhxgnzlzzzrs,1) AS fqjxgnzll,
round((answer1.qjxgnzlzs+answer2.sjxgnzlzrs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),1) AS zxgnzll
FROM
@ -1246,8 +1244,8 @@
a1.name,
a1.fqjxgnzlzs,
a1.qjxgnzlzs,
a1.zxgnzll,
a2.zxgnzllCity
a1.zxgnzll AS zxgnzllCity,
a2.zxgnzllCity AS zxgnzll
FROM
(SELECT
a.id AS areaId,

13
src/main/resources/mapper_dao/FirstAidDao.xml

@ -8,7 +8,9 @@
<select id="querySelf" resultType="com.ccsens.carbasics.bean.vo.PatientVo$QueryPatientList">
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 @@
<when test="param.firstAidType == 1">and r2.question_code='CYQK-CYSJ'</when>
</choose>
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
<choose>
<when test="param.type == 0">
@ -44,7 +52,7 @@
<if test="param.name != null and param.name != ''">
and a.name like concat('%', #{param.name}, '%')
</if>
order by a.updated_at desc
order by r2.answer IS NOT NULL,r2.answer DESC,a.created_at DESC
</select>
@ -318,6 +326,7 @@
t_organization_member
WHERE
rec_status = 0
AND hospital_id = #{hid}
AND id IN (
SELECT
member_id

2
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}
</select>
</mapper>
Loading…
Cancel
Save