vf107/src/service/grainService.js
@@ -13,21 +13,25 @@
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"
    }
}
// 错误码对应的错误信息
@@ -120,6 +124,17 @@
 * @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 {
@@ -138,7 +153,7 @@
                sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取
                houseId: "0000", // 仓廒编码,默认填充"0000"
                outId: "0000", // 自定义编码,默认填充"0000"
                functionId: functionId.gasDetection, // 气体浓度检测功能码
                functionId: getFunctionId().gasDetection, // 气体浓度检测功能码
                timestamp: Date.now().toString() // 时间戳
            }
            
@@ -163,7 +178,7 @@
                    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}`)
@@ -178,7 +193,7 @@
                        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}`)
@@ -259,6 +274,13 @@
 * @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 {
@@ -277,7 +299,7 @@
                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: {}
            }
@@ -311,7 +333,7 @@
                    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) {
@@ -364,7 +386,7 @@
                        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) {
@@ -458,7 +480,7 @@
                sn: config.get("sys.sn") || " ", // 设备序列号,从配置中获取
                houseId: "0000", // 仓廒编码,默认填充"0000"
                outId: "0000", // 自定义编码,默认填充"0000"
                functionId: functionId.lightControl, // 仓内照明联动控制功能码
                functionId: getFunctionId().lightControl, // 仓内照明联动控制功能码
                timestamp: Date.now().toString(), // 时间戳
                data: {}
            }
@@ -489,7 +511,7 @@
                    logger.info(`[grain]: 解析后的仓内照明联动控制响应数据: ${JSON.stringify(statusData)}`)
                    
                    // 根据接口返回编码进行日志输出
                    if (statusData.respCode === respCode.success) {
                    if (statusData.respCode === getRespCode().success) {
                        logger.info(`[grain]: 仓内照明联动控制接口调用成功`)
                        // 触发成功弹窗
                        bus.fire('showAccessResult', {
@@ -536,7 +558,7 @@
                        logger.info(`[grain]: 清理后解析的仓内照明联动控制响应数据: ${JSON.stringify(statusData)}`)
                        
                        // 根据接口返回编码进行日志输出
                        if (statusData.respCode === respCode.success) {
                        if (statusData.respCode === getRespCode().success) {
                            logger.info(`[grain]: 仓内照明联动控制接口调用成功`)
                            // 触发成功弹窗
                            bus.fire('showAccessResult', {
@@ -625,7 +647,7 @@
                    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 // 门磁状态