工单状态新增字段修改
This commit is contained in:
parent
15f79032c0
commit
82b8a1fe07
|
|
@ -454,10 +454,10 @@ public class QmsIssueTicketControllerService {
|
|||
|
||||
// 3. 根据审批状态分支处理
|
||||
if (approvalStatus == 1) {
|
||||
// 驳回:不创建处理记录,巡检工单直接关闭
|
||||
// 驳回:不创建处理记录,巡检工单直接报废
|
||||
issueTicketService.lambdaUpdate()
|
||||
.eq(QmsIssueTicket::getId, ticket.getId())
|
||||
.set(QmsIssueTicket::getStatus, (short) 3)
|
||||
.set(QmsIssueTicket::getStatus, (short) 4)
|
||||
.set(QmsIssueTicket::getApprovalStatus, approvalStatus)
|
||||
.set(request.getApprovalOpinion() != null,
|
||||
QmsIssueTicket::getApprovalOpinion, request.getApprovalOpinion())
|
||||
|
|
@ -1304,8 +1304,14 @@ public class QmsIssueTicketControllerService {
|
|||
.eq(QmsIssueTicket::getStatus, (short) 3)
|
||||
.count();
|
||||
|
||||
// 工单总数 = 待处理 + 处理中 + 已完成 + 已关闭
|
||||
long totalCount = pendingCount + processingCount + completedCount + closedCount;
|
||||
Long scrapCount = issueTicketService.lambdaQuery()
|
||||
.eq(QmsIssueTicket::getSourceType, (short) 2)
|
||||
.eq(QmsIssueTicket::getCreateUserId, currentUserId)
|
||||
.eq(QmsIssueTicket::getStatus, (short) 4)
|
||||
.count();
|
||||
|
||||
// 工单总数 = 待处理 + 处理中 + 已完成 + 已关闭 + 报废
|
||||
long totalCount = pendingCount + processingCount + completedCount + closedCount + scrapCount;
|
||||
|
||||
// 设置统计字段
|
||||
pageData.setTotalCount(totalCount);
|
||||
|
|
@ -1313,6 +1319,7 @@ public class QmsIssueTicketControllerService {
|
|||
pageData.setProcessingCount(processingCount);
|
||||
pageData.setCompletedCount(completedCount);
|
||||
pageData.setClosedCount(closedCount);
|
||||
pageData.setScrapCount(scrapCount);
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ public class QmsIssueTicketProcessControllerService {
|
|||
|
||||
issueTicketService.lambdaUpdate()
|
||||
.eq(QmsIssueTicket::getId, ticket.getId())
|
||||
.set(QmsIssueTicket::getStatus, (short) 3)
|
||||
.set(QmsIssueTicket::getStatus, (short) 4)
|
||||
.set(QmsIssueTicket::getApprovalStatus, (short) 1)
|
||||
.set(QmsIssueTicket::getApprovalOpinion, request.getApprovalOpinion())
|
||||
.set(QmsIssueTicket::getApprovalTime, now)
|
||||
|
|
|
|||
|
|
@ -867,6 +867,8 @@ public class QmsReportControllerService {
|
|||
vo.setUnfinishedCount(0);
|
||||
vo.setPendingTransferCount(0);
|
||||
vo.setProcessingCount(0);
|
||||
vo.setClosedCount(0);
|
||||
vo.setScrapCount(0);
|
||||
vo.setCompletionRate(0.0);
|
||||
vo.setAvgProcessingTime("0天0小时");
|
||||
vo.setStatusDistributions(buildEmptyStatusDistributions());
|
||||
|
|
@ -882,12 +884,16 @@ public class QmsReportControllerService {
|
|||
int completedCount = (int) allTickets.stream().filter(t -> t.getStatus() != null && t.getStatus() == 2).count();
|
||||
int pendingTransferCount = (int) allTickets.stream().filter(t -> t.getStatus() != null && t.getStatus() == 0).count();
|
||||
int processingCount = (int) allTickets.stream().filter(t -> t.getStatus() != null && t.getStatus() == 1).count();
|
||||
int closedCount = (int) allTickets.stream().filter(t -> t.getStatus() != null && t.getStatus() == 3).count();
|
||||
int scrapCount = (int) allTickets.stream().filter(t -> t.getStatus() != null && t.getStatus() == 4).count();
|
||||
int unfinishedCount = total - completedCount;
|
||||
|
||||
vo.setCompletedCount(completedCount);
|
||||
vo.setUnfinishedCount(unfinishedCount);
|
||||
vo.setPendingTransferCount(pendingTransferCount);
|
||||
vo.setProcessingCount(processingCount);
|
||||
vo.setClosedCount(closedCount);
|
||||
vo.setScrapCount(scrapCount);
|
||||
|
||||
// 3. 总体完成率
|
||||
vo.setCompletionRate(round2(completedCount * 100.0 / total));
|
||||
|
|
@ -895,8 +901,9 @@ public class QmsReportControllerService {
|
|||
// 4. 平均处理时长(已完成工单的 completeTime - createTime)
|
||||
vo.setAvgProcessingTime(calculateTicketAvgProcessingTime(allTickets));
|
||||
|
||||
// 5. 三种状态占比
|
||||
vo.setStatusDistributions(buildStatusDistributions(total, pendingTransferCount, processingCount, completedCount));
|
||||
// 5. 状态占比
|
||||
vo.setStatusDistributions(buildStatusDistributions(total, pendingTransferCount, processingCount,
|
||||
completedCount, closedCount, scrapCount));
|
||||
|
||||
// 6. 完成状态分布(已完成工单中各审批结果占比)
|
||||
vo.setCompletionStatusList(buildCompletionStatusList(allTickets, completedCount));
|
||||
|
|
@ -937,10 +944,10 @@ public class QmsReportControllerService {
|
|||
}
|
||||
|
||||
/**
|
||||
* 构建三种状态占比
|
||||
* 构建状态占比
|
||||
*/
|
||||
private List<QmsTicketReportVO.StatusDistribution> buildStatusDistributions(
|
||||
int total, int pendingTransfer, int processing, int completed) {
|
||||
int total, int pendingTransfer, int processing, int completed, int closed, int scrap) {
|
||||
List<QmsTicketReportVO.StatusDistribution> list = new ArrayList<>();
|
||||
|
||||
QmsTicketReportVO.StatusDistribution d0 = new QmsTicketReportVO.StatusDistribution();
|
||||
|
|
@ -961,6 +968,18 @@ public class QmsReportControllerService {
|
|||
d2.setPercentage(round2(completed * 100.0 / total));
|
||||
list.add(d2);
|
||||
|
||||
QmsTicketReportVO.StatusDistribution d3 = new QmsTicketReportVO.StatusDistribution();
|
||||
d3.setStatus((short) 3);
|
||||
d3.setStatusName("已关闭");
|
||||
d3.setPercentage(round2(closed * 100.0 / total));
|
||||
list.add(d3);
|
||||
|
||||
QmsTicketReportVO.StatusDistribution d4 = new QmsTicketReportVO.StatusDistribution();
|
||||
d4.setStatus((short) 4);
|
||||
d4.setStatusName("报废");
|
||||
d4.setPercentage(round2(scrap * 100.0 / total));
|
||||
list.add(d4);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
@ -968,7 +987,7 @@ public class QmsReportControllerService {
|
|||
* 构建空状态分布
|
||||
*/
|
||||
private List<QmsTicketReportVO.StatusDistribution> buildEmptyStatusDistributions() {
|
||||
return buildStatusDistributions(1, 0, 0, 0);
|
||||
return buildStatusDistributions(1, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class QmsIssueTicketSearchQO extends PageQO {
|
|||
private Short ticketType;
|
||||
|
||||
/**
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import lombok.experimental.Accessors;
|
|||
public class QmsIssueTicketTabletSearchQO extends PageQO {
|
||||
|
||||
/**
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成(可选)
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废(可选)
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class QmsPdiTaskRecordDefectSearchQO {
|
|||
private Integer inspectionType;
|
||||
|
||||
/**
|
||||
* 工单流程状态(可选,来自qms_issue_ticket.status):0=待流转,1=处理中,2=已完成
|
||||
* 工单流程状态(可选,来自qms_issue_ticket.status):0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class QmsInspectionTicketDetailVO {
|
|||
private Long directorId;
|
||||
|
||||
/**
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ public class QmsIssueTicketDetailVO {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -35,4 +35,9 @@ public class QmsIssueTicketTabletPageData extends PageData<QmsIssueTicketVO> {
|
|||
* 已关闭数(status=3)
|
||||
*/
|
||||
private Long closedCount;
|
||||
|
||||
/**
|
||||
* 报废数(status=4)
|
||||
*/
|
||||
private Long scrapCount;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class QmsIssueTicketToDoVO {
|
|||
private LocalDateTime completeTime;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public class QmsIssueTicketVO {
|
|||
private String incidentLocation;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class QmsPdiTaskRecordDefectPageVO {
|
|||
private Long ticketId;
|
||||
|
||||
/**
|
||||
* 流程状态:有工单时取工单状态(0=待流转,1=处理中,2=已完成),无工单时取任务状态(3=未发起)
|
||||
* 流程状态:有工单时取工单状态(0=待流转,1=处理中,2=已完成,3=已关闭,4=报废),无工单时取任务状态(3=未发起)
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class QmsPdiTicketDetailVO {
|
|||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 工单状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ public class QmsPdiTicketMyDetailVO {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ public class QmsPqcTicketMyDetailVO {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,16 @@ public class QmsTicketReportVO {
|
|||
*/
|
||||
private Integer processingCount;
|
||||
|
||||
/**
|
||||
* 已关闭数(status=3)
|
||||
*/
|
||||
private Integer closedCount;
|
||||
|
||||
/**
|
||||
* 报废数(status=4)
|
||||
*/
|
||||
private Integer scrapCount;
|
||||
|
||||
/**
|
||||
* 总体完成率(百分比)
|
||||
*/
|
||||
|
|
@ -46,7 +56,7 @@ public class QmsTicketReportVO {
|
|||
private String avgProcessingTime;
|
||||
|
||||
/**
|
||||
* 各状态占比列表(待流转、处理中、已完成)
|
||||
* 各状态占比列表(待流转、处理中、已完成、已关闭、报废)
|
||||
*/
|
||||
private List<StatusDistribution> statusDistributions;
|
||||
|
||||
|
|
@ -82,7 +92,7 @@ public class QmsTicketReportVO {
|
|||
*/
|
||||
@Data
|
||||
public static class StatusDistribution {
|
||||
/** 状态(0=待流转,1=处理中,2=已完成) */
|
||||
/** 状态(0=待流转,1=处理中,2=已完成,3=已关闭,4=报废) */
|
||||
private Short status;
|
||||
/** 状态名称 */
|
||||
private String statusName;
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ public class QmsIssueTicket implements Serializable {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭
|
||||
* 状态:0=待流转,1=处理中,2=已完成,3=已关闭,4=报废
|
||||
*/
|
||||
private Short status;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue