|
|
@@ -479,44 +479,33 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
|
|
|
MPJLambdaWrapper<MaterialTaskAssign> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
queryWrapper
|
|
|
- .disableSubLogicDel()
|
|
|
- .distinct()
|
|
|
- .select(MaterialTaskAssign::getId)
|
|
|
- .selectAs(MaterialTaskAppendix::getFileId, MaterialTaskAssignListVo::getFileId)
|
|
|
-// .selectAs(File::getFolderId, MaterialTaskAssignListVo::getFolderId)
|
|
|
- .select("CASE t2.material_category WHEN 'MT0001' THEN t4.folder_id ELSE t3.file_id END folderId")
|
|
|
- .select("(select GROUP_CONCAT(DISTINCT b.name) from xjr_user_dept_relation a left join xjr_department b on a.dept_id=b.id where a.user_id=t.user_id) as deptName")
|
|
|
-// .selectAs(MaterialTaskAppendix::getFileId, MaterialTaskAssignListVo::getFormDataId)
|
|
|
- .selectAs(MaterialTask::getMaterialCategory, MaterialTaskAssignListVo::getMaterialCategory)
|
|
|
- .select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAssignListVo.class).contains(x.getProperty()))
|
|
|
- .select(MaterialTaskAssign.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAssignListVo.class).contains(x.getProperty()))
|
|
|
- .innerJoin(XjrUser.class, XjrUser::getId, MaterialTaskAssign::getUserId, ext -> ext.selectAs(XjrUser::getUserName, MaterialTaskAssignListVo::getUserName))
|
|
|
-// .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, MaterialTypeAssign::getUserId)
|
|
|
-// .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId, ext -> ext.selectAs(Department::getName, MaterialTaskAssignListVo::getDeptName))
|
|
|
- .leftJoin(MaterialTask.class, MaterialTask::getId, MaterialTaskAssign::getMaterialTaskId)
|
|
|
- .leftJoin(MaterialTaskAppendix.class,on-> on.eq(MaterialTaskAppendix::getMaterialTaskId, MaterialTaskAssign::getId).eq(MaterialTaskAppendix::getDeleteMark,DeleteMark.NODELETE.getCode()) )
|
|
|
- .leftJoin(File.class, File::getId, MaterialTaskAppendix::getFileId)
|
|
|
- .like(dto.getName() != null && !"".equals(dto.getName()), XjrUser::getName, dto.getName())
|
|
|
+ .select(MaterialTaskAssign::getMaterialTaskId)
|
|
|
+ .select(MaterialTaskAssign.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAssign.class).contains(x.getProperty()))
|
|
|
+ .selectAs(XjrUser::getName, MaterialTaskAssignListVo::getName)
|
|
|
+ .selectAs(XjrUser::getUserName, MaterialTaskAssignListVo::getUserName)
|
|
|
+ .selectAs(XjrUser::getUserName, MaterialTaskAssignListVo::getUserNumber)
|
|
|
+ .selectAs(Department::getName, MaterialTaskAssignListVo::getDeptName)
|
|
|
+ .leftJoin(XjrUser.class, XjrUser::getId, MaterialTaskAssign::getUserId)
|
|
|
+ .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, MaterialTaskAssign::getUserId)
|
|
|
+ .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId)
|
|
|
.eq(MaterialTaskAssign::getMaterialTaskId, dto.getMaterialTaskId())
|
|
|
- .eq(dto.getState() != null, MaterialTaskAssign::getStatus, dto.getState())
|
|
|
- .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
-// .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(MaterialTask::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(MaterialTaskAssign::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
-// .eq(MaterialTaskAppendix::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
-// .select("(\n" +
|
|
|
-// "SELECT id FROM xjr_file WHERE id IN (\n" +
|
|
|
-// "SELECT file_id FROM material_task_appendix WHERE material_task_id = t.id\n" +
|
|
|
-// ") ORDER BY create_date DESC LIMIT 1\n" +
|
|
|
-// ") AS folderId ")
|
|
|
;
|
|
|
|
|
|
List<MaterialTaskAssignListVo> pageOutput = materialTaskMaterialTaskAssignMapper.selectJoinList(MaterialTaskAssignListVo.class, queryWrapper);
|
|
|
|
|
|
+ List<MaterialTaskAppendix> appendixList = appendixMapper.selectJoinList(MaterialTaskAppendix.class,
|
|
|
+ new MPJLambdaWrapper<MaterialTaskAppendix>()
|
|
|
+ .select(MaterialTaskAppendix::getMaterialTaskId)
|
|
|
+ .select(MaterialTaskAppendix.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAppendix.class).contains(x.getProperty()))
|
|
|
+ .innerJoin(MaterialTaskAssign.class, MaterialTaskAssign::getId, MaterialTaskAppendix::getMaterialTaskId)
|
|
|
+ .eq(MaterialTaskAssign::getMaterialTaskId, dto.getMaterialTaskId())
|
|
|
+ );
|
|
|
+ Map<Long, List<MaterialTaskAppendix>> appendixFileMap = appendixList.stream().collect(Collectors.groupingBy(MaterialTaskAppendix::getMaterialTaskId));
|
|
|
+
|
|
|
for (MaterialTaskAssignListVo el : pageOutput){
|
|
|
materialTypeService.handleFileAndTemplate(el, el.getMaterialCategory());
|
|
|
-
|
|
|
- List<File> fileList = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, el.getFolderId()));
|
|
|
+ List<Long> fileIds = appendixFileMap.get(el.getId()).stream().map(MaterialTaskAppendix::getFileId).collect(Collectors.toList());
|
|
|
+ List<File> fileList = fileService.list(Wrappers.<File>query().lambda().in(File::getFolderId, fileIds));
|
|
|
el.setFiles(fileList);
|
|
|
}
|
|
|
|