📄 charge_erase.cpp
字号:
{ strcat(lsTemp,lsErr); cDatabase->Rollback(); } else cDatabase->Commit(); StrReturn(-1,lsTemp); } sprintf(lsSql, "UPDATE BALANCE_TABLE_ADMIN " "SET total_amount=(total_amount-(%s)) ," " advance=(advance-(%s)+(%s))," " present=(present-(%s)) " "where acct_id=%s and state='1' " ,hist_admin,hist_admin,present,present,acct_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); cDatabase->Rollback(); strcpy(lsTemp,"更新台帐表出错");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) { strcat(lsTemp,lsErr); cDatabase->Rollback(); } else cDatabase->Commit(); StrReturn(-1,lsTemp); } sprintf(lsSql, "UPDATE BALANCE_HIST_EFF_EXP " "SET present=(present-(%s)) ," " balance=(balance-(%s))" " where balance_hist_admin_id in ( select max(balance_hist_admin_id) " " from balance_hist_eff_exp " " where acct_id=%s and state='01' ) " " and state='01' " ,present,hist_admin,acct_id); // userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); cDatabase->Rollback(); strcpy(lsTemp,"更新赠费记录表出错");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) { strcat(lsTemp,lsErr); cDatabase->Rollback(); } else cDatabase->Commit(); StrReturn(-1,lsTemp); } sprintf(lsSql, "INSERT INTO ERASE_BILL_LIST " "SELECT SEQ_ERASE_BILL_LIST.NEXTVAL, aa.* " "FROM (SELECT DISTINCT b.serv_id,b.serv_seq_nbr,b.billing_cycle_id,b.bill_serial_nbr, " "%s,a.staff_id,a.pay_date,'0' " "FROM BILL a,B_ACCT_ITEM_O b " "WHERE a.bill_serial_nbs = b.bill_serial_nbr AND " "b.bill_serial_nbr = %s) aa " ,pay_serial_nbr,bill_serial_nbr); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); cDatabase->Rollback(); strcpy(lsTemp,"生成反销帐清单出错");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) { strcat(lsTemp,lsErr); cDatabase->Rollback(); } else cDatabase->Commit(); StrReturn(-1,lsTemp); } cDatabase->Commit(); StrReturn(0,"返销处理成功");}void CErase::GetReprintBill(char *StaffID,char *ItemType,char *Code,char *OtherArea,char *max_acct_id,char *min_acct_id,char *billing_cycle){ char lsSql[2048],lsTemp[1024],lsErr[500],lsRetstr[2048]; int isqlcode,lrow,itemtype; char acct_id[9],serv_id[11]; char acct_nbr_97[10]; int acct_flag,bill_flag,li_reprint_flag; int bill_exists,erase_flag; char bill_serial_nbr[18]; char cycle_end_date[10]; itemtype = atoi(ItemType); //userlog("max_acct=%s,min_acct=%s\n",max_acct_id,min_acct_id);//查看是否有指定帐期归档表 sprintf(lsSql," select * from user_tables where table_name='B_ACCT_ITEM_O_%s' ",billing_cycle); cDatabase->DoSql(lsSql); //userlog(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按取帐务周期信息出错!");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) { acct_flag=0; } else { acct_flag=1; } //查看是否有BILL_HIS表 sprintf(lsSql," select * from user_tables where table_name='BILL_HIS' "); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按取销帐历史表信息出错!");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) { bill_exists=0; } else bill_exists=1; //帐期结束时间 sprintf(lsSql," select to_char(cycle_end_date,'yyyy-mm-dd') from b_billing_cycle where billing_cycle_id=%s ",billing_cycle); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按取帐务周期结束日期出错!");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) { StrReturn(100,"未找到帐务周期结束日期"); } else sprintf(cycle_end_date,"%s",cDatabase->GetData()); switch (itemtype) { case 1: //按合同号提取 sprintf(lsSql,"select acct_id from b_acct where acct_id=%s and state='10A' ", Code); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog(lsSql); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按97合同号提取销帐记录出错");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) { StrReturn(100,"未找到局编合同号信息"); } sprintf(Code,"%s",cDatabase->GetData()); //userlog(Code); if(strcmp(OtherArea,"0")==0) { if(atol(Code)<atol(min_acct_id)||atol(Code)>=atol(max_acct_id)) StrReturn(-1,"不允许进行异地返销"); } if(acct_flag==0) { //提取指定帐期销帐流水号 sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o where acct_id=%s and billing_cycle_id=%s ",Code,billing_cycle); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog(lsSql); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"提取指定帐期销帐流水号出错1");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==1) { sprintf(bill_serial_nbr,"%s",cDatabase->GetData()); } else { StrReturn(100,"未找到合同号销帐记录1"); } if(bill_exists==0) { li_reprint_flag=1; sprintf(lsSql,"SELECT to_char(a.bill_serial_nbr),'%s'," "to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, " "a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) " "FROM BILL a,BALANCE_HIST_ADMIN b " "WHERE a.acct_id=b.acct_id(+) " " and a.acct_id=%s " " and a.bill_serial_nbr=b.bill_serial_nbr(+) " " and a.bill_serial_nbr=%s and a.state = '40C' " ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr); } else { li_reprint_flag=1; sprintf(lsSql,"SELECT to_char(a.bill_serial_nbr),'%s'," "to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, " "a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) " "FROM BILL a,BALANCE_HIST_ADMIN b " "WHERE a.acct_id=b.acct_id(+) " " and a.acct_id=%s " " and a.bill_serial_nbr=b.bill_serial_nbr(+) " " and a.bill_serial_nbr=%s and a.state = '40C' " ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按电话号提取销帐历史记录出错1");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) { li_reprint_flag=2; sprintf(lsSql,"SELECT to_char(a.bill_serial_nbr),'%s'," "to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, " "a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) " "FROM BILL_HIS a,BALANCE_HIST_ADMIN b " "WHERE a.acct_id=b.acct_id(+) " " and a.acct_id=%s " " and a.bill_serial_nbr=b.bill_serial_nbr(+) " " and a.bill_serial_nbr=%s and a.state = '40C' " ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr); } else StrReturn(0,cDatabase->GetData()); } //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"按电话号提取销帐历史记录出错2");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==0) StrReturn(100,"未找到电话号销帐记录"); StrReturn(0,cDatabase->GetData()); } else { //提取指定帐期销帐流水号 sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o_%s where acct_id=%s ",billing_cycle,Code); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog(lsSql); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"提取指定帐期销帐流水号出错2");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==1) { sprintf(bill_serial_nbr,"%s",cDatabase->GetData()); li_reprint_flag=3; } else { sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o where billing_cycle_id=%s and acct_id=%s ",billing_cycle,Code); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog(lsSql); if(isqlcode<0) { strcpy(lsRetstr,cDatabase->GetSqlErrText()); strcpy(lsTemp,"提取指定帐期销帐流水号出错2");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); cDatabase->Commit(); if(lrow==1) { sprintf(bill_serial_nbr,"%s",cDatabase->GetData()); li_reprint_flag=1; } else { StrReturn(100,"未找到合同号销帐记录2"); } } } if(bill_exists==0) { if(li_reprint_flag!=1) { li_reprint_flag=3; } sprintf(lsSql,"SELECT to_char(a.bill_serial_nbr),'%s'," "to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, " "a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) " "FROM BILL a,BALANCE_HIST_ADMIN b " "WHERE a.acct_id=b.acct_id(+) " " and a.acct_id=%s " " and a.bill_serial_nbr=b.bill_serial_nbr(+) " " and a.bill_serial_nbr=%s and a.state = '40C' " ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr); } else { if(li_reprint_flag!=1) { li_reprint_flag=3; } sprintf(lsSql,"SELECT to_char(a.bill_serial_nbr),'%s'," "to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, " "a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) " "FROM BILL a,BALANCE_HIST_ADMIN b "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -