📄 cms_sql.cp
字号:
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 + -