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

📄 dinstall.pc

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PC
📖 第 1 页 / 共 5 页
字号:
						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 + -