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

📄 dmobimod.pc

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PC
📖 第 1 页 / 共 5 页
字号:
		/*e7cn_cust_info处理开始*/
		else if (strcmp(gccondition,"E7") == 0)
		{
			gie7e=i;
			gie7c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gie7rows)
			{
				gie7rows = atoi(gcrows);
			}
		}

		/*h8pdn_upt处理开始*/
		else if (strcmp(gccondition,"H8") == 0)
		{
			gih8e=i;
			gih8c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gih8rows)
			{
				gih8rows = atoi(gcrows);
			}
		}

		/*h9pdn_transnum处理开始*/
		else if (strcmp(gccondition,"H9") == 0)
		{
			gih9e=i;
			gih9c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gih9rows)
			{
				gih9rows = atoi(gcrows);
			}
		}


		/*zhg2004.6.15******************************************************/
		/*c5pdn_800处理开始*/
		else if (strcmp(gccondition,"C5") == 0)
		{

			gic5e=i;
			gic5c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gic5rows)
			{
				gic5rows = atoi(gcrows);
			}
			#ifdef	YYDEBUG
			DebugLog("pdn_800,  ????? -gic5e--%d--gic5c-%d---gic5rows-%d ---gcrows--%s",gic5e,gic5c,gic5rows,gcrows);
			#endif


		}
		/*c5pdn_800处理结束*/

		/*c6pdn_800no处理开始*/
		else if (strcmp(gccondition,"C6") == 0)
		{
			gic6e=i;
			gic6c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gic6rows)
			{
				gic6rows = atoi(gcrows);
			}
		}
		/*c6pdn_800no处理结束*/
		/******************************************************/

		/*取编号处理开始*/
		else if (strcmp(gccondition,"//") == 0)
		{
			giadde=i;
			ncpyRec(i,1,gcoldproduce_id[giaddc],26);
			ncpyRec(i,2,gcoldproduce_no[giaddc],26);
			ncpyRec(i,3,gcoldaccept_id[giaddc],26);
			ncpyRec(i,4,gcoldsrv_code[giaddc],5);
			trim(gcoldproduce_id[giaddc]);
			trim(gcoldproduce_no[giaddc]);
			trim(gcoldaccept_id[giaddc]);
			trim(gcoldsrv_code[giaddc]);
			giaddc++;
		}


	}
	/*扫描FOR 循环完成*/


	gia0s = gia0e - gia0c + 1;
	gia1s = gia1e - gia1c + 1;
	gig0s = gig0e - gig0c + 1;
	gig1s = gig1e - gig1c + 1;
	gig3s = gig3e - gig3c + 1;
	gia5s = gia5e - gia5c + 1;
	gie7s = gie7e - gie7c + 1;
	gih8s = gih8e - gih8c + 1;
	gih9s = gih9e - gih9c + 1;

	/*zhg************************/
	gic5s = gic5e - gic5c + 1;
	gic6s = gic6e - gic6c + 1;
	/****************************/

	/*取处理等级*/
	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 SELECT prod_class INTO :gcoldprod_class FROM pdn_pdinfo WHERE produce_id = :gcmainproduce_id AND produce_type = 0;
	if (sqlca.sqlcode < 0)
	{
		strcpy(gcretstr,"查询旧产品类别出错");
		#ifdef	YYDEBUG
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
	}
	trim(gcoldprod_class);
	if (gcoldprod_class[0] == 0)
	{
		strcpy(gcoldprod_class,gcprod_class);
		trim(gcoldprod_class);
	}
	#ifdef	YYDEBUG
	DebugLog("gcoldprod_class=%s,gcprod_class=%s",gcoldprod_class,gcprod_class);
	#endif

	gcretval=initializtionProc();						/*初始化处理*/
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("init");
		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);
	}

	/*生成pdn_phone详细资料*/
	gcretval=intoPdn_phoneProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("phone");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成pdn_incr_prod详细资料*/
	gcretval=intoPdn_incr_prodProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("incr_prod");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成pdn_prod_prop详细资料*/
	gcretval=intoPdn_prod_propProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("prod_prop");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成pdn_mobile详细资料*/
	gcretval=intoPdn_mobileProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("mobile");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成pdn_device详细资料*/
	gcretval=intoPdn_deviceProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("device");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成pdn_upt详细资料*/
	#ifdef	YYDEBUG
	DebugLog("upt");
	#endif
	gcretval=intoPdn_uptProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("device");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}


	/*生成pdn_transnum详细资料*/
	#ifdef	YYDEBUG
	DebugLog("transnum");
	#endif
	gcretval=intoPdn_transnumProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("device");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}



	/**zhg 2004.6.16 add*************************************************************/
	/*生成Pdn_800详细资料*/
	#ifdef	YYDEBUG
	DebugLog("Pdn_800");
	#endif
	gcretval=intopdn_800Proc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("8000000000");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

	/*生成Pdn_800no详细资料*/
	#ifdef	YYDEBUG
	DebugLog("Pdn_800no");
	#endif
	gcretval=intopdn_800noProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("800no");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}


	/*zhg 2004.6.16 add**************************************************************/

	/*因为对联系人等字段做处理,cn_cust_info放在最后处理*/
	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);
	}




	/*统一处理跨表信息*/


	/*释放号码处理*/
	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)
		{
			strcpy(gcretstr,"修改rn_number出错");
			#ifdef	YYDEBUG
			DebugLog("%s",gcretstr);
			fclose(tracefp);
			CopyTr(gcfilename,gcyyerrlog);
			#endif
			exceptExit(-1,gcretstr);
		}

		/******************************************/

		if (strcmp(gcprod_class,"15")==0)
		{

			EXEC SQL UPDATE rn_800_number SET use_state = 'A' WHERE term_no = :gcproduct_no AND use_state = 'E';
			if (sqlca.sqlcode < 0)
			{
				strcpy(gcretstr,"修改rn_800_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
	}


	/*修正单写关联表*/

	if ((gcsrv_type[0] == '1') && ((gitimes == 0) || (gitimes == 1)))
	{
		EXEC SQL SELECT product_no INTO :gcmainproduct_no FROM pdn_pdinfo WHERE produce_id = :gcmainproduce_id AND produce_type = 1;
		if (sqlca.sqlcode != 0)
		{
			strcpy(gcretstr,"查询pdn_pdinfo出错");
			#ifdef	YYDEBUG
			fclose(tracefp);
			CopyTr(gcfilename,gcyyerrlog);
			#endif
			exceptExit(-1,gcretstr);
		}
		trim(gcmainproduct_no);
		for(i=0;i<gisrvc;i++)
		{
			EXEC SQL INSERT INTO pdn_relate(produce_id,produce_no,rela_type,product_id,product_no,local_flag,rela_prd_id,rela_prd_no,rela_prod_id,rela_prod_no)
			VALUES(:gcnewproduce_id[i],:gcnewproduce_no[i],'06',:gcnewproduct_id[i],:gcmainproduct_no,'0',:gcmainproduce_id,:gcpriproduce_no,:gcmainproduct_id,:gcmainproduct_no);
			if (sqlca.sqlcode < 0)
			{
				strcpy(gcretstr,"插入pdn_relate出错");
				#ifdef	YYDEBUG
				fclose(tracefp);
				CopyTr(gcfilename,gcyyerrlog);
				#endif
				exceptExit(-1,gcretstr);
			}
		}
	}





	/*所有表记录INSERT后,统一提交*/
	if ( CicsCommit() != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("rollback");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(10005,COMMIT_ERR );
	}
	else
	{
		setParamNum(1);
		setRecColNum(6);
		addParams(BEGIN,gcmainorder_id,END);
		for(i=0;i<gisrvc;i++)
		{
			addFields(BEGIN,gcnewproduce_id[i],gcnewproduce_no[i],gcnewaccept_id[i],gcnewsrv_code[i],gcsrv_name[i],gcnewaccept_state[i],END);
		}
		#ifdef	YYDEBUG
		DebugLog("commit");
		fclose(tracefp);
		#endif
		normalExit(0,LINK_SUCCESS);
	}

}





/*
* 函数说明:生成pdn_pdinfo信息
* 输入参数:
* 输出参数:
* 返 回 值:
*/

int intoPdn_pdinfoProc()

{
	EXEC SQL BEGIN DECLARE SECTION;
	char lcnewa0[PDINFO_FIELD][PDINFO_LENGTH] = {0};
	char lcolda0[PDINFO_FIELD][PDINFO_LENGTH] = {0};
	char lcfielda0[PDINFO_FIELD][20] = {0};
	char lcchna0[PDINFO_FIELD][40] = {0};
	char lctypea0[PDINFO_FIELD][10] = {0};
	char lcsub[3] = {0};
	char lcupdate[2000] = {0};
	char lcproduct_id[26] = {0};
	char lcproduce_id[26] = {0};
	char lcproduce_no[26] = {0};
	char lctempstr[10] = {0};
	char ls_undoflag[5] = {0};
	int  lisub=0;
	int  i=0;
	int  j=0;
	int  k=0;

	EXEC SQL END DECLARE SECTION;

	if ((gitimes == 0) || (gitimes == 1) || (gitimes == 4))
	{
		if (girolls == 0)
		{
			gcretval = DinitpdnProc(gcmainproduct_id,gcmainproduce_id,gcrollproduce_no[0],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcrollsrv_code[0]);
			if (gcretval == -1)
			{
				strcpy(gcretstr,"初始化pdn_pdinfo出错");
				return -1;
			}
		}
		else
		{
			for(i=0;i<girolls;i++)
			{
				if (gcrollproduce_no[i][0] != 0)
				{
					gcretval = DinitpdnProc(gcmainproduct_id,gcmainproduce_id,gcrollproduce_no[i],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcrollsrv_code[i]);
					if (gcretval == -1)
					{
						strcpy(gcretstr,"初始化pdn_pdinfo出错");
						return -1;
					}
				}
			}
		}
	}
	else if (gitimes == 2)
	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -