📄 charge_format.cpp
字号:
//userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"按合同号检索用户所选定制帐单项出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { cDatabase->Commit(); StrReturn(100,NULL); } else { cDatabase->Commit(); StrReturn(isqlcode,cDatabase->GetData()); }}//-----------------------------------------------------------------//服务PFListForAcc实现函数,传入参数staff_id,acc_nbr//按电话号码检索用户所选定制帐单项//-----------------------------------------------------------------void CFormat::PFListForAcc(){ char lsSql[800],lsTemp[1024],lsErr[300]; int isqlcode; char acc_nbr[20]; char *lparm[3]; int i,lpnum,rpnum; lpnum=2; rpnum=GetInputParm(pInp,lparm,50); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(acc_nbr,lparm[1]); lpfree(lparm,rpnum); //userlog("\nreceive data acc_nbr: %s",acc_nbr); sprintf(lsSql, "SELECT DISTINCT e.serv_name, " "c.bill_format_id, " "c.bill_item_type_id, " "c.name, " "a.acct_item_type_id, " "a.name, " "a.standard_code, " "e.serv_id " "FROM B_ACCT_ITEM_TYPE_O a, " "BILL_ACCT_ITEM_TYPE b, " "BILL_ITEM_TYPE c, " "SERV_BILL_FORMAT d, " "B_SERV e " "WHERE ( c.bill_item_type_id = b.bill_item_type_id ) and " "( b.acct_item_type_id = a.acct_item_type_id ) and " "( c.bill_format_id = d.bill_format_id ) and " "( d.serv_id = e.serv_id ) and " "( ( e.acc_nbr = '%s' ) AND " "( e.state not in ( 'F0X','F0H')) ) " ,acc_nbr); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"按电话号码检索用户所选定制帐单项出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { cDatabase->Commit(); StrReturn(100,NULL); } else { cDatabase->Commit(); StrReturn(isqlcode,cDatabase->GetData()); }}//-----------------------------------------------------------------//服务PFUseForAcct实现函数,传入参数staff_id,acct_id,bill_format_id//合同号帐单选用//-----------------------------------------------------------------void CFormat::PFUseForAcct(){ char lsSql[150],lsTemp[1024],lsErr[300]; int i,isqlcode,lpnum,rpnum; char bill_format_id[20],acct_id[20],staff_id[20]; char *lparm[3]; //取参数开始 lpnum=3; rpnum=GetInputParm(pInp,lparm,20); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(acct_id,lparm[1]); strcpy(bill_format_id,lparm[2]); lpfree(lparm,rpnum); //取参数结束 cDatabase->BeginTran(); sprintf(lsSql, "select 'ok' " "from B_ACCT " "where acct_id=%s " "and state='10A' " ,acct_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"校验合同号时出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { sprintf(lsTemp,"无此有效合同号!\n"); cDatabase->Commit(); StrReturn(100,lsTemp); } sprintf(lsSql, "select 'ok' " "from ACCT_BILL_FORMAT " "where acct_id=%s " ,acct_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"校验合同号对应定制帐单时出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { sprintf(lsSql, "insert into ACCT_BILL_FORMAT " "select acct_id,%s " "from B_ACCT " "where acct_id=%s " "and state='10A' " ,bill_format_id,acct_id); } else { sprintf(lsSql, "UPDATE ACCT_BILL_FORMAT " "SET bill_format_id=%s " "WHERE acct_id=%s " ,bill_format_id,acct_id); } //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0||cDatabase->GetRowCount()!=1) { strcpy(lsTemp,"定制帐单失败!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } cDatabase->Commit(); StrReturn(0,"定制帐单成功!"); }//-----------------------------------------------------------------//服务PFUseForAcc实现函数,传入参数staff_id,acc_nbr,bill_format_id//电话号码帐单选用//-----------------------------------------------------------------void CFormat::PFUseForAcc() { char lsSql[150],lsTemp[1024],lsErr[300]; int i,isqlcode,lpnum,rpnum; char bill_format_id[20],acc_nbr[20],*serv_id,staff_id[20]; char *lparm[3]; //取参数开始 lpnum=3; rpnum=GetInputParm(pInp,lparm,20); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(acc_nbr,lparm[1]); strcpy(bill_format_id,lparm[2]); lpfree(lparm,rpnum); //取参数结束 cDatabase->BeginTran(); sprintf(lsSql, "select serv_id " "from B_SERV " "where acc_nbr='%s' " "and state not in ('F0X','F0H') " ,acc_nbr); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"校验电话号码时出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { sprintf(lsTemp,"无此有效电话号码!\n"); cDatabase->Commit(); StrReturn(100,lsTemp); } serv_id=cDatabase->GetData(); sprintf(lsSql, "select 'ok' " "from SERV_BILL_FORMAT " "where serv_id=%s " ,serv_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"校验电话号码对应定制帐单时出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { sprintf(lsSql, "insert into SERV_BILL_FORMAT " "select serv_id,%s " "from B_SERV " "where serv_id=%s " "and state not in ('F0X','F0H') " ,bill_format_id,serv_id); } else { sprintf(lsSql, "UPDATE SERV_BILL_FORMAT " "SET bill_format_id=%s " "WHERE serv_id=%s " ,bill_format_id,serv_id); } //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0||cDatabase->GetRowCount()!=1) { strcpy(lsTemp,"定制帐单失败!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } cDatabase->Commit(); StrReturn(0,"定制帐单成功!"); }//-----------------------------------------------------------------//服务PFBuildForAcct实现函数,传入参数staff_id,acct_id,billing_cycle_id//根据合同号生成帐单//-----------------------------------------------------------------void CFormat::PFBuildForAcct() //根据合同号生成帐单{ char lsSql[1100],lsTemp[1024],lsErr[300]; int i,isqlcode,lpnum,rpnum; char billing_cycle_id[20],acct_id[20],*bill_format_id; char bill_format_def[2],staff_id[20]; char *lparm[3]; sprintf(bill_format_def,"1"); //取参数开始 lpnum=3; rpnum=GetInputParm(pInp,lparm,20); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(acct_id,lparm[1]); strcpy(billing_cycle_id,lparm[2]); lpfree(lparm,rpnum); //取参数结束 sprintf(lsSql, "select distinct acct_id " "from B_ACCT_ITEM_O " "where acct_id=%s " "and billing_cycle_id=%s " ,acct_id,billing_cycle_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); //userlog("检索返回行数:%d",cDatabase->GetRowCount()); if(isqlcode<0) { strcpy(lsTemp,"校验该合同号下本帐期有无费用时出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } else if(isqlcode==0 && cDatabase->GetRowCount()==0) { sprintf(lsTemp,"该合同号下本帐期无费用!\n"); cDatabase->Commit(); StrReturn(100,lsTemp); } sprintf(lsSql, "select bill_format_id "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -