diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/LineDeviceRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/LineDeviceRespVO.java index 5df35f3df4..d48f956323 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/LineDeviceRespVO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/LineDeviceRespVO.java @@ -22,12 +22,12 @@ public class LineDeviceRespVO { @Schema(description = "设备Id") private Long deviceId; - @Schema(description = "产线编码") - @ExcelProperty("产线编码") + @Schema(description = "组织编码") + @ExcelProperty("组织编码") private String lineNode; - @Schema(description = "产线名称") - @ExcelProperty("产线名称") + @Schema(description = "组织名称") + @ExcelProperty("组织名称") private String lineName; @Schema(description = "设备编码") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/DashboardController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/DashboardController.java index c9c3d78bd8..e435f6e6af 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/DashboardController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/DashboardController.java @@ -7,7 +7,11 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO; import cn.iocoder.yudao.module.erp.service.product.ErpProductService; import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.TaskVO; +import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.vo.DeviceLedgerRespVO; import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanRespVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement.MoldTicketManagementDO; @@ -28,6 +32,8 @@ import cn.iocoder.yudao.module.mes.service.moldticketmanagement.MoldTicketManage import cn.iocoder.yudao.module.mes.service.organization.OrganizationService; import cn.iocoder.yudao.module.mes.service.plan.PlanService; import cn.iocoder.yudao.module.mes.service.ticketmanagement.TicketManagementService; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -36,6 +42,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -418,4 +425,132 @@ public class DashboardController { deviceRepairLineOptionsVO.setSeries(matchedCounts); return success(deviceRepairLineOptionsVO); } + + + @GetMapping("/getTaskStatistics") + @Operation(summary = "获得各设备统计个数") + @PreAuthorize("@ss.hasPermission('mes:device-ledger:query')") + public CommonResult getTaskStatistics() { + + EventStatisticsVO vo = new EventStatisticsVO(); + //设备点检 + ticketManagementService.selectCountDeviceInspection(vo ); + //设备保养 + ticketManagementService.selectCountDeviceMaintenance(vo ); + //设备维修 + dvRepairService.selectCountDeviceRepair(vo ); + //模具点检 + moldTicketManagementService.selectCountMoldInspection(vo ); + //模具保养 + moldTicketManagementService.selectCountMoldMaintenance(vo ); + //模具维修 + moldRepairService.selectCountMoldRepair(vo ); + + // 计算占比 + int total = vo.getDeviceInspection() + + vo.getDeviceMaintenance() + + vo.getDeviceRepair() + + vo.getMoldInspection() + + vo.getMoldMaintenance() + + vo.getMoldRepair(); + + if (total > 0) { + vo.setDeviceInspectionProportion(calcPercent(vo.getDeviceInspection(), total)); + vo.setDeviceMaintenanceProportion(calcPercent(vo.getDeviceMaintenance(), total)); + vo.setDeviceRepairProportion(calcPercent(vo.getDeviceRepair(), total)); + + vo.setMoldInspectionProportion(calcPercent(vo.getMoldInspection(), total)); + vo.setMoldMaintenanceProportion(calcPercent(vo.getMoldMaintenance(), total)); + vo.setMoldRepairProportion(calcPercent(vo.getMoldRepair(), total)); + } else { + // 防止除 0 + vo.setDeviceInspectionProportion("0%"); + vo.setDeviceMaintenanceProportion("0%"); + vo.setDeviceRepairProportion("0%"); + vo.setMoldInspectionProportion("0%"); + vo.setMoldMaintenanceProportion("0%"); + vo.setMoldRepairProportion("0%"); + } + + return success(vo); + } + + /** + * 计算百分比,保留整数 + */ + private String calcPercent(int value, int total) { + if (total <= 0) { + return "0%"; + } + int percent = (int) Math.round(value * 100.0 / total); + return percent + "%"; + } + + + + @GetMapping("/getAllTaskList") + @Operation(summary = "获得所有任务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('mes:bom:query')") + public CommonResult> getAllTaskList() { + List taskVOList = new ArrayList<>(); + + // 设备保养 点检 + List ticketManagementDOList = ticketManagementService.getList(); + for (TicketManagementDO ticketManagementDO : ticketManagementDOList) { + TaskVO taskVO = new TaskVO(); + taskVO.setCode(ticketManagementDO.getPlanNo()); + taskVO.setName(ticketManagementDO.getConfigName()); + if (ticketManagementDO.getPlanType() == 2) { + taskVO.setType("设备保养"); + } else { + taskVO.setType("设备点检"); + } + taskVO.setFinishStatus(ticketManagementDO.getJobStatus()); + taskVO.setResultStatus(ticketManagementDO.getJobResult()); + taskVOList.add(taskVO); + } + + // 设备维修 + List dvRepairDOList = dvRepairService.getList(); + for (DvRepairDO dvRepairDO : dvRepairDOList) { + TaskVO taskVO = new TaskVO(); + taskVO.setCode(dvRepairDO.getRepairCode()); + taskVO.setName(dvRepairDO.getRepairName()); + taskVO.setType("设备维修"); + taskVO.setFinishStatus(String.valueOf(dvRepairDO.getStatus())); + taskVO.setResultStatus(dvRepairDO.getRepairStatus()); + taskVOList.add(taskVO); + } + + // 模具保养 点检 + List moldTicketManagementDOList = moldTicketManagementService.getList(); + for (MoldTicketManagementDO moldTicketManagementDO : moldTicketManagementDOList) { + TaskVO taskVO = new TaskVO(); + taskVO.setCode(moldTicketManagementDO.getPlanNo()); + taskVO.setName(moldTicketManagementDO.getConfigName()); + if (moldTicketManagementDO.getPlanType() == 2) { + taskVO.setType("模具保养"); + } else { + taskVO.setType("模具点检"); + } + taskVO.setFinishStatus(String.valueOf(moldTicketManagementDO.getJobStatus())); + taskVO.setResultStatus(moldTicketManagementDO.getJobResult()); + taskVOList.add(taskVO); + } + + // 模具维修 + List moldRepairDOList = moldRepairService.getList(); + for (MoldRepairDO moldRepairDO : moldRepairDOList) { + TaskVO taskVO = new TaskVO(); + taskVO.setCode(moldRepairDO.getRepairCode()); + taskVO.setName(moldRepairDO.getRepairName()); + taskVO.setType("模具维修"); + taskVO.setFinishStatus(String.valueOf(moldRepairDO.getStatus())); + taskVO.setResultStatus(moldRepairDO.getRepairStatus()); + taskVOList.add(taskVO); + } + + return success(taskVOList); + } } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/EventStatisticsVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/EventStatisticsVO.java new file mode 100644 index 0000000000..042a8d6cd6 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/EventStatisticsVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 大屏各任务数统计 VO") +@Data +@ToString(callSuper = true) +public class EventStatisticsVO { + + @Schema(description = "设备点检") + private int deviceInspection; + + @Schema(description = "设备点检占比") + private String deviceInspectionProportion; + + @Schema(description = "模具点检") + private int moldInspection; + + @Schema(description = "模具点检占比") + private String moldInspectionProportion; + + @Schema(description = "设备保养") + private int deviceMaintenance; + + @Schema(description = "设备保养占比") + private String deviceMaintenanceProportion; + + @Schema(description = "模具保养") + private int moldMaintenance; + + @Schema(description = "模具保养占比") + private String moldMaintenanceProportion; + + @Schema(description = "设备维修") + private int deviceRepair; + + @Schema(description = "设备维修占比") + private String deviceRepairProportion; + + @Schema(description = "模具维修") + private int moldRepair; + + @Schema(description = "模具维修占比") + private String moldRepairProportion; + + +} diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/TaskVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/TaskVO.java new file mode 100644 index 0000000000..76e0ae9dc5 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/dashboard/TaskVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 大屏任务返回 VO") +@Data +@ToString(callSuper = true) +public class TaskVO { + + @Schema(description = "编码") + private String code; + + @Schema(description = "名称") + private String name; + + @Schema(description = "类型") + private String type; + + @Schema(description = "完成状态 0-待完成 1-已完成 2-已取消") + private String finishStatus; + + @Schema(description = "完成结果 1-通过 2-不通过") + private int resultStatus; +} diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/DvRepairController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/DvRepairController.java index ab2a584894..dc18c11d75 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/DvRepairController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/DvRepairController.java @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairEnum; -import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.StatusEnum; +import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairStatusEnum; import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.vo.*; -import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.vo.TicketInspectionExportVO; -import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.vo.TicketResultsSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairLineDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.ticketresults.TicketResultsDO; import cn.iocoder.yudao.module.mes.service.dvrepair.DvRepairService; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; @@ -117,7 +114,7 @@ public class DvRepairController { dvSubjectRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname()); } if (dvSubjectRespVO.getStatus() !=null) { - String statusName = StatusEnum.getDescriptionByCode(dvSubjectRespVO.getStatus()); + String statusName = RepairStatusEnum.getDescriptionByCode(dvSubjectRespVO.getStatus()); dvSubjectRespVO.setStatusName(statusName); } if (dvSubjectRespVO.getRepairStatus() !=null) { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/StatusEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/RepairStatusEnum.java similarity index 80% rename from yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/StatusEnum.java rename to yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/RepairStatusEnum.java index 6e2e644fb8..4ecebdeade 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/StatusEnum.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/enums/RepairStatusEnum.java @@ -13,7 +13,7 @@ import java.util.stream.Collectors; * 0-待完成 1-已完成 */ @Getter -public enum StatusEnum { +public enum RepairStatusEnum { PENDING(0, "待完成"), COMPLETED(1, "已完成"); @@ -21,7 +21,7 @@ public enum StatusEnum { private final Integer code; private final String description; - StatusEnum(Integer code, String description) { + RepairStatusEnum(Integer code, String description) { this.code = code; this.description = description; } @@ -29,11 +29,11 @@ public enum StatusEnum { /** * 根据code获取枚举 */ - public static StatusEnum getByCode(Integer code) { + public static RepairStatusEnum getByCode(Integer code) { if (code == null) { return null; } - for (StatusEnum status : values()) { + for (RepairStatusEnum status : values()) { if (status.getCode().equals(code)) { return status; } @@ -45,7 +45,7 @@ public enum StatusEnum { * 根据code获取描述 */ public static String getDescriptionByCode(Integer code) { - StatusEnum status = getByCode(code); + RepairStatusEnum status = getByCode(code); return status != null ? status.getDescription() : "未知"; } @@ -61,7 +61,7 @@ public enum StatusEnum { */ public static List getAllCodes() { return Arrays.stream(values()) - .map(StatusEnum::getCode) + .map(RepairStatusEnum::getCode) .collect(Collectors.toList()); } @@ -70,7 +70,7 @@ public enum StatusEnum { */ public static List getAllDescriptions() { return Arrays.stream(values()) - .map(StatusEnum::getDescription) + .map(RepairStatusEnum::getDescription) .collect(Collectors.toList()); } @@ -79,7 +79,7 @@ public enum StatusEnum { */ public static Map getCodeDescriptionMap() { Map map = new LinkedHashMap<>(); - for (StatusEnum status : values()) { + for (RepairStatusEnum status : values()) { map.put(status.getCode(), status.getDescription()); } return map; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ticketmanagement/enums/JobStatusEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ticketmanagement/enums/JobStatusEnum.java new file mode 100644 index 0000000000..96e074dd9b --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ticketmanagement/enums/JobStatusEnum.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.enums; + +import lombok.Getter; + +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 作业状态枚举 + * 0-待完成 1-已完成 2-已取消 + */ +@Getter +public enum JobStatusEnum { + + PENDING(0, "待完成"), + COMPLETED(1, "已完成"), + CANCELED(2, "已取消"); + + private final Integer code; + private final String description; + + JobStatusEnum(Integer code, String description) { + this.code = code; + this.description = description; + } + + /** + * 根据 code 获取枚举 + */ + public static JobStatusEnum getByCode(Integer code) { + if (code == null) { + return null; + } + for (JobStatusEnum status : values()) { + if (status.getCode().equals(code)) { + return status; + } + } + return null; + } + + /** + * 根据 code 获取描述 + */ + public static String getDescriptionByCode(Integer code) { + JobStatusEnum status = getByCode(code); + return status != null ? status.getDescription() : "未知"; + } + + /** + * 校验 code 是否有效 + */ + public static boolean isValidCode(Integer code) { + return getByCode(code) != null; + } + + /** + * 获取所有 code 列表 + */ + public static List getAllCodes() { + return Arrays.stream(values()) + .map(JobStatusEnum::getCode) + .collect(Collectors.toList()); + } + + /** + * 获取所有描述列表 + */ + public static List getAllDescriptions() { + return Arrays.stream(values()) + .map(JobStatusEnum::getDescription) + .collect(Collectors.toList()); + } + + /** + * 获取 code -> 描述 映射 + */ + public static Map getCodeDescriptionMap() { + Map map = new LinkedHashMap<>(); + for (JobStatusEnum status : values()) { + map.put(status.getCode(), status.getDescription()); + } + return map; + } +} diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dvrepair/DvRepairMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dvrepair/DvRepairMapper.java index 84b672138a..01fe01ed5c 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dvrepair/DvRepairMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dvrepair/DvRepairMapper.java @@ -6,6 +6,7 @@ import java.util.stream.Collectors; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvsubject.DvSubjectDO; import com.alibaba.excel.util.StringUtils; @@ -56,4 +57,5 @@ public interface DvRepairMapper extends BaseMapperX { return selectPage(reqVO,dvRepairDOLambdaQueryWrapperX ); } + void selectDeviceRepair(EventStatisticsVO eventStatisticsVO); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairService.java index a3c8a0166b..4b6651784a 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.mes.service.dvrepair; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.vo.*; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairLineDO; @@ -75,4 +76,8 @@ public interface DvRepairService { Long getRepairListCountByRepairStatus(); List getDvRepairDOListByStatus(); + + void selectCountDeviceRepair(EventStatisticsVO eventStatisticsVO); + + List getList(); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java index 3726d49510..cb85f48b6e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java @@ -5,7 +5,9 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.iot.dal.dataobject.devicemodel.DeviceModelDO; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairResultEnum; +import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairStatusEnum; import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.enums.JobResultEnum; import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.vo.TicketResultsSaveReqVO; @@ -283,6 +285,21 @@ public class DvRepairServiceImpl implements DvRepairService { } + @Override + public void selectCountDeviceRepair(EventStatisticsVO eventStatisticsVO) { + + //设备待维修数量 + int count = dvRepairMapper.selectCount(Wrappers.lambdaQuery() + .eq(DvRepairDO::getStatus, RepairStatusEnum.PENDING.getCode())).intValue(); + + eventStatisticsVO.setDeviceRepair(count); + } + + @Override + public List getList() { + return dvRepairMapper.selectList(); + } + private LocalDateTime parseToLocalDateTime(String timeStr) { if (StringUtils.isBlank(timeStr)) { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairService.java index aa06e4edbb..bd86891baf 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.mes.service.moldrepair; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineRespVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairUpdateReqVO; @@ -78,5 +79,9 @@ public interface MoldRepairService { Long getRepairListCountByRepairStatus(); List getMoldRepairDOListByStatus(); + + void selectCountMoldRepair(EventStatisticsVO eventStatisticsVO); + + List getList(); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java index 8044c0871c..d9f549936a 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.service.moldrepair; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.enums.RepairResultEnum; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineRespVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO; @@ -430,4 +431,17 @@ public class MoldRepairServiceImpl implements MoldRepairService { .eq(MoldRepairDO::getRepairStatus, 0)); } + + @Override + public void selectCountMoldRepair(EventStatisticsVO eventStatisticsVO) { + //未完成维修单 + int intValue = moldRepairMapper.selectCount(Wrappers.lambdaQuery() + .eq(MoldRepairDO::getStatus, 0)).intValue(); + eventStatisticsVO.setMoldRepair(intValue); + } + + @Override + public List getList() { + return moldRepairMapper.selectList(); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementService.java index 04a5a023be..fb59e912e3 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementService.java @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.mes.service.moldticketmanagement; import java.util.*; import javax.validation.*; + +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.moldticketmanagement.vo.*; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement.MoldTicketManagementDO; @@ -67,4 +69,9 @@ public interface MoldTicketManagementService { List getListByJobStatus(); + void selectCountMoldInspection(EventStatisticsVO eventStatisticsVO); + + void selectCountMoldMaintenance(EventStatisticsVO eventStatisticsVO); + + List getList(); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementServiceImpl.java index 0a776b61ae..90e0c1b8ae 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldticketmanagement/MoldTicketManagementServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.mes.service.moldticketmanagement; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.enums.PlanTypeEnum; import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldDO; import cn.iocoder.yudao.module.mes.dal.dataobject.ticketmanagement.TicketManagementDO; @@ -170,4 +171,28 @@ public class MoldTicketManagementServiceImpl implements MoldTicketManagementServ .eq(MoldTicketManagementDO::getJobStatus, 0)); } + @Override + public void selectCountMoldInspection(EventStatisticsVO eventStatisticsVO) { + //模具点检 + int intValue = moldticketManagementMapper.selectCount(Wrappers.lambdaQuery() + .eq(MoldTicketManagementDO::getPlanType, MoldPlanTypeEnum.INSPECTION.getCode()) + .eq(MoldTicketManagementDO::getJobStatus,0)).intValue(); + + eventStatisticsVO.setMoldInspection(intValue); + } + + @Override + public void selectCountMoldMaintenance(EventStatisticsVO eventStatisticsVO) { + //模具保养 + int intValue = moldticketManagementMapper.selectCount(Wrappers.lambdaQuery() + .eq(MoldTicketManagementDO::getPlanType, MoldPlanTypeEnum.MAINTENANCE.getCode()) + .eq(MoldTicketManagementDO::getJobStatus,0)).intValue(); + eventStatisticsVO.setMoldMaintenance(intValue); + } + + @Override + public List getList() { + return moldticketManagementMapper.selectList(); + } + } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementService.java index dccd9e86e3..95d4fa6886 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementService.java @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.mes.service.ticketmanagement; import java.util.*; import javax.validation.*; + +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.vo.*; import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement.MoldTicketManagementDO; import cn.iocoder.yudao.module.mes.dal.dataobject.ticketmanagement.TicketManagementDO; @@ -66,4 +68,10 @@ public interface TicketManagementService { Long getDianjianListCountByJobStatus(); List getListByJobStatus(); + + void selectCountDeviceInspection(EventStatisticsVO eventStatisticsVO); + + void selectCountDeviceMaintenance(EventStatisticsVO eventStatisticsVO); + + List getList(); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementServiceImpl.java index b2c997dcbd..bf4deaf3c4 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ticketmanagement/TicketManagementServiceImpl.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.mes.service.ticketmanagement; +import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO; +import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.enums.JobStatusEnum; import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.enums.PlanTypeEnum; import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO; import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO; @@ -149,6 +151,31 @@ public class TicketManagementServiceImpl implements TicketManagementService { .eq(TicketManagementDO::getJobStatus, 0)); } + @Override + public void selectCountDeviceInspection(EventStatisticsVO eventStatisticsVO) { + //点检 + int count = ticketManagementMapper.selectCount(Wrappers.lambdaQuery() + .eq(TicketManagementDO::getPlanType, PlanTypeEnum.INSPECTION.getCode()) + .eq(TicketManagementDO::getJobStatus, JobStatusEnum.PENDING.getCode())).intValue();; + + eventStatisticsVO.setDeviceInspection(count); + } + + @Override + public void selectCountDeviceMaintenance(EventStatisticsVO eventStatisticsVO) { + + //保养 + int count = ticketManagementMapper.selectCount(Wrappers.lambdaQuery() + .eq(TicketManagementDO::getPlanType, PlanTypeEnum.MAINTENANCE.getCode()) + .eq(TicketManagementDO::getJobStatus, JobStatusEnum.PENDING.getCode())).intValue();; + + eventStatisticsVO.setDeviceMaintenance(count); + } + + @Override + public List getList() { + return ticketManagementMapper.selectList(); + } /**