Commit 61533585 authored by cq990612's avatar cq990612

优化代码结构

parent 2943e540
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 小程序待审批dto
*/
@Data
public class AppletsPendApprovalDto {
private Date workDay;
private List<WorkTimeOrderDto> workTimeOrderDto;
}
......@@ -26,7 +26,6 @@ public class ExamineGroupbyProjectDto {
@ApiModelProperty(name = "projectName",value = "项目名称")
private String projectName;
@ApiModelProperty(name = "userName",value = "用户名")
private String userName;
......
......@@ -2,6 +2,7 @@ package cn.wisenergy.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -44,6 +45,7 @@ public class WorkTimeOrderDto {
@ApiModelProperty(name = "workTime",value = "工时(整数)")
private Integer workTime;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay;
......
......@@ -72,6 +72,14 @@ public interface WorkTimeOrderService {
*/
PageResult<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status);
/**
* 功能:获取小程序待审批
* @param userId 用户id
* @param projectId 项目Id
* @param type 类型
* @return
*/
List<AppletsPendApprovalDto> getExamineApplets(Integer userId, Integer projectId, Integer type);
/**
* 功能:批量审批
......
......@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList;
import java.util.Arrays;
......@@ -63,8 +64,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private WorkUserProjectService workUserProjectService;
/**
* 功能; 获取某日被驳回说明
*
......@@ -152,7 +151,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
*/
@Transactional
@Override
public List<WorkTimeOrderDto> add(CreateWorkOrderDto dto) {
public List<WorkTimeOrderDto> add(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderServiceImpl[]add[]input.param.CreateWorkOrderDto:{}" + dto);
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
......@@ -196,7 +195,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
/**
* 功能:获取待审批数据
*
......@@ -216,23 +214,76 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null != page && null != size) {
return pageExamine(user, projectId, type, page, size, status);
}
PageResult<ExamineGroupbyProjectDto> pageResult = new PageResult<>();
type = null == type ? 5 : type;
// 部门经理审核
return null;
}
/**
* 功能:获取小程序待审批
*
* @param userId 用户id
* @param projectId 项目Id
* @param type 类型
* @return
*/
@Override
public List<AppletsPendApprovalDto> getExamineApplets(Integer userId, Integer projectId, Integer type) {
log.info("WorkOrderServiceImpl[]getExamineApplets[]input.param.userId:{},projectId:{},type:{}" + userId, projectId, type);
isManager(userId);
WorkUser user = workUserService.getById(userId);
// 项目经理
if (1 == user.getLevel()) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
projectId = projectId == null ? workProjectService.getByManagerId(userId).get(0).getId() : projectId;
wrapper.in("status", 1, 4);
wrapper.eq("project_id", projectId);
wrapper.orderByDesc("work_day");
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
return getDto(workTimeOrders);
}
// 部门经理
if (2 == user.getLevel()) {
Integer deptId = workUserDeptService.getDeptIdByUserId(userId);
type = null == type ? 5 : type;
Integer deptId = user.getDeptId();
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("dept_id", deptId);
wrapper.in("status", 1, 4);
wrapper.eq("type", type);
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
return pageResult.setRows(WorkTimeOrderTOEGPD(workTimeOrders));
return getDto(workTimeOrders);
}
return null;
}
// 项目经理审核
if (null == projectId) {
projectId = workUserProjectService.getProjectIdByUserId(userId).get(0);
private List<AppletsPendApprovalDto> getDto(List<WorkTimeOrder> workTimeOrders) {
List<AppletsPendApprovalDto> appletsPendApprovalDtos = new ArrayList<>();
Date date = workTimeOrders.get(0).getWorkDay();
AppletsPendApprovalDto dto = new AppletsPendApprovalDto();
dto.setWorkDay(date);
appletsPendApprovalDtos.add(dto);
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
if (date.compareTo(workTimeOrder.getWorkDay()) != 0) {
date = workTimeOrder.getWorkDay();
AppletsPendApprovalDto dto2 = new AppletsPendApprovalDto();
dto2.setWorkDay(workTimeOrder.getWorkDay());
appletsPendApprovalDtos.add(dto2);
}
return pageResult.setRows(getExamineGroupByProjectDto(projectId));
}
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
System.out.println(workTimeOrder);
}
for (AppletsPendApprovalDto approvalDto : appletsPendApprovalDtos) {
List<WorkTimeOrderDto> workTimeOrderList = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
if (approvalDto.getWorkDay().compareTo(workTimeOrder.getWorkDay()) == 0) {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
workTimeOrderList.add(workTimeOrderDto);
}
}
approvalDto.setWorkTimeOrderDto(workTimeOrderList);
}
return appletsPendApprovalDtos;
}
/**
......@@ -400,7 +451,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
timeNotEight(0, list);
}
......@@ -482,7 +532,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if ((1 == dto.getType() || 2 == dto.getType()) && null == dto.getProjectId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
dto.setProjectName(null!=dto.getProjectId()?workProjectService.getById(dto.getProjectId()).getProjectName():getTypeName(dto.getType()));
dto.setProjectName(null != dto.getProjectId() ? workProjectService.getById(dto.getProjectId()).getProjectName() : getTypeName(dto.getType()));
BeanUtils.copyProperties(dto, workTimeOrder);
......@@ -518,7 +568,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
// 审批分页
private PageResult<ExamineGroupbyProjectDto> pageExamine(WorkUser user, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},size:{},status:{}" + user, projectId, type, page, size, status);
......@@ -572,7 +621,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
private String getTypeName(Integer type) {
String[] str = { "项目", "商机", "请假", "调休", "外部商务、技术交流", "内部培训、技术准备、管理", "其他非项目/商机工作"};
String[] str = {"项目", "商机", "请假", "调休", "外部商务、技术交流", "内部培训、技术准备、管理", "其他非项目/商机工作"};
return str[--type];
}
......
......@@ -12,11 +12,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.beanutils.ConvertUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
......@@ -68,7 +71,6 @@ public class WorkTimeOrderController extends BaseController {
}
List<WorkTimeOrderDto> workOrderList = workTimeOrderService.add(dto);
return getResult(workOrderList);
}
@ApiOperation(value = "工时驳回重新填报", notes = "工时驳回重新填报", httpMethod = "PUT")
......@@ -83,11 +85,27 @@ public class WorkTimeOrderController extends BaseController {
return getResult(updateData);
}
@ApiOperation(value = "查询待审批", notes = "查询待审批", httpMethod = "GET")
@ApiOperation(value = "查询待审批(小程序)", notes = "查询待审批(小程序)", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "int", required = true),
@ApiImplicitParam(name = "projectId", value = "项目id,不给就默认项目", dataType = "int"), @ApiImplicitParam(name = "type", value = "给部门经理:工单类型type(5,6,7)", dataType = "int")
})
@GetMapping(value = "/getExamineApplets")
public Result<List<AppletsPendApprovalDto>> getExamineApplets(Integer userId, Integer projectId, Integer type) {
log.info("WorkTimeOrderController[]getExamineApplets[]input.param.userId:{},projectId:{},type:{}}" + userId, projectId, type);
if (null == userId) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<AppletsPendApprovalDto> examineApplets = workTimeOrderService.getExamineApplets(userId, projectId, type);
return getResult(examineApplets);
}
@ApiOperation(value = "查询待审批(PC端)", notes = "查询待审批(PC端)", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "int", required = true),
@ApiImplicitParam(name = "projectId", value = "项目id,不给就默认项目", dataType = "int"),
@ApiImplicitParam(name = "type", value = "部门经理:工单类型type(5,6,7)", dataType = "int"),
@ApiImplicitParam(name = "projectId", value = "项目id", dataType = "int"),
@ApiImplicitParam(name = "type", value = "部门经理:工单类型type(5,6,7)", dataType = "int"),
@ApiImplicitParam(name = "page", value = "PC端当前页", dataType = "int"),
@ApiImplicitParam(name = "size", value = "PC端一页多少条记录", dataType = "int"),
@ApiImplicitParam(name = "status", value = "PC端审批状态", dataType = "int"),
......@@ -102,6 +120,7 @@ public class WorkTimeOrderController extends BaseController {
return getResult(examines);
}
@ApiOperation(value = "查询用户的所有项目和部门经理", notes = "查询用户的所有项目和部门经理", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "int", required = true)
@GetMapping(value = "/getProject")
......@@ -120,16 +139,23 @@ public class WorkTimeOrderController extends BaseController {
}
@ApiOperation(value = "单个或批量审批", notes = "单个或批量审批", httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true),
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "工单id", dataType = "String", required = true),
@ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true)})
@GetMapping(value = "/examine")
public Result<Boolean> examineByIds(Integer reviewerId,@RequestBody List<Integer> ids) {
public Result<Boolean> examineByIds(Integer reviewerId, String ids) {
log.info("WorkTimeOrderController[]examineByIds[]input.param.reviewerId:{},ids:{}" + reviewerId, ids);
if (null == reviewerId || CollectionUtils.isEmpty(ids)) {
if (null == reviewerId || StringUtils.isEmpty(ids)) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
Boolean aBoolean = workTimeOrderService.examineByIds(reviewerId, ids);
String[] split = ids.split("\\,");
System.out.println("我是传进来的数据:" + ids);
Integer[] newIds = (Integer[]) ConvertUtils.convert(split, Integer.class);
List<Integer> lists = new ArrayList<>(Arrays.asList(newIds));
System.out.println(lists);
Boolean aBoolean = workTimeOrderService.examineByIds(reviewerId, lists);
return getResult(aBoolean);
// return null;
}
@ApiOperation(value = "工单驳回", notes = "工单驳回", httpMethod = "PUT")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment