From 99bda200718634037ca119e8da824c2724140b63 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Tue, 9 Mar 2021 10:11:26 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E6=99=BA=E6=85=A7=E5=B9=B3=E8=BD=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../main/java/com/ccsens/util/DateUtil.java | 15 ++- .../wisdomcar/api/RecordController.java | 47 +++++++ .../ccsens/wisdomcar/bean/dto/RecordDto.java | 69 +++++++++++ .../ccsens/wisdomcar/bean/vo/RecordVo.java | 28 +++++ .../persist/dao/WisdomCarRecordDao.java | 23 ++++ .../wisdomcar/service/IRecordService.java | 22 ++++ .../wisdomcar/service/RecordService.java | 117 +++++++++++++++++- .../src/main/resources/application-dev.yml | 11 +- .../src/main/resources/application-prod.yml | 10 +- .../src/main/resources/application-test.yml | 9 +- wisdomcar/src/main/resources/application.yml | 4 +- .../mapper_dao/WisdomCarRecordDao.xml | 14 +++ 13 files changed, 353 insertions(+), 18 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java create mode 100644 wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml diff --git a/pom.xml b/pom.xml index ad838557..625987e1 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ - + wisdomcar beneficiation diff --git a/util/src/main/java/com/ccsens/util/DateUtil.java b/util/src/main/java/com/ccsens/util/DateUtil.java index 603ac764..0961a956 100644 --- a/util/src/main/java/com/ccsens/util/DateUtil.java +++ b/util/src/main/java/com/ccsens/util/DateUtil.java @@ -1,6 +1,5 @@ package com.ccsens.util; -import cn.hutool.core.date.DateTime; import cn.hutool.core.util.StrUtil; import com.ccsens.util.exception.BaseException; @@ -9,6 +8,20 @@ import java.text.SimpleDateFormat; import java.util.*; public class DateUtil extends cn.hutool.core.date.DateUtil { + /**年月日时分秒*/ + public static final String yyyyMMddHHmmss="yyyyMMddHHmmss"; + + /** + * 时间格式转换 + * @param date date + * @param format 格式 + * @return 时间字符串 + */ + public static String format(Date date, String format) { + SimpleDateFormat sdf = new SimpleDateFormat(format); + return sdf.format(date); + } + public static Long dateBeginSeconds(Long seconds){ if(seconds == null) { seconds = currentSeconds(); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java index 50db7110..10e4dcd9 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java @@ -1,10 +1,30 @@ package com.ccsens.wisdomcar.api; +import cn.hutool.core.util.CharsetUtil; +import com.ccsens.util.DateUtil; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.RecordDto; +import com.ccsens.wisdomcar.bean.vo.RecordVo; +import com.ccsens.wisdomcar.service.IRecordService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.Date; +import java.util.List; + /** * @author 逗 */ @@ -13,4 +33,31 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/record") public class RecordController { + + @Resource + private IRecordService recordService; + @ApiOperation(value = "查询智慧平车称重和rfid记录", notes = "") + @RequestMapping(value = "/weightList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse timeList(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("查询智慧平车称重和rfid记录:{}", params); + List list = recordService.queryWeightAndRfid(params.getParam(), params.getUserId()); + log.info("查询智慧平车称重和rfid记录结果:{}",list); + return JsonResponse.newInstance().ok(list); + } + + @ApiOperation(value = "智慧平车称重和rfid记录导出", notes = "") + @RequestMapping(value = "/weightExport", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public void weightExport(@ApiParam @Validated RecordDto.WeightAndRfidExport param, HttpServletResponse response) throws IOException { + log.info("导出智慧平车称重和rfid记录:{}", param); + Workbook workbook = recordService.exportWeightAndRfid(param); + log.info("导出智慧平车称重和rfid记录结果结束"); + Date start = new Date(); + start.setTime(param.getStartTime()); + Date end = new Date(); + end.setTime(param.getEndTime()); + String fileName = "智慧平车记录"+ DateUtil.format(start, DateUtil.yyyyMMddHHmmss) + "-" + DateUtil.format(end, DateUtil.yyyyMMddHHmmss) +".xlsx"; + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, CharsetUtil.UTF_8)); + workbook.write(response.getOutputStream()); + } + } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java new file mode 100644 index 00000000..2a8b0fdc --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/RecordDto.java @@ -0,0 +1,69 @@ +package com.ccsens.wisdomcar.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @description: 数据记录 + * @author: whj + * @time: 2021/3/5 13:59 + */ +@Data +public class RecordDto { + @Data + @ApiModel("称重和rfid记录的请求参数") + public static class WeightAndRfid{ + @ApiModelProperty("平车ID,默认1") + private Long carId = 1L; + @ApiModelProperty("开始时间, 默认今天0点") + private Long startTime; + @ApiModelProperty("结束时间, 默认当前时间") + private Long endTime; +// @ApiModelProperty("当前页,默认1") +// private int pageNum=1; +// @ApiModelProperty("每页数量,默认100") +// @Min(value = 1) +// @Max(value=10000) +// private int pageSize = 100; + + + { + endTime = System.currentTimeMillis(); + Date today = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + startTime = sdf.parse(sdf.format(today)).getTime(); + } catch (ParseException e) { + } + } + } + + + @Data + @ApiModel("称重和rfid记录导出的请求参数") + public static class WeightAndRfidExport{ + @ApiModelProperty("平车ID,默认1") + private Long carId = 1L; + @ApiModelProperty("开始时间, 默认今天0点") + private Long startTime; + @ApiModelProperty("结束时间, 默认当前时间") + private Long endTime; + + { + endTime = System.currentTimeMillis(); + Date today = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + startTime = sdf.parse(sdf.format(today)).getTime(); + } catch (ParseException e) { + } + } + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java new file mode 100644 index 00000000..2a0259e4 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/RecordVo.java @@ -0,0 +1,28 @@ +package com.ccsens.wisdomcar.bean.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @description: 数据记录 + * @author: whj + * @time: 2021/3/5 13:59 + */ +@Data +public class RecordVo { + + @Data + @ApiModel("称重和rfid记录的响应结果") + public static class WeightAndRfid{ + @ApiModelProperty("时间") + private Long time; + @ApiModelProperty("类型:1体重 2rfid") + private Byte type; + private String value; + private String name; + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java new file mode 100644 index 00000000..41f5dbe1 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java @@ -0,0 +1,23 @@ +package com.ccsens.wisdomcar.persist.dao; + +import com.ccsens.wisdomcar.bean.vo.RecordVo; +import com.ccsens.wisdomcar.persist.mapper.WisdomCarRecordMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * + * @author whj + */ +public interface WisdomCarRecordDao extends WisdomCarRecordMapper { + /** + * 查询平车的称重和rfid记录 + * @param carId 平车ID + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 称重和rfid记录 + */ + List queryWeightAndRfid(@Param("carId") Long carId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java index 1debd2fc..2b5f8076 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java @@ -1,7 +1,15 @@ package com.ccsens.wisdomcar.service; import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto; +import com.ccsens.wisdomcar.bean.dto.RecordDto; +import com.ccsens.wisdomcar.bean.vo.RecordVo; import com.fasterxml.jackson.core.JsonProcessingException; +import com.github.pagehelper.PageInfo; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.ss.usermodel.Workbook; + +import java.io.IOException; +import java.util.List; public interface IRecordService { @@ -11,4 +19,18 @@ public interface IRecordService { * @throws Exception */ void disposeMessage(CarRecordMessageDto carRecordMessageDto) throws Exception; + + /** + * 查询称重和Rfid记录 + * @param param 查询条件 + * @param userId 查询用户ID + * @return 记录 + */ + List queryWeightAndRfid(RecordDto.WeightAndRfid param, Long userId); + + /** + * 导出称重和Rfid记录 + * @param param 查询条件 + */ + Workbook exportWeightAndRfid(RecordDto.WeightAndRfidExport param) ; } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java index 50318cd4..efdcc554 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java @@ -5,28 +5,33 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.util.JacksonUtil; +import com.ccsens.util.PoiUtil; import com.ccsens.util.RedisUtil; import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.bean.message.common.MessageRule; import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto; +import com.ccsens.wisdomcar.bean.dto.RecordDto; import com.ccsens.wisdomcar.bean.po.*; import com.ccsens.wisdomcar.bean.vo.Message.CarRecordMessageVo; +import com.ccsens.wisdomcar.bean.vo.RecordVo; import com.ccsens.wisdomcar.bean.vo.StepVo; import com.ccsens.wisdomcar.persist.dao.StepDao; +import com.ccsens.wisdomcar.persist.dao.WisdomCarRecordDao; import com.ccsens.wisdomcar.persist.mapper.*; import com.ccsens.wisdomcar.util.Constant; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.HashSet; -import java.util.List; -import java.util.Random; -import java.util.Set; +import java.text.SimpleDateFormat; +import java.util.*; /** * @author 逗 @@ -53,6 +58,12 @@ public class RecordService implements IRecordService{ private ScreenMapper screenMapper; @Resource private RedisUtil redisUtil; + @Resource + private WisdomCarRecordDao wisdomCarRecordDao; + @Value("#{T(java.lang.Long).parseLong('${wisdom.weight:10000}')}") + private Long weightMinus; + @Value("#{T(java.lang.Long).parseLong('${wisdom.time:300000}')}") + private Long timeMinus; @Override public void disposeMessage(CarRecordMessageDto carRecordMessageDto) throws Exception { @@ -138,6 +149,104 @@ public class RecordService implements IRecordService{ saveAidRecord(carRecordMessageDto, wisdomCar.getId(),step,userIdSet); } + @Override + public List queryWeightAndRfid(RecordDto.WeightAndRfid param, Long userId) { + List list = queryWeightAndRfid(param.getCarId(), param.getStartTime(), param.getEndTime()); + return list; + } + + /** + * 查询数据 + * @param carId 平车ID + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 记录 + */ + private List queryWeightAndRfid(Long carId, Long startTime, Long endTime) { + RecordVo.WeightAndRfid weight = null; + RecordVo.WeightAndRfid rfid = null; + List list = wisdomCarRecordDao.queryWeightAndRfid(carId, startTime, endTime); + Iterator iterator = list.iterator(); + while (iterator.hasNext()) { + RecordVo.WeightAndRfid next = iterator.next(); + if (next.getType() == Constant.CAR_RECORD_WEIGHT) { + // 称重 + + if (weight == null) { + weight = next; + continue; + } + // 体重变化和上一条体重相似且间隔时间较短,删除 + if (Integer.parseInt(next.getValue()) - Integer.parseInt(weight.getValue()) <= weightMinus && next.getTime() - weight.getTime() <= timeMinus) { + iterator.remove(); + } else { + weight = next; + } + } else { + if (weight != null) { + next.setValue(weight.getValue()); + } + // rfid + if (rfid == null) { + rfid = next; + continue; + } + + // rfid和上一个一样且间隔时间较短,删除 + if (next.getValue().equals(rfid.getValue()) && next.getTime() - rfid.getTime() <= timeMinus) { + iterator.remove(); + } else { + rfid = next; + } + } + + } + return list; + } + + @Override + public Workbook exportWeightAndRfid(RecordDto.WeightAndRfidExport param) { + log.info("数据导出:{}", param); + List list = queryWeightAndRfid(param.getCarId(), param.getStartTime(), param.getEndTime()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 参数封装 + List> rows = new ArrayList<>(); + // 标题 + List headRow = new ArrayList<>(); + PoiUtil.PoiUtilCell headCell = new PoiUtil.PoiUtilCell(); + headCell.setColspan(4); + headCell.setValue("智慧平车记录"); + headRow.add(headCell); + rows.add(headRow); + log.info("标题:{}", headCell); + // 表头 + List titleRow = new ArrayList<>(); + titleRow.add(new PoiUtil.PoiUtilCell("序号")); + titleRow.add(new PoiUtil.PoiUtilCell("时间")); + titleRow.add(new PoiUtil.PoiUtilCell("类型")); + titleRow.add(new PoiUtil.PoiUtilCell("数据")); + rows.add(titleRow); + log.info("表头:{}", titleRow); + + for (int i = 0; i < list.size(); i++) { + RecordVo.WeightAndRfid record = list.get(i); + List row = new ArrayList<>(); + row.add(new PoiUtil.PoiUtilCell("" + (i + 1))); + Date time = new Date(); + time.setTime(record.getTime()); + row.add(new PoiUtil.PoiUtilCell(sdf.format(time))); + row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? "称重" : "rfid")); + row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? new BigDecimal(record.getValue()).divide(new BigDecimal(1000), 3).toString() + "Kg" : record.getName())); + rows.add(row); + } + log.info("数据:{}", list.size()); + //生成一个excel文件 + + Workbook workbook = new XSSFWorkbook(); + PoiUtil.exportWB("智慧平车记录",rows, workbook); + return workbook; + } + private void doseAndSensorMessage(CarRecordMessageDto carRecordMessageDto, Set userIdSet) throws Exception { //体重 单位g BigDecimal weightInt = BigDecimal.valueOf(Double.parseDouble(carRecordMessageDto.getValue())); diff --git a/wisdomcar/src/main/resources/application-dev.yml b/wisdomcar/src/main/resources/application-dev.yml index 92b5cda5..e6145f0a 100644 --- a/wisdomcar/src/main/resources/application-dev.yml +++ b/wisdomcar/src/main/resources/application-dev.yml @@ -29,10 +29,13 @@ spring: swagger: enable: true file: - path: /home/cloud/mt/uploads/ + path: /home/cloud/wisdomcar/uploads/ signUpUrl: https://test.tall.wiki/compete/ - domain: https://test.tall.wiki/gateway/mt/ - imgDomain: https://test.tall.wiki/gateway/mt/uploads/ + domain: https://test.tall.wiki/gateway/wisdomcar/ + imgDomain: https://test.tall.wiki/gateway/wisdomcar/uploads/ #gameMqName: game_status_wisdom logging: - path: \ No newline at end of file + path: +wisdom: + weight: 10000 + time: 600000 \ No newline at end of file diff --git a/wisdomcar/src/main/resources/application-prod.yml b/wisdomcar/src/main/resources/application-prod.yml index 129271c0..d63a1a17 100644 --- a/wisdomcar/src/main/resources/application-prod.yml +++ b/wisdomcar/src/main/resources/application-prod.yml @@ -34,7 +34,11 @@ eureka: gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ file: - path: /home/cloud/mt/uploads/ + path: /home/cloud/wisdomcar/uploads/ signUpUrl: https://www.tall.wiki/compete/ - domain: https://www.tall.wiki/gateway/mt/ - imgDomain: https://www.tall.wiki/gateway/mt/uploads/ \ No newline at end of file + domain: https://www.tall.wiki/gateway/wisdomcar/ + imgDomain: https://www.tall.wiki/gateway/wisdomcar/uploads/ + +wisdom: + weight: 10000 + time: 600000 \ No newline at end of file diff --git a/wisdomcar/src/main/resources/application-test.yml b/wisdomcar/src/main/resources/application-test.yml index f7765467..9af9b909 100644 --- a/wisdomcar/src/main/resources/application-test.yml +++ b/wisdomcar/src/main/resources/application-test.yml @@ -30,7 +30,10 @@ eureka: instance: ip-address: 192.168.0.99 file: - path: /home/cloud/mt/uploads/ + path: /home/cloud/wisdomcar/uploads/ signUpUrl: https://test.tall.wiki/compete/ - domain: https://test.tall.wiki/gateway/mt/ - imgDomain: https://test.tall.wiki/gateway/mt/uploads/ + domain: https://test.tall.wiki/gateway/wisdomcar/ + imgDomain: https://test.tall.wiki/gateway/wisdomcar/uploads/ +wisdom: + weight: 10000 + time: 600000 diff --git a/wisdomcar/src/main/resources/application.yml b/wisdomcar/src/main/resources/application.yml index a47f2a7b..1ac895fc 100644 --- a/wisdomcar/src/main/resources/application.yml +++ b/wisdomcar/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: dev - include: common, util-dev + active: prod + include: common, util-prod diff --git a/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml new file mode 100644 index 00000000..b09c5510 --- /dev/null +++ b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file From fe7d89d6bbebc22994f0c54609d3e5ce81f874d7 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Tue, 9 Mar 2021 15:28:24 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=99=BA=E6=85=A7=E5=B9=B3=E8=BD=A6?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/src/main/java/com/ccsens/util/DateUtil.java | 2 ++ .../main/java/com/ccsens/wisdomcar/api/RecordController.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/util/src/main/java/com/ccsens/util/DateUtil.java b/util/src/main/java/com/ccsens/util/DateUtil.java index 0961a956..0e6fbd9f 100644 --- a/util/src/main/java/com/ccsens/util/DateUtil.java +++ b/util/src/main/java/com/ccsens/util/DateUtil.java @@ -10,6 +10,8 @@ import java.util.*; public class DateUtil extends cn.hutool.core.date.DateUtil { /**年月日时分秒*/ public static final String yyyyMMddHHmmss="yyyyMMddHHmmss"; + /**年月日*/ + public static final String yyyyMMdd="yyyyMMdd"; /** * 时间格式转换 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java index 10e4dcd9..824df9af 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/RecordController.java @@ -54,8 +54,8 @@ public class RecordController { Date start = new Date(); start.setTime(param.getStartTime()); Date end = new Date(); - end.setTime(param.getEndTime()); - String fileName = "智慧平车记录"+ DateUtil.format(start, DateUtil.yyyyMMddHHmmss) + "-" + DateUtil.format(end, DateUtil.yyyyMMddHHmmss) +".xlsx"; + end.setTime(param.getEndTime() - 24 * 3600 * 1000); + String fileName = "智慧平车记录"+ DateUtil.format(start, DateUtil.yyyyMMdd) + "-" + DateUtil.format(end, DateUtil.yyyyMMdd) +".xlsx"; response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, CharsetUtil.UTF_8)); workbook.write(response.getOutputStream()); } From b203d76e80b6af7686104fdad444b9a648729f3c Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 9 Mar 2021 18:29:13 +0800 Subject: [PATCH 03/10] tijiao --- .../tcm/api/BiologicalSamplesController.java | 7 ++++ .../tcm/bean/dto/BiologicalSamplesDto.java | 14 ++++++-- .../com/ccsens/tcm/bean/dto/StatisticDto.java | 8 ----- .../tcm/bean/vo/BiologicalSamplesVo.java | 12 +++++++ .../ccsens/tcm/persist/dao/PatientDao.java | 2 ++ .../ccsens/tcm/service/IPatientService.java | 2 ++ .../ccsens/tcm/service/PatientService.java | 7 +++- .../main/resources/mapper_dao/PatientDao.xml | 35 ++++++++++++------- 8 files changed, 62 insertions(+), 25 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java index 537e543a..5f0b934f 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java @@ -58,5 +58,12 @@ public class BiologicalSamplesController { List selBiologNumsList=patientService.selAllYBS(); return JsonResponse.newInstance().ok(selBiologNumsList); } + @MustLogin + @ApiOperation(value = "统计某医院下得生物样本数量", notes = "w:统计某个医院的生物样本的数量") + @RequestMapping(value = "/selByHosAllYBS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selByHosAllYBS(@ApiParam @Validated @RequestBody QueryDto params){ + BiologicalSamplesVo.selByHosAllYBS selBiologNumsList=patientService.selByHosAllYBS(params.getParam().getHospitalId()); + return JsonResponse.newInstance().ok(selBiologNumsList); + } } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java index fcec9c54..a431c55b 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java @@ -24,6 +24,7 @@ public class BiologicalSamplesDto { @ApiModelProperty("采集时间") private Integer collectTime; } + @Data @ApiModel("查询生物样本-1007") public static class SelBiolog { @@ -32,15 +33,22 @@ public class BiologicalSamplesDto { @ApiModelProperty("样本类型 0:抗血凝10ml 1:促凝血5ml 2:晨尿10ml 3:24小时尿10ml") private Byte sampleType; @ApiModelProperty("患者住院号") - private String hospitalization; + private String hospitalization; @ApiModelProperty("采集时间") private Integer collectTime; @Min(1) @ApiModelProperty("当前页") - private Integer pageNum=1; + private Integer pageNum = 1; @Min(1) @Max(20) @ApiModelProperty("每页数量") - private Integer pageSize=10; + private Integer pageSize = 10; + } + @Data + @ApiModel("根据医院id查询生物样本得数量统计") + public static class SelHosId { + @NotNull + @ApiModelProperty("医院id") + private Long hospitalId; } } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java index f168bd47..b67cde28 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java @@ -31,16 +31,8 @@ public class StatisticDto { @Data @ApiModel("每日病例统计传参") public static class SelCount{ - @ApiModelProperty("主治大夫id") - private Long userId; @ApiModelProperty("医院id") private Long hospitalId; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") - @ApiModelProperty("开始时间") - private Date startDate; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") - @ApiModelProperty("结束时间") - private Date endDate; } @Data @ApiModel("病例分析传参") diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java index a1b078da..2a783f55 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java @@ -28,4 +28,16 @@ public class BiologicalSamplesVo { @ApiModelProperty("生物样本数量") private Integer nums; } + @Data + @ApiModel("统计某医院医院生物样本数量") + public static class selByHosAllYBS{ + @ApiModelProperty("抗血凝10ml") + private Integer kxn; + @ApiModelProperty("促凝血5ml") + private Integer cxn; + @ApiModelProperty("晨尿10ml") + private Integer cn; + @ApiModelProperty("24小时尿10ml") + private Integer xsn; + } } diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java index 119baa34..956f23c4 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java @@ -68,4 +68,6 @@ public interface PatientDao { List selPatientProgress(Long userId); List stringLists(Long testQuestionsId); + + BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(@Param("id") Long id); } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java index 0ae95eda..c9d1299e 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java @@ -78,4 +78,6 @@ public interface IPatientService { List selPatientProgress(Long userId); List stringLists(Long testQuestionsId); + + BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(Long id); } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index a998098b..8e26868c 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -263,7 +263,7 @@ public class PatientService implements IPatientService { public StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId) { StatisticVo.SelCountS selCountS=new StatisticVo.SelCountS(); selCountS.setNewNums(patientDao.countCase(param,(byte)0)); - selCountS.setOverNums(patientDao.countCase(param,(byte)0)); + selCountS.setOverNums(patientDao.countCase(param,(byte)2)); return selCountS; } @@ -414,5 +414,10 @@ public class PatientService implements IPatientService { return stringList; } + @Override + public BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(Long id) { + return patientDao.selByHosAllYBS(id); + } + } diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 4a1771b6..76b77606 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -110,6 +110,7 @@ ) t ) + order by tpi.update_at desc + \ No newline at end of file From 916fc42ce4ee781e512f5e5efe6f884c63366237 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Wed, 10 Mar 2021 11:22:30 +0800 Subject: [PATCH 04/10] tijioadaima --- .../ccsens/tcm/persist/dao/ReportCodeDao.java | 2 +- .../ccsens/tcm/service/QuestionService.java | 2 +- .../resources/mapper_dao/ReportCodeDao.xml | 35 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/ReportCodeDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/ReportCodeDao.java index ff2ce1b5..13c5f1e9 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/ReportCodeDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/ReportCodeDao.java @@ -30,7 +30,7 @@ public interface ReportCodeDao extends ReportCodeMapper { * @param code code * @return 返回类型详细信息 */ - List selectCodeByCode(@Param("code") String code); + List selectCodeByCode(@Param("code") String code,@Param("nums") Integer nums); /** * diff --git a/tcm/src/main/java/com/ccsens/tcm/service/QuestionService.java b/tcm/src/main/java/com/ccsens/tcm/service/QuestionService.java index b4c9c858..c0b7f1c5 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/QuestionService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/QuestionService.java @@ -28,7 +28,7 @@ public class QuestionService implements IQuestionService{ @Override public List getQuestionAndAnswer(QuestionDto.QueryQuestionAndAnswer param) { - List patientCodeList = reportCodeDao.selectCodeByCode(param.getCode()); + List patientCodeList = reportCodeDao.selectCodeByCode(param.getCode(),param.getNums()); if(CollectionUtil.isNotEmpty(patientCodeList)){ //循环一级code patientCodeList.forEach(patientCode -> { diff --git a/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml b/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml index e2155d77..837f519e 100644 --- a/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml +++ b/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml @@ -134,12 +134,47 @@ `level` = 2 and rec_status = 0 ) c2 on c1.`code` = c2.parent_code + + + and (c2.`report_type`in (0)) + + + and (c2.`report_type`in (0,1)) + + + and (c2.`report_type`in (0,1)) + + + and (c2.`report_type`in (2)) + + + and (c2.`report_type`in (2)) + + WHERE c1.`level` = 1 and c1.rec_status = 0 and (c1.`code` = #{code} or c2.`code` = #{code}) + + + and (c1.`report_type`in (0)) + + + and (c1.`report_type`in (0,1)) + + + and (c1.`report_type`in (0,1)) + + + and (c1.`report_type`in (2)) + + + and (c1.`report_type`in (2)) + + + From 4f732b36cb02e5b1f8aea88e6c8472ca4ad8cf93 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Thu, 11 Mar 2021 15:28:20 +0800 Subject: [PATCH 06/10] tijiadaima --- .../tcm/api/BiologicalSamplesController.java | 2 +- .../tcm/bean/vo/BiologicalSamplesVo.java | 14 +++++------ .../ccsens/tcm/persist/dao/PatientDao.java | 2 +- .../ccsens/tcm/service/IPatientService.java | 2 +- .../ccsens/tcm/service/PatientService.java | 4 +-- .../main/resources/mapper_dao/PatientDao.xml | 25 ++++++++++--------- .../resources/mapper_dao/ReportCodeDao.xml | 25 +++---------------- 7 files changed, 28 insertions(+), 46 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java index 5f0b934f..8630a294 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java @@ -62,7 +62,7 @@ public class BiologicalSamplesController { @ApiOperation(value = "统计某医院下得生物样本数量", notes = "w:统计某个医院的生物样本的数量") @RequestMapping(value = "/selByHosAllYBS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> selByHosAllYBS(@ApiParam @Validated @RequestBody QueryDto params){ - BiologicalSamplesVo.selByHosAllYBS selBiologNumsList=patientService.selByHosAllYBS(params.getParam().getHospitalId()); + List selBiologNumsList=patientService.selByHosAllYBS(params.getParam().getHospitalId()); return JsonResponse.newInstance().ok(selBiologNumsList); } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java index 2a783f55..ae6f88ec 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java @@ -31,13 +31,11 @@ public class BiologicalSamplesVo { @Data @ApiModel("统计某医院医院生物样本数量") public static class selByHosAllYBS{ - @ApiModelProperty("抗血凝10ml") - private Integer kxn; - @ApiModelProperty("促凝血5ml") - private Integer cxn; - @ApiModelProperty("晨尿10ml") - private Integer cn; - @ApiModelProperty("24小时尿10ml") - private Integer xsn; + @ApiModelProperty("数量") + private Integer nums; + @ApiModelProperty("样本名称") + private String name; + @ApiModelProperty("样本类型") + private Byte sampleType; } } diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java index 956f23c4..a09e2a16 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java @@ -69,5 +69,5 @@ public interface PatientDao { List stringLists(Long testQuestionsId); - BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(@Param("id") Long id); + List selByHosAllYBS(@Param("id") Long id); } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java index c9d1299e..46b471d0 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java @@ -79,5 +79,5 @@ public interface IPatientService { List stringLists(Long testQuestionsId); - BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(Long id); + List selByHosAllYBS(Long id); } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index 8e26868c..affb805c 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -223,7 +223,7 @@ public class PatientService implements IPatientService { @Override public PageInfo selPatientMesList(PatientDto.SelPatlenConditionList param, long l) { - PageHelper.startPage(param.getPageNum(),param.getPageSize()); + PageHelper.startPage(param.getPageNum(),param.getPageSize(),"tpi.update_at desc"); List selPatientLists=patientDao.selPatientMesList(param); return new PageInfo<>(selPatientLists); } @@ -415,7 +415,7 @@ public class PatientService implements IPatientService { } @Override - public BiologicalSamplesVo.selByHosAllYBS selByHosAllYBS(Long id) { + public List selByHosAllYBS(Long id) { return patientDao.selByHosAllYBS(id); } diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 76b77606..ee37a40c 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -110,7 +110,6 @@ ) t ) - order by tpi.update_at desc \ No newline at end of file diff --git a/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml b/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml index 837f519e..0e86b75b 100644 --- a/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml +++ b/tcm/src/main/resources/mapper_dao/ReportCodeDao.xml @@ -134,38 +134,21 @@ `level` = 2 and rec_status = 0 ) c2 on c1.`code` = c2.parent_code - - - and (c2.`report_type`in (0)) - - - and (c2.`report_type`in (0,1)) - - - and (c2.`report_type`in (0,1)) - - - and (c2.`report_type`in (2)) - - - and (c2.`report_type`in (2)) - - WHERE c1.`level` = 1 and c1.rec_status = 0 - and (c1.`code` = #{code} or c2.`code` = #{code}) + and (c1.`code` = #{code}) - and (c1.`report_type`in (0)) + and (c1.`report_type`in (0,1)) - and (c1.`report_type`in (0,1)) + and (c1.`report_type`in (1)) - and (c1.`report_type`in (0,1)) + and (c1.`report_type`in (1)) and (c1.`report_type`in (2)) From 9f291b28455af5e8cd6c819977a2a6b03dada5da Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Thu, 11 Mar 2021 18:52:03 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=AE=A4=E7=9F=A5?= =?UTF-8?q?=E6=B5=8B=E8=AF=84=E5=88=86=E6=95=B0=E6=9F=A5=E8=AF=A2=E6=82=A3?= =?UTF-8?q?=E8=80=85=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/StatisticalAnalysisController.java | 2 +- .../com/ccsens/tcm/bean/dto/PatientDto.java | 17 +++++ .../com/ccsens/tcm/bean/dto/StatisticDto.java | 2 + .../ccsens/tcm/persist/dao/PatientDao.java | 3 +- .../ccsens/tcm/service/PatientService.java | 6 +- .../main/resources/mapper_dao/PatientDao.xml | 66 ++++++++++++++++++- 6 files changed, 89 insertions(+), 7 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java index 5feec3c1..19020bb9 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java @@ -42,7 +42,7 @@ public class StatisticalAnalysisController { log.info("统计每日病例调用完成"); return JsonResponse.newInstance().ok(countCase); } - @MustLogin +// @MustLogin @ApiOperation(value = "病例分析", notes = "w:病例分析") @RequestMapping(value = "/countAnalysis", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse countAnalysis(@ApiParam @Validated @RequestBody QueryDto params) { diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java index fe447190..1451ba1d 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java @@ -7,6 +7,7 @@ import lombok.Data; import javax.validation.constraints.Max; import javax.validation.constraints.Min; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; @@ -104,6 +105,9 @@ public class PatientDto { private List conditionList; @ApiModelProperty("搜索条件集合,是包含时间格式的条件") private List conditionListDate; + @ApiModelProperty("认知报告单相关参数") + private List reportParams; + @Min(1) @ApiModelProperty("当前页") private Integer pageNum=1; @@ -112,6 +116,19 @@ public class PatientDto { @ApiModelProperty("每页数量") private Integer pageSize=10; } + + @Data + @ApiModel("搜索报告单参数-请求") + public static class Search { + @ApiModelProperty("报告单类型") + @NotEmpty(message="请选择查询类型") + private String code; + @ApiModelProperty("最低分数") + private Integer start; + @ApiModelProperty("最高分数") + private Integer end; + } + @Data @ApiModel("查询患者的搜索条件详情") public static class Condition{ diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java index b67cde28..fb740465 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java @@ -41,6 +41,8 @@ public class StatisticDto { private List conditionList; @ApiModelProperty("搜索条件集合,是包含时间格式的条件") private List conditionListDate; + @ApiModelProperty("认知报告单相关参数") + private List reportParams; @ApiModelProperty("对照组id") private Long[] inpatientId; @ApiModelProperty("试题id") diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java index 956f23c4..fc088e5d 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java @@ -30,6 +30,7 @@ public interface PatientDao { * * @param conditionList 没有时间条件 * @param conditionListDate 有时间条件 + * @param reportParams 认知量表 * @param inpatientId 对照组id * @param testQuestionsId 测试题id * @param hospitalization 住院号 @@ -37,7 +38,7 @@ public interface PatientDao { * @param hospitalId 医院id * @return */ - List countAnalysis(@Param("conditionList")List conditionList, @Param("conditionListDate")List conditionListDate, @Param("inpatientId")Long inpatientId, @Param("testQuestionsId")Long testQuestionsId,@Param("hospitalization")String hospitalization,@Param("inputStatus")Byte inputStatus,@Param("hospitalId")Long hospitalId); + List countAnalysis(@Param("conditionList")List conditionList, @Param("conditionListDate")List conditionListDate, @Param("reportParams") List reportParams, @Param("inpatientId")Long inpatientId, @Param("testQuestionsId")Long testQuestionsId,@Param("hospitalization")String hospitalization,@Param("inputStatus")Byte inputStatus,@Param("hospitalId")Long hospitalId); /** * 统计病例完成情况 * @param hospitalId 医院id diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index 8e26868c..d57d95c9 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -270,10 +270,10 @@ public class PatientService implements IPatientService { @Override public List countAnalysis(StatisticDto.SelBinLCount param, Long userId) { List selGroupNumsList= new ArrayList(); - if(param.getInpatientId()!=null && param.getInpatientId().length==0) { + if(param.getInpatientId() ==null || param.getInpatientId().length==0) { StatisticVo.SelGroupNum selGroupNum =new StatisticVo.SelGroupNum(); selGroupNum.setName("总人数"); - List selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(),null,param.getTestQuestionsId(),param.getHospitalization(),param.getInputStatus(),param.getHospitalId()); + List selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(), param.getReportParams(),null,param.getTestQuestionsId(),param.getHospitalization(),param.getInputStatus(),param.getHospitalId()); selGroupNum.setInpatientId(null); selGroupNum.setList(selGroupList); selGroupNumsList.add(selGroupNum); @@ -282,7 +282,7 @@ public class PatientService implements IPatientService { for (int i = 0; i < param.getInpatientId().length; i++) { StatisticVo.SelGroupNum selGroupNum =new StatisticVo.SelGroupNum(); selGroupNum.setName(inpatientMapper.selectByPrimaryKey(param.getInpatientId()[i]).getName()); - List selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(),param.getInpatientId()[i],param.getTestQuestionsId(),param.getHospitalization(),param.getInputStatus(),param.getHospitalId()); + List selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(), param.getReportParams(),param.getInpatientId()[i],param.getTestQuestionsId(),param.getHospitalization(),param.getInputStatus(),param.getHospitalId()); selGroupNum.setInpatientId(param.getInpatientId()[i]); selGroupNum.setList(selGroupList); selGroupNumsList.add(selGroupNum); diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 76b77606..fbfab283 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -64,7 +64,7 @@ and tpi.input_status=#{inputStatus} - + and tpi.id IN ( SELECT DISTINCT ( t.patient_id ) @@ -106,6 +106,37 @@ INTERSECT + + + + SELECT + r.patient_id + FROM + question.t_ht_patient_score s, + question.t_ht_question q, + question.t_ht_patient_report r + WHERE + s.question_id = q.id + AND s.patient_report_id = r.id + AND s.question_parent_code = #{item.code} + AND s.type IN ( 0, 2 ) + AND s.is_del = 0 + AND q.is_del = 0 + GROUP BY + patient_report_id + HAVING + + + sum( score ) >= #{item.start} AND + + + sum( score ) <= #{item.end} AND + + + INTERSECT + + + ) t ) @@ -196,7 +227,7 @@ and tpi.input_status=#{inputStatus} - + and tpi.id IN ( SELECT DISTINCT ( t.patient_id ) @@ -238,6 +269,37 @@ INTERSECT + + + + SELECT + r.patient_id + FROM + question.t_ht_patient_score s, + question.t_ht_question q, + question.t_ht_patient_report r + WHERE + s.question_id = q.id + AND s.patient_report_id = r.id + AND s.question_parent_code = #{item.code} + AND s.type IN ( 0, 2 ) + AND s.is_del = 0 + AND q.is_del = 0 + GROUP BY + patient_report_id + HAVING + + + sum( score ) >= #{item.start} AND + + + sum( score ) <= #{item.end} AND + + + INTERSECT + + + ) t ) From 1688247f24356809f36efeb951eb16b2bf58e5cf Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Fri, 12 Mar 2021 10:56:15 +0800 Subject: [PATCH 08/10] tjiioa --- util/src/main/java/com/ccsens/util/CodeEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 915ca37d..00a56c1e 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -185,7 +185,7 @@ public enum CodeEnum { NOT_HOSPITAL(154,"未找到医院信息",true), ZHUYUANIDCHONGFU(155,"住院号重复",true), MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true), - QINGTIJIAOSHITI(157,"请提交答案",true), + QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), ; From c5be4347fef1edb81dc1cf9bee0515c8e7b73d2a Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Fri, 12 Mar 2021 15:04:55 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E7=89=A9?= =?UTF-8?q?=E6=A0=B7=E6=9C=AC=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/StatisticalAnalysisController.java | 4 ++-- .../com/ccsens/tcm/bean/vo/StatisticVo.java | 16 ++++++-------- .../ccsens/tcm/persist/dao/PatientDao.java | 2 +- .../ccsens/tcm/service/IPatientService.java | 2 +- .../ccsens/tcm/service/PatientService.java | 4 ++-- .../main/resources/mapper_dao/PatientDao.xml | 21 ++++++++++--------- 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java index 19020bb9..bf9c038e 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java @@ -59,9 +59,9 @@ public class StatisticalAnalysisController { @MustLogin @ApiOperation(value = "统计病例的完成情况", notes = "zy:") @RequestMapping(value = "/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse statisticsComplete(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> statisticsComplete(@ApiParam @Validated @RequestBody QueryDto params) { log.info("统计病例的完成情况:{}",params); - StatisticVo.StatisticsComplete statisticsComplete = patientService.statisticsComplete(params.getParam()); + List statisticsComplete = patientService.statisticsComplete(params.getParam()); log.info("查找统计病例的完成情况"); return JsonResponse.newInstance().ok(statisticsComplete); } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java index 3c6edc7a..6ab392ac 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java @@ -60,16 +60,12 @@ public class StatisticVo { @Data @ApiModel("统计病例的完成情况") public static class StatisticsComplete{ - @ApiModelProperty("已完成") - private Integer completed; - @ApiModelProperty("未完成") - private Integer unfinished; - @ApiModelProperty("进行中") - private Integer underway; - @ApiModelProperty("数据采集超时") - private Integer overtime; - @ApiModelProperty("废弃的") - private Integer discarded; + @ApiModelProperty("输入状态") + private Byte id; + @ApiModelProperty("新建") + private String name; + @ApiModelProperty("数量") + private Integer nums; } @Data diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java index 212fec73..1158faaa 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java @@ -45,7 +45,7 @@ public interface PatientDao { * @param userId 主治医生id * @return 返回完成情况 */ - StatisticVo.StatisticsComplete statisticsComplete(@Param("hospitalId")Long hospitalId, @Param("userId")Long userId); + List statisticsComplete(@Param("hospitalId")Long hospitalId, @Param("userId")Long userId); /** * 查询各个医院的病例完成情况 diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java index 46b471d0..8ec3feb2 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java @@ -43,7 +43,7 @@ public interface IPatientService { * @param param 搜索的条件 * @return 返回完成的情况 */ - StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param); + List statisticsComplete(StatisticDto.Complete param); /** * 统计各个医院的病例完成情况 diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index b3f69bd8..acc0f559 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -308,7 +308,7 @@ public class PatientService implements IPatientService { * 统计病例完成情况 */ @Override - public StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param) { + public List statisticsComplete(StatisticDto.Complete param) { return patientDao.statisticsComplete(param.getHospitalId(),param.getUserId()); } @@ -347,7 +347,7 @@ public class PatientService implements IPatientService { @Override public PageInfo selBiologicalSamples(BiologicalSamplesDto.SelBiolog param, Long userId) { - PageHelper.startPage(param.getPageNum(),param.getPageSize()); + PageHelper.startPage(param.getPageNum(),param.getPageSize(),"tbs.update_at desc"); List selBiologs= patientDao.selBiologicalSamples(param); return new PageInfo<>(selBiologs); } diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index ab24d684..ed90bd3e 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -309,16 +309,17 @@ select @@ -109,26 +111,35 @@ - insert into t_conference_records (id, task_id, start_time, - end_time, place, host, - participants, discussion_content, meeting_minutes, - user_id, created_at, update_at, - rec_status) - values (#{id,jdbcType=BIGINT}, #{taskId,jdbcType=BIGINT}, #{startTime,jdbcType=TIMESTAMP}, - #{endTime,jdbcType=TIMESTAMP}, #{place,jdbcType=VARCHAR}, #{host,jdbcType=VARCHAR}, - #{participants,jdbcType=VARCHAR}, #{discussionContent,jdbcType=VARCHAR}, #{meetingMinutes,jdbcType=VARCHAR}, - #{userId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updateAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}) + + SELECT LAST_INSERT_ID() + + insert into t_conference_records (task_id, task_start_time, task_end_time, + start_time, end_time, place, + host, participants, discussion_content, + meeting_minutes, user_id, created_at, + update_at, rec_status) + values (#{taskId,jdbcType=BIGINT}, #{taskStartTime,jdbcType=TIMESTAMP}, #{taskEndTime,jdbcType=TIMESTAMP}, + #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{place,jdbcType=VARCHAR}, + #{host,jdbcType=VARCHAR}, #{participants,jdbcType=VARCHAR}, #{discussionContent,jdbcType=VARCHAR}, + #{meetingMinutes,jdbcType=VARCHAR}, #{userId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updateAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + SELECT LAST_INSERT_ID() + insert into t_conference_records - - id, - task_id, + + task_start_time, + + + task_end_time, + start_time, @@ -164,12 +175,15 @@ - - #{id,jdbcType=BIGINT}, - #{taskId,jdbcType=BIGINT}, + + #{taskStartTime,jdbcType=TIMESTAMP}, + + + #{taskEndTime,jdbcType=TIMESTAMP}, + #{startTime,jdbcType=TIMESTAMP}, @@ -220,6 +234,12 @@ task_id = #{record.taskId,jdbcType=BIGINT}, + + task_start_time = #{record.taskStartTime,jdbcType=TIMESTAMP}, + + + task_end_time = #{record.taskEndTime,jdbcType=TIMESTAMP}, + start_time = #{record.startTime,jdbcType=TIMESTAMP}, @@ -262,6 +282,8 @@ update t_conference_records set id = #{record.id,jdbcType=BIGINT}, task_id = #{record.taskId,jdbcType=BIGINT}, + task_start_time = #{record.taskStartTime,jdbcType=TIMESTAMP}, + task_end_time = #{record.taskEndTime,jdbcType=TIMESTAMP}, start_time = #{record.startTime,jdbcType=TIMESTAMP}, end_time = #{record.endTime,jdbcType=TIMESTAMP}, place = #{record.place,jdbcType=VARCHAR}, @@ -283,6 +305,12 @@ task_id = #{taskId,jdbcType=BIGINT}, + + task_start_time = #{taskStartTime,jdbcType=TIMESTAMP}, + + + task_end_time = #{taskEndTime,jdbcType=TIMESTAMP}, + start_time = #{startTime,jdbcType=TIMESTAMP}, @@ -322,6 +350,8 @@ update t_conference_records set task_id = #{taskId,jdbcType=BIGINT}, + task_start_time = #{taskStartTime,jdbcType=TIMESTAMP}, + task_end_time = #{taskEndTime,jdbcType=TIMESTAMP}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, place = #{place,jdbcType=VARCHAR},