Commit 24c72689 authored by cq990612's avatar cq990612

优化代码结构

parent 01f4ef8f
...@@ -61,6 +61,7 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -61,6 +61,7 @@ public enum BASE_RESP_CODE_ENUM {
NOT_MANAGER_TYPE("642","没有可以管理的类型项目"), NOT_MANAGER_TYPE("642","没有可以管理的类型项目"),
; ;
/** /**
* 错误编码 * 错误编码
......
...@@ -29,6 +29,7 @@ public enum RESP_CODE_ENUM { ...@@ -29,6 +29,7 @@ public enum RESP_CODE_ENUM {
QUERY_WORK_ORDER_LISt_FAIL("1021", "获取工单列表失败"), QUERY_WORK_ORDER_LISt_FAIL("1021", "获取工单列表失败"),
AUDIT_WORK_ORDER_FAIL("1022","审核工单失败"), AUDIT_WORK_ORDER_FAIL("1022","审核工单失败"),
QUERY_USER_INFO_FAIL("1023","获取用户信息失败") QUERY_USER_INFO_FAIL("1023","获取用户信息失败")
; ;
......
...@@ -156,9 +156,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -156,9 +156,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
public List<WorkTimeOrderDto> add(@RequestBody CreateWorkOrderDto dto) { public List<WorkTimeOrderDto> add(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderServiceImpl[]add[]input.param.CreateWorkOrderDto:{}" + dto); log.info("WorkTimeOrderServiceImpl[]add[]input.param.CreateWorkOrderDto:{}" + dto);
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) { if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
} }
// 1.检查工单 // 1.检查工单
this.checkWorkOrderInfo(dto.getWorkTimeOrders()); this.checkWorkOrderInfo(dto.getWorkTimeOrders());
...@@ -179,6 +178,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -179,6 +178,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Override @Override
public List<WorkTimeOrderDto> addTest(CreateWorkOrderDto createWorkOrderDto) { public List<WorkTimeOrderDto> addTest(CreateWorkOrderDto createWorkOrderDto) {
log.info("WorkTimeOderServiceImpl[]addTest[]input.param.creatWorkOrderDto" + createWorkOrderDto); log.info("WorkTimeOderServiceImpl[]addTest[]input.param.creatWorkOrderDto" + createWorkOrderDto);
if (null == createWorkOrderDto || CollectionUtils.isEmpty(createWorkOrderDto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
List<WorkTimeOrderDto> workTimeOrders = createWorkOrderDto.getWorkTimeOrders(); List<WorkTimeOrderDto> workTimeOrders = createWorkOrderDto.getWorkTimeOrders();
Date date = new Date(); Date date = new Date();
WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1); WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1);
...@@ -192,7 +195,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -192,7 +195,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
timeNotEight(0, workTimeOrders); timeNotEight(0, workTimeOrders);
int totalTime = 0; int totalTime = 0;
int size = 0;
List<Integer> typeList = new ArrayList<>(); List<Integer> typeList = new ArrayList<>();
for (WorkTimeOrderDto dto : workTimeOrders) { for (WorkTimeOrderDto dto : workTimeOrders) {
// 3.判断工单是否合法 // 3.判断工单是否合法
...@@ -212,11 +214,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -212,11 +214,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
if (1 != type && 2 != type) { if (1 != type && 2 != type) {
dto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName()); dto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName());
} }
dto.setStatus(1); dto.setStatus(1);
if (3 == type || 4 == type) { if (3 == type || 4 == type) {
size++;
dto.setStatus(2); dto.setStatus(2);
} }
dto.setIsOvertime(0); dto.setIsOvertime(0);
...@@ -243,10 +245,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -243,10 +245,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
BeanUtils.copyProperties(workTimeOrder, dto); BeanUtils.copyProperties(workTimeOrder, dto);
} }
int status = 1; int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
if (size == typeList.size()) {
status = 2;
}
WorkCollect workCollect = workCollectService.getByUserIdAndWorkDay(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay()); WorkCollect workCollect = workCollectService.getByUserIdAndWorkDay(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
if (null == workCollect) { if (null == workCollect) {
workCollect = new WorkCollect(); workCollect = new WorkCollect();
...@@ -278,41 +277,59 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -278,41 +277,59 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
public List<WorkTimeOrderDto> update(CreateWorkOrderDto dto) { public List<WorkTimeOrderDto> update(CreateWorkOrderDto dto) {
log.info("WorkTimeOrderServiceImpl[]update[]input.param.CreateWorkOrderDto:{}" + dto); log.info("WorkTimeOrderServiceImpl[]update[]input.param.CreateWorkOrderDto:{}" + dto);
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) { if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
} }
List<WorkTimeOrderDto> workTimeOrders = dto.getWorkTimeOrders(); List<WorkTimeOrderDto> workTimeOrders = dto.getWorkTimeOrders();
// 判断是否超过8小时 // 1.判断是否超过8小时
int count = 0; int count = 0;
List<WorkTimeOrder> byDayToDto = getByDayToDto(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay()); List<WorkTimeOrder> byDayToDto = getByDayToDto(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
// 判断是否重复填报 for (WorkTimeOrder workTimeOrder : byDayToDto) {
if (3 == workTimeOrder.getStatus()) {
continue;
}
count += workTimeOrder.getWorkTime();
}
timeNotEight(count, workTimeOrders);
int totalTime = 0;
// 2.判断是否重复填报
isRepeat(workTimeOrders); isRepeat(workTimeOrders);
for (WorkTimeOrder orderDto : byDayToDto) { for (WorkTimeOrderDto workTimeOrder : workTimeOrders) {
if (2 == orderDto.getStatus() || 5 == orderDto.getStatus()) { for (WorkTimeOrder orderDto : byDayToDto) {
count += orderDto.getWorkTime(); // 过滤表中已经被驳回的
for (WorkTimeOrderDto workTimeOrder : workTimeOrders) { if (3 == orderDto.getStatus()) {
if (orderDto.getType().equals(workTimeOrder.getType())) { continue;
if (1 == orderDto.getType() || 2 == orderDto.getType() &&
orderDto.getProjectId().equals(workTimeOrder.getProjectId())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT);
}
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT);
}
} }
totalTime += orderDto.getWorkTime();
// 如果类型不相同
if (!workTimeOrder.getType().equals(orderDto.getType())) {
continue;
}
// 类型相同projectId不同
if (null != workTimeOrder.getProjectId() && null != orderDto.getProjectId() || !workTimeOrder.getProjectId().equals(orderDto.getProjectId())) {
continue;
}
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT);
} }
totalTime += workTimeOrder.getWorkTime();
} }
// 判断是否超过8小时 List<WorkTimeOrderDto> workTimeOrderDtos = reSubmit(workTimeOrders);
timeNotEight(count, workTimeOrders); // 更新collect表
int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrderDtos.get(0).getWorkDay());
WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrders.get(0), workCollect);
workCollect.setTotalTime(totalTime);
workCollect.setStatus(status);
workCollectService.update(workCollect);
// 更新数据 // 更新数据
return reSubmit(workTimeOrders); return workTimeOrderDtos;
} }
// 判断填写工时单是否重复
private void isRepeat(List<WorkTimeOrderDto> list) { private void isRepeat(List<WorkTimeOrderDto> list) {
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
...@@ -321,8 +338,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -321,8 +338,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) { for (int j = i + 1; j < size; j++) {
if (list.get(i).getType().equals(list.get(j).getType())) { if (list.get(i).getType().equals(list.get(j).getType())) {
if (1 == list.get(i).getType() || 2 == list.get(i).getType() && list.get(i).getProjectId().equals(list.get(j).getProjectId())) { if (null != list.get(i).getProjectId() && null != list.get(j).getProjectId() && list.get(i).getProjectId().equals(list.get(j).getProjectId())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT); continue;
} }
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_ALREADY_COMMIT);
} }
...@@ -498,7 +515,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -498,7 +515,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
} }
workCollect.setStatus(3); workCollect.setStatus(3);
workCollect.setTotalTime(0);
return workCollectService.update(workCollect); return workCollectService.update(workCollect);
} }
...@@ -758,8 +774,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -758,8 +774,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType())); workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
// 获取部门id // 获取部门id
Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId()); Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId());
workTimeOrder.setDeptId(deptIdByUserId); workTimeOrder.setDeptId(deptIdByUserId);
Date workDay = workTimeOrder.getWorkDay(); Date workDay = workTimeOrder.getWorkDay();
// 默认正常工时 // 默认正常工时
...@@ -771,11 +785,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -771,11 +785,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (0 == iRow) { if (0 == iRow) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
} }
WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrder, workCollect);
workCollect.setStatus(1);
workCollect.setTotalTime(workTimeOrder.getWorkTime());
workCollectService.update(workCollect);
} }
return workTimeOrders; return workTimeOrders;
} }
...@@ -912,4 +921,25 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -912,4 +921,25 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return map.get(type); return map.get(type);
} }
// 判断当天是否全部审批通过
private int statusYes(Integer userId, Date workDay) {
int status = 1;
int size = 0;
List<WorkTimeOrder> workTimeOrderDtos = workTimeOrderMapper.getByDay(userId, workDay);
for (WorkTimeOrder dto : workTimeOrderDtos) {
if (2 == dto.getStatus() || 5 == dto.getStatus()) {
size++;
}
if (3 == dto.getStatus()) {
status = 3;
}
}
if (size == workTimeOrderDtos.size()) {
status = 2;
}
return status;
}
} }
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.DateUtil; import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.common.utils.exception.CustomException; import cn.wisenergy.common.utils.exception.CustomException;
import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
...@@ -54,9 +55,7 @@ public class WorkTimeOrderController extends BaseController { ...@@ -54,9 +55,7 @@ public class WorkTimeOrderController extends BaseController {
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<List<WorkTimeOrderDto>> add(@RequestBody CreateWorkOrderDto dto) { public Result<List<WorkTimeOrderDto>> add(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderController[]add[]input.param" + dto); log.info("WorkTimeOrderController[]add[]input.param" + dto);
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkTimeOrderDto> workOrderList = workTimeOrderService.add(dto); List<WorkTimeOrderDto> workOrderList = workTimeOrderService.add(dto);
return getResult(workOrderList); return getResult(workOrderList);
} }
...@@ -66,9 +65,6 @@ public class WorkTimeOrderController extends BaseController { ...@@ -66,9 +65,6 @@ public class WorkTimeOrderController extends BaseController {
@PutMapping(value = "/update") @PutMapping(value = "/update")
public Result<List<WorkTimeOrderDto>> update(@RequestBody CreateWorkOrderDto dto) { public Result<List<WorkTimeOrderDto>> update(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderController[]update[]input.param" + dto); log.info("WorkTimeOrderController[]update[]input.param" + dto);
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkTimeOrderDto> updateData = workTimeOrderService.update(dto); List<WorkTimeOrderDto> updateData = workTimeOrderService.update(dto);
return getResult(updateData); return getResult(updateData);
} }
...@@ -171,12 +167,9 @@ public class WorkTimeOrderController extends BaseController { ...@@ -171,12 +167,9 @@ public class WorkTimeOrderController extends BaseController {
@ApiOperation(value = "工时填报(测试)", notes = "工时填报(测试)", httpMethod = "POST") @ApiOperation(value = "工时填报(测试)", notes = "工时填报(测试)", httpMethod = "POST")
@ApiImplicitParam(name = "dto", value = "创建工单dto", dataType = "CreateWorkOrderDto") @ApiImplicitParam(name = "dto", value = "创建工单dto", dataType = "CreateWorkOrderDto")
@PostMapping(value = "/addtest") @PostMapping(value = "/addOrder")
public Result<List<WorkTimeOrderDto>> addTest(@RequestBody CreateWorkOrderDto dto) { public Result<List<WorkTimeOrderDto>> addOrder(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderController[]addTest[]input.param" + dto); log.info("WorkTimeOrderController[]addTest[]input.param" + dto);
if (CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkTimeOrderDto> workTimeOrderDtos = workTimeOrderService.addTest(dto); List<WorkTimeOrderDto> workTimeOrderDtos = workTimeOrderService.addTest(dto);
return getResult(workTimeOrderDtos); return getResult(workTimeOrderDtos);
......
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