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

📄 dphssimc.pc

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PC
📖 第 1 页 / 共 5 页
字号:
      {
        gcdelflag[0]=0;
        strcat(gcdelflag,"NN");
      }
      else if ((gitimes==2)||(gitimes==4))
      {
        gcdelflag[0]=0;
        strcat(gcdelflag,"YY");
      }  
*/      
        gcdelflag[0]=0;
        strcat(gcdelflag,"Y");
      gcretval=intoPdn_servcontrolProc();   	     /*生成pdn_servcontrol详细资料*/
      if (gcretval != 0)
      {
#ifdef	YYDEBUG
        DebugLog("servcontrol");
        fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
        exceptExit(gcretval,gcretstr);
      }

      gcretval=intoSr_accept_logProc();   	     /*生成sr_accept_log详细资料*/
      if (gcretval != 0)
      {
#ifdef	YYDEBUG
        DebugLog("sr_accept_log");
        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);
      }

      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_phoneProc();   	     /*生成pdn_phone详细资料*/
      if (gcretval != 0)
      {
#ifdef	YYDEBUG
        DebugLog("phone");
        fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
        exceptExit(gcretval,gcretstr);
      }

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

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

      
      

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

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

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

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

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


/*对改成模拟中继的,需要写pdn_relate*/
	if (strcmp(gcprod_class,"03") == 0)
	{
#ifdef	YYDEBUG
        DebugLog("模拟中继,gclead_no=%s",gclead_no);
#endif
		EXEC SQL DELETE FROM pdn_relate WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no AND rela_type = '02';
		if (sqlca.sqlcode < 0)
		{
			strcpy(gcretstr,"查询引示号信息出错");
#ifdef	YYDEBUG
        DebugLog("select leadno");
        fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
        exceptExit(gcretval,gcretstr);
		}
#ifdef	YYDEBUG
        DebugLog("delete pdn_relate");
#endif
		EXEC SQL SELECT product_id INTO :lcrelaproduct_id FROM pd_pdinfo WHERE product_no = :gclead_no;
		if (sqlca.sqlcode < 0)
		{
			strcpy(gcretstr,"查询引示号信息出错");
#ifdef	YYDEBUG
        DebugLog("select leadno");
        fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
        exceptExit(gcretval,gcretstr);
		}
#ifdef	YYDEBUG
        DebugLog("模拟中继,lcrelaproduct_id=%s",lcrelaproduct_id);
#endif
		EXEC SQL INSERT INTO pdn_relate(produce_id,produce_no,rela_type,product_id,rela_prod_id,flag)
		VALUES(:gcproduce_id,:gcproduce_no,'02',:gcproduct_id,:lcrelaproduct_id,'A');
		if (sqlca.sqlcode < 0)
		{
			strcpy(gcretstr,"插入pdn_relate出错");
#ifdef	YYDEBUG
        DebugLog("insert pdn_relate");
        fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
        exceptExit(gcretval,gcretstr);
		}
#ifdef	YYDEBUG
        DebugLog("insert pdn_relate");
#endif
	}



