From f5e0ae6c3e2d4b7367389315bf24596446280430 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 09 九月 2024 18:35:09 +0800
Subject: [PATCH] 工单详情:工单信息、报备信息
---
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 36 ++++++++
ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java | 8 ++
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 9 ++
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java | 4
ycl-server/src/main/resources/application-dev.yml | 4
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java | 2
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 8 ++
ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java | 15 +++
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderDetailVO.java | 79 +++++++++++++++++++
ycl-server/src/main/java/com/ycl/platform/service/ReportService.java | 8 ++
ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java | 7 +
ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml | 28 +++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 11 ++
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java | 9 ++
14 files changed, 221 insertions(+), 7 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index 1712e99..0249df5 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -24,7 +24,7 @@
/**
* 宸ュ崟鍙�
*/
- private String workOrderNo;
+ private String keyword;
/**
* 杩愮淮澶勭悊鏃堕棿
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderDetailVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderDetailVO.java
new file mode 100644
index 0000000..7e5c654
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderDetailVO.java
@@ -0,0 +1,79 @@
+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;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
index 4d730b9..38acde9 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
@@ -7,6 +7,8 @@
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;
@@ -27,7 +29,7 @@
private String workOrderNo;
/** 鐘舵�� */
- private String status;
+ private WorkOrderStatusEnum status;
/** 杩愮淮鍗曚綅 */
private Integer unitId;
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
index bf5d5ef..197de36 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
@@ -127,4 +127,11 @@
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);
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 39216f0..16e8e69 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -143,4 +143,13 @@
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);
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
index f61f978..544aa1d 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
@@ -49,4 +49,12 @@
* @return
*/
List<Report> getTogether(@Param("pid") String pid);
+
+ /**
+ * 鍥芥爣鐮佹煡璁惧
+ *
+ * @param gb
+ * @return
+ */
+ List<ReportVO> getListByGb(@Param("gb") String gb);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
index 1625fb5..c37308f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -5,6 +5,7 @@
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;
@@ -92,4 +93,12 @@
* @return
*/
List<WorkOrder> getNotFinishedWorkOrders(@Param("list") List<String> serialNumberList);
+
+ /**
+ * 宸ュ崟鍙锋煡璇︽儏
+ *
+ * @param workOrderNo
+ * @return
+ */
+ WorkOrderDetailVO detailByNo(@Param("workOrderNo") String workOrderNo);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
index bcea92c..02eef8c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
@@ -109,4 +109,12 @@
* @return
*/
Result getTogether(String pid);
+
+ /**
+ * 鍥芥爣鐮佹煡鎶ュ璁板綍
+ *
+ * @param gb
+ * @return
+ */
+ Result getListByGb(String gb);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index 0f3bf8b..0c54687 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -216,4 +216,12 @@
* @return
*/
Result processImg(String workOrderNo);
+
+ /**
+ * 宸ュ崟璇︽儏
+ *
+ * @param workOrderNo
+ * @return
+ */
+ Result detailByNo(String workOrderNo);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
index a4e0441..b9df674 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -3,6 +3,7 @@
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.*;
@@ -386,4 +387,18 @@
}
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);
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index edc2c11..f662ccf 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -782,4 +782,15 @@
}
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);
+ }
}
diff --git a/ycl-server/src/main/resources/application-dev.yml b/ycl-server/src/main/resources/application-dev.yml
index cdc2747..137d862 100644
--- a/ycl-server/src/main/resources/application-dev.yml
+++ b/ycl-server/src/main/resources/application-dev.yml
@@ -37,9 +37,9 @@
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
diff --git a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
index 1b7816b..1877141 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -61,6 +61,34 @@
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
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 4717be2..d2959dd 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -32,7 +32,17 @@
<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,
@@ -52,8 +62,8 @@
<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}
@@ -289,4 +299,24 @@
<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>
--
Gitblit v1.8.0