Commit 185fbb16 authored by cq990612's avatar cq990612

优化代码结构

parent dd280035
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkOrderChange; import cn.wisenergy.model.app.WorkOrderChange;
import cn.wisenergy.model.dto.WorkOrderChangeLogDto;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface WorkOrderChangeMapper extends BaseMapper<WorkOrderChange> { public interface WorkOrderChangeMapper extends BaseMapper<WorkOrderChange> {
List<WorkOrderChangeLogDto> getWorkOrderChangeLogDto(OrderChangeLogVo vo);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ManagerProjectsDto; import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.dto.OrderChangeTypeDto;
import cn.wisenergy.model.vo.ModifyProjectVo; import cn.wisenergy.model.vo.ModifyProjectVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -62,4 +63,9 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> { ...@@ -62,4 +63,9 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> {
* @return * @return
*/ */
String getLastDate(Integer projectId); String getLastDate(Integer projectId);
/**
* 工单变更,获取管理员所管理的项目/商机和参与人员
*/
List<OrderChangeTypeDto> getOrderChangeTypeDtos(Integer userId);
} }
...@@ -3,7 +3,29 @@ ...@@ -3,7 +3,29 @@
<mapper namespace="cn.wisenergy.mapper.WorkOrderChangeMapper"> <mapper namespace="cn.wisenergy.mapper.WorkOrderChangeMapper">
<select id="getWorkOrderChangeLogDto" resultType="cn.wisenergy.model.dto.WorkOrderChangeLogDto">
select oc.change_date,CASE oc.content when 1 THEN '新增工单' when 2 THEN '删除工单' when 3 then '修改工单' end as 'content'
,oc.u1.name 'operator',d.dept_name,if(oc.project_id is null,t.name,p.project_name) 'project_name',
oc.work_day,u2.name 'user_name',oc.work_time,oc.des,oc.change_reason
from work_order_change oc LEFT JOIN work_dept d ON oc.dept_id = d.id
LEFT JOIN work_project p ON oc.project_id = p.id
LEFT JOIN work_type t ON oc.type = t.id
LEFT JOIN (SELECT id,name FROM work_user ) u1 ON u1.id =oc.operator_id
LEFT JOIN (SELECT id,name FROM work_user ) u2 ON u2.id =oc.user_id
<where>
<if test="startDate !=null">
AND oc.change_date >= #{startDate}
</if>
<if test="endDate !=null">
AND oc.change_date &lt;= #{endDate}
</if>
<if test="userName !=null">
AND u2.name like concat('%',#{userName},'%')
</if>
<if test="deptId !=null">
AND oc.dept_id = #{deptId}
</if>
</where>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -270,5 +270,37 @@ ...@@ -270,5 +270,37 @@
p.id = #{projectId} p.id = #{projectId}
</select> </select>
<resultMap id="orderChangeType" type="cn.wisenergy.model.dto.OrderChangeTypeDto">
<id column="type" property="type"/>
<result column="type_name" property="typeName"/>
<collection property="orderChangeProjectDtos" ofType="cn.wisenergy.model.dto.OrderChangeProjectDto">
<id column="project_id" property="projectId"/>
<result column="project_name" property="projectName"/>
<collection property="deptUserDtos" resultMap = "deptUserDto"/>
</collection>
</resultMap>
<resultMap id="deptUserDto" type="cn.wisenergy.model.dto.DeptUserDto">
<id column="dept_id" property="deptId"/>
<result column="dept_name" property="deptName"/>
<collection property="userDtos" ofType="cn.wisenergy.model.dto.UserDto">
<id column="user_id" property="id"/>
<result column="user_name" property="name"/>
</collection>
</resultMap>
<select id="getOrderChangeTypeDtos" resultMap="orderChangeType">
select p.type,t.name 'type_name',p.id 'project_id',p.project_name,up.user_id,u.name 'user_name',u.dept_id,d.dept_name
from work_project p LEFT JOIN work_user_project up on p.id = up.project_id
LEFT JOIN work_user u ON up.user_id = u.id
LEFT JOIN work_dept d ON d.id = u.dept_id
LEFT JOIN work_type t ON p.type = t.id
<where>
<if test="userId !=null">
AND p.manager_id = #{userId}
</if>
</where>
</select>
</mapper> </mapper>
...@@ -15,6 +15,5 @@ public class DeptUserDto { ...@@ -15,6 +15,5 @@ public class DeptUserDto {
private String deptName; private String deptName;
private List<UserDto> userDtos; private List<UserDto> userDtos;
} }
package cn.wisenergy.model.dto; package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List; import java.util.List;
/** /**
* @Authotr:陈奇 * @Authotr:陈奇
* @QQ1799796883 * @QQ1799796883
*/ */
@Data
public class OrderChangeProjectDto { public class OrderChangeProjectDto {
private Integer projectId; private Integer projectId;
private String projectName; private String projectName;
private List<UserDto> userDtos; private List<DeptUserDto> deptUserDtos;
} }
...@@ -15,7 +15,7 @@ public class OrderChangeTypeDto { ...@@ -15,7 +15,7 @@ public class OrderChangeTypeDto {
private String typeName; private String typeName;
private List<UserDto> userDtos; private List<DeptUserDto> deptUserDtos;
private List<OrderChangeTypeDto> orderChangeTypeDtos; private List<OrderChangeProjectDto> orderChangeProjectDtos;
} }
package cn.wisenergy.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class WorkOrderChangeLogDto {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "changeDate",value = "变更日期")
private Date changeDate;
@ApiModelProperty(name = "content",value = "操作内容")
private String content;
@ApiModelProperty(name = "operator",value = "操作人")
private String operator;
@ApiModelProperty(name = "deptName",value = "操作人部门")
private String deptName;
@ApiModelProperty(name = "projectName",value = "项目名称")
private String projectName;
@ApiModelProperty(name = "type",value = "工时类型")
private Integer type;
@ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay;
@ApiModelProperty(name = "userName",value = "填报人")
private String userName;
@ApiModelProperty(name = "workTime",value = "工时")
private Integer workTime;
@ApiModelProperty(name = "des",value = "工作说明")
private String des;
@ApiModelProperty(name = "changeReason",value = "修改原因")
private String changeReason;
}
package cn.wisenergy.model.vo;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeLogVo {
private Integer page;
private Integer pageSize;
private Date startDate;
private Date endDate;
private String userName;
private Integer deptId;
private Integer userId;
}
...@@ -28,4 +28,6 @@ public class OrderChangeManagerVo { ...@@ -28,4 +28,6 @@ public class OrderChangeManagerVo {
private Integer pageSize; private Integer pageSize;
private Integer userId;
} }
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import com.github.pagehelper.PageInfo;
/** /**
* @Authotr:陈奇 * @Authotr:陈奇
* @QQ1799796883 * @QQ1799796883
*/ */
public interface WorkOrderChangeService { public interface WorkOrderChangeService {
PageInfo getOrderChangeLogPage(OrderChangeLogVo vo);
} }
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType; import cn.wisenergy.model.dto.OrderChangeDto;
import cn.wisenergy.model.dto.ProjectDto; import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.CreateProjectVo; import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
...@@ -76,5 +76,5 @@ public interface WorkProjectService { ...@@ -76,5 +76,5 @@ public interface WorkProjectService {
* 获取管理员所管理的项目+后五种类型/所属部门(工单变更) * 获取管理员所管理的项目+后五种类型/所属部门(工单变更)
* @param userId 管理员id * @param userId 管理员id
*/ */
List<DeptOfProjectAndOrderType> getProjectAndOrderTypeAndDept(Integer userId); OrderChangeDto getProjectAndOrderTypeAndDept(Integer userId);
} }
...@@ -3,6 +3,7 @@ package cn.wisenergy.service; ...@@ -3,6 +3,7 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto; import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.OrganizationDto; import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.ResultUser;
import cn.wisenergy.model.vo.GetUserListVo; import cn.wisenergy.model.vo.GetUserListVo;
...@@ -51,6 +52,8 @@ public interface WorkUserService { ...@@ -51,6 +52,8 @@ public interface WorkUserService {
*/ */
ResultUser changePassword(Integer userId, String oldPassword, String newPassword); ResultUser changePassword(Integer userId, String oldPassword, String newPassword);
List<OrganizationStructureDto> getOrganizationStructureDtos();
/** /**
* 获取组织架构 * 获取组织架构
* @return * @return
......
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkOrderChangeMapper;
import cn.wisenergy.model.dto.WorkOrderChangeLogDto;
import cn.wisenergy.model.enums.LevelEnum;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import cn.wisenergy.service.WorkOrderChangeService; import cn.wisenergy.service.WorkOrderChangeService;
import cn.wisenergy.service.utils.UserRoleLevelUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @Authotr:陈奇 * @Authotr:陈奇
* @QQ1799796883 * @QQ1799796883
...@@ -12,5 +24,25 @@ import org.springframework.stereotype.Service; ...@@ -12,5 +24,25 @@ import org.springframework.stereotype.Service;
@Slf4j @Slf4j
public class WorkOrderChangeImpl implements WorkOrderChangeService { public class WorkOrderChangeImpl implements WorkOrderChangeService {
@Autowired
private WorkOrderChangeMapper workOrderChangeMapper;
@Override
public PageInfo getOrderChangeLogPage(OrderChangeLogVo vo) {
log.info("WorkOrderChangeImpl[]getOrderChangeLogPage[]input.param.OrderChangeLogVo:{}", vo);
vo.setPage(null == vo.getPage() ? 1 : vo.getPage());
vo.setPageSize(null == vo.getPageSize() ? 10 : vo.getPageSize());
if (null == vo || null == vo.getUserId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<Integer> ranks = UserRoleLevelUtils.getRankByUserAndLevelName(vo.getUserId(), LevelEnum.WORKORDER_CHANGERECORD.getLevelName());
// 分权限查询 TODO
PageHelper.startPage(vo.getPage(), vo.getPageSize());
List<WorkOrderChangeLogDto> workOrderChangeLogDto = workOrderChangeMapper.getWorkOrderChangeLogDto(vo);
PageInfo<WorkOrderChangeLogDto> pageInfo = new PageInfo<>(workOrderChangeLogDto);
pageInfo.setList(workOrderChangeLogDto);
return pageInfo;
}
} }
...@@ -28,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -28,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -572,11 +569,12 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -572,11 +569,12 @@ public class WorkProjectServiceImpl implements WorkProjectService {
* @param userId 管理员id * @param userId 管理员id
*/ */
@Override @Override
public List<DeptOfProjectAndOrderType> getProjectAndOrderTypeAndDept(Integer userId) { public OrderChangeDto getProjectAndOrderTypeAndDept(Integer userId) {
log.info("WorkProjectServiceImpl[]getProjectAndOrderTypeAndDept[]input.param.userId:{}" + userId); log.info("WorkProjectServiceImpl[]getProjectAndOrderTypeAndDept[]input.param.userId:{}" + userId);
if (null == userId) { if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
OrderChangeDto orderChangeDto = new OrderChangeDto();
WorkUser user = workUserService.getById(userId); WorkUser user = workUserService.getById(userId);
WorkDept dept = workDeptService.getById(user.getDeptId()); WorkDept dept = workDeptService.getById(user.getDeptId());
List<Integer> ranks = UserRoleLevelUtils.getRankByUserAndLevelName(userId, LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName()); List<Integer> ranks = UserRoleLevelUtils.getRankByUserAndLevelName(userId, LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName());
...@@ -590,7 +588,7 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -590,7 +588,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
if (!CollectionUtils.isEmpty(workTypeServiceAll)) { if (!CollectionUtils.isEmpty(workTypeServiceAll)) {
for (WorkType workType : workTypeServiceAll) { for (WorkType workType : workTypeServiceAll) {
if (1 !=workType.getReviewer()) { if (1 != workType.getReviewer()) {
ProjectManagerDto projectManagerDto = new ProjectManagerDto(); ProjectManagerDto projectManagerDto = new ProjectManagerDto();
projectManagerDto.setType(workType.getId()); projectManagerDto.setType(workType.getId());
projectManagerDto.setTypeName(workType.getName()); projectManagerDto.setTypeName(workType.getName());
...@@ -607,13 +605,35 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -607,13 +605,35 @@ public class WorkProjectServiceImpl implements WorkProjectService {
projectAndOrderType.getProjectManagerDtos().addAll(projectManagerDtos); projectAndOrderType.getProjectManagerDtos().addAll(projectManagerDtos);
} }
} }
return projectAndOrderTypes; orderChangeDto.setProjectAndOrderTypes(projectAndOrderTypes);
// 组织架构
List<OrderChangeTypeDto> orderChangeTypeDtos = workProjectMapper.getOrderChangeTypeDtos(null);
List<DeptUserDto> deptUserDtos = workUserService.getOrganizationStructureDtos().get(0).getDeptUserDtos();
List<WorkType> workTypeServiceAll1 = workTypeService.getAll(1);
for (WorkType workType : workTypeServiceAll1) {
// 不是项目和商机
if (1 != workType.getReviewer()) {
OrderChangeTypeDto orderChangeTypeDto = new OrderChangeTypeDto();
orderChangeTypeDto.setType(workType.getId());
orderChangeTypeDto.setTypeName(workType.getName());
orderChangeTypeDto.setDeptUserDtos(deptUserDtos);
orderChangeTypeDtos.add(orderChangeTypeDto);
System.out.println(orderChangeTypeDto);
}
}
orderChangeDto.setOrderChangeTypeDtos(orderChangeTypeDtos);
return orderChangeDto;
} }
} }
List<OrderChangeTypeDto> orderChangeTypeDtos = new ArrayList<>();
for (Integer rank : ranks) { for (Integer rank : ranks) {
// 项目级 // 项目级
if (LevelRankEnum.PROJECT_LEVEL.getRank().equals(rank)) { if (LevelRankEnum.PROJECT_LEVEL.getRank().equals(rank)) {
projectAndOrderTypes= workDeptService.getDeptOfProjectAndOrderType(userId); projectAndOrderTypes = workDeptService.getDeptOfProjectAndOrderType(userId);
// 组织架构
orderChangeTypeDtos = workProjectMapper.getOrderChangeTypeDtos(userId);
break;
} }
} }
for (Integer rank : ranks) { for (Integer rank : ranks) {
...@@ -625,17 +645,39 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -625,17 +645,39 @@ public class WorkProjectServiceImpl implements WorkProjectService {
projectAndOrderType.getProjectManagerDtos().addAll(projectManagerDtos); projectAndOrderType.getProjectManagerDtos().addAll(projectManagerDtos);
} }
} }
}else{ } else {
DeptOfProjectAndOrderType projectAndOrderType = new DeptOfProjectAndOrderType(); DeptOfProjectAndOrderType projectAndOrderType = new DeptOfProjectAndOrderType();
projectAndOrderType.setDeptId(user.getDeptId()); projectAndOrderType.setDeptId(user.getDeptId());
projectAndOrderType.setDeptName(dept.getDeptName()); projectAndOrderType.setDeptName(dept.getDeptName());
projectAndOrderType.setProjectManagerDtos(projectManagerDtos); projectAndOrderType.setProjectManagerDtos(projectManagerDtos);
projectAndOrderTypes.add(projectAndOrderType); projectAndOrderTypes.add(projectAndOrderType);
} }
// 组织架构
List<DeptUserDto> deptUserDtos = workUserService.getOrganizationStructureDtos().get(0).getDeptUserDtos();
List<WorkType> workTypeServiceAll1 = workTypeService.getAll(1);
List<DeptUserDto> deptUserDtoList = new ArrayList<>();
for (DeptUserDto deptUserDto : deptUserDtos) {
if (deptUserDto.getDeptId().equals(user.getDeptId())) {
deptUserDtoList.add(deptUserDto);
}
}
for (WorkType workType : workTypeServiceAll1) {
// 不是项目和商机
if (1 != workType.getReviewer()) {
OrderChangeTypeDto orderChangeTypeDto = new OrderChangeTypeDto();
orderChangeTypeDto.setTypeName(workType.getName());
orderChangeTypeDto.setType(workType.getId());
orderChangeTypeDto.setDeptUserDtos(deptUserDtoList);
orderChangeTypeDtos.add(orderChangeTypeDto);
}
}
break;
} }
} }
return projectAndOrderTypes; orderChangeDto.setProjectAndOrderTypes(projectAndOrderTypes);
orderChangeDto.setOrderChangeTypeDtos(orderChangeTypeDtos);
return orderChangeDto;
} }
private PageInfo<ManagerProjectsDto> returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) { private PageInfo<ManagerProjectsDto> returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) {
......
...@@ -320,6 +320,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -320,6 +320,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<WorkProject> projectsByIds = workProjectMapper.getProjectsByIds(null, 0); List<WorkProject> projectsByIds = workProjectMapper.getProjectsByIds(null, 0);
if (!CollectionUtils.isEmpty(projectsByIds)) { if (!CollectionUtils.isEmpty(projectsByIds)) {
for (WorkTimeOrderDto workTimeOrder : workTimeOrders) { for (WorkTimeOrderDto workTimeOrder : workTimeOrders) {
if (StatusEnum.APPROVED.getCode().equals(workTimeOrder.getStatus()) || StatusEnum.AUTOMATIC_AUDIT.getCode().equals(workTimeOrder.getStatus())) {
continue;
}
if (workTimeOrder.getType().equals(1) || workTimeOrder.getType().equals(2)) { if (workTimeOrder.getType().equals(1) || workTimeOrder.getType().equals(2)) {
for (WorkProject projectsById : projectsByIds) { for (WorkProject projectsById : projectsByIds) {
if (projectsById.getId().equals(workTimeOrder.getProjectId())) { if (projectsById.getId().equals(workTimeOrder.getProjectId())) {
...@@ -1067,12 +1070,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1067,12 +1070,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Override @Override
public PageInfo<OrderChangePageDto> getOrderChangePage(OrderChangeManagerVo vo) { public PageInfo<OrderChangePageDto> getOrderChangePage(OrderChangeManagerVo vo) {
log.info("WorkOrderServiceImpl[]getOrderChangePage[]input.param.OrderChangeManagerVo" + vo); log.info("WorkOrderServiceImpl[]getOrderChangePage[]input.param.OrderChangeManagerVo" + vo);
if (null == vo) { if (null == vo || null == vo.getUserId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
if (null == vo.getProjectId() && null == vo.getType()) { if (null == vo.getProjectId() && null == vo.getType()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.PLEASESELECTANITEM); throw new BaseCustomException(BASE_RESP_CODE_ENUM.PLEASESELECTANITEM);
} }
if (!UserRoleLevelUtils.isManagerLevel(vo.getUserId(), LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
vo.setPage(null == vo.getPage() ? 1 : vo.getPage()); vo.setPage(null == vo.getPage() ? 1 : vo.getPage());
vo.setPageSize(null == vo.getPageSize() ? 10 : vo.getPageSize()); vo.setPageSize(null == vo.getPageSize() ? 10 : vo.getPageSize());
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
...@@ -1097,6 +1103,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1097,6 +1103,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkTimeOrderServiceImpl[]createOrderChange[]input.param.OrderChangeVo:{}" + vo); log.info("WorkTimeOrderServiceImpl[]createOrderChange[]input.param.OrderChangeVo:{}" + vo);
// 1.判断参数是否为空 // 1.判断参数是否为空
OrderChangeVoIsNull(vo, false); OrderChangeVoIsNull(vo, false);
// 2.是否超过8小时 // 2.是否超过8小时
int totalTime = vo.getWorkTime(); int totalTime = vo.getWorkTime();
List<WorkTimeOrder> workTimeOrders = getByDay(vo.getUserId(), vo.getWorkDay()); List<WorkTimeOrder> workTimeOrders = getByDay(vo.getUserId(), vo.getWorkDay());
...@@ -1159,7 +1166,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1159,7 +1166,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 判断是否是同一天 // 判断是否是同一天
if (vo.getWorkDay().compareTo(workTimeOrderOld.getWorkDay()) == 0) { if (vo.getWorkDay().compareTo(workTimeOrderOld.getWorkDay()) == 0) {
insertWorkCollect(vo, totalTime, false, false, null); insertWorkCollect(vo, totalTime, false, false, null);
}else { } else {
// 6.修改或插入workCollect表 // 6.修改或插入workCollect表
insertWorkCollect(vo, totalTime, CollectionUtils.isEmpty(workTimeOrders), false, null); insertWorkCollect(vo, totalTime, CollectionUtils.isEmpty(workTimeOrders), false, null);
// 7.修改或删除原workCollect表 // 7.修改或删除原workCollect表
...@@ -1186,6 +1193,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1186,6 +1193,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == workId || null == operator) { if (null == workId || null == operator) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
if (!UserRoleLevelUtils.isManagerLevel(operator, LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
// 查询原工单 // 查询原工单
WorkTimeOrder workTimeOrder = workTimeOrderMapper.selectById(workId); WorkTimeOrder workTimeOrder = workTimeOrderMapper.selectById(workId);
OrderChangeVo vo = new OrderChangeVo(); OrderChangeVo vo = new OrderChangeVo();
...@@ -1207,6 +1218,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1207,6 +1218,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workOrderChange.setType(vo.getType()); workOrderChange.setType(vo.getType());
} else { } else {
workOrderChange.setProjectId(vo.getProjectId()); workOrderChange.setProjectId(vo.getProjectId());
workOrderChange.setType(vo.getType());
} }
int insert = workOrderChangeMapper.insert(workOrderChange); int insert = workOrderChangeMapper.insert(workOrderChange);
if (insert == 0) { if (insert == 0) {
...@@ -1240,7 +1252,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1240,7 +1252,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == workTimeOrderOld) { if (null == workTimeOrderOld) {
workCollect.setUserId(vo.getUserId()).setWorkDay(vo.getWorkDay()).setTotalTime(totalTime).setStatus(i); workCollect.setUserId(vo.getUserId()).setWorkDay(vo.getWorkDay()).setTotalTime(totalTime).setStatus(i);
}else { } else {
workCollect.setUserId(workTimeOrderOld.getUserId()).setWorkDay(workTimeOrderOld.getWorkDay()).setTotalTime(totalTime).setStatus(i); workCollect.setUserId(workTimeOrderOld.getUserId()).setWorkDay(workTimeOrderOld.getWorkDay()).setTotalTime(totalTime).setStatus(i);
} }
Boolean aBoolean; Boolean aBoolean;
...@@ -1261,10 +1273,13 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1261,10 +1273,13 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 判断新增的工单变更是否为空 // 判断新增的工单变更是否为空
private void OrderChangeVoIsNull(OrderChangeVo vo, Boolean workIdIsNeed) { private void OrderChangeVoIsNull(OrderChangeVo vo, Boolean workIdIsNeed) {
if (null == vo || (null == vo.getProjectId() && null == vo.getType()) if (null == vo || null == vo.getUserId() || (null == vo.getProjectId() && null == vo.getType())
|| null == vo.getWorkDay() || null == vo.getWorkTime() || StringUtils.isBlank(vo.getDes()) || StringUtils.isBlank(vo.getChangeReason())) { || null == vo.getWorkDay() || null == vo.getWorkTime() || StringUtils.isBlank(vo.getDes()) || StringUtils.isBlank(vo.getChangeReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
if (!UserRoleLevelUtils.isManagerLevel(vo.getUserId(), LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
if (workIdIsNeed && null == vo.getWorkId()) { if (workIdIsNeed && null == vo.getWorkId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} else if (null == vo.getUserId()) { } else if (null == vo.getUserId()) {
......
...@@ -124,30 +124,7 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -124,30 +124,7 @@ public class WorkUserServiceImpl implements WorkUserService {
public OrganizationDto getOrganizationStructure() { public OrganizationDto getOrganizationStructure() {
log.info("WorkUserServiceImpl[]getOrganizationStructure[]"); log.info("WorkUserServiceImpl[]getOrganizationStructure[]");
OrganizationDto organizationDto = new OrganizationDto(); OrganizationDto organizationDto = new OrganizationDto();
PageHelper.clearPage(); List<OrganizationStructureDto> allDeptByAllCentreId = getOrganizationStructureDtos();
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1);
wrapper.orderByAsc("CONVERT( name USING gbk )");
List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
UserDto userDto;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<UserDto> userDtos = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
userDto = getUserDto(workUser);
userDtos.add(userDto);
}
}
deptUserDto.setUserDtos(userDtos);
}
}
organizationDto.setOrganizationStructureDtos(allDeptByAllCentreId); organizationDto.setOrganizationStructureDtos(allDeptByAllCentreId);
List<WorkUser> users = workUserRoleMapper.getUserRoleDeptDtoByRoleId(1); List<WorkUser> users = workUserRoleMapper.getUserRoleDeptDtoByRoleId(1);
...@@ -172,6 +149,33 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -172,6 +149,33 @@ public class WorkUserServiceImpl implements WorkUserService {
return organizationDto; return organizationDto;
} }
@Override
public List<OrganizationStructureDto> getOrganizationStructureDtos() {
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1);
wrapper.orderByAsc("CONVERT( name USING gbk )");
List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
UserDto userDto;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<UserDto> userDtos = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
userDto = getUserDto(workUser);
userDtos.add(userDto);
}
}
deptUserDto.setUserDtos(userDtos);
}
}
return allDeptByAllCentreId;
}
@Override @Override
public AllRoleAndUserRoleDto getUserRoleDto(GetUserListVo getUserListVo) { public AllRoleAndUserRoleDto getUserRoleDto(GetUserListVo getUserListVo) {
......
...@@ -3,7 +3,7 @@ package cn.wisenergy.web.admin.controller.app; ...@@ -3,7 +3,7 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.app.WorkProjectChange; import cn.wisenergy.model.app.WorkProjectChange;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType; import cn.wisenergy.model.dto.OrderChangeDto;
import cn.wisenergy.model.vo.CreateProjectVo; import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo; import cn.wisenergy.model.vo.ModifyProjectVo;
...@@ -105,8 +105,8 @@ public class WorkProjectController extends BaseController { ...@@ -105,8 +105,8 @@ public class WorkProjectController extends BaseController {
@GetMapping("/getProjectAndTypeAndDept") @GetMapping("/getProjectAndTypeAndDept")
public Result getProjectAndOrderTypeAndDept(Integer userId) { public Result getProjectAndOrderTypeAndDept(Integer userId) {
log.info("WorkProjectController[]getProjectAndOrderTypeAndDept[]input.param.userId" + userId); log.info("WorkProjectController[]getProjectAndOrderTypeAndDept[]input.param.userId" + userId);
List<DeptOfProjectAndOrderType> projectAndOrderTypeAndDept = workProjectService.getProjectAndOrderTypeAndDept(userId); OrderChangeDto orderChangeDto = workProjectService.getProjectAndOrderTypeAndDept(userId);
return getResult(projectAndOrderTypeAndDept); return getResult(orderChangeDto);
} }
......
...@@ -6,8 +6,10 @@ import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM; ...@@ -6,8 +6,10 @@ import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkTimeOrder; import cn.wisenergy.model.app.WorkTimeOrder;
import cn.wisenergy.model.dto.*; import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import cn.wisenergy.model.vo.OrderChangeManagerVo; import cn.wisenergy.model.vo.OrderChangeManagerVo;
import cn.wisenergy.model.vo.OrderChangeVo; import cn.wisenergy.model.vo.OrderChangeVo;
import cn.wisenergy.service.WorkOrderChangeService;
import cn.wisenergy.service.WorkTimeOrderService; import cn.wisenergy.service.WorkTimeOrderService;
import cn.wisenergy.web.admin.controller.common.BaseController; import cn.wisenergy.web.admin.controller.common.BaseController;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -33,6 +35,9 @@ public class WorkTimeOrderController extends BaseController { ...@@ -33,6 +35,9 @@ public class WorkTimeOrderController extends BaseController {
@Autowired @Autowired
private WorkTimeOrderService workTimeOrderService; private WorkTimeOrderService workTimeOrderService;
@Autowired
private WorkOrderChangeService workOrderChangeService;
@ApiOperation(value = "获取某日工单详情", notes = "获取某日工单详情", httpMethod = "GET") @ApiOperation(value = "获取某日工单详情", notes = "获取某日工单详情", httpMethod = "GET")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -209,6 +214,13 @@ public class WorkTimeOrderController extends BaseController { ...@@ -209,6 +214,13 @@ public class WorkTimeOrderController extends BaseController {
return getResult(aBoolean); return getResult(aBoolean);
} }
@ApiOperation(value = "工单变更记录分页",notes = "工单变更记录分页",httpMethod = "POST")
@ApiImplicitParam(name = "vo", value = "工单变更记录分页条件vo",dataType = "OrderChangeLogVo")
@PostMapping("/orderChangeLogPage")
public Result orderChangeLogPage(@RequestBody OrderChangeLogVo vo) {
log.info("WorkTimeOrderController[]OrderChangeLogPage[]input.param.OrderChangeLogVo:{}" + vo);
PageInfo orderChangeLogPage = workOrderChangeService.getOrderChangeLogPage(vo);
return getResult(orderChangeLogPage);
}
} }
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