Pārlūkot izejas kodu

查询字段校验明细接口

zhanghang 3 gadi atpakaļ
vecāks
revīzija
bbcea82482

+ 46 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnResultNumberDTO.java

@@ -0,0 +1,46 @@
+package com.lantone.daqe.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取字段校验问题明细数量-接口出参
+ * @author: zhanghang
+ * @time: 2022/3/8 14:48
+ */
+@ApiModel(value = "获取字段校验问题明细数量-接口出参")
+@Getter
+@Setter
+public class GetColumnResultNumberDTO implements Serializable {
+
+
+    @ApiModelProperty(value = "已解决")
+    private Long resolved;
+
+    @ApiModelProperty(value = "未解决")
+    private Long notSolved;
+
+    @ApiModelProperty(value = "已解决数据缺失")
+    private Long resolvedNonnull;
+
+    @ApiModelProperty(value = "已解决非标准值")
+    private Long resolvedStandardvalue;
+
+    @ApiModelProperty(value = "已解决正则校验失败")
+    private Long resolvedRegular;
+
+    @ApiModelProperty(value = "未解决数据缺失")
+    private Long notSolvedNonnull;
+
+    @ApiModelProperty(value = "未解决非标准值")
+    private Long notSolvedStandardvalue;
+
+    @ApiModelProperty(value = "未解决正则校验失败")
+    private Long notSolvedRegular;
+
+}

+ 74 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnResultPageDTO.java

@@ -0,0 +1,74 @@
+package com.lantone.daqe.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 获取字段校验问题明细数据-接口出参
+ * @author: zhanghang
+ * @time: 2022/3/8 14:48
+ */
+@ApiModel(value = "获取字段校验问题明细数据-接口出参")
+@Getter
+@Setter
+public class GetColumnResultPageDTO implements Serializable {
+
+    private static final long serialVersionUID = -1792570403179263964L;
+
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+
+    @ApiModelProperty(value = "表的列信息ID")
+    private Long columnId;
+
+    @ApiModelProperty(value = "住院序号")
+    private String behospitalCode;
+
+    @ApiModelProperty(value = "文书编号")
+    private String hosptialDatatmpCode;
+
+    @ApiModelProperty(value = "文书标题")
+    private String hosptialDatatmpName;
+
+    @ApiModelProperty(value = "模块名称")
+    private String modeName;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnCname;
+
+    @ApiModelProperty(value = "字段名称(英文)")
+    private String columnEname;
+
+    @ApiModelProperty(value = "表字段的值")
+    private String tableVal;
+
+    @ApiModelProperty(value = "备注描述")
+    private String description;
+
+    @ApiModelProperty(value = "字段问题类型,1-数据缺失,2-非标准值,3-正则校验失败")
+    private String type;
+
+    @ApiModelProperty(value = "最近一次机器比对时间")
+    private Date solveTime;
+
+    @ApiModelProperty(value = "是否已解决,0:未解决,1:已解决")
+    private String isSolved;
+
+    @ApiModelProperty(value = "是否通过了人工核查,0:未通过,1:已通过")
+    private String isAudited;
+
+    @ApiModelProperty(value = "最近一次人工核查时间")
+    private Date auditTime;
+}

+ 90 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java

