Files
cut-abstractions/samples/moduleManager/module_checkMaterial.ts
2025-07-22 18:38:25 +08:00

78 lines
1.8 KiB
TypeScript

import { Processor, ProcessorModule } from "../../src/device";
import { ErrorInfo } from "../../src/device";
/** 模块 检查是否 板材尺寸大于机台尺寸
*
* input 入参
*/
/** 检查是否 板材尺寸大于机台尺寸 */
export const CheckMaterial: ProcessorModule<any, any> = {
moduleName: "CheckMaterial",
moduleVersion: '20250714',
config: {
boardWidth: 0,
boardLength: 0,
placeStyle:1,
},
setConfig(config) {
this.config = { ...this.config, ...config };
},
// 会在处理器自动执行
/**
*
* @param input 输入数据
* @param next 下一个流程的函数
* @param context 上下文
* @returns
*/
process(input, next, context) {
const { materialList } = input
const self = this;
let checkArr = checkMetrial(materialList)
if (checkArr.length > 0) {
const _errinfo: ErrorInfo = {
moduleName: this.moduleName,
moduleVersion: this.moduleVersion,
info: {
data: checkArr,
msg: '该订单内大板有异常'
}
}
this.onError(_errinfo)
}
function checkMetrial(materialList): any[] {
let errPMs: any = []
if (self.placeStyle !== 1) {
for (let pm of materialList) {
if (pm.orgWidth > self.boardWidth || pm.orgLength > self.boardLength) {
// console.log('板材尺寸大于机台尺寸', PlaceStore.sysConfig)
errPMs.push(pm)
}
}
}
return errPMs
}
return next ? next(input) : input;
},
onError(error) {
console.error('出错了哦', error);
}
};