⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dinstall.pc

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PC
📖 第 1 页 / 共 5 页
字号:
* 输入参数:
* 输出参数:
* 返 回 值:
*/

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 + -