Преглед изворни кода

修改查询工单分页列表,返回信息中增加指派相关字段

tags/v1.0.0^2
wanjing пре 1 година
родитељ
комит
83fd0c345f
5 измењених фајлова са 206 додато и 11 уклоњено
  1. +49
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/workorder/QueryWorkOrderDetailsCodeEnum.java
  2. +47
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/workorder/QueryWorkOrderPageListCodeEnum.java
  3. +21
    -8
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/workorder/query/QueryWorkOrderDetailsService.java
  4. +49
    -3
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/workorder/query/QueryWorkOrderPageListService.java
  5. +40
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/vo/WorkOrderPageListVo.java

+ 49
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/workorder/QueryWorkOrderDetailsCodeEnum.java Прегледај датотеку

package com.tuoheng.admin.enums.code.workorder;

/**
* 工单详情返回码
* 模块代码:26(工单管理)
* 接口代码:02 (工单详情)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-08
*/
public enum QueryWorkOrderDetailsCodeEnum {

QUERY_IS_FAILED(1260200, "查看工单详情失败"),
ID_IS_NULL(1260201, "工单id"),
WORK_ORDER_IS_NOT_EXIST(1260202, "工单不存在");

/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

QueryWorkOrderDetailsCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 47
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/workorder/QueryWorkOrderPageListCodeEnum.java Прегледај датотеку

package com.tuoheng.admin.enums.code.workorder;

/**
* 查询工单分页列表返回码
* 模块代码:26(工单管理)
* 接口代码:03 (查询工单分页列表)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-08
*/
public enum QueryWorkOrderPageListCodeEnum {

QUERY_IS_FAILED(1260300, "查询工单分页列表失败");

/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

QueryWorkOrderPageListCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 21
- 8
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/workorder/query/QueryWorkOrderDetailsService.java Прегледај датотеку

package com.tuoheng.admin.service.workorder.query; package com.tuoheng.admin.service.workorder.query;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.Inspection;
import com.tuoheng.admin.entity.WorkOrder;
import com.tuoheng.admin.entity.WorkOrderFile;
import com.tuoheng.admin.enums.code.inspectionfile.QueryInspectionFilePageListByInspectionIdCodeEnum;
import com.tuoheng.admin.enums.code.workorder.QueryWorkOrderDetailsCodeEnum;
import com.tuoheng.admin.mapper.*; import com.tuoheng.admin.mapper.*;
import com.tuoheng.admin.utils.ShiroUtils; import com.tuoheng.admin.utils.ShiroUtils;
import com.tuoheng.common.core.utils.JsonResult; import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
public class QueryWorkOrderDetailsService { public class QueryWorkOrderDetailsService {


@Autowired
private UserMapper userMapper;
@Autowired
private DeptMapper deptMapper;

@Autowired @Autowired
private WorkOrderMapper workOrderMapper; private WorkOrderMapper workOrderMapper;


return result; return result;
} }


WorkOrder workOrder = (WorkOrder) result.getData();


return JsonResult.success();

return JsonResult.success(workOrder);
} }


/** /**
* @return * @return
*/ */
private JsonResult check(String id) { private JsonResult check(String id) {
// 判断任务id是否为空
if (StringUtils.isEmpty(id)) {
return JsonResult.error(QueryWorkOrderDetailsCodeEnum.ID_IS_NULL.getCode(), QueryWorkOrderDetailsCodeEnum.ID_IS_NULL.getMsg());
}


return JsonResult.success();
// 判断工单是否存在
WorkOrder workOrder = workOrderMapper.selectOne(new LambdaQueryWrapper<WorkOrder>()
.eq(WorkOrder::getId, id)
.eq(WorkOrder::getMark, 1));
if (null == workOrder) {
return JsonResult.error(QueryWorkOrderDetailsCodeEnum.WORK_ORDER_IS_NOT_EXIST.getCode(), QueryWorkOrderDetailsCodeEnum.WORK_ORDER_IS_NOT_EXIST.getMsg());
}
return JsonResult.success(workOrder);
} }


} }

+ 49
- 3
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/workorder/query/QueryWorkOrderPageListService.java Прегледај датотеку

import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
User user = userMapper.selectOne(new LambdaQueryWrapper<User>() User user = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, userId) .eq(User::getId, userId)
.eq(User::getMark, 1)); .eq(User::getMark, 1));
request.setUserDeptId(user.getDeptId());
if (UserTypeEnum.SUPER_ADMIN.getCode() != user.getType()) {
request.setUserDeptId(user.getDeptId());
}


// 获取部门Id的查询范围 // 获取部门Id的查询范围
List<String> deptIdList = this.getDeptIdList(user, request.getDeptId()); List<String> deptIdList = this.getDeptIdList(user, request.getDeptId());
* @param deptId * @param deptId
* @return * @return
*/ */
private List<String> getDeptIdList( User user, String deptId) {
private List<String> getDeptIdList(User user, String deptId) {
List<String> deptIdList = new ArrayList<>(); List<String> deptIdList = new ArrayList<>();
if (!StringUtils.isEmpty(deptId)) { if (!StringUtils.isEmpty(deptId)) {
deptIdList.add(deptId); deptIdList.add(deptId);
private List<WorkOrderPageListVo> buildPageList(List<WorkOrder> workOrderList) { private List<WorkOrderPageListVo> buildPageList(List<WorkOrder> workOrderList) {
Map<String, Dept> deptMap = this.getDeptMap(workOrderList); Map<String, Dept> deptMap = this.getDeptMap(workOrderList);
Map<String, User> userMap = this.getUserMap(workOrderList); Map<String, User> userMap = this.getUserMap(workOrderList);
Map<String, User> assignUserMap = this.getAssignUserMap(workOrderList);
Map<String, List<WorkOrderFile>> workOrderFileMap = this.getWorkOrderFileMap(workOrderList); Map<String, List<WorkOrderFile>> workOrderFileMap = this.getWorkOrderFileMap(workOrderList);


List<String> inspectionFileIdList; List<String> inspectionFileIdList;
List<WorkOrderPageListVo> workOrderPageListVoList = WorkOrderConverMapper.INSTANCE.fromWorkOrderListToWorkOrderPageListVoList(workOrderList); List<WorkOrderPageListVo> workOrderPageListVoList = WorkOrderConverMapper.INSTANCE.fromWorkOrderListToWorkOrderPageListVoList(workOrderList);
Dept dept; Dept dept;
User user; User user;
User assignUser;
String assignUserNames;
List<WorkOrderFile> workOrderFileList; List<WorkOrderFile> workOrderFileList;
for (WorkOrderPageListVo workOrderPageListVo : workOrderPageListVoList) { for (WorkOrderPageListVo workOrderPageListVo : workOrderPageListVoList) {
assignUserNames = "";
dept = deptMap.get(workOrderPageListVo.getDeptId()); dept = deptMap.get(workOrderPageListVo.getDeptId());
user = userMap.get(workOrderPageListVo.getDistributionId()); user = userMap.get(workOrderPageListVo.getDistributionId());
workOrderFileList = workOrderFileMap.get(workOrderPageListVo.getId()); workOrderFileList = workOrderFileMap.get(workOrderPageListVo.getId());
if (null != user) { if (null != user) {
workOrderPageListVo.setDistributionName(user.getRealname()); workOrderPageListVo.setDistributionName(user.getRealname());
} }

String assignUsers = workOrderPageListVo.getAssignUser();
if (!StringUtils.isEmpty(assignUsers)) {
String[] assignUserArr = assignUsers.split(",");
for (String au : assignUserArr) {
assignUser = assignUserMap.get(au);
assignUserNames += assignUser.getRealname() + ",";
}
}
if (!StringUtils.isEmpty(assignUserNames)) {
assignUserNames = assignUserNames.substring(0, assignUserNames.length() - 1);
workOrderPageListVo.setAssignUserNames(assignUserNames);
}
} }
return workOrderPageListVoList; return workOrderPageListVoList;
} }
return userMap; return userMap;
} }


/**
* 获取指派用户列表,放到map,减少循环次数
*
* @param workOrderList
* @return
*/
private Map<String, User> getAssignUserMap(List<WorkOrder> workOrderList) {
List<String> assignUserIdList = workOrderList.stream().map(o -> o.getDistributionId()).collect(Collectors.toList());
List<String> tmpList;
for (WorkOrder workOrder : workOrderList) {
String assignUser = workOrder.getAssignUser();
if (!StringUtils.isEmpty(assignUser)) {
String[] arr = assignUser.split(",");
tmpList = Arrays.asList(arr);
assignUserIdList.addAll(tmpList);
}
}
List<User> userList = null;
if (!CollectionUtil.isEmpty(assignUserIdList)) {
userList = userMapper.selectList(new LambdaQueryWrapper<User>()
.in(User::getId, assignUserIdList)
.eq(User::getMark, 1));
}
Map<String, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
return userMap;
}

private Map<String, List<WorkOrderFile>> getWorkOrderFileMap(List<WorkOrder> workOrderList) { private Map<String, List<WorkOrderFile>> getWorkOrderFileMap(List<WorkOrder> workOrderList) {
List<String> workOrderIdList = workOrderList.stream().map(o -> o.getId()).collect(Collectors.toList()); List<String> workOrderIdList = workOrderList.stream().map(o -> o.getId()).collect(Collectors.toList());
List<WorkOrderFile> workOrderFileList = workOrderFileMapper.selectList(new LambdaQueryWrapper<WorkOrderFile>() List<WorkOrderFile> workOrderFileList = workOrderFileMapper.selectList(new LambdaQueryWrapper<WorkOrderFile>()

+ 40
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/vo/WorkOrderPageListVo.java Прегледај датотеку

*/ */
private String distributionName; private String distributionName;


/**
* 指派部门ID
*/
private String assignDeptId;

/**
* 指派负责人,可以是多个(",")隔开
*/
private String assignUser;

/**
* 指派负责人名称,可以是多个(",")隔开
*/
private String assignUserNames;

/**
* 指派负责人联系方式
*/
private String assignContact;

/**
* 指派指派备注
*/
private String assignNote;

/**
* 指派时间
*/
private Date assignTime;

/** /**
* 所在部门ID * 所在部门ID
*/ */
* 所在部门名称 * 所在部门名称
*/ */
private String deptName; private String deptName;

/**
* 更新人
*/
private String updateUser;

/**
* 更新时间
*/
private Date updateTime;
} }

Loading…
Откажи
Сачувај