vos = convert(datas);
diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java
index 45934067..9f17d638 100644
--- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java
+++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java
@@ -14,9 +14,11 @@ import com.nflg.mobilebroken.common.util.AdminUserUtil;
import com.nflg.mobilebroken.common.util.AppUserUtil;
import com.nflg.mobilebroken.common.util.TicketUtl;
import com.nflg.mobilebroken.common.util.VUtils;
+import com.nflg.mobilebroken.repository.entity.AdminUser;
import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.entity.TicketEvaluate;
import com.nflg.mobilebroken.repository.mapper.TicketMapper;
+import com.nflg.mobilebroken.repository.service.IAdminUserService;
import com.nflg.mobilebroken.repository.service.IAppAreaService;
import com.nflg.mobilebroken.repository.service.ITicketEvaluateService;
import com.nflg.mobilebroken.repository.service.ITicketService;
@@ -24,7 +26,11 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
*
@@ -43,6 +49,9 @@ public class TicketServiceImpl extends ServiceImpl impleme
@Resource
private ITicketEvaluateService ticketEvaluateService;
+ @Resource
+ private IAdminUserService adminUserService;
+
@Override
public Ticket add(TicketAddRequest request, Integer userId) {
Ticket lastTicket=lambdaQuery()
@@ -87,6 +96,9 @@ public class TicketServiceImpl extends ServiceImpl impleme
@Override
public IPage searchPage(AdminTicketSearchRequest request) {
+ if (Objects.nonNull(request.getEndTime())){
+ request.setEndTime(request.getEndTime().plusDays(1));
+ }
if (request.getType() == 2) {
return baseMapper.searchFromAdminAndFollow(request, AdminUserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize()));
} else if (request.getType() == 4) {
@@ -107,43 +119,45 @@ public class TicketServiceImpl extends ServiceImpl impleme
ticket.setState(TicketState.Processing.getState());
ticket.setRemark(request.getRemark());
ticket.setHandle(StrUtil.join(",", request.getUserIds()));
+ ticket.setHandleName(StrUtil.join(",", adminUserService.listByIds(request.getUserIds()).stream().map(AdminUser::getUserName).collect(Collectors.toList())));
ticket.setCqm(AdminUserUtil.getUserId());
+ ticket.setCurrentHandle(AdminUserUtil.getUserId());
ticket.setUpdateTime(LocalDateTime.now());
updateById(ticket);
return ticket;
}
- @Override
- public void completeTicket(List ids) {
-// baseMapper.completeTicket(ids, AdminUserUtil.getUserId());
- List tickets=listByIds(ids);
- List stateErrors=new ArrayList<>();
- List handleErrors=new ArrayList<>();
- for (Ticket ticket : tickets) {
- if (!Objects.equals(ticket.getState(), TicketState.Processing.getState())){
- stateErrors.add(ticket.getTitle());
- }else if(Arrays.stream(ticket.getHandle().split(","))
- .noneMatch(uid->StrUtil.equals(uid, AdminUserUtil.getUserId().toString()))
- ){
- handleErrors.add(ticket.getTitle());
- }
- }
- StringBuilder sb=new StringBuilder();
- if (!stateErrors.isEmpty()){
- sb.append("以下工单状态不允许完成:").append(StrUtil.join(",", stateErrors));
- }
- if (!handleErrors.isEmpty()){
- sb.append("以下工单你无权操作:").append(StrUtil.join(",", handleErrors));
- }
- String msg=sb.toString();
- VUtils.trueThrowBusinessError(StrUtil.isNotBlank(msg))
- .throwMessage(msg);
- lambdaUpdate()
- .in(Ticket::getId, ids)
- .set(Ticket::getState, TicketState.ProcessingCompleted.getState())
- .set(Ticket::getUpdateTime, LocalDateTime.now())
- .update();
- }
+// @Override
+// public void completeTicket(List ids) {
+//// baseMapper.completeTicket(ids, AdminUserUtil.getUserId());
+// List tickets=listByIds(ids);
+// List stateErrors=new ArrayList<>();
+// List handleErrors=new ArrayList<>();
+// for (Ticket ticket : tickets) {
+// if (!Objects.equals(ticket.getState(), TicketState.Processing.getState())){
+// stateErrors.add(ticket.getTitle());
+// }else if(Arrays.stream(ticket.getHandle().split(","))
+// .noneMatch(uid->StrUtil.equals(uid, AdminUserUtil.getUserId().toString()))
+// ){
+// handleErrors.add(ticket.getTitle());
+// }
+// }
+// StringBuilder sb=new StringBuilder();
+// if (!stateErrors.isEmpty()){
+// sb.append("以下工单状态不允许完成:").append(StrUtil.join(",", stateErrors));
+// }
+// if (!handleErrors.isEmpty()){
+// sb.append("以下工单你无权操作:").append(StrUtil.join(",", handleErrors));
+// }
+// String msg=sb.toString();
+// VUtils.trueThrowBusinessError(StrUtil.isNotBlank(msg))
+// .throwMessage(msg);
+// lambdaUpdate()
+// .in(Ticket::getId, ids)
+// .set(Ticket::getState, TicketState.ProcessingCompleted.getState())
+// .set(Ticket::getUpdateTime, LocalDateTime.now())
+// .update();
+// }
@Override
public Ticket completeTicket(Integer id) {
@@ -155,6 +169,7 @@ public class TicketServiceImpl extends ServiceImpl impleme
.throwMessage("你无权操作该工单");
ticket.setState(TicketState.ProcessingCompleted.getState());
ticket.setSolveTime(LocalDateTime.now());
+ ticket.setCurrentHandle(AdminUserUtil.getUserId());
ticket.setUpdateTime(LocalDateTime.now());
updateById(ticket);
return ticket;
@@ -172,6 +187,7 @@ public class TicketServiceImpl extends ServiceImpl impleme
ticket.setSolution(request.getSolution());
ticket.setSolutionAttachments(StrUtil.join(",", request.getAttachments()));
ticket.setSolveTime(LocalDateTime.now());
+ ticket.setCurrentHandle(AdminUserUtil.getUserId());
updateById(ticket);
return ticket;
}
@@ -181,7 +197,7 @@ public class TicketServiceImpl extends ServiceImpl impleme
if (request.getType() == 2) {
return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId());
} else if (request.getType() == 4) {
- return baseMapper.searchAllFromAdmin(request);
+ return baseMapper.searchAllFromAdmin(request, AdminUserUtil.getUserId());
}
return Collections.emptyList();
}
diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml
index 006dbe47..ba0372d0 100644
--- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml
+++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml
@@ -32,12 +32,6 @@
t.state!=4
-
- AND (t.title LIKE CONCAT('%', #{request.title}, '%') OR t.no LIKE CONCAT('%', #{request.title}, '%'))
-
-
- AND t.device_no LIKE CONCAT('%', #{request.deviceNo}, '%')
-
AND t.state=#{request.state}
@@ -48,7 +42,7 @@
AND t.component=#{request.component}
- AND u.handle LIKE CONCAT('%', #{request.handleUserName}, '%')
+ AND t.handle_name LIKE CONCAT('%', #{request.handleUserName}, '%')
AND u.company_id=#{request.companyId}
@@ -59,8 +53,8 @@
AND t.question=#{request.question}
-
- AND u.name LIKE CONCAT('%', #{request.createUserName}, '%')
+
+ AND d.warranty_state=#{request.warrantyStatus}
AND t.create_time>=#{request.startTime}
@@ -68,6 +62,15 @@
AND t.create_time <= #{request.endTime}
+
+ AND (t.title LIKE CONCAT('%', #{request.title}, '%') OR t.no LIKE CONCAT('%', #{request.title}, '%'))
+
+
+ AND t.device_no LIKE CONCAT('%', #{request.deviceNo}, '%')
+
+
+ AND d.customer_name LIKE CONCAT('%', #{request.createUserName}, '%')
+
@@ -81,7 +84,7 @@
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=0
WHERE t.user_id=#{userId} AND t.state!=4
- ORDER BY t.create_time DESC
+ ORDER BY t.id DESC
@@ -141,23 +149,32 @@