📄 dphsmod.pc
字号:
gig1rows = atoi(gcrows);
}
}
/*a5PDN_device处理开始*/
else if (strcmp(gccondition,"A5") == 0)
{
gia5e=i;
gia5c++;
ncpyRec(i,6,gcrows,5);
trim(gcrows);
if (atoi(gcrows) > gia5rows)
{
gia5rows = atoi(gcrows);
}
}
/*d6PDN_phs处理开始*/
else if (strcmp(gccondition,"D6") == 0)
{
gid6e=i;
gid6c++;
ncpyRec(i,6,gcrows,5);
trim(gcrows);
if (atoi(gcrows) > gid6rows)
{
gid6rows = atoi(gcrows);
}
}
/*e7cn_cust_info处理开始*/
else if (strcmp(gccondition,"E7") == 0)
{
gie7e=i;
gie7c++;
ncpyRec(i,6,gcrows,5);
trim(gcrows);
if (atoi(gcrows) > gie7rows)
{
gie7rows = atoi(gcrows);
}
}
/*H3PDN_PREPAY处理开始*/
else if (strcmp(gccondition,"H3") == 0)
{
gih3e=i;
gih3c++;
ncpyRec(i,6,gcrows,5);
trim(gcrows);
if (atoi(gcrows) > gih3rows)
{
gih3rows = atoi(gcrows);
}
}
/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 begin*/
else if (strcmp(gccondition,"J2") == 0)
{
gij2e=i;
gij2c++;
ncpyRec(i,6,gcrows,5);
trim(gcrows);
if (atoi(gcrows) > gih3rows)
{
gih3rows = atoi(gcrows);
}
}
/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 end*/
/*取编号处理开始*/
else if (strcmp(gccondition,"//") == 0)
{
giadde=i;
ncpyRec(i,1,gcoldproduce_id[giaddc],26);
ncpyRec(i,2,gcoldproduce_no[giaddc],26);
ncpyRec(i,3,gcoldaccept_id[giaddc],26);
ncpyRec(i,4,gcoldsrv_code[giaddc],5);
trim(gcoldproduce_id[giaddc]);
trim(gcoldproduce_no[giaddc]);
trim(gcoldaccept_id[giaddc]);
trim(gcoldsrv_code[giaddc]);
giaddc++;
}
}
/*扫描FOR 循环完成*/
gia0s = gia0e - gia0c + 1;
gia1s = gia1e - gia1c + 1;
gig0s = gig0e - gig0c + 1;
gig1s = gig1e - gig1c + 1;
gia5s = gia5e - gia5c + 1;
gid6s = gid6e - gid6c + 1;
gie7s = gie7e - gie7c + 1;
gih3s = gih3e - gih3c + 1;
/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 */
gij2s = gij2e - gij2c + 1;
/*取处理等级*/
EXEC SQL SELECT tran_value INTO :gicust_type_value FROM dc_cust_type WHERE scode = :gccust_type;
if (sqlca.sqlcode != 0)
{
strcat(gcretstr,"检索dc_cust_type出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
EXEC SQL SELECT tran_value INTO :giaccept_grade_value FROM dc_acceptgrad WHERE scode = :gcaccept_grade;
if (sqlca.sqlcode != 0)
{
strcat(gcretstr,"检索dc_acceptgrad出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
gideal_grad=gicust_type_value * giaccept_grade_value;
/*因为产品互改导致产品类别的新旧值不一致,现统一用旧产品类别判断业务码*/
EXEC SQL SELECT prod_class INTO :gcoldprod_class FROM pdn_pdinfo WHERE produce_id = :gcmainproduce_id AND produce_type = 0;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"查询旧产品类别出错");
#ifdef YYDEBUG
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
}
trim(gcoldprod_class);
if (gcoldprod_class[0] == 0)
{
strcpy(gcoldprod_class,gcprod_class);
trim(gcoldprod_class);
}
#ifdef YYDEBUG
DebugLog("gcoldprod_class=%s,gcprod_class=%s",gcoldprod_class,gcprod_class);
#endif
gcretval=initializtionProc(); /*初始化处理*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("init");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_pdinfoProc(); /*生成pdn_pdinfo详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("pdinfo");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*生成pdn_phone详细资料*/
gcretval=intoPdn_phoneProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("phone");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
#ifdef YYDEBUG
DebugLog("prepay");
#endif
gcretval=intoPdn_prepayProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("pdn_prepay");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*生成pdn_incr_prod详细资料*/
gcretval=intoPdn_incr_prodProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("incr_prod");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*生成pdn_prod_prop详细资料*/
gcretval=intoPdn_prod_propProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("prod_prop");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*生成pdn_device详细资料*/
gcretval=intoPdn_deviceProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("device");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*生成pdn_device详细资料*/
gcretval=intoPdn_phsProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("phs");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*因为对联系人等字段做处理,cn_cust_info放在最后处理*/
gcretval=intoCn_cust_infoProc(); /*生成cn_cust_info详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("cn_cust_info");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*增加对改号通知音,移机留号,移机不改号业务处理*/
gcretval=intoPdn_linkinfoProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("pdn_linkinfo");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 begin*/
gcretval=intoPdn_phssimProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("pdn_phssim");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/*统一处理跨表信息*/
/*释放号码处理*/
for(i=0;i<strlen(gcproduct_nostr);i=0)
{
gcproduct_no[0]=0;
j=strcspn(gcproduct_nostr,"/");
memcpy(gcproduct_no,gcproduct_nostr,j);
gcproduct_no[j]=0;
EXEC SQL UPDATE rn_number SET use_state = 'A' WHERE product_no = :gcproduct_no AND use_state = 'E';
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"修改rn_number出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
strcpy(gcproduct_nostr,gcproduct_nostr + 1 + j);
#ifdef YYDEBUG
DebugLog("good!!!,i=%d,j=%d,gcproduct_no=%s,gcproduct_nostr=%s",i,j,gcproduct_no,gcproduct_nostr);
#endif
}
/*释放ps编号处理*/
for(i=0;i<strlen(gcps_codestr);i=0)
{
lcps_code[0]=0;
j=strcspn(gcps_codestr,"/");
memcpy(lcps_code,gcps_codestr,j);
lcps_code[j]=0;
EXEC SQL UPDATE ps_handset_data SET use_state = 'A' WHERE ps_code = :lcps_code AND use_state = 'E';
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"修改ps_handset_data出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
strcpy(gcps_codestr,gcps_codestr + 1 + j);
#ifdef YYDEBUG
DebugLog("good!!!,i=%d,j=%d,gcps_code=%s,gcps_codestr=%s",i,j,lcps_code,gcps_codestr);
#endif
}
/*释放sim编号处理 modify kenshine 20050427 begin*/
for(i=0;i<strlen(gcsim_codestr);i=0)
{
lcps_code[0]=0;
j=strcspn(gcsim_codestr,"/");
memcpy(lcps_code,gcsim_codestr,j);
lcps_code[j]=0;
EXEC SQL UPDATE rc_sim SET use_state = 'A' WHERE iccid = :lcps_code AND use_state = 'E';
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"修改rc_sim出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
strcpy(gcsim_codestr,gcsim_codestr + 1 + j);
#ifdef YYDEBUG
DebugLog("good!!!,i=%d,j=%d,gcps_code=%s,gcsim_codestr=%s",i,j,lcps_code,gcsim_codestr);
#endif
}
/*释放sim编号处理 modify kenshine 20050427 end*/
/*修正单写关联表*/
if ((gcsrv_type[0] == '1') && ((gitimes == 0) || (gitimes == 1)))
{
EXEC SQL SELECT product_no INTO :gcmainproduct_no FROM pdn_pdinfo WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode != 0)
{
strcpy(gcretstr,"查询pdn_pdinfo出错");
#ifdef YYDEBUG
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
trim(gcmainproduct_no);
for(i=0;i<gisrvc;i++)
{
EXEC SQL INSERT INTO pdn_relate(produce_id,produce_no,rela_type,product_id,product_no,local_flag,rela_prd_id,rela_prd_no,rela_prod_id,rela_prod_no)
VALUES(:gcnewproduce_id[i],:gcnewproduce_no[i],'06',:gcnewproduct_id[i],:gcmainproduct_no,'0',:gcmainproduce_id,:gcpriproduce_no,:gcmainproduct_id,:gcmainproduct_no);
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_relate出错");
#ifdef YYDEBUG
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
}
}
/*所有表记录INSERT后,统一提交*/
if ( CicsCommit() != 0)
{
#ifdef YYDEBUG
DebugLog("rollback");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(10005,COMMIT_ERR );
}
else
{
setParamNum(2);
setRecColNum(6);
addParams(BEGIN,gcmainorder_id,END);
intoPdnprepayinfo();
for(i=0;i<gisrvc;i++)
{
addFields(BEGIN,gcnewproduce_id[i],gcnewproduce_no[i],gcnewaccept_id[i],gcnewsrv_code[i],gcsrv_name[i],gcnewaccept_state[i],END);
}
#ifdef YYDEBUG
DebugLog("commit");
fclose(tracefp);
#endif
normalExit(0,LINK_SUCCESS);
}
}
/*
* 函数说明:生成pdn_pdinfo信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_pdinfoProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lcnewa0[PDINFO_FIELD][PDINFO_LENGTH] = {0};
char lcolda0[PDINFO_FIELD][PDINFO_LENGTH] = {0};
char lcfielda0[PDINFO_FIELD][20] = {0};
char lcchna0[PDINFO_FIELD][40] = {0};
char lctypea0[PDINFO_FIELD][10] = {0};
char lcsub[3] = {0};
char lcupdate[2000] = {0};
char lcproduct_id[26] = {0};
char lcproduce_id[26] = {0};
char lcproduce_no[26] = {0};
char lctempstr[10] = {0};
char ls_undoflag[5] = {0};
int lisub=0;
int i=0;
int j=0;
int k=0;
EXEC SQL END DECLARE SECTION;
/*初始化pdn_pdinfo*/
if ((gitimes == 0) || (gitimes == 1) || (gitimes == 4))
{
if (girolls == 0)
{
gcretval = DinitpdnProc(gcmainproduct_id,gcmainproduce_id,gcrollproduce_no[0],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcrollsrv_code[0]);
if (gcretval == -1)
{
strcpy(gcretstr,"初始化pdn_pdinfo出错");
return -1;
}
}
else
{
for(i=0;i<girolls;i++)
{
if (gcrollproduce_no[i][0] != 0)
{
gcretval = DinitpdnProc(gcmainproduct_id,gcmainproduce_id,gcrollproduce_no[i],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcrollsrv_code[i]);
if (gcretval == -1)
{
strcpy(gcretstr,"初始化pdn_pdinfo出错");
return -1;
}
}
}
}
}
else if (gitimes == 2)
{
for(i=0;i<giaddc;i++)
{
gcretval = DinitpdnProc(gcmainproduct_id,gcoldproduce_id[i],gcoldproduce_no[i],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcoldsrv_code[i]);
if (gcretval == -1)
{
strcpy(gcretstr,"初始化pdn_pdinfo出错");
return -1;
}
#ifdef YYDEBUG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -