From 01eaefa7609913a5f1604c7f7c7f6ea437b3ecaa Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Tue, 1 Jun 2021 15:10:16 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=B9=B3=E8=BD=A61.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../ccsens/tcm/service/PatientService.java | 2 +- .../wisdomcar/api/ProjectController.java | 45 +++++++++++++++++++ .../wisdomcar/api/WisdomCarController.java | 38 ++++++++++++++++ .../wisdomcar/api/WisdomCatController.java | 16 ------- .../ccsens/wisdomcar/bean/dto/ProjectDto.java | 33 ++++++++++++++ .../wisdomcar/bean/dto/WisdomCarDto.java | 18 ++++++++ .../ccsens/wisdomcar/bean/vo/ProjectVo.java | 19 ++++++++ .../ccsens/wisdomcar/bean/vo/WisdomCarVo.java | 21 +++++++++ 9 files changed, 176 insertions(+), 18 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java delete mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCatController.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java diff --git a/pom.xml b/pom.xml index 6cdeb874..6a98bbc6 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ game mt - + wisdomcar beneficiation 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 5e4c9ff1..0d5c1aec 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -292,7 +292,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.setNewNums(patientDao.countCase(param,(byte)0,(byte)1)); selCountS.setOverNums(patientDao.countCase(param,(byte)2,(byte)5,(byte)6)); return selCountS; diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java new file mode 100644 index 00000000..2ab05623 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java @@ -0,0 +1,45 @@ +package com.ccsens.wisdomcar.api; + +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.ProjectDto; +import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; +import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +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; + +/** + * @description: 项目页面的操作 + * @author: whj + * @time: 2021/6/1 13:31 + */ +@Slf4j +@Api(tags = "页面相关api" , description = "") +@RestController +@RequestMapping("/project") +public class ProjectController { + @ApiOperation(value = "点击开始", notes = "whj") + @RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("空闲平车查询:{}", params); + +// log.info("空闲平车查询结果:{}",); + return JsonResponse.newInstance().ok(); + } + @ApiOperation(value = "称重和剂量", notes = "whj") + @RequestMapping(value = "/weight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse weight(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("空闲平车查询:{}", params); + +// log.info("空闲平车查询结果:{}",); + return JsonResponse.newInstance().ok(); + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java new file mode 100644 index 00000000..bd57b430 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -0,0 +1,38 @@ +package com.ccsens.wisdomcar.api; + +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.RecordDto; +import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; +import com.ccsens.wisdomcar.bean.vo.RecordVo; +import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +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 java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Api(tags = "平车相关api" , description = "") +@RestController +@RequestMapping("/car") +public class WisdomCarController { + + @ApiOperation(value = "空闲平车查询", notes = "whj") + @RequestMapping(value = "/free", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse freeCar(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("空闲平车查询:{}", params); + +// log.info("空闲平车查询结果:{}",); + return JsonResponse.newInstance().ok(); + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCatController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCatController.java deleted file mode 100644 index 7587cc22..00000000 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCatController.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ccsens.wisdomcar.api; - -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author 逗 - */ -@Slf4j -@Api(tags = "平车相关api" , description = "") -@RestController -@RequestMapping("/car") -public class WisdomCatController { -} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java new file mode 100644 index 00000000..23521dc3 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java @@ -0,0 +1,33 @@ +package com.ccsens.wisdomcar.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @description:页面上操作 + * @author: whj + * @time: 2021/6/1 13:34 + */ +public class ProjectDto { + + @Data + @ApiModel("点击开始-请求") + public static class Start { + @ApiModelProperty("开始时间") + private Long startTime = System.currentTimeMillis(); + @NotNull(message="请说明您的任务") + @ApiModelProperty("分解任务ID") + private Long taskSubId; + } + + @Data + @ApiModel("查询称重和剂量--请求") + public static class Weight { + @NotNull(message="请说明您的任务") + @ApiModelProperty("分解任务ID") + private Long taskSubId; + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java new file mode 100644 index 00000000..1696a99b --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java @@ -0,0 +1,18 @@ +package com.ccsens.wisdomcar.bean.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @description: 平车相关 + * @author: whj + * @time: 2021/6/1 13:01 + */ +public class WisdomCarDto { + + @Data + @ApiModel("查询空闲平车--请求参数") + public static class FreeCar{ + + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java new file mode 100644 index 00000000..fe3f2219 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java @@ -0,0 +1,19 @@ +package com.ccsens.wisdomcar.bean.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @description: + * @author: whj + * @time: 2021/6/1 13:34 + */ +public class ProjectVo { + public static class Start { + } + + @Data + @ApiModel("查询称重和剂量--响应") + public class Weight { + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java new file mode 100644 index 00000000..7ac38120 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java @@ -0,0 +1,21 @@ +package com.ccsens.wisdomcar.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: 平车相关 + * @author: whj + * @time: 2021/6/1 13:02 + */ +public class WisdomCarVo { + @Data + @ApiModel("查询空闲平车--请求参数") + public static class FreeCar{ + @ApiModelProperty("平车ID") + private Long id; + @ApiModelProperty("平车编号") + private String carNumber; + } +} From 2fd15adbf17ad8222c184bcb801e147efae497ab Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 09:53:06 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E7=A9=BA=E9=97=B2=E5=B9=B3=E8=BD=A6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=20=E7=82=B9=E5=87=BB=E5=BC=80=E5=A7=8B=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=A7=B0=E9=87=8D=E5=92=8C=E5=89=82=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/config/FeignTokenConfig.java | 10 + .../wisdomcar/api/ProjectController.java | 28 +- .../wisdomcar/api/WisdomCarController.java | 11 +- .../wisdomcar/bean/dto/WisdomCarDto.java | 4 +- .../wisdomcar/bean/po/PatientWisdomCar.java | 139 +++ .../bean/po/PatientWisdomCarExample.java | 861 ++++++++++++++++++ .../ccsens/wisdomcar/bean/vo/ProjectVo.java | 25 +- .../wisdomcar/persist/dao/StepTaskDao.java | 7 + .../wisdomcar/persist/dao/WisdomCarDao.java | 18 + .../persist/dao/WisdomCarRecordDao.java | 11 +- .../mapper/PatientWisdomCarMapper.java | 30 + .../wisdomcar/service/IProjectService.java | 28 + .../wisdomcar/service/IWisdomCarService.java | 19 + .../wisdomcar/service/ProjectService.java | 115 +++ .../wisdomcar/service/WisdomCarService.java | 45 + .../com/ccsens/wisdomcar/util/Constant.java | 11 + .../main/resources/mapper_dao/StepTaskDao.xml | 8 + .../resources/mapper_dao/WisdomCarDao.xml | 23 + .../mapper_dao/WisdomCarRecordDao.xml | 14 + .../mapper_raw/PatientWisdomCarMapper.xml | 306 +++++++ 20 files changed, 1696 insertions(+), 17 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCar.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCarExample.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientWisdomCarMapper.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java create mode 100644 wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml create mode 100644 wisdomcar/src/main/resources/mapper_raw/PatientWisdomCarMapper.xml diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java index a9ae5a7b..6e0c317d 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java @@ -4,7 +4,12 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import feign.RequestInterceptor; import feign.RequestTemplate; +import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** @@ -23,5 +28,10 @@ public class FeignTokenConfig implements RequestInterceptor { //添加token template.header("Authorization", jsonObject.getStr("token")); + + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + //添加token + template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION)); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java index 2ab05623..836faec9 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java @@ -3,9 +3,8 @@ package com.ccsens.wisdomcar.api; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.wisdomcar.bean.dto.ProjectDto; -import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.vo.ProjectVo; -import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import com.ccsens.wisdomcar.service.IProjectService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -16,6 +15,9 @@ 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 java.util.List; + /** * @description: 项目页面的操作 * @author: whj @@ -26,20 +28,24 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/project") public class ProjectController { + + @Resource + private IProjectService projectService; + @ApiOperation(value = "点击开始", notes = "whj") @RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto params){ - log.info("空闲平车查询:{}", params); - -// log.info("空闲平车查询结果:{}",); + log.info("点击开始:{}", params); + projectService.start(params.getParam(), params.getUserId()); + log.info("点击开始结束"); return JsonResponse.newInstance().ok(); } - @ApiOperation(value = "称重和剂量", notes = "whj") + @ApiOperation(value = "查询称重和剂量", notes = "whj") @RequestMapping(value = "/weight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse weight(@ApiParam @Validated @RequestBody QueryDto params){ - log.info("空闲平车查询:{}", params); - -// log.info("空闲平车查询结果:{}",); - return JsonResponse.newInstance().ok(); + public JsonResponse weight(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("查询称重和剂量:{}", params); + List list = projectService.queryWeight(params.getParam(), params.getUserId()); + log.info("查询称重和剂量:{}", list); + return JsonResponse.newInstance().ok(list); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index bd57b430..c1fbba36 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -6,6 +6,7 @@ import com.ccsens.wisdomcar.bean.dto.RecordDto; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.vo.RecordVo; import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import com.ccsens.wisdomcar.service.IWisdomCarService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -16,6 +17,7 @@ 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 java.util.List; /** @@ -27,12 +29,15 @@ import java.util.List; @RequestMapping("/car") public class WisdomCarController { + @Resource + private IWisdomCarService wisdomCarService; + @ApiOperation(value = "空闲平车查询", notes = "whj") @RequestMapping(value = "/free", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse freeCar(@ApiParam @Validated @RequestBody QueryDto params){ log.info("空闲平车查询:{}", params); - -// log.info("空闲平车查询结果:{}",); - return JsonResponse.newInstance().ok(); + List list = wisdomCarService.queryFreeCar(params.getParam(), params.getUserId()); + log.info("空闲平车查询结果:{}", list); + return JsonResponse.newInstance().ok(list); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java index 1696a99b..48876a87 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java @@ -1,8 +1,11 @@ package com.ccsens.wisdomcar.bean.dto; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; + /** * @description: 平车相关 * @author: whj @@ -13,6 +16,5 @@ public class WisdomCarDto { @Data @ApiModel("查询空闲平车--请求参数") public static class FreeCar{ - } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCar.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCar.java new file mode 100644 index 00000000..7190b46d --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCar.java @@ -0,0 +1,139 @@ +package com.ccsens.wisdomcar.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class PatientWisdomCar implements Serializable { + private Long id; + + private Long patientId; + + private Long taskSubId; + + private Long carId; + + private Long startTime; + + private Long endTime; + + private Byte isDemo; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private Byte bindingStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getPatientId() { + return patientId; + } + + public void setPatientId(Long patientId) { + this.patientId = patientId; + } + + public Long getTaskSubId() { + return taskSubId; + } + + public void setTaskSubId(Long taskSubId) { + this.taskSubId = taskSubId; + } + + public Long getCarId() { + return carId; + } + + public void setCarId(Long carId) { + this.carId = carId; + } + + public Long getStartTime() { + return startTime; + } + + public void setStartTime(Long startTime) { + this.startTime = startTime; + } + + public Long getEndTime() { + return endTime; + } + + public void setEndTime(Long endTime) { + this.endTime = endTime; + } + + public Byte getIsDemo() { + return isDemo; + } + + public void setIsDemo(Byte isDemo) { + this.isDemo = isDemo; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + public Byte getBindingStatus() { + return bindingStatus; + } + + public void setBindingStatus(Byte bindingStatus) { + this.bindingStatus = bindingStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", patientId=").append(patientId); + sb.append(", taskSubId=").append(taskSubId); + sb.append(", carId=").append(carId); + sb.append(", startTime=").append(startTime); + sb.append(", endTime=").append(endTime); + sb.append(", isDemo=").append(isDemo); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append(", bindingStatus=").append(bindingStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCarExample.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCarExample.java new file mode 100644 index 00000000..eddd00a1 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientWisdomCarExample.java @@ -0,0 +1,861 @@ +package com.ccsens.wisdomcar.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PatientWisdomCarExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public PatientWisdomCarExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andPatientIdIsNull() { + addCriterion("patient_id is null"); + return (Criteria) this; + } + + public Criteria andPatientIdIsNotNull() { + addCriterion("patient_id is not null"); + return (Criteria) this; + } + + public Criteria andPatientIdEqualTo(Long value) { + addCriterion("patient_id =", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotEqualTo(Long value) { + addCriterion("patient_id <>", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdGreaterThan(Long value) { + addCriterion("patient_id >", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdGreaterThanOrEqualTo(Long value) { + addCriterion("patient_id >=", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdLessThan(Long value) { + addCriterion("patient_id <", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdLessThanOrEqualTo(Long value) { + addCriterion("patient_id <=", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdIn(List values) { + addCriterion("patient_id in", values, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotIn(List values) { + addCriterion("patient_id not in", values, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdBetween(Long value1, Long value2) { + addCriterion("patient_id between", value1, value2, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotBetween(Long value1, Long value2) { + addCriterion("patient_id not between", value1, value2, "patientId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdIsNull() { + addCriterion("task_sub_id is null"); + return (Criteria) this; + } + + public Criteria andTaskSubIdIsNotNull() { + addCriterion("task_sub_id is not null"); + return (Criteria) this; + } + + public Criteria andTaskSubIdEqualTo(Long value) { + addCriterion("task_sub_id =", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdNotEqualTo(Long value) { + addCriterion("task_sub_id <>", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdGreaterThan(Long value) { + addCriterion("task_sub_id >", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdGreaterThanOrEqualTo(Long value) { + addCriterion("task_sub_id >=", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdLessThan(Long value) { + addCriterion("task_sub_id <", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdLessThanOrEqualTo(Long value) { + addCriterion("task_sub_id <=", value, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdIn(List values) { + addCriterion("task_sub_id in", values, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdNotIn(List values) { + addCriterion("task_sub_id not in", values, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdBetween(Long value1, Long value2) { + addCriterion("task_sub_id between", value1, value2, "taskSubId"); + return (Criteria) this; + } + + public Criteria andTaskSubIdNotBetween(Long value1, Long value2) { + addCriterion("task_sub_id not between", value1, value2, "taskSubId"); + return (Criteria) this; + } + + public Criteria andCarIdIsNull() { + addCriterion("car_id is null"); + return (Criteria) this; + } + + public Criteria andCarIdIsNotNull() { + addCriterion("car_id is not null"); + return (Criteria) this; + } + + public Criteria andCarIdEqualTo(Long value) { + addCriterion("car_id =", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdNotEqualTo(Long value) { + addCriterion("car_id <>", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdGreaterThan(Long value) { + addCriterion("car_id >", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdGreaterThanOrEqualTo(Long value) { + addCriterion("car_id >=", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdLessThan(Long value) { + addCriterion("car_id <", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdLessThanOrEqualTo(Long value) { + addCriterion("car_id <=", value, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdIn(List values) { + addCriterion("car_id in", values, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdNotIn(List values) { + addCriterion("car_id not in", values, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdBetween(Long value1, Long value2) { + addCriterion("car_id between", value1, value2, "carId"); + return (Criteria) this; + } + + public Criteria andCarIdNotBetween(Long value1, Long value2) { + addCriterion("car_id not between", value1, value2, "carId"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNull() { + addCriterion("start_time is null"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNotNull() { + addCriterion("start_time is not null"); + return (Criteria) this; + } + + public Criteria andStartTimeEqualTo(Long value) { + addCriterion("start_time =", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotEqualTo(Long value) { + addCriterion("start_time <>", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThan(Long value) { + addCriterion("start_time >", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThanOrEqualTo(Long value) { + addCriterion("start_time >=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThan(Long value) { + addCriterion("start_time <", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThanOrEqualTo(Long value) { + addCriterion("start_time <=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeIn(List values) { + addCriterion("start_time in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotIn(List values) { + addCriterion("start_time not in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeBetween(Long value1, Long value2) { + addCriterion("start_time between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotBetween(Long value1, Long value2) { + addCriterion("start_time not between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNull() { + addCriterion("end_time is null"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNotNull() { + addCriterion("end_time is not null"); + return (Criteria) this; + } + + public Criteria andEndTimeEqualTo(Long value) { + addCriterion("end_time =", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotEqualTo(Long value) { + addCriterion("end_time <>", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThan(Long value) { + addCriterion("end_time >", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThanOrEqualTo(Long value) { + addCriterion("end_time >=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThan(Long value) { + addCriterion("end_time <", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThanOrEqualTo(Long value) { + addCriterion("end_time <=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIn(List values) { + addCriterion("end_time in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotIn(List values) { + addCriterion("end_time not in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeBetween(Long value1, Long value2) { + addCriterion("end_time between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotBetween(Long value1, Long value2) { + addCriterion("end_time not between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andIsDemoIsNull() { + addCriterion("is_demo is null"); + return (Criteria) this; + } + + public Criteria andIsDemoIsNotNull() { + addCriterion("is_demo is not null"); + return (Criteria) this; + } + + public Criteria andIsDemoEqualTo(Byte value) { + addCriterion("is_demo =", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoNotEqualTo(Byte value) { + addCriterion("is_demo <>", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoGreaterThan(Byte value) { + addCriterion("is_demo >", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoGreaterThanOrEqualTo(Byte value) { + addCriterion("is_demo >=", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoLessThan(Byte value) { + addCriterion("is_demo <", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoLessThanOrEqualTo(Byte value) { + addCriterion("is_demo <=", value, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoIn(List values) { + addCriterion("is_demo in", values, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoNotIn(List values) { + addCriterion("is_demo not in", values, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoBetween(Byte value1, Byte value2) { + addCriterion("is_demo between", value1, value2, "isDemo"); + return (Criteria) this; + } + + public Criteria andIsDemoNotBetween(Byte value1, Byte value2) { + addCriterion("is_demo not between", value1, value2, "isDemo"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusIsNull() { + addCriterion("binding_status is null"); + return (Criteria) this; + } + + public Criteria andBindingStatusIsNotNull() { + addCriterion("binding_status is not null"); + return (Criteria) this; + } + + public Criteria andBindingStatusEqualTo(Byte value) { + addCriterion("binding_status =", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusNotEqualTo(Byte value) { + addCriterion("binding_status <>", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusGreaterThan(Byte value) { + addCriterion("binding_status >", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("binding_status >=", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusLessThan(Byte value) { + addCriterion("binding_status <", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusLessThanOrEqualTo(Byte value) { + addCriterion("binding_status <=", value, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusIn(List values) { + addCriterion("binding_status in", values, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusNotIn(List values) { + addCriterion("binding_status not in", values, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusBetween(Byte value1, Byte value2) { + addCriterion("binding_status between", value1, value2, "bindingStatus"); + return (Criteria) this; + } + + public Criteria andBindingStatusNotBetween(Byte value1, Byte value2) { + addCriterion("binding_status not between", value1, value2, "bindingStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java index fe3f2219..a2d063fb 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java @@ -1,6 +1,7 @@ package com.ccsens.wisdomcar.bean.vo; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -14,6 +15,28 @@ public class ProjectVo { @Data @ApiModel("查询称重和剂量--响应") - public class Weight { + public class Record { + @ApiModelProperty("类型 1:体重 8溶栓剂量 9团注剂量 10维持剂量") + private byte type; + @ApiModelProperty("对应的值") + private String value; + } + + @ApiModel("患者平车绑定信息") + @Data + public static class BindCar { + @ApiModelProperty("患者平车绑定ID") + private Long id; + @ApiModelProperty("任务ID") + private Long taskSubId; + @ApiModelProperty("患者ID") + private Long patientId; + @ApiModelProperty("平车ID") + private Long carId; + @ApiModelProperty("开始时间") + private Long startTime; + @ApiModelProperty("结束时间") + private Long endTime; + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepTaskDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepTaskDao.java index 61dae4b9..6be5f13b 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepTaskDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepTaskDao.java @@ -2,6 +2,7 @@ package com.ccsens.wisdomcar.persist.dao; import com.ccsens.wisdomcar.bean.po.StepTask; import com.ccsens.wisdomcar.bean.po.StepTaskExample; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; import com.ccsens.wisdomcar.persist.mapper.StepTaskMapper; import org.apache.ibatis.annotations.Param; @@ -12,4 +13,10 @@ import java.util.List; */ public interface StepTaskDao extends StepTaskMapper { + /** + * 查找对应绑定平车的任务ID + * @param taskSubId 查询的任务ID + * @return 绑定平车任务ID + */ + ProjectVo.BindCar getBindCarTaskId(@Param("taskSubId") Long taskSubId); } \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java new file mode 100644 index 00000000..0713cfaa --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java @@ -0,0 +1,18 @@ +package com.ccsens.wisdomcar.persist.dao; + +import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author whj + */ +public interface WisdomCarDao { + /** + * 查询空闲平车 + * @param hospitalId 医院ID + * @return 空闲平车 + */ + List queryFreeCar(@Param("hospitalId") Long hospitalId); +} 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 index 97e5d3f1..f9806fcf 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarRecordDao.java @@ -1,10 +1,10 @@ package com.ccsens.wisdomcar.persist.dao; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; 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; /** @@ -31,4 +31,13 @@ public interface WisdomCarRecordDao extends WisdomCarRecordMapper { */ List queryRecords(@Param("carId") Long carId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("type") byte type); + /** + * 查询平车最近的记录 + * @param carId 平车ID + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param typeArr 数据类型 + * @return 记录 + */ + List queryRecent(@Param("carId") Long carId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("typeArr") byte... typeArr); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientWisdomCarMapper.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientWisdomCarMapper.java new file mode 100644 index 00000000..534c7bdc --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientWisdomCarMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.wisdomcar.persist.mapper; + +import com.ccsens.wisdomcar.bean.po.PatientWisdomCar; +import com.ccsens.wisdomcar.bean.po.PatientWisdomCarExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface PatientWisdomCarMapper { + long countByExample(PatientWisdomCarExample example); + + int deleteByExample(PatientWisdomCarExample example); + + int deleteByPrimaryKey(Long id); + + int insert(PatientWisdomCar record); + + int insertSelective(PatientWisdomCar record); + + List selectByExample(PatientWisdomCarExample example); + + PatientWisdomCar selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") PatientWisdomCar record, @Param("example") PatientWisdomCarExample example); + + int updateByExample(@Param("record") PatientWisdomCar record, @Param("example") PatientWisdomCarExample example); + + int updateByPrimaryKeySelective(PatientWisdomCar record); + + int updateByPrimaryKey(PatientWisdomCar record); +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java new file mode 100644 index 00000000..51e514bb --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java @@ -0,0 +1,28 @@ +package com.ccsens.wisdomcar.service; + +import com.ccsens.wisdomcar.bean.dto.ProjectDto; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; + +import java.util.List; + +/** + * @author whj + */ +public interface IProjectService { + + /** + * 网页设置结点开始 + * @param param 设置参数 + * @param userId userId + */ + void start(ProjectDto.Start param, Long userId); + + /** + * 查询称重和剂量 + * @param param param + * @param userId userId + * @return 称重和剂量 + */ + List queryWeight(ProjectDto.Weight param, Long userId); + +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java new file mode 100644 index 00000000..a59374c9 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java @@ -0,0 +1,19 @@ +package com.ccsens.wisdomcar.service; + +import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; +import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; + +import java.util.List; + +/** + * @author whj + */ +public interface IWisdomCarService { + /** + * 查询空闲平车 + * @param param 平车要求,暂无 + * @param userId 用户userId,根据userId查询医院ID + * @return 空闲平车 + */ + List queryFreeCar(WisdomCarDto.FreeCar param, Long userId); +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java new file mode 100644 index 00000000..3de7d506 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java @@ -0,0 +1,115 @@ +package com.ccsens.wisdomcar.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.exception.BaseException; +import com.ccsens.wisdomcar.bean.dto.ProjectDto; +import com.ccsens.wisdomcar.bean.po.*; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; +import com.ccsens.wisdomcar.persist.dao.PatientDataDao; +import com.ccsens.wisdomcar.persist.dao.StepDao; +import com.ccsens.wisdomcar.persist.dao.StepTaskDao; +import com.ccsens.wisdomcar.persist.dao.WisdomCarRecordDao; +import com.ccsens.wisdomcar.persist.mapper.PatientWisdomCarMapper; +import com.ccsens.wisdomcar.util.Constant; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: whj + * @time: 2021/6/1 21:15 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class ProjectService implements IProjectService { + @Resource + private StepTaskDao stepTaskDao; + @Resource + private WisdomCarRecordDao wisdomCarRecordDao; + @Resource + private PatientDataDao patientDataDao; + @Resource + private StepDao stepDao; + @Resource + private PatientWisdomCarMapper patientWisdomCarMapper; + @Resource + private Snowflake snowflake; + + @Override + public void start(ProjectDto.Start param, Long userId) { + StepTaskExample taskExample = new StepTaskExample(); + taskExample.createCriteria().andTaskSubIdEqualTo(param.getTaskSubId()); + List stepTasks = stepTaskDao.selectByExample(taskExample); + if (CollectionUtil.isEmpty(stepTasks)) { + log.info("没有找到对应任务的患者信息:{}", param); + throw new BaseException(CodeEnum.PARAM_ERROR); + } + // TODO 待确认,是否处理成已提交不再修改???? + StepTask stepTask = stepTasks.get(0); + PatientDataExample dataExample = new PatientDataExample(); + dataExample.createCriteria().andTaskSubIdEqualTo(param.getTaskSubId()).andStepIdEqualTo(stepTask.getStepId()); + List patientData = patientDataDao.selectByExample(dataExample); + if (CollectionUtil.isNotEmpty(patientData)){ + log.info("taskId:{}, stepId:{}已经存在,不再修改", param.getTaskSubId(), stepTask.getStepId()); + PatientData data = patientData.get(0); + // 未推送 + if (data.getPushStatus() == Constant.PUSH_STATUS_SUCCESS) { + log.info("已推送成功,不处理"); + return; + } + + // TODO 异步推送数据 根据结果修改状态 + PatientData updateData = new PatientData(); + updateData.setId(data.getId()); + updateData.setPushStatus(Constant.PUSH_STATUS_SUCCESS); + patientDataDao.updateByPrimaryKeySelective(updateData); + return; + } + + // TODO 判断是否为结束结点 + Step step = stepDao.selectByPrimaryKey(stepTask.getStepId()); + if (true) { + // 修改平车结束时间点 + ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getTaskSubId()); + if (bindCar == null) { + log.info("出现异常,未找到绑定平车:{}", param.getTaskSubId()); + throw new BaseException(CodeEnum.PARAM_ERROR); + } + PatientWisdomCar patientWisdomCar = new PatientWisdomCar(); + patientWisdomCar.setId(bindCar.getId()); + patientWisdomCar.setEndTime(param.getStartTime()); + patientWisdomCarMapper.updateByPrimaryKeySelective(patientWisdomCar); + } + + PatientData data = new PatientData(); + data.setId(snowflake.nextId()); + data.setUserId(userId); + data.setTaskSubId(param.getTaskSubId()); + data.setStepId(stepTask.getStepId()); + data.setPushStatus(Constant.PUSH_STATUS_NO); + data.setStartTime(param.getStartTime()); + data.setType(Constant.OPERATION_USER); + patientDataDao.insertSelective(data); + // TODO 异步推送数据 根据结果修改状态 + + } + + @Override + public List queryWeight(ProjectDto.Weight param, Long userId) { + ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getTaskSubId()); + if (bindCar == null) { + log.info("没有找到绑定的平车信息:{},userId:{}", param, userId); + return new ArrayList<>(); + } + return wisdomCarRecordDao.queryRecent(bindCar.getCarId(), bindCar.getStartTime(), bindCar.getEndTime(), (byte)1,(byte)8,(byte)9,(byte)10); + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java new file mode 100644 index 00000000..1b59811a --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -0,0 +1,45 @@ +package com.ccsens.wisdomcar.service; + +import cn.hutool.core.collection.CollectionUtil; +import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; +import com.ccsens.wisdomcar.bean.po.HospitalMember; +import com.ccsens.wisdomcar.bean.po.HospitalMemberExample; +import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import com.ccsens.wisdomcar.persist.dao.HospitalMemberDao; +import com.ccsens.wisdomcar.persist.dao.WisdomCarDao; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: whj + * @time: 2021/6/1 21:17 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class WisdomCarService implements IWisdomCarService { + + @Resource + private WisdomCarDao wisdomcarDao; + @Resource + private HospitalMemberDao hospitalMemberDao; + + @Override + public List queryFreeCar(WisdomCarDto.FreeCar param, Long userId) { + HospitalMemberExample example = new HospitalMemberExample(); + example.createCriteria().andUserIdEqualTo(userId); + List hospitalMembers = hospitalMemberDao.selectByExample(example); + if (CollectionUtil.isEmpty(hospitalMembers)) { + return new ArrayList<>(); + } + Long hospitalId = hospitalMembers.get(0).getHospitalId(); + return wisdomcarDao.queryFreeCar(hospitalId); + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java index 532c2142..02578c4e 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java @@ -36,5 +36,16 @@ public class Constant { /**维持剂量*/ public static final byte MAINTENANCE_DOSE = 10; + /**推送成功*/ + public static final byte PUSH_STATUS_SUCCESS = 2; + /**推送失败*/ + public static final byte PUSH_STATUS_FAIL = 1; + /**未推送*/ + public static final byte PUSH_STATUS_NO = 0; + /**数据来源:用户*/ + public static final byte OPERATION_USER = 1; + /**数据来源:平车*/ + public static final byte OPERATION_CAR = 0; + } diff --git a/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml b/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml index 6d6f46a3..fbe08647 100644 --- a/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml @@ -2,4 +2,12 @@ + \ No newline at end of file diff --git a/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml b/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml new file mode 100644 index 00000000..e195fab3 --- /dev/null +++ b/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml index dada4965..d088a8c9 100644 --- a/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/WisdomCarRecordDao.xml @@ -38,4 +38,18 @@ + \ No newline at end of file diff --git a/wisdomcar/src/main/resources/mapper_raw/PatientWisdomCarMapper.xml b/wisdomcar/src/main/resources/mapper_raw/PatientWisdomCarMapper.xml new file mode 100644 index 00000000..af2284c8 --- /dev/null +++ b/wisdomcar/src/main/resources/mapper_raw/PatientWisdomCarMapper.xml @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, patient_id, task_sub_id, car_id, start_time, end_time, is_demo, created_at, updated_at, + rec_status, binding_status + + + + + delete from t_patient_wisdom_car + where id = #{id,jdbcType=BIGINT} + + + delete from t_patient_wisdom_car + + + + + + insert into t_patient_wisdom_car (id, patient_id, task_sub_id, + car_id, start_time, end_time, + is_demo, created_at, updated_at, + rec_status, binding_status) + values (#{id,jdbcType=BIGINT}, #{patientId,jdbcType=BIGINT}, #{taskSubId,jdbcType=BIGINT}, + #{carId,jdbcType=BIGINT}, #{startTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, + #{isDemo,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}, #{bindingStatus,jdbcType=TINYINT}) + + + insert into t_patient_wisdom_car + + + id, + + + patient_id, + + + task_sub_id, + + + car_id, + + + start_time, + + + end_time, + + + is_demo, + + + created_at, + + + updated_at, + + + rec_status, + + + binding_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{patientId,jdbcType=BIGINT}, + + + #{taskSubId,jdbcType=BIGINT}, + + + #{carId,jdbcType=BIGINT}, + + + #{startTime,jdbcType=BIGINT}, + + + #{endTime,jdbcType=BIGINT}, + + + #{isDemo,jdbcType=TINYINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + #{bindingStatus,jdbcType=TINYINT}, + + + + + + update t_patient_wisdom_car + + + id = #{record.id,jdbcType=BIGINT}, + + + patient_id = #{record.patientId,jdbcType=BIGINT}, + + + task_sub_id = #{record.taskSubId,jdbcType=BIGINT}, + + + car_id = #{record.carId,jdbcType=BIGINT}, + + + start_time = #{record.startTime,jdbcType=BIGINT}, + + + end_time = #{record.endTime,jdbcType=BIGINT}, + + + is_demo = #{record.isDemo,jdbcType=TINYINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + binding_status = #{record.bindingStatus,jdbcType=TINYINT}, + + + + + + + + update t_patient_wisdom_car + set id = #{record.id,jdbcType=BIGINT}, + patient_id = #{record.patientId,jdbcType=BIGINT}, + task_sub_id = #{record.taskSubId,jdbcType=BIGINT}, + car_id = #{record.carId,jdbcType=BIGINT}, + start_time = #{record.startTime,jdbcType=BIGINT}, + end_time = #{record.endTime,jdbcType=BIGINT}, + is_demo = #{record.isDemo,jdbcType=TINYINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT}, + binding_status = #{record.bindingStatus,jdbcType=TINYINT} + + + + + + update t_patient_wisdom_car + + + patient_id = #{patientId,jdbcType=BIGINT}, + + + task_sub_id = #{taskSubId,jdbcType=BIGINT}, + + + car_id = #{carId,jdbcType=BIGINT}, + + + start_time = #{startTime,jdbcType=BIGINT}, + + + end_time = #{endTime,jdbcType=BIGINT}, + + + is_demo = #{isDemo,jdbcType=TINYINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + binding_status = #{bindingStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_patient_wisdom_car + set patient_id = #{patientId,jdbcType=BIGINT}, + task_sub_id = #{taskSubId,jdbcType=BIGINT}, + car_id = #{carId,jdbcType=BIGINT}, + start_time = #{startTime,jdbcType=BIGINT}, + end_time = #{endTime,jdbcType=BIGINT}, + is_demo = #{isDemo,jdbcType=TINYINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT}, + binding_status = #{bindingStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file From d49530cc1f8e501bd24bb1a37f6e201a8b2b527e Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 10:20:09 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/OtherRecordsService.java | 70 +++++++++++-------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index 8d8d7570..a3662c3f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java @@ -1,5 +1,6 @@ package com.ccsens.wisdomcar.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.util.StringUtil; @@ -9,7 +10,9 @@ import com.ccsens.wisdomcar.bean.po.PatientInformationRecordExample; import com.ccsens.wisdomcar.bean.po.PatientWisdomCar; import com.ccsens.wisdomcar.bean.po.PatientWisdomCarExample; import com.ccsens.wisdomcar.bean.vo.OtherRecordsVo; +import com.ccsens.wisdomcar.bean.vo.ProjectVo; import com.ccsens.wisdomcar.persist.dao.PatientWisdomCarDao; +import com.ccsens.wisdomcar.persist.dao.StepTaskDao; import com.ccsens.wisdomcar.persist.mapper.PatientInformationRecordMapper; import com.ccsens.wisdomcar.persist.mapper.PatientWisdomCarMapper; import com.ccsens.wisdomcar.persist.mapper.WisdomCarMapper; @@ -38,6 +41,8 @@ public class OtherRecordsService implements IOtherRecordsService { @Resource private PatientWisdomCarDao patientWisdomCarDao; + @Resource + private StepTaskDao stepTaskDao; @Resource private PatientInformationRecordMapper patientInformationRecordMapper; @@ -48,48 +53,53 @@ public class OtherRecordsService implements IOtherRecordsService { @Override public void upload(OtherRecordsDto.PicturesAndRecords param) { //通过t_patient_information_record里面的分解任务id 找到患者平车id 最新的 拿到患者平车id t_patient_information_record - List longs = patientWisdomCarDao.queryByNew(param.getId()); //拿到患者平车id - if(ObjectUtil.isNotNull(longs)){ - if(param.getPictures().size()!=0){ //判断是否是图片是否为空 - for (int i = 0; i < param.getPictures().size(); i++) { - PatientInformationRecord patientInformationRecord = new PatientInformationRecord(); - patientInformationRecord.setId(snowflake.nextId()); - patientInformationRecord.setPatientCarId(longs.get(0)); - patientInformationRecord.setTaskSubId(param.getId()); - patientInformationRecord.setInformationType((byte) 0); //上传图片 - patientInformationRecord.setContent(param.getPictures().get(i)); //拿到图片 存到库里面 - patientInformationRecord.setRecStatus((byte) 0); - patientInformationRecordMapper.insertSelective(patientInformationRecord); - } - } - if(!StringUtil.isEmpty(param.getRecords())) { //判断是否是记录是否为空 + //拿到患者平车id + ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId()); + if (bindCar == null) { + log.info("没有找到绑定的平车信息:{}", param); + return ; + } + //判断是否是图片是否为空 + if (CollectionUtil.isNotEmpty(param.getPictures())){ + for (int i = 0; i < param.getPictures().size(); i++) { PatientInformationRecord patientInformationRecord = new PatientInformationRecord(); patientInformationRecord.setId(snowflake.nextId()); - patientInformationRecord.setPatientCarId(longs.get(0)); + patientInformationRecord.setPatientCarId(bindCar.getId()); patientInformationRecord.setTaskSubId(param.getId()); - patientInformationRecord.setInformationType((byte) 1); //上传记录 - patientInformationRecord.setContent(param.getRecords()); //拿到记录 存到库里面 - patientInformationRecord.setRecStatus((byte) 0); + //上传图片 + patientInformationRecord.setInformationType((byte) 0); + //拿到图片 存到库里面 + patientInformationRecord.setContent(param.getPictures().get(i)); + patientInformationRecordMapper.insertSelective(patientInformationRecord); } } + //判断是否是记录是否为空 + if(!StringUtil.isEmpty(param.getRecords())) { + PatientInformationRecord patientInformationRecord = new PatientInformationRecord(); + patientInformationRecord.setId(snowflake.nextId()); + patientInformationRecord.setPatientCarId(bindCar.getId()); + patientInformationRecord.setTaskSubId(param.getId()); + patientInformationRecord.setInformationType((byte) 1); + patientInformationRecord.setContent(param.getRecords()); + patientInformationRecordMapper.insertSelective(patientInformationRecord); + } + } @Override public List query(OtherRecordsDto.Query param) { List patientInformationRecordList = new ArrayList<>(); //通过任务id 找到创建的最新的 - List longs = patientWisdomCarDao.queryByNew(param.getId()); //拿到患者平车id - if(ObjectUtil.isNotNull(longs)){ - PatientInformationRecordExample patientInformationRecordExample = new PatientInformationRecordExample(); - patientInformationRecordExample.createCriteria().andPatientCarIdEqualTo(longs.get(0)).andTaskSubIdEqualTo(param.getId()); - List patientInformationRecords = patientInformationRecordMapper.selectByExample(patientInformationRecordExample); - for (PatientInformationRecord patientInformationRecord : patientInformationRecords) { - OtherRecordsVo.Query query = new OtherRecordsVo.Query(); - query.setComment(patientInformationRecord.getContent()); - query.setType(patientInformationRecord.getInformationType()); - patientInformationRecordList.add(query); - } + //拿到患者平车id + PatientInformationRecordExample patientInformationRecordExample = new PatientInformationRecordExample(); + patientInformationRecordExample.createCriteria().andTaskSubIdEqualTo(param.getId()); + List patientInformationRecords = patientInformationRecordMapper.selectByExample(patientInformationRecordExample); + for (PatientInformationRecord patientInformationRecord : patientInformationRecords) { + OtherRecordsVo.Query query = new OtherRecordsVo.Query(); + query.setComment(patientInformationRecord.getContent()); + query.setType(patientInformationRecord.getInformationType()); + patientInformationRecordList.add(query); } return patientInformationRecordList; } From 6c9e95edcb9977252aa19dcb68d2dfd29c832245 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 2 Jun 2021 11:16:32 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=B9=B3=E8=BD=A6=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=97=85=E4=BE=8B=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/tall/dto/MemberRoleDto.java | 22 +++ .../cloudutil/bean/tall/dto/ProjectDto.java | 23 +++ .../cloudutil/bean/tall/vo/ProjectVo.java | 98 +++++++++++ .../cloudutil/feign/TallFeignClient.java | 30 +++- .../com/ccsens/tall/bean/dto/MemberDto.java | 23 +++ .../ccsens/tall/persist/dao/ProMemberDao.java | 8 + .../ccsens/tall/persist/dao/ProRoleDao.java | 8 + .../tall/service/IProMemberService.java | 7 + .../ccsens/tall/service/IProjectService.java | 3 +- .../ccsens/tall/service/ProMemberService.java | 74 +++++++++ .../ccsens/tall/service/ProjectService.java | 4 +- .../com/ccsens/tall/web/MemberController.java | 12 ++ .../ccsens/tall/web/ProjectController.java | 8 +- tall/src/main/resources/application.yml | 5 +- .../resources/mapper_dao/ProMemberDao.xml | 10 ++ .../main/resources/mapper_dao/ProRoleDao.xml | 10 ++ .../api/PatientAndFamilyController.java | 17 ++ .../wisdomcar/api/WisdomCarController.java | 19 +++ .../wisdomcar/bean/dto/CreateCaseDto.java | 38 +++++ .../persist/dao/HospitalWrokingDao.java | 9 + .../wisdomcar/service/IWisdomCarService.java | 12 ++ .../wisdomcar/service/WisdomCarService.java | 155 +++++++++++++++++- .../com/ccsens/wisdomcar/util/Constant.java | 47 ++++++ .../mapper_dao/HospitalWorkingDao.xml | 16 ++ 24 files changed, 644 insertions(+), 14 deletions(-) create mode 100644 cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java create mode 100644 cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java index c8b10729..2c3fc400 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java @@ -144,4 +144,26 @@ public class MemberRoleDto { @ApiModelProperty("token") private String token; } + + @Data + @ApiModel("给模板项目添加成员") + public static class SaveMemberForTemplate { + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("成员列表") + private List memberForTemplate; + } + @Data + @ApiModel("模板项目成员信息") + public static class MemberForTemplate { + @ApiModelProperty("用户id(医生)") + private Long userId; + @ApiModelProperty("成员名") + private String memberName; + @ApiModelProperty("成员手机号") + private String phone; + @ApiModelProperty("所属角色的名称") + private List roleName; + } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java new file mode 100644 index 00000000..916aaef0 --- /dev/null +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java @@ -0,0 +1,23 @@ +package com.ccsens.cloudutil.bean.tall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author AUSU + */ +@Data +public class ProjectDto { + @Data + @ApiModel("根据模板复制项目") + public static class CopyProject{ + @NotNull(message = "请选择要复制得项目") + @ApiModelProperty("项目id") + private Long projectId; + } +} diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java new file mode 100644 index 00000000..c2e8aca2 --- /dev/null +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java @@ -0,0 +1,98 @@ +package com.ccsens.cloudutil.bean.tall.vo; + +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.WebConstant; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author AUSU + */ +@Data +public class ProjectVo { + + @Data + @ApiModel("复制的项目信息") + public static class ProjectInfo{ + @ApiModelProperty("项目id") + private Long id; + @ApiModelProperty("项目名称") + private String name; + @ApiModelProperty("地点") + private String description; + @ApiModelProperty("描述信息") + private String address; + @ApiModelProperty("项目开始时间(milltime)") + private Long beginTime; + @ApiModelProperty("项目时长(milltime)") + private Long totalDuration; + @ApiModelProperty("项目结束时间(milltime)") + private Long endTime; + @ApiModelProperty("项目进行状态:0未开始,1进行中,2已过期") + private Integer process; + @ApiModelProperty("当前用户在本项目中的角色") + private List roles = new ArrayList<>(); + @ApiModelProperty("当前用户在本项目中的最高权限") + private int power; + @ApiModelProperty("当前用户是否是本项目的创建者") + private boolean creator; + @ApiModelProperty("WPS文件信息") + private List wpsFilePaths; + + @ApiModelProperty("子项目信息") + private List subProjectList; + @ApiModelProperty("是否在首页展示 0否 1是") + private Byte homePageShow; + @ApiModelProperty("是否高亮展示 0否 1是") + private Byte highlight; + @ApiModelProperty("父项目id") + private Long parentId; + + public Long getTotalDuration(){ + if(ObjectUtil.isNotNull(endTime) && ObjectUtil.isNotNull(beginTime)){ + return endTime - beginTime; + } + return null; + } + + public Integer getProcess(){ + Long current = System.currentTimeMillis(); + if(ObjectUtil.isNull(getBeginTime()) || ObjectUtil.isNull(getEndTime())) { + return null; + } + if(getBeginTime() > current){ + this.process = WebConstant.EVENT_PROCESS.Pending.value; + }else if(getEndTime() < current){ + this.process = WebConstant.EVENT_PROCESS.Expired.value; + }else{ + this.process = WebConstant.EVENT_PROCESS.Processing.value; + } + return this.process; + } + + @Override + public boolean equals(Object obj){ + if(this == obj) { + return true; + } + if(obj == null) { + return false; + } + ProjectInfo o = (ProjectInfo)obj; + if(this.id.equals(o.id)) { + return true; + } + return false; + } + + @Override + public int hashCode(){ + return (int)((id / 1000)); + } + } + +} diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index a2a5e957..576b0b43 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -5,7 +5,7 @@ import com.ccsens.cloudutil.bean.tall.dto.*; import com.ccsens.cloudutil.bean.tall.vo.*; import com.ccsens.cloudutil.config.FeignTokenConfig; import com.ccsens.util.JsonResponse; -import feign.RequestInterceptor; +import com.ccsens.util.bean.dto.QueryDto; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FeignClient; @@ -238,6 +238,24 @@ public interface TallFeignClient { */ @RequestMapping("/roles/delete") JsonResponse deleteRole(MemberRoleDto.DeleteRole deleteRole); + + /** + * 根据项目模板复制项目 + * @param copyProject 项目id + * @return 项目 + */ + @RequestMapping("/projects/copyProject") + JsonResponse copyProjectNew(QueryDto copyProject); + + /** + * 给复制后的模板项目添加成员 + * @param memberForTemplate 项目id/角色名称/成员手机号或userId + * @return 成功/失败 + */ + @RequestMapping("/members/addMemberForTemplate") + JsonResponse addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate memberForTemplate); + + } @Slf4j @@ -400,6 +418,16 @@ class TallFeignClientFallBack implements FallbackFactory { public JsonResponse deleteRole(MemberRoleDto.DeleteRole deleteRole) { return JsonResponse.newInstance().fail(); } + + @Override + public JsonResponse copyProjectNew(QueryDto copyProject) { + return JsonResponse.newInstance().fail(); + } + + @Override + public JsonResponse addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate memberForTemplate) { + return JsonResponse.newInstance().fail(); + } }; } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java index dd9840a7..4329b034 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java @@ -65,4 +65,27 @@ public class MemberDto { @ApiModelProperty("奖惩干系人姓名") private String stakeholderName; } + + @Data + @ApiModel("为模板项目添加成员") + public static class SaveMemberForTemplate { + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("成员列表") + private List memberForTemplate; + } + @Data + @ApiModel("模板项目成员信息") + public static class MemberForTemplate { + @ApiModelProperty("用户id(医生)") + private Long userId; + @ApiModelProperty("成员名") + private String memberName; + @ApiModelProperty("成员手机号") + private String phone; + @ApiModelProperty("所属角色的名称") + private List roleName; + } + } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java index 60b4dc4d..c024c946 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java @@ -67,4 +67,12 @@ public interface ProMemberDao extends ProMemberMapper{ * @return 返回所有成员信息及奖惩干系人 */ List queryByProjectId(@Param("projectId")Long projectId); + + /** + * 通过项目id和手机号查询用户是否存在 + * @param projectId 项目id + * @param phone 手机号 + * @return 0为不存在 + */ + int findUserIsExist(@Param("projectId") Long projectId,@Param("phone") String phone); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index 382bb1e9..e3bc928f 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -135,6 +135,14 @@ public interface ProRoleDao extends ProRoleMapper{ */ ProRole getMoneyStakeholder(@Param("projectId") Long projectId); + /** + * 根据项目id和角色名称查找角色id + * @param projectId 项目id + * @param roleName 角色名称 + * @return 角色id + */ + Long findRoelIdByProjectAndName(@Param("projectId") Long projectId,@Param("roleName") String roleName); + // /** // * 查找项目下的所有成员的名字用“,”分隔 diff --git a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java index 9c33b346..29a7d1d5 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java @@ -84,4 +84,11 @@ public interface IProMemberService { * @return */ ProjectVo.MemberList getMemberByPhone(MemberDto.GetMemberByPhone memberByPhone); + + /** + * 为模板项目添加成员 + * @param param 项目id,成员手机号 + * + */ + void addMemberForTemplate(MemberDto.SaveMemberForTemplate param); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java index f3ab081e..f427c153 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java @@ -69,7 +69,8 @@ public interface IProjectService { * 根据模板复制项目 * @param param 项目id * @param userId 当前用户id + * @param token 用户token * @return 复制成功的项目 */ - ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId); + ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId,String token); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java index 6013103f..f12f09c2 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java @@ -521,4 +521,78 @@ public class ProMemberService implements IProMemberService { } return member; } + + + @Override + public void addMemberForTemplate(MemberDto.SaveMemberForTemplate param) { + + if (CollectionUtil.isNotEmpty(param.getMemberForTemplate())){ + for (MemberDto.MemberForTemplate memberForTemplate : param.getMemberForTemplate()) { + + //只有手机号的情况 + if (ObjectUtil.isNotNull(memberForTemplate.getPhone())){ + //用项目id和手机号判断用户是否存在 + int isExist = proMemberDao.findUserIsExist(param.getProjectId(),memberForTemplate.getPhone()); + if (0!=isExist) { + throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); + } + //添加成员 + ProMember proMember = new ProMember(); + proMember.setId(snowflake.nextId()); + proMember.setProjectId(param.getProjectId()); + if(ObjectUtil.isNotNull(memberForTemplate.getMemberName())){ + proMember.setNickname(memberForTemplate.getMemberName()); + } + proMember.setPhone(memberForTemplate.getPhone()); + proMemberDao.insertSelective(proMember); + //关联成员和角色 + for (String roleName : memberForTemplate.getRoleName()) { + Long roleId = proRoleDao.findRoelIdByProjectAndName(param.getProjectId(),roleName); + if (null != roleId){ + ProMemberRole proMemberRole = new MemberRoleDto(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setRoleId(roleId); + proMemberRole.setMemberId(proMember.getId()); + proMemberRoleDao.insertSelective(proMemberRole); + } + } + } + + //知道成员的userId的情况 + if (ObjectUtil.isNotNull(memberForTemplate.getUserId())){ + SysUser user = userDao.selectByPrimaryKey(memberForTemplate.getUserId()); + String phone = userService.getPhone(memberForTemplate.getUserId()); + //用项目id和手机号判断用户是否存在 + int isExist = proMemberDao.findUserIsExist(param.getProjectId(),phone); + if (0!=isExist) { + throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); + } + + //添加成员 + ProMember proMember = new ProMember(); + proMember.setId(snowflake.nextId()); + proMember.setPhone(phone); + proMember.setUserId(memberForTemplate.getUserId()); + proMember.setProjectId(param.getProjectId()); + if(ObjectUtil.isNotNull(user.getNickname())){ + proMember.setNickname(user.getNickname()); + } + proMemberDao.insertSelective(proMember); + for (String roleName : memberForTemplate.getRoleName()) { + Long roleId = proRoleDao.findRoelIdByProjectAndName(param.getProjectId(),roleName); + if (null != roleId){ + ProMemberRole proMemberRole = new MemberRoleDto(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setRoleId(roleId); + proMemberRole.setMemberId(proMember.getId()); + proMemberRoleDao.insertSelective(proMemberRole); + } + } + } + + } + } + + } + } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 222706ca..2fb369d4 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -1471,7 +1471,7 @@ public class ProjectService implements IProjectService { * @return 复制后的项目 */ @Override - public ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId) { + public ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId,String token) { //当前时间 long currentTime = System.currentTimeMillis(); SysProject oldProject = sysProjectDao.selectByPrimaryKey(param.getProjectId()); @@ -1517,7 +1517,7 @@ public class ProjectService implements IProjectService { //复制项目配置信息 copyProjectConfig(oldProject.getId(), newProject.getId(),userId); //复制项目下的角色 - return null; + return getProjectInfoById(userId,newProject.getId(),token); } } diff --git a/tall/src/main/java/com/ccsens/tall/web/MemberController.java b/tall/src/main/java/com/ccsens/tall/web/MemberController.java index 0ca2cfb3..577039b3 100644 --- a/tall/src/main/java/com/ccsens/tall/web/MemberController.java +++ b/tall/src/main/java/com/ccsens/tall/web/MemberController.java @@ -1,5 +1,6 @@ package com.ccsens.tall.web; +import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.tall.bean.dto.MemberDto; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.vo.ProjectVo; @@ -8,6 +9,7 @@ import com.ccsens.tall.service.IProMemberService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; import com.ccsens.util.annotation.OperateType; +import com.ccsens.util.bean.dto.QueryDto; import io.jsonwebtoken.Claims; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; @@ -104,4 +106,14 @@ public class MemberController { ProjectVo.MemberList membersInfo = proMemberService.getMemberByPhone(memberByPhone); return JsonResponse.newInstance().ok(membersInfo); } + + + @ApiOperation(value = "复制后的项目添加成员", notes = "") + @RequestMapping(value = "/addMemberForTemplate", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse addMemberForTemplate(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + log.info("根据模板复制项目新:{}",params); + proMemberService.addMemberForTemplate(params.getParam()); + log.info("根据模板复制项目新结束"); + return JsonResponse.newInstance().ok(); + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index 3941c5be..640135ef 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -336,10 +336,12 @@ public class ProjectController { @MustLogin @ApiOperation(value = "根据模板复制项目新", notes = "") @RequestMapping(value = "/copyProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("根据模板复制项目新:{}",params); - ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId()); +// String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); +// String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); +// ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId(),token); log.info("根据模板复制项目新结束"); - return JsonResponse.newInstance().ok(projectInfo); + return JsonResponse.newInstance().ok(); } } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index ee27f352..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,6 +1,5 @@ spring: profiles: - active: test - include: util-test,common - + active: dev + include: util-dev,common diff --git a/tall/src/main/resources/mapper_dao/ProMemberDao.xml b/tall/src/main/resources/mapper_dao/ProMemberDao.xml index e448a8a6..c6d5facc 100644 --- a/tall/src/main/resources/mapper_dao/ProMemberDao.xml +++ b/tall/src/main/resources/mapper_dao/ProMemberDao.xml @@ -374,4 +374,14 @@ LEFT JOIN t_pro_member pm on pm.id = a.stakeholder_id and pm.rec_status = 0 and pm.nickname != '' + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 06100c3c..b9dbf7d2 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -475,4 +475,14 @@ (SELECT id FROM t_pro_role WHERE name = 'MoneyStakeholder' and project_id = #{projectId}) limit 1 + + \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java new file mode 100644 index 00000000..ffb163cd --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java @@ -0,0 +1,17 @@ +package com.ccsens.wisdomcar.api; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author 马 + */ +@Slf4j +@Api(tags = "患者与家属相关接口" , description = "") +@RestController +@RequestMapping("/patientAndFamily") +public class PatientAndFamilyController { + +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index c1fbba36..a4be3f14 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -6,6 +6,12 @@ import com.ccsens.wisdomcar.bean.dto.RecordDto; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.vo.RecordVo; import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; +import com.ccsens.wisdomcar.bean.dto.StatisticsDto; +import com.ccsens.wisdomcar.bean.vo.StatisticsVo; import com.ccsens.wisdomcar.service.IWisdomCarService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,4 +46,17 @@ public class WisdomCarController { log.info("空闲平车查询结果:{}", list); return JsonResponse.newInstance().ok(list); } + + @MustLogin + @ApiOperation(value = "创建病例接口", notes = "") + @RequestMapping(value = "/createCase", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse createCase(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("创建病例接口:{}", params); + wisdomCarService.createCase(params.getParam(), params.getUserId()); + log.info("创建病例接口"); + return JsonResponse.newInstance().ok(); + + } } + + diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java new file mode 100644 index 00000000..a914fcd0 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java @@ -0,0 +1,38 @@ +package com.ccsens.wisdomcar.bean.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @author AUSU + */ + +@Data +public class CreateCaseDto { + @Data + @ApiModel("患者与家属信息") + public static class PatientInfo{ + @ApiModelProperty("患者姓名") + private String patientName; + @ApiModelProperty("患者性别(0-女,1-男)") + private Byte patientSex; + @ApiModelProperty("患者年龄") + private int patientAge; + @ApiModelProperty("患者身份证号") + private String patientIdCard; + @ApiModelProperty("患者手机号") + private int patientPhone; + @ApiModelProperty("患者病案号") + private String medicalRecordNum; + @ApiModelProperty("患者家属姓名") + private String familyName; + @ApiModelProperty("患者家属手机号") + private String familyPhone; + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/HospitalWrokingDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/HospitalWrokingDao.java index b2535667..87702373 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/HospitalWrokingDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/HospitalWrokingDao.java @@ -1,5 +1,6 @@ package com.ccsens.wisdomcar.persist.dao; +import com.ccsens.wisdomcar.bean.po.HospitalMember; import com.ccsens.wisdomcar.bean.po.HospitalWroking; import com.ccsens.wisdomcar.bean.po.HospitalWrokingExample; import com.ccsens.wisdomcar.persist.mapper.HospitalWrokingMapper; @@ -12,4 +13,12 @@ import java.util.List; */ public interface HospitalWrokingDao extends HospitalWrokingMapper { + /** + * 查找正在值班医生 + * @param hospitalId 医院id + * @param currentTime 当前时间 + * @return 值班医生 + */ + List findWorkingDoctor(@Param("hospitalId") Long hospitalId,@Param("currentTime") Long currentTime); + } \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java index a59374c9..ae44c871 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java @@ -1,7 +1,9 @@ package com.ccsens.wisdomcar.service; +import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; +import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; import java.util.List; @@ -16,4 +18,14 @@ public interface IWisdomCarService { * @return 空闲平车 */ List queryFreeCar(WisdomCarDto.FreeCar param, Long userId); + + + + + /** + * 创建病例 + * @param param 患者信息与家属信息 + * @param userId 当前用户id + */ + void createCase(CreateCaseDto.PatientInfo param, Long userId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index 1b59811a..68f4ea4c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -1,12 +1,27 @@ package com.ccsens.wisdomcar.service; import cn.hutool.core.collection.CollectionUtil; +import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.po.HospitalMember; import com.ccsens.wisdomcar.bean.po.HospitalMemberExample; import com.ccsens.wisdomcar.bean.vo.WisdomCarVo; import com.ccsens.wisdomcar.persist.dao.HospitalMemberDao; import com.ccsens.wisdomcar.persist.dao.WisdomCarDao; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto; +import com.ccsens.cloudutil.bean.tall.dto.ProjectDto; +import com.ccsens.cloudutil.bean.tall.vo.ProjectVo; +import com.ccsens.cloudutil.feign.TallFeignClient; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.RedisUtil; +import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; +import com.ccsens.wisdomcar.bean.po.*; +import com.ccsens.wisdomcar.persist.dao.HospitalWrokingDao; +import com.ccsens.wisdomcar.persist.dao.PatientFamilyDao; +import com.ccsens.wisdomcar.persist.dao.PatientProjectDao; +import com.ccsens.wisdomcar.util.Constant; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -17,9 +32,7 @@ import java.util.ArrayList; import java.util.List; /** - * @description: - * @author: whj - * @time: 2021/6/1 21:17 + * @author AUSU */ @Slf4j @Service @@ -27,9 +40,143 @@ import java.util.List; public class WisdomCarService implements IWisdomCarService { @Resource - private WisdomCarDao wisdomcarDao; + private PatientProjectDao patientProjectDao; + @Resource + private PatientFamilyDao patientFamilyDao; @Resource private HospitalMemberDao hospitalMemberDao; + @Resource + private Snowflake snowflake; + @Resource + private RedisUtil redisUtil; + @Resource + private HospitalWrokingDao hospitalWrokingDao; + @Resource + private TallFeignClient tallFeignClient; + @Resource + private WisdomCarDao wisdomcarDao; + + + @Override + public void createCase(CreateCaseDto.PatientInfo param, Long userId) { + //tall中需要添加的成员 + MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate(); + List memberList = new ArrayList<>(); + + + //查找医院id + HospitalMemberExample hospitalMemberExample = new HospitalMemberExample(); + hospitalMemberExample.createCriteria().andUserIdEqualTo(userId); + List hospitalMembers = hospitalMemberDao.selectByExample(hospitalMemberExample); + HospitalMember hospitalMember; + + //患者 + PatientProject patient = new PatientProject(); + patient.setId(snowflake.nextId()); + //设置病历号,redis自增 + if (CollectionUtil.isNotEmpty(hospitalMembers)){ + hospitalMember = hospitalMembers.get(0); + long incr = redisUtil.incr("医院_" + hospitalMember.getHospitalId().toString(), 1L); + patient.setMedicalRecordNum(String.valueOf(incr)); + } + if (ObjectUtil.isNotNull(param.getPatientName())){ + patient.setName(param.getPatientName()); + } + if (ObjectUtil.isNotNull(param.getPatientSex())){ + patient.setSex(param.getPatientSex()); + } + if (ObjectUtil.isNotNull(param.getPatientAge())){ + patient.setAge(param.getPatientAge()); + } + if (ObjectUtil.isNotNull(param.getPatientIdCard())){ + patient.setIdCard(param.getPatientIdCard()); + } + if (ObjectUtil.isNotNull(param.getPatientPhone())){ + patient.setPhone(param.getFamilyPhone()); + } + patientProjectDao.insertSelective(patient); + + //患者家属 + if (ObjectUtil.isNotNull(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){ + PatientFamily patientFamily = new PatientFamily(); + patientFamily.setId(snowflake.nextId()); + patientFamily.setName(param.getFamilyName()); + patientFamily.setPhone(param.getFamilyPhone()); + patientFamily.setPatientId(patient.getId()); + patientFamilyDao.insertSelective(patientFamily); + if (ObjectUtil.isNotNull(param.getFamilyPhone())){ + MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); + //添加对应角色名称 + List roleName = new ArrayList<>(); + roleName.add(Constant.PATIENT_FAMILY); + memberForTemplate.setRoleName(roleName); + memberForTemplate.setPhone(param.getFamilyPhone()); + if (ObjectUtil.isNotNull(param.getFamilyName())){ + memberForTemplate.setMemberName(param.getFamilyName()); + } + memberList.add(memberForTemplate); + } + } + + //查找正在值班得急救医生和急救护士 + if (CollectionUtil.isNotEmpty(hospitalMembers)){ + long currentTime = System.currentTimeMillis(); + //正在值班的医生(0-急诊护士,1-急诊医生,2-专科医生,3-分诊台) + List doctor = hospitalWrokingDao.findWorkingDoctor(hospitalMembers.get(0).getHospitalId(),currentTime); + for (HospitalMember member : doctor) { + MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); + List roleName = new ArrayList<>(); + memberForTemplate.setUserId(member.getUserId()); + //急诊护士 + if (Constant.EMERGENCY_NURSE_ZERO.equals(member.getPosition())){ + roleName.add(Constant.EMERGENCY_NURSE); + } + //急诊医生 + if (Constant.EMERGENCY_DOCTOR_ONE.equals(member.getPosition())){ + roleName.add(Constant.EMERGENCY_DOCTOR); + } + //专科医生 + if (Constant.SPECIALIST_TWO.equals(member.getPosition())){ + roleName.add(Constant.SPECIALIST); + } + memberForTemplate.setRoleName(roleName); + memberList.add(memberForTemplate); + } + + } + + ProjectDto.CopyProject copyProject = new ProjectDto.CopyProject(); + copyProject.setProjectId(Constant.TEMPLATE_PROJECT); + log.info("调用tall内的复制项目:{}",copyProject); + QueryDto dto = new QueryDto<>(); + dto.setParam(copyProject); + JsonResponse projectNew = tallFeignClient.copyProjectNew(dto); + log.info("复制项目后返回:{}", projectNew); + if (ObjectUtil.isNull(projectNew)) { + log.info("调用tall返回null"); + return; + } + if(projectNew.getCode().equals(Constant.RESPONSE_OK)){ + log.info("调用tall异常后返回:{}", projectNew.getMsg()); + return; + } + + ProjectVo.ProjectInfo newProject = projectNew.getData(); + if (ObjectUtil.isNotNull(newProject)){ + saveMemberForTemplate.setProjectId(newProject.getId()); + saveMemberForTemplate.setMemberForTemplate(memberList); + //调用tall的添加成员接口 + log.info("调用tall内的给复制的项目添加成员接口"); + JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(saveMemberForTemplate); + if (jsonResponse.getCode().equals(Constant.RESPONSE_OK)){ + log.info("调用tall异常后返回:{}",jsonResponse.getMsg()); + return; + } + } + } + + + @Override public List queryFreeCar(WisdomCarDto.FreeCar param, Long userId) { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java index 02578c4e..e916cd0f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java @@ -47,5 +47,52 @@ public class Constant { /**数据来源:平车*/ public static final byte OPERATION_CAR = 0; + /** + * 智慧平车,模板项目id + */ + public static final Long TEMPLATE_PROJECT = 1397074571902980096L; + /** + * 角色名称:患者家属 + */ + public static final String PATIENT_FAMILY = "家属"; + + /** + * 角色名称:急诊医生 + */ + public static final String EMERGENCY_DOCTOR = "急诊医生"; + /** + * 角色名称:急诊护士 + */ + public static final String EMERGENCY_NURSE = "急诊护士"; + /** + * 角色名称:专科医生 + */ + public static final String SPECIALIST = "专科医生"; + /** + * 角色名称:分诊台 + */ + public static final String TRIAGE_TABLE = "分诊台"; + + /** + * 0急诊护士 + */ + public static final Byte EMERGENCY_NURSE_ZERO = 0; + /** + * 1-急诊医生 + */ + public static final Byte EMERGENCY_DOCTOR_ONE = 1; + /** + * 2-专科医生 + */ + public static final Byte SPECIALIST_TWO = 2; + /** + * 3-分诊台 + */ + public static final Byte TRIAGE_TABLE_THREE = 3; + + /** + * 响应成功 + */ + public static final Integer RESPONSE_OK = 200; } diff --git a/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml b/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml index 9b85e772..d2cb12ee 100644 --- a/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml @@ -2,4 +2,20 @@ + + \ No newline at end of file From 2f50bbbd583d2d2796b6c8ec346df834955796c0 Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Wed, 2 Jun 2021 11:17:18 +0800 Subject: [PATCH 05/15] =?UTF-8?q?sql=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml b/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml index fbe08647..a0191297 100644 --- a/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/StepTaskDao.xml @@ -2,9 +2,9 @@ - select c.id, c.task_sub_id as taskSubId, c.patient_id as patientId, c.car_id as carId, c.start_time as startTime, c.end_time as endTime FROM - (select patient_id, batch from t_step_task where task_sub_id = 1 and rec_status = 0) batch, + (select patient_id, batch from t_step_task where task_sub_id = #{taskSubId} and rec_status = 0) batch, (select id from t_step where code = 1 and step_type = 0 and rec_status = 0) step, t_step_task st, t_patient_wisdom_car c From 8c6efd33754273b4bf6582fb9a1a69fc57340a0a Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 11:17:46 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/wisdomcar/persist/dao/StepDao.java | 7 +++++++ .../java/com/ccsens/wisdomcar/service/ProjectService.java | 3 ++- .../src/main/java/com/ccsens/wisdomcar/util/Constant.java | 2 ++ wisdomcar/src/main/resources/application.yml | 4 ++-- wisdomcar/src/main/resources/mapper_dao/StepDao.xml | 3 +++ 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java index be26252a..4514328f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java @@ -21,4 +21,11 @@ public interface StepDao extends StepMapper { StepVo.Step getCodeByStepOne(); String getRecordByCarIdAndType(@Param("carId") Long carId, @Param("type") byte type); + + /** + * 查询最大序号 + * @param stepType 类型 + * @return 最大序号 + */ + Integer getMaxSequence(@Param("stepType") byte stepType); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java index 3de7d506..cbc5a655 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java @@ -77,7 +77,8 @@ public class ProjectService implements IProjectService { // TODO 判断是否为结束结点 Step step = stepDao.selectByPrimaryKey(stepTask.getStepId()); - if (true) { + Integer max = stepDao.getMaxSequence(Constant.STEP_TYPE_REAL); + if (step != null && max != null && step.getSequence() != null && step.getSequence().intValue() == max.intValue()) { // 修改平车结束时间点 ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getTaskSubId()); if (bindCar == null) { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java index 02578c4e..a3010fbb 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java @@ -46,6 +46,8 @@ public class Constant { public static final byte OPERATION_USER = 1; /**数据来源:平车*/ public static final byte OPERATION_CAR = 0; + /**环节:真实*/ + public static final byte STEP_TYPE_REAL = 0; } diff --git a/wisdomcar/src/main/resources/application.yml b/wisdomcar/src/main/resources/application.yml index a47f2a7b..ac92adb9 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: test + include: common, util-test diff --git a/wisdomcar/src/main/resources/mapper_dao/StepDao.xml b/wisdomcar/src/main/resources/mapper_dao/StepDao.xml index 87f77d01..2a080aac 100644 --- a/wisdomcar/src/main/resources/mapper_dao/StepDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/StepDao.xml @@ -36,4 +36,7 @@ ORDER BY time DESC limit 1 + \ No newline at end of file From 5dd34e392de41892e228197e32cdd893f113f4bb Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 13:22:27 +0800 Subject: [PATCH 07/15] =?UTF-8?q?feign=20token=E4=BC=A0=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/config/FeignTokenConfig.java | 18 +++++++++++++----- .../main/resources/application-util-dev.yml | 6 ++++++ .../com/ccsens/tall/web/ProjectController.java | 6 ++++-- tall/src/main/resources/application-dev.yml | 6 +++--- .../wisdomcar/api/ProjectController.java | 3 +++ .../wisdomcar/api/WisdomCarController.java | 1 + wisdomcar/src/main/resources/application.yml | 4 ++-- 7 files changed, 32 insertions(+), 12 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java index 6e0c317d..6590f509 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java @@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import feign.RequestInterceptor; import feign.RequestTemplate; +import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; @@ -15,10 +16,20 @@ import javax.servlet.http.HttpServletRequest; /** * @author 逗 */ -@Component +@Configuration public class FeignTokenConfig implements RequestInterceptor { @Override public void apply(RequestTemplate template) { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + System.out.println("attributes:"+attributes); + if (attributes != null) { + HttpServletRequest request = attributes.getRequest(); + System.out.println("token:" + request.getHeader(HttpHeaders.AUTHORIZATION)); + //添加token + template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION)); + return; + } + byte[] body = template.body(); if (body == null) { return; @@ -29,9 +40,6 @@ public class FeignTokenConfig implements RequestInterceptor { //添加token template.header("Authorization", jsonObject.getStr("token")); - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - HttpServletRequest request = attributes.getRequest(); - //添加token - template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION)); + } } diff --git a/cloudutil/src/main/resources/application-util-dev.yml b/cloudutil/src/main/resources/application-util-dev.yml index 4e0eefaa..e92264f9 100644 --- a/cloudutil/src/main/resources/application-util-dev.yml +++ b/cloudutil/src/main/resources/application-util-dev.yml @@ -46,6 +46,12 @@ feign: loggerLevel: basic hystrix: enabled: true +hystrix: + command: + default: + execution: + isolation: + strategy: SEMAPHORE # sleuth logging: level: diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index 640135ef..ae91574d 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -336,12 +336,14 @@ public class ProjectController { @MustLogin @ApiOperation(value = "根据模板复制项目新", notes = "") @RequestMapping(value = "/copyProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) { log.info("根据模板复制项目新:{}",params); // String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); // String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); // ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId(),token); log.info("根据模板复制项目新结束"); - return JsonResponse.newInstance().ok(); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo info = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo(); + info.setId(1L); + return JsonResponse.newInstance().ok(info); } } diff --git a/tall/src/main/resources/application-dev.yml b/tall/src/main/resources/application-dev.yml index a3657c92..267c3559 100644 --- a/tall/src/main/resources/application-dev.yml +++ b/tall/src/main/resources/application-dev.yml @@ -11,11 +11,11 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: test.tall.wiki + host: 192.168.4.113 # host: 127.0.0.1 - password: guest + password: 111111 port: 5672 - username: guest + username: admin redis: database: 0 host: 127.0.0.1 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java index 836faec9..d851b0fc 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java @@ -1,5 +1,6 @@ package com.ccsens.wisdomcar.api; +import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.wisdomcar.bean.dto.ProjectDto; @@ -32,6 +33,7 @@ public class ProjectController { @Resource private IProjectService projectService; + @MustLogin @ApiOperation(value = "点击开始", notes = "whj") @RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto params){ @@ -40,6 +42,7 @@ public class ProjectController { log.info("点击开始结束"); return JsonResponse.newInstance().ok(); } + @MustLogin @ApiOperation(value = "查询称重和剂量", notes = "whj") @RequestMapping(value = "/weight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse weight(@ApiParam @Validated @RequestBody QueryDto params){ diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index a4be3f14..04f95327 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -38,6 +38,7 @@ public class WisdomCarController { @Resource private IWisdomCarService wisdomCarService; + @MustLogin @ApiOperation(value = "空闲平车查询", notes = "whj") @RequestMapping(value = "/free", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse freeCar(@ApiParam @Validated @RequestBody QueryDto params){ diff --git a/wisdomcar/src/main/resources/application.yml b/wisdomcar/src/main/resources/application.yml index ac92adb9..a47f2a7b 100644 --- a/wisdomcar/src/main/resources/application.yml +++ b/wisdomcar/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: test - include: common, util-test + active: dev + include: common, util-dev From b65e22c861924ba6e2e07ba56cba658a6eaa3cd7 Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Wed, 2 Jun 2021 16:28:20 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/wisdomcar/api/OtherRecordsController.java | 6 +++--- .../java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java | 2 +- .../java/com/ccsens/wisdomcar/bean/vo/OtherRecordsVo.java | 2 +- .../com/ccsens/wisdomcar/service/IOtherRecordsService.java | 2 +- .../com/ccsens/wisdomcar/service/OtherRecordsService.java | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java index b9f2444c..af939bfa 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java @@ -42,10 +42,10 @@ public class OtherRecordsController { @ApiOperation(value = "查询上传图片和记录", notes = "") - @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> query(@ApiParam @Validated @RequestBody QueryDto params){ + @RequestMapping(value = "/queryList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryList(@ApiParam @Validated @RequestBody QueryDto params){ log.info("查询上传图片和记录:{}", params); - List list = iOtherRecordsService.query(params.getParam()); + List list = iOtherRecordsService.query(params.getParam()); log.info("查询上传图片和记录成功"); return JsonResponse.newInstance().ok(list); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java index 23639fab..6adcc498 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java @@ -26,7 +26,7 @@ public class OtherRecordsDto { } @Data @ApiModel("查询上传图片和记录") - public static class Query { + public static class QueryId { @ApiModelProperty("分解任务id") private Long id; } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/OtherRecordsVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/OtherRecordsVo.java index 548da789..c00930ac 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/OtherRecordsVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/OtherRecordsVo.java @@ -17,7 +17,7 @@ public class OtherRecordsVo { @Data @ApiModel("查询上传图片和记录") - public static class Query { + public static class TypeAndComment { @ApiModelProperty("类型(0-图片,1-文本)") private byte type; @ApiModelProperty("内容") diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java index 1677797f..31d53da0 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java @@ -20,5 +20,5 @@ public interface IOtherRecordsService { * @param * @throws */ - List query(OtherRecordsDto.Query param); + List queryList(OtherRecordsDto.QueryId param); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index a3662c3f..b28f77c8 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java @@ -88,15 +88,15 @@ public class OtherRecordsService implements IOtherRecordsService { } @Override - public List query(OtherRecordsDto.Query param) { - List patientInformationRecordList = new ArrayList<>(); + public List queryList(OtherRecordsDto.QueryId param) { + List patientInformationRecordList = new ArrayList<>(); //通过任务id 找到创建的最新的 //拿到患者平车id PatientInformationRecordExample patientInformationRecordExample = new PatientInformationRecordExample(); patientInformationRecordExample.createCriteria().andTaskSubIdEqualTo(param.getId()); List patientInformationRecords = patientInformationRecordMapper.selectByExample(patientInformationRecordExample); for (PatientInformationRecord patientInformationRecord : patientInformationRecords) { - OtherRecordsVo.Query query = new OtherRecordsVo.Query(); + OtherRecordsVo.TypeAndComment query = new OtherRecordsVo.TypeAndComment(); query.setComment(patientInformationRecord.getContent()); query.setType(patientInformationRecord.getInformationType()); patientInformationRecordList.add(query); From 9bcd7e90551d7b6078047bd166f176a0236e59fb Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Wed, 2 Jun 2021 16:37:17 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B96.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/wisdomcar/api/OtherRecordsController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java index af939bfa..be39d067 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java @@ -45,7 +45,7 @@ public class OtherRecordsController { @RequestMapping(value = "/queryList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> queryList(@ApiParam @Validated @RequestBody QueryDto params){ log.info("查询上传图片和记录:{}", params); - List list = iOtherRecordsService.query(params.getParam()); + List list = iOtherRecordsService.queryList(params.getParam()); log.info("查询上传图片和记录成功"); return JsonResponse.newInstance().ok(list); } From 8a025ea70f7547cb699080434c3a986bc21dd963 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 16:39:12 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java | 2 +- .../src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java index a2d063fb..319faa4f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java @@ -17,7 +17,7 @@ public class ProjectVo { @ApiModel("查询称重和剂量--响应") public class Record { @ApiModelProperty("类型 1:体重 8溶栓剂量 9团注剂量 10维持剂量") - private byte type; + private int type; @ApiModelProperty("对应的值") private String value; } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java index 7ac38120..4ea49c33 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java @@ -11,7 +11,7 @@ import lombok.Data; */ public class WisdomCarVo { @Data - @ApiModel("查询空闲平车--请求参数") + @ApiModel("查询空闲平车--响应参数") public static class FreeCar{ @ApiModelProperty("平车ID") private Long id; From 6ee97befa6a60258de2a215053ff3924b1f9799a Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 16:53:54 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java index 319faa4f..de1ecacb 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java @@ -15,9 +15,9 @@ public class ProjectVo { @Data @ApiModel("查询称重和剂量--响应") - public class Record { + public static class Record { @ApiModelProperty("类型 1:体重 8溶栓剂量 9团注剂量 10维持剂量") - private int type; + private byte type; @ApiModelProperty("对应的值") private String value; } From 31c38a302e3afcac62a5b48f2be31b2c7cc00ebd Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 2 Jun 2021 17:15:34 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=B9=B3=E8=BD=A6?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=97=85=E4=BE=8B=E6=8E=A5=E5=8F=A3,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=8D=E5=88=B6=E9=A1=B9=E7=9B=AE=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/bean/tall/vo/ProjectVo.java | 96 +++++-------------- .../cloudutil/feign/TallFeignClient.java | 5 +- .../ccsens/tall/service/IProjectService.java | 3 +- .../ccsens/tall/service/ProjectService.java | 64 ++++++++++--- .../ccsens/tall/web/ProjectController.java | 20 ++-- .../api/PatientAndFamilyController.java | 37 +++++++ .../bean/dto/PatientAndFamilyDto.java | 45 +++++++++ .../service/IPatientAndFamilyService.java | 23 +++++ .../service/PatientAndFamilyService.java | 58 +++++++++++ .../wisdomcar/service/WisdomCarService.java | 28 +++--- .../com/ccsens/wisdomcar/util/Constant.java | 16 +++- 11 files changed, 285 insertions(+), 110 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java index c2e8aca2..12739d8b 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java @@ -5,6 +5,7 @@ import com.ccsens.util.WebConstant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; @@ -20,79 +21,30 @@ public class ProjectVo { public static class ProjectInfo{ @ApiModelProperty("项目id") private Long id; - @ApiModelProperty("项目名称") - private String name; - @ApiModelProperty("地点") - private String description; - @ApiModelProperty("描述信息") - private String address; - @ApiModelProperty("项目开始时间(milltime)") - private Long beginTime; - @ApiModelProperty("项目时长(milltime)") - private Long totalDuration; - @ApiModelProperty("项目结束时间(milltime)") + @ApiModelProperty("任务详情") + private List taskDetails; + } + @Data + @ApiModel("任务详情") + public static class TaskDetail{ + @ApiModelProperty("任务详情id") + private Long taskDetailId; + @ApiModelProperty("任务详情名称") + private String taskDetailName; + @ApiModelProperty("任务等级") + private Byte taskDetailLevel; + @ApiModelProperty("任务详情下的分解任务") + private List taskSubList; + } + @Data + @ApiModel("分解任务") + public static class TaskSub{ + @ApiModelProperty("分解任务id") + private Long taskSubId; + @ApiModelProperty("分解任务开始时间") + private Long startTime; + @ApiModelProperty("分解任务结束时间") private Long endTime; - @ApiModelProperty("项目进行状态:0未开始,1进行中,2已过期") - private Integer process; - @ApiModelProperty("当前用户在本项目中的角色") - private List roles = new ArrayList<>(); - @ApiModelProperty("当前用户在本项目中的最高权限") - private int power; - @ApiModelProperty("当前用户是否是本项目的创建者") - private boolean creator; - @ApiModelProperty("WPS文件信息") - private List wpsFilePaths; - - @ApiModelProperty("子项目信息") - private List subProjectList; - @ApiModelProperty("是否在首页展示 0否 1是") - private Byte homePageShow; - @ApiModelProperty("是否高亮展示 0否 1是") - private Byte highlight; - @ApiModelProperty("父项目id") - private Long parentId; - - public Long getTotalDuration(){ - if(ObjectUtil.isNotNull(endTime) && ObjectUtil.isNotNull(beginTime)){ - return endTime - beginTime; - } - return null; - } - - public Integer getProcess(){ - Long current = System.currentTimeMillis(); - if(ObjectUtil.isNull(getBeginTime()) || ObjectUtil.isNull(getEndTime())) { - return null; - } - if(getBeginTime() > current){ - this.process = WebConstant.EVENT_PROCESS.Pending.value; - }else if(getEndTime() < current){ - this.process = WebConstant.EVENT_PROCESS.Expired.value; - }else{ - this.process = WebConstant.EVENT_PROCESS.Processing.value; - } - return this.process; - } - - @Override - public boolean equals(Object obj){ - if(this == obj) { - return true; - } - if(obj == null) { - return false; - } - ProjectInfo o = (ProjectInfo)obj; - if(this.id.equals(o.id)) { - return true; - } - return false; - } - - @Override - public int hashCode(){ - return (int)((id / 1000)); - } } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index 576b0b43..b164c58c 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -1,5 +1,6 @@ package com.ccsens.cloudutil.feign; +import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.bean.QueryParam; import com.ccsens.cloudutil.bean.tall.dto.*; import com.ccsens.cloudutil.bean.tall.vo.*; @@ -244,7 +245,7 @@ public interface TallFeignClient { * @param copyProject 项目id * @return 项目 */ - @RequestMapping("/projects/copyProject") + @RequestMapping(value = "/projects/copyProject",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) JsonResponse copyProjectNew(QueryDto copyProject); /** @@ -252,7 +253,7 @@ public interface TallFeignClient { * @param memberForTemplate 项目id/角色名称/成员手机号或userId * @return 成功/失败 */ - @RequestMapping("/members/addMemberForTemplate") + @RequestMapping(value = "/members/addMemberForTemplate",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) JsonResponse addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate memberForTemplate); diff --git a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java index f427c153..1e104d70 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java @@ -69,8 +69,7 @@ public interface IProjectService { * 根据模板复制项目 * @param param 项目id * @param userId 当前用户id - * @param token 用户token * @return 复制成功的项目 */ - ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId,String token); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo copyProjectNew(com.ccsens.cloudutil.bean.tall.dto.ProjectDto.CopyProject param, Long userId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 2fb369d4..a8f88662 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -648,7 +648,7 @@ public class ProjectService implements IProjectService { userAttention.setProjectId(newProject.getId()); attentionDao.insertSelective(userAttention); //添加角色 - copyRole(oldProject.getId(), newProject.getId(),userId); + copyRole(oldProject.getId(), newProject.getId(),userId,null); //复制项目配置信息 copyProjectConfig(oldProject.getId(), newProject.getId(),userId); } else { @@ -691,7 +691,7 @@ public class ProjectService implements IProjectService { /** * 复制角色 */ - private void copyRole(Long oldProjectId, Long newProjectId,Long userId) { + private void copyRole(Long oldProjectId, Long newProjectId,Long userId,com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo projectFeign) { //查找被复制的项目下的二级角色 Map oldRoleMap = new HashMap<>(); Map newRoleMap = new HashMap<>(); @@ -750,7 +750,7 @@ public class ProjectService implements IProjectService { //添加对谁不可见 copyRoleExclude(oldRoleList, oldRoleMap, newRoleMap); //复制任务(包括分解任务) - copyTask(oldProjectId, newProjectId, oldRoleMap, newRoleMap); + copyTask(oldProjectId, newProjectId, oldRoleMap, newRoleMap,projectFeign); } } @@ -765,7 +765,7 @@ public class ProjectService implements IProjectService { ProRoleExclude newRoleExeclude = new ProRoleExclude(); newRoleExeclude.setId(snowflake.nextId()); newRoleExeclude.setRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); - newRoleExeclude.setOtherRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); + newRoleExeclude.setOtherRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getOtherRoleId()))); roleExcludeDao.insertSelective(newRoleExeclude); } } @@ -776,7 +776,10 @@ public class ProjectService implements IProjectService { /** * 复制任务、插件、插件配置和交付物、任务配置 */ - private void copyTask(Long oldProjectId, Long newProjectId, Map oldRoleMap, Map newRoleMap) { + private void copyTask(Long oldProjectId, Long newProjectId, Map oldRoleMap, Map newRoleMap,com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo projectFeign) { + List taskDetailListFeign = new ArrayList<>(); + + Map oldIdAndNewId = new HashMap<>(); SysProject oldProject = sysProjectDao.selectByPrimaryKey(oldProjectId); SysProject newProject = sysProjectDao.selectByPrimaryKey(newProjectId); @@ -802,9 +805,15 @@ public class ProjectService implements IProjectService { newDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newDetail.getCheckerRole()))); } taskDetailDao.insertSelective(newDetail); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail taskDetailFeignOne = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail(); + taskDetailFeignOne.setTaskDetailId(newDetail.getId()); + taskDetailFeignOne.setTaskDetailLevel(newDetail.getLevel()); + taskDetailFeignOne.setTaskDetailName(newDetail.getName()); + oldIdAndNewId.put(oldDetail.getId(),newDetail.getId()); //复制分解任务 - copyTaskSubTime(timeDifference,newDetail.getId(),oldDetail.getId()); + copyTaskSubTime(timeDifference,newDetail.getId(),oldDetail.getId(),taskDetailFeignOne); + taskDetailListFeign.add(taskDetailFeignOne); //查找一级任务下的二级任务 ProTaskDetailExample oldSecondTask = new ProTaskDetailExample(); oldSecondTask.createCriteria().andParentIdEqualTo(oldDetail.getId()).andLevelEqualTo((byte) 2); @@ -827,8 +836,13 @@ public class ProjectService implements IProjectService { newSecondDetail.setUpdatedAt(null); taskDetailDao.insertSelective(newSecondDetail); oldIdAndNewId.put(oldSecondDetail.getId(),newSecondDetail.getId()); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail taskDetailFeignTwo = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail(); + taskDetailFeignTwo.setTaskDetailId(newSecondDetail.getId()); + taskDetailFeignTwo.setTaskDetailName(newSecondDetail.getName()); + taskDetailFeignTwo.setTaskDetailLevel(newSecondDetail.getLevel()); //复制分解任务 - copyTaskSubTime(timeDifference,newSecondDetail.getId(),oldSecondDetail.getId()); + copyTaskSubTime(timeDifference,newSecondDetail.getId(),oldSecondDetail.getId(),taskDetailFeignTwo); + taskDetailListFeign.add(taskDetailFeignTwo); //分解时间 //taskToSubTime(newSecondDetail); //查找二级任务的子任务 @@ -853,8 +867,13 @@ public class ProjectService implements IProjectService { newSubDetail.setUpdatedAt(null); taskDetailDao.insertSelective(newSubDetail); oldIdAndNewId.put(oldSubDetail.getId(),newSubDetail.getId()); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail taskDetailFeignThree = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail(); + taskDetailFeignThree.setTaskDetailLevel(newSubDetail.getLevel()); + taskDetailFeignThree.setTaskDetailId(newSubDetail.getId()); + taskDetailFeignThree.setTaskDetailName(newSubDetail.getName()); //复制分解任务 - copyTaskSubTime(timeDifference,newSubDetail.getId(),oldSubDetail.getId()); + copyTaskSubTime(timeDifference,newSubDetail.getId(),oldSubDetail.getId(),taskDetailFeignThree); + taskDetailListFeign.add(taskDetailFeignThree); //分解时间 //taskToSubTime(newSubDetail); //复制插件、插件配置和交付物 @@ -869,8 +888,8 @@ public class ProjectService implements IProjectService { copyPluginAndDeliver(oldDetail.getId(), newDetail.getId(), oldRoleMap, newRoleMap,oldIdAndNewId,newProjectId); copyTaskConfig(oldDetail.getId(),newDetail.getId(),oldProjectId,newProjectId); - } + projectFeign.setTaskDetails(taskDetailListFeign); } } @@ -879,7 +898,9 @@ public class ProjectService implements IProjectService { * @param newTaskDetailId 新的详情任务 * @param timeDifference 时间差 */ - public void copyTaskSubTime(Long timeDifference,Long newTaskDetailId,Long oldTaskDetailId){ + public void copyTaskSubTime(Long timeDifference,Long newTaskDetailId,Long oldTaskDetailId,com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskDetail taskDetailFeign){ + List taskSubListFeign = new ArrayList<>(); + Map oldTaskSubIdAndNewId = new HashMap<>(); //复制分解任务 ProTaskSubTimeExample proTaskSubTimeExample = new ProTaskSubTimeExample(); @@ -897,6 +918,15 @@ public class ProjectService implements IProjectService { newTaskSubTime.setUpdatedAt(null); taskSubTimeDao.insertSelective(newTaskSubTime); oldTaskSubIdAndNewId.put(oldTaskSubTime.getId(),newTaskSubTime.getId()); + + //分解任务的返回值 + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskSub taskSubFeign = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.TaskSub(); + taskSubFeign.setTaskSubId(newTaskSubTime.getId()); + taskSubFeign.setStartTime(newTaskSubTime.getBeginTime()); + taskSubFeign.setEndTime(newTaskSubTime.getEndTime()); + taskSubListFeign.add(taskSubFeign); + + //复制任务提示信息 ProRemindExample remindExample = new ProRemindExample(); remindExample.createCriteria().andSubTaskIdEqualTo(oldTaskSubTime.getId()); @@ -913,6 +943,7 @@ public class ProjectService implements IProjectService { } } } + taskDetailFeign.setTaskSubList(taskSubListFeign); } } @@ -1471,7 +1502,9 @@ public class ProjectService implements IProjectService { * @return 复制后的项目 */ @Override - public ProjectVo.ProjectInfo copyProjectNew(ProjectDto.ProjectIdDto param, Long userId,String token) { + public com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo copyProjectNew(com.ccsens.cloudutil.bean.tall.dto.ProjectDto.CopyProject param, Long userId) { + //返回对象 + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo newProjectFeign = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo(); //当前时间 long currentTime = System.currentTimeMillis(); SysProject oldProject = sysProjectDao.selectByPrimaryKey(param.getProjectId()); @@ -1512,12 +1545,17 @@ public class ProjectService implements IProjectService { userAttention.setUserId(userId); userAttention.setProjectId(newProject.getId()); attentionDao.insertSelective(userAttention); + + //为返回值赋值 + newProjectFeign.setId(newProject.getId()); + //添加角色 - copyRole(oldProject.getId(), newProject.getId(),userId); + copyRole(oldProject.getId(), newProject.getId(),userId,newProjectFeign); //复制项目配置信息 copyProjectConfig(oldProject.getId(), newProject.getId(),userId); //复制项目下的角色 - return getProjectInfoById(userId,newProject.getId(),token); + + return newProjectFeign; } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index ae91574d..39164237 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -1,5 +1,6 @@ package com.ccsens.tall.web; +import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.tall.annotation.MustLoginTall; import com.ccsens.tall.bean.dto.ProjectDto; @@ -10,10 +11,12 @@ import com.ccsens.tall.service.IProMemberService; import com.ccsens.tall.service.IProRoleService; import com.ccsens.tall.service.IProTaskDetailService; import com.ccsens.tall.service.IProjectService; +import com.ccsens.util.JacksonUtil; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; import com.ccsens.util.annotation.OperateType; import com.ccsens.util.bean.dto.QueryDto; +import com.fasterxml.jackson.core.JsonProcessingException; import io.jsonwebtoken.Claims; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; @@ -336,14 +339,15 @@ public class ProjectController { @MustLogin @ApiOperation(value = "根据模板复制项目新", notes = "") @RequestMapping(value = "/copyProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse copyProjectNew(@ApiParam @Validated @RequestBody QueryDto params) throws JsonProcessingException { log.info("根据模板复制项目新:{}",params); -// String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); -// String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); -// ProjectVo.ProjectInfo projectInfo = projectService.copyProjectNew(params.getParam(),params.getUserId(),token); - log.info("根据模板复制项目新结束"); - com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo info = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo(); - info.setId(1L); - return JsonResponse.newInstance().ok(info); + com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo newProject = projectService.copyProjectNew(params.getParam(), params.getUserId()); + log.info("根据模板复制项目新结束{}",newProject); +// com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo info = new com.ccsens.cloudutil.bean.tall.vo.ProjectVo.ProjectInfo(); +// info.setId(1L); + + JsonResponse info = JsonResponse.newInstance().ok(newProject); + log.info("duixiang:{}", JacksonUtil.beanToJson(info)); + return info; } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java index ffb163cd..294f1355 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java @@ -1,10 +1,23 @@ package com.ccsens.wisdomcar.api; +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; +import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; +import com.ccsens.wisdomcar.service.IPatientAndFamilyService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +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; + /** * @author 马 */ @@ -13,5 +26,29 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/patientAndFamily") public class PatientAndFamilyController { + @Resource + IPatientAndFamilyService patientAndFamilyService; + + @MustLogin + @ApiOperation(value = "修改(补录)患者信息", notes = "mz") + @RequestMapping(value = "/updatePatientInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updatePatientInfo(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("修改(补录)患者信息:{}", params); + patientAndFamilyService.updatePatientInfo(params.getParam()); + log.info("修改(补录)患者信息"); + return JsonResponse.newInstance().ok(); + + } + + @MustLogin + @ApiOperation(value = "修改(补录)患者家属信息", notes = "mz") + @RequestMapping(value = "/updatePatientFamilyInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updatePatientFamilyInfo(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("修改(补录)患者家属信息:{}", params); + patientAndFamilyService.updatePatientFamilyInfo(params.getParam()); + log.info("修改(补录)患者家属信息"); + return JsonResponse.newInstance().ok(); + + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java new file mode 100644 index 00000000..fc1b09af --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java @@ -0,0 +1,45 @@ +package com.ccsens.wisdomcar.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author 马 + */ +@Data +public class PatientAndFamilyDto { + + @Data + @ApiModel("修改(补录)患者信息") + public static class PatientInfo { + @ApiModelProperty("患者id") + private Long id; + @ApiModelProperty("患者姓名") + private String name; + @ApiModelProperty("患者性别(0-女,1-男)") + private Byte sex; + @ApiModelProperty("患者年龄") + private Integer age; + @ApiModelProperty("患者身份证号") + private String idCard; + @ApiModelProperty("患者手机号") + private String phone; + + } + + @Data + @ApiModel("修改(补录)患者家属信息") + public static class PatientFamilyInfo { + @ApiModelProperty("患者家属id") + private Long id; + @ApiModelProperty("患者家属姓名") + private String name; + @ApiModelProperty("患者家属手机号") + private String phone; + + } + +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java new file mode 100644 index 00000000..b05301c1 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java @@ -0,0 +1,23 @@ +package com.ccsens.wisdomcar.service; + + +import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; + +/** + * @author 马 + */ +public interface IPatientAndFamilyService { + + + /** + * 修改(补录)患者信息 + * @param param 患者信息 + */ + void updatePatientInfo(PatientAndFamilyDto.PatientInfo param); + + /** + * 修改(补录)患者家属信息 + * @param param 家属信息 + */ + void updatePatientFamilyInfo(PatientAndFamilyDto.PatientFamilyInfo param); +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java new file mode 100644 index 00000000..30afcf2c --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java @@ -0,0 +1,58 @@ +package com.ccsens.wisdomcar.service; + + +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.exception.BaseException; +import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; +import com.ccsens.wisdomcar.bean.po.PatientProject; +import com.ccsens.wisdomcar.persist.dao.PatientProjectDao; +import com.ccsens.wisdomcar.util.Constant; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +/** + * @author 马 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class PatientAndFamilyService implements IPatientAndFamilyService{ + + @Resource + private PatientProjectDao patientProjectDao; + + + @Override + public void updatePatientInfo(PatientAndFamilyDto.PatientInfo param) { + PatientProject patient = patientProjectDao.selectByPrimaryKey(param.getId()); + if (ObjectUtil.isNotNull(param)){ + if (ObjectUtil.isNotNull(param.getName())){ + patient.setName(param.getName()); + } + if (ObjectUtil.isNotNull(param.getPhone())){ + patient.setPhone(param.getPhone()); + } + if (ObjectUtil.isNotNull(param.getAge())){ + patient.setAge(param.getAge()); + } + if (ObjectUtil.isNotNull(param.getIdCard())){ + patient.setIdCard(param.getIdCard()); + } + if (ObjectUtil.isNotNull(param.getSex())){ + patient.setSex(param.getSex()); + } + patientProjectDao.updateByPrimaryKeySelective(patient); + }else{ + throw new BaseException(Constant.PATIENT_NOT_FOUND); + } + } + + @Override + public void updatePatientFamilyInfo(PatientAndFamilyDto.PatientFamilyInfo param) { + + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index 68f4ea4c..db147b0c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -1,7 +1,9 @@ package com.ccsens.wisdomcar.service; import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONObject; import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.util.exception.BaseException; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; import com.ccsens.wisdomcar.bean.po.HospitalMember; import com.ccsens.wisdomcar.bean.po.HospitalMemberExample; @@ -150,28 +152,30 @@ public class WisdomCarService implements IWisdomCarService { log.info("调用tall内的复制项目:{}",copyProject); QueryDto dto = new QueryDto<>(); dto.setParam(copyProject); - JsonResponse projectNew = tallFeignClient.copyProjectNew(dto); - log.info("复制项目后返回:{}", projectNew); - if (ObjectUtil.isNull(projectNew)) { + JsonResponse projectId = tallFeignClient.copyProjectNew(dto); + log.info("复制项目后返回:{}", projectId); + if (ObjectUtil.isNull(projectId)) { log.info("调用tall返回null"); - return; + throw new BaseException(Constant.RETURN_NULL); } - if(projectNew.getCode().equals(Constant.RESPONSE_OK)){ - log.info("调用tall异常后返回:{}", projectNew.getMsg()); - return; + if(!projectId.getCode().equals(Constant.RESPONSE_OK)){ + log.info("调用tall异常后返回:{}", projectId.getMsg()); + throw new BaseException(Constant.RETURN_ERROR); } - ProjectVo.ProjectInfo newProject = projectNew.getData(); - if (ObjectUtil.isNotNull(newProject)){ - saveMemberForTemplate.setProjectId(newProject.getId()); + ProjectVo.ProjectInfo data = projectId.getData(); + if (ObjectUtil.isNotNull(data)){ + saveMemberForTemplate.setProjectId(data.getId()); saveMemberForTemplate.setMemberForTemplate(memberList); //调用tall的添加成员接口 log.info("调用tall内的给复制的项目添加成员接口"); JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(saveMemberForTemplate); - if (jsonResponse.getCode().equals(Constant.RESPONSE_OK)){ + if (!jsonResponse.getCode().equals(Constant.RESPONSE_OK)){ log.info("调用tall异常后返回:{}",jsonResponse.getMsg()); - return; + throw new BaseException(Constant.RETURN_ERROR); } + }else{ + throw new BaseException(Constant.RETURN_NULL); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java index 0275c537..e40093ba 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java @@ -52,7 +52,7 @@ public class Constant { /** * 智慧平车,模板项目id */ - public static final Long TEMPLATE_PROJECT = 1397074571902980096L; + public static final Long TEMPLATE_PROJECT = 1399649478197252096L; /** * 角色名称:患者家属 @@ -97,4 +97,18 @@ public class Constant { * 响应成功 */ public static final Integer RESPONSE_OK = 200; + + + /** + * 患者不存在 + */ + public static final String PATIENT_NOT_FOUND = "患者不存在"; + /** + * 患者不存在 + */ + public static final String RETURN_NULL = "调用tall返回null"; + /** + * 调用Tall异常 + */ + public static final String RETURN_ERROR = "调用Tall异常"; } From e6c7bae737bc2dd0cc7d0615f6c32e3e209fb574 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 2 Jun 2021 17:57:59 +0800 Subject: [PATCH 13/15] =?UTF-8?q?feign=20=E8=AF=B7=E6=B1=82=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java | 4 ---- .../com/ccsens/cloudutil/feign/TallFeignClient.java | 5 +---- cloudutil/src/main/resources/application-util-dev.yml | 10 ++++++---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java index 12739d8b..60c67f8f 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java @@ -1,13 +1,9 @@ package com.ccsens.cloudutil.bean.tall.vo; -import cn.hutool.core.util.ObjectUtil; -import com.ccsens.util.WebConstant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.NoArgsConstructor; -import java.util.ArrayList; import java.util.List; /** diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index b164c58c..8639c7e7 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -265,10 +265,7 @@ class TallFeignClientFallBack implements FallbackFactory { @Override public TallFeignClient create(Throwable throwable) { - String msg = throwable == null ? "" : throwable.getMessage(); - if (!StringUtils.isEmpty(msg)) { - log.error(msg); - } + log.error("yichang", throwable); return new TallFeignClient() { @Override public JsonResponse mergeUserId(Long userId, Long uselessId) { diff --git a/cloudutil/src/main/resources/application-util-dev.yml b/cloudutil/src/main/resources/application-util-dev.yml index e92264f9..0a05316d 100644 --- a/cloudutil/src/main/resources/application-util-dev.yml +++ b/cloudutil/src/main/resources/application-util-dev.yml @@ -31,14 +31,14 @@ eureka: status-page-url-path: ${server.servlet.context-path}/actuator/info health-check-url-path: ${server.servlet.context-path}/actuator/health ribbon: - ConnectTimeout: 5000 - ReadTimeout: 5000 + ConnectTimeout: 50000 + ReadTimeout: 50000 feign: client: config: default: - connectTime: 5000 - readTimeout: 5000 + connectTime: 50000 + readTimeout: 50000 # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。 # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。 # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。 @@ -52,6 +52,8 @@ hystrix: execution: isolation: strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 60000 # sleuth logging: level: From 9abef0a8588bffca27f390e6323e109280dc36fd Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 2 Jun 2021 18:04:38 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=B9=B3=E8=BD=A6=E5=92=8C=E5=B9=B3=E8=BD=A6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9A=84controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/feign/TallFeignClient.java | 3 ++- .../wisdomcar/api/WisdomCarController.java | 19 +++++++++++++++++++ .../wisdomcar/bean/dto/WisdomCarDto.java | 10 ++++++++++ .../wisdomcar/service/IWisdomCarService.java | 14 ++++++++++++++ .../wisdomcar/service/WisdomCarService.java | 15 +++++++++++++-- 5 files changed, 58 insertions(+), 3 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index 8639c7e7..ad4bb5ed 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -418,10 +418,11 @@ class TallFeignClientFallBack implements FallbackFactory { } @Override - public JsonResponse copyProjectNew(QueryDto copyProject) { + public JsonResponse copyProjectNew(QueryDto copyProject) { return JsonResponse.newInstance().fail(); } + @Override public JsonResponse addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate memberForTemplate) { return JsonResponse.newInstance().fail(); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index 04f95327..8d61e2d8 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -56,7 +56,26 @@ public class WisdomCarController { wisdomCarService.createCase(params.getParam(), params.getUserId()); log.info("创建病例接口"); return JsonResponse.newInstance().ok(); + } + @MustLogin + @ApiOperation(value = "绑定平车", notes = "") + @RequestMapping(value = "/bindingCar", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse bindingCar(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("绑定平车:{}", params); + wisdomCarService.bindingCar(params.getParam(),params.getUserId()); + log.info("绑定平车"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "平车数据上传", notes = "") + @RequestMapping(value = "/uploadCarData", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse uploadCarData(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("平车数据上传:{}", params); + wisdomCarService.uploadCarData(params.getParam(),params.getUserId()); + log.info("平车数据上传"); + return JsonResponse.newInstance().ok(); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java index 48876a87..29572d4c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java @@ -17,4 +17,14 @@ public class WisdomCarDto { @ApiModel("查询空闲平车--请求参数") public static class FreeCar{ } + + @Data + @ApiModel("绑定平车") + public class BindingCar { + } + + @Data + @ApiModel("平车数据上传") + public class UploadCarData { + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java index ae44c871..b0d6e797 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java @@ -28,4 +28,18 @@ public interface IWisdomCarService { * @param userId 当前用户id */ void createCase(CreateCaseDto.PatientInfo param, Long userId); + + /** + * 绑定平车 + * @param param 参数 + * @param userId 当前用户id + */ + void bindingCar(WisdomCarDto.BindingCar param, Long userId); + + /** + * 平车数据上传 + * @param param 参数 + * @param userId 当前用户id + */ + void uploadCarData(WisdomCarDto.UploadCarData param, Long userId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index db147b0c..5c85afdd 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -1,7 +1,6 @@ package com.ccsens.wisdomcar.service; import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSONObject; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; import com.ccsens.wisdomcar.bean.dto.WisdomCarDto; @@ -181,7 +180,6 @@ public class WisdomCarService implements IWisdomCarService { - @Override public List queryFreeCar(WisdomCarDto.FreeCar param, Long userId) { HospitalMemberExample example = new HospitalMemberExample(); @@ -193,4 +191,17 @@ public class WisdomCarService implements IWisdomCarService { Long hospitalId = hospitalMembers.get(0).getHospitalId(); return wisdomcarDao.queryFreeCar(hospitalId); } + + + @Override + public void bindingCar(WisdomCarDto.BindingCar param, Long userId) { + + } + + @Override + public void uploadCarData(WisdomCarDto.UploadCarData param, Long userId) { + + } + + } From 4de7a998daa66f2a265a5650056b3d49a3b43bea Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Wed, 2 Jun 2021 18:09:11 +0800 Subject: [PATCH 15/15] 6.22 --- util/src/main/java/com/ccsens/util/CodeEnum.java | 1 + .../com/ccsens/wisdomcar/service/OtherRecordsService.java | 4 +++- 2 files changed, 4 insertions(+), 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 293bf978..cb58cced 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -213,6 +213,7 @@ public enum CodeEnum { DELIVER_REPEAT(173,"交付物已存在",true), PARENT_PROJECT_NOT_MATCHING(174,"父任务与项目不匹配",true), PM_NOT_MEMBER(175,"项目经理下必须有一个成员",true), + WisdomCar_NOT_Found(176,"没有找到绑定的平车信息",true) ; diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index b28f77c8..d4149671 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java @@ -3,7 +3,9 @@ package com.ccsens.wisdomcar.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.CodeEnum; import com.ccsens.util.StringUtil; +import com.ccsens.util.exception.BaseException; import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto; import com.ccsens.wisdomcar.bean.po.PatientInformationRecord; import com.ccsens.wisdomcar.bean.po.PatientInformationRecordExample; @@ -57,7 +59,7 @@ public class OtherRecordsService implements IOtherRecordsService { ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId()); if (bindCar == null) { log.info("没有找到绑定的平车信息:{}", param); - return ; + throw new BaseException(CodeEnum.WisdomCar_NOT_Found); } //判断是否是图片是否为空 if (CollectionUtil.isNotEmpty(param.getPictures())){