📄 charge_login.cpp
字号:
#include "charge_login.h"/*#include "payment.flds.h"*/CLogin::CLogin(char *pcInp,COracle *pcDatabase){ cDatabase = pcDatabase; pInp = pcInp;}void CLogin::GetStaffInfo(char *StaffID){ char lsSql[2048],lsTemp[1024],lsErr[500]; int isqlcode,lrow; char SiteID[5],StaffName[21],SiteName[31]; ///////////////// char SellID[5],SellName[21]; ////////////////// //查找用户营业点和用户名 sprintf(lsSql,"SELECT site_id,name FROM STAFF WHERE staff_id = %s",StaffID); //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"); if(WriteLog(cDatabase,StaffID,"w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) StrReturn(100,"员工信息不存在"); //userlog(cDatabase->GetData()); strcpy(SiteID,cDatabase->data->GetColData(1,1)); strcpy(StaffName,cDatabase->data->GetColData(1,2)); //提取员工营业点信息 sprintf(lsSql,"SELECT a.name,a.area_id,b.name FROM B_SITE a,B_AREA b WHERE site_id = %s and a.area_id=b.area_id",SiteID); //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"); if(WriteLog(cDatabase,StaffID,"w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) StrReturn(100,"员工所属营业点不存在"); strcpy(lsTemp,cDatabase->GetData()); strcat(lsTemp,"\t");strcat(lsTemp,StaffName); ///////////////////////////////////////////////////// //查找营业点和买断点关系 sprintf(lsSql,"SELECT a.sell_id, b.sell_name FROM SELL_SITE a,SELL b WHERE a.site_id = %s and a.sell_id=b.sell_id",SiteID); //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"); if(WriteLog(cDatabase,StaffID,"w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) //该营业点没有对应买断点 { strcpy(SellID,"0"); strcpy(SellName,NULL); } else { strcpy(SellID,cDatabase->data->GetColData(1,1)); strcpy(SellName,cDatabase->data->GetColData(1,2)); } ///////////////////////////////////////////////////// strcat(lsTemp,"\t");strcat(lsTemp,SellID); strcat(lsTemp,"\t");strcat(lsTemp,SellName); cDatabase->Commit(); StrReturn(0,lsTemp);}void CLogin::CheckStaff(char *StaffID,char *PassWord){ char lsSql[2048],lsTemp[1024],lsErr[500]; int isqlcode,lrow; char Grade[5]; //员工信息验证 sprintf(lsSql," SELECT grade FROM STAFF " "WHERE staff_id = %s AND " "NVL(password,'') = rtrim('%s ') AND " "state = 'K0A' AND " "sysdate > eff_date AND " "sysdate < exp_date",StaffID,PassWord);// 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"); //userlog(lsTemp); if(WriteLog(cDatabase,StaffID,"w_m_login",strcat("注册失败,未通过员工合法性检验",lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); //userlog(lsTemp); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); strcpy(Grade,cDatabase->GetData()); if(lrow==0) { strcpy(lsTemp,"注册失败!密码错误或员工号已失效");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(100,lsTemp); } else { /* strcpy(lsTemp,"注册成功!");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_m_login",lsTemp,lsErr)!=1) { strcat(lsTemp,lsErr); StrReturn(100,lsTemp); } */ }// userlog("login ok!"); cDatabase->Commit(); StrReturn(0,Grade);}void CLogin::ChangePWD(char *StaffID,char *OldPWD,char *NewPWD){ char lsSql[2048],lsTemp[1024],lsErr[500]; int isqlcode,lrow; char OldPWDCHK[7]; //员工信息验证 sprintf(lsSql,"SELECT NVL(password,'119') FROM STAFF WHERE staff_id = %s",StaffID); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_m_login",strcat("提取老密码失败",lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-1,lsTemp); } lrow=cDatabase->GetRowCount(); if(lrow==0) { strcpy(lsTemp,"未取到老密码");strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_m_login",strcat("提取老密码失败",lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(100,lsTemp); } strcpy(OldPWDCHK,cDatabase->GetData()); if(strcmp(OldPWDCHK,OldPWD)!=0) StrReturn(-1,"老密码不正确"); cDatabase->BeginTran(); sprintf(lsSql,"UPDATE STAFF SET password = '%s' WHERE staff_id = %s",NewPWD,StaffID); cDatabase->DoSql(lsSql); isqlcode=cDatabase->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n"); if(WriteLog(cDatabase,StaffID,"w_m_login",strcat("修改密码失败",lsTemp),lsErr)!=1) strcat(lsTemp,lsErr); cDatabase->Rollback(); StrReturn(-1,strcat("修改密码失败",lsTemp)); } cDatabase->Commit(); StrReturn(0,"密码修改成功");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -