📄 charge_dcpatch.cpp
字号:
#include "charge_dcpatch.h"
#include "charge_public.h"
#include "payment.flds.h"
CDCpatch::CDCpatch(char *pcInp,COracle *pcDatabase)
{
cDatabase = pcDatabase;
pInp = pcInp;
}
//------------------------------------------------------------------------
//服务PDCSellWS调用函数
//------------------------------------------------------------------------
void CDCpatch::SellWS()
{
char lsSql[2048],lsTemp[1024],lsErr[500],lstmp[20];
char staff_id[40],site_id[30],sell_id[40],start_date[100],end_date[100],area_id[20];
int i,isqlcode,lpnum,rpnum;
long len,lrow,row;
char *lparm[3];
lpnum=1;
rpnum=GetInputParm(pInp,lparm,500);
if(rpnum!=lpnum)
{
lpfree(lparm,rpnum);
strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");
StrReturn(-2,lsTemp);
}
sprintf(sell_id,"%s",lparm[0]);
lpfree(lparm,rpnum);
sprintf(lsSql,
"SELECT billing_cycle_id,count(1),nvl(sum(charge),0) \n"
" FROM SELL_UNPAY_LIST \n"
" WHERE sell_id = %s \n"
" GROUP BY billing_cycle_id\n",sell_id);
cDatabase->DoSql(lsSql);
isqlcode=cDatabase->GetSqlCode();
if(isqlcode<0)
{
strcpy(lsTemp,"检索买断点未收统计数据出错!\n");
strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");
if(WriteLog(cDatabase,staff_id,"w_p_sta_dayreport",lsTemp,lsErr)!=1)
strcat(lsTemp,lsErr);
cDatabase->Commit();
StrReturn(-1,lsTemp);
}
if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);
StrReturn(0,cDatabase->GetData());
}
//------------------------------------------------------------------------
//服务PDCSellSS调用函数
//------------------------------------------------------------------------
void CDCpatch::SellSS()
{
char lsSql[2048],lsTemp[1024],lsErr[500],lstmp[20];
char staff_id[40],site_id[30],sell_id[40],start_date[100],end_date[100],area_id[20];
int i,isqlcode,lpnum,rpnum;
long len,lrow,row;
char *lparm[3];
lpnum=3;
rpnum=GetInputParm(pInp,lparm,500);
if(rpnum!=lpnum)
{
lpfree(lparm,rpnum);
strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");
StrReturn(-2,lsTemp);
}
sprintf(sell_id,"%s",lparm[0]);
sprintf(start_date,"to_date('%s','yyyy-mm-dd hh24:mi:ss')",lparm[1]);
sprintf(end_date,"to_date('%s','yyyy-mm-dd hh24:mi:ss')",lparm[2]);
lpfree(lparm,rpnum);
strcpy(area_id,cDatabase->data->GetColData(1,1));
sprintf(lsSql,
"SELECT a.billing_cycle_id,c.name, \n"
" nvl(sum(decode(a.special_acct_flag,'0',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'1',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'2',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'3',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'0',0,'1',0,'2',0,'3',0,a.charge,0)),0), \n"
" nvl(sum(a.charge),0) \n"
" FROM CHARGE.B_ACCT_ITEM_O a ,CHARGE.BILL b,CHARGE.STAFF c,CHARGE.SELL_SITE d \n"
" WHERE a.bill_serial_nbr = b.bill_serial_nbr \n"
" AND b.state = '40C' \n"
" AND b.pay_date >= %s \n"
" AND b.pay_date < %s \n"
" AND b.staff_id = c.staff_id \n"
" AND c.site_id = d.site_id \n"
" AND d.sell_id = %s \n"
" GROUP BY a.billing_cycle_id,c.name\n"
" ORDER BY 1 \n",start_date,end_date,sell_id);
cDatabase->DoSql(lsSql);
isqlcode=cDatabase->GetSqlCode();
if(isqlcode<0)
{
strcpy(lsTemp,"检索买断点实收费用清单数据出错!\n");
strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");
if(WriteLog(cDatabase,staff_id,"w_p_sta_dayreport",lsTemp,lsErr)!=1)
strcat(lsTemp,lsErr);
cDatabase->Commit();
StrReturn(-1,lsTemp);
}
if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);
StrReturn(0,cDatabase->GetData());
}
//------------------------------------------------------------------------
//服务PDCStaffSS调用函数
//------------------------------------------------------------------------
void CDCpatch::StaffSS()
{
char lsSql[2048],lsTemp[1024],lsErr[500],lstmp[20];
char staff_id[40],site_id[30],sell_id[40],start_date[100],end_date[100],area_id[20];
int i,isqlcode,lpnum,rpnum;
long len,lrow,row;
char *lparm[3];
lpnum=3;
rpnum=GetInputParm(pInp,lparm,500);
if(rpnum!=lpnum)
{
lpfree(lparm,rpnum);
strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");
StrReturn(-2,lsTemp);
}
sprintf(staff_id,"%s",lparm[0]);
sprintf(start_date,"to_date('%s','yyyy-mm-dd hh24:mi:ss')",lparm[1]);
sprintf(end_date,"to_date('%s','yyyy-mm-dd hh24:mi:ss')",lparm[2]);
lpfree(lparm,rpnum);
strcpy(area_id,cDatabase->data->GetColData(1,1));
sprintf(lsSql,
"SELECT a.billing_cycle_id, \n"
" nvl(sum(decode(a.special_acct_flag,'0',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'1',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'2',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'3',a.charge,0)),0), \n"
" nvl(sum(decode(a.special_acct_flag,'0',0,'1',0,'2',0,'3',0,a.charge,0)),0), \n"
" nvl(sum(a.charge),0) \n"
" FROM CHARGE.B_ACCT_ITEM_O a ,CHARGE.BILL b \n"
" WHERE a.bill_serial_nbr = b.bill_serial_nbr \n"
" AND b.state = '40C' \n"
" AND b.pay_date >= %s \n"
" AND b.pay_date < %s \n"
" AND b.staff_id = %s \n"
" GROUP BY a.billing_cycle_id \n"
" ORDER BY 1 \n",start_date,end_date,staff_id);
cDatabase->DoSql(lsSql);
isqlcode=cDatabase->GetSqlCode();
if(isqlcode<0)
{
strcpy(lsTemp,"检索个人实收费用清单数据出错!\n");
strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");
if(WriteLog(cDatabase,staff_id,"w_p_sta_dayreport",lsTemp,lsErr)!=1)
strcat(lsTemp,lsErr);
cDatabase->Commit();
StrReturn(-1,lsTemp);
}
if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);
StrReturn(0,cDatabase->GetData());
}
//------------------------------------------------------------------------
//服务PDCSellYS调用函数
//------------------------------------------------------------------------
void CDCpatch::SellYS()
{
char lsSql[2048],lsTemp[1024],lsErr[500],lstmp[20];
char staff_id[40],site_id[30],sell_id[30],start_date[100],end_date[100],area_id[20];
int i,isqlcode,lpnum,rpnum;
long len,lrow,row;
char *lparm[3];
lpnum=1;
rpnum=GetInputParm(pInp,lparm,50);
if(rpnum!=lpnum)
{
lpfree(lparm,rpnum);
strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");
StrReturn(-2,lsTemp);
}
sprintf(sell_id,"%s",lparm[0]);
lpfree(lparm,rpnum);
sprintf(lsSql,
"SELECT nvl(sum(charge_yz),0),nvl(sum(charge_qn),0),\n"
" nvl(sum(charge_qj),0),nvl(sum(charge_ch),0),nvl(sum(charge),0) \n"
" FROM SELL_LIST \n"
" WHERE sell_id = %s \n",sell_id);
//userlog(lsSql);
cDatabase->DoSql(lsSql);
isqlcode=cDatabase->GetSqlCode();
if(isqlcode<0)
{
strcpy(lsTemp,"检索营业点应收费用统计数据出错!\n");
strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");
if(WriteLog(cDatabase,staff_id,"w_p_sta_dayreport",lsTemp,lsErr)!=1)
strcat(lsTemp,lsErr);
cDatabase->Commit();
StrReturn(-1,lsTemp);
}
if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);
StrReturn(0,cDatabase->GetData());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -