📄 cif_co.c
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <memory.h>#include "apgloble.h"#include "bms_strcdef.h"#include "bms_micro.h"/* ------------------------------------------------------------------------功 能: 对公客户档案信息登记 交易码: 8201--------------------------------------------------------------------------- */int c8201( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; PS_PID ps_pid; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)); memset( (char *)&ps_pid, '\0', sizeof( ps_pid)); /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != 100 ) { if ( ret == SUCCESS ) { /* 客户号或该证件号码已存在*/ if ( co_info.status == STATUS_ACTIVE ) bs->result = 8001 ; /* 该证件号码已存在*/ else bs->result = 8002 ; /* 曾登记已注销,选择重新登记*/ return( FAILURE) ; } printf("CASE[%d] c8201 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } memset( (char *)&co_info, '\0', sizeof( co_info)) ; SetCoInfo( bs, &co_info) ; AllTrim(bs->cid); if( !strlen(bs->cid) || !atol(bs->cid) ) { if( DB_GenCCid(bs->cid) ) { bms_trace("get cid error."); bs->result = 1600; return FAILURE; } strcpy( co_info.cid, bs->cid) ; } if ( (ret=DB_add_co_info( &co_info, &ps_pid)) != SUCCESS ) { printf("CASE[%d] c8201 add_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } strcpy( bs->cid, co_info.cid) ; return( SUCCESS) ;}int SetCoInfo( BIG_STRC *bs, CO_INFO *co_info){ /* 客户档案信息*/ sprintf( co_info->zoneno, "%05d", bs->zoneno) ; /* 地区号*/ strcpy( co_info->cid, bs->cid) ; /* 客户号*/ strcpy( co_info->regist_id, bs->pz_num) ; /* 注册号码*/ strcpy( co_info->unitname, bs->name) ; /* 单位名称 */ strcpy( co_info->country_tax, bs->debi_bank) ; /* 国税税号*/ strcpy( co_info->local_tax, bs->debi_acct) ; /* 地税税号*/ strcpy( co_info->basaccd, bs->cred_acct) ; /* 基本存款帐号*/ strcpy( co_info->reg_bank, bs->cred_bank) ;/* 开户行*/ strcpy( co_info->agent, bs->abstract) ; /* 法人代表*/ co_info->ic_type = bs->debi_acct_type ; /* 法人证件种类*/ strcpy( co_info->ic_no, bs->incall_num) ; /* 法人证件号码*/ strcpy( co_info->finacemas, bs->rate) ; /* 财务主管*/ co_info->mas_type = bs->cred_acct_type ; /* 主管证件种类*/ strcpy( co_info->mas_no, bs->call_id) ; /* 主管证件号码*/ strcpy( co_info->address, bs->address) ; /* 单位地址 */ strcpy( co_info->postcode, bs->postcode) ;/* 邮政编号 */ strcpy( co_info->phone1, bs->tele) ; /* 办公电话 */ strcpy( co_info->phone2, bs->passwd1) ; /* 财务电话 */ strcpy( co_info->fax, bs->passwd2) ; /* 传真 */ strcpy( co_info->email, bs->sonsign_no) ; /* Email*/ sprintf( co_info->type, "%1d", bs->source_typ) ;/* 性质*/ strcpy( co_info->remark, bs->notes1) ; /* 备注*/ sprintf( co_info->func_def, "%020d", 0) ; /* 默认功能*/ co_info->status = STATUS_ACTIVE ; strcpy( co_info->reg_teller, bs->teller) ; strcpy( co_info->reg_brch, bs->term_no) ; pub_get_year_second( co_info->reg_date) ; strcpy( co_info->modi_teller, bs->teller) ; strcpy( co_info->modi_brch, bs->term_no) ; pub_get_year_second( co_info->modi_date) ; return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 对公客户档案信息查询 交易码: 8202--------------------------------------------------------------------------- */int c8202( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)) ; /* 查询客户是否存在,并取得客户号,注册号码和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CASE[%d] c8202 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, co_info.cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info.ic_no) ; /* 注册号码*/ WriteCoInfo( &co_info, bs) ; return( SUCCESS) ;}int WriteCoInfo( CO_INFO *co_info, BIG_STRC *bs){ /* 客户档案信息*/ strcpy( bs->cid, co_info->cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info->regist_id) ; /* 注册号码*/ strcpy( bs->name, co_info->unitname) ; /* 注册号码*/ strcpy( bs->debi_bank, co_info->country_tax) ; /* 国税税号*/ strcpy( bs->debi_acct, co_info->local_tax) ; /* 地税税号*/ strcpy( bs->cred_acct, co_info->basaccd) ; /* 基本存款帐号*/ strcpy( bs->cred_bank, co_info->reg_bank) ; /* 开户行*/ strncpy( bs->abstract , co_info->agent,10) ; /* 法人代表*/ bs->debi_acct_type = co_info->ic_type ; /* 法人证件种类*/ strcpy( bs->incall_num, co_info->ic_no) ; /* 法人证件号码*/ strncpy( bs->rate, co_info->finacemas, 10) ; /* 财务主管*/ bs->cred_acct_type = co_info->mas_type ; /* 主管证件种类*/ strcpy( bs->call_id, co_info->mas_no) ; /* 主管证件号码*/ strcpy( bs->address, co_info->address) ; /* 单位地址 */ strcpy( bs->postcode, co_info->postcode) ; /* 邮政编号 */ strncpy( bs->tele, co_info->phone1, 20) ; /* 办公电话 */ strncpy( bs->passwd1, co_info->phone2, 16) ; /* 财务电话 */ strncpy( bs->passwd2, co_info->fax, 16) ; /* 传真 */ strncpy( bs->sonsign_no, co_info->email, 20) ; /* Email*/ bs->source_typ = atoi( co_info->type) ; /* 性质*/ strncpy( bs->notes1, co_info->remark, 30) ; /* 备注*/ bs->bill_flg = co_info->status ; /* 状态*/ strcpy( bs->notes2, co_info->reg_teller) ; /* 开户柜员*/ strcpy( bs->notes3, co_info->reg_date) ; /* 开户日期*/ strcpy( bs->notes4, co_info->modi_teller) ; /* 修改柜员*/ strcpy( bs->notes5, co_info->modi_date) ; /* 修改日期*/ return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 对公客户档案信息修改 交易码: 8203--------------------------------------------------------------------------- */int c8203( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CASE[%d] c8203 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, co_info.cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info.regist_id) ;/* 证件号码*/ if ( co_info.status == STATUS_DISA ) { bs->result = 8006 ; /* 该客户已注销,不能修改*/ return( FAILURE) ; } memset( (char *)&co_info, '\0', sizeof( co_info)) ; SetCoInfo( bs, &co_info) ; if ( (ret=DB_modi_co_info( bs->cid, &co_info)) != SUCCESS ) { bms_trace("CASE[%d] c8203 modi_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 对公客户档案信息注销 交易码: 8204--------------------------------------------------------------------------- */int c8204( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CASE[%d] c8204 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, co_info.cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info.regist_id) ;/* 证件号码*/ if ( co_info.status == STATUS_DISA ) { bs->result = 8007 ; /* 该客户已注销,不能再注销*/ return( FAILURE) ; } strcpy( co_info.modi_teller, bs->teller) ; strcpy( co_info.modi_brch, bs->term_no) ; pub_get_year_second( co_info.modi_date) ; if ( (ret=DB_del_co_info( bs->cid, &co_info)) != SUCCESS ) { bms_trace("CASE[%d] c8204 del_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 对公客户重新登记 交易码: 8206--------------------------------------------------------------------------- */int c8206( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CASE[%d] c8206 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } strcpy( bs->cid, co_info.cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info.regist_id) ;/* 证件号码*/ if ( co_info.status != STATUS_DISA) { bs->result = 8009 ; /* 该客户是正常状态,不能重新登记*/ return( FAILURE) ; } memset( (char *)&co_info, '\0', sizeof( co_info)) ; SetCoInfo( bs, &co_info) ; ret = DB_readd_co_info( bs->cid, &co_info) ; if ( ret != SUCCESS ) { bms_trace("CASE[%d] c8206 readd_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } return( SUCCESS) ;}/* ------------------------------------------------------------------------功 能: 对公帐号登记 交易码: 8211--------------------------------------------------------------------------- */int c8211( TRADE_HEAD *tr_h, BIG_STRC *bs){ CO_INFO co_info ; CO_ACC_REG co_acc_reg ; int ret ; memset( (char *)&co_info, '\0', sizeof( co_info)) ; /* 查询客户是否存在,并取得客户号证件和客户姓名*/ ret = DB_search_co_info( bs->cid, bs->pz_num, &co_info) ; if ( ret != SUCCESS ) { if ( ret != 100 ) { bms_trace("CASE[%d] c8211 search_co_info[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; } else bs->result = 8004 ; /* 客户档案信息不存在*/ return( FAILURE) ; } //bms_trace("1"); strcpy( bs->cid, co_info.cid) ; /* 客户号*/ strcpy( bs->pz_num, co_info.regist_id) ;/* 注册号码*/ if ( co_info.status == STATUS_DISA ) { bs->result = 8010 ; /* 该客户已注销*/ return( FAILURE) ; } memset( (char *)&co_acc_reg, '\0', sizeof( co_acc_reg)) ; SetCoAccRegInfo( bs, &co_info, &co_acc_reg) ; strcpy(bs->notes2, "Y"); if(CallHost(bs) == FAILURE) return FAILURE; /* 查询帐户是否存在*/ if ( (ret=DB_search_co_acc_reg_on_aid( &co_acc_reg)) != 100 ) { if ( ret == SUCCESS ) { bs->result = 8011 ; /* 帐户序号已存在*/ return( FAILURE) ; } bms_trace("CASE[%d] c8211 search_co_acc_reg_on_aid[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } bms_trace("2"); if ( (ret=DB_search_co_acc_reg_on_acct( &co_acc_reg)) != 100 ) { if ( ret == SUCCESS ) { bs->result = 8012 ; /* 帐号已存在*/ return( FAILURE) ; } bms_trace("CASE[%d] c8211 search_co_acc_reg_on_acct[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } bms_trace("3"); memset( (char *)&co_acc_reg, '\0', sizeof( co_acc_reg)) ; SetCoAccRegInfo( bs, &co_info, &co_acc_reg) ; if ( co_acc_reg.aid[ 0] == '1' ) { if ( !strcmp( co_acc_reg.auth_flg, "000") ) { bs->result = 8013 ; /* 他人帐号无操作权限*/ return( FAILURE) ; } } if ( (ret=DB_add_co_acc_reg( &co_acc_reg)) != SUCCESS ) { bms_trace("CASE[%d] c8211 add_co_acc_reg[%d]!", mypid, ret) ; bs->result = DATABASE_PROGRAM_ERROR ; return( FAILURE) ; } bms_trace("4"); return( SUCCESS) ;}int SetCoAccRegInfo( BIG_STRC *bs, CO_INFO *co_info, CO_ACC_REG *co_acc_reg){ strcpy( co_acc_reg->zoneno, co_info->zoneno) ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -