📄 dinstall.pc
字号:
DebugLog("gisrvs=%d",gisrvs);
DebugLog("gcnewproduce_id=%s",gcnewproduce_id[gisrvs]);
DebugLog("gcnewproduce_no=%s",gcnewproduce_no[gisrvs]);
DebugLog("gcnewaccept_id=%s",gcnewaccept_id[gisrvs]);
DebugLog("gcnewproduct_id=%s",gcnewproduct_id[gisrvs]);
DebugLog("gcnewproduct_no=%s",gcnewproduct_no[gisrvs]);
#endif
strcpy(gcaddproduce_id[giadds],gctempproduce_id);
strcpy(gcaddproduce_no[giadds],gctempproduce_no);
strcpy(gcaddaccept_id[giadds],gctempaccept_id);
strcpy(gcaddproduct_id[giadds],gctempproduct_id);
strcpy(gcaddproduct_no[giadds],lca1[4]);
trim(gcaddproduce_id[giadds]);
trim(gcaddproduce_no[giadds]);
trim(gcaddaccept_id[giadds]);
trim(gcaddproduct_id[giadds]);
trim(gcaddproduct_no[giadds]);
#ifdef YYDEBUG
DebugLog("生产编号为空,before");
DebugLog("giadds=%d",giadds);
DebugLog("gcaddproduce_id=%s",gcaddproduce_id[giadds]);
DebugLog("gcaddproduce_no=%s",gcaddproduce_no[giadds]);
DebugLog("gcaddaccept_id=%s",gcaddaccept_id[giadds]);
DebugLog("gcaddproduct_id=%s",gcaddproduct_id[giadds]);
DebugLog("gcaddproduct_no=%s",gcaddproduct_no[giadds]);
#endif
gisrvs++;
giadds++;
}
else
{
EXEC SQL INSERT INTO pdn_phone(produce_id,produce_type,phone_id,product_id,product_no,prodno_grade,sele_flag,group_no,inside_no,tel_id,lead_no,ldist_type,secrecy_mode,line_type,subprod_num,revs_type,fac_code,measure_id,hcol_id,hcol_seq,switch_id,prodno_name,spare_fld0,spare_fld1,spare_fld2,spare_fld3,spare_fld4,spare_fld5)
VALUES(:lca1[0],1,:lca1[2],:lca1[3],:lca1[4],:lca1[5],:lca1[6],:lca1[7],:lca1[8],:lca1[9],:lca1[10],:lca1[11],:lca1[12],:lca1[13],:lca1[14],:lca1[15],:lca1[16],:lca1[17],:lca1[18],:lca1[19],:lca1[20],:lca1[21],:lca1[22],:lca1[23],:lca1[24],:lca1[25],:lca1[26],to_date(:lca1[27],'YYYY-MM-DD HH24:MI:SS'));
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_phone出错");
return -1;
}
trim(lca1[0]);
trim(lca1[3]);
trim(lca1[4]);
strcpy(gcnewproduce_id[gisrvs],lca1[0]);
strcpy(gcnewproduct_id[gisrvs],lca1[3]);
strcpy(gcnewproduct_no[gisrvs],lca1[4]);
trim(gcnewproduce_id[gisrvs]);
trim(gcnewproduct_id[gisrvs]);
trim(gcnewproduct_no[gisrvs]);
#ifdef YYDEBUG
DebugLog("生产编号不为空");
DebugLog("gisrvs=%d",gisrvs);
DebugLog("lca1[0]=%s",lca1[0]);
DebugLog("lca1[3]=%s",lca1[3]);
DebugLog("lca1[4]=%s",lca1[4]);
DebugLog("gcnewproduce_id=%s",gcnewproduce_id[gisrvs]);
DebugLog("gcnewproduct_id=%s",gcnewproduct_id[gisrvs]);
DebugLog("gcnewproduct_no=%s",gcnewproduct_no[gisrvs]);
#endif
gisrvs++;
}
}
}
strcpy(lcsrowid,lccrowid);
trim(lcsrowid);
for (k=0;k<PHONE_FIELD;k++)
{
lca1[k][0] = 0;
}
lisub=atoi(lcsub);
ncpyRec(j,3,lca1[lisub],PHONE_LENGTH);
trim(lca1[lisub]);
} /*不同记录序号处理结束*/
} /*for循环结束*/
return 0;
}
/*
* 函数说明:生成pdn_incr_prod信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_incr_prodProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lcg0[6][12] = {0};
char lcsub[3] = {0};
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int lisub=0;
int j=0;
int k=0;
EXEC SQL END DECLARE SECTION;
if (gilines <= 1) /*非中继处理*/
{
/*删除旧纪录*/
if (gitimes == 2)
{
EXEC SQL DELETE FROM pdn_incr_prod WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_incr_prod出错");
return -1;
}
}
}
else /*中继处理*/
{
if (gitimes == 2)
{
/*删除旧纪录*/
EXEC SQL DELETE FROM pdn_incr_prod WHERE produce_id IN (SELECT produce_id FROM pdn_relate WHERE rela_prd_id = :gcmainproduce_id AND rela_prd_no = :gcmainproduce_no AND (rela_type = '01' OR rela_type = '02')) AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_incr_prod出错");
return -1;
}
}
}
for(k=0;k<6;k++)
{
lcg0[k][0]=0;
}
ncpyRec(gig0s,2,lcsrowid,5);
for(j=gig0s;j<=gig0e;j++)
{
ncpyRec(j,1,lcsub,3);
ncpyRec(j,2,lccrowid,5);
if ((strcmp(lcsrowid,lccrowid) == 0) && (j != gig0e))
{
lisub=atoi(lcsub);
ncpyRec(j,3,lcg0[lisub],12);
trim(lcg0[lisub]);
}
else
{
if (j == gig0e)
{
lisub=atoi(lcsub);
ncpyRec(j,3,lcg0[lisub],12);
trim(lcg0[lisub]);
}
if (gilines <= 1) /*非中继处理*/
{
if (gig0e < 0)
{
return 0;
}
sprintf(gcretstr,"yqd1971====== prod_class:%s", lcg0[3]);
PrintStatus(gcretstr);
sprintf(gcretstr,"yqd====== cons_flag:%s", lcg0[5]);
PrintStatus(gcretstr);
EXEC SQL INSERT INTO pdn_incr_prod(produce_id,produce_type,product_id,prod_class,stime,cons_flag)
VALUES(:gcmainproduce_id,1,:gcmainproduct_id,:lcg0[3],sysdate,:lcg0[5]);
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_incr_prod出错");
return -1;
}
}
else /*中继处理*/
{
if (gig0e < 0)
{
return 0;
}
for(p=0;p<gisrvs;p++)
{
sprintf(gcretstr,"1988yqd====== prod_class:%s", lcg0[3]);
PrintStatus(gcretstr);
sprintf(gcretstr,"yqd====== cons_flag:%s", lcg0[5]);
PrintStatus(gcretstr);
EXEC SQL INSERT INTO pdn_incr_prod(produce_id,produce_type,product_id,prod_class,stime,cons_flag)
VALUES(:gcnewproduce_id[p],1,:gcnewproduct_id[p],:lcg0[3],sysdate,:lcg0[5]);
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_incr_prod出错");
return -1;
}
}
}
strcpy(lcsrowid,lccrowid);
for(k=0;k<6;k++)
{
lcg0[k][0]=0;
}
lisub=atoi(lcsub);
ncpyRec(j,3,lcg0[lisub],12);
trim(lcg0[lisub]);
} /*不同记录序号处理结束*/
} /*for循环结束*/
return 0;
}
/*
* 函数说明:生成pdn_prod_prop信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_prod_propProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lcg1[6][102] = {0};
char lcsub[3] = {0};
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int lisub=0;
int j=0;
int k=0;
EXEC SQL END DECLARE SECTION;
if (gilines <= 1) /*非中继处理*/
{
/*删除旧纪录*/
if (gitimes == 2)
{
EXEC SQL DELETE FROM pdn_prod_prop WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_prod_prop出错");
return -1;
}
}
}
else /*中继处理*/
{
if (gitimes == 2)
{
/*删除旧纪录*/
EXEC SQL DELETE FROM pdn_prod_prop WHERE produce_id IN (SELECT produce_id FROM pdn_relate WHERE rela_prd_id = :gcmainproduce_id AND rela_prd_no = :gcmainproduce_no AND (rela_type = '01' OR rela_type = '02')) AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_prod_prop出错");
return -1;
}
}
}
if (gig1e < 0)
{
return 0;
}
for(k=0;k<6;k++)
{
lcg1[k][0]=0;
}
ncpyRec(gig1s,2,lcsrowid,5);
for(j=gig1s;j<=gig1e;j++)
{
ncpyRec(j,1,lcsub,3);
ncpyRec(j,2,lccrowid,5);
if ((strcmp(lcsrowid,lccrowid) == 0) && (j != gig1e))
{
lisub=atoi(lcsub);
ncpyRec(j,3,lcg1[lisub],102);
trim(lcg1[lisub]);
}
else
{
if (j == gig1e)
{
lisub=atoi(lcsub);
ncpyRec(j,3,lcg1[lisub],102);
trim(lcg1[lisub]);
}
/*如果是预付费,将帐号填入*/
if (strcmp(lcg1[4],"prepay_info") == 0)
{
strcpy(lcg1[5],gcaccount_id);
}
if (gilines <= 1) /*非中继处理*/
{
if (gig1e < 0)
{
return 0;
}
EXEC SQL INSERT INTO pdn_prod_prop(produce_id,produce_type,product_id,prod_class,item_code,item_value)
VALUES(:gcmainproduce_id,1,:gcmainproduct_id,:lcg1[3],:lcg1[4],:lcg1[5]);
if (sqlca.sqlcode < 0)
{
/*strcpy(gcretstr,"插入pdn_prod_prop出错");*/
sprintf(gcretstr,"插入pdn_prod_prop出错--错误信息^_^.返回码:%d.返回信息:%s.produce_id-%s-gcmainproduct_id-%s--prod_class-%s-item_code-%s-item_value-%s-",
sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc,gcmainproduce_id,gcmainproduct_id,lcg1[3],lcg1[4],lcg1[5]);
PrintStatus(gcretstr);
return -1;
}
}
else /*中继处理*/
{
if (gig1e < 0)
{
return 0;
}
for(p=0;p<gisrvs;p++)
{
EXEC SQL INSERT INTO pdn_prod_prop(produce_id,produce_type,product_id,prod_class,item_code,item_value)
VALUES(:gcnewproduce_id[p],1,:gcnewproduct_id[p],:lcg1[3],:lcg1[4],:lcg1[5]);
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_prod_prop出错");
return -1;
}
}
}
strcpy(lcsrowid,lccrowid);
for(k=0;k<6;k++)
{
lcg1[k][0]=0;
}
lisub=atoi(lcsub);
ncpyRec(j,3,lcg1[lisub],102);
trim(lcg1[lisub]);
} /*不同记录序号处理结束*/
} /*for循环结束*/
return 0;
}
/*
* 函数说明:生成pdn_account信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_accountProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lca3[5][12] = {0};
char lca4[ACCOUNTINFO_FIELD][ACCOUNTINFO_LENGTH] = {0};
char lcsub[3] = {0};
char lccontractsub[3] = {0};
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int lisub=0;
int licontractsub=0;
int j=0;
int k=0;
EXEC SQL END DECLARE SECTION;
if (gilines <= 1) /*非中继处理*/
{
/*删除旧纪录*/
if (gitimes == 2)
{
EXEC SQL DELETE FROM pdn_account WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_account出错");
return -1;
}
}
}
else /*中继处理*/
{
if (gitimes == 2)
{
/*删除旧纪录*/
EXEC SQL DELETE FROM pdn_account WHERE produce_id IN (SELECT produce_id FROM pdn_relate WHERE rela_prd_id = :gcmainproduce_id AND rela_prd_no = :gcmainproduce_no AND (rela_type = '01' OR rela_type = '02')) AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_account出错");
return -1;
}
}
}
if (gilines <= 1) /*非中继处理*/
{
/*删除旧纪录*/
if (gitimes == 2)
{
EXEC SQL DELETE FROM pdn_accountinfo WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_accountinfo出错");
return -1;
}
}
}
else /*中继处理*/
{
if (gitimes == 2)
{
/*删除旧纪录*/
EXEC SQL DELETE FROM pdn_accountinfo WHERE produce_id IN (SELECT produce_id FROM pdn_relate WHERE rela_prd_id = :gcmainproduce_id AND rela_prd_no = :gcmainproduce_no AND (rela_type = '01' OR rela_type = '02')) AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_account出错");
return -1;
}
}
}
for(k=0;k<5;k++)
{
lca3[k][0]=0;
}
for(k=0;k<ACCOUNTINFO_FIELD;k++)
{
lca4[k][0]=0;
}
for(k=0;k<100;k++)
{
gcoldcontract[k][0]=0;
gcnewcontract[k][0]=0;
gcpayid[k][0]=0;
}
ncpyRec(gia3s,2,lcsrowid,5);
for(j=gia3s;j<=gia3e;j++)
{
ncpyRec(j,1,lcsub,3);
ncpyRec(j,2,lccrowid,5);
/*同记录序号*/
if ((strcmp(lcsrowid,lccrowid) == 0) && (j != gia3e))
{
lisub=atoi(lcsub);
ncpyRec(j,3,lca3[lisub],12);
trim(lca3[lisub]);
}
else
{
if (j == gia3e)
{
lisub=atoi(lcsub);
ncpyRec(j,3,lca3[lisub],12);
trim(lca3[lisub]);
}
/*判断是否需要生成合同号*/
if (lca3[4][0] == 0)
{
strcpy(gcretstr,"账目合同号不能为空");
return -1;
}
if (lca3[4][0] == 'c') /*假合同号*/
{
lca3[4][0] = '0';
licontractsub = atoi(lca3[4]);
if (gcoldcontract[licontractsub][0] ==0)
{
sprintf(gccontract_id,"%d",GenContractidProc());
trim(gccontract_id);
if (strcmp(gccontract_id,"-1") == 0)
{
strcpy(gcretstr,"生成合同号出错");
return -1;
}
strcpy(gcoldcontract[licontractsub],lca3[4]);
strcpy(gcnewcontract[licontractsub],gccontract_id);
trim(gcnewcontract[licontractsub]);
}
else
{
strcpy(gccontract_id,g
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -