📄 dinstall.pc
字号:
* 输入参数:
* 输出参数:
* 返 回 值:
*/
int intoPdn_phoneProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lca1[PHONE_FIELD][PHONE_LENGTH] = {0};
char lcsub[3] = {0};
int lisub=0;
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int j=0;
int k=0;
int li_rows=0;
EXEC SQL END DECLARE SECTION;
/*因为需要处理中继,编号生成放在这里处理*/
/*判断是否需要生成生产编号*/
if (gcmainproduce_id[0] == 0)
{
if (gilines <= 1)
{
sprintf(gcmainproduce_id,"%d",GenProduceidProc());
trim(gcmainproduce_id);
#ifdef YYDEBUG
DebugLog("gcmainproduce_id=%s",gcmainproduce_id);
#endif
if (strcmp(gcmainproduce_id,"-1") == 0)
{
strcpy(gcretstr,"生成生产编号出错");
return -1;
}
}
else
{
/*多个编号的生成不放在这里*/
}
}
else
{
/*审核后修改可能存在增线或减线的情况*/
if (gilines > 1)
{
if (giaddlines > 0)
{
/*多个编号的生成不放在这里*/
}
}
}
/*判断是否需要生成生产流水*/
if (gcmainproduce_no[0] == 0)
{
if (gilines <= 1)
{
sprintf(gcmainproduce_no,"%d",GenProducenoProc());
trim(gcmainproduce_no);
if (strcmp(gcmainproduce_no,"-1") == 0)
{
strcpy(gcretstr,"生成生产流水出错");
return -1;
}
}
else
{
/*多个编号的生成不放在这里*/
}
}
else
{
/*审核后修改可能存在增线或减线的情况*/
if (gilines > 1)
{
if (giaddlines > 0)
{
/*多个编号的生成不放在这里*/
}
}
}
/*判断是否需要生成订单编号*/
if (gcmainorder_id[0] == 0)
{
GenOrderidProc(gcmainorder_id);
trim(gcmainorder_id);
if (strcmp(gcmainorder_id,"-1") == 0)
{
strcpy(gcretstr,"生成订单编号出错");
return -1;
}
}
strcpy(gcaddorder_id,gcmainorder_id);
trim(gcaddorder_id);
/*判断是否需要生成受理编号*/
if (gcmainaccept_id[0] == 0)
{
if (gilines <= 1)
{
GenAcceptidProc(gcmainaccept_id);
trim(gcmainaccept_id);
if (strcmp(gcmainaccept_id,"-1") == 0)
{
strcpy(gcretstr,"生成受理编号出错");
return -1;
}
}
else
{
/*多个编号的生成不放在这里*/
}
}
else
{
/*审核后修改可能存在增线或减线的情况*/
if (gilines > 1)
{
if (giaddlines > 0)
{
/*多个编号的生成不放在这里*/
}
}
}
/*判断是否需要生成产品编号*/
if (gcmainproduct_id[0] == 0)
{
if (gilines <= 1)
{
sprintf(gcmainproduct_id,"%d",GenProductidProc());
trim(gcmainproduct_id);
if (strcmp(gcmainproduct_id,"-1") == 0)
{
strcpy(gcretstr,"生成产品编号出错");
return -1;
}
sprintf(gcmainphone_id,"%d",GenPhoneidProc());
trim(gcmainphone_id);
if (strcmp(gcmainphone_id,"-1") == 0)
{
strcpy(gcretstr,"生成电话编号出错");
return -1;
}
}
else
{
/*多个编号的生成不放在这里*/
}
}
else
{
/*审核后修改可能存在增线或减线的情况*/
if (gilines > 1)
{
if (giaddlines > 0)
{
/*多个编号的生成不放在这里*/
}
}
}
for (k=0;k<PHONE_FIELD;k++)
{
lca1[k][0] = 0;
}
ncpyRec(gia1s,2,lcsrowid,5);
trim(lcsrowid);
for(j=gia1s;j<=gia1e;j++)
{
ncpyRec(j,1,lcsub,3);
ncpyRec(j,2,lccrowid,5);
trim(lccrowid);
if ((strcmp(lcsrowid,lccrowid) == 0) && (j != gia1e))
{
lisub=atoi(lcsub);
ncpyRec(j,3,lca1[lisub],PHONE_LENGTH);
trim(lca1[lisub]);
}
else
{
if (j == gia1e)
{
lisub=atoi(lcsub);
ncpyRec(j,3,lca1[lisub],PHONE_LENGTH);
trim(lca1[lisub]);
}
giswitch_id=atoi(lca1[20]);
/*处理产品号码*/
if (lca1[4][0] == 0)
{
#ifdef YYDEBUG
DebugLog("gcprod_class=%s",gcprod_class);
DebugLog("gcprodexch_code=%s",gcprodexch_code);
DebugLog("giswitch_id=%d",giswitch_id);
DebugLog("gcprot_code=%s",gcprot_code);
#endif
EXEC SQL EXECUTE
BEGIN
P_Auto_Selenum(:gcprod_class,:gcprodexch_code,:giswitch_id,:gcprot_code,'',:gcoper_code,:gcproduct_no,:giprodno_grade,:gcretval,:gcretstr);
END;
END-EXEC;
if (gcretval < 0)
{
return -1;
}
trim(gcproduct_no);
strcpy(lca1[4],gcproduct_no);
sprintf(lca1[5],"%d",giprodno_grade);
strcpy(lca1[6],"0");
trim(lca1[4]);
trim(lca1[5]);
trim(lca1[6]);
}
if (strcmp(lcsrowid,"1") == 0)
{
if (gcmainphone_id[0] == 0)
{
strcpy(gcmainphone_id,lca1[2]);
trim(gcmainphone_id);
}
strcpy(gcmainproduct_no,lca1[4]);
trim(gcmainproduct_no);
#ifdef YYDEBUG
DebugLog("gcmainproduct_no=%s,gcmainphone_id=%s",gcmainproduct_no,gcmainphone_id);
#endif
}
if (gilines <= 1) /*非中继处理*/
{
/*删除旧纪录*/
if (gitimes == 2)
{
EXEC SQL DELETE FROM pdn_phone WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"删除pdn_phone出错");
return -1;
}
}
PrintStatus("yqd1586==============phone信息===================");
sprintf(gcretstr,"yqd====== produce_id==:%s===gcmainphone_id=====:%s",gcmainproduce_id,gcmainphone_id);
PrintStatus(gcretstr);
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(:gcmainproduce_id,1,:gcmainphone_id,:gcmainproduct_id,: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;
}
}
else /*中继处理*/
{
li_rows=atoi(lcsrowid) - 1;
if (gitimes == 0)
{
/*多编号的生成*/
sprintf(gctempproduce_id,"%d",GenProduceidProc());
trim(gctempproduce_id);
#ifdef YYDEBUG
DebugLog("多编号gctempproduce_id=%s",gctempproduce_id);
#endif
if (strcmp(gctempproduce_id,"-1") == 0)
{
strcpy(gcretstr,"生成生产编号出错");
return -1;
}
sprintf(gctempproduce_no,"%d",GenProducenoProc());
trim(gctempproduce_no);
#ifdef YYDEBUG
DebugLog("多编号gctempproduce_no=%s",gctempproduce_no);
#endif
if (strcmp(gctempproduce_no,"-1") == 0)
{
strcpy(gcretstr,"生成生产流水出错");
return -1;
}
GenAcceptidProc(gctempaccept_id);
trim(gctempaccept_id);
#ifdef YYDEBUG
DebugLog("多编号gctempaccept_id=%s",gctempaccept_id);
#endif
if (strcmp(gctempaccept_id,"-1") == 0)
{
strcpy(gcretstr,"生成受理编号出错");
return -1;
}
sprintf(gctempproduct_id,"%d",GenProductidProc());
trim(gctempproduct_id);
#ifdef YYDEBUG
DebugLog("多编号gctempproduct_id=%s",gctempproduct_id);
#endif
if (strcmp(gctempproduct_id,"-1") == 0)
{
strcpy(gcretstr,"生成产品编号出错");
return -1;
}
sprintf(gctempphone_id,"%d",GenPhoneidProc());
trim(gctempphone_id);
#ifdef YYDEBUG
DebugLog("多编号gctempphone_id=%s",gctempphone_id);
#endif
if (strcmp(gctempphone_id,"-1") == 0)
{
strcpy(gcretstr,"生成电话编号出错");
return -1;
}
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(:gctempproduce_id,1,:gctempphone_id,:gctempproduct_id,: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;
}
strcpy(gcnewproduce_id[gisrvs],gctempproduce_id);
strcpy(gcnewproduce_no[gisrvs],gctempproduce_no);
strcpy(gcnewaccept_id[gisrvs],gctempaccept_id);
strcpy(gcnewproduct_id[gisrvs],gctempproduct_id);
strcpy(gcnewproduct_no[gisrvs],lca1[4]);
trim(gcnewproduce_id[gisrvs]);
trim(gcnewproduce_no[gisrvs]);
trim(gcnewaccept_id[gisrvs]);
trim(gcnewproduct_id[gisrvs]);
trim(gcnewproduct_no[gisrvs]);
#ifdef YYDEBUG
DebugLog("首次处理gitimes=%d",gitimes);
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
if (li_rows == 0)
{
strcpy(gcmainproduce_id,gctempproduce_id);
strcpy(gcmainproduce_no,gctempproduce_no);
strcpy(gcmainaccept_id,gctempaccept_id);
strcpy(gcmainproduct_id,gctempproduct_id);
strcpy(gcmainproduct_no,lca1[4]);
trim(gcmainproduce_id);
trim(gcmainproduce_no);
trim(gcmainaccept_id);
trim(gcmainorder_id);
trim(gcmainproduct_id);
trim(gcmainproduct_no);
#ifdef YYDEBUG
DebugLog("gisrvs=%d",gisrvs);
DebugLog("gcmainproduce_id=%s",gcmainproduce_id);
DebugLog("gcmainproduce_no=%s",gcmainproduce_no);
DebugLog("gcmainaccept_id=%s",gcmainaccept_id);
DebugLog("gcmainorder_id=%s",gcmainorder_id);
DebugLog("gcmainproduct_id=%s",gcmainproduct_id);
DebugLog("gcmainproduct_no=%s",gcmainproduct_no);
#endif
strcpy(gcrela_type,"01");
}
else
{
strcpy(gcrela_type,"02");
}
trim(gcrela_type);
EXEC SQL INSERT INTO pdn_relate(produce_id,produce_no,rela_type,product_id,product_no,local_flag,rela_info,rela_prd_id,rela_prd_no,rela_prod_id,rela_prod_no)
VALUES(:gcnewproduce_id[gisrvs],:gcnewproduce_no[gisrvs],:gcrela_type,:gcnewproduct_id[gisrvs],:lca1[4],'0','',:gcmainproduce_id,:gcmainproduce_no,:gcmainproduct_id,:gcmainproduct_no);
#ifdef YYDEBUG
DebugLog("pdn_relate,gcmainproduct_no=%s,gcrela_type=%s",gcmainproduct_no,gcrela_type);
#endif
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"插入pdn_relate出错");
return -1;
}
/*
EXEC SQL UPDATE pdn_relate SET rela_type = '01' WHERE produce_id = :gcmainproduce_id AND produce_no = :gcmainproduce_no AND rela_type = '02';
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"修改pdn_relate出错");
return -1;
}
*/
gisrvs++;
}
else /*审核后修改*/
{
if (li_rows == 0)
{
/*删除旧纪录*/
EXEC SQL DELETE FROM pdn_phone 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_phone出错");
return -1;
}
#ifdef YYDEBUG
DebugLog("delete pdn_phone,gcmainproduce_id=%s",gcmainproduce_id);
#endif
}
if (lca1[0][0] == 0) /*生产编号为空*/
{
/*多编号的生成*/
sprintf(gctempproduce_id,"%d",GenProduceidProc());
trim(gctempproduce_id);
#ifdef YYDEBUG
DebugLog("多编号gctempproduce_id=%s",gctempproduce_id);
#endif
if (strcmp(gctempproduce_id,"-1") == 0)
{
strcpy(gcretstr,"生成生产编号出错");
return -1;
}
sprintf(gctempproduce_no,"%d",GenProducenoProc());
trim(gctempproduce_no);
#ifdef YYDEBUG
DebugLog("多编号gctempproduce_no=%s",gctempproduce_no);
#endif
if (strcmp(gctempproduce_no,"-1") == 0)
{
strcpy(gcretstr,"生成生产流水出错");
return -1;
}
GenAcceptidProc(gctempaccept_id);
trim(gctempaccept_id);
#ifdef YYDEBUG
DebugLog("多编号gctempaccept_id=%s",gctempaccept_id);
#endif
if (strcmp(gctempaccept_id,"-1") == 0)
{
strcpy(gcretstr,"生成受理编号出错");
return -1;
}
sprintf(gctempproduct_id,"%d",GenProductidProc());
trim(gctempproduct_id);
#ifdef YYDEBUG
DebugLog("多编号gctempproduct_id=%s",gctempproduct_id);
#endif
if (strcmp(gctempproduct_id,"-1") == 0)
{
strcpy(gcretstr,"生成产品编号出错");
return -1;
}
sprintf(gctempphone_id,"%d",GenPhoneidProc());
trim(gctempphone_id);
#ifdef YYDEBUG
DebugLog("多编号gctempphone_id=%s",gctempphone_id);
#endif
if (strcmp(gctempphone_id,"-1") == 0)
{
strcpy(gcretstr,"生成电话编号出错");
return -1;
}
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(:gctempproduce_id,1,:gctempphone_id,:gctempproduct_id,: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;
}
strcpy(gcnewproduce_id[gisrvs],gctempproduce_id);
strcpy(gcnewproduce_no[gisrvs],gctempproduce_no);
strcpy(gcnewaccept_id[gisrvs],gctempaccept_id);
strcpy(gcnewproduct_id[gisrvs],gctempproduct_id);
strcpy(gcnewproduct_no[gisrvs],lca1[4]);
trim(gcnewproduce_id[gisrvs]);
trim(gcnewproduce_no[gisrvs]);
trim(gcnewaccept_id[gisrvs]);
trim(gcnewproduct_id[gisrvs]);
trim(gcnewproduct_no[gisrvs]);
#ifdef YYDEBUG
DebugLog("生产编号为空,before");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -