|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.sop.business.activiti.service.ActivitiService;
|
|
|
+import com.qmth.sop.business.bean.dto.DataPermissionDto;
|
|
|
import com.qmth.sop.business.bean.dto.UserDto;
|
|
|
import com.qmth.sop.business.bean.params.FlowApproveParam;
|
|
|
import com.qmth.sop.business.bean.result.FlowFormWidgetResult;
|
|
@@ -17,6 +18,7 @@ import com.qmth.sop.business.entity.TBQualityProblemApply;
|
|
|
import com.qmth.sop.business.entity.TFCustomFlowEntity;
|
|
|
import com.qmth.sop.business.mapper.TBQualityProblemApplyMapper;
|
|
|
import com.qmth.sop.business.service.SysUserRoleService;
|
|
|
+import com.qmth.sop.business.service.SysUserService;
|
|
|
import com.qmth.sop.business.service.TBQualityProblemApplyService;
|
|
|
import com.qmth.sop.business.service.TFCustomFlowEntityService;
|
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
@@ -24,6 +26,7 @@ import com.qmth.sop.common.enums.*;
|
|
|
import com.qmth.sop.common.util.GsonUtil;
|
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
|
import org.activiti.engine.TaskService;
|
|
|
+import org.activiti.engine.task.IdentityLink;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -60,6 +63,9 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
|
|
|
@Resource
|
|
|
SysUserRoleService sysUserRoleService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ SysUserService sysUserService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询列表
|
|
|
*
|
|
@@ -68,7 +74,27 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
|
|
|
*/
|
|
|
@Override
|
|
|
public IPage<TBQualityProblemApplyResult> query(IPage<Map> iPage, Long serviceId, Long userId, QualityProblemTypeEnum type, QualityProblemReasonEnum reason, InfluenceDegreeEnum degree, String custom, String problemNo, Long startTime, Long endTime) {
|
|
|
- return this.baseMapper.query(iPage, serviceId, userId, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(reason) ? reason.name() : null, Objects.nonNull(degree) ? degree.name() : null, custom, problemNo, startTime, endTime);
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
+ IPage<TBQualityProblemApplyResult> resultIPage = this.baseMapper.query(iPage, serviceId, userId, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(reason) ? reason.name() : null, Objects.nonNull(degree) ? degree.name() : null, custom, problemNo, startTime, endTime, dpr);
|
|
|
+ for (TBQualityProblemApplyResult p : resultIPage.getRecords()) {
|
|
|
+ if (Objects.nonNull(p.getTaskId())) {
|
|
|
+ Task task = taskService.createTaskQuery().taskId(String.valueOf(p.getTaskId())).singleResult();
|
|
|
+ if (Objects.nonNull(task.getAssignee()) && task.getAssignee().equals(requestUser.getId().toString())) {
|
|
|
+ p.setMyself(true);
|
|
|
+ } else {
|
|
|
+ List<IdentityLink> identityLinkList = taskService.getIdentityLinksForTask(task.getId());
|
|
|
+ if (!CollectionUtils.isEmpty(identityLinkList)) {
|
|
|
+ for (IdentityLink i : identityLinkList) {
|
|
|
+ if (i.getUserId().equals(requestUser.getId().toString())) {
|
|
|
+ p.setMyself(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resultIPage;
|
|
|
}
|
|
|
|
|
|
/**
|