@@ -0,0 +1,90 @@
+package com.lantone.daqe.facade;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.StringUtil;
+import com.lantone.daqe.dto.GetColumnResultNumberDTO;
+import com.lantone.daqe.dto.GetColumnResultPageDTO;
+import com.lantone.daqe.entity.ColumnResult;
+import com.lantone.daqe.facade.base.ColumnResultFacade;
+import com.lantone.daqe.vo.GetColumnResultNumberVO;
+import com.lantone.daqe.vo.GetColumnResultPageVO;
+import com.lantone.daqe.vo.UpdateColumnResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * @Description: 字段校验问题明细维护API
+ * @author: zhanghang
+ * @time: 2022/3/8 14:49
+ */
+@Component
+public class ColumnResultManagementFacade {
+    @Autowired
+    ColumnResultFacade columnResultFacade;
+
+    /**
+     * 获取字段校验问题明细分页列表数据
+     *
+     * @param getColumnResultPageVO
+     * @return: 字段校验问题明细分页列表数据
+     */
+    public IPage<GetColumnResultPageDTO> getColumnResultPage(GetColumnResultPageVO getColumnResultPageVO) {
+        Page<GetColumnResultPageDTO> getColumnResultPageDTOPage = new Page<>();
+
+        QueryWrapper<ColumnResult> columnResultQueryWrapper = new QueryWrapper<>();
+        columnResultQueryWrapper.eq(getColumnResultPageVO.getHospitalId() != null, "hospital_id", getColumnResultPageVO.getHospitalId());
+        columnResultQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getType()), "type", getColumnResultPageVO.getType());
+        columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getIsSolved()), "is_solved", getColumnResultPageVO.getIsSolved());
+        columnResultQueryWrapper.ge("solve_time", getColumnResultPageVO.getSolveTimeStart());
+        columnResultQueryWrapper.le("solve_time", getColumnResultPageVO.getSolveTimeEnd());
+        columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getBehospitalCode()), "behospital_code", getColumnResultPageVO.getBehospitalCode());
+        columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getHosptialDatatmpCode()), "hosptial_datatmp_code", getColumnResultPageVO.getHosptialDatatmpCode());
+        columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getHosptialDatatmpName()), "hosptial_datatmp_name", getColumnResultPageVO.getHosptialDatatmpName());
+        columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getModeName()), "mode_name", getColumnResultPageVO.getModeName());
+
+        Page<ColumnResult> columnResultPage = new Page<>(getColumnResultPageVO.getCurrent(), getColumnResultPageVO.getSize());
+        columnResultFacade.page(columnResultPage, columnResultQueryWrapper);
+        BeanUtil.copyProperties(columnResultPage, getColumnResultPageDTOPage);
+        List<GetColumnResultPageDTO> getRecordTemplatePageDTOList = BeanUtil.listCopyTo(columnResultPage.getRecords(), GetColumnResultPageDTO.class);
+
+        getColumnResultPageDTOPage.setRecords(getRecordTemplatePageDTOList);
+        return getColumnResultPageDTOPage;
+    }
+
+    /**
+     * 获取字段校验问题明细数量
+     *
+     * @param getColumnResultNumberVO
+     * @return: 字段校验问题明细数量
+     */
+    public GetColumnResultNumberDTO getColumnResultNumber(GetColumnResultNumberVO getColumnResultNumberVO) {
+        return columnResultFacade.getBaseMapper().getColumnResultNumber(getColumnResultNumberVO);
+    }
+
+    /**
+     * 修改字段校验问题明细
+     *
+     * @param updateColumnResultVO
+     * @return: 是否成功
+     */
+    public Boolean updateColumnResult(UpdateColumnResultVO updateColumnResultVO) {
+        return columnResultFacade.update(new UpdateWrapper<ColumnResult>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", updateColumnResultVO.getId())
+                .set("description", updateColumnResultVO.getDescription())
+                .set("audit_time", new Date())
+                .set("is_audited", 1)
+        );
+    }
+}

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -42,7 +42,7 @@ import java.util.Date;
 import java.util.List;
 
 /**
- * @Description: 字段校验规则维护AIP
+ * @Description: 字段校验规则维护API
  * @author: zhanghang
  * @time: 2022/3/1 10:14
  */

+ 4 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnResultMapper.java

@@ -1,7 +1,10 @@
 package com.lantone.daqe.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.dto.GetColumnResultNumberDTO;
 import com.lantone.daqe.entity.ColumnResult;
+import com.lantone.daqe.vo.GetColumnResultNumberVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -9,5 +12,6 @@ import com.lantone.daqe.entity.ColumnResult;
  * </p>
  */
 public interface ColumnResultMapper extends BaseMapper<ColumnResult> {
+    GetColumnResultNumberDTO getColumnResultNumber(@Param("getColumnResultNumberVO") GetColumnResultNumberVO getColumnResultNumberVO);
 
 }

