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

📄 cms_sql.cp

📁 UNIX/LINUX平台下面SMS网管原代码
💻 CP
📖 第 1 页 / 共 5 页
字号:
        if ( sqlca.sqlcode == SQLNOTFOUND ) break;        memset( (char *)name, '\0', sizeof( name));        memset( (char *)account, '\0', sizeof( account));EXEC SQL SELECT consign INTO :name FROM consign         WHERE consign_id = :pSql.datumno;EXEC SQL SELECT account INTO :account FROM ps_acc_reg         WHERE cid = :pSql.cid AND aid = :pSql.aid;        pub_trim( name);        pub_trim( pSql.aid);        pub_trim( account);        pub_trim( pSql.said);        pub_trim( pSql.name);        pub_trim( pSql.address);        dp.sb[ dp.sn].buf_len = 0;        sprintf( (char *)dp.sb[ dp.sn].buf, ";%2d;%4d;%s;%4s;%s;%s;%s;%s;%1d;%s;%s;%s;\n",        pSql.datumno, pSql.unitno, name, pSql.aid, account,         pSql.said, pSql.name, pSql.address, pSql.status,         pSql.reg_teller, pSql.reg_date, pSql.reg_brch);        dp.sb[ dp.sn].buf_len = strlen( (char *)dp.sb[ dp.sn].buf);        dp.sn ++;    } while ( 1 ); EXEC SQL Close b_cur;    if ( dp.sn == 0 ) return( FAILURE);    return( SUCCESS);}/***********************************************************查询证券信息Input: ps_relinfo Output: Maybe return:	SUCCESS, sqlcode<0, SQLNOTFOUND***********************************************************/int DB_search_ps_relinfo( char *cid, PS_RELINFO *ps_relinfo){EXEC SQL BEGIN DECLARE SECTION;    SQL_PS_RELINFO *pSql;EXEC SQL END DECLARE SECTION;    pSql = ( SQL_PS_RELINFO *)ps_relinfo;    strcpy( pSql->cid, cid);EXEC SQL SELECT * INTO :pSql FROM ps_relinfo WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode);    if ( sqlca.sqlcode == SQLNOTFOUND) return( SQLNOTFOUND);    pub_trim( pSql->shstkhdno);    pub_trim( pSql->shfundno);    pub_trim( pSql->shstockcono);    pub_trim( pSql->shsbailno);    pub_trim( pSql->shaid);    pub_trim( pSql->shfuncodno);    pub_trim( pSql->shfbailno);    pub_trim( pSql->szstkhdno);    pub_trim( pSql->szfundno);    pub_trim( pSql->szstockcono);    pub_trim( pSql->szsbailno);    pub_trim( pSql->szaid);    pub_trim( pSql->szfuncodno);    pub_trim( pSql->szfbailno);    pub_trim( pSql->reg_teller);    pub_trim( pSql->reg_brch);    pub_trim( pSql->reg_date);    return( SUCCESS);}/***********************************************************登记银证转帐功能Input: ps_relinfo Output: Maybe return:	SUCCESS, sqlcode<0***********************************************************/int DB_add_BSrelinfo( PS_RELINFO *ps_relinfo){	EXEC SQL BEGIN DECLARE SECTION;	SQL_PS_RELINFO *pSql;	EXEC SQL END DECLARE SECTION;	int errcode;	pSql = ( SQL_PS_RELINFO *)ps_relinfo;        EXEC SQL WHENEVER SQLERROR CALL error_handler() ;        EXEC SQL WHENEVER SQLWARNING CALL warning_handler() ;        EXEC SQL WHENEVER NOT FOUND CALL notfound_handler() ;	EXEC SQL BEGIN TRANSACTION;	bms_trace( ps_relinfo->zoneno);        bms_trace( ps_relinfo->cid);        bms_trace( ps_relinfo->shaid);        bms_trace( ps_relinfo->shsbailno);        bms_trace( ps_relinfo->shstockcono);        bms_trace( ps_relinfo->szaid);        bms_trace( ps_relinfo->szsbailno);        bms_trace( ps_relinfo->szstockcono);        bms_trace( ps_relinfo->reg_teller);        bms_trace( ps_relinfo->reg_brch);        bms_trace( ps_relinfo->reg_date) ;        bms_trace( ps_relinfo->modi_teller);	EXEC SQL INSERT INTO ps_relinfo VALUES( :pSql);	if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) 	{		bms_trace("INSERT ");		errcode = sqlca.sqlcode;		EXEC SQL    ROLLBACK TRANSACTION;	    	return( errcode);	}	EXEC SQL UPDATE person_info 		 SET func_def='1'+substring(func_def,2,char_length(func_def)-1)		 WHERE cid = :pSql->cid;	if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) 	{		bms_trace("UPDATE");		errcode = sqlca.sqlcode;		EXEC SQL ROLLBACK TRANSACTION;		return( errcode);	}	EXEC SQL COMMIT TRANSACTION;	return( SUCCESS);}/***********************************************************注销银证转帐功能Input: ps_relinfo->cidOutput: Maybe return:	SUCCESS, sqlcode<0***********************************************************/int DB_del_BSrelinfo( PS_RELINFO *ps_relinfo){	EXEC SQL BEGIN DECLARE SECTION;	SQL_PS_RELINFO *pSql;	EXEC SQL END DECLARE SECTION;	int errcode;	pSql = ( SQL_PS_RELINFO *)ps_relinfo;	EXEC SQL BEGIN TRANSACTION;	EXEC SQL Delete FROM ps_relinfo WHERE cid = :pSql->cid;	if ( sqlca.sqlcode < 0 ) 	{		errcode = sqlca.sqlcode;		EXEC SQL ROLLBACK TRANSACTION;		return( errcode);	}	EXEC SQL UPDATE person_info 		 SET func_def='0'+substring(func_def,2,char_length(func_def)-1)		 WHERE cid = :pSql->cid;	if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) 	{		errcode = sqlca.sqlcode;		EXEC SQL ROLLBACK TRANSACTION;		return( errcode);	}	EXEC SQL COMMIT TRANSACTION;	return( SUCCESS);}int DB_add_JJrelinfo( PS_RELINFO *ps_relinfo){EXEC SQL BEGIN DECLARE SECTION;    SQL_PS_RELINFO *pSql;    char sqlFuncDef[21];EXEC SQL END DECLARE SECTION;    int errcode;    pSql = ( SQL_PS_RELINFO *)ps_relinfo;    memset( sCid, '\0', sizeof( sCid));EXEC SQL BEGIN TRANSACTION;EXEC SQL SELECT cid INTO :sCid FROM ps_relinfo WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode);    if ( sqlca.sqlcode == 100 ) {EXEC SQL INSERT INTO ps_relinfo VALUES( :pSql);        if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {            errcode = sqlca.sqlcode;EXEC SQL    ROLLBACK TRANSACTION;            return( errcode);        }    } else {EXEC SQL UPDATE ps_relinfo Set shfundno = :pSql->shfundno,        shfbailno = :pSql->shfbailno, shfuncodno = :pSql->shfuncodno,        szfundno = :pSql->szfundno,        szfbailno = :pSql->szfbailno, szfuncodno = :pSql->szfuncodno        WHERE cid = :pSql->cid;        if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {            errcode = sqlca.sqlcode;EXEC SQL    ROLLBACK TRANSACTION;            return( errcode);        }    }    memset( sqlFuncDef, '\0', sizeof( sqlFuncDef));EXEC SQL SELECT func_def INTO :sqlFuncDef FROM person_info         WHERE cid = :pSql->cid;         sqlFuncDef[ 5] = '1';EXEC SQL UPDATE person_info Set func_def=:sqlFuncDef WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }EXEC SQL COMMIT TRANSACTION;    return( SUCCESS);}int DB_del_JJrelinfo( PS_RELINFO *ps_relinfo){EXEC SQL BEGIN DECLARE SECTION;    SQL_PS_RELINFO *pSql;    char sqlFuncDef[ 21];EXEC SQL END DECLARE SECTION;    int errcode;    pSql = ( SQL_PS_RELINFO *)ps_relinfo;EXEC SQL BEGIN TRANSACTION;EXEC SQL UPDATE ps_relinfo Set shfundno = :pSql->shfundno,         shfbailno = :pSql->shfbailno, shfuncodno= :pSql->shfuncodno,        szfundno = :pSql->szfundno, 	szfbailno = :pSql->szfbailno, szfuncodno= :pSql->szfuncodno         WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }    memset( sqlFuncDef, '\0', sizeof( sqlFuncDef));EXEC SQL SELECT func_def INTO :sqlFuncDef FROM person_info      WHERE cid = :pSql->cid;     sqlFuncDef[ 5] = '0';EXEC SQL UPDATE person_info Set func_def=:sqlFuncDef WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }EXEC SQL COMMIT TRANSACTION;    return( SUCCESS);}int DB_add_YZTrelinfo( PS_RELINFO *ps_relinfo){EXEC SQL BEGIN DECLARE SECTION;    SQL_PS_RELINFO *pSql;    char sqlFuncDef[21];EXEC SQL END DECLARE SECTION;    int errcode;    pSql = ( SQL_PS_RELINFO *)ps_relinfo;    memset( sCid, '\0', sizeof( sCid));EXEC SQL BEGIN TRANSACTION;EXEC SQL SELECT cid INTO :sCid FROM ps_relinfo WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode);    if ( sqlca.sqlcode == 100 ) {EXEC SQL INSERT INTO ps_relinfo VALUES( :pSql);        if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {            errcode = sqlca.sqlcode;EXEC SQL    ROLLBACK TRANSACTION;            return( errcode);        }    } else {EXEC SQL UPDATE ps_relinfo Set shaid = :pSql->shaid,        shstkhdno = :pSql->shstkhdno,        szaid = :pSql->szaid, szstkhdno = :pSql->szstkhdno         WHERE cid = :pSql->cid;        if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {            errcode = sqlca.sqlcode;EXEC SQL    ROLLBACK TRANSACTION;            return( errcode);        }    }    memset( sqlFuncDef, '\0', sizeof( sqlFuncDef));EXEC SQL SELECT func_def INTO :sqlFuncDef FROM person_info         WHERE cid = :pSql->cid;         sqlFuncDef[ 4] = '1';EXEC SQL UPDATE person_info Set func_def=:sqlFuncDef WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }EXEC SQL COMMIT TRANSACTION;    return( SUCCESS);}int DB_del_YZTrelinfo( PS_RELINFO *ps_relinfo){EXEC SQL BEGIN DECLARE SECTION;    SQL_PS_RELINFO *pSql;    char sqlFuncDef[ 21];EXEC SQL END DECLARE SECTION;    int errcode;    pSql = ( SQL_PS_RELINFO *)ps_relinfo;EXEC SQL BEGIN TRANSACTION;    memset( sqlFuncDef, '\0', sizeof( sqlFuncDef));EXEC SQL SELECT func_def INTO :sqlFuncDef FROM person_info      WHERE cid = :pSql->cid;    if ( sqlFuncDef[ 0] == '0' ) {EXEC SQL UPDATE ps_relinfo Set shaid = :pSql->shaid,        shstkhdno = :pSql->shstkhdno,        szaid = :pSql->szaid, szstkhdno = :pSql->szstkhdno         WHERE cid = :pSql->cid;    } else {EXEC SQL UPDATE ps_relinfo Set shstkhdno = :pSql->shstkhdno,        szstkhdno = :pSql->szstkhdno WHERE cid = :pSql->cid;    }    if ( sqlca.sqlcode < 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }     sqlFuncDef[ 4] = '0';EXEC SQL UPDATE person_info Set func_def=:sqlFuncDef WHERE cid = :pSql->cid;    if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) {        errcode = sqlca.sqlcode;EXEC SQL ROLLBACK TRANSACTION;        return( errcode);    }EXEC SQL COMMIT TRANSACTION;    return( SUCCESS);}/***********************************************************	对公客户签约系统数据操作部份************************************************************/int DB_search_co_info( char *cid, char *regid, CO_INFO *co_info){EXEC SQL BEGIN DECLARE SECTION;    SQL_CO_INFO *pSql;EXEC SQL END DECLARE SECTION;    int nCidLen, nNoLen;    pSql = ( SQL_CO_INFO *)co_info;    strcpy( pSql->cid, cid);    strcpy( pSql->regist_id, regid);    nCidLen = strlen( pSql->cid);    nNoLen = strlen( pSql->regist_id);    /*  客户号,证件号全部输入  */    if ( nCidLen != 0 && nNoLen != 0 )EXEC SQL SELECT * INTO :pSql FROM co_info         WHERE cid = :pSql->cid AND regist_id = :pSql->regist_id;    else if( nCidLen != 0 )  /* 只输入客户号 */EXEC SQL SELECT * INTO :pSql FROM co_info WHERE cid = :pSql->cid;     elseEXEC SQL SELECT * INTO :pSql FROM co_info WHERE regist_id = :pSql->regist_id;    if ( sqlca.sqlcode != 0 ) return( sqlca.sqlcode);    pub_trim( pSql->zoneno);    pub_trim( pSql->cid);    pub_trim( pSql->unitname);    pub_trim( pSql->regist_id);    pub_trim( pSql->country_tax);    pub_trim( pSql->local_tax);    pub_trim( pSql->credit_no);    pub_trim( pSql->license);    pub_trim( pSql->basaccd);    pub_trim( pSql->reg_bank);    pub_trim( pSql->agent);    pub_trim( pSql->ic_no);    pub_trim( pSql->finacemas);    pub_trim( pSql->mas_no);    pub_trim( pSql->address);    pub_trim( pSql->postcode);    pub_trim( pSql->phone1);    pub_trim( pSql->phone2);    pub_trim( pSql->fax);    pub_trim( pSql->email);    pub_trim( pSql->fee_acct);    pub_trim( pSql->type);    pub_trim( pSql->func_def);    pub_trim( pSql->remark);    pub_trim( pSql->reg_teller);    pub_trim( pSql->reg_date);    pub_trim( pSql->modi_teller);    pub_trim( pSql->modi_date);    return( SUCCESS);}int DB_get_cid_co( long zoneno, char *cid) {EXEC SQL BEGIN DECLARE SECTION;    SQL_CISCFG pSql;EXEC SQL END DECLARE SECTION;    long nCid;    char tmp[ 11];    char tmpCid[10 + 1], CheckBit;    memset( (char *)&pSql, '\0', sizeof( pSql));EXEC SQL Set Lock Mode TO Wait 10;    /*pSql.zoneno = zoneno;*/    pSql.zoneno = 14;EXEC SQL SELECT * INTO :pSql FROM ciscfg WHERE zoneno = :pSql.zoneno;    if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode);    if ( sqlca.sqlcode == 100 ) {        pSql.brach = 0;	/*CheckBit = PUB_ProCifCusNoVer("1490000000");PENDING */        sprintf( pSql.desedanno, "1490000000%c", CheckBit);	/*CheckBit = PUB_ProCifCusNoVer("1400000000");PENDING */        sprintf( pSql.deseperno, "1400000000%c", CheckBit);       	sprintf( pSql.desemgno, "%09ld", 0);        sprintf( pSql.desegrtno, "%09ld", 0);EXEC SQL INSERT INTO ciscfg VALUES( :pSql);        if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode);    }    memset( tmp, '\0', sizeof( tmp));    memcpy( tmp, pSql.desedanno + 3, 7);    nCid = atol( tmp);    memset(tmpCid, 0, sizeof(tmpCid));    for (; nCid < MAX_CO_CID; ) {        /* 根据起始值生成客户号*/	sprintf( tmpCid, "149%07ld", ++nCid);	bms_trace("tmpCid = [%s]", tmpCid);	/* CheckBit = PUB_ProCifCusNoVer(tmpCid);PENDING */        sprintf( pSql.desedanno, "%s%c", tmpCid, CheckBit);        /* 判断是否已被使用*/EXEC SQL SELECT * FROM co_info WHERE cid =:pSql.desedanno;        if ( sqlca.sqlcode < 0 )  return( sqlca.sqlcode);        if ( sqlca.sqlcode == SQLNOTFOUND ) {            strcpy( cid, pSql.desedanno);EXEC SQL    UPDATE ciscfg Set desedanno = :pSql.desedanno             WHERE zoneno = :pSql.zoneno;            if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[2] == 0 )                return( sqlca.sqlcode);            return( SUCCESS);        }    }    return( FAILURE);}int DB_add_co_info( CO_INFO *co_info, PS_PID *ps_pid ){EXEC SQL BEGIN DECLARE SECTION;    SQL_CO_INFO *pSql;EXEC SQL END DECLARE SECTION;    int errcode;

⌨️ 快捷键说明

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