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

📄 dphsmod.pc

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PC
📖 第 1 页 / 共 5 页
字号:
				gig1rows = atoi(gcrows);
			}
		}

		/*a5PDN_device处理开始*/
		else if (strcmp(gccondition,"A5") == 0)
		{
			gia5e=i;
			gia5c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gia5rows)
			{
				gia5rows = atoi(gcrows);
			}
		}

		/*d6PDN_phs处理开始*/
		else if (strcmp(gccondition,"D6") == 0)
		{
			gid6e=i;
			gid6c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gid6rows)
			{
				gid6rows = atoi(gcrows);
			}
		}

		/*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);
			}
		}

		/*H3PDN_PREPAY处理开始*/
		else if (strcmp(gccondition,"H3") == 0)
		{
			gih3e=i;
			gih3c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gih3rows)
			{
				gih3rows = atoi(gcrows);
			}
		}
		/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 begin*/
		else if (strcmp(gccondition,"J2") == 0)
		{
			gij2e=i;
			gij2c++;
			ncpyRec(i,6,gcrows,5);
			trim(gcrows);
			if (atoi(gcrows) > gih3rows)
			{
				gih3rows = atoi(gcrows);
			}
		}
		/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 end*/
		/*取编号处理开始*/
		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;
	gia5s = gia5e - gia5c + 1;
	gid6s = gid6e - gid6c + 1;
	gie7s = gie7e - gie7c + 1;
	gih3s = gih3e - gih3c + 1;
	/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 */
	gij2s = gij2e - gij2c + 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);
	}

	#ifdef	YYDEBUG
	DebugLog("prepay");
	#endif
	gcretval=intoPdn_prepayProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("pdn_prepay");
		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_device详细资料*/
	gcretval=intoPdn_deviceProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("device");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}

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

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

	/*增加对改号通知音,移机留号,移机不改号业务处理*/
	gcretval=intoPdn_linkinfoProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("pdn_linkinfo");
		fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
		#endif
		exceptExit(gcretval,gcretstr);
	}
	/*J2PDN_PHSSIM处理开始 modify kenshine 20050426 begin*/
	gcretval=intoPdn_phssimProc();
	if (gcretval != 0)
	{
		#ifdef	YYDEBUG
		DebugLog("pdn_phssim");
		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);
		}
		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
	}

	/*释放ps编号处理*/
	for(i=0;i<strlen(gcps_codestr);i=0)
	{
		lcps_code[0]=0;
		j=strcspn(gcps_codestr,"/");
		memcpy(lcps_code,gcps_codestr,j);
		lcps_code[j]=0;
		EXEC SQL UPDATE ps_handset_data SET use_state = 'A' WHERE ps_code = :lcps_code AND use_state = 'E';
		if (sqlca.sqlcode < 0)
		{
			strcpy(gcretstr,"修改ps_handset_data出错");
			#ifdef	YYDEBUG
			DebugLog("%s",gcretstr);
			fclose(tracefp);
			CopyTr(gcfilename,gcyyerrlog);
			#endif
			exceptExit(-1,gcretstr);
		}
		strcpy(gcps_codestr,gcps_codestr + 1 + j);
		#ifdef	YYDEBUG
		DebugLog("good!!!,i=%d,j=%d,gcps_code=%s,gcps_codestr=%s",i,j,lcps_code,gcps_codestr);
		#endif
	}
	/*释放sim编号处理 modify kenshine 20050427 begin*/
	for(i=0;i<strlen(gcsim_codestr);i=0)
	{
		lcps_code[0]=0;
		j=strcspn(gcsim_codestr,"/");
		memcpy(lcps_code,gcsim_codestr,j);
		lcps_code[j]=0;
		EXEC SQL UPDATE rc_sim SET use_state = 'A' WHERE iccid = :lcps_code AND use_state = 'E';
		if (sqlca.sqlcode < 0)
		{
			strcpy(gcretstr,"修改rc_sim出错");
			#ifdef	YYDEBUG
			DebugLog("%s",gcretstr);
			fclose(tracefp);
			CopyTr(gcfilename,gcyyerrlog);
			#endif
			exceptExit(-1,gcretstr);
		}
		strcpy(gcsim_codestr,gcsim_codestr + 1 + j);
		#ifdef	YYDEBUG
		DebugLog("good!!!,i=%d,j=%d,gcps_code=%s,gcsim_codestr=%s",i,j,lcps_code,gcsim_codestr);
		#endif
	}

	/*释放sim编号处理 modify kenshine 20050427 end*/
	/*修正单写关联表*/

	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(2);
		setRecColNum(6);
		addParams(BEGIN,gcmainorder_id,END);
		intoPdnprepayinfo();
		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;


	/*初始化pdn_pdinfo*/
	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)
	{
		for(i=0;i<giaddc;i++)
		{
			gcretval = DinitpdnProc(gcmainproduct_id,gcoldproduce_id[i],gcoldproduce_no[i],"pdn_pdinfo",gitimes,gcdelflag,gcnewflag,gcoldsrv_code[i]);
			if (gcretval == -1)
			{
				strcpy(gcretstr,"初始化pdn_pdinfo出错");
				return -1;
			}
			#ifdef	YYDEBUG

⌨️ 快捷键说明

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