Merge branch 'feature/202504' into feature/202504-1
This commit is contained in:
commit
a5c8b88bb8
|
|
@ -779,7 +779,24 @@ public class TicketController extends ControllerBase {
|
||||||
@PostMapping("saveSolutionMeasures")
|
@PostMapping("saveSolutionMeasures")
|
||||||
@ApiMark(moduleName = "工单管理", apiName = "保存工单解决方案措施")
|
@ApiMark(moduleName = "工单管理", apiName = "保存工单解决方案措施")
|
||||||
public ApiResult<Void> saveSolutionMeasures(@Valid @RequestBody SolutionMeasuresSaveRequest request){
|
public ApiResult<Void> saveSolutionMeasures(@Valid @RequestBody SolutionMeasuresSaveRequest request){
|
||||||
ticketSolutionService.saveSolutionMeasures(request);
|
Ticket ticket = ticketSolutionService.saveSolutionMeasures(request);
|
||||||
|
List<SolutionReviewDepartmentVO> audits = ticketSolutionAuditService.getByTicket(request.getTicketId());
|
||||||
|
audits.forEach(audit -> {
|
||||||
|
if (audit.getState() == 0) {
|
||||||
|
adminMessageService.add(
|
||||||
|
new AdminMessage()
|
||||||
|
.setNo(ticket.getNo())
|
||||||
|
.setTitle(ticket.getTitle())
|
||||||
|
.setUserId(audit.getUserId())
|
||||||
|
.setSourceId(ticket.getId())
|
||||||
|
.setSource(0)
|
||||||
|
.setType(MessageType.WorkOrderAssignment.getState())
|
||||||
|
.setSubType(MessageSubType.TicketSolutionAudit.getState())
|
||||||
|
.setIsRead(false)
|
||||||
|
.setCreateTime(LocalDateTime.now())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class SolutionReviewDepartmentVO {
|
public class SolutionReviewDepartmentVO {
|
||||||
|
|
@ -35,4 +36,7 @@ public class SolutionReviewDepartmentVO {
|
||||||
|
|
||||||
//审核不通过原因
|
//审核不通过原因
|
||||||
private String reason;
|
private String reason;
|
||||||
|
|
||||||
|
//审核时间
|
||||||
|
private LocalDateTime createTime;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.nflg.mobilebroken.common.pojo.request.SolutionMeasuresSaveRequest;
|
import com.nflg.mobilebroken.common.pojo.request.SolutionMeasuresSaveRequest;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.SolutionMeasuresVO;
|
import com.nflg.mobilebroken.common.pojo.vo.SolutionMeasuresVO;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.Ticket;
|
||||||
import com.nflg.mobilebroken.repository.entity.TicketSolution;
|
import com.nflg.mobilebroken.repository.entity.TicketSolution;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -17,5 +18,5 @@ public interface ITicketSolutionService extends IService<TicketSolution> {
|
||||||
|
|
||||||
SolutionMeasuresVO getSolutionMeasures(Integer ticketId);
|
SolutionMeasuresVO getSolutionMeasures(Integer ticketId);
|
||||||
|
|
||||||
void saveSolutionMeasures(SolutionMeasuresSaveRequest request);
|
Ticket saveSolutionMeasures(SolutionMeasuresSaveRequest request);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ public class TicketSolutionServiceImpl extends ServiceImpl<TicketSolutionMapper,
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void saveSolutionMeasures(SolutionMeasuresSaveRequest request) {
|
public Ticket saveSolutionMeasures(SolutionMeasuresSaveRequest request) {
|
||||||
Ticket ticket=ticketService.getById(request.getTicketId());
|
Ticket ticket=ticketService.getById(request.getTicketId());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
|
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
|
||||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.Processing.getState())
|
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.Processing.getState())
|
||||||
|
|
@ -179,5 +179,6 @@ public class TicketSolutionServiceImpl extends ServiceImpl<TicketSolutionMapper,
|
||||||
if (CollectionUtil.isNotEmpty(forUpdate)){
|
if (CollectionUtil.isNotEmpty(forUpdate)){
|
||||||
updateBatchById(forUpdate);
|
updateBatchById(forUpdate);
|
||||||
}
|
}
|
||||||
|
return ticket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@
|
||||||
AND fun_getUserCompanys(aua.company_id) LIKE concat('%', #{companyName}, '%')
|
AND fun_getUserCompanys(aua.company_id) LIKE concat('%', #{companyName}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="userState!=null">
|
<if test="userState!=null">
|
||||||
AND 0=#{userState}
|
AND 1=2
|
||||||
</if>
|
</if>
|
||||||
<if test="state!=null and state!=0">
|
<if test="state!=null and state!=0">
|
||||||
AND 1=2
|
AND 1=2
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,8 @@
|
||||||
d.dept_name AS user_dept_name,
|
d.dept_name AS user_dept_name,
|
||||||
p.position_name AS user_title,
|
p.position_name AS user_title,
|
||||||
au.user_code,
|
au.user_code,
|
||||||
tsa.reason
|
tsa.reason,
|
||||||
|
tsa.create_time
|
||||||
FROM ticket_solution_audit tsa
|
FROM ticket_solution_audit tsa
|
||||||
LEFT JOIN admin_user au ON tsa.user_id = au.id
|
LEFT JOIN admin_user au ON tsa.user_id = au.id
|
||||||
LEFT JOIN t_base_department d ON d.id = au.department_id
|
LEFT JOIN t_base_department d ON d.id = au.department_id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue