酸轧OEE后端重构完成
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.klp.pocket.common.service;
|
||||
|
||||
/**
|
||||
* 钢卷良品/次品判定(OEE 口径用)。
|
||||
*
|
||||
* 规则:
|
||||
* - 以 WMS 的 wms_material_coil 为准
|
||||
* - 按“当前钢卷号(current_coil_no) + 所在库区ID(warehouse_id)”精确匹配
|
||||
* - quality_status 命中 {"C+","C","C-","D+","D","D-"} => 次品;否则 => 良品
|
||||
* - 若匹配不到(WMS 无记录),返回 null,调用方按“忽略不计”处理
|
||||
*/
|
||||
public interface ICoilQualityJudgeService {
|
||||
|
||||
/**
|
||||
* @param warehouseId 所在库区ID(成品库库区ID)
|
||||
* @param currentCoilNo 当前钢卷号(注意:pocket 侧查询到的“钢卷id/卷号”口径等同于该字段)
|
||||
* @return Boolean:true=次品,false=良品,null=匹配不到(忽略不计)
|
||||
*/
|
||||
Boolean isScrap(Long warehouseId, String currentCoilNo);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.klp.pocket.common.service.impl;
|
||||
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.pocket.common.service.ICoilQualityJudgeService;
|
||||
import com.klp.service.IWmsMaterialCoilService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CoilQualityJudgeServiceImpl implements ICoilQualityJudgeService {
|
||||
|
||||
/**
|
||||
* 次品状态枚举:命中这些 quality_status 则判定为次品,否则判定为良品。
|
||||
*/
|
||||
private static final Set<String> SCRAP_QUALITY_STATUS = new HashSet<>(
|
||||
Arrays.asList("C+", "C", "C-", "D+", "D", "D-")
|
||||
);
|
||||
|
||||
private final IWmsMaterialCoilService wmsMaterialCoilService;
|
||||
|
||||
@Override
|
||||
public Boolean isScrap(Long warehouseId, String currentCoilNo) {
|
||||
if (warehouseId == null || StringUtils.isBlank(currentCoilNo)) {
|
||||
return null;
|
||||
}
|
||||
String qualityStatus = wmsMaterialCoilService
|
||||
.queryQualityStatusByWarehouseIdAndCurrentCoilNo(warehouseId, currentCoilNo);
|
||||
if (StringUtils.isBlank(qualityStatus)) {
|
||||
// WMS 匹配不到或字段为空:按“忽略不计”
|
||||
return null;
|
||||
}
|
||||
return SCRAP_QUALITY_STATUS.contains(qualityStatus.trim());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user