|
@@ -1,5 +1,6 @@
|
|
|
package com.xjrsoft.module.material.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
@@ -36,12 +37,10 @@ import com.xjrsoft.module.material.entity.MaterialTypeAssign;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskAppendixMapper;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskAssignMapper;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskMapper;
|
|
|
+import com.xjrsoft.module.material.service.IMaterialTaskAppendixService;
|
|
|
import com.xjrsoft.module.material.service.IMaterialTaskService;
|
|
|
import com.xjrsoft.module.material.service.IMaterialTypeService;
|
|
|
-import com.xjrsoft.module.material.vo.MaterialTaskAssignListVo;
|
|
|
-import com.xjrsoft.module.material.vo.MaterialTaskAssignUserVo;
|
|
|
-import com.xjrsoft.module.material.vo.MaterialTaskVo;
|
|
|
-import com.xjrsoft.module.material.vo.MaterialTypeVo;
|
|
|
+import com.xjrsoft.module.material.vo.*;
|
|
|
import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
|
|
|
import com.xjrsoft.module.organization.entity.Department;
|
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
@@ -55,6 +54,7 @@ import com.xjrsoft.module.system.entity.File;
|
|
|
import com.xjrsoft.module.system.service.IFileService;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.teacher.vo.XjrUserVo;
|
|
|
+import com.xjrsoft.module.workflow.entity.WorkflowSchema;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -91,6 +91,7 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
private final FormTemplateMapper formTemplateMapper;
|
|
|
private final IFileService fileService;
|
|
|
private final IUserService userService;
|
|
|
+ private final IMaterialTaskAppendixService materialTaskAppendixService;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -417,6 +418,38 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
return materialTaskVo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public MaterialTaskVo getInfoViewById(Long id) {
|
|
|
+ MaterialTaskVo materialTaskVo = getInfoById(id);
|
|
|
+
|
|
|
+ MPJLambdaWrapper<MaterialTaskAssign> materialTaskAssignMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ materialTaskAssignMPJLambdaWrapper
|
|
|
+ .orderByDesc(MaterialTaskAssign::getCreateDate)
|
|
|
+ .eq(MaterialTaskAssign::getMaterialTaskId, id)
|
|
|
+ .eq(MaterialTaskAssign::getUserId, StpUtil.getLoginIdAsLong());
|
|
|
+
|
|
|
+ MaterialTaskAssign materialTaskAssignVo = materialTaskMaterialTaskAssignMapper
|
|
|
+ .selectOne(Wrappers.lambdaQuery(MaterialTaskAssign.class)
|
|
|
+ .eq(MaterialTaskAssign::getMaterialTaskId, id)
|
|
|
+ .eq(MaterialTaskAssign::getUserId, StpUtil.getLoginIdAsLong())
|
|
|
+ );
|
|
|
+
|
|
|
+ List<MaterialTaskAppendixVo> newsAppendixVoList = materialTaskAppendixService.selectJoinList(MaterialTaskAppendixVo.class,
|
|
|
+ new MPJLambdaWrapper<MaterialTaskAppendix>()
|
|
|
+ .eq(MaterialTaskAppendix::getMaterialTaskId, materialTaskAssignVo.getId())
|
|
|
+ .select(MaterialTaskAppendix::getId)
|
|
|
+ .select(MaterialTaskAppendix.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAppendixVo.class).contains(x.getProperty()))
|
|
|
+ .leftJoin(File.class, File::getId, MaterialTaskAppendix::getFileId, ext -> ext.selectAs(File::getFileName, MaterialTaskAppendixVo::getFileName)
|
|
|
+ .selectAs(File::getFolderId, MaterialTaskAppendixVo::getFolderId)
|
|
|
+ .selectAs(File::getFileUrl, MaterialTaskAppendixVo::getFileUrl))
|
|
|
+ );
|
|
|
+
|
|
|
+ if (newsAppendixVoList.size() > 0) {
|
|
|
+ materialTaskVo.setMaterialTaskAppendixList(newsAppendixVoList);
|
|
|
+ }
|
|
|
+ return materialTaskVo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void sendMessage(Long materialTaskId) {
|
|
|
MaterialTask materialTask = this.getById(materialTaskId);
|