|
|
@@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
+import com.xunmei.common.core.domain.panel.dto.PanelListDto;
|
|
|
+import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
|
|
|
+import com.xunmei.common.core.domain.panel.vo.PanelListVo;
|
|
|
import com.xunmei.common.core.exception.ServiceException;
|
|
|
import com.xunmei.common.core.utils.IDHelper;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
@@ -31,6 +34,7 @@ import com.xunmei.core.resumption.service.IAppResumptionDataRemarkimgService;
|
|
|
import com.xunmei.core.safetyCheck.domain.CoreSafetyTaskDataRemarkimg;
|
|
|
import com.xunmei.core.safetyCheck.service.ICoreSafetyTaskDataRemarkimgService;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
+import com.xunmei.system.api.RemoteUserService;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -38,6 +42,8 @@ import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -56,6 +62,9 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
|
|
private RemoteOrgService orgService;
|
|
|
|
|
|
@Autowired
|
|
|
+ RemoteUserService remoteUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private IAppResumptionDataRemarkimgService appResumptionDataRemarkimgService;
|
|
|
|
|
|
@Autowired
|
|
|
@@ -297,4 +306,60 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
|
|
|
// 调用EasyExcel的导出方法
|
|
|
EasyExcel.write(response.getOutputStream(), QuestionExportDto.class).sheet("Sheet1").doWrite(list);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当前用户的工作台。有所属机构+有整改权限的待整改、所属机构+有确认权限的待确认、异议提出人+异议状态的异议审批
|
|
|
+ * @param panelListDto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto){
|
|
|
+ LambdaQueryWrapper<Question> wrapper=new LambdaQueryWrapper<>();
|
|
|
+ Long confirmButton=2353L;
|
|
|
+ Long dissentButton=2354L;
|
|
|
+ Long reformButton=2355L;
|
|
|
+ List<Long> ownPermission= remoteUserService.checkUserPermission(Arrays.asList(confirmButton,dissentButton,reformButton)
|
|
|
+ ,SecurityUtils.getUserId(),SecurityConstants.INNER);
|
|
|
+ if(ownPermission.contains(reformButton)){
|
|
|
+ wrapper.or(w->w.eq(Question::getOrgId,panelListDto.getOrgId()).eq(Question::getReformStatus,QuestionReformEnum.Unreform.getValue()));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ownPermission.contains(confirmButton)){
|
|
|
+ wrapper.or(w->w.eq(Question::getOrgId,panelListDto.getOrgId()).eq(Question::getConfirmStatus,QuestionConfirmEnum.Unconfirm.getValue()));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ownPermission.contains(dissentButton)){
|
|
|
+ wrapper.or(w->w.eq(Question::getSubmitorId,SecurityUtils.getUserId()).eq(Question::getConfirmStatus,QuestionConfirmEnum.Dissent.getValue()));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(wrapper.isEmptyOfWhere()){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }else{
|
|
|
+ wrapper.select(Question::getId,
|
|
|
+ Question::getQuestionDesc,
|
|
|
+ Question::getOrgId,
|
|
|
+ Question::getConfirmStatus,
|
|
|
+ Question::getReformStatus,
|
|
|
+ Question::getSubmitTime,
|
|
|
+ Question::getReformDeadline);
|
|
|
+ List<Question> list= baseMapper.selectList(wrapper);
|
|
|
+ List<PanelListVo> vos=list.stream().map(item->{
|
|
|
+ PanelListVo vo=new PanelListVo();
|
|
|
+ vo.setId(item.getId());
|
|
|
+ vo.setEndTime(item.getReformDeadline());
|
|
|
+ vo.setTaskName(item.getQuestionDesc());
|
|
|
+ vo.setStartTime(item.getSubmitTime());
|
|
|
+ vo.setType(PanelTypeEnums.QUESTION.getCode());
|
|
|
+ if(ObjectUtil.isNull(item.getReformStatus())){
|
|
|
+ vo.setStatus(item.getConfirmStatus());
|
|
|
+ }else{
|
|
|
+ vo.setStatus(item.getReformStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ return vo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return vos;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|