/*统一处理跨表信息*/
	EXEC SQL SELECT cust_type INTO :gccust_type FROM cn_cust_info WHERE produce_id = :gcproduce_id AND produce_type = 1 AND cust_id = :gcowncust_id;
	if (sqlca.sqlcode < 0)
	{
    strcat(gcretstr,"检索cn_cust_info出错");
#ifdef	YYDEBUG
    DebugLog("%s",gcretstr);
    fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
    exceptExit(-1,gcretstr);
  }
  trim(gccust_type);
	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 UPDATE pdn_acceptlog SET deal_grade = :gideal_grad WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no;
  if (sqlca.sqlcode < 0)
  {
    strcat(gcretstr,"修改pdn_acceptlog出错");
#ifdef	YYDEBUG
    DebugLog("%s",gcretstr);
    fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
    exceptExit(-1,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)
  	{
    	strcat(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
	}


/*所有表记录INSERT后,统一提交*/
    if ( CicsCommit() != 0)
    {
#ifdef	YYDEBUG
    	DebugLog("rollback");
      fclose(tracefp);
		CopyTr(gcfilename,gcyyerrlog);
#endif
		  exceptExit(10005,COMMIT_ERR );
    }
    else
    {
			setParamNum(4);
			addParams(BEGIN,gcproduce_id,gcproduce_no,gcaccept_id,gcorder_id,END);
#ifdef	YYDEBUG
    	DebugLog("commit");
      fclose(tracefp);
#endif
      normalExit(0,LINK_SUCCESS);
    }

}





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

int intoPdn_acceptlogProc()

{
EXEC SQL BEGIN DECLARE SECTION;
	int lirows=0;
EXEC SQL END DECLARE SECTION;

/*判断是否需要生成生产编号*/
	if (gcproduce_id[0] == 0)
  {
    sprintf(gcproduce_id,"%d",GenProduceidProc());
    trim(gcproduce_id);
#ifdef	YYDEBUG
    DebugLog("gcproduce_id=%s",gcproduce_id);
#endif
    if (strcmp(gcproduce_id,"-1") == 0)
    {
      strcat(gcretstr,"生成生产编号出错");
      return -1;
    }
    gitimes = 0;              /*该产品首次受理业务*/
  }
  else
  {
    gitimes = 1;              /*该产品本业务首次受理,同时受理过其他业务*/
  }

/*判断是否需要生成生产流水*/
  if (gcproduce_no[0] != 0)
  {
    lirows = 0;
    EXEC SQL SELECT 1 INTO :lirows FROM dual WHERE EXISTS(SELECT 1 FROM pdn_acceptlog WHERE produce_id = :gcproduce_id AND produce_no <> :gcproduce_no);
    if (sqlca.sqlcode < 0 )
    {
    	strcat(gcretstr,"检索pdn_acceptlog出错");
    	return -1;
    }
    if (lirows == 0)
    {
    	gitimes = 2;              /*该产品本业务审核后再修改,没受理过其他业务*/
    }
    else
    {
    	gitimes = 4;							/*该产品本业务审核后再修改,同时有其他业务受理*/
    }
  }
  else if (gcproduce_no[0] == 0)
  {
    sprintf(gcproduce_no,"%d",GenProducenoProc());
    trim(gcproduce_no);
    if (strcmp(gcproduce_no,"-1") == 0)
    {
      strcat(gcretstr,"生成生产流水出错");
      return -1;
    }
  }

/*判断是否需要生成订单编号*/

  if (gcorder_id[0] == 0)
  {
    GenOrderidProc(gcorder_id);
    trim(gcorder_id);
    if (strcmp(gcorder_id,"-1") == 0)
    {
      strcat(gcretstr,"生成订单编号出错");
      return -1;
    }
  }

/*判断是否需要生成受理编号*/
	if (gcaccept_id[0] == 0)
  {
    GenAcceptidProc(gcaccept_id);
    trim(gcaccept_id);
    if (strcmp(gcaccept_id,"-1") == 0)
    {
      strcat(gcretstr,"生成受理编号出错");
      return -1;
    }
  }

/*判断是否需要生成产品编号*/
  if (gcproduct_id[0] == 0)
  {
    strcat(gcretstr,"产品编号不能为空");
    return -1;
  }

  if ((gitimes == 2) || (gitimes == 4))
  {
/*根据produce_id和produce_no删除旧记录*/
    EXEC SQL DELETE FROM pdn_acceptlog WHERE produce_id = :gcproduce_id AND produce_no = :gcproduce_no;
    if (sqlca.sqlcode < 0)
    {
      strcat(gcretstr,"删除pdn_acceptlog出错");
      return -1;
    }
  }
#ifdef	YYDEBUG
    DebugLog("pdn_acceptlog  gcproduce_id=%s",gcproduce_id);
    DebugLog("pdn_acceptlog  gcproduce_no=%s",gcproduce_no);
    DebugLog("pdn_acceptlog  gcaccept_id=%s",gcaccept_id);
    DebugLog("pdn_acceptlog  gcproduct_id=%s",gcproduct_id);
#endif

  EXEC SQL INSERT INTO pdn_acceptlog(produce_id,produce_no,order_id,accept_id,product_id,srv_code,sub_srv,accept_lan,vest_lan,apply_name,apply_cert,apply_certno,apply_tel,apply_addr,atime,accept_grade,accept_mode,deal_grade,charge_tache)
  VALUES(:gcproduce_id,:gcproduce_no,:gcorder_id,:gcaccept_id,:gcproduct_id,:gcsrv_code,:gcsub_srv,:gcaccept_lan,:gcvest_lan,:gcapply_name,:gcapply_cert,:gcapply_certno,:gcapply_tel,:gcapply_addr,sysdate,:gcaccept_grade,:gcaccept_mode,0,:gccharge_tache);
  if (sqlca.sqlcode < 0)
  {
    strcat(gcretstr,"插入pdn_acceptlog出错");
    return -1;
  }
  return 0;
}




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

int intoSr_accept_logProc()

{
EXEC SQL BEGIN DECLARE SECTION;

EXEC SQL END DECLARE SECTION;

⌨️ 快捷键说明

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