Merge branch 'feature/202504' into feature/202504-1

This commit is contained in:
曹鹏飞 2025-04-28 14:28:19 +08:00
commit a5c8b88bb8
6 changed files with 29 additions and 5 deletions

View File

@ -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();
} }

View File

@ -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;
} }

View File

@ -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);
} }

View File

@ -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;
} }
} }

View File

@ -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

View File

@ -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