📄 charge_payment.cpp
字号:
strcat(ls_score,")"); } } sprintf(lsSql," SELECT a.acct_id,a.acct_seq_nbr,NVL(a.change,0),'%s'||substr(NVL(a.customer_name,''),1,14), " " a.payment_method,NVL(a.acc_nbr,''),NVL(a.acct_nbr_97,''),a.sell_id,substr(NVL(b.detail,''),1,15),NVL(a.balance,0) " " FROM lbas.ACCT a, lbas.ADDRESS b WHERE a.acct_id = %s and a.address_id=b.address_id(+) AND a.state='10A'",ls_score,acct_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_id信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { sprintf(lsSql," SELECT a.acct_id,a.acct_seq_nbr,NVL(a.change,0),'%s'||substr(NVL(a.customer_name,''),1,14), " " a.payment_method,NVL(a.acc_nbr,''),NVL(a.acct_nbr_97,''),a.sell_id,substr(NVL(b.detail,''),1,15),NVL(a.balance,0) " " FROM B_ACCT a, B_ADDRESS b WHERE a.acct_id = %s and a.address_id=b.address_id(+) AND a.state='10A'",ls_score,acct_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_id信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户acct_id信息"); } } strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData()))); strcat(lsRettemp,"\t"); strcat(lsRettemp,serv_id);strcat(lsRettemp,"\t"); strcat(lsRettemp,serv_name); sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取定制帐单出错"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow>0) { bill_format_id=cDatabase->GetData(); strcat(lsRettemp,"\t"); strcat(lsRettemp,bill_format_id); } cDatabase->Commit(); StrReturn(0,lsRettemp); case 3: //按acct_nbr_97提取用户信息 sprintf(lsSql," select a.cur_score from lbas.score_current a ,lbas.acct b where a.acct_id=b.acct_id " " and b.state='10A' and b.acct_nbr_97='%s' ",Code); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户积分信息失败1"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==1) { if(li_score==1) { strcpy(ls_score,"(积分:"); strcat(ls_score,rtrim(ltrim(cDatabase->GetData()))); strcat(ls_score,")"); } } sprintf(lsSql," SELECT a.acct_id,a.acct_seq_nbr,NVL(a.change,0),'%s'||substr(NVL(a.customer_name,''),1,14), " " a.payment_method,NVL(a.acc_nbr,''),NVL(a.acct_nbr_97,''),a.sell_id,substr(nvl(b.detail,''),1,15),NVL(a.balance,0) " " FROM lbas.ACCT a, lbas.ADDRESS b WHERE a.acct_nbr_97= '%s' and a.address_id=b.address_id(+) AND a.state='10A'",ls_score,Code); // //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_nbr_97信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) {// StrReturn(100,"计费库未找到用户acct_nbr_97信息"); sprintf(lsSql," SELECT a.acct_id,a.acct_seq_nbr,NVL(a.change,0),'%s'||substr(NVL(a.customer_name,''),1,14), " " a.payment_method,NVL(a.acc_nbr,''),NVL(a.acct_nbr_97,''),a.sell_id,substr(nvl(b.detail,''),1,15),NVL(a.balance,0) " " FROM b_ACCT a, b_ADDRESS b WHERE a.acct_nbr_97= '%s' and a.address_id=b.address_id(+) AND a.state='10A'",ls_score,Code); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_nbr_97信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户acct_nbr_97信息"); } } rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1)))); strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData()))); sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取定制帐单出错"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow>0) { bill_format_id=cDatabase->GetData(); strcat(lsRettemp,"\t"); strcat(lsRettemp,bill_format_id); } cDatabase->Commit(); StrReturn(0,lsRettemp); case 4: //按bar_code提取用户信息 sprintf(lsSql,"SELECT acct_id,NVL(contact_tel,'') FROM B_BARCODE_ACCT WHERE bar_code = '%s'",Code); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户缴费卡信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户缴费卡信息"); } rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1)))); rtrim(ltrim(strcpy(acc_nbr,cDatabase->data->GetColData(1,2)))); sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),substr(NVL(customer_name,''),1,14),payment_method,NVL(acc_nbr,''),NVL(acct_nbr_97,''),sell_id,NVL(balance,0) FROM B_ACCT WHERE acct_id = %s AND state='10A'",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_id信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户acct_id信息"); } strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData()))); strcat(lsRettemp,"\t"); strcat(lsRettemp,acc_nbr); sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取定制帐单出错"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow>0) { bill_format_id=cDatabase->GetData(); strcat(lsRettemp,"\t"); strcat(lsRettemp,bill_format_id); } cDatabase->Commit(); StrReturn(0,lsRettemp); case 5: //按代收号提取用户信息 sprintf(lsSql,"SELECT acct_id,serv_id FROM B_TRUSTED_ACCT_ITEM WHERE acc_nbr = '%s'",Code); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户代收信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户代收信息"); } rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1)))); rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,2)))); sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),substr(NVL(customer_name,''),1,14),payment_method,NVL(acc_nbr,''),NVL(acct_nbr_97,''),sell_id,NVL(balance,0) FROM B_ACCT WHERE acct_id = %s AND state='10A'",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取用户acct_id信息失败"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到用户acct_id信息"); } strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData())));strcat(lsRettemp,"\t"); strcat(lsRettemp,serv_id); sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取定制帐单出错"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow>0) { bill_format_id=cDatabase->GetData(); strcat(lsRettemp,"\t"); strcat(lsRettemp,bill_format_id); } cDatabase->Commit(); StrReturn(0,lsRettemp); default: cDatabase->Commit(); StrReturn(-1,"未知的号码类型"); }}void CPayment::GetItem(char *StaffID,char *ItemType,char *Code){ char lsSql[2048],lsTemp[1024],lsErr[500],lsRetstr[2048],lsRettemp[500]; int isqlcode,lrow; int itemtype; itemtype = atoi(ItemType); switch (itemtype) { case 1: //按合同号销帐 sprintf(lsSql,"SELECT /*+ all_rows */ a.acct_id,a.billing_cycle_id,a.partner_id,a.bill_item_id,to_char(b.due_date,'yyyy-mm-dd'),sum(a.charge)," "count(a.acct_item_id),max(a.serv_id),max(a.acct_item_id),1 flag,a.state " "FROM B_ACCT_ITEM_O a, " "B_BILLING_CYCLE b " "WHERE a.billing_cycle_id = b.billing_cycle_id and " "a.acct_id = %s AND " "a.state in ('20C','20Q','20S','20T','20Y','20Z') " "group by a.acct_id, " "a.billing_cycle_id, " "a.partner_id, " "a.bill_item_id, " "to_char(b.due_date,'yyyy-mm-dd'),a.state " "order by a.acct_id, " "a.billing_cycle_id, " "a.partner_id, " "a.bill_item_id",Code); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("sqlcode= %d",isqlcode); //userlog("RowCount= %d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); strcpy(lsRetstr,"提取合同号帐目出错"); if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { cDatabase->Commit(); StrReturn(100,"未找到合同号帐目"); } cDatabase->Commit(); StrReturn(0,cDatabase->GetData()); case 2: //按电话号销帐 sprintf(lsSql,"SELECT /*+ all_rows */ a.acct_id,a.billing_cycle_id,a.partner_id,a.bill_item_id," "to_char(b.due_date,'yyyy-mm-dd'),sum(a.charge),count(a.acct_item_id),a.serv_id,max(a.acct_item_id),1 flag,a.state " "FROM B_ACCT_ITEM_O a, " "B_BILLING_CYCLE b " "WHERE a.billing_cycle_id = b.billing_cycle_id AND " "a.serv_id = %s AND " "a.state in ( '20C','20Q','20S','20T','20Y','20Z' ) " "group by a.acct_id, " "a.serv_id, " "a.billing_cycle_id, " "a.partner_id, " "a.bill_item_id, " "to_char(b.due_date,'yyyy-mm-dd'),a.state " "order by a.acct_id, "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -