质量文件模块、

dev
swj 3 years ago
parent d098fd44b5
commit 3e3f8c7401
  1. 2
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityFile.java
  2. 10
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityFileAssistent.java
  3. 6
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityStorageFileRel.java
  4. 21
      lab-service/lab-file/src/main/java/org/springblade/file/controller/QualityFileAssistentController.java
  5. 6
      lab-service/lab-file/src/main/java/org/springblade/file/controller/QualityFileController.java
  6. 2
      lab-service/lab-file/src/main/java/org/springblade/file/controller/StorageFileController.java
  7. 4
      lab-service/lab-file/src/main/java/org/springblade/file/mapper/QualityStorageFileRelMapper.xml
  8. 2
      lab-service/lab-file/src/main/java/org/springblade/file/service/IQualityStorageFileRelService.java
  9. 6
      lab-service/lab-file/src/main/java/org/springblade/file/service/impl/QualityFileServiceImpl.java
  10. 8
      lab-service/lab-file/src/main/java/org/springblade/file/service/impl/QualityStorageFileRelServiceImpl.java
  11. 1
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
  12. 1
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java

@ -59,7 +59,7 @@ public class QualityFile extends BaseEntity implements Serializable {
* 版本
*/
@ApiModelProperty(value = "版本")
private String version;
private Integer version;
/**
* 总页数
*/

@ -3,11 +3,17 @@ package org.springblade.file.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.file.dto.QualityStorageFileRelDTO;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;
/**
* 质量文件实体类副表
@ -31,4 +37,8 @@ public class QualityFileAssistent extends BaseEntity implements Serializable {
private String versionContent;
private Integer status;
@ApiModelProperty(value = "文件")
@TableField(exist = false)
private Set<QualityStorageFileRelDTO> files;
}

@ -48,11 +48,13 @@ public class QualityStorageFileRel extends BaseEntity implements Serializable {
*/
@ApiModelProperty(value = "租户ID")
private String tenantId;
/**
* 质量文件id
* 版本表id
*/
@ApiModelProperty(value = "质量文件id")
private Long qualityFileId;
private Long assistantId;
/**
* 文件id
*/

@ -3,17 +3,24 @@ package org.springblade.file.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.math.RandomUtils;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springblade.file.dto.QualityStorageFileRelDTO;
import org.springblade.file.entity.QualityFileAssistent;
import org.springblade.file.mapper.QualityStorageFileRelMapper;
import org.springblade.file.service.IQualityFileAssistentService;
import org.springblade.file.service.IQualityFileService;
import org.springblade.file.service.IQualityStorageFileRelService;
import org.springblade.file.service.IStorageFileService;
import org.springblade.file.service.impl.QualityFileAssistentServiceImpl;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 质量文件版本管理
@ -29,12 +36,25 @@ public class QualityFileAssistentController extends BladeController {
private final IQualityFileAssistentService qualityFileAssistentService;
private final IStorageFileService storageFileService;
private final IQualityStorageFileRelService qualityStorageFileRelService;
@PutMapping("/update")
@SuppressWarnings("all")
public R update(@RequestBody QualityFileAssistent file){
boolean tmep = true;
if (file.getId() != null) {
tmep = qualityFileAssistentService.updateById(file);
} else {
Long assistentId = RandomUtils.nextLong();
file.setId(assistentId);
// 处理文件实体与关联
Set<QualityStorageFileRelDTO> fileRels = file.getFiles();
fileRels.forEach(dto -> dto.setAssistantId(file.getId()));
//重新保存文件与存储关联关系
qualityStorageFileRelService.saveBatch(new ArrayList<>(fileRels));
// 查询库里版本最大值 +1 作为新版本号
QueryWrapper<QualityFileAssistent> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("quality_file_id", file.getQualityFileId());
@ -47,7 +67,6 @@ public class QualityFileAssistentController extends BladeController {
}
tmep = qualityFileAssistentService.save(file);
}
return R.data(tmep) ;
}

@ -124,12 +124,12 @@ public class QualityFileController extends BladeController {
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@SuppressWarnings("all")
@ApiOperation(value = "修改", notes = "传入qualityFile")
public R update(@Valid @RequestBody QualityFile qualityFile) {
boolean b = qualityFileService.updateFile(qualityFile);
//子文件激活状态修改
if(b){
// 子文件激活状态修改
if(b) {
LambdaQueryWrapper<QualityFileAssistent> assisWrapper = new LambdaQueryWrapper<>();
assisWrapper.eq(QualityFileAssistent::getQualityFileId , qualityFile.getId());
QualityFileAssistent ass = new QualityFileAssistent();

@ -191,7 +191,7 @@ public class StorageFileController extends BladeController {
// 根据子文件id查找文件真正的保存的文件id
LambdaQueryWrapper<QualityStorageFileRel> qualityStorageFileRelLambdaQueryWrapper = new LambdaQueryWrapper<>();
qualityStorageFileRelLambdaQueryWrapper.eq(QualityStorageFileRel::getQualityFileId, assisFile.getId());
qualityStorageFileRelLambdaQueryWrapper.eq(QualityStorageFileRel::getAssistantId, assisFile.getId());
QualityStorageFileRel storageFileRel = qualityStorageFileRelService.getOne(qualityStorageFileRelLambdaQueryWrapper);
// 查询

@ -5,7 +5,7 @@
<!-- 通用查询映射结果 -->
<resultMap id="qualityStorageFileRelResultMap" type="org.springblade.file.entity.QualityStorageFileRel">
<id column="id" property="id"/>
<result column="quality_file_id" property="qualityFileId"/>
<result column="assistant_id" property="assistantId"/>
<result column="storage_file_id" property="storageFileId"/>
<result column="sort_num" property="sortNum"/>
<result column="create_user" property="createUser"/>
@ -24,7 +24,7 @@
<select id="selectFileIds" resultType="java.lang.Long">
select storage_file_id
from t_quality_storage_file_rel
where quality_file_id = #{qualityFileId,jdbcType=NUMERIC}
where assistant_id = #{id,jdbcType=NUMERIC}
AND is_deleted = 0
</select>

@ -40,7 +40,7 @@ public interface IQualityStorageFileRelService extends BaseService<QualityStorag
*/
IPage<QualityStorageFileRelVO> selectQualityStorageFileRelPage(IPage<QualityStorageFileRelVO> page, QualityStorageFileRelVO qualityStorageFileRel);
boolean removeByQualityFileId(Long qualityFileId);
// boolean removeByQualityFileId(Long qualityFileId);
Set<Long> selectFileIds(Long id);
}

@ -106,10 +106,12 @@ public class QualityFileServiceImpl extends BaseServiceImpl<QualityFileMapper, Q
// 新增或修改质量文件主表
//qualityFileService.saveOrUpdate(qualityFile);
long fileId = RandomUtils.nextLong();
long assistentId = RandomUtils.nextLong();
qualityFile.setId(fileId);
QualityFileAssistent assistent = new QualityFileAssistent();
assistent.setVersion(StringUtil.isBlank(qualityFile.getVersion()) == true ? 1 : Integer.parseInt(qualityFile.getVersion()));
assistent.setId(assistentId);
assistent.setVersion(1);
assistent.setStatus(1);
assistent.setName("默认名称");
assistent.setQualityFileId(qualityFile.getId());
@ -128,7 +130,7 @@ public class QualityFileServiceImpl extends BaseServiceImpl<QualityFileMapper, Q
//根据主表ID删除文件与存储关联的相关记录
// qualityStorageFileRelService.removeByQualityFileId(qualityFileId);
fileRels.forEach(dto -> dto.setQualityFileId(qualityFileId));
fileRels.forEach(dto -> dto.setAssistantId(assistentId));
int pageCount = storageFileService.countPageCount(fileRels.stream().map(QualityStorageFileRelDTO::getStorageFileId).collect(Collectors.toSet()));
//重新保存文件与存储关联关系

@ -41,10 +41,10 @@ public class QualityStorageFileRelServiceImpl extends BaseServiceImpl<QualitySto
return page.setRecords(baseMapper.selectQualityStorageFileRelPage(page, qualityStorageFileRel));
}
@Override
public boolean removeByQualityFileId(Long qualityFileId) {
return this.remove(Wrappers.<QualityStorageFileRel>lambdaQuery().eq(QualityStorageFileRel::getQualityFileId, qualityFileId));
}
// @Override
// public boolean removeByQualityFileId(Long qualityFileId) {
// return this.remove(Wrappers.<QualityStorageFileRel>lambdaQuery().eq(QualityStorageFileRel::getAssistantId, qualityFileId));
// }
@Override
public Set<Long> selectFileIds(Long id) {

@ -1251,6 +1251,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
// 阴阳性数量
long yin = list.stream().filter((ExamineTemplate2Excel e) -> "阴性".equals(e.getResult())).count();
long yang = list.stream().filter((ExamineTemplate2Excel e) -> "阳性".equals(e.getResult())).count();
// TODO 缺一个判断,如果是平板的,只有阴性和阳性,如果是试管的才有可疑
long keyi = list.stream().filter((ExamineTemplate2Excel e) -> "可疑".equals(e.getResult())).count();
ExamineTemplate2Excel examineTemplate2Excel1 = new ExamineTemplate2Excel();
ExamineTemplate2Excel examineTemplate2Excel2 = new ExamineTemplate2Excel();

@ -145,6 +145,7 @@ public class ExamineResultServiceImpl extends BaseServiceImpl<ExamineResultMappe
examine.setId(null);
examine.setExperieNum(examineResult.getPositiveNum());
examine.setSimpleCount(split.length);
// TODO 硬编码了
// 布鲁氏杆菌抗体检测(试管凝集微量法)
examine.setExamineItemId(1549665733973581825L);
// 试管凝集微量法

Loading…
Cancel
Save