📄 cif_ps.c
字号:
bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 个人客户重新登记 交易码: 8106--------------------------------------------------------------------------- */int c8106( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; PS_ACCINFO ps_accinfo ; int ret ; memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CMS[%d] c8106 search_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/ if ( ps_info.status != STATUS_DISA) { bs->result = 8009 ; /* 该客户是正常状态,不能重新登记*/ return( FAILURE) ; } memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; memset( (char *)&ps_accinfo, '\0', sizeof( ps_accinfo)) ; SetPsInfo( bs, &ps_info, &ps_accinfo) ; ret = DB_readd_ps_info( bs->cid, &ps_info, &ps_accinfo) ; if ( ret != SUCCESS ) { bms_trace("CMS[%d] c8106 readd_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 个人帐号登记 交易码: 8111--------------------------------------------------------------------------- */int c8111( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; PS_ACC_REG ps_acc_reg ; int ret ; AllTrim(bs->pz_num); if( bs->pz_type == 1) { if( CheckID(bs->pz_num) ) { /* 非法身份证号码 */ bs->result = 7014; return FAILURE; }/* ret= DB_check_dupID(bs->pz_num) ; if( ret < 0 ) { bs->result = 1002; return FAILURE; } if( ret == 0) { bs->result = 8001; return FAILURE; }*/ } memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CMS[%d] c8111 search_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/ if ( ps_info.status == STATUS_DISA ) { bs->result = 8010 ; /* 该客户已注销*/ return( FAILURE) ; } memset( (char *)&ps_acc_reg, '\0', sizeof( ps_acc_reg)) ; SetPsAccRegInfo( bs, &ps_info, &ps_acc_reg) ; /* 查询帐户是否存在*/ if ( (ret=DB_search_ps_acc_reg_on_accout( &ps_acc_reg)) != 100 ) { if ( ret == SUCCESS ) { bs->result = 8011 ; /* 帐户序号已存在*/ return( FAILURE) ; } bms_trace("CMS[%d] c8111 search_ps_acc_reg_on_aid[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; }/* if ( ps_acc_reg.max_limit_amt > 50000.00 || ps_acc_reg.max_limit_amt == 0.00 ) { ps_acc_reg.max_limit_amt = 50000.00; }*/ if ( ps_acc_reg.max_limit_amt > Max_Limit_Amt || ps_acc_reg.max_limit_amt == 0.00 ) { ps_acc_reg.max_limit_amt = Max_Limit_Amt; } if ( (ret=DB_add_ps_acc_reg( &ps_acc_reg)) != SUCCESS ) { bms_trace("CMS[%d] c8111 add_ps_acc_reg[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}int SetPsAccRegInfo( BIG_STRC *bs, PERSON_INFO *ps_info, PS_ACC_REG *ps_acc_reg){ strcpy( ps_acc_reg->zoneno, ps_info->zoneno) ; /* 地区号*/ strcpy( ps_acc_reg->cid, ps_info->cid) ; /* 客户号*/ strcpy( ps_acc_reg->aid, bs->debi_aid) ; /* 帐户序号*/ strcpy( ps_acc_reg->account, bs->debi_acct) ; /* 帐号*/ if ( strlen( bs->auth_no) == 0 ) strcpy( ps_acc_reg->name, "88888888") ; else strcpy( ps_acc_reg->name, bs->auth_no) ; ps_acc_reg->acct_type = bs->debi_acct_type ; /* 帐户种类*/ strcpy( ps_acc_reg->city_no, bs->debi_bank) ; /* 开户行号*/ ps_acc_reg->curr = bs->debi_curr ; /* 帐户币种*/ strncpy( ps_acc_reg->auth_flg, bs->notes1, 3) ; /* 授权标志*/ ps_acc_reg->limit_amt = bs->money1 ; /* 单笔限额*/ ps_acc_reg->limit_num = bs->bill_flg ; /* 最大限次*/ ps_acc_reg->max_limit_amt = bs->money2 ; /* 最大限额*/ ps_acc_reg->que_flag = 0 ; ps_acc_reg->que_pid = 0 ; ps_acc_reg->tran_flg = 0 ; ps_acc_reg->tran_pid = 0 ; ps_acc_reg->over_flg = 0 ; ps_acc_reg->over_pid = 0 ; ps_acc_reg->status = STATUS_ACTIVE ; strcpy( ps_acc_reg->reg_teller, bs->teller) ; strcpy( ps_acc_reg->reg_brch, bs->term_no) ; pub_get_year_second( ps_acc_reg->reg_date) ; strcpy( ps_acc_reg->modi_teller, bs->teller) ; strcpy( ps_acc_reg->modi_brch, bs->term_no) ; pub_get_year_second( ps_acc_reg->modi_date) ; return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 查询全部个人帐户信息 交易码: 8112--------------------------------------------------------------------------- */int c8112( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; int ret ; AllTrim(bs->pz_num); if( bs->pz_type == 1) { if( CheckID(bs->pz_num) ) { /* 非法身份证号码 */ bs->result = 7014; return FAILURE; }/* ret= DB_check_dupID(bs->pz_num) ; if( ret < 0 ) { bs->result = 1002; return FAILURE; } if( ret == 0) { bs->result = 8001; return FAILURE; }*/ } memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CMS[%d] c8112 search_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->name,ps_info.name); strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/ if ( ps_info.status == STATUS_DISA ) { bs->result = 8010 ; /* 该客户已注销*/ return( FAILURE) ; } if ( (ret=DB_query_ps_acc_reg( bs->cid)) != SUCCESS) { if ( ret != FAILURE ) { bms_trace("BMS[%d] c8112 query_ps_acc_reg[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8014 ; /* 无帐号信息*/ return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 个人帐号删除 交易码: 8113--------------------------------------------------------------------------- */int c8113( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; PS_ACC_REG ps_acc_reg ; int ret ; AllTrim(bs->pz_num); if( bs->pz_type == 1) { if( CheckID(bs->pz_num) ) { /* 非法身份证号码 */ bs->result = 7014; return FAILURE; }/* ret= DB_check_dupID(bs->pz_num) ; if( ret < 0 ) { bs->result = 1002; return FAILURE; } if( ret == 0) { bs->result = 8001; return FAILURE; }*/ } memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; memset( (char *)&ps_acc_reg, '\0', sizeof( ps_acc_reg)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CMS[%d] c8113 search_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/ if ( ps_info.status == STATUS_DISA ) { bs->result = 8010 ; /* 该客户已注销*/ return( FAILURE) ; } strcpy( ps_acc_reg.cid, bs->cid) ; strcpy( ps_acc_reg.aid, bs->debi_aid) ; strcpy( ps_acc_reg.modi_teller, bs->teller) ; strcpy( ps_acc_reg.modi_brch, bs->term_no) ; pub_get_year_second( ps_acc_reg.modi_date) ; if ( (ret=DB_search_ps_acc_reg_on_aid( &ps_acc_reg)) != SUCCESS ) { if ( ret < FAILURE ) { bms_trace("CMS[%d] c8113 search_ps_acc_reg_on_aid[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8015 ; /* 帐户序号不存在*/ return( FAILURE) ; } if ( (ret=DB_del_ps_acc_reg( &ps_acc_reg)) != SUCCESS ) { bms_trace("CMS[%d] c8113 del_ps_acc_reg[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 查询单个个人帐号信息 交易码: 8114--------------------------------------------------------------------------- */int c8114( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; PS_ACC_REG ps_acc_reg ; int ret ; AllTrim(bs->pz_num); if( bs->pz_type == 1) { if( CheckID(bs->pz_num) ) { /* 非法身份证号码 */ bs->result = 7014; return FAILURE; }/* ret= DB_check_dupID(bs->pz_num) ; if( ret < 0 ) { bs->result = 1002; return FAILURE; } if( ret == 0) { bs->result = 8001; return FAILURE; }*/ } memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CMS[%d] c8112 search_ps_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/ if ( ps_info.status == STATUS_DISA ) { bs->result = 8010 ; /* 该客户已注销*/ return( FAILURE) ; } memset( (char *)&ps_acc_reg, '\0', sizeof( ps_acc_reg)) ; strcpy( ps_acc_reg.cid, bs->cid) ; strcpy( ps_acc_reg.aid, bs->debi_aid) ; if ( (ret=DB_search_ps_acc_reg_on_aid( &ps_acc_reg)) != SUCCESS ) { if ( ret < FAILURE ) { bms_trace("CMS[%d] c8114 search_ps_acc_reg_on_aid[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8015 ; /* 帐户序号不存在*/ return( FAILURE) ; } WritePsAccRegInfo( &ps_acc_reg, bs) ; return( SUCCESS) ;}int WritePsAccRegInfo( PS_ACC_REG *ps_acc_reg, BIG_STRC *bs){ strcpy( bs->debi_bank, ps_acc_reg->city_no) ; strcpy( bs->abstract, ps_acc_reg->name) ; bs->debi_acct_type = ps_acc_reg->acct_type ; strcpy( bs->debi_acct, ps_acc_reg->account) ; bs->debi_curr = ps_acc_reg->curr ; strcpy( bs->notes1, ps_acc_reg->auth_flg) ; bs->money1 = ps_acc_reg->limit_amt ; bs->money2 = ps_acc_reg->max_limit_amt ; bs->bill_flg = ps_acc_reg->limit_num ; strcpy( bs->notes2, ps_acc_reg->reg_teller) ; strcpy( bs->notes3, ps_acc_reg->reg_date) ; strcpy( bs->notes4, ps_acc_reg->modi_teller) ; strcpy( bs->notes5, ps_acc_reg->modi_date) ; return( SUCCESS) ;}/* 帐户关联 */int c8115( TRADE_HEAD *tr_h, BIG_STRC *bs){ int ret = -1; PS_ACC_LINK link; ret = DB_check_auth(bs->cid, bs->debi_aid); if( ret == 9999 ) { bs->result = 1504; return FAILURE; } else if( ret ) { bs->result = 1002; return FAILURE; } memset((char *)&link, 0, sizeof(PS_ACC_LINK)); strcpy(link.cid, bs->cid); strcpy(link.name, bs->name); strcpy(link.account, bs->debi_acct); strcpy(link.link, bs->cred_acct); strcpy( link.reg_teller, bs->teller) ; strcpy( link.reg_brch, bs->term_no); pub_get_year_second( link.reg_date) ; strcpy( link.mod_teller, bs->teller) ; strcpy( link.mod_brch, bs->term_no) ; pub_get_year_second( link.mod_date) ; /* 1: query */ ret = DB_Query_Link_Acct(&link); if( ret == SUCCESS ) { bs->result = 8600; return FAILURE; } else if( ret != 100 ) { bms_trace("Query"); bs->result = 1002; return FAILURE; } /* 2: add */ ret = DB_Add_Link_Acct(&link); if( ret ) { bms_trace("ADD"); bs->result = 1002; return FAILURE; } return SUCCESS;}/* ------------------------------------------------------------------------功 能: 登记代理业务 交易码: 8131--------------------------------------------------------------------------- */int c8131( TRADE_HEAD *tr_h, BIG_STRC *bs){ PERSON_INFO ps_info ; PS_ACC_REG ps_acc_reg ; CONSIGN consign ; PROXYFIXAUTH proxyfixauth ; int ret ; memset( (char *)&ps_info, '\0', sizeof( ps_info)) ; if (bs->side==2) { memcpy( bs->cid, tr_h->bk_h.id, 11); /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, "", &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) {/* fprintf(stdout, "CMS[%d] c8112 search_ps_info[%d]!", mypid, ret) ;*/ bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } if (strcmp( ps_info.ic_no,bs->pz_num)!=0) { bs->result = 4000;/*身份证号不对*/ return( FAILURE) ; } } /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_ps_info( bs->cid, bs->pz_type, bs->pz_num, &ps_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) {/* fprintf(stdout, "CMS[%d] c8112 search_ps_info[%d]!", mypid, ret) ;*/ bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, ps_info.cid) ; /* 客户号*/ bs->pz_type = ps_info.ic_type ; /* 证件种类*/ strcpy( bs->pz_num, ps_info.ic_no) ; /* 证件号码*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -