pqc检测任务方法修复
This commit is contained in:
parent
e834fc09ab
commit
cd7149b5b7
|
|
@ -5,12 +5,14 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO;
|
|||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO;
|
||||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO;
|
||||
import com.nflg.qms.admin.service.QmsPqcInspectionRuleControllerService;
|
||||
import com.nflg.wms.common.constant.Constant;
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.qo.PqcInspectionRuleExportQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsPqcInspectionPointItemsGroupedVO;
|
||||
import com.nflg.wms.common.util.MultilingualUtil;
|
||||
import com.nflg.wms.repository.entity.DictionaryItem;
|
||||
import com.nflg.wms.repository.service.IDictionaryItemService;
|
||||
|
|
@ -18,6 +20,7 @@ import com.nflg.wms.starter.BaseController;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -132,6 +135,23 @@ public class QmsPqcInspectionRuleController extends BaseController {
|
|||
return ApiResult.success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据机型编号查询该机型最新启用PQC规则下的检查点列表
|
||||
*/
|
||||
@GetMapping("/points")
|
||||
public ApiResult<List<PqcInspectionPointListVO>> listPointsByModelNo(@NotNull String modelNo) {
|
||||
return ApiResult.success(ruleControllerService.listPointsByModelNo(modelNo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据检查点ID查询对应的检测项列表(分组返回)
|
||||
* 返回三类:关键物料拍照类、工序检查-自检复核类、工序检查-QC检测类
|
||||
*/
|
||||
@GetMapping("/items")
|
||||
public ApiResult<QmsPqcInspectionPointItemsGroupedVO> listItemsByInspectionPointId(@NotNull Long inspectionPointId) {
|
||||
return ApiResult.success(ruleControllerService.listItemsByInspectionPointIdGrouped(inspectionPointId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取步装字典
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -5,11 +5,13 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAddQO;
|
|||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO;
|
||||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO;
|
||||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.qo.PqcInspectionRuleExportQO;
|
||||
|
||||
import com.nflg.wms.common.pojo.vo.QmsPqcInspectionPointItemsGroupedVO;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
|
@ -69,6 +71,16 @@ public interface QmsPqcInspectionRuleControllerService {
|
|||
*/
|
||||
Long deletePoint(Long pointId);
|
||||
|
||||
|
||||
|
||||
List<PqcInspectionPointListVO> listPointsByModelNo(String modelNo);
|
||||
|
||||
/**
|
||||
* 根据检查点ID查询检测项列表(分组返回)
|
||||
*/
|
||||
QmsPqcInspectionPointItemsGroupedVO listItemsByInspectionPointIdGrouped(Long inspectionPointId);
|
||||
|
||||
|
||||
/**
|
||||
* 导入PQC检测规则
|
||||
* @param file Excel文件
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO;
|
|||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO;
|
||||
import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionPointItemVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionPointVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO;
|
||||
import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO;
|
||||
|
|
@ -22,6 +23,8 @@ import com.nflg.wms.common.pojo.PageData;
|
|||
import com.nflg.wms.common.pojo.dto.PqcInspectionRuleExportDTO;
|
||||
import com.nflg.wms.common.pojo.dto.PqcInspectionRuleImportDTO;
|
||||
import com.nflg.wms.common.pojo.qo.PqcInspectionRuleExportQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsPqcInspectionPointItemListVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsPqcInspectionPointItemsGroupedVO;
|
||||
import com.nflg.wms.common.util.DateTimeUtil;
|
||||
import com.nflg.wms.common.util.EecExcelUtil;
|
||||
import com.nflg.wms.common.util.PageUtil;
|
||||
|
|
@ -90,6 +93,87 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
|
|||
@Resource
|
||||
private IFileUploadRecordService fileUploadRecordService;
|
||||
|
||||
@Override
|
||||
public QmsPqcInspectionPointItemsGroupedVO listItemsByInspectionPointIdGrouped(Long inspectionPointId) {
|
||||
// 查询所有检测项
|
||||
List<QmsPqcInspectionPointItems> allItems = itemsService.lambdaQuery()
|
||||
.eq(QmsPqcInspectionPointItems::getInspectionCodeId, inspectionPointId)
|
||||
.orderByAsc(QmsPqcInspectionPointItems::getSort)
|
||||
.list();
|
||||
|
||||
// 初始化三个分类列表
|
||||
List<QmsPqcInspectionPointItemListVO> materialItems = new ArrayList<>(); // 第1类:关键物料拍照
|
||||
List<QmsPqcInspectionPointItemListVO> selfReviewItems = new ArrayList<>(); // 第2类:工序检查-自检复核
|
||||
List<QmsPqcInspectionPointItemListVO> qcItems = new ArrayList<>(); // 第3类:工序检查-QC检测
|
||||
|
||||
// 分类逻辑
|
||||
for (QmsPqcInspectionPointItems item : allItems) {
|
||||
QmsPqcInspectionPointItemListVO vo = new QmsPqcInspectionPointItemListVO()
|
||||
.setId(item.getId())
|
||||
.setInspectionCodeId(item.getInspectionCodeId())
|
||||
.setSort(item.getSort())
|
||||
.setInspectionContent(item.getInspectionContent())
|
||||
.setInspectionType(item.getInspectionType())
|
||||
.setInspectionMethods(item.getInspectionMethods())
|
||||
.setInspectionImgUrl(item.getInspectionImgUrl())
|
||||
.setInspectionLevel(item.getInspectionLevel());
|
||||
|
||||
Integer type = item.getInspectionType();
|
||||
Integer level = item.getInspectionLevel();
|
||||
|
||||
// 第1类:关键物料拍照类
|
||||
// 包含:inspectionType = 0(所有)+ inspectionType = 2(所有)
|
||||
if (type == 0 || type == 2) {
|
||||
materialItems.add(vo);
|
||||
}
|
||||
|
||||
// 第2类和第3类:工序检查(按类型和星级分)
|
||||
// 包含:inspectionType = 1 或 2
|
||||
if (type == 1 || type == 2) {
|
||||
if (level == 1 || level == 2) {
|
||||
// 星级1或2 → 自检复核类
|
||||
selfReviewItems.add(vo);
|
||||
} else if (level == 3) {
|
||||
// 星级3 → QC检测类
|
||||
qcItems.add(vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 组装返回结果
|
||||
QmsPqcInspectionPointItemsGroupedVO groupedVO = new QmsPqcInspectionPointItemsGroupedVO();
|
||||
groupedVO.setMaterialItems(materialItems);
|
||||
groupedVO.setSelfReviewItems(selfReviewItems);
|
||||
groupedVO.setQcItems(qcItems);
|
||||
|
||||
return groupedVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存检查点和检查项
|
||||
*/
|
||||
@Override
|
||||
public List<PqcInspectionPointListVO> listPointsByModelNo(String modelNo) {
|
||||
QmsPqcInspectionRule latestRule = ruleService.lambdaQuery()
|
||||
.eq(QmsPqcInspectionRule::getModelNo, modelNo)
|
||||
.eq(QmsPqcInspectionRule::getIsDisabled, true)
|
||||
.orderByDesc(QmsPqcInspectionRule::getRuleVersion)
|
||||
.last("LIMIT 1")
|
||||
.one();
|
||||
if (latestRule == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return pointService.lambdaQuery()
|
||||
.eq(QmsPqcInspectionPoint::getPqcRuleId, latestRule.getId())
|
||||
.list()
|
||||
.stream()
|
||||
.map(point -> new PqcInspectionPointListVO()
|
||||
.setId(point.getId())
|
||||
.setInspectionPointCode(point.getInspectionPointCode())
|
||||
.setInspectionPointName(point.getInspectionPointName()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageData<PqcInspectionRuleVO> search(PqcInspectionRuleSearchQO qo) {
|
||||
LambdaQueryWrapper<QmsPqcInspectionRule> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
|
@ -393,6 +477,31 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
|
|||
return rule != null ? rule.getId() : null;
|
||||
}
|
||||
|
||||
public List<PqcInspectionPointListVO> getCurrentValidPoints(String modelNo) {
|
||||
QmsPqcInspectionRule rule = ruleService.lambdaQuery()
|
||||
.eq(QmsPqcInspectionRule::getModelNo, modelNo)
|
||||
.eq(QmsPqcInspectionRule::getIsDisabled, true)
|
||||
.eq(QmsPqcInspectionRule::getAuditStatus, 1)
|
||||
.orderByDesc(QmsPqcInspectionRule::getRuleVersion)
|
||||
.orderByDesc(QmsPqcInspectionRule::getCreateTime)
|
||||
.last("LIMIT 1")
|
||||
.one();
|
||||
if (Objects.isNull(rule)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
return pointService.lambdaQuery()
|
||||
.eq(QmsPqcInspectionPoint::getPqcRuleId, rule.getId())
|
||||
.orderByAsc(QmsPqcInspectionPoint::getId)
|
||||
.list()
|
||||
.stream()
|
||||
.map(point -> new PqcInspectionPointListVO()
|
||||
.setId(point.getId())
|
||||
.setInspectionPointCode(point.getInspectionPointCode())
|
||||
.setInspectionPointName(point.getInspectionPointName()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
// ========================= 私有方法 =========================
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue