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 @@
GROUP BY
input_status
- ) t
+
+ order by tpi.update_at desc
- 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},