diff --git a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java index 6c27a92b..fa092ce5 100644 --- a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java +++ b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java @@ -51,10 +51,7 @@ public class FmsFollowupController { private FmsFollowupQueueService fmsFollowupQueueService; @Resource private FmsFollowupService fmsFollowupService; - @Resource - private TaskService taskService; - @Resource - private UmsDataSourceDao umsDataSourceDao; + @ApiOperation("查询公共队列") @PostMapping("/commonQueue") diff --git a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java index 3450af1b..1765eb48 100644 --- a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java +++ b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java @@ -1,13 +1,64 @@ package com.acupuncture.web.controller.web; +import com.acupuncture.common.core.domain.JsonResponse; +import com.acupuncture.system.domain.dto.StatisticsDto; +import com.acupuncture.system.domain.vo.StatisticsVo; +import com.acupuncture.system.service.StatisticsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + /** * @Author zzc * @Package com.acupuncture.web.controller.web * @Date 2025/2/13 8:58 * @description: */ +@Slf4j +@Api(tags = "统计相关") +@RestController +@RequestMapping("/statistic") public class StatisticsController { + @Resource + private StatisticsService statisticsService; + + @ApiOperation("患者统计") + @PostMapping("/patientTotal") + public JsonResponse queryPatientStatistics(@RequestBody @Validated StatisticsDto.Query dto) { + return JsonResponse.ok(statisticsService.queryPatientStatistics(dto)); + } + + @ApiOperation("诊疗统计") + @PostMapping("/zlInfo") + public JsonResponse queryZlStatistics(@RequestBody @Validated StatisticsDto.Query dto) { + return JsonResponse.ok(statisticsService.queryZlStatistics(dto)); + } + + @ApiOperation("治疗类型统计") + @PostMapping("/zlType") + public JsonResponse queryZlTypeStatistics(@RequestBody @Validated StatisticsDto.Query dto) { + return JsonResponse.ok(statisticsService.queryZlTypeStatistics(dto)); + } + + @ApiOperation("随访分布统计") + @PostMapping("/sffb") + public JsonResponse querySfStatistics(@RequestBody @Validated StatisticsDto.Query dto) { + return JsonResponse.ok(statisticsService.querySfStatistics(dto)); + } + @ApiOperation("失访统计") + @PostMapping("/sftj") + public JsonResponse> querySfTjStatistics(@RequestBody @Validated StatisticsDto.Query dto) { + return JsonResponse.ok(statisticsService.querySfTjStatistics(dto)); + } } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/StatisticsDto.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/StatisticsDto.java new file mode 100644 index 00000000..fefd553e --- /dev/null +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/StatisticsDto.java @@ -0,0 +1,26 @@ +package com.acupuncture.system.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zzc + * @Package com.acupuncture.system.domain.dto + * @Date 2025/2/13 10:52 + * @description: + */ +public class StatisticsDto { + + @Data + public static class Query { + @ApiModelProperty("开始时间") + private Date startTime; + @ApiModelProperty("结束时间") + private Date endTime; + @ApiModelProperty("统计方式 0:周 1:月 2:季 3:年") + private Integer timeType; + } + +} diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java index 4d91a04f..f708a2b7 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java @@ -2,10 +2,12 @@ package com.acupuncture.system.domain.vo; import com.acupuncture.common.annotation.DataSource; import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -21,13 +23,13 @@ public class StatisticsVo { @ApiModel("患者统计") public static class PatientVo { private Integer totalPatients; - @JsonFormat(pattern = "yyyy-MM-dd") - private Date date; - + @ApiModelProperty("性别统计") private GenderVo gender; + @ApiModelProperty("年龄统计") private AgeVo age; + @ApiModelProperty("疾病统计") private JwbzVo jwbz; @Data @@ -42,35 +44,102 @@ public class StatisticsVo { @Data public static class AgeVo { + @ApiModelProperty("0-40") private Integer num1; + @ApiModelProperty("41-50") private Integer num2; + @ApiModelProperty("51-60") private Integer num3; + @ApiModelProperty("61-70") private Integer num4; + @ApiModelProperty("71-80") private Integer num5; + @ApiModelProperty("80") private Integer num6; } @Data public static class JwbzVo { + @ApiModelProperty("高血压") private Integer gxy; + @ApiModelProperty("脑血管病") private Integer nxgb; + @ApiModelProperty("恶性肿瘤") private Integer exzl; + @ApiModelProperty("冠心病") private Integer gxb; + @ApiModelProperty("精神疾病") private Integer jsjb; + @ApiModelProperty("胃和十二指肠溃疡") private Integer whsezcky; + @ApiModelProperty("肥胖症") private Integer fpz; + @ApiModelProperty("骨质疏松症") private Integer gzssz; + @ApiModelProperty("遗传性、先天性疾病") private Integer ycxXtxjb; + @ApiModelProperty("糖尿病") private Integer tnb; + @ApiModelProperty("慢性肺系疾病") private Integer mxfxjb; + @ApiModelProperty("高脂血症") private Integer gzxz; + @ApiModelProperty("肝脏疾病") private Integer gzjb; + @ApiModelProperty("过敏性疾病") private Integer gmxjb; + @ApiModelProperty("关节炎") private Integer gjy; + @ApiModelProperty("痛风") private Integer tf; + @ApiModelProperty("肾炎、肾病") private Integer sySb; + @ApiModelProperty("其他") private Integer other; + public List sortFields() { + List sortList = new ArrayList<>(); + + // 将所有字段及其类型放入列表 + sortList.add(new TreamentVo.SortVo(gxy, 0, "高血压")); + sortList.add(new TreamentVo.SortVo(nxgb, 1, "脑血管病")); + sortList.add(new TreamentVo.SortVo(exzl, 2, "恶性肿瘤")); + sortList.add(new TreamentVo.SortVo(gxb, 3, "冠心病")); + sortList.add(new TreamentVo.SortVo(jsjb, 4, "精神疾病")); + sortList.add(new TreamentVo.SortVo(whsezcky, 5, "胃和十二指肠溃疡")); + sortList.add(new TreamentVo.SortVo(fpz, 6, "肥胖症")); + sortList.add(new TreamentVo.SortVo(gzssz, 7, "骨质疏松症")); + sortList.add(new TreamentVo.SortVo(ycxXtxjb, 8, "遗传性、先天性疾病")); + sortList.add(new TreamentVo.SortVo(tnb, 9, "糖尿病")); + sortList.add(new TreamentVo.SortVo(mxfxjb, 10, "慢性肺系疾病")); + sortList.add(new TreamentVo.SortVo(gzxz, 11, "高脂血症")); + sortList.add(new TreamentVo.SortVo(gzjb, 12, "肝脏疾病")); + sortList.add(new TreamentVo.SortVo(gmxjb, 13, "过敏性疾病")); + sortList.add(new TreamentVo.SortVo(gjy, 14, "关节炎")); + sortList.add(new TreamentVo.SortVo(tf, 15, "痛风")); + sortList.add(new TreamentVo.SortVo(sySb, 16, "肾炎、肾病")); + + // 使用选择排序算法对列表进行排序 + for (int i = 0; i < sortList.size() - 1; i++) { + int minIndex = i; + for (int j = i + 1; j < sortList.size(); j++) { + if (sortList.get(j).getTotal() > sortList.get(minIndex).getTotal()) { + minIndex = j; + } + } + if (minIndex != i) { + TreamentVo.SortVo temp = sortList.get(i); + sortList.set(i, sortList.get(minIndex)); + sortList.set(minIndex, temp); + } + } + + // 设置排序位置 + for (int i = 0; i < sortList.size(); i++) { + sortList.get(i).setSort(i + 1); + } + return sortList; + } } } @@ -79,16 +148,31 @@ public class StatisticsVo { @ApiModel("诊疗信息") public static class TreamentVo { + @ApiModelProperty("排名信息") private List sort; - + @ApiModelProperty("体型分布") private TxfbVo txfb; + @ApiModelProperty("中医体质分布") + private ZytzVo zytz; + @ApiModelProperty("体态") + private TtfbVo ttfb; + @ApiModelProperty("失眠") + private SmfbVo smfb; + @ApiModelProperty("焦虑") + private JlfbVo jlfb; @Data @ApiModel("排名信息") public static class SortVo { private Integer total; private Integer sort; - private Integer type; + private String type; + + public SortVo(Integer total, Integer sort, String type) { + this.total = total; + this.sort = sort; + this.type = type; + } } @Data @@ -96,8 +180,6 @@ public class StatisticsVo { public static class TxfbVo { @ApiModelProperty("") private Integer total; - @ApiModelProperty("") - private Integer date; @ApiModelProperty("隐形肥胖型") private Integer yxfpz; @ApiModelProperty("脂肪过多型") @@ -117,5 +199,234 @@ public class StatisticsVo { @ApiModelProperty("运动员型") private Integer ydyx; } + + @Data + @ApiModel("体型分布") + public static class ZytzVo { + @ApiModelProperty("") + private Integer total; + @ApiModelProperty("平和质") + private Integer phz; + @ApiModelProperty("气虚质") + private Integer qxz; + @ApiModelProperty("阳虚质") + private Integer yangxz; + @ApiModelProperty("阴虚质") + private Integer yinxz; + @ApiModelProperty("痰湿质") + private Integer tsz; + @ApiModelProperty("湿热质") + private Integer srz; + @ApiModelProperty("血瘀质") + private Integer xyz; + @ApiModelProperty("气郁质") + private Integer qyz; + @ApiModelProperty("特禀质") + private Integer tlz; + } + + @Data + @ApiModel("体态分布") + public static class TtfbVo { + @ApiModelProperty("") + private Integer score1; + @ApiModelProperty("") + private Integer score2; + @ApiModelProperty("") + private Integer score3; + @ApiModelProperty("") + private Integer score4; + @ApiModelProperty("") + private Integer score5; + } + + @Data + @ApiModel("失眠分布") + public static class SmfbVo { + @ApiModelProperty("") + private Integer score1; + @ApiModelProperty("") + private Integer score2; + @ApiModelProperty("") + private Integer score3; + @ApiModelProperty("") + private Integer score4; + @ApiModelProperty("") + private Integer score5; + } + + @Data + @ApiModel("焦虑分布") + public static class JlfbVo { + @ApiModelProperty("") + private Integer score1; + @ApiModelProperty("") + private Integer score2; + @ApiModelProperty("") + private Integer score3; + @ApiModelProperty("") + private Integer score4; + } + } + + @Data + @ApiModel("治疗类型") + public static class ZlTypeVo { + @ApiModelProperty("治疗类型统计") + private Zllxtj zllxtj; + @ApiModelProperty("病种方法分布") + private BzfffbVo bzfffb; + @ApiModelProperty("病种穴位分布") + private BzxwfbVo bzxwfb; + @ApiModelProperty("治疗效果统计") + private ZlxgVo zlxwfb; + @ApiModelProperty("诊疗费用分布") + private ZlfyVo zlfy; + + @Data + @ApiModel("治疗类型统计") + public static class Zllxtj { + private Integer zxyjh; + private Integer czy; + } + + @Data + @ApiModel("病种方法分布") + public static class BzfffbVo { + private Fpz fpz; + private Smz smz; + private Otherbz otherbz; + + @Data + @ApiModel("肥胖症") + public static class Fpz { + @ApiModelProperty("行为心理干预") + private Integer xwxlg; + @ApiModelProperty("运动干预") + private Integer ydgy; + @ApiModelProperty("临床营养治疗") + private Integer lcyyzl; + @ApiModelProperty("针灸疗法") + private Integer zjlf; + @ApiModelProperty("药物治疗") + private Integer ywzl; + } + + @Data + @ApiModel("失眠症") + public static class Smz { + @ApiModelProperty("生活习惯") + private Integer shxg; + @ApiModelProperty("心理调适") + private Integer xlts; + @ApiModelProperty("针灸") + private Integer zj; + @ApiModelProperty("药物治疗") + private Integer ywzl; + } + + @Data + @ApiModel("失眠症") + public static class Otherbz { + @ApiModelProperty("针灸") + private Integer zj; + @ApiModelProperty("药物治疗") + private Integer ywzl; + } + } + + @Data + @ApiModel("病种穴位分布") + public static class BzxwfbVo { + @ApiModelProperty("肥胖症病种穴位分布") + private Bzxwfb fpzbzxwfb; + @ApiModelProperty("失眠症病种穴位分布") + private Bzxwfb smzbzxwfb; + @ApiModelProperty("其他病种穴位分布") + private Bzxwfb qtbzxwfb; + + @Data + @ApiModel("病种穴位分布") + public static class Bzxwfb { + @ApiModelProperty("足三里") + private Integer zsl; + @ApiModelProperty("中脘") + private Integer zr; + @ApiModelProperty("天枢") + private Integer tq; + @ApiModelProperty("神门") + private Integer sm; + @ApiModelProperty("三阴交") + private Integer syj; + @ApiModelProperty("百会") + private Integer bh; + @ApiModelProperty("其他") + private Integer am; + @ApiModelProperty("药物治疗") + private Integer other; + } + } + + @Data + @ApiModel("治疗效果统计") + public static class ZlxgVo { + @ApiModelProperty("治愈") + private Integer zy; + @ApiModelProperty("显效") + private Integer xx; + @ApiModelProperty("好转") + private Integer hz; + @ApiModelProperty("无效") + private Integer wx; + } + + @Data + @ApiModel("诊疗费用分布") + public static class ZlfyVo { + @ApiModelProperty("<300元") + private Integer score1; + @ApiModelProperty("300 ~ 900元") + private Integer score2; + @ApiModelProperty("900 ~ 2000元") + private Integer score3; + @ApiModelProperty("2000 ~ 5000元") + private Integer score4; + @ApiModelProperty(">5000元") + private Integer score5; + } + } + + @Data + @ApiModel("随访分布") + public static class SffbVo { + @ApiModelProperty("减重队列") + private DlVo jzdl; + @ApiModelProperty("失眠队列") + private DlVo smdl; + + @Data + @ApiModel("队列") + public static class DlVo { + private Long queueId; + @ApiModelProperty("人数") + private Integer num; + @ApiModelProperty("待随访") + private Integer dsf; + @ApiModelProperty("临近随访") + private Integer ljsf; + @ApiModelProperty("超期随访") + private Integer cqsf; + @ApiModelProperty("正常随访") + private Integer zc; + } + } + + @Data + @ApiModel("失访统计") + public static class SftjVo { + @ApiModelProperty("失访数量") + private Integer num; + @ApiModelProperty("失访原因") + private String reason; } } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/StatisticsDao.java b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/StatisticsDao.java new file mode 100644 index 00000000..b943a575 --- /dev/null +++ b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/StatisticsDao.java @@ -0,0 +1,79 @@ +package com.acupuncture.system.persist.dao; + +import com.acupuncture.system.domain.dto.StatisticsDto; +import com.acupuncture.system.domain.vo.StatisticsVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author zzc + * @Package com.acupuncture.system.persist.dao + * @Date 2025/2/13 14:07 + * @description: + */ +public interface StatisticsDao { + + /** + * 患者统计 + * + * @param dto + * @param tenantId + * @return + */ + StatisticsVo.PatientVo.GenderVo queryGenderStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + /** + * 年龄统计 + * + * @param dto + * @param tenantId + * @return + */ + StatisticsVo.PatientVo.AgeVo queryAgeStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.PatientVo.JwbzVo queryJwbzStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + Integer queryTotalPatient(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.TreamentVo.TxfbVo queryTxfbStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.TreamentVo.ZytzVo queryZytzStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.ZlTypeVo.Zllxtj queryZllxtjStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + + StatisticsVo.ZlTypeVo.BzfffbVo.Fpz queryFpzStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.ZlTypeVo.ZlxgVo queryZlxgStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.ZlTypeVo.ZlfyVo queryZlfyStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + List querySftjStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + List querySfStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.TreamentVo.TtfbVo queryTtfbStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.TreamentVo.SmfbVo querySmfbStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.TreamentVo.JlfbVo queryJlfbStatistics(@Param("dto") StatisticsDto.Query dto, + @Param("tenantId") Long tenantId); + + StatisticsVo.ZlTypeVo.BzfffbVo.Smz querySmzStatistics(StatisticsDto.Query dto, Long tenantId); +} + diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java index 0cc0fad3..58d135cf 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java @@ -1,5 +1,10 @@ package com.acupuncture.system.service; +import com.acupuncture.system.domain.dto.StatisticsDto; +import com.acupuncture.system.domain.vo.StatisticsVo; + +import java.util.List; + /** * @Author zzc * @Package com.acupuncture.system.service @@ -8,6 +13,43 @@ package com.acupuncture.system.service; */ public interface StatisticsService { + /** + * 患者统计 + * + * @param dto + * @return + */ + StatisticsVo.PatientVo queryPatientStatistics(StatisticsDto.Query dto); + + /** + * 诊疗统计 + * + * @param dto + * @return + */ + StatisticsVo.TreamentVo queryZlStatistics(StatisticsDto.Query dto); + + /** + * 治疗类型统计 + * + * @param dto + * @return + */ + StatisticsVo.ZlTypeVo queryZlTypeStatistics(StatisticsDto.Query dto); + /** + * 随访分布统计 + * + * @param dto + * @return + */ + StatisticsVo.SffbVo querySfStatistics(StatisticsDto.Query dto); + /** + * 失访统计 + * + * @param dto + * @return + */ + List querySfTjStatistics(StatisticsDto.Query dto); } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java index da82f9f2..ab061999 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java @@ -1,6 +1,16 @@ package com.acupuncture.system.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.acupuncture.common.utils.SecurityUtils; +import com.acupuncture.system.domain.dto.StatisticsDto; +import com.acupuncture.system.domain.vo.StatisticsVo; +import com.acupuncture.system.persist.dao.StatisticsDao; import com.acupuncture.system.service.StatisticsService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; /** * @Author zzc @@ -8,5 +18,76 @@ import com.acupuncture.system.service.StatisticsService; * @Date 2025/2/13 8:58 * @description: */ +@Service public class StatisticsServiceImpl implements StatisticsService { + @Resource + private StatisticsDao statisticsDao; + + @Override + public StatisticsVo.PatientVo queryPatientStatistics(StatisticsDto.Query dto) { + StatisticsVo.PatientVo patientVo = new StatisticsVo.PatientVo(); + patientVo.setGender(statisticsDao.queryGenderStatistics(dto, SecurityUtils.getTenantId())); + patientVo.setAge(statisticsDao.queryAgeStatistics(dto, SecurityUtils.getTenantId())); + patientVo.setJwbz(statisticsDao.queryJwbzStatistics(dto, SecurityUtils.getTenantId())); + patientVo.setTotalPatients(statisticsDao.queryTotalPatient(dto, SecurityUtils.getTenantId())); + return patientVo; + } + + @Override + public StatisticsVo.TreamentVo queryZlStatistics(StatisticsDto.Query dto) { + StatisticsVo.TreamentVo treamentVo = new StatisticsVo.TreamentVo(); + StatisticsVo.PatientVo.JwbzVo jwbzVo = statisticsDao.queryJwbzStatistics(dto, SecurityUtils.getTenantId()); + if (jwbzVo != null) { + treamentVo.setSort(jwbzVo.sortFields()); + } + treamentVo.setTxfb(statisticsDao.queryTxfbStatistics(dto, SecurityUtils.getTenantId())); + treamentVo.setZytz(statisticsDao.queryZytzStatistics(dto, SecurityUtils.getTenantId())); + treamentVo.setTtfb(statisticsDao.queryTtfbStatistics(dto, SecurityUtils.getTenantId())); + treamentVo.setSmfb(statisticsDao.querySmfbStatistics(dto, SecurityUtils.getTenantId())); + treamentVo.setJlfb(statisticsDao.queryJlfbStatistics(dto, SecurityUtils.getTenantId())); + return treamentVo; + } + + @Override + public StatisticsVo.ZlTypeVo queryZlTypeStatistics(StatisticsDto.Query dto) { + StatisticsVo.ZlTypeVo zlTypeVo = new StatisticsVo.ZlTypeVo(); + zlTypeVo.setZllxtj(statisticsDao.queryZllxtjStatistics(dto, SecurityUtils.getTenantId())); + + StatisticsVo.ZlTypeVo.BzfffbVo bzfffbVo = new StatisticsVo.ZlTypeVo.BzfffbVo(); + bzfffbVo.setFpz(statisticsDao.queryFpzStatistics(dto, SecurityUtils.getTenantId())); + bzfffbVo.setSmz(statisticsDao.querySmzStatistics(dto, SecurityUtils.getTenantId())); + //TODO + zlTypeVo.setBzfffb(bzfffbVo); + zlTypeVo.setZlxwfb(statisticsDao.queryZlxgStatistics(dto, SecurityUtils.getTenantId())); + zlTypeVo.setZlfy(statisticsDao.queryZlfyStatistics(dto, SecurityUtils.getTenantId())); + return zlTypeVo; + } + + @Override + public StatisticsVo.SffbVo querySfStatistics(StatisticsDto.Query dto) { + StatisticsVo.SffbVo sffbVo = new StatisticsVo.SffbVo(); + List dlVos = statisticsDao.querySfStatistics(dto, SecurityUtils.getTenantId()); + if (CollUtil.isNotEmpty(dlVos)) { + for (StatisticsVo.SffbVo.DlVo dlVo : dlVos) { + if (dlVo.getQueueId() == 10L) { + //减重队列 + StatisticsVo.SffbVo.DlVo jzdl = new StatisticsVo.SffbVo.DlVo(); + BeanUtil.copyProperties(dlVo, jzdl); + sffbVo.setJzdl(jzdl); + }else if (dlVo.getQueueId() == 11L) { + //失眠队列 + //减重队列 + StatisticsVo.SffbVo.DlVo smdl = new StatisticsVo.SffbVo.DlVo(); + BeanUtil.copyProperties(dlVo, smdl); + sffbVo.setSmdl(smdl); + } + } + } + return sffbVo; + } + + @Override + public List querySfTjStatistics(StatisticsDto.Query dto) { + return statisticsDao.querySftjStatistics(dto, SecurityUtils.getTenantId()); + } } diff --git a/acupuncture-system/src/main/resources/mapper/dao/StatisticsDao.xml b/acupuncture-system/src/main/resources/mapper/dao/StatisticsDao.xml new file mode 100644 index 00000000..f2a6080d --- /dev/null +++ b/acupuncture-system/src/main/resources/mapper/dao/StatisticsDao.xml @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +