operationFetch.js 1.44 KB
import { postValueService, } from '../../../services/services';
import * as commonUtils from '../../../utils/utils';
import * as commonConfig from '../../../utils/config';

async function operationFetch(props, btnConfig, action='stop', cb) {
    const { sModelsId, app, workOrderInfoData, deviceTargetInfoData } = props;
    if (!Array.isArray(workOrderInfoData)) return;
    let masterData = workOrderInfoData[0];
    if (commonUtils.isNotEmptyObject(masterData)) {
        const value = {
            plcMachinedata: masterData,
        };
  
        const doWorkEnd = ({
            stop: 'startWorking', 
            begin: 'startWorking',
            again: 'adjustment2',
        })[action] || '';

        const url = `${commonConfig.server_host}oee/doUpdateStatus/${doWorkEnd}?sModelsId=${sModelsId}`;
        const returnData = (await postValueService(app.token, value, url)).data;
        if (returnData.code !== 1) {
            props.getServiceError(returnData)
            return;
        }
        if (Array.isArray(returnData?.dataset?.rows)) {
            props.onSaveState({ 
                workOrderInfoData: [{ ...workOrderInfoData?.[0] || {}, ...returnData?.dataset?.rows?.[0] || {} }],
                deviceTargetInfoData: [{ ...deviceTargetInfoData?.[0] || {}, ...returnData?.dataset?.rows?.[0] || {} }]
            }, () => {
                cb && cb();
            })
        }
        return returnData;
    }
}

export {
    operationFetch,
}