| | |
| | | /** |
| | | * 工单号 |
| | | */ |
| | | private String workOrderNo; |
| | | private String keyword; |
| | | |
| | | /** |
| | | * 运维处理时间 |
New file |
| | |
| | | package com.ycl.platform.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ycl.platform.base.AbsVo; |
| | | import com.ycl.platform.domain.entity.WorkOrder; |
| | | import lombok.Data; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.lang.NonNull; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 工单展示 |
| | | * |
| | | * @author xp |
| | | * @since 2024-03-05 |
| | | */ |
| | | @Data |
| | | public class WorkOrderDetailVO extends AbsVo { |
| | | |
| | | /** 工单号 */ |
| | | private String workOrderNo; |
| | | |
| | | /** 状态 */ |
| | | private String status; |
| | | |
| | | /** 运维单位 */ |
| | | private Integer unitId; |
| | | private String unitName; |
| | | private String unitContact; |
| | | private String unitContactPhone; |
| | | |
| | | /** 工单来源/设备名称 */ |
| | | private String source; |
| | | |
| | | /** |
| | | * 设备编号 |
| | | */ |
| | | private String serialNumber; |
| | | |
| | | /** |
| | | * 处理时限 |
| | | */ |
| | | private Integer processingPeriod; |
| | | |
| | | /** |
| | | * 是否重点点位 |
| | | */ |
| | | private Boolean important; |
| | | |
| | | /** 故障类型 */ |
| | | private List<String> errorTypeList; |
| | | |
| | | /** 故障类型 */ |
| | | private String errorType; |
| | | |
| | | /** 0未超时 1超时 */ |
| | | private Integer overtime; |
| | | |
| | | /** 下发时间 */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date distributeTime; |
| | | |
| | | /** |
| | | * 是否报备 |
| | | */ |
| | | private Boolean hasReport; |
| | | |
| | | public static WorkOrderDetailVO getVoByEntity(@NonNull WorkOrder entity, WorkOrderDetailVO vo) { |
| | | if(vo == null) { |
| | | vo = new WorkOrderDetailVO(); |
| | | } |
| | | BeanUtils.copyProperties(entity, vo); |
| | | return vo; |
| | | } |
| | | |
| | | } |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import enumeration.general.WorkOrderStatusEnum; |
| | | import org.springframework.lang.NonNull; |
| | | import org.springframework.beans.BeanUtils; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | private String workOrderNo; |
| | | |
| | | /** 状态 */ |
| | | private String status; |
| | | private WorkOrderStatusEnum status; |
| | | |
| | | /** 运维单位 */ |
| | | private Integer unitId; |
| | |
| | | ExcelUtil<ReportVO> util = new ExcelUtil<>(ReportVO.class); |
| | | util.exportExcel(response, list, "运维单位"); |
| | | } |
| | | |
| | | @GetMapping("/list/{gb}") |
| | | @ApiOperation(value = "根据国标码查报备", notes = "根据国标码查报备") |
| | | public Result getListByGb(@PathVariable("gb") String gb) |
| | | { |
| | | return reportService.getListByGb(gb); |
| | | } |
| | | } |
| | |
| | | public Result list() { |
| | | return workOrderService.all(); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("/detail/info/{workOrderNo}") |
| | | @ApiOperation(value = "详情", notes = "详情") |
| | | @PreAuthorize("@ss.hasPermi('work:order:detail')") |
| | | public Result detailByNo(@PathVariable("workOrderNo") String workOrderNo) { |
| | | return workOrderService.detailByNo(workOrderNo); |
| | | } |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | List<Report> getTogether(@Param("pid") String pid); |
| | | |
| | | /** |
| | | * 国标码查设备 |
| | | * |
| | | * @param gb |
| | | * @return |
| | | */ |
| | | List<ReportVO> getListByGb(@Param("gb") String gb); |
| | | } |
| | |
| | | import com.ycl.platform.domain.entity.WorkOrder; |
| | | import com.ycl.platform.domain.query.*; |
| | | import com.ycl.platform.domain.vo.DeviceInfoVO; |
| | | import com.ycl.platform.domain.vo.WorkOrderDetailVO; |
| | | import com.ycl.platform.domain.vo.WorkOrderVO; |
| | | import com.ycl.platform.domain.vo.YwPointJobVO; |
| | | import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; |
| | |
| | | * @return |
| | | */ |
| | | List<WorkOrder> getNotFinishedWorkOrders(@Param("list") List<String> serialNumberList); |
| | | |
| | | /** |
| | | * 工单号查详情 |
| | | * |
| | | * @param workOrderNo |
| | | * @return |
| | | */ |
| | | WorkOrderDetailVO detailByNo(@Param("workOrderNo") String workOrderNo); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | Result getTogether(String pid); |
| | | |
| | | /** |
| | | * 国标码查报备记录 |
| | | * |
| | | * @param gb |
| | | * @return |
| | | */ |
| | | Result getListByGb(String gb); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | Result processImg(String workOrderNo); |
| | | |
| | | /** |
| | | * 工单详情 |
| | | * |
| | | * @param workOrderNo |
| | | * @return |
| | | */ |
| | | Result detailByNo(String workOrderNo); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ycl.platform.domain.dto.ReportImportDTO; |
| | | import com.ycl.platform.domain.entity.*; |
| | |
| | | } |
| | | return Result.ok("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public Result getListByGb(String gb) { |
| | | List<ReportVO> list = baseMapper.getListByGb(gb); |
| | | for (ReportVO report : list) { |
| | | List<ReportErrorType> errors = new LambdaQueryChainWrapper<>(reportErrorTypeService.getBaseMapper()) |
| | | .eq(ReportErrorType::getReportId, report.getId()) |
| | | .orderByDesc(ReportErrorType::getCreateTime) |
| | | .list(); |
| | | String err = errors.stream().map(ReportErrorType::getErrorType).collect(Collectors.joining(",")); |
| | | report.setErrorType(err); |
| | | } |
| | | return Result.ok().data(list); |
| | | } |
| | | } |
| | |
| | | } |
| | | return Result.ok().data(process); |
| | | } |
| | | |
| | | @Override |
| | | public Result detailByNo(String workOrderNo) { |
| | | WorkOrderDetailVO workOrder = baseMapper.detailByNo(workOrderNo); |
| | | // 是否报备 |
| | | boolean hasReport = new LambdaQueryChainWrapper<>(reportMapper) |
| | | .eq(Report::getSerialNumber, workOrder.getSerialNumber()) |
| | | .exists(); |
| | | workOrder.setHasReport(hasReport); |
| | | return Result.ok().data(workOrder); |
| | | } |
| | | } |
| | |
| | | spring: |
| | | # 数据源配置 |
| | | datasource: |
| | | url: jdbc:mysql://localhost:3306/zgyw?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true&allowPublicKeyRetrieval=true |
| | | url: jdbc:mysql://101.35.247.188:3306/zgyw?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true&allowPublicKeyRetrieval=true |
| | | username: root |
| | | password: 1234 |
| | | password: ycl@202466 |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | |
| | |
| | | ORDER BY r.update_time DESC |
| | | </select> |
| | | |
| | | <select id="getListByGb" resultType="com.ycl.platform.domain.vo.ReportVO"> |
| | | SELECT |
| | | DISTINCT |
| | | r.id, |
| | | r.report_materials, |
| | | r.create_time, |
| | | r.report_type, |
| | | r.report_content, |
| | | r.status, |
| | | r.serial_number as pointId, |
| | | r.begin_create_time, |
| | | r.end_create_time, |
| | | r.import_batch_number, |
| | | r.update_time, |
| | | u.unit_name, |
| | | p.yw_person_name as peopleName, |
| | | pt.point_name |
| | | FROM |
| | | t_report r |
| | | INNER JOIN t_report_error_type ret ON ret.report_id = r.id and ret.deleted = 0 |
| | | LEFT JOIN t_yw_unit u ON r.unit_id = u.id and u.deleted = 0 |
| | | LEFT JOIN t_yw_people p ON r.people_id = p.id and p.deleted = 0 |
| | | LEFT JOIN t_yw_point pt ON r.serial_number = pt.serial_number and pt.deleted = 0 |
| | | WHERE |
| | | r.serial_number = #{gb} AND r.deleted = 0 |
| | | ORDER BY r.update_time DESC |
| | | </select> |
| | | |
| | | <select id="examineRecord" resultMap="BaseResultMap"> |
| | | SELECT |
| | | r.*, u.unit_name, p.yw_person_name as peopleName, pt.point_name, ar.result, ar.result_remark, ar.create_time as auditing_time |
| | |
| | | |
| | | <select id="page" resultMap="BaseResultMap"> |
| | | SELECT |
| | | wo.id,wo.status, wo.work_order_no, wo.serial_number,wo.create_time, wo.unit_id, wo.yw_people_id, wo.yw_handle_time, wo.yw_result, wo.yw_check_result, wo.overtime, wo.deduct, |
| | | wo.id,wo.status, |
| | | wo.work_order_no, |
| | | wo.serial_number, |
| | | wo.create_time, |
| | | wo.unit_id, |
| | | wo.yw_people_id, |
| | | wo.yw_handle_time, |
| | | wo.yw_result, |
| | | wo.yw_check_result, |
| | | wo.overtime, |
| | | wo.deduct, |
| | | u.unit_name, |
| | | p.yw_person_name, |
| | | tm.name as source, |
| | |
| | | <if test="query.unitId != null"> |
| | | AND wo.unit_id = #{query.unitId} |
| | | </if> |
| | | <if test="query.workOrderNo != null and query.workOrderNo != ''"> |
| | | AND wo.work_order_no = #{query.workOrderNo} |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (wo.work_order_no like concat('%', #{query.keyword}, '%') or tm.name like concat('%', #{query.keyword}, '%')) |
| | | </if> |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | |
| | | <result column="status" property="status" typeHandler="com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler"/> |
| | | <result column="error_names" property="errorType"/> |
| | | </resultMap> |
| | | |
| | | <select id="detailByNo" resultType="com.ycl.platform.domain.vo.WorkOrderDetailVO"> |
| | | SELECT |
| | | wo.id, |
| | | wo.work_order_no, |
| | | wo.serial_number, |
| | | dr.create_time as distributeTime, |
| | | m.name as source, |
| | | yw.unit_name, |
| | | yw.unit_contact, |
| | | yw.unit_contact_phone, |
| | | wo.overtime, |
| | | wo.processing_period, |
| | | wo.status |
| | | FROM |
| | | t_work_order wo |
| | | INNER JOIN t_work_order_distribute_record dr ON wo.work_order_no = dr.work_order_no AND dr.deleted = 0 AND wo.work_order_no = #{workOrderNo} |
| | | INNER JOIN t_monitor m ON m.serial_number = wo.serial_number |
| | | LEFT JOIN t_yw_unit yw ON yw.id = wo.unit_id AND yw.deleted = 0 |
| | | </select> |
| | | </mapper> |