Commit c85b3042 authored by cq990612's avatar cq990612

优化代码结构

parent c5d914e4
......@@ -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 ) u2 ON u2.id =oc.user_id
<where>
<if test="projectIds !=null and projectIds.size()>0">
<if test="startDate !=null">
AND oc.change_date >= #{startDate}
</if>
......@@ -23,20 +24,20 @@
AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%'))
</if>
<if test="projectIds !=null and projectIds.size>0">
AND oc.project_id IN
<foreach collection="projectIds" item="projectId" separator="," open="(" close=")">
#{projectId}
</foreach>
</if>
<if test="types !=null and types.size>0">
<if test="types !=null and types.size()>0">
OR (oc.type IN
<foreach collection="types" item="type" separator="," open="(" close=")">
#{type}
</foreach>
<if test="deptIds !=null and deptIds.size>0">
<if test="deptIds !=null and deptIds.size()>0">
AND oc.dept_id IN
<foreach collection="deptIds" item="deptId" separator="," open="(" close=")">
#{deptId}
......
......@@ -465,7 +465,7 @@
</select>
<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
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
......@@ -474,11 +474,11 @@
<if test="projectId !=null">
AND o.project_id = #{projectId}
</if>
<if test="type !=null ">
<if test="type !=null and type>2 ">
AND o.type = #{type}
</if>
<if test="deptId !=null">
AND o.dept_id = #{deptId}
<if test="deptId !=null">
AND o.dept_id = #{deptId}
</if>
</if>
<if test="startDate !=null">
AND o.work_day >= #{startDate}
......
......@@ -12,6 +12,9 @@ import java.util.Date;
@Data
public class OrderChangePageDto {
private Integer workId;
private Integer projectId;
private String projectName;
......
......@@ -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.ApiModelProperty;
import lombok.Data;
......@@ -18,6 +19,7 @@ public class WorkOrderChangeLogDto {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "changeDate",value = "变更日期")
private Date changeDate;
......@@ -36,6 +38,7 @@ public class WorkOrderChangeLogDto {
@ApiModelProperty(name = "type",value = "工时类型")
private Integer type;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay;
......
......@@ -93,7 +93,7 @@ public class WorkOrderChangeImpl implements WorkOrderChangeService {
deptIds.add(vo.getDeptId());
}
}
BeanUtils.copyProperties(mapperDto,vo);
BeanUtils.copyProperties(vo,mapperDto);
mapperDto.setProjectIds(projectIds);
mapperDto.setDeptIds(new ArrayList<>(deptIds));
mapperDto.setTypes(new ArrayList<>(types));
......
......@@ -4,10 +4,7 @@ import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.DateUtils;
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.mapper.WorkProjectMapper;
import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.LevelEnum;
......@@ -1146,14 +1143,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkTimeOrderServiceImpl[]updateOrderChange[]input.param.OrderChangeVo:{}" + vo);
// 1.判断参数是否为空
OrderChangeVoIsNull(vo, true);
List<WorkTimeOrder> workTimeOrders = getByDay(vo.getUserId(), vo.getWorkDay());
// 2.判断是否超过8小时
// 2.获取原工单
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();
if (!CollectionUtils.isEmpty(workTimeOrders)) {
workTimeOrders.removeIf(workTimeOrder -> workTimeOrder.getWorkId().equals(vo.getWorkId()));
}
totalTime = timeNotEight(totalTime, workTimeOrders);
// 3.判断工时类型是否重复
System.out.println("3333333333");
// 4.判断工时类型是否重复
List<WorkTimeOrder> workTimeOrderList = new ArrayList<>(8);
if (!CollectionUtils.isEmpty(workTimeOrders)) {
workTimeOrderList.addAll(workTimeOrders);
......@@ -1162,10 +1165,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
BeanUtils.copyProperties(vo, workTimeOrder);
workTimeOrderList.add(workTimeOrder);
isRepeat(workTimeOrderList);
// 4.获取原工单
WorkTimeOrder workTimeOrderOld = workTimeOrderMapper.selectById(vo.getWorkId());
System.out.println(workTimeOrderOld);
System.out.println("4444444444");
// 5.修改workTimeOrder工单
WorkTimeOrder timeOrder = getOrderChangeWorkTimeOrder(vo, workTimeOrder);
int i = workTimeOrderMapper.updateById(timeOrder);
......@@ -1205,14 +1206,39 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
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);
// 原工单当天的
List<WorkTimeOrder> workTimeOrders = getByDay(workTimeOrder.getUserId(), workTimeOrder.getWorkDay());
workTimeOrders.removeIf(workTimeOrder1 -> workTimeOrder1.getWorkId().equals(workTimeOrder.getWorkId()));
OrderChangeVo vo = new OrderChangeVo();
BeanUtils.copyProperties(vo, workTimeOrder);
BeanUtils.copyProperties(workTimeOrder,vo );
vo.setOperatorId(operator);
// 删除记录
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);
......@@ -1283,18 +1309,22 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 判断新增的工单变更是否为空
private void OrderChangeVoIsNull(OrderChangeVo vo, Boolean workIdIsNeed) {
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())) {
System.out.println(vo);
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);
}
if (!UserRoleLevelUtils.isManagerLevel(vo.getOperatorId(), LevelEnum.WORKORDER_CHANGEMANAGEMENT.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
if (workIdIsNeed && null == vo.getWorkId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} else if (null == vo.getUserId()) {
System.out.println("1111111");
if (workIdIsNeed) {
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);
}
System.out.println("22222222");
Date workDay = vo.getWorkDay();
Date date = new Date();
if (workDay.compareTo(date) > 0) {
......
......@@ -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")
@PostMapping("/orderChangePage")
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