PDI 根据部件名称搜索部件的检测结果

This commit is contained in:
zhangke 2026-06-15 14:19:55 +08:00
parent 40d34676ed
commit 3bd97a9ffa
9 changed files with 174 additions and 1 deletions

View File

@ -3,10 +3,12 @@ package com.nflg.qms.admin.controller;
import com.nflg.qms.admin.service.QmsPdiTaskRecordControllerService;
import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskInspectionResultQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordDefectSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordTransferQO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDefectPageVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordPageVO;
@ -83,6 +85,15 @@ public class QmsPdiTaskRecordController extends BaseController {
return ApiResult.success(taskRecordControllerService.getInspectionImages(id));
}
/**
* 分页查询检验结果详情联查检测项和部件信息
*/
@PostMapping("inspectionResultDetail")
public ApiResult<PageData<QmsPdiTaskInspectionResultVO>> inspectionResultDetail(
@Valid @RequestBody QmsPdiTaskInspectionResultQO request) {
return ApiResult.success(taskRecordControllerService.inspectionResultDetail(request));
}
/**
* 查询任务详情
*/

View File

@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.NflgException;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskInspectionResultQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordDefectSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordTransferQO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDefectPageVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordPageVO;
@ -400,7 +402,8 @@ public class QmsPdiTaskRecordControllerService {
QmsPdiTaskRecordDetailVO.LoadingItemDetailVO detailVO = new QmsPdiTaskRecordDetailVO.LoadingItemDetailVO();
detailVO.setDeliveryItemId(lr.getInspectionItemId());
detailVO.setInspectionItemImage(convertImageIdsToVO(lr.getInspectionItemImage()));
detailVO.setInspectionBy(lr.getInspectionBy());
detailVO.setInspectionTime(lr.getInspectionTime());
QmsPdiDetectionRulesDeliveryItem di = finalMap.get(lr.getInspectionItemId());
if (di != null) {
detailVO.setChecklist(di.getChecklist());
@ -455,6 +458,19 @@ public class QmsPdiTaskRecordControllerService {
return convertImageIdsToVO(result.getInspectionItemImage());
}
// ========================= 检验结果详情分页 =========================
/**
* 分页查询检验结果详情联查检测项和部件信息
*/
public PageData<QmsPdiTaskInspectionResultVO> inspectionResultDetail(QmsPdiTaskInspectionResultQO request) {
Page<QmsPdiTaskInspectionResultVO> page = inspectionResultsService.listByTaskId(request);
PageData<QmsPdiTaskInspectionResultVO> result = new PageData<>();
result.setItems(page.getRecords());
result.setTotal((int) page.getTotal());
return result;
}
// ========================= 任务详情 =========================
/**

View File

@ -0,0 +1,27 @@
package com.nflg.wms.common.pojo.qo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* PDI任务检验结果详情 查询参数
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class QmsPdiTaskInspectionResultQO extends PageQO {
/**
* 任务单ID
*/
private Long taskId;
/**
* 检测项状态
*/
private Integer status;
/**
* 部件名称
*/
private String componentName;
}

View File

@ -0,0 +1,62 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import java.time.LocalDateTime;
/**
* PDI任务检验结果详情VO联查检测项和部件信息
*/
@Data
public class QmsPdiTaskInspectionResultVO {
/**
* 检验结果IDqms_pdi_inspection_results.id
*/
private Long id;
/**
* 部件名称qms_pdi_component_anagement.component_name
*/
private String componentName;
/**
* 检查核实内容qms_pdi_detection_rules_status_item.inspection_content
*/
private String inspectionContent;
/**
* 检测示例图URLfile_upload_record.url通过 inspection_image 文件ID关联
*/
private String inspectionImage;
/**
* 检测项状态qms_pdi_detection_rules_status_item.status
*/
private Integer status;
/**
* 检验现场图片qms_pdi_inspection_results.inspection_item_image
*/
private String inspectionItemImage;
/**
* 检验项结果false=不合格true=合格
*/
private Boolean inspectionItemResults;
/**
* 质检时间
*/
private LocalDateTime inspectionTime;
/**
* 质检人
*/
private String inspectionBy;
/**
* 备注
*/
private String remark;
}

View File

@ -109,6 +109,17 @@ public class QmsPdiTaskRecordDetailVO {
* 现场图片/视频详情列表
*/
private List<FileDetailVO> inspectionItemImage;
/**
* 检测时间
*/
private LocalDateTime inspectionTime;
/**
* 检测人
*/
private String inspectionBy;
}
/**

View File

@ -3,12 +3,15 @@ package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.qo.QmsPdiInspectionResultsSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskInspectionResultQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO;
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
@ -33,4 +36,10 @@ public interface QmsPdiInspectionResultsMapper extends BaseMapper<QmsPdiInspecti
* 平板统计各状态数量
*/
Map<String, Object> countByStatus(@Param("userId") Long userId);
/**
* 根据任务ID分页查询检验结果详情联查检测项和部件信息
*/
Page<QmsPdiTaskInspectionResultVO> listByTaskId(Page<QmsPdiTaskInspectionResultVO> page,
@Param("request") QmsPdiTaskInspectionResultQO request);
}

View File

@ -3,8 +3,10 @@ package com.nflg.wms.repository.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.common.pojo.qo.QmsPdiInspectionResultsSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskInspectionResultQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO;
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
import java.util.Map;
@ -28,4 +30,9 @@ public interface IQmsPdiInspectionResultsService extends IService<QmsPdiInspecti
* 平板统计各状态数量
*/
Map<String, Object> countByStatus(Long userId);
/**
* 根据任务ID分页查询检验结果详情联查检测项和部件信息
*/
Page<QmsPdiTaskInspectionResultVO> listByTaskId(QmsPdiTaskInspectionResultQO request);
}

View File

@ -3,8 +3,10 @@ package com.nflg.wms.repository.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.wms.common.pojo.qo.QmsPdiInspectionResultsSearchQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskInspectionResultQO;
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
import com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO;
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
import com.nflg.wms.repository.mapper.QmsPdiInspectionResultsMapper;
import com.nflg.wms.repository.service.IQmsPdiInspectionResultsService;
@ -36,4 +38,10 @@ public class QmsPdiInspectionResultsServiceImpl
public Map<String, Object> countByStatus(Long userId) {
return baseMapper.countByStatus(userId);
}
@Override
public Page<QmsPdiTaskInspectionResultVO> listByTaskId(QmsPdiTaskInspectionResultQO request) {
Page<QmsPdiTaskInspectionResultVO> page = new Page<>(request.getPage(), request.getPageSize());
return baseMapper.listByTaskId(page, request);
}
}

View File

@ -102,4 +102,26 @@
</where>
</select>
<!-- 根据任务ID查询检验结果详情联查检测项和部件信息 -->
<select id="listByTaskId" resultType="com.nflg.wms.common.pojo.vo.QmsPdiTaskInspectionResultVO">
SELECT
b.id,
c.component_name AS componentName,
a.inspection_content AS inspectionContent,
d.url AS inspectionImage,
a.status,
b.inspection_item_image AS inspectionItemImage,
b.inspection_item_results AS inspectionItemResults,
b.inspection_time AS inspectionTime,
b.inspection_by AS inspectionBy,
b.remark
FROM qms_pdi_inspection_results b
LEFT JOIN qms_pdi_detection_rules_status_item a ON a.id = b.inspection_item_id
LEFT JOIN qms_pdi_component_anagement c ON a.components_id = c.id
LEFT JOIN file_upload_record d ON a.inspection_image::bigint = d.id
WHERE b.task_id = #{request.taskId}
AND a.status = #{request.status}
AND c.component_name = #{request.componentName}
</select>
</mapper>