巡检任务查看修改
This commit is contained in:
parent
5fcfb12957
commit
e10fb0bf1f
|
|
@ -3082,6 +3082,7 @@ public class QmsIssueTicketControllerService {
|
||||||
|
|
||||||
for (QmsIssueTicketProcessMeasure measure : measures) {
|
for (QmsIssueTicketProcessMeasure measure : measures) {
|
||||||
QmsInspectionTicketDetailVO.MeasureVO measureVO = new QmsInspectionTicketDetailVO.MeasureVO();
|
QmsInspectionTicketDetailVO.MeasureVO measureVO = new QmsInspectionTicketDetailVO.MeasureVO();
|
||||||
|
measureVO.setId(measure.getId());
|
||||||
measureVO.setMeasureTypeId(measure.getMeasureTypeId());
|
measureVO.setMeasureTypeId(measure.getMeasureTypeId());
|
||||||
measureVO.setMeasureContent(measure.getMeasureContent());
|
measureVO.setMeasureContent(measure.getMeasureContent());
|
||||||
measureVO.setChargeUser(measure.getChargeUser());
|
measureVO.setChargeUser(measure.getChargeUser());
|
||||||
|
|
@ -3155,21 +3156,11 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setIsEdit(false);
|
vo.setIsEdit(false);
|
||||||
vo.setIsShut(false);
|
vo.setIsShut(false);
|
||||||
}
|
}
|
||||||
// 处理人权限:拿到工单时有编辑和审批权限,有了审批状态后失去审批权限,驳回时失去编辑权限
|
// 处理人权限:未提交或领导驳回重置后可编辑,处理人提交后关闭编辑权限
|
||||||
else if (isHandler) {
|
else if (isHandler) {
|
||||||
Short handlerApprovalStatus = myProcess.getApprovalStatus();
|
Short handlerApprovalStatus = myProcess.getApprovalStatus();
|
||||||
vo.setIsReview(handlerApprovalStatus == null);
|
vo.setIsReview(handlerApprovalStatus == null);
|
||||||
if (handlerApprovalStatus != null && handlerApprovalStatus == 1) {
|
vo.setIsEdit(handlerApprovalStatus == null);
|
||||||
// 驳回:失去编辑权限
|
|
||||||
vo.setIsEdit(false);
|
|
||||||
} else if (handlerApprovalStatus != null && handlerApprovalStatus == 0) {
|
|
||||||
// 通过:按之前逻辑(领导未审批时可编辑)
|
|
||||||
boolean leaderNotApproved = myProcess.getLeaderApprovalResult() == null;
|
|
||||||
vo.setIsEdit(leaderNotApproved);
|
|
||||||
} else {
|
|
||||||
// 未提交:有编辑权限
|
|
||||||
vo.setIsEdit(true);
|
|
||||||
}
|
|
||||||
vo.setIsDispatch(false);
|
vo.setIsDispatch(false);
|
||||||
vo.setIsShut(false);
|
vo.setIsShut(false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,8 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.set(QmsIssueTicketProcess::getApprovalTime, now)
|
.set(QmsIssueTicketProcess::getApprovalTime, now)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
// 根据审批状态推送待办
|
// 根据审批状态推送待办
|
||||||
if (request.getApprovalStatus() != null && request.getApprovalStatus() == 1) {
|
if (request.getApprovalStatus() != null && request.getApprovalStatus() == 1) {
|
||||||
// 驳回:推送待办给负责人(工单表的 approvalUserId)
|
// 驳回:推送待办给负责人(工单表的 approvalUserId)
|
||||||
|
|
@ -283,6 +285,8 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.set(QmsIssueTicketProcess::getLeaderApprovalTime, now)
|
.set(QmsIssueTicketProcess::getLeaderApprovalTime, now)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
Short leaderApprovalResult = request.getApprovalStatus();
|
Short leaderApprovalResult = request.getApprovalStatus();
|
||||||
|
|
||||||
if (leaderApprovalResult == 1) {
|
if (leaderApprovalResult == 1) {
|
||||||
|
|
@ -383,6 +387,8 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.set(QmsIssueTicketProcess::getLeaderApprovalTime, null)
|
.set(QmsIssueTicketProcess::getLeaderApprovalTime, null)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
// 4. 根据审批状态推送待办
|
// 4. 根据审批状态推送待办
|
||||||
Long sourceTypeId = dictionaryItemService.getIdByCode("MessageType", "RejectedPDIDefectiveProductHandling");
|
Long sourceTypeId = dictionaryItemService.getIdByCode("MessageType", "RejectedPDIDefectiveProductHandling");
|
||||||
|
|
||||||
|
|
@ -417,8 +423,6 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
issueTicketToDoService.save(todoItem);
|
issueTicketToDoService.save(todoItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
issueTicketToDoService.processed(ticket.getId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -437,6 +441,8 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.set(QmsIssueTicketProcess::getApprovalTime, now)
|
.set(QmsIssueTicketProcess::getApprovalTime, now)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
// 3. 根据审批状态处理
|
// 3. 根据审批状态处理
|
||||||
if (request.getApprovalStatus() != null && request.getApprovalStatus() == 1) {
|
if (request.getApprovalStatus() != null && request.getApprovalStatus() == 1) {
|
||||||
// 驳回:推送给工单创建人
|
// 驳回:推送给工单创建人
|
||||||
|
|
|
||||||
|
|
@ -217,7 +217,7 @@ public class QmsIssueTicketProcessMeasureControllerService {
|
||||||
throw new NflgException(STATE.BusinessError, "字典【工单解决措施-临时纠正措施】不存在");
|
throw new NflgException(STATE.BusinessError, "字典【工单解决措施-临时纠正措施】不存在");
|
||||||
}
|
}
|
||||||
for (QmsIssueTicketProcessDraftQO.MeasureItem item : temporaryMeasures) {
|
for (QmsIssueTicketProcessDraftQO.MeasureItem item : temporaryMeasures) {
|
||||||
if (StrUtil.isBlank(item.getMeasureContent())) continue;
|
if (!shouldSaveMeasure(item, currentUserName)) continue;
|
||||||
QmsIssueTicketProcessMeasure measure = new QmsIssueTicketProcessMeasure()
|
QmsIssueTicketProcessMeasure measure = new QmsIssueTicketProcessMeasure()
|
||||||
.setIssueTicketProcessId(processId)
|
.setIssueTicketProcessId(processId)
|
||||||
.setMeasureTypeId(tempTypeId)
|
.setMeasureTypeId(tempTypeId)
|
||||||
|
|
@ -237,7 +237,7 @@ public class QmsIssueTicketProcessMeasureControllerService {
|
||||||
throw new NflgException(STATE.BusinessError, "字典【工单解决措施-永久纠正措施】不存在");
|
throw new NflgException(STATE.BusinessError, "字典【工单解决措施-永久纠正措施】不存在");
|
||||||
}
|
}
|
||||||
for (QmsIssueTicketProcessDraftQO.MeasureItem item : permanentMeasures) {
|
for (QmsIssueTicketProcessDraftQO.MeasureItem item : permanentMeasures) {
|
||||||
if (StrUtil.isBlank(item.getMeasureContent())) continue;
|
if (!shouldSaveMeasure(item, currentUserName)) continue;
|
||||||
QmsIssueTicketProcessMeasure measure = new QmsIssueTicketProcessMeasure()
|
QmsIssueTicketProcessMeasure measure = new QmsIssueTicketProcessMeasure()
|
||||||
.setIssueTicketProcessId(processId)
|
.setIssueTicketProcessId(processId)
|
||||||
.setMeasureTypeId(permTypeId)
|
.setMeasureTypeId(permTypeId)
|
||||||
|
|
@ -250,4 +250,14 @@ public class QmsIssueTicketProcessMeasureControllerService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean shouldSaveMeasure(QmsIssueTicketProcessDraftQO.MeasureItem item, String currentUserName) {
|
||||||
|
if (item == null || StrUtil.isBlank(item.getMeasureContent())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(item.getChargeUser())) {
|
||||||
|
throw new NflgException(STATE.BusinessError, "措施负责人不能为空");
|
||||||
|
}
|
||||||
|
return StrUtil.equals(item.getChargeUser(), currentUserName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,11 @@ public class QmsIssueTicketProcessDraftQO {
|
||||||
*/
|
*/
|
||||||
private String measureContent;
|
private String measureContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 负责人
|
||||||
|
*/
|
||||||
|
private String chargeUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计划日期
|
* 计划日期
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -214,6 +214,11 @@ public class QmsInspectionTicketDetailVO {
|
||||||
@Data
|
@Data
|
||||||
public static class MeasureVO {
|
public static class MeasureVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理方案明细ID
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 措施类型ID,关联字典项表
|
* 措施类型ID,关联字典项表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,12 @@ import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.repository.entity.FileUploadRecord;
|
import com.nflg.wms.repository.entity.FileUploadRecord;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicket;
|
import com.nflg.wms.repository.entity.QmsIssueTicket;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicketProcess;
|
import com.nflg.wms.repository.entity.QmsIssueTicketProcess;
|
||||||
|
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
||||||
import com.nflg.wms.repository.mapper.QmsIssueTicketMapper;
|
import com.nflg.wms.repository.mapper.QmsIssueTicketMapper;
|
||||||
import com.nflg.wms.repository.service.IFileUploadRecordService;
|
import com.nflg.wms.repository.service.IFileUploadRecordService;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketProcessService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketProcessService;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketService;
|
||||||
|
import com.nflg.wms.repository.service.IQmsIssueTicketToDoService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -35,6 +37,7 @@ public class QmsIssueTicketServiceImpl
|
||||||
|
|
||||||
private final IFileUploadRecordService fileUploadRecordService;
|
private final IFileUploadRecordService fileUploadRecordService;
|
||||||
private final IQmsIssueTicketProcessService issueTicketProcessService;
|
private final IQmsIssueTicketProcessService issueTicketProcessService;
|
||||||
|
private final IQmsIssueTicketToDoService issueTicketToDoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<QmsIssueTicketVO> search(QmsIssueTicketSearchQO request) {
|
public PageData<QmsIssueTicketVO> search(QmsIssueTicketSearchQO request) {
|
||||||
|
|
@ -51,6 +54,11 @@ public class QmsIssueTicketServiceImpl
|
||||||
.list()
|
.list()
|
||||||
.stream().map(QmsIssueTicketProcess::getIssueTicketId).distinct().collect(Collectors.toList());
|
.stream().map(QmsIssueTicketProcess::getIssueTicketId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<Long> todoTicketIds = issueTicketToDoService.lambdaQuery()
|
||||||
|
.eq(QmsIssueTicketToDo::getHandlerUserId, currentUserId)
|
||||||
|
.list()
|
||||||
|
.stream().map(QmsIssueTicketToDo::getTicketId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
var query = lambdaQuery()
|
var query = lambdaQuery()
|
||||||
// 数据权限:只能看到与当前登录人相关的工单
|
// 数据权限:只能看到与当前登录人相关的工单
|
||||||
.and(w -> {
|
.and(w -> {
|
||||||
|
|
@ -59,6 +67,9 @@ public class QmsIssueTicketServiceImpl
|
||||||
if (CollectionUtil.isNotEmpty(processTicketIds)) {
|
if (CollectionUtil.isNotEmpty(processTicketIds)) {
|
||||||
w.or().in(QmsIssueTicket::getId, processTicketIds);
|
w.or().in(QmsIssueTicket::getId, processTicketIds);
|
||||||
}
|
}
|
||||||
|
if (CollectionUtil.isNotEmpty(todoTicketIds)) {
|
||||||
|
w.or().in(QmsIssueTicket::getId, todoTicketIds);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.like(StrUtil.isNotBlank(request.getTicketNo()), QmsIssueTicket::getTicketNo, request.getTicketNo())
|
.like(StrUtil.isNotBlank(request.getTicketNo()), QmsIssueTicket::getTicketNo, request.getTicketNo())
|
||||||
.like(StrUtil.isNotBlank(request.getTicketTitle()), QmsIssueTicket::getTicketTitle, request.getTicketTitle())
|
.like(StrUtil.isNotBlank(request.getTicketTitle()), QmsIssueTicket::getTicketTitle, request.getTicketTitle())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue