Merge remote-tracking branch 'origin/dev' into dev

dev
litao 3 years ago
commit 16d3b8b476
  1. 2
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/dto/QualityFileDTO.java
  2. 3
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityFile.java
  3. 2
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityFileDeptRel.java
  4. 6
      lab-service/lab-file/src/main/java/org/springblade/file/mapper/QualityFileMapper.xml
  5. 24
      lab-service/lab-file/src/main/java/org/springblade/file/service/impl/QualityFileServiceImpl.java

@ -42,7 +42,7 @@ public class QualityFileDTO extends QualityFile {
@ApiModelProperty(value = "部门ids") @ApiModelProperty(value = "部门ids")
@NotNull @NotNull
@NotEmpty @NotEmpty
private Set<Long> deptIds; private Set<String> deptIds;
@ApiModelProperty(value = "文件") @ApiModelProperty(value = "文件")
@NotNull @NotNull

@ -75,5 +75,6 @@ public class QualityFile extends BaseEntity implements Serializable {
@NotNull @NotNull
private Long categoryId; private Long categoryId;
@ApiModelProperty(value = "在用的部门ids")
private String activeDeptIds;
} }

@ -56,6 +56,6 @@ public class QualityFileDeptRel extends BaseEntity implements Serializable {
* 质量文件类型id * 质量文件类型id
*/ */
@ApiModelProperty(value = "质量文件类型id") @ApiModelProperty(value = "质量文件类型id")
private Long deptId; private String deptId;
} }

@ -23,12 +23,12 @@
<select id="selectQualityFilePage" resultType="org.springblade.file.vo.QualityFileVO"> <select id="selectQualityFilePage" resultType="org.springblade.file.vo.QualityFileVO">
select * from t_quality_file select * from t_quality_file
<where> <where>
<if test="qualityFile.categoryId != null">
AND category_id = #{qualityFile.categoryId,jdbcType=NUMERIC}
</if>
<if test="qualityFile.filename != null and qualityFile.filename != ''"> <if test="qualityFile.filename != null and qualityFile.filename != ''">
AND filename like CONCAT('%', #{qualityFile.filename,jdbcType=VARCHAR}, '%') AND filename like CONCAT('%', #{qualityFile.filename,jdbcType=VARCHAR}, '%')
</if> </if>
<if test="qualityFile.categoryId != null and qualityFile.categoryId != ''">
AND active_dept_ids like CONCAT('%', #{qualityFile.categoryId,jdbcType=VARCHAR}, '%')
</if>
AND is_deleted = 0 AND is_deleted = 0
</where> </where>
</select> </select>

@ -37,6 +37,8 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -94,23 +96,31 @@ public class QualityFileServiceImpl extends BaseServiceImpl<QualityFileMapper, Q
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean saveOrUpdateDTO(QualityFileDTO qualityFile) { public boolean saveOrUpdateDTO(QualityFileDTO qualityFile) {
// 临时将部门id转串存表
Set<String> deptIds1 = qualityFile.getDeptIds();
String resultDeptStr = "";
for (String s : deptIds1) {
resultDeptStr += s + ",";
}
qualityFile.setActiveDeptIds(resultDeptStr);
// 新增和修改质量文件主表
qualityFileService.saveOrUpdate(qualityFile); qualityFileService.saveOrUpdate(qualityFile);
Long qualityFileId = qualityFile.getId(); Long qualityFileId = qualityFile.getId();
qualityFileDeptRelService.removeByQualityFileId(qualityFileId); qualityFileDeptRelService.removeByQualityFileId(qualityFileId);
Set<Long> deptIds = qualityFile.getDeptIds();
qualityFileDeptRelService.saveBatch(deptIds.stream() Set<String> deptIds = qualityFile.getDeptIds();
.map(deptId -> QualityFileDeptRel.builder().qualityFileId(qualityFileId).deptId(deptId).build()) qualityFileDeptRelService.saveBatch(deptIds.stream().map(deptId -> QualityFileDeptRel.builder().qualityFileId(qualityFileId).deptId(deptId).build()).collect(Collectors.toList()));
.collect(Collectors.toList()));
Set<QualityStorageFileRelDTO> fileRels = qualityFile.getFiles(); Set<QualityStorageFileRelDTO> fileRels = qualityFile.getFiles();
qualityStorageFileRelService.removeByQualityFileId(qualityFileId); qualityStorageFileRelService.removeByQualityFileId(qualityFileId);
fileRels.forEach(dto -> dto.setQualityFileId(qualityFileId)); fileRels.forEach(dto -> dto.setQualityFileId(qualityFileId));
int pageCount = storageFileService.countPageCount(fileRels.stream() int pageCount = storageFileService.countPageCount(fileRels.stream().map(QualityStorageFileRel::getStorageFileId).collect(Collectors.toSet()));
.map(QualityStorageFileRel::getStorageFileId)
.collect(Collectors.toSet()));
qualityStorageFileRelService.saveBatch(new ArrayList<>(fileRels)); qualityStorageFileRelService.saveBatch(new ArrayList<>(fileRels));
qualityFile.setPageCount(pageCount); qualityFile.setPageCount(pageCount);

Loading…
Cancel
Save