⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lb_al2lb.c

📁 中国石油二期加油站IC系统后台通讯软件
💻 C
📖 第 1 页 / 共 2 页
字号:
	U8 buf[40];

    EquCfgEntry_s * equ;

    SRemPreMsgMult(buf, 40, mbuf);

    LBGETCMDENTRY(0x11, IND_DIR, entry);

	if (ROK != lbCmGetKey(buf, rxCb.cfg.crrntTranKey, &rxCb.cfg.tranKeyVer))
	{
		
		LBGETTRAN(entry, 0, tran);
		lbBuildIndCfm(0, 0x11, 0, tran);
		entry->errCode = 0x01;
		RETVALUE(ROK);
	}

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x11, 0, tran);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0x11, CMD_DIR, entry);
    }

    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);
        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }

    LBGETCMDENTRY(0x11, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);

    lbBuildIndCfm(0, 0x11, 1, tran); 
    RETVALUE(ROK);

}

S16 lbRecvCardBankCodeRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;

	U8 buf[40];

    EquCfgEntry_s * equ;

    SRemPreMsgMult(rxCb.cfg.bankId, 2, mbuf);

    LBGETCMDENTRY(0, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x14, 0, tran);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0x14, CMD_DIR, entry);
    }

    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);
        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }

    LBGETCMDENTRY(0x14, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);

    lbBuildIndCfm(0, 0x14, 1, tran); 
    RETVALUE(ROK);


}

S16 lbRecvEnaIBankAppRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&rxCb.cfg.enableIBankApp, mbuf);
	SRemPreMsgMult((Data *)rxCb.cfg.enableIBankAppTime, 7, mbuf);

    LBGETCMDENTRY(0x12, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x12, 0, tran);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0x12, CMD_DIR, entry);
    }
    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);

        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }
    LBGETCMDENTRY(0x12, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x12, 1, tran); 

    RETVALUE(ROK);
}

S16 lbRecvSetKeyIdxRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&rxCb.cfg.crrntKeyIndex, mbuf);

    LBGETCMDENTRY(0x15, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x15, 0, tran);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0, CMD_DIR, entry);
    }
    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);
        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }
    LBGETCMDENTRY(0x15, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x15, 1, tran); 
    RETVALUE(ROK);
}

S16 lbRecvEnaSecPoneyRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&rxCb.cfg.enableUse2IBankCard, mbuf);
	SRemPreMsgMult((Data *)&rxCb.cfg.enableUse2Time, 7, mbuf);


    LBGETCMDENTRY(0x16, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x16, 0, tran);

    equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
    if (equ != NULLP)
    {
        LBGETCMDENTRY(0, CMD_DIR, entry);
    }
    while (NULLP != equ)
    {
        LBGETTRAN(entry, equ, tran);
        lbBuildCfgSysCmd(equ, tran, &rxCb.cfg);
        equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
    }
    LBGETCMDENTRY(0x16, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x16, 1, tran); 
    RETVALUE(ROK);

}

S16 lbRecvGetPumpCodeRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;
	U8 gunId;

    SUnpkU8(&gunId, mbuf);

    LBGETCMDENTRY(0x17, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x17, 0, tran);

    if (gunId == 0)
    {
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            LBGETCMDENTRY(0, CMD_DIR, entry);
        }
        while (NULLP != equ)
        {
            LBGETTRAN(entry, equ, tran);
            lbBuildGetTotleVolume(equ ,tran , NULLP);
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }

    }
    else
    {
        equ = findEqu(gunId);
        if (equ == NULLP)
        {
            LBGETCMDENTRY(0x17, IND_DIR, entry);
            LBGETTRAN(entry, 0, tran);
            entry->errCode = 0x11;
            lbBuildIndCfm(gunId, 0x17, 0, tran);
            RETVALUE(RFAILED);
        }
        LBGETCMDENTRY(0x17, RQST_DIR, entry);
        LBGETTRAN(entry, equ, tran); 

        lbBuildGetTotleVolume(equ ,tran , NULLP);
    }

    LBGETCMDENTRY(0x17, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x17, 1 , tran);  

    RETVALUE(ROK);
}

S16 lbRecvSetPriceRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    U8 gunId, oilTypeNum;
    EquCfgEntry_s * equ;
    PriceEntry_s priceEntry;
    MsgLen len, i;

    Time_s time;


    U8 flag = 0;

    SUnpkU8(&gunId, mbuf);
    SUnpkU8(&oilTypeNum, mbuf);



    LBGETCMDENTRY(0, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x18, 0, tran);

    SCpyMsgFix(mbuf, (MsgLen)(3 * oilTypeNum), 7, (Data *)&time, &len);

    for (i = 0 ; i < oilTypeNum; i++)
    {
        SRemPreMsgMult((Data *)&priceEntry.oilType, 3, mbuf);
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            flag = 1;
            LBGETCMDENTRY(0x18, CMD_DIR, entry);
        }
		lbCmSetPrice(&time, &priceEntry);

        while (NULLP != equ)
        {

            if (equ->entry.oilType == priceEntry.oilType)
            {
                flag = 2;
                LBGETTRAN(entry, equ, tran);
                lbBuildSetPriceCmd(equ, tran, priceEntry.price, &time);
            }
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }
        if (flag == 1)
        {
            lbCmdDestroyCmdEntry(entry);
        }
        flag = 0;
    }

    LBGETCMDENTRY(0, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x18, 1 , tran);  

    RETVALUE(ROK);
}

S16 lbRecvGetPriceRqst(Buffer * mbuf)
{
    U8 gunId;
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&gunId, mbuf);

    LBGETCMDENTRY(0x19, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x19, 0, tran);

    if (gunId == 0)
    {
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            LBGETCMDENTRY(0, CMD_DIR, entry);
        }
        while (NULLP != equ)
        {
            LBGETTRAN(entry, equ, tran);
            lbBuildGetPrice(equ ,tran);
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }
    }
    else
    {
        equ = findEqu(gunId);
        if (equ == NULLP)
        {
            LBGETCMDENTRY(0x19, IND_DIR, entry);
            LBGETTRAN(entry, 0, tran);
            entry->errCode = 0x11;
            lbBuildIndCfm(gunId, 0x19, 2, tran);
            RETVALUE(RFAILED);
        }
        LBGETCMDENTRY(0x19, RQST_DIR, entry);
        LBGETTRAN(entry, equ, tran); 

        lbBuildGetPrice(equ ,tran);
    }
    LBGETCMDENTRY(0, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x19, 1 , tran);

    RETVALUE(ROK);
}

S16 lbRecvStopFillRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 gunId;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&gunId, mbuf);


    LBGETCMDENTRY(0x1c, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x1C, 0, tran);

    if (gunId == 0)
    {
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            LBGETCMDENTRY(0x10, CMD_DIR, entry);
        }
        while (NULLP != equ)
        {
            LBGETTRAN(entry, equ, tran);
            lbBuildStopFill(equ ,tran);
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }
    }
    else
    {
        equ = findEqu(gunId);
        if (equ == NULLP)
        {
            LBGETCMDENTRY(0x1c, IND_DIR, entry);
            LBGETTRAN(entry, 0, tran);
            entry->errCode = 0x11;
            lbBuildIndCfm(gunId, 0x1C, 2, tran);
            RETVALUE(RFAILED);
        }
        LBGETCMDENTRY(0x1c, RQST_DIR, entry);
        LBGETTRAN(entry, equ, tran); 

        lbBuildStopFill(equ ,tran);
    }
    LBGETCMDENTRY(0x1c, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x1c, 1, tran); 
    RETVALUE(ROK);
}
S16 lbRecvResFillRqst(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 gunId;
    TranCb_s * tran;
    EquCfgEntry_s * equ;

    SUnpkU8(&gunId, mbuf);

    LBGETCMDENTRY(0x1d, IND_DIR, entry);
    LBGETTRAN(entry, NULLP, tran);
    lbBuildIndCfm(gunId, 0x1d, 0, tran);

    if (gunId == 0)
    {
        equ = (EquCfgEntry_s *)cmLListFirst(&rxCb.pEquCfgList);
        if (equ != NULLP)
        {
            LBGETCMDENTRY(0x10, CMD_DIR, entry);
        }
        while (NULLP != equ)
        {
            LBGETTRAN(entry, equ, tran);
            lbBuildResumeFill(equ ,tran);
            equ = (EquCfgEntry_s *)cmLListNext(&rxCb.pEquCfgList);
        }
    }
    else
    {
        equ = findEqu(gunId);
        if (equ == NULLP)
        {
            LBGETCMDENTRY(0x1d, IND_DIR, entry);
            LBGETTRAN(entry, 0, tran);
            entry->errCode = 0x11;
            lbBuildIndCfm(gunId, 0x1d, 2, tran);
            RETVALUE(RFAILED);
        }
        LBGETCMDENTRY(0x1d, RQST_DIR, entry);
        LBGETTRAN(entry, equ, tran); 
        lbBuildResumeFill(equ ,tran);
    }
    LBGETCMDENTRY(0x1d, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(gunId, 0x1d, 1, tran); 
    RETVALUE(ROK);
}

S16 lbRecvGreyListUpdateNtfy(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    TranCb_s * tran;
    U8 greyListType;
	Buffer * greyBuffer;

    SUnpkU8(&greyListType, mbuf);

    LBGETCMDENTRY(0, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x1e, 0, tran);

    if (ROK != SGetMsg(0, 0, &greyBuffer))
    {
        RXLOGERROR(0, 0, 0, "ERROR");
        RETVALUE(RFAILED);
    }

	if(ROK != lbCmGetGreyList(greyBuffer, greyListType))
	{
		SPutMsg(greyBuffer);
		RETVALUE(RFAILED);
	}
	
	lbPrcGreyList(greyBuffer, greyListType);

	SPutMsg(greyBuffer);

    LBGETCMDENTRY(0x1d, IND_DIR, entry);
    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x1e, 1, tran); 

    RETVALUE(ROK);
}

S16 lbRecvBlkLstInCountryNtfy(Buffer * mbuf)
{
    RxCmdEntry_s * entry;
    U8 blkListType;
    TranCb_s * tran;
    U32 itemNum;
    Buffer * cardAsnBuffer;

    SUnpkU8(&blkListType, mbuf);

    LBGETCMDENTRY(0, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);
    lbBuildIndCfm(0, 0x1f, 0, tran);

    if (ROK != SGetMsg(0, 0, &cardAsnBuffer))
    {
        RXLOGERROR(0, 0, 0, "ERROR");
        RETVALUE(RFAILED);
    }


    if (ROK != lbCmGetCountryBlk(cardAsnBuffer, &itemNum, blkListType))
	{
		SPutMsg( cardAsnBuffer);
		LBGETCMDENTRY(0x1f, IND_DIR, entry);

		LBGETTRAN(entry, 0, tran);
		entry->errCode = 0x01;
		lbBuildIndCfm(0, 0x1f, 1, tran);
		RETVALUE(ROK);
	}

    lbProcCountryBlk(cardAsnBuffer, itemNum, blkListType);

    SPutMsg(cardAsnBuffer);   

    LBGETCMDENTRY(0x1f, IND_DIR, entry);

    LBGETTRAN(entry, 0, tran);

    lbBuildIndCfm(0, 0x1f, 1, tran);
    RETVALUE(ROK);
}

S16 lbRecvDisNtfy(Buffer * mbuf)
{
	RETVALUE(ROK);

}


/******************* modify histroy list *******************
001. create at: 2002-7-12 2:13:35 by Shangyaohui

****************** modify histroy list end ****************/


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -