📄 cb_f1.cpp
字号:
#include "CB_F1.h"
#include "CB_String.h"
#include "CB_Unit.h"
#include "CB_String.h"
#include "CB_Socket.h"
#include "Afx.h"
//##ModelId=409333ED0036
int CB_F1::instance(char *str, char *fileName)
{
int nRtn = 0;
FILE *pFile;
pFile = fopen(fileName,"r+");
COLLIERY coll_src,coll_dest;
strToStrt(str,&coll_src);
int len = sizeof(COLLIERY);
int data_flag = 0;
char *pIndex_src,*pIndex_dest;
pIndex_src = coll_src.index;
CB_Unit::trim(pIndex_src);
while(1==1)
{
if(fread(&coll_dest,len,1,pFile)<1)
{
if(feof(pFile)!=0){
data_flag = 1;
break;
}else{
data_flag = 0;
break;
}
}
pIndex_dest= coll_dest.index ;
CB_Unit::trim(pIndex_dest);
if( strcmp(pIndex_src,pIndex_dest) == 0)
{
data_flag = 2;
break;
}
}
char *pSend;
if(data_flag == 1)
{
strcpy(coll_src.state,"1");
strcpy(coll_src.affirm,"0");
if(fwrite(&coll_src,len,1,pFile)<1)
{
nRtn = -1;
goto Stop;
}else{
pSend = getSendDataNew(&coll_src);
}
}else if(data_flag == 2){
int nState = atoi(coll_dest.state);
int nAffirm= atoi(coll_dest.affirm);
if(strcmp(coll_src.name,coll_dest.name)!=0 )
{
if((nState==1) && (nAffirm==0))
{
strcpy(coll_src.state,"1");
strcpy(coll_src.affirm,"0");
pSend = getSendDataNew(&coll_src);
}else if( (nState==1) && (nAffirm==1))
{
strcpy(coll_src.state,"2");
strcpy(coll_src.affirm,"0");
pSend = getSendDataUpdate(&coll_dest,&coll_src);
}else if( nState==2)
{
strcpy(coll_src.state,"2");
strcpy(coll_src.affirm,"0");
pSend = getSendDataUpdate(&coll_dest,&coll_src);
}
if(fseek(pFile,-len,SEEK_CUR)!=0)
{
nRtn = -1;
goto Stop;
}
if(fwrite(&coll_src,len,1,pFile)<1)
{
nRtn = -1;
goto Stop;
}
}else{ if(nAffirm == 0)
{
if(nState==1)
{
pSend = getSendDataNew(&coll_src);
}else if(nState ==2){
pSend = getSendDataUpdate(&coll_dest,&coll_src);
}
}else{
goto Stop;
}
}
}
if(isSocketEnable())
{
CB_Socket cSocket;
cSocket.initiaze();
char *rtn;
rtn = NULL;
if(cSocket.send(pSend,rtn)<0)
{
nRtn = -1;
goto Stop;
}
printf("pSend:%s\n",pSend);
strcpy(coll_src.affirm,"1");
if(fseek(pFile,-len,SEEK_CUR)!=0)
{
nRtn = -1;
goto Stop;
}
if(fwrite(&coll_src,len,1,pFile)<1)
{
nRtn = -1;
goto Stop;
}
}
Stop:
fclose(pFile);
return nRtn;
}
//##ModelId=409333ED00C2
void CB_F1::setSign(void *vPtr)
{
}
//##ModelId=40B30C150193
void CB_F1::setUser(CB_User* user)
{
m_user = user;
}
//##ModelId=40B30E570339
char *CB_F1::getSendDataNew(COLLIERY *colliery)
{
CB_Unit::clearBuf(m_sendData,sizeof(m_sendData));
strcpy(m_sendData,"9S+0+增");
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->name);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->office);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->area);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->linkman);
strcat(m_sendData,"+");
strcat(m_sendData,colliery->name);
strcat(m_sendData,"+");
strcat(m_sendData,colliery->index);
strcat(m_sendData,"+");
strcat(m_sendData,"E");
return m_sendData;
}
//##ModelId=40B3F0120057
char *CB_F1::getSendDataUpdate(COLLIERY * coll_src, COLLIERY * coll_dest)
{
CB_Unit::clearBuf(m_sendData,sizeof(m_sendData));
strcpy(m_sendData,"9S+0+改");
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->name);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->office);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->area);
strcat(m_sendData,"+");
strcat(m_sendData,m_user->getPerson()->linkman);
strcat(m_sendData,"+");
strcat(m_sendData,coll_src->name);
strcat(m_sendData,"+");
strcat(m_sendData,coll_dest->name);
strcat(m_sendData,"+");
strcat(m_sendData,coll_dest->index);
strcat(m_sendData,"+");
strcat(m_sendData,"E");
return m_sendData;
}
//##ModelId=409AF4BA03AC
int CB_F1::strToStrt(char *str, COLLIERY *colliery)
{
CB_String string;
string.split(str,',');
char *pResult = string.getNext();
CB_Unit::trim(pResult);
strcpy(colliery->index,pResult);
pResult = string.getNext();
CB_Unit::trim(pResult);
strcpy(colliery->name,pResult);
pResult = string.getNext();
CB_Unit::trim(pResult);
strcpy(colliery->sys_name,pResult);
pResult = string.getNext();
CB_Unit::trim(pResult);
strcpy(colliery->time_produce,pResult);
strcpy(colliery->state,"0");
strcpy(colliery->affirm,"0");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -