📄 charge_format.cpp
字号:
"delete from BILL_FORMAT_O " "where bill_format_id=%s " ,bill_format_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); 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,"删除数据成功!");}//-----------------------------------------------------------------//服务PFDelItem实现函数,传入参数staff_id,bill_item_type_id,//bill_item_type_id_other//删除bill_item_type_id相关数据//-----------------------------------------------------------------void CFormat::PFDelItem(){ char lsSql[120],lsTemp[1024],lsErr[300]; int i,isqlcode,lpnum,rpnum; char bill_item_type_id_other[20],bill_item_type_id[20]; char *lparm[3],staff_id[20]; //取参数开始 lpnum=3; rpnum=GetInputParm(pInp,lparm,20); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_balance",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(bill_item_type_id,lparm[1]); strcpy(bill_item_type_id_other,lparm[2]); lpfree(lparm,rpnum); //取参数结束 //userlog("\ndelete data for bill_item_type_id: %s",bill_item_type_id); cDatabase->BeginTran(); sprintf(lsSql, "update BILL_ACCT_ITEM_TYPE " "set bill_item_type_id=%s " "where bill_item_type_id=%s " ,bill_item_type_id_other,bill_item_type_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0||cDatabase->GetRowCount()!=1) { strcpy(lsTemp,"删除BILL_ACCT_ITEM_TYPE相关数据时出错!\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); } sprintf(lsSql, "delete from BILL_ITEM_TYPE " "where bill_item_type_id=%s " ,bill_item_type_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0) { strcpy(lsTemp,"删除BILL_ITEM_TYPE相关数据时出错!\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,"删除数据成功!");}//-----------------------------------------------------------------//服务PFDelType实现函数,传入参数staff_id,bill_item_type_id,//acct_item_type_id,bill_item_type_id_other//删除acct_item_type_id相关数据//-----------------------------------------------------------------void CFormat::PFDelType(){ char lsSql[180],lsTemp[1024],lsErr[300]; int i,isqlcode,lpnum,rpnum; char bill_item_type_id_other[20],bill_item_type_id[20],acct_item_type_id[20]; char *lparm[4],staff_id[20]; //取参数开始 lpnum=4; rpnum=GetInputParm(pInp,lparm,20); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_balance",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); strcpy(bill_item_type_id,lparm[1]); strcpy(acct_item_type_id,lparm[2]); strcpy(bill_item_type_id_other,lparm[3]); lpfree(lparm,rpnum); //取参数结束 //userlog("\ndelete data for acct_item_type_id: %s",acct_item_type_id); cDatabase->BeginTran(); sprintf(lsSql, "update BILL_ACCT_ITEM_TYPE " "set bill_item_type_id=%s " "where bill_item_type_id=%s " "and acct_item_type_id=%s " ,bill_item_type_id_other,bill_item_type_id,acct_item_type_id); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0) { strcpy(lsTemp,"删除BILL_ACCT_ITEM_TYPE相关数据时出错!\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,"删除数据成功!");}//-----------------------------------------------------------------//服务PFSaveFor实现函数,参数块一(工号,单排)//块二(定制帐单数据窗口数据,多排),块三(帐单对应帐单项数据窗口数据,多排)//块四(帐单项对应帐目类型数据窗口数据,多排)//保存定制帐单数据//-----------------------------------------------------------------void CFormat::PFSaveFor(){ char lsSql[150],lsTemp[1024],lsErr[300]; int isqlcode,lpnum,wpnum,rpnum; char staff_id[20]; char *lparm[2048],*wparm[6],tch[2]; long ret,i,j,row=0,col=0,pos; //userlog(pInp); //通过char(1)拆解字符串 wpnum=4; rpnum=GetParmByAny(pInp,wparm,1,1024*6); if(rpnum!=wpnum) { lpfree(wparm,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,wparm[0]); cDatabase->BeginTran(); //分解块二数据(多排) ret=GetMulRowData(wparm[1],lparm,&row,&col,100); //userlog("ret= %d row= %d col= %d",ret,row,col); if(ret<=0) { lpfree(wparm,wpnum); lpfree(lparm,2048); strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } for(i=0;i<row;i++) { j=i*col; if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0) { sprintf(lsSql, "INSERT INTO BILL_FORMAT_O " "VALUES (%s,'%s','%s' ) " ,lparm[j],lparm[j+1],lparm[j+2]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0) { strcpy(lsTemp,"插入帐单记录数据出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } else if(strcmp(lparm[j+3],"DataModified!")==0) { sprintf(lsSql, "UPDATE BILL_FORMAT_O " "SET name = '%s', " "bill_format_type = '%s' " "WHERE bill_format_id = %s " ,lparm[j+1],lparm[j+2],lparm[j]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); 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_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } } //分解块三数据(多排) ret=GetMulRowData(wparm[2],lparm,&row,&col,100); //userlog("ret= %d row= %d col= %d",ret,row,col); if(ret<=0) { lpfree(wparm,wpnum); lpfree(lparm,2048); strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } for(i=0;i<row;i++) { j=i*col; if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0) { sprintf(lsSql, "INSERT INTO BILL_ITEM_TYPE " "VALUES (%s,%s,'%s' ) " ,lparm[j],lparm[j+1],lparm[j+2]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0) { strcpy(lsTemp,"插入帐单对应项记录数据出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } else if(strcmp(lparm[j+3],"DataModified!")==0) { sprintf(lsSql, "UPDATE BILL_ITEM_TYPE " "SET bill_format_id = %s, " "name = '%s' " "WHERE bill_item_type_id = %s " ,lparm[j+1],lparm[j+2],lparm[j]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); 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_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } } //分解块四数据(多排) ret=GetMulRowData(wparm[3],lparm,&row,&col,100); //userlog("ret= %d row= %d col= %d",ret,row,col); if(ret<=0) { lpfree(wparm,wpnum); lpfree(lparm,2048); strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n"); if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Commit(); StrReturn(-2,lsTemp); } for(i=0;i<row;i++) { j=i*col; if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0) { sprintf(lsSql, "INSERT INTO BILL_ACCT_ITEM_TYPE " "VALUES (%s,%s,%s ) " ,lparm[j],lparm[j+1],lparm[j+2]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); if(isqlcode<0) { strcpy(lsTemp,"插入帐单项对应帐目类型数据出错!\n"); strcat(lsTemp,cDatabase->GetSqlErrText()); strcat(lsTemp,"\n"); cDatabase->Rollback(); if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } else if(strcmp(lparm[j+3],"DataModified!")==0) { sprintf(lsSql, "UPDATE BILL_ACCT_ITEM_TYPE " "SET bill_format_id = %s " "WHERE bill_item_type_id = %s and " "acct_item_type_id = %s " ,lparm[j+2],lparm[j],lparm[j+1]); //userlog(lsSql); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); //userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText()); 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_settle",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); lpfree(lparm,ret); cDatabase->Commit(); StrReturn(-1,lsTemp); } } } cDatabase->Commit(); StrReturn(0,"保存成功!");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -