📄 sjcjphzh.sqc
字号:
/*-------------------------------------------------------** 程序名:sjcjphzh.sqc** 程序员:由程序(t_prgmdl)自动生成** 编写时间:20040713** 程序功能:将盘后的交易资金信息倒出到文件中-------------------------------------------------------*/#include "trsfunc.h"EXEC SQL INCLUDE SQLCA;int main(int argc,char *argv[]){ time_t t_bgn,t_end; int t_use,t_hour,t_min,t_sec; int icntfetch,icntinsert,icntupdate,icnterror,iret,iper; FILE *fp; char logfile[30],showmsg[80]; char xwdm1[9],xwdm2[9],xwdm3[9],xwdm4[9]; int len; char outtime[9],cuttime[3]; int temppos; int i,k,wtfslen; char tempvalue[801]=""; /*临时用value内容值*/ char m_cznr[256]=""; /*操作内容,股东代码迁移用*/ char m_qckhh[51]=""; /*迁出客户号*/ char m_qrkhh[51]=""; /*迁入客户号*/ char m_qygddm[51]=""; /*迁移股东代码*/ char m_qyscdm[21]=""; /*迁移市场代码*/ char m_qckhh1[9]=""; /*迁出客户号*/ char m_qrkhh1[9]=""; /*迁入客户号*/ EXEC SQL BEGIN DECLARE SECTION; /* 连接数据库所用的字段 */ char m_dbs[11]; char m_user[11]; char m_password[11]; char m_schema[11]; /* fund_stock_change 表的数据项 */ char m_branch_code[4]=""; /*营业部代码*/ char m_cust_no[11]=""; /*客户号*/ char m_bill_no[13]=""; /*备注*/ char m_holder_acc_no[16]=""; /*股东代码*/ char m_rpt_acc_no[16]=""; /*股东代码*/ char m_xkm_rpt_accno[16]=""; /*一级股东代码代码*/ char m_stock_code[9]=""; /*xkm股东代码代码*/ char m_market_code[2]=""; /*市场代码*/ char m_market_name[11]=""; /*市场名称*/ double m_amt3=0; /*股票发生*/ double m_amt4=0; /*股票余额*/ double m_amt17=0; /*资金发生金额*/ double m_amt7=0; /*资金余额*/ char m_order[11]=""; /*合同序号*/ double m_amt2=0; /*平均成交价格*/ char m_occur_date[9]=""; /*发生日期*/ char m_occur_time[9]=""; /*发生时间*/ char m_business_code[5]=""; /*业务代码*/ char m_change_type[5]=""; /*变动类别 大集中的*/ char m_currency_type[3]=""; /*货币代码*/ char m_emp_code[7]=""; /*职工代码*/ char m_emp_name[21]=""; /*职工姓名*/ char m_sec_name[9]=""; /*证券名称*/ char m_sec_code[9]=""; /*证券代码*/ char m_zydm[5]=""; /*摘要代码*/ char m_zymc[31]=""; /*摘要名称*/ char m_bdlb[3]=""; /*变动类别*/ char m_bdlbmc[31]=""; /*变动类别名称*/ double m_yj=0; /*佣金*/ double m_yhs=0; /*印花税*/ double m_ghf=0; /*过户费*/ char m_lsh[13]=""; /*流水号*/ char m_join_lsh[13]=""; /*关联流水号*/ char m_join_date[9]=""; /*关联日期*/ char m_yhdm[7]=""; /*银行代码*/ char m_bank_name[81]=""; /*银行名称*/ char m_yhzh[41]=""; /*银行账号*/ char m_bcsm[13]=""; /*补充说明*/ long m_yxts=0; /*有效天数*/ long m_mxts=0; /*免息天数*/ double m_tzll=0; /*贷款利率*/ char m_bz[2]=""; /*币种*/ double m_kyye=0; /*可用余额*/ char m_dqrq[9]=""; /*信用资金到期日期*/ char m_gdxm[21]=""; /*股东姓名*/ char m_sfzh[51]=""; /*身份账号*/ char m_dlxm[21]=""; /*代理姓名*/ char m_dlsf[51]=""; /*代理身份*/ char m_wtqx[21]=""; /*委托权限*/ char m_gdsx[3]=""; /*股东属性*/ char m_tkfs[2]=""; /*???*/ char m_lxdh[21]=""; /*联系电话*/ char m_lxdz[41]=""; /*联系地址*/ char m_card[51]=""; /*磁卡号*/ char m_gdmm[21]=""; /*股东密码*/ char m_mobile[16]=""; /*手机号*/ char m_email[31]=""; /*EMAIL*/ char m_khlb[3]=""; /*客户类别*/ char m_dydm[11]=""; /*对应股东代码*/ char m_zhxz[2]=""; /*帐户性质*/ char m_fhkhh[11]=""; /*返还客户号*/ char m_thisvalue[801]=""; /*other_change 的操作后内容*/ char m_oldvalue[801]=""; /*other_change 的操作前内容*/ char m_wtfs[5]=""; /*委托方式*/ long m_sec_chg=0; /*股票变化数量*/ long m_sec_bal=0; /*股票库存*/ char m_sec_type[3]=""; /*新证券类别*/ char m_zqlb[2]=""; /*老证券类别*/ char m_scdm[2]=""; /*老市场代码*/ char m_table[31]=""; /*变动的表名*/ char m_newwtfs[2]=""; /*大集中委托方式*/ char m_wtfsmc[21]=""; /*委托方式名称*/ char m_oldzydm[9]=""; /*V6摘要代码*/ char m_oldzymc[31]=""; /*V6摘要名称*/ char m_oldhbdm[2]=""; /*v6货币代码*/ char m_oldyhdm[2]=""; /*V6银行代码*/ char m_today[20]=""; /*当前日期*/ char m_nowtime[20]=""; /*当前时间*/ char m_xkm_scbm[2]=""; /*西科母市场编码*/ char m_xkm_hbdm[3]=""; /*西科母货币代码*/ char m_xkm_gddm[16]=""; /*西科母采集的股东代码*/ double m_total_zjye=0; double m_total_yj=0; double m_total_yhs=0; double m_total_ghf=0; double m_total_amt=0; EXEC SQL END DECLARE SECTION; char head[129]=""; /*包头信息*/ char data[2049]=""; /*包体信息*/ EXEC SQL WHENEVER NOT FOUND CONTINUE; EXEC SQL WHENEVER SQLWARNING CONTINUE; EXEC SQL WHENEVER SQLERROR CONTINUE; if ( argc < 5 ) { printf("ERROR:Parameter is less than four!\n"); printf("Usage: %s dbs user password schema\n",argv[0]); return 1; } strcpy(m_dbs,argv[1]); strcpy(m_user,argv[2]); strcpy(m_password,argv[3]); strcpy(m_branch_code,argv[4]); icntfetch=0; icntinsert=0; icntupdate=0; icnterror=0; iret=0; iper=0; strcpy(showmsg,"盘后交易数据采集"); printf("----------------%s:采集开始--------------\n",showmsg);/* t_bgn=time(NULL);*/ EXEC SQL CONNECT TO :m_dbs USER :m_user USING :m_password; if ( sqlca.sqlcode != 0 ) { printf("ERROR:Fail to connect to %s!\n",m_dbs); return 3; } if (!getmacdatetime0(m_today,m_nowtime)) exit(0); if (argc==6) strcpy(m_today,argv[5]); strcat(logfile,"data/"); sprintf(logfile,"%s%s%s%s%s","data/","PH",m_branch_code,(char*)(m_today+2),".txt"); if ( ( fp=fopen(logfile,"w+")) == NULL ) { printf("Error:Open log file %s error!\n",logfile); return 2; } /*资金,交易类数据采集*/ EXEC SQL DECLARE c2 CURSOR WITH HOLD FOR SELECT CUST_NO,SERIAL_NO,OCCUR_DATE,BUSINESS_CODE,THIS_VALUE,LAST_VALUE,EMP_CODE,OCCUR_TIME,OP_OBJECT FROM KS.other_change where BRANCH_CODE=:m_branch_code and OCCUR_DATE=:m_today order by CUST_NO,SERIAL_NO; EXEC SQL OPEN c2; while(1) { EXEC SQL FETCH c2 INTO :m_cust_no,:m_lsh,:m_occur_date,:m_business_code,:m_thisvalue,:m_oldvalue,:m_emp_code,:m_occur_time,:m_table; if (SQLCODE) break; icntfetch++; memset(data,0x0,sizeof(data)); TransBusinessCode(m_business_code,"",m_zydm,m_zymc,m_bdlb,m_oldzydm,m_oldzymc); trim(m_cust_no); trim(m_lsh); trim(m_occur_date); trim(m_business_code); trim(m_thisvalue); trim(m_oldvalue); trim(m_emp_code); trim(m_occur_time); trim(m_zydm); trim(m_zymc); trim(m_bdlb); trim(m_oldzydm); trim(m_oldzymc); if ((strcmp(m_emp_code,"SYSTEM")==0) || (strcmp(m_emp_code,"")==0)) strcpy(m_emp_code,"000SYS"); /*4001 客户开户*/ if ((strcmp(m_zydm,"4001")==0)) { EXEC SQL SELECT NAME,CERT_NO,ENTRUST_AUTH,BAR_CODE,CUST_TYPE into :m_gdxm,:m_sfzh,:m_wtqx,:m_card,:m_khlb from ks.cust_base_info where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no; EXEC SQL SELECT PHONE,ADDR,MOBILE,EMAIL into :m_lxdh,:m_lxdz,:m_mobile,:m_email from ks.CUST_OTHER_INFO where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no; EXEC SQL SELECT NAME,CERT_NO into :m_dlxm,:m_dlsf from ks.AGENT_INFO where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no; strcpy(m_gdsx,""); strcpy(m_gdmm,""); trim(m_cust_no); trim(m_oldzydm); trim(m_oldzymc); trim(m_gdxm); trim(m_sfzh); trim(m_dlxm); trim(m_dlsf); trim(m_wtqx); trim(m_lxdh); trim(m_lxdz); trim(m_card); trim(m_mobile); trim(m_email); trim(m_khlb); strcpy(m_xkm_hbdm,"00"); TranSymbol(m_lxdh); TranSymbol(m_lxdz); TranSymbol(m_email); sprintf(data,"0%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%06d", m_cust_no,m_gdxm,m_sfzh,m_dlxm,m_dlsf,m_wtqx,"",m_khlb,m_lxdh,m_lxdz,m_card,"",m_email,m_oldzydm,m_oldzymc,icntfetch); len = strlen(data); fprintf(fp,"1%07d",icntfetch); fprintf(fp,"%4s",m_zydm); fprintf(fp,"%04d",len); fprintf(fp,"%8s",m_occur_date); memset(outtime,0x0,sizeof(outtime)); outtime[0]=m_occur_time[0]; outtime[1]=m_occur_time[1]; outtime[2]=m_occur_time[3]; outtime[3]=m_occur_time[4]; outtime[4]=m_occur_time[6]; outtime[5]=m_occur_time[7]; outtime[6]='0'; outtime[7]='0'; fprintf(fp,"%8s",outtime); fprintf(fp,"%c",m_xkm_hbdm[1]); fprintf(fp,"0%s",(char*) (m_emp_code+3)); fprintf(fp,",%s%c%c",data,0x0d,0x0a); } /*4002 添加股东代码*/ if ((strcmp(m_zydm,"4002")==0)) { printf("4002\n"); memset(tempvalue,0x00,sizeof(tempvalue)); memset(m_holder_acc_no,0x00,sizeof(m_holder_acc_no)); memset(m_market_code,0x00,sizeof(m_market_code)); memset(m_gdxm,0x00,sizeof(m_gdxm)); memset(m_cust_no,0x00,sizeof(m_cust_no)); memset(m_branch_code,0x00,sizeof(m_branch_code)); strcpy(tempvalue,m_thisvalue); printf("%s\n",m_thisvalue); temppos=0; for (k=1;k<7;k++) { if (k!=1) { temppos=temppos+i+1; } if (k==1) { i=strcspn(m_thisvalue,"|"); printf("%d\n",i); } else { i=strcspn((char*) (m_thisvalue+temppos),"|"); } if (k==2) strncpy(m_cust_no,(char*) (m_thisvalue+temppos),i); if (k==3) strncpy(m_gdxm,(char*) (m_thisvalue+temppos),i); if (k==4) strncpy(m_market_code,(char*) (m_thisvalue+temppos),i); if (k==5) strncpy(m_holder_acc_no,(char*) (m_thisvalue+temppos),i); } m_market_code[1]=0; m_holder_acc_no[10]=0; strcpy(m_gdsx,""); trim(m_cust_no); trim(m_oldzydm); trim(m_oldzymc); trim(m_gdxm); trim(m_gdsx); trim(m_market_code); trim(m_holder_acc_no); if (strcmp(m_market_code,"1")==0) strcpy(m_xkm_scbm,"1"); if (strcmp(m_market_code,"2")==0) strcpy(m_xkm_scbm,"0"); if (strcmp(m_market_code,"3")==0) strcpy(m_xkm_scbm,"3"); if (strcmp(m_market_code,"4")==0) strcpy(m_xkm_scbm,"2"); if (strcmp(m_market_code,"")==0) strcpy(m_xkm_scbm,""); if ((m_market_code[1]=='1') || (m_market_code[1]=='3')) strncpy(m_xkm_gddm,(char*)(m_holder_acc_no+1),9); else strcpy(m_xkm_gddm,m_holder_acc_no); if ((strcmp(m_market_code,"1")==0) || (strcmp(m_market_code,"2")==0)) strcpy(m_xkm_hbdm,"00"); if (strcmp(m_market_code,"3")==0) strcpy(m_xkm_hbdm,"02"); if (strcmp(m_market_code,"4")==0) strcpy(m_xkm_hbdm,"01"); sprintf(data,"0%s,%s,%s,%s,%s,%s,%s,%s,%06d", m_cust_no,m_xkm_gddm,m_xkm_scbm,m_xkm_gddm,"",m_gdxm,m_oldzydm,m_oldzymc,icntfetch); len = strlen(data); fprintf(fp,"1%07d",icntfetch); fprintf(fp,"%4s",m_zydm); fprintf(fp,"%04d",len); fprintf(fp,"%8s",m_occur_date); memset(outtime,0x0,sizeof(outtime)); outtime[0]=m_occur_time[0]; outtime[1]=m_occur_time[1]; outtime[2]=m_occur_time[3]; outtime[3]=m_occur_time[4]; outtime[4]=m_occur_time[6]; outtime[5]=m_occur_time[7]; outtime[6]='0'; outtime[7]='0'; fprintf(fp,"%8s",outtime); fprintf(fp,"%c",m_xkm_hbdm[1]); fprintf(fp,"0%s",(char*) (m_emp_code+3)); fprintf(fp,",%s%c%c",data,0x0d,0x0a); } /*4003 挂失股东代码*/ if ((strcmp(m_zydm,"4003")==0)) { printf("4003\n"); memset(tempvalue,0x00,sizeof(tempvalue)); memset(m_holder_acc_no,0x00,sizeof(m_holder_acc_no)); strcpy(tempvalue,m_oldvalue);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -