| | |
| | | const grainService = {} |
| | | |
| | | // 从配置中获取业务编码定义 |
| | | const functionId = { |
| | | gasDetection: config.get('functionId.gasDetection') || "1000", |
| | | safeInputControl: config.get('functionId.safeInputControl') || "2000", |
| | | lightControl: config.get('functionId.lightControl') || "3000", |
| | | doorStatus: config.get('functionId.doorStatus') || "4000" |
| | | function getFunctionId() { |
| | | return { |
| | | gasDetection: config.get('functionId.gasDetection') || "1000", |
| | | safeInputControl: config.get('functionId.safeInputControl') || "2000", |
| | | lightControl: config.get('functionId.lightControl') || "3000", |
| | | doorStatus: config.get('functionId.doorStatus') || "4000" |
| | | } |
| | | } |
| | | |
| | | // 从配置中获取接口返回编码 |
| | | const respCode = { |
| | | success: config.get('respCode.success') || "200", |
| | | badRequest: config.get('respCode.badRequest') || "400", |
| | | unauthorized: config.get('respCode.unauthorized') || "401", |
| | | forbidden: config.get('respCode.forbidden') || "403", |
| | | notFound: config.get('respCode.notFound') || "404", |
| | | serverError: config.get('respCode.serverError') || "500" |
| | | function getRespCode() { |
| | | return { |
| | | success: config.get('getRespCode().success') || "200", |
| | | badRequest: config.get('respCode.badRequest') || "400", |
| | | unauthorized: config.get('respCode.unauthorized') || "401", |
| | | forbidden: config.get('respCode.forbidden') || "403", |
| | | notFound: config.get('respCode.notFound') || "404", |
| | | serverError: config.get('respCode.serverError') || "500" |
| | | } |
| | | } |
| | | |
| | | // 错误码对应的错误信息 |
| | |
| | | "401": "未登录,用户不存在", |
| | | "403": "用户无权限", |
| | | "404": "请求功能不存在", |
| | | "500": "请求执行异常,请联系管理员" |
| | | "500": "请求执行异常,请联系科长" |
| | | } |
| | | |
| | | // 操作按钮对应的语音文件 |
| | |
| | | * @returns {boolean} true表示气体浓度合格,false表示气体浓度不合格 |
| | | */ |
| | | grainService.checkGasConcentration = function(callback) { |
| | | // 检查是否开启气体浓度验证 |
| | | const isGasDetectionEnabled = config.get('gas.verification') !== 0 |
| | | if (!isGasDetectionEnabled) { |
| | | logger.info('[grain]: 气体浓度验证未启用,直接返回') |
| | | // 调用回调函数 |
| | | if (callback) { |
| | | callback() |
| | | } |
| | | return true |
| | | } |
| | | |
| | | // 使用setTimeout将HTTP请求放入后台执行,避免阻塞主线程 |
| | | std.setTimeout(() => { |
| | | try { |
| | |
| | | sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取 |
| | | houseId: "0000", // 仓廒编码,默认填充"0000" |
| | | outId: "0000", // 自定义编码,默认填充"0000" |
| | | functionId: functionId.gasDetection, // 气体浓度检测功能码 |
| | | functionId: getFunctionId().gasDetection, // 气体浓度检测功能码 |
| | | timestamp: Date.now().toString() // 时间戳 |
| | | } |
| | | |
| | |
| | | logger.info(`[grain]: 解析后的气体浓度数据: ${JSON.stringify(gasData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (gasData.respCode === respCode.success) { |
| | | if (gasData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 气体浓度检测接口调用成功`) |
| | | } else { |
| | | logger.error(`[grain]: 气体浓度检测接口调用失败,返回编码: ${gasData.respCode}, 返回信息: ${gasData.respMsg}`) |
| | |
| | | logger.info(`[grain]: 清理后解析的气体浓度数据: ${JSON.stringify(gasData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (gasData.respCode === respCode.success) { |
| | | if (gasData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 气体浓度检测接口调用成功`) |
| | | } else { |
| | | logger.error(`[grain]: 气体浓度检测接口调用失败,返回编码: ${gasData.respCode}, 返回信息: ${gasData.respMsg}`) |
| | |
| | | * @returns {boolean} true表示状态信息获取成功,false表示失败 |
| | | */ |
| | | grainService.checkDevConcentration = function(params) { |
| | | // 检查是否开启安全入仓联动控制 |
| | | const isSafeInputControlEnabled = config.get('safeInputControl') === 1 |
| | | if (!isSafeInputControlEnabled) { |
| | | logger.info('[grain]: 安全入仓联动控制功能未启用') |
| | | return false |
| | | } |
| | | |
| | | // 使用setTimeout将HTTP请求放入后台执行,避免阻塞主线程 |
| | | std.setTimeout(() => { |
| | | try { |
| | |
| | | sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取 |
| | | houseId: "0000", // 仓廒编码,默认填充"0000" |
| | | outId: "0000", // 自定义编码,默认填充"0000" |
| | | functionId: params && params.functionId ? params.functionId : functionId.safeInputControl, // 功能码,默认为安全入仓联动控制 |
| | | functionId: params && params.functionId ? params.functionId : getFunctionId().safeInputControl, // 功能码,默认为安全入仓联动控制 |
| | | timestamp: Date.now().toString(), // 时间戳 |
| | | data: {} |
| | | } |
| | |
| | | logger.info(`[grain]: 解析后的状态信息数据: ${JSON.stringify(statusData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (statusData.respCode === respCode.success) { |
| | | if (statusData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 状态信息接口调用成功`) |
| | | // 检查data是否为空,不为空才触发通知 |
| | | if (Object.keys(postData.data).length > 0) { |
| | |
| | | logger.info(`[grain]: 清理后解析的状态信息数据: ${JSON.stringify(statusData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (statusData.respCode === respCode.success) { |
| | | if (statusData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 状态信息接口调用成功`) |
| | | // 检查data是否为空,不为空才触发通知 |
| | | if (Object.keys(postData.data).length > 0) { |
| | |
| | | sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取 |
| | | houseId: "0000", // 仓廒编码,默认填充"0000" |
| | | outId: "0000", // 自定义编码,默认填充"0000" |
| | | functionId: functionId.lightControl, // 仓内照明联动控制功能码 |
| | | functionId: getFunctionId().lightControl, // 仓内照明联动控制功能码 |
| | | timestamp: Date.now().toString(), // 时间戳 |
| | | data: {} |
| | | } |
| | |
| | | logger.info(`[grain]: 解析后的仓内照明联动控制响应数据: ${JSON.stringify(statusData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (statusData.respCode === respCode.success) { |
| | | if (statusData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 仓内照明联动控制接口调用成功`) |
| | | // 触发成功弹窗 |
| | | bus.fire('showAccessResult', { |
| | |
| | | logger.info(`[grain]: 清理后解析的仓内照明联动控制响应数据: ${JSON.stringify(statusData)}`) |
| | | |
| | | // 根据接口返回编码进行日志输出 |
| | | if (statusData.respCode === respCode.success) { |
| | | if (statusData.respCode === getRespCode().success) { |
| | | logger.info(`[grain]: 仓内照明联动控制接口调用成功`) |
| | | // 触发成功弹窗 |
| | | bus.fire('showAccessResult', { |
| | |
| | | sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取 |
| | | houseId: "0000", // 仓廒编码,默认填充"0000" |
| | | outId: "0000", // 自定义编码,默认填充"0000" |
| | | functionId: functionId.doorStatus, // 门磁状态功能码 |
| | | functionId: getFunctionId().doorStatus, // 门磁状态功能码 |
| | | timestamp: Date.now().toString(), // 时间戳 |
| | | data: { |
| | | doorStatus: doorStatusData.status // 门磁状态 |