Commit c85b3042 authored by cq990612's avatar cq990612

优化代码结构

parent c5d914e4
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
LEFT JOIN (SELECT id,name FROM work_user ) u1 ON u1.id =oc.operator_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 LEFT JOIN (SELECT id,name FROM work_user ) u2 ON u2.id =oc.user_id
<where> <where>
<if test="projectIds !=null and projectIds.size()>0">
<if test="startDate !=null"> <if test="startDate !=null">
AND oc.change_date >= #{startDate} AND oc.change_date >= #{startDate}
</if> </if>
...@@ -23,20 +24,20 @@ ...@@ -23,20 +24,20 @@
AND (u2.name like concat('%',#{userName},'%') AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%')) OR u1.name like concat('%',#{userName},'%'))
</if> </if>
<if test="projectIds !=null and projectIds.size>0">
AND oc.project_id IN AND oc.project_id IN
<foreach collection="projectIds" item="projectId" separator="," open="(" close=")"> <foreach collection="projectIds" item="projectId" separator="," open="(" close=")">
#{projectId} #{projectId}
</foreach> </foreach>
</if> </if>
<if test="types !=null and types.size>0"> <if test="types !=null and types.size()>0">
OR (oc.type IN OR (oc.type IN
<foreach collection="types" item="type" separator="," open="(" close=")"> <foreach collection="types" item="type" separator="," open="(" close=")">
#{type} #{type}
</foreach> </foreach>
<if test="deptIds !=null and deptIds.size>0"> <if test="deptIds !=null and deptIds.size()>0">
AND oc.dept_id IN AND oc.dept_id IN
<foreach collection="deptIds" item="deptId" separator="," open="(" close=")"> <foreach collection="deptIds" item="deptId" separator="," open="(" close=")">
#{deptId} #{deptId}
......
...@@ -465,7 +465,7 @@ ...@@ -465,7 +465,7 @@
</select> </select>
<select id="getOrderChangePage" resultType="cn.wisenergy.model.dto.OrderChangePageDto"> <select id="getOrderChangePage" resultType="cn.wisenergy.model.dto.OrderChangePageDto">
select o.project_id,p.project_name,u.name 'user_name',o.work_day, select o.work_id,o.project_id,p.project_name,u.name 'user_name',o.work_day,
o.work_time,t.name 'type_name',o.des,o.status o.work_time,t.name 'type_name',o.des,o.status
from work_time_order o LEFT JOIN work_type t on o.type = t.id from work_time_order o LEFT JOIN work_type t on o.type = t.id
LEFT JOIN work_user u on o.user_id = u.id LEFT JOIN work_user u on o.user_id = u.id
...@@ -474,11 +474,11 @@ ...@@ -474,11 +474,11 @@
<if test="projectId !=null"> <if test="projectId !=null">
AND o.project_id = #{projectId} AND o.project_id = #{projectId}
</if> </if>
<if test="type !=null "> <if test="type !=null and type>2 ">
AND o.type = #{type} AND o.type = #{type}
</if> <if test="deptId !=null">
<if test="deptId !=null"> AND o.dept_id = #{deptId}
AND o.dept_id = #{deptId} </if>
</if> </if>
<if test="startDate !=null"> <if test="startDate !=null">
AND o.work_day >= #{startDate} AND o.work_day >= #{startDate}
......
...@@ -12,6 +12,9 @@ import java.util.Date; ...@@ -12,6 +12,9 @@ import java.util.Date;
@Data @Data
public class OrderChangePageDto { public class OrderChangePageDto {
private Integer workId;
private Integer projectId; private Integer projectId;
private String projectName; private String projectName;
......
...@@ -2,6 +2,7 @@ package cn.wisenergy.model.dto; ...@@ -2,6 +2,7 @@ package cn.wisenergy.model.dto;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -18,6 +19,7 @@ public class WorkOrderChangeLogDto { ...@@ -18,6 +19,7 @@ public class WorkOrderChangeLogDto {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "changeDate",value = "变更日期") @ApiModelProperty(name = "changeDate",value = "变更日期")
private Date changeDate; private Date changeDate;
...@@ -36,6 +38,7 @@ public class WorkOrderChangeLogDto { ...@@ -36,6 +38,7 @@ public class WorkOrderChangeLogDto {
@ApiModelProperty(name = "type",value = "工时类型") @ApiModelProperty(name = "type",value = "工时类型")
private Integer type; private Integer type;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "workDay",value = "工单日期") @ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay; private Date workDay;
......
...@@ -93,7 +93,7 @@ public class WorkOrderChangeImpl implements WorkOrderChangeService { ...@@ -93,7 +93,7 @@ public class WorkOrderChangeImpl implements WorkOrderChangeService {
deptIds.add(vo.getDeptId()); deptIds.add(vo.getDeptId());
} }
} }
BeanUtils.copyProperties(mapperDto,vo); BeanUtils.copyProperties(vo,mapperDto);
mapperDto.setProjectIds(projectIds); mapperDto.setProjectIds(projectIds);
mapperDto.setDeptIds(new ArrayList<>(deptIds)); mapperDto.setDeptIds(new ArrayList<>(deptIds));
mapperDto.setTypes(new ArrayList<>(types)); mapperDto.setTypes(new ArrayList<>(types));
......
...@@ -4,10 +4,7 @@ import cn.wisenergy.common.utils.DateUtil; ...@@ -4,10 +4,7 @@ import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.DateUtils; import cn.wisenergy.common.utils.DateUtils;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkOrderChangeMapper; import cn.wisenergy.mapper.*;
import cn.wisenergy.mapper.WorkProjectMapper;
import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*; import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.LevelEnum; import cn.wisenergy.model.enums.LevelEnum;
...@@ -1146,14 +1143,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1146,14 +1143,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkTimeOrderServiceImpl[]updateOrderChange[]input.param.OrderChangeVo:{}" + vo); log.info("WorkTimeOrderServiceImpl[]updateOrderChange[]input.param.OrderChangeVo:{}" + vo);
// 1.判断参数是否为空 // 1.判断参数是否为空
OrderChangeVoIsNull(vo, true); OrderChangeVoIsNull(vo, true);
List<WorkTimeOrder> workTimeOrders = getByDay(vo.getUserId(), vo.getWorkDay()); // 2.获取原工单
// 2.判断是否超过8小时 WorkTimeOrder workTimeOrderOld = workTimeOrderMapper.selectById(vo.getWorkId());
List<WorkTimeOrder> workTimeOrders = getByDay(workTimeOrderOld.getUserId(), vo.getWorkDay());
vo.setUserId(workTimeOrderOld.getUserId());
vo.setProjectId(workTimeOrderOld.getProjectId());
vo.setType(workTimeOrderOld.getType());
// 3.判断是否超过8小时
int totalTime = vo.getWorkTime(); int totalTime = vo.getWorkTime();
if (!CollectionUtils.isEmpty(workTimeOrders)) { if (!CollectionUtils.isEmpty(workTimeOrders)) {
workTimeOrders.removeIf(workTimeOrder -> workTimeOrder.getWorkId().equals(vo.getWorkId())); workTimeOrders.removeIf(workTimeOrder -> workTimeOrder.getWorkId().equals(vo.getWorkId()));
} }
totalTime = timeNotEight(totalTime, workTimeOrders); totalTime = timeNotEight(totalTime, workTimeOrders);
// 3.判断工时类型是否重复 System.out.println("3333333333");
// 4.判断工时类型是否重复
List<WorkTimeOrder> workTimeOrderList = new ArrayList<>(8); List<WorkTimeOrder> workTimeOrderList = new ArrayList<>(8);
if (!CollectionUtils.isEmpty(workTimeOrders)) { if (!CollectionUtils.isEmpty(workTimeOrders)) {
workTimeOrderList.addAll(workTimeOrders); workTimeOrderList.addAll(workTimeOrders);
...@@ -1162,10 +1165,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1162,10 +1165,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
BeanUtils.copyProperties(vo, workTimeOrder); BeanUtils.copyProperties(vo, workTimeOrder);
workTimeOrderList.add(workTimeOrder); workTimeOrderList.add(workTimeOrder);
isRepeat(workTimeOrderList); isRepeat(workTimeOrderList);
// 4.获取原工单
WorkTimeOrder workTimeOrderOld = workTimeOrderMapper.selectById(vo.getWorkId());
System.out.println(workTimeOrderOld);
System.out.println("4444444444");
// 5.修改workTimeOrder工单 // 5.修改workTimeOrder工单
WorkTimeOrder timeOrder = getOrderChangeWorkTimeOrder(vo, workTimeOrder); WorkTimeOrder timeOrder = getOrderChangeWorkTimeOrder(vo, workTimeOrder);
int i = workTimeOrderMapper.updateById(timeOrder); int i = workTimeOrderMapper.updateById(timeOrder);
...@@ -1205,14 +1206,39 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1205,14 +1206,39 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (!UserRoleLevelUtils.isManagerLevel(operator, LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) { if (!UserRoleLevelUtils.isManagerLevel(operator, LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN); throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
} }
// 查询原工单 // 查询原工单
WorkTimeOrder workTimeOrder = workTimeOrderMapper.selectById(workId); WorkTimeOrder workTimeOrder = workTimeOrderMapper.selectById(workId);
// 原工单当天的
List<WorkTimeOrder> workTimeOrders = getByDay(workTimeOrder.getUserId(), workTimeOrder.getWorkDay());
workTimeOrders.removeIf(workTimeOrder1 -> workTimeOrder1.getWorkId().equals(workTimeOrder.getWorkId()));
OrderChangeVo vo = new OrderChangeVo(); OrderChangeVo vo = new OrderChangeVo();
BeanUtils.copyProperties(vo, workTimeOrder); BeanUtils.copyProperties(workTimeOrder,vo );
vo.setOperatorId(operator); vo.setOperatorId(operator);
// 删除记录 // 删除记录
workTimeOrderMapper.deleteById(workId); workTimeOrderMapper.deleteById(workId);
if (!CollectionUtils.isEmpty(workTimeOrders)) {
int i = statusYes(workTimeOrder.getUserId(), workTimeOrder.getWorkDay());
int totalTime = 0;
for (WorkTimeOrder timeOrder : workTimeOrders) {
totalTime += timeOrder.getWorkTime();
}
WorkCollect workCollect = new WorkCollect();
workCollect.setUserId(workTimeOrder.getUserId()).setWorkDay(workTimeOrder.getWorkDay()).setStatus(i).setTotalTime(totalTime);
Boolean update = workCollectService.update(workCollect);
if (!update) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
}
}else{
Boolean aBoolean = workCollectService.deleteByUserIdAndWorkDay(workTimeOrder.getUserId(), workTimeOrder.getWorkDay());
if (!aBoolean) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.FAILEDTO_DELETE_DATA);
}
}
// 增加记录 // 增加记录
addWorkOrderChange(OrderChangeEnum.CREATE.getContent(), vo); addWorkOrderChange(OrderChangeEnum.CREATE.getContent(), vo);
...@@ -1283,18 +1309,22 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -1283,18 +1309,22 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 判断新增的工单变更是否为空 // 判断新增的工单变更是否为空
private void OrderChangeVoIsNull(OrderChangeVo vo, Boolean workIdIsNeed) { private void OrderChangeVoIsNull(OrderChangeVo vo, Boolean workIdIsNeed) {
if (null == vo || null == vo.getUserId() || (null == vo.getProjectId() && null == vo.getType()) System.out.println(vo);
|| null == vo.getWorkDay() || null == vo.getWorkTime() || StringUtils.isBlank(vo.getDes()) || StringUtils.isBlank(vo.getChangeReason())) { if (null == vo || null ==vo.getOperatorId() || 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.getOperatorId(), LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) { if (!UserRoleLevelUtils.isManagerLevel(vo.getOperatorId(), LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN); throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
} }
if (workIdIsNeed && null == vo.getWorkId()) { System.out.println("1111111");
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); if (workIdIsNeed) {
} else if (null == vo.getUserId()) { if (null == vo.getWorkId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
} else if (null == vo.getUserId() ||(null == vo.getProjectId() && null == vo.getType())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
System.out.println("22222222");
Date workDay = vo.getWorkDay(); Date workDay = vo.getWorkDay();
Date date = new Date(); Date date = new Date();
if (workDay.compareTo(date) > 0) { if (workDay.compareTo(date) > 0) {
......
...@@ -175,7 +175,7 @@ public class WorkTimeOrderController extends BaseController { ...@@ -175,7 +175,7 @@ public class WorkTimeOrderController extends BaseController {
} }
@ApiOperation(value = "工单变更分页",notes = "工单变更分页",httpMethod = "POST") @ApiOperation(value = "工单变更管理分页",notes = "工单变更分页",httpMethod = "POST")
@ApiImplicitParam(name = "vo", value = "工单变更分页条件Vo", dataType = "OrderChangeManagerVo") @ApiImplicitParam(name = "vo", value = "工单变更分页条件Vo", dataType = "OrderChangeManagerVo")
@PostMapping("/orderChangePage") @PostMapping("/orderChangePage")
public Result orderChangePage(@RequestBody OrderChangeManagerVo vo) { public Result orderChangePage(@RequestBody OrderChangeManagerVo vo) {
......
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