个人首页添加项目切换,派单详情,附件
This commit is contained in:
@ -28,6 +28,7 @@ import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
@ -37,8 +38,11 @@ import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.patch.domain.bo.PdMasterBo;
|
||||
import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
|
||||
import org.dromara.patch.domain.vo.PdMasterVo;
|
||||
import org.dromara.patch.service.IPdMasterService;
|
||||
import org.dromara.project.domain.BusUserProjectRelevancy;
|
||||
import org.dromara.project.service.IBusProjectService;
|
||||
import org.dromara.project.service.IBusUserProjectRelevancyService;
|
||||
import org.dromara.system.domain.SysMenu;
|
||||
import org.dromara.system.domain.vo.RouterVo;
|
||||
import org.dromara.system.service.impl.SysMenuServiceImpl;
|
||||
@ -98,6 +102,8 @@ public class PersonalHomeController extends BaseController {
|
||||
|
||||
private final SysMenuServiceImpl sysMenuService;
|
||||
|
||||
private final IBusUserProjectRelevancyService userProjectRelevancyService;
|
||||
|
||||
// region AI 模块
|
||||
|
||||
/**
|
||||
@ -189,7 +195,7 @@ public class PersonalHomeController extends BaseController {
|
||||
|
||||
QueryWrapper<FlowTaskBo> queryWrapper = new QueryWrapper<>();
|
||||
List<Long> definitionIds = new ArrayList<>();
|
||||
if (!"0".equals(projectId)) {
|
||||
if (StringUtils.isNotBlank(projectId) && !"0".equals(projectId)) {
|
||||
List<FlowDefinition> flowDefinitions = flowDefinitionMapper.selectList(new LambdaQueryWrapper<FlowDefinition>()
|
||||
.select(FlowDefinition::getId)
|
||||
.like(FlowDefinition::getFlowCode, projectId));
|
||||
@ -198,9 +204,31 @@ public class PersonalHomeController extends BaseController {
|
||||
definitionIds.add(flowDefinition.getId());
|
||||
});
|
||||
}
|
||||
if (definitionIds.isEmpty()) {
|
||||
return null;
|
||||
} else {
|
||||
// 获取当前用户的所有项目
|
||||
List<BusUserProjectRelevancy> projectRelevancyList = userProjectRelevancyService.lambdaQuery()
|
||||
.eq(BusUserProjectRelevancy::getUserId, LoginHelper.getUserId())
|
||||
.list();
|
||||
List<Long> projectIds = projectRelevancyList.stream().map(BusUserProjectRelevancy::getProjectId).distinct().toList();
|
||||
if (CollUtil.isEmpty(projectIds)) {
|
||||
return R.ok();
|
||||
}
|
||||
LambdaQueryWrapper<FlowDefinition> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.select(FlowDefinition::getId);
|
||||
lqw.and(w -> {
|
||||
for (Long id : projectIds) {
|
||||
w.or().like(FlowDefinition::getFlowCode, id);
|
||||
}
|
||||
});
|
||||
List<FlowDefinition> flowDefinitions = flowDefinitionMapper.selectList(lqw);
|
||||
if (flowDefinitions != null && !flowDefinitions.isEmpty()) {
|
||||
flowDefinitions.forEach(flowDefinition -> {
|
||||
definitionIds.add(flowDefinition.getId());
|
||||
});
|
||||
}
|
||||
}
|
||||
if (definitionIds.isEmpty()) {
|
||||
return R.ok();
|
||||
}
|
||||
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
|
||||
queryWrapper.in("t.processed_by", LoginHelper.getUserIdStr());
|
||||
@ -229,7 +257,7 @@ public class PersonalHomeController extends BaseController {
|
||||
taskInfoDto.setTotal((long) page.size());
|
||||
taskInfoDto.setWeekCount((long) weeklyTasks.size());
|
||||
|
||||
BusPdSjVo busPdSjVo = pdMasterService.queryPageListByDate();
|
||||
BusPdSjVo busPdSjVo = pdMasterService.queryPageListByDate(projectId);
|
||||
BusWjzxSjDateVo busWjzxSjDateVo = busWjzxService.queryWjzx();
|
||||
|
||||
taskInfoDto.setBusWjzxSjDateVo(busWjzxSjDateVo);
|
||||
@ -299,6 +327,16 @@ public class PersonalHomeController extends BaseController {
|
||||
return pdMasterService.queryPageListBy(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取派单详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@GetMapping("/pd/{id}")
|
||||
public R<PdMasterVo> getPdInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(pdMasterService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询备忘录列表
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
package org.dromara.patch.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 派单对象 pd_master
|
||||
@ -65,6 +66,11 @@ public class PdMaster extends BaseEntity {
|
||||
*/
|
||||
private String taskStatus = "0";
|
||||
|
||||
/**
|
||||
* 文件 id
|
||||
*/
|
||||
private String fileIds;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@ -1,15 +1,14 @@
|
||||
package org.dromara.patch.domain.bo;
|
||||
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 派单业务对象 pd_master
|
||||
@ -84,5 +83,9 @@ public class PdMasterBo extends BaseEntity {
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 文件 id
|
||||
*/
|
||||
private String fileIds;
|
||||
|
||||
}
|
||||
|
||||
@ -1,21 +1,18 @@
|
||||
package org.dromara.patch.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 派单视图对象 pd_master
|
||||
*
|
||||
@ -96,6 +93,16 @@ public class PdMasterVo implements Serializable {
|
||||
@ExcelProperty(value = "子用户")
|
||||
private String slaveName;
|
||||
|
||||
/**
|
||||
* 文件 id
|
||||
*/
|
||||
private String fileIds;
|
||||
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
@Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "fileIds")
|
||||
private String fileNames;
|
||||
|
||||
/**
|
||||
* 前端显示
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
package org.dromara.patch.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.bigscreen.domain.vo.BusPdSjVo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import org.dromara.patch.domain.bo.PdMasterBo;
|
||||
import org.dromara.patch.domain.bo.PdMasterProgressReq;
|
||||
import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
|
||||
import org.dromara.patch.domain.vo.PdMasterProgressVo;
|
||||
import org.dromara.patch.domain.vo.PdMasterVo;
|
||||
import org.dromara.patch.domain.bo.PdMasterBo;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ -22,6 +22,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface IPdMasterService extends IService<PdMaster> {
|
||||
List<PdMasterProgressVo> queryProgressList(Long masterId);
|
||||
|
||||
void validEntityBeforeSave(PdMaster entity);
|
||||
|
||||
// 新增进度
|
||||
@ -32,6 +33,7 @@ public interface IPdMasterService extends IService<PdMaster>{
|
||||
|
||||
// 删除进度
|
||||
Boolean removeProgress(Long id);
|
||||
|
||||
/**
|
||||
* 查询派单
|
||||
*
|
||||
@ -94,7 +96,8 @@ public interface IPdMasterService extends IService<PdMaster>{
|
||||
/**
|
||||
* 查询派单列表
|
||||
*
|
||||
* @param projectId 项目 id
|
||||
* @return 派单列表
|
||||
*/
|
||||
BusPdSjVo queryPageListByDate();
|
||||
BusPdSjVo queryPageListByDate(String projectId);
|
||||
}
|
||||
|
||||
@ -1,35 +1,33 @@
|
||||
package org.dromara.patch.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.bigscreen.domain.vo.BusPdSjVo;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import org.dromara.patch.domain.PdMasterSon;
|
||||
import org.dromara.patch.domain.PdMasterUser;
|
||||
import org.dromara.patch.domain.bo.PdMasterBo;
|
||||
import org.dromara.patch.domain.bo.PdMasterProgressReq;
|
||||
import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
|
||||
import org.dromara.patch.domain.vo.PdMasterProgressVo;
|
||||
import org.dromara.patch.enums.TaskStatusEnum;
|
||||
import org.dromara.patch.service.IPdMasterSonService;
|
||||
import org.dromara.patch.service.IPdMasterUserService;
|
||||
import org.dromara.system.domain.SysUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.patch.domain.bo.PdMasterBo;
|
||||
import org.dromara.patch.domain.vo.PdMasterVo;
|
||||
import org.dromara.patch.domain.PdMaster;
|
||||
import org.dromara.patch.enums.TaskStatusEnum;
|
||||
import org.dromara.patch.mapper.PdMasterMapper;
|
||||
import org.dromara.patch.service.IPdMasterService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.patch.service.IPdMasterSonService;
|
||||
import org.dromara.patch.service.IPdMasterUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@ -116,6 +114,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean editProgress(PdMasterProgressVo progress) {
|
||||
if (progress.getOrdersId() == null) {
|
||||
@ -158,8 +157,10 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
baseMapper.updateById(master);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据主表ID查询进度详情列表
|
||||
*
|
||||
* @param masterId 主表ID
|
||||
* @return 进度详情列表
|
||||
*/
|
||||
@ -170,6 +171,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
}
|
||||
return baseMapper.selectProgressByMasterId(masterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询派单
|
||||
*
|
||||
@ -222,34 +224,48 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
PdMasterBymiAndQt res = new PdMasterBymiAndQt();
|
||||
// 获取登陆人
|
||||
Long userId = LoginHelper.getUserId();
|
||||
Long projectId = bo.getProjectId();
|
||||
//获取我派发的
|
||||
List<PdMasterVo> pdMasters = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>().eq(PdMaster::getCreateBy, userId));
|
||||
List<PdMasterVo> pdMasters = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>()
|
||||
.eq(projectId != null && projectId != 0, PdMaster::getProjectId, projectId)
|
||||
.eq(PdMaster::getCreateBy, userId));
|
||||
pdMasters = pdJudge(bo.getTaskType(), pdMasters);
|
||||
res.setWpd(pdMasters);
|
||||
// 获取其他部门派发给我的
|
||||
List<PdMasterUser> pdMasterUsers = pdMasterUserService.getBaseMapper().selectList(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getSlaveid, userId));
|
||||
if (pdMasterUsers != null && pdMasterUsers.size() > 0) {
|
||||
List<Long> collect = pdMasterUsers.stream().map(item ->item.getOrdersid()).collect((Collectors.toList()));
|
||||
List<PdMasterVo> pdMasterVos = baseMapper.selectVoByIds(collect);
|
||||
if (CollUtil.isNotEmpty(pdMasterUsers)) {
|
||||
List<Long> collect = pdMasterUsers.stream().map(PdMasterUser::getOrdersid).collect((Collectors.toList()));
|
||||
List<PdMasterVo> pdMasterVos = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>()
|
||||
.eq(projectId != null && projectId != 0, PdMaster::getProjectId, projectId)
|
||||
.in(PdMaster::getId, collect));
|
||||
pdMasterVos = pdJudge(bo.getTaskType(), pdMasterVos);
|
||||
res.setQtbm(pdMasterVos);
|
||||
}
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusPdSjVo queryPageListByDate() {
|
||||
public BusPdSjVo queryPageListByDate(String projectId) {
|
||||
BusPdSjVo res = new BusPdSjVo();
|
||||
// 获取登陆人
|
||||
Long userId = LoginHelper.getUserId();
|
||||
//获取我派发的
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>().eq(PdMaster::getCreateBy, userId));
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>()
|
||||
.eq(PdMaster::getCreateBy, userId)
|
||||
.eq(StringUtils.isNotBlank(projectId) && !projectId.equals("0"), PdMaster::getProjectId, projectId));
|
||||
//其他部门派发给我的
|
||||
Long count = pdMasterUserService.getBaseMapper().selectCount(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getSlaveid, userId));
|
||||
List<PdMasterUser> pdMasterUsers = pdMasterUserService.getBaseMapper()
|
||||
.selectList(new LambdaQueryWrapper<PdMasterUser>()
|
||||
.eq(PdMasterUser::getSlaveid, userId));
|
||||
Long l1 = 0L;
|
||||
if (CollUtil.isNotEmpty(pdMasterUsers)) {
|
||||
Set<Long> ids = pdMasterUsers.stream().map(PdMasterUser::getOrdersid).collect(Collectors.toSet());
|
||||
l1 = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>()
|
||||
.eq(StringUtils.isNotBlank(projectId) && !projectId.equals("0"), PdMaster::getProjectId, projectId)
|
||||
.in(PdMaster::getId, ids));
|
||||
}
|
||||
res.setWdpdrw(l);
|
||||
res.setQtbmpd(count);
|
||||
res.setQtbmpd(l1);
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -286,17 +302,11 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
if (flow == 4) {
|
||||
return true;
|
||||
} else if (flow == 1) {
|
||||
if (item.getTapName().equals("进行中")) {
|
||||
return true;
|
||||
}
|
||||
return item.getTapName().equals("进行中");
|
||||
} else if (flow == 2) {
|
||||
if (item.getTapName().equals("已完成")) {
|
||||
return true;
|
||||
}
|
||||
return item.getTapName().equals("已完成");
|
||||
} else if (flow == 3) {
|
||||
if (item.getTapName().equals("待处理")) {
|
||||
return true;
|
||||
}
|
||||
return item.getTapName().equals("待处理");
|
||||
}
|
||||
return false;
|
||||
|
||||
@ -309,7 +319,6 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询符合条件的派单列表
|
||||
*
|
||||
@ -407,5 +416,4 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user