Browse Source

修改统计

whszxyjhyy
ccsens_zhengzhichuan 5 days ago
parent
commit
e5bc5012cc
  1. 3
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/persist/dao/StatisticsDao.java
  2. 9
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/StatisticsServiceImpl.java
  3. 21
      ruisi_java/ruisi-system/src/main/resources/mapper/dao/StatisticsDao.xml
  4. 22
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java

3
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/persist/dao/StatisticsDao.java

@ -21,6 +21,9 @@ public interface StatisticsDao {
*/
HomeDpVo.Zhsjgl nntotal(@Param("dto") StatisticsDto.Query dto);
Integer getPatientNum(@Param("dto") StatisticsDto.Query dto,
@Param("sex") Byte sex);
/**
* BMI
* @param dto

9
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/StatisticsServiceImpl.java

@ -32,7 +32,14 @@ public class StatisticsServiceImpl implements StatisticsService {
dto.setBeginTime(dateByType.get(0));
dto.setEndTime(dateByType.get(1));
}
return statisticsDao.nntotal(dto);
HomeDpVo.Zhsjgl nntotal = statisticsDao.nntotal(dto);
if (nntotal == null) {
nntotal = new HomeDpVo.Zhsjgl();
}
nntotal.setPtotal(statisticsDao.getPatientNum(dto, null));
nntotal.setMtotal(statisticsDao.getPatientNum(dto, (byte) 0));
nntotal.setFtotal(statisticsDao.getPatientNum(dto, (byte) 1));
return nntotal;
}
@Override

21
ruisi_java/ruisi-system/src/main/resources/mapper/dao/StatisticsDao.xml

@ -25,6 +25,27 @@
</if>
</select>
<select id="getPatientNum" resultType="java.lang.Integer">
SELECT
COUNT(DISTINCT p.id) AS total
FROM
pms_patient p
LEFT JOIN ums_user u ON p.create_by = u.user_name
where p.del_flag = 0
<if test="dto.deptId != null">
AND u.dept_id = #{dto.deptId}
</if>
<if test="dto.beginTime != null">
AND p.create_time >= #{dto.beginTime}
</if>
<if test="dto.endTime != null">
AND p.create_time &lt;= #{dto.endTime}
</if>
<if test="sex != null">
and p.sex = #{sex}
</if>
</select>
<select id="nnbmihjxy" resultType="com.ccsens.system.domain.vo.HomeDpVo$Bmi">
SELECT
SUM(CASE WHEN (pb.weight/(pb.height*pb.height/10000)) &lt; 18.5 THEN 1 ELSE 0 END) AS bmi1,

22
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java

@ -61,7 +61,7 @@ public class PmsController extends BaseController {
@ApiOperation("获取患者信息列表")
@PostMapping("/queryList")
public JsonResponse<PageInfo<PmsPatientVo.PatientList>> queryPatientList(@RequestBody @Validated BaseDto<PmsPatientDto.QueryPatient> dto) {
List<PmsPatientVo.PatientList> list = new ArrayList<>();
// List<PmsPatientVo.PatientList> list = new ArrayList<>();
// PmsPatientDto.QueryPatient param = dto.getParam();
// if (StrUtil.isNotEmpty(param.getSearchValue()) && param.getSearchValue().length() == 10) {
@ -86,18 +86,18 @@ public class PmsController extends BaseController {
startPageOvertop(dto);
List<PmsPatientVo.PatientList> serverList = patientService.queryPatientList(dto.getParam(), dataScope, loginUser.getUserId(), loginUser.getUsername());
if (CollUtil.isNotEmpty(serverList)) {
list.addAll(serverList);
}
// if (CollUtil.isNotEmpty(serverList)) {
// list.addAll(serverList);
// }
// 创建一个 TreeSet,通过 Comparator 根据 patientId 去重
Set<PmsPatientVo.PatientList> uniqueSet = new TreeSet<>(
Comparator.comparing(PmsPatientVo.PatientList::getPatientId)
);
uniqueSet.addAll(list);
List<PmsPatientVo.PatientList> uniqueList = new ArrayList<>(uniqueSet);
// // 创建一个 TreeSet,通过 Comparator 根据 patientId 去重
// Set<PmsPatientVo.PatientList> uniqueSet = new TreeSet<>(
// Comparator.comparing(PmsPatientVo.PatientList::getPatientId)
// );
// uniqueSet.addAll(list);
// List<PmsPatientVo.PatientList> uniqueList = new ArrayList<>(uniqueSet);
return JsonResponse.ok(new PageInfo<>(uniqueList));
return JsonResponse.ok(new PageInfo<>(serverList));
}
@ApiOperation("通过身份证号查询患者信息,方便页面展示返回和列表一样的格式")

Loading…
Cancel
Save