📄 dphssimc.pc
字号:
{
gcdelflag[0]=0;
strcat(gcdelflag,"NN");
}
else if ((gitimes==2)||(gitimes==4))
{
gcdelflag[0]=0;
strcat(gcdelflag,"YY");
}
*/
gcdelflag[0]=0;
strcat(gcdelflag,"Y");
gcretval=intoPdn_servcontrolProc(); /*生成pdn_servcontrol详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("servcontrol");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoSr_accept_logProc(); /*生成sr_accept_log详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("sr_accept_log");
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);
}
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_phoneProc(); /*生成pdn_phone详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("phone");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_incr_prodProc(); /*生成pdn_incr_prod详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("incr_prod");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_prod_propProc(); /*生成pdn_prod_prop详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("prod_prop");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/***zhaogang add 2004.8.23*************************************/
#ifdef YYDEBUG
DebugLog("start pdn_prepay");
#endif
gcretval=intoPdn_prepayProc(); /*生成pdn_prepay详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("pdn_prepay error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/**************************************************************/
gcretval=intoPdn_deviceProc(); /*生成pdn_device详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("device");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_lineProc(); /*生成pdn_line详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("line");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_trunksProc(); /*生成pdn_trunks详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("trunks");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_phssimProc(); /*生成pdn_phssim详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("trunks");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
gcretval=intoPdn_phsProc(); /*生成pdn_phs详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("trunks");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
if (gia8e >= 0)
{
gcretval=intoPdn_subsrvProc(); /*生成pdn_subsrv详细资料*/
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("subsrv");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/*对改成模拟中继的,需要写pdn_relate*/
if (strcmp(gcprod_class,"03") == 0)
{
#ifdef YYDEBUG
DebugLog("模拟中继,gclead_no=%s",gclead_no);
#endif
EXEC SQL DELETE FROM pdn_relate WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no AND rela_type = '02';
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"查询引示号信息出错");
#ifdef YYDEBUG
DebugLog("select leadno");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
#ifdef YYDEBUG
DebugLog("delete pdn_relate");
#endif
EXEC SQL SELECT product_id INTO :lcrelaproduct_id FROM pd_pdinfo WHERE product_no = :gclead_no;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"查询引示号信息出错");
#ifdef YYDEBUG
DebugLog("select leadno");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
#ifdef YYDEBUG
DebugLog("模拟中继,lcrelaproduct_id=%s",lcrelaproduct_id);
#endif
EXEC SQL INSERT INTO pdn_relate(produce_id,produce_no,rela_type,product_id,rela_prod_id,flag)
VALUES(:gcproduce_id,:gcproduce_no,'02',:gcproduct_id,:lcrelaproduct_id,'A');
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_relate出错");
#ifdef YYDEBUG
DebugLog("insert pdn_relate");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
#ifdef YYDEBUG
DebugLog("insert pdn_relate");
#endif
}
/*统一处理跨表信息*/
EXEC SQL SELECT cust_type INTO :gccust_type FROM cn_cust_info WHERE produce_id = :gcproduce_id AND produce_type = 1 AND cust_id = :gcowncust_id;
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"检索cn_cust_info出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,gcretstr);
}
trim(gccust_type);
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 UPDATE pdn_acceptlog SET deal_grade = :gideal_grad WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no;
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"修改pdn_acceptlog出错");
#ifdef YYDEBUG
DebugLog("%s",gcretstr);
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(-1,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)
{
strcat(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
}
/*所有表记录INSERT后,统一提交*/
if ( CicsCommit() != 0)
{
#ifdef YYDEBUG
DebugLog("rollback");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(10005,COMMIT_ERR );
}
else
{
setParamNum(4);
addParams(BEGIN,gcproduce_id,gcproduce_no,gcaccept_id,gcorder_id,END);
#ifdef YYDEBUG
DebugLog("commit");
fclose(tracefp);
#endif
normalExit(0,LINK_SUCCESS);
}
}
/*
* 函数说明:生成pdn_acceptlog信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_acceptlogProc()
{
EXEC SQL BEGIN DECLARE SECTION;
int lirows=0;
EXEC SQL END DECLARE SECTION;
/*判断是否需要生成生产编号*/
if (gcproduce_id[0] == 0)
{
sprintf(gcproduce_id,"%d",GenProduceidProc());
trim(gcproduce_id);
#ifdef YYDEBUG
DebugLog("gcproduce_id=%s",gcproduce_id);
#endif
if (strcmp(gcproduce_id,"-1") == 0)
{
strcat(gcretstr,"生成生产编号出错");
return -1;
}
gitimes = 0; /*该产品首次受理业务*/
}
else
{
gitimes = 1; /*该产品本业务首次受理,同时受理过其他业务*/
}
/*判断是否需要生成生产流水*/
if (gcproduce_no[0] != 0)
{
lirows = 0;
EXEC SQL SELECT 1 INTO :lirows FROM dual WHERE EXISTS(SELECT 1 FROM pdn_acceptlog WHERE produce_id = :gcproduce_id AND produce_no <> :gcproduce_no);
if (sqlca.sqlcode < 0 )
{
strcat(gcretstr,"检索pdn_acceptlog出错");
return -1;
}
if (lirows == 0)
{
gitimes = 2; /*该产品本业务审核后再修改,没受理过其他业务*/
}
else
{
gitimes = 4; /*该产品本业务审核后再修改,同时有其他业务受理*/
}
}
else if (gcproduce_no[0] == 0)
{
sprintf(gcproduce_no,"%d",GenProducenoProc());
trim(gcproduce_no);
if (strcmp(gcproduce_no,"-1") == 0)
{
strcat(gcretstr,"生成生产流水出错");
return -1;
}
}
/*判断是否需要生成订单编号*/
if (gcorder_id[0] == 0)
{
GenOrderidProc(gcorder_id);
trim(gcorder_id);
if (strcmp(gcorder_id,"-1") == 0)
{
strcat(gcretstr,"生成订单编号出错");
return -1;
}
}
/*判断是否需要生成受理编号*/
if (gcaccept_id[0] == 0)
{
GenAcceptidProc(gcaccept_id);
trim(gcaccept_id);
if (strcmp(gcaccept_id,"-1") == 0)
{
strcat(gcretstr,"生成受理编号出错");
return -1;
}
}
/*判断是否需要生成产品编号*/
if (gcproduct_id[0] == 0)
{
strcat(gcretstr,"产品编号不能为空");
return -1;
}
if ((gitimes == 2) || (gitimes == 4))
{
/*根据produce_id和produce_no删除旧记录*/
EXEC SQL DELETE FROM pdn_acceptlog WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no;
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"删除pdn_acceptlog出错");
return -1;
}
}
#ifdef YYDEBUG
DebugLog("pdn_acceptlog gcproduce_id=%s",gcproduce_id);
DebugLog("pdn_acceptlog gcproduce_no=%s",gcproduce_no);
DebugLog("pdn_acceptlog gcaccept_id=%s",gcaccept_id);
DebugLog("pdn_acceptlog gcproduct_id=%s",gcproduct_id);
#endif
EXEC SQL INSERT INTO pdn_acceptlog(produce_id,produce_no,order_id,accept_id,product_id,srv_code,sub_srv,accept_lan,vest_lan,apply_name,apply_cert,apply_certno,apply_tel,apply_addr,atime,accept_grade,accept_mode,deal_grade,charge_tache)
VALUES(:gcproduce_id,:gcproduce_no,:gcorder_id,:gcaccept_id,:gcproduct_id,:gcsrv_code,:gcsub_srv,:gcaccept_lan,:gcvest_lan,:gcapply_name,:gcapply_cert,:gcapply_certno,:gcapply_tel,:gcapply_addr,sysdate,:gcaccept_grade,:gcaccept_mode,0,:gccharge_tache);
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"插入pdn_acceptlog出错");
return -1;
}
return 0;
}
/*
* 函数说明:生成sr_accept_log信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoSr_accept_logProc()
{
EXEC SQL BEGIN DECLARE SECTION;
EXEC SQL END DECLARE SECTION;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -