Commit d6c2fe28 by 王力

Merge branch 'dev_engineer_filter' into 'develop'

Dev engineer filter

See merge request !174
2 parents 4d018382 7701b9f0
package com.dituhui.pea.order.common;
import java.util.List;
public class ListUtils {
public static <T> boolean isNotEmpty(List<T> list) {
return list != null && !list.isEmpty();
}
}
...@@ -2,35 +2,41 @@ package com.dituhui.pea.order.controller; ...@@ -2,35 +2,41 @@ package com.dituhui.pea.order.controller;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dto.OrderServiceListReq;
import com.dituhui.pea.order.service.OrderServiceListService; import com.dituhui.pea.order.service.OrderServiceListService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/** /**
* @author wangl@zjhuixinyun.com * @author wangl@zjhuixinyun.com
*/ */
@RestController @RestController
@RequestMapping("/pea-order") @RequestMapping("/pea-order")
@Validated
public class OrderServiceListController { public class OrderServiceListController {
@Autowired @Autowired
private OrderServiceListService orderServiceListService; private OrderServiceListService orderServiceListService;
@GetMapping("/order/service/list") @GetMapping("/order/service/list")
public Result<?> getOrderServiceList(@RequestParam String startDate, public Result<?> getOrderServiceList(@Valid @RequestParam OrderServiceListReq reqDTO) {
@RequestParam String endDate, Result<?> res = null;
@RequestParam long page, try {
@RequestParam long size, res = orderServiceListService.getOrderServiceList(reqDTO);
@RequestParam(required = false) String sort, }
@RequestParam(required = false) String appointmentType, catch (BusinessException e) {
@RequestParam(required = false) String appointmentStatus, return Result.failed(e.getMessage());
@RequestParam(required = false) String type, }
@RequestParam(required = false) String brand, return res;
@RequestParam(required = false) String skill) { }
@PostMapping("/order/service/list")
public Result<?> getOrderServiceListPost(@Valid @RequestBody OrderServiceListReq reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = orderServiceListService.getOrderServiceList(startDate, endDate, page, size, sort, appointmentType, res = orderServiceListService.getOrderServiceList(reqDTO);
appointmentStatus, type, brand, skill);
} }
catch (BusinessException e) { catch (BusinessException e) {
return Result.failed(e.getMessage()); return Result.failed(e.getMessage());
......
...@@ -3,17 +3,33 @@ package com.dituhui.pea.order.dto; ...@@ -3,17 +3,33 @@ package com.dituhui.pea.order.dto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@EqualsAndHashCode @EqualsAndHashCode
public class OrderServiceListReq { public class OrderServiceListReq {
@NotNull
private String levelType;
@NotNull
private String levelValue;
@NotNull
private String startDate; private String startDate;
@NotNull
private String endDate; private String endDate;
@NotNull
private long page; private long page;
@NotNull
private long size; private long size;
private String sort; private List<String> branchIds;
private String appointmentType; private List<String> groupIds;
private List<String> teamIds;
private List<String> engineerCodes;
private List<Integer> priorities;
private List<String> productCategory;
private List<String> serviceCategory;
private String phone;
private String orderId;
private String appointmentStatus; private String appointmentStatus;
private String type; private String appointmentType;
private String brand;
private String skill;
} }
\ No newline at end of file
...@@ -2,12 +2,10 @@ package com.dituhui.pea.order.service; ...@@ -2,12 +2,10 @@ package com.dituhui.pea.order.service;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dto.OrderServiceListReq;
import com.dituhui.pea.order.dto.OrderServiceListResp; import com.dituhui.pea.order.dto.OrderServiceListResp;
public interface OrderServiceListService { public interface OrderServiceListService {
Result<OrderServiceListResp> getOrderServiceList( Result<?> getOrderServiceList(OrderServiceListReq reqDTO) throws BusinessException;
String startDate, String endDate, long page, long size, String sort,
String appointmentType, String appointmentStatus, String type, String brand,
String skill) throws BusinessException;
} }
...@@ -5,19 +5,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -5,19 +5,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.common.ListUtils;
import com.dituhui.pea.order.common.TimeUtils; import com.dituhui.pea.order.common.TimeUtils;
import com.dituhui.pea.order.dao.OrderAppointmentMPDao; import com.dituhui.pea.order.dao.OrderAppointmentMPDao;
import com.dituhui.pea.order.dao.OrderRequestMPDao; import com.dituhui.pea.order.dao.OrderRequestMPDao;
import com.dituhui.pea.order.dto.OrderServiceList; import com.dituhui.pea.order.dto.OrderServiceList;
import com.dituhui.pea.order.dto.OrderServiceListReq;
import com.dituhui.pea.order.dto.OrderServiceListResp; import com.dituhui.pea.order.dto.OrderServiceListResp;
import com.dituhui.pea.order.entity.OrderAppointment; import com.dituhui.pea.order.entity.OrderAppointment;
import com.dituhui.pea.order.entity.OrderRequest; import com.dituhui.pea.order.entity.OrderRequest;
import com.dituhui.pea.order.service.OrderServiceListService; import com.dituhui.pea.order.service.OrderServiceListService;
import io.netty.util.internal.StringUtil; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -32,21 +35,37 @@ public class OrderServiceListServiceImpl implements OrderServiceListService { ...@@ -32,21 +35,37 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
@Transactional @Transactional
@Override @Override
public Result<OrderServiceListResp> getOrderServiceList( public Result<OrderServiceListResp> getOrderServiceList(OrderServiceListReq reqDTO) throws BusinessException {
String startDate, String endDate, long page, long size, String sort,
String appointmentType, String appointmentStatus, String type, String brand,
String skill) throws BusinessException {
//分页 //分页
Page<OrderRequest> pg = new Page(page, size); Page<OrderRequest> pg = new Page(reqDTO.getPage(), reqDTO.getSize());
LocalDate startDate = TimeUtils.IsoDate2LocalDate(reqDTO.getStartDate());
LocalDate endDate = TimeUtils.IsoDate2LocalDate(reqDTO.getEndDate());
LambdaQueryWrapper<OrderRequest> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrderRequest> lqw = new LambdaQueryWrapper<>();
lqw.ge(OrderRequest::getExpectTimeBegin, TimeUtils.IsoDateTime2Timestamp(String.format("%s 00:00:00", startDate))); //预约开始日期 lqw.eq(reqDTO.getLevelType().equals("cluster"), OrderRequest::getOrgClusterId, reqDTO.getLevelValue());
lqw.le(OrderRequest::getExpectTimeBegin, TimeUtils.IsoDateTime2Timestamp(String.format("%s 00:00:00", endDate))); //预约结束日期 lqw.eq(reqDTO.getLevelType().equals("branch"), OrderRequest::getOrgBranchId, reqDTO.getLevelValue());
lqw.eq(!StringUtil.isNullOrEmpty(appointmentStatus), OrderRequest::getAppointmentStatus, appointmentStatus); //指派状态 lqw.eq(reqDTO.getLevelType().equals("group"), OrderRequest::getOrgGroupId, reqDTO.getLevelValue());
lqw.eq(!StringUtil.isNullOrEmpty(type), OrderRequest::getType, type); //设备类型 lqw.ge(OrderRequest::getDt, startDate); //预约开始日期
lqw.eq(!StringUtil.isNullOrEmpty(brand), OrderRequest::getBrand, brand); //品牌 lqw.le(OrderRequest::getDt, endDate); //预约开始日期
lqw.eq(!StringUtil.isNullOrEmpty(skill), OrderRequest::getSkill, skill); //技能
//筛选项
lqw.eq(StringUtils.isNotEmpty(reqDTO.getPhone()), OrderRequest::getPhone, reqDTO.getPhone());
lqw.eq(StringUtils.isNotEmpty(reqDTO.getOrderId()), OrderRequest::getOrderId, reqDTO.getOrderId());
lqw.in(ListUtils.isNotEmpty(reqDTO.getBranchIds()), OrderRequest::getOrgBranchId, reqDTO.getBranchIds());
lqw.in(ListUtils.isNotEmpty(reqDTO.getGroupIds()), OrderRequest::getOrgGroupId, reqDTO.getGroupIds());
lqw.in(ListUtils.isNotEmpty(reqDTO.getTeamIds()), OrderRequest::getOrgTeamId, reqDTO.getTeamIds());
lqw.in(ListUtils.isNotEmpty(reqDTO.getPriorities()), OrderRequest::getPriority, reqDTO.getPriorities());
lqw.in(ListUtils.isNotEmpty(reqDTO.getProductCategory()), OrderRequest::getType, reqDTO.getProductCategory());
lqw.in(ListUtils.isNotEmpty(reqDTO.getProductCategory()), OrderRequest::getSkill, reqDTO.getServiceCategory());
lqw.eq(StringUtils.isNotEmpty(reqDTO.getAppointmentType()), OrderRequest::getAppointmentMethod, reqDTO.getAppointmentType()); //指派状态
if (StringUtils.isNotEmpty(reqDTO.getAppointmentStatus()) && reqDTO.getAppointmentStatus().equals("0")) {
lqw.eq(OrderRequest::getAppointmentStatus, "NOT_ASSIGNED");
} else if (StringUtils.isNotEmpty(reqDTO.getAppointmentStatus()) && reqDTO.getAppointmentStatus().equals("1")) {
lqw.ne(OrderRequest::getAppointmentStatus, "NOT_ASSIGNED");
}
// 查询工单表列表 // 查询工单表列表
orderRequestMPDao.selectPage(pg, lqw); orderRequestMPDao.selectPage(pg, lqw);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!