+ 6 - 6
daqe-center/src/main/java/com/lantone/daqe/vo/AddColumnVerifyVO.java

@@ -28,22 +28,22 @@ public class AddColumnVerifyVO implements Serializable {
 
     @ApiModelProperty(value = "表字段信息", required = true)
     @NotNull(message = "表信息不能为空")
-    List<ColumnInfoVO> columnList;
+    private List<ColumnInfoVO> columnList;
 
     @ApiModelProperty(value = "是否必填,0:否,1:是")
-    String isRequired;
+    private String isRequired;
 
     @ApiModelProperty(value = "正则式ID")
-    Long regularId;
+    private Long regularId;
 
     @ApiModelProperty(value = "正则式名称")
-    String regularName;
+    private String regularName;
 
     @ApiModelProperty(value = "标准值")
-    List<String> standardValueList;
+    private List<String> standardValueList;
 
     @ApiModelProperty(value = "说明")
-    String description;
+    private String description;
 
 
 }

+ 24 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultNumberVO.java

@@ -0,0 +1,24 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取字段校验问题明细数量-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/8 16:02
+ */
+@ApiModel(value = "获取字段校验问题明细数量-接口入参")
+@Getter
+@Setter
+public class GetColumnResultNumberVO implements Serializable {
+
+    private static final long serialVersionUID = 6969154935606282123L;
+
+    @ApiModelProperty(value = "组织ID", required = true)
+    private String hospitalId;
+}

+ 53 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultPageVO.java

@@ -0,0 +1,53 @@
+package com.lantone.daqe.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Description: 获取字段校验问题明细数据-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/9 10:30
+ */
+@ApiModel(value = "获取字段校验问题明细数据-接口入参")
+@Getter
+@Setter
+public class GetColumnResultPageVO extends Page {
+
+    private static final long serialVersionUID = -9174449428110548322L;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "开始时间", required = true)
+    private Date solveTimeStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "结束时间", required = true)
+    private Date solveTimeEnd;
+
+    @ApiModelProperty(value = "组织ID", required = true)
+    private String hospitalId;
+
+    @ApiModelProperty(value = "住院序号")
+    private String behospitalCode;
+
+    @ApiModelProperty(value = "文书编号")
+    private String hosptialDatatmpCode;
+
+    @ApiModelProperty(value = "文书标题")
+    private String hosptialDatatmpName;
+
+    @ApiModelProperty(value = "质控模块名称")
+    private String modeName;
+
+    @ApiModelProperty(value = "问题类型 1-数据缺失,2-非标准值,3-正则校验失败")
+    private String type;
+
+    @ApiModelProperty(value = "状态 0:未解决,1:已解决")
+    private String isSolved;
+
+}

+ 30 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/UpdateColumnResultVO.java

@@ -0,0 +1,30 @@
+package com.lantone.daqe.vo;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import java.io.Serializable;
+
+/**
+ * @Description:
+ * @author: zhanghang
+ * @time: 2022/3/8 17:37
+ */
+@ApiModel(value = "修改字段校验问题明细-接口入参")
+@Getter
+@Setter
+public class UpdateColumnResultVO implements Serializable {
+
+
+    private static final long serialVersionUID = -2028582446581099262L;
+    @ApiModelProperty(value = "主键ID", required = true)
+    @NotEmpty(message = "主键id不能为空")
+    private Long id;
+
+    @ApiModelProperty(value = "备注说明")
+    private String description;
+}

+ 6 - 6
daqe-center/src/main/java/com/lantone/daqe/vo/UpdateColumnVerifyVO.java

@@ -28,22 +28,22 @@ public class UpdateColumnVerifyVO implements Serializable {
 
     @ApiModelProperty(value = "表字段信息", required = true)
     @NotNull(message = "表信息不能为空")
-    List<ColumnInfoVO> columnList;
+    private List<ColumnInfoVO> columnList;
 
     @ApiModelProperty(value = "是否必填,0:否,1:是")
-    String isRequired;
+    private String isRequired;
 
     @ApiModelProperty(value = "正则式ID")
-    Long regularId;
+    private Long regularId;
 
     @ApiModelProperty(value = "正则式名称")
-    String regularName;
+    private String regularName;
 
     @ApiModelProperty(value = "标准值")
-    List<String> standardValueList;
+    private List<String> standardValueList;
 
     @ApiModelProperty(value = "说明")
-    String description;
+    private String description;
 
 
 }

+ 51 - 0
daqe-center/src/main/java/com/lantone/daqe/web/ColumnResultManagmentController.java

@@ -0,0 +1,51 @@
+package com.lantone.daqe.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.api.CommonResult;
+import com.lantone.daqe.dto.GetColumnResultNumberDTO;
+import com.lantone.daqe.dto.GetColumnResultPageDTO;
+import com.lantone.daqe.facade.ColumnResultManagementFacade;
+import com.lantone.daqe.vo.GetColumnResultNumberVO;
+import com.lantone.daqe.vo.GetColumnResultPageVO;
+import com.lantone.daqe.vo.UpdateColumnResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: 字段校验问题明细API
+ * @author: zhanghang
+ * @time: 2022/3/8 14:24
+ */
+@RestController
+@Api(value = "字段校验问题明细API", tags = { "字段校验问题明细API" })
+@RequestMapping("/columnResultManagement")
+public class ColumnResultManagmentController {
+
+    @Autowired
+    private ColumnResultManagementFacade columnResultManagementFacade;
+
+
+    @ApiOperation(value = "获取字段校验问题明细分页列表 [by:zhanghang]")
+    @PostMapping("/getColumnResultPage")
+    public CommonResult<IPage<GetColumnResultPageDTO>> getColumnResultPage(@RequestBody GetColumnResultPageVO getColumnResultPageVO) {
+        return CommonResult.success(columnResultManagementFacade.getColumnResultPage(getColumnResultPageVO));
+    }
+
+    @ApiOperation(value = "获取字段校验问题明细数量 [by:zhanghang]")
+    @PostMapping("/getColumnResultNumber")
+    public CommonResult<GetColumnResultNumberDTO> getColumnResultNumber(@RequestBody GetColumnResultNumberVO getColumnResultNumberVO) {
+        return CommonResult.success(columnResultManagementFacade.getColumnResultNumber(getColumnResultNumberVO));
+    }
+
+    @ApiOperation(value = "修改字段校验问题明细 [by:zhanghang]")
+    @PostMapping("/updateColumnResult")
+    public CommonResult<Boolean> updateColumnResult(@RequestBody UpdateColumnResultVO updateColumnResultVO) {
+        return CommonResult.success(columnResultManagementFacade.updateColumnResult(updateColumnResultVO));
+    }
+}

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java

@@ -33,7 +33,7 @@ import java.util.List;
 
 @RestController
 @Api(value = "字段校验规则维护API", tags = { "字段校验规则维护API" })
-@RequestMapping("/fieldCalibrationManagement")
+@RequestMapping("/columnVerifyManagement")
 public class ColumnVerifyManagementController {
 
     @Autowired

+ 17 - 0
daqe-center/src/main/resources/mapper/ColumnResultMapper.xml

@@ -2,4 +2,21 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.lantone.daqe.mapper.ColumnResultMapper">
 
+    <select id="getColumnResultNumber" resultType="com.lantone.daqe.dto.GetColumnResultNumberDTO">
+		SELECT
+		sum(CASE dcr.is_solved WHEN 1 THEN 1 ELSE 0 END) resolved,
+		sum(CASE dcr.is_solved WHEN 0 THEN 1 ELSE 0 END) notSolved,
+		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) resolvedNonnull,
+		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) resolvedStandardvalue,
+		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) resolvedRegular,
+		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedNonnull,
+		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedStandardvalue,
+		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedRegular
+	FROM
+		dc_column_result dcr
+	WHERE
+		dcr.is_deleted = 'N'
+	and hospital_id=#{getColumnResultNumberVO.hospitalId}
+
+    </select>
 </mapper>