Commit f155fcbc authored by 王业明's avatar 王业明
Browse files

初始化 删除多余bin文件夹

parent d35f9774
'''
索 引:INDEX_S${sindex}
功 能:${desc}
节 点:步骤${sindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_IMPL(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用步骤 STEP[${sindex}]:[${desc}]")
try:
BAPC_Builtin_SetDefaultExceptNode(None)
_Result_ = None
_Method_ = ${startFunc}
while(type(_Method_) is FunctionType):
_Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__)
_Method_ = _Result_
${logicText}
except Exception,PyExcp:
BAPC_Builtin_SetGlobalError("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return None
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def M${tadeCode}_ENTRY(__REQ__,__RSP__):
CGC_Debug("开始交易 [${tadeCode}]:${desc}")
__SND__ = {}
__RCV__ = {}
BAPC_Builtin_TradeInitialize(__REQ__,__RSP__)
_Result_ = BAPC_Builtin_CheckRequest(__REQ__,__RSP__)
if(_Result_ != True):
return True
_Result_ = None
_Method_ = ${firstMothod}
while(type(_Method_) is FunctionType):
_Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__)
_Method_ = _Result_
__SND__.clear()
__RCV__.clear()
del __SND__
del __RCV__
BAPC_Builtin_CheckResponse(__REQ__,__RSP__)
CGC_Debug("结束交易 ${tadeCode}")
return True
\ No newline at end of file
# -*- coding: gbk -*-
'''
-------------------------------------------------------------------------------
×× 以下代码是宇信班克CGC编译器自动生成的代码,请勿直接修改代码。 ××
-------------------------------------------------------------------------------
'''
'''
应用代码:${app}
交易代码:${trade}
描述信息:${desc}
作 者:宇信班克
创建日期:${crttime}
修改日期:${mdftime}
生成日期:${curdate}
编译版本:CGC ${version}
'''
from types import FunctionType
${importStr}
'''
全局对象:
'''
__EXCP__ = None
__ECD__ = "UNDEF"
__MSG__ = ""
__RST__ = "N"
'''
功 能:记录Python对象日志
'''
def BAPC_Builtin_LoggerTraceVar(argVarName,argVarObject):
try:
CGC_Trace("%s = %s" % (argVarName,argVarObject))
return True
except:
return False
'''
功 能:构造设置全局错误
'''
def BAPC_Builtin_SetGlobalError(argMsgType,argMsgCode,argMsgText):
global __RST__
global __ECD__
global __MSG__
__RST__ = str(argMsgType)
__ECD__ = str(argMsgCode)
__MSG__ = str(argMsgText)
CGC_Trace("__RST__ = "+str(__RST__))
CGC_Trace("__ECD__ = "+str(__ECD__))
CGC_Trace("__MSG__ = "+str(__MSG__))
'''
功 能:检测 __MC__ 和 __TC__
'''
def BAPC_Builtin_CheckRequest(__REQ__,__RSP__):
CGC_Trace("调用内建函数 BAPC_Builtin_CheckRequest")
if( not __REQ__.has_key("__MC__")):
BAPC_Builtin_SetGlobalError("E","NO__MC__","__REQ__中必须包含键值__MC__")
return False
if( not __REQ__.has_key("__TC__")):
BAPC_Builtin_SetGlobalError("E","NO__TC__","__REQ__中必须包含键值__TC__")
return False
if( not __REQ__.has_key("__RCVPCK__")):
__RSP__["__MSG__"]="__REQ__中必须包含键值__MSG__"
BAPC_Builtin_SetGlobalError("E","NORCVPCK","__REQ__中必须包含键值__MSG__")
return False
if( not __REQ__.has_key("__VER__")):
__RSP__["__MSG__"]="__REQ__中必须包含键值__VER__"
BAPC_Builtin_SetGlobalError("E","NORCVPCK","__REQ__中必须包含键值__VER__")
return False
return True
'''
功 能:检查 __SNDPCK__ 放置 __ECD__ 、__RST__ 到返回字典中
'''
def BAPC_Builtin_CheckResponse(__REQ__,__RSP__):
CGC_Trace("调用内建函数 BAPC_Builtin_CheckResponse")
global __RST__
global __ECD__
global __MSG__
if( not __RSP__.has_key("__SNDPCK__")):
__RSP__["__RST__"]="E"
__RSP__["__ECD__"]="RTM0E103"
__RSP__["__MSG__"]="没有返回包变量"
__RSP__["__SNDPCK__"]=""
else:
__RSP__["__RST__"]=__RST__
__RSP__["__ECD__"]=__ECD__
__RSP__["__MSG__"]=__MSG__
'''
功 能:获取全局异常委托函数
'''
def BAPC_Builtin_GetDefaultExceptNode(argDefault):
global __EXCP__
if(__EXCP__ == None):
return argDefault
else:
return __EXCP__
'''
功 能:设置全局异常委托函数
'''
def BAPC_Builtin_SetDefaultExceptNode(argMethod):
global __EXCP__
__EXCP__ = argMethod
'''
功 能: 交易入口初始化函数
'''
def BAPC_Builtin_TradeInitialize(__REQ__,__RSP__):
if(__RSP__.has_key("__ASYNC__")):
del __RSP__["__ASYNC__"]
if(__RSP__.has_key("__AMC__")):
del __RSP__["__AMC__"]
if(__RSP__.has_key("__ATC__")):
del __RSP__["__ATC__"]
__REQ__["__VER__"]="2.31"
'''
功 能:布尔判断框架(虚拟组件)返回 0或1
'''
def BAPC_Builtin_BoolFrame(argBOOL):
CGC_Trace("调用虚拟组件 BAPC_Builtin_BoolFrame")
CGC_Trace(("argBOOL="+str(argBOOL) ))
if(type(argBOOL) is bool):
if(argBOOL is True):
return [1,None,None]
else:
return [0,None,None]
elif(type(argBOOL) is int):
if(argBOOL > 0):
return [1,None,None]
else:
return [0,None,None]
else:
return [0,None,None]
'''
功 能: 默认出口挂载(虚拟组件)返回 1
'''
def BAPC_Builtin_DefaultErrorHolder():
CGC_Trace("调用 BAPC_Builtin_DefaultErrorHolder")
return [1,None,None]
'''
功 能: 字符串SWITCH匹配(虚拟组件)返回 0或1~7
'''
def BAPC_Builtin_SwitchCaseFrame(argSrc,arg1,arg2,arg3,arg4,arg5,arg6,arg7):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SwitchCaseFrame")
CGC_Trace(("argSrc="+str(argSrc)))
if(argSrc == arg1):
return [1,None,None]
elif(argSrc == arg2):
return [2,None,None]
elif(argSrc == arg3):
return [3,None,None]
elif(argSrc == arg4):
return [4,None,None]
elif(argSrc == arg5):
return [5,None,None]
elif(argSrc == arg6):
return [6,None,None]
elif(argSrc == arg7):
return [7,None,None]
else:
return [0,None,None]
'''
功 能: 设置全局错误(虚拟组件) 返回 1
'''
def BAPC_Builtin_SetErrorToGlobal(argMsgType,argMsgCode,argMsgText):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SetErrorToGlobal")
BAPC_Builtin_SetGlobalError(argMsgType,argMsgCode,argMsgText)
return [1,None,None]
'''
功 能:取全局错误到容器(虚拟组件)返回 1
'''
def BAPC_Builtin_GetGlobalErrorToDict(argDict,argMsgTypeName,argMsgCodeName,argMsgTextName):
CGC_Trace("调用虚拟组件 BAPC_Builtin_GetGlobalErrorToDict")
global __RST__
global __ECD__
global __MSG__
if(not type(argDict) is dict):
return [0,"BAPC0E900","容器字段必须是字典"]
elif(not type(argMsgTypeName) is str):
return [0,"BAPC0E901","MsgType的KEY必须是STRING"]
elif(not type(argMsgCodeName) is str):
return [0,"BAPC0E901","MsgCode的KEY必须是STRING"]
elif(not type(argMsgTextName) is str):
return [0,"BAPC0E901","MsgText的KEY必须是STRING"]
argDict[argMsgTypeName]=__RST__
argDict[argMsgCodeName]=__ECD__
argDict[argMsgTextName]=__MSG__
return [1,None,None]
'''
功 能: 切换为后执行模式(虚拟组件) 返回 1
'''
def BAPC_Builtin_SwitchToAsyncMode(argDict,argTemplateCode,argTransCode):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SwitchToAsyncMode")
if(not type(argDict) is dict):
return [0,"BAPC0E900","容器字段必须是字典"]
elif(not type(argTemplateCode) is str):
return [0,"BAPC0E901","应用代码必须是STRING"]
elif(not type(argTransCode) is str):
return [0,"BAPC0E901","交易代码必须是STRING"]
argDict["__ASYNC__"] = True
argDict["__AMC__"] = argTemplateCode
argDict["__ATC__"] = argTransCode
return [1,None,None]
'''
功 能: 切换为后执行模式(虚拟组件) 返回 1
'''
def BAPC_Builtin_Def_Err_End_Node(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Trace("调用虚拟组件 BAPC_Builtin_Def_Err_End_Node")
return False
'''
-------------------------------------------------------------------------------
## 交易步骤代码 ##
-------------------------------------------------------------------------------
'''
${body}
'''
-------------------------------------------------------------------------------
## 交易函数入口 ##
-------------------------------------------------------------------------------
'''
${entry}
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def COMP_${tadeCode}_ENTRY(__REQ__,__RSP__,__SND__,__RCV__):
try:
CGC_Debug("开始业务组件 ${tadeCode}:${desc}")
CGC_SET_DEF_EXCP_NODE(None)
objResult = False
objMethod = ${firstMothod}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__SND__,__RCV__)
objMethod = objResult
CGC_Debug("结束业务组件 ${tadeCode}:${desc}")
return (objMethod == True)
except Exception,PyExcp:
CGC_SET_GLB_ERROR("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return False
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
${body}<#rt/>
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
try:
${SetDefaultExceptNode}<#rt/>
${inArgText}<#rt/>
${functionBody}<#rt/>
if( not (type(listResult) is list)):
CGC_SET_GLB_ERROR("E","BT910001","组件状态返回值必须是list类型")
return CGC_GET_DEF_EXCP_NODE(${errFunc})
elif(len(listResult) < 3):
CGC_SET_GLB_ERROR("E","BT910002","组件状态返回值(list)的个数必须有3个以上")
return CGC_GET_DEF_EXCP_NODE(${errFunc})
${outArgText}<#rt/>
CGC_Trace("出口分支="+str(listResult[0]))
${logicText}<#rt/>
except Exception,PyExcp:
CGC_SET_GLB_ERROR("E","BT910006",str(PyExcp))
CGC_Debug(str(PyExcp))
return CGC_GET_DEF_EXCP_NODE(${errFunc})
if((listResult[1] == None) and (listResult[2] == None)):
if(len(listResult) != 4):
CGC_SET_GLB_ERROR("E","BT910003","必须有返回值的组件无数据返回")
return CGC_GET_DEF_EXCP_NODE(${errFuncName})
listRes = listResult[3]
if(listRes != None):
if( not (type(listRes) is list)):
CGC_SET_GLB_ERROR("E","BT910004","组件据据返回值必须是list类型")
return CGC_GET_DEF_EXCP_NODE(${errFuncName})
elif(len(listRes) < 1):
CGC_SET_GLB_ERROR("E","BT910005","组件数据返回值的个数必须和组件出参配置一致")
return CGC_GET_DEF_EXCP_NODE(${errFuncName})
${outArgsText}<#rt/>
else:
CGC_Trace("组件返回值为无出参模式")
else:
CGC_SET_GLB_ERROR("D",str(listResult[1]),str(listResult[2]))
\ No newline at end of file
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
try:
${functionBody}<#rt/>
if(objResult == True):
CGC_Debug("业务组件返回状态:成功")
return ${trueRet}
else:
CGC_Debug("业务组件返回状态:失败")
return ${falseRet}
except Exception,PyExcp:
CGC_SET_GLB_ERROR("E","BT900001",str(PyExcp))
CGC_Debug(str(PyExcp))
return CGC_GET_DEF_EXCP_NODE(${errFunc})
'''
索 引:INDEX_S${sindex}
功 能:${desc}
节 点:步骤${sindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_IMPL(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用步骤 STEP[${sindex}]:[${desc}]")
try:
CGC_SET_DEF_EXCP_NODE(None)
objResult = None
objMethod = ${startFunc}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__SND__,__RCV__)
objMethod = objResult
${logicText}
except Exception,PyExcp:
CGC_SET_GLB_ERROR("E","BT990001",str(PyExcp))
CGC_Debug(str(PyExcp))
return None
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def M${tadeCode}_ENTRY(__REQ__,__RSP__):
CGC_Debug("开始交易 [${tadeCode}]:${desc}")
__SND__ = {}
__RCV__ = {}
if not CGC_INIT_CHECK(__REQ__,__RSP__):
return True
objResult = None
objMethod = ${firstMothod}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__SND__,__RCV__)
objMethod = objResult
__SND__.clear()
__RCV__.clear()
del __SND__
del __RCV__
CGC_END_CHECK(__REQ__,__RSP__)
CGC_Debug("结束交易 [${tadeCode}]")
return True
\ No newline at end of file
# -*- coding: gbk -*-
'''
-------------------------------------------------------------------------------
×× 以下代码是宇信班克CGC编译器自动生成的代码,请勿直接修改代码。 ××
-------------------------------------------------------------------------------
'''
'''
应用代码:${app}
交易代码:${trade}
描述信息:${desc}
作 者:宇信班克
创建日期:${crttime}
修改日期:${mdftime}
生成日期:${curdate}
编译版本:CGC ${version}
'''
from types import FunctionType
${importStr}
'''
全局对象:
'''
__GLB_ERRFUNC__ = None
__GLB_ERRCODE__ = "None"
__GLB_ERRMESG__ = "None"
__GLB_ERRTYPE__ = "None"
'''
功 能:CGC初始化检查
'''
def CGC_INIT_CHECK(__REQ__,__RSP__):
CGC_Trace("调用内建函数 CGC_CHECK")
if(__RSP__.has_key("__ASYNC__")):
del __RSP__["__ASYNC__"]
if(__RSP__.has_key("__AMC__")):
del __RSP__["__AMC__"]
if(__RSP__.has_key("__ATC__")):
del __RSP__["__ATC__"]
if( not __REQ__.has_key("__MC__")):
CGC_SET_GLB_ERROR("E","ET010001","__REQ__中必须包含键值__MC__")
return False
if( not __REQ__.has_key("__TC__")):
CGC_SET_GLB_ERROR("E","ET010002","__REQ__中必须包含键值__TC__")
return False
return True
'''
功 能:CGC结束检查
'''
def CGC_END_CHECK(__REQ__,__RSP__):
CGC_Trace("调用内建函数 CGC_END_CHECK")
global __GLB_ERRTYPE__
global __GLB_ERRCODE__
global __GLB_ERRMESG__
if( not __RSP__.has_key("__SNDPCK__")):
__RSP__["__RST__"]="E"
__RSP__["__ECD__"]="ENOSDPCK"
__RSP__["__MSG__"]="无返回包变量"
__RSP__["__SNDPCK__"]=""
else:
__RSP__["__RST__"]=__GLB_ERRTYPE__
__RSP__["__ECD__"]=__GLB_ERRCODE__
__RSP__["__MSG__"]=__GLB_ERRMESG__
'''
功 能:CGC获取异常委托函数
'''
def CGC_GET_DEF_EXCP_NODE(funcDef):
global __GLB_ERRFUNC__
if(__GLB_ERRFUNC__ == None):
return funcDef
else:
return __GLB_ERRFUNC__
'''
功 能:CGC设置全局错误
'''
def CGC_SET_GLB_ERROR(strMsgType,strMsgCode,strMsgText):
global __GLB_ERRTYPE__
global __GLB_ERRCODE__
global __GLB_ERRMESG__
__GLB_ERRTYPE__ = str(strMsgType)
__GLB_ERRCODE__ = str(strMsgCode)
__GLB_ERRMESG__ = str(strMsgText)
CGC_Trace("ETYPE = "+str(__GLB_ERRTYPE__))
CGC_Trace("ECODE = "+str(__GLB_ERRCODE__))
CGC_Trace("EMESG = "+str(__GLB_ERRMESG__))
'''
功 能:设置全局异常委托函数
'''
def CGC_SET_DEF_EXCP_NODE(argMethod):
global __GLB_ERRFUNC__
__GLB_ERRFUNC__ = argMethod
'''
功 能:CGC布尔判断组件
'''
def CGC_INN_BOOL(boolArg):
CGC_Trace("调用内置组件 CGC_INN_BOOL")
CGC_Trace(("boolArg="+str(boolArg) ))
if(type(boolArg) is bool):
if(boolArg is True):
return [1,None,None]
else:
return [0,None,None]
elif(type(boolArg) is int):
if(boolArg > 0):
return [1,None,None]
else:
return [0,None,None]
else:
return [0,None,None]
'''
功 能: CGC虚拟SWITCH组件
'''
def CGC_INN_SWITCH(argSrc,arg1,arg2,arg3,arg4,arg5,arg6,arg7):
CGC_Trace("调用内置组件 CGC_INN_SWITCH")
CGC_Trace(("argSrc="+str(argSrc)))
if(argSrc == arg1):
return [1,None,None]
elif(argSrc == arg2):
return [2,None,None]
elif(argSrc == arg3):
return [3,None,None]
elif(argSrc == arg4):
return [4,None,None]
elif(argSrc == arg5):
return [5,None,None]
elif(argSrc == arg6):
return [6,None,None]
elif(argSrc == arg7):
return [7,None,None]
else:
return [0,None,None]
'''
功 能:CGC取全局错误到容器
'''
def CGC_INN_GET_GLB_ERROR(dictArg,strMsgTypeName,strMsgCodeName,strMsgTextName):
CGC_Trace("调用内置组件 CGC_INN_GET_GLB_ERROR")
global __GLB_ERRTYPE__
global __GLB_ERRCODE__
global __GLB_ERRMESG__
if(not type(dictArg) is dict):
return [0,"ET020001","入参0必须是dict类型"]
elif(not type(strMsgTypeName) is str):
return [0,"ET020002","入参1必须是str类型"]
elif(not type(strMsgCodeName) is str):
return [0,"ET020003","入参2必须是str类型"]
elif(not type(strMsgTextName) is str):
return [0,"ET020004","入参3必须是str类型"]
dictArg[strMsgTypeName]=__GLB_ERRTYPE__
dictArg[strMsgCodeName]=__GLB_ERRCODE__
dictArg[strMsgTextName]=__GLB_ERRMESG__
return [1,None,None]
'''
功 能: CGC异步模式
'''
def CGC_INN_ASYNC(dictArg,strMC,strTC):
CGC_Trace("调用内置组件 CGC_INN_ASYNC")
if(not type(dictArg) is dict):
return [0,"ET030001","入参0必须是dict类型"]
elif(not type(strMC) is str):
return [0,"ET030002","入参1必须是str类型"]
elif(not type(strTC) is str):
return [0,"ET030003","入参2必须是str类型"]
dictArg["__ASYNC__"] = True
dictArg["__AMC__"] = strMC
dictArg["__ATC__"] = strTC
return [1,None,None]
'''
功 能: CGC默认异常结束
'''
def CGC_DEF_ERR_END_NODE(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Trace("调用内置组件 CGC_DEF_ERR_END_NODE")
return False
'''
-------------------------------------------------------------------------------
## 交易步骤代码 ##
-------------------------------------------------------------------------------
'''
${body}
'''
-------------------------------------------------------------------------------
## 交易函数入口 ##
-------------------------------------------------------------------------------
'''
${entry}
def COMP_${tadeCode}_ENTRY(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None):
'''
交易名称:${tadeCode}
说 明:${desc}
'''
try:
CGC_Trace("开始业务组件 ${tadeCode}:${desc}")
objResult = False
objMethod = ${firstMothod}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__BUF__,__EXT__)
objMethod = objResult
CGC_Trace("结束业务组件 ${tadeCode}:${desc}")
return (objMethod == True)
except Exception,PyExcp:
CGC_SET_DEF_ERROR("E","${errcode + "01"}",str(PyExcp))
return False
\ No newline at end of file
def __BAP_${trade}_S${sid}_EXP(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None,strErrcode = None,strErrMsg = None):
'''
索 引:INDEX_S${sindex}_EXP
功 能:异常处理
节 点:步骤${sindex}
交 易:${trade}
'''
CGC_Debug("开始异常处理:")
try:
if strErrcode != None and strErrMsg != None:
CGC_SET_DEF_ERROR(__REQ__,"E",strErrcode,strErrMsg)
objResult = None
objMethod = ${startFunc}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__BUF__,__EXT__)
objMethod = objResult
return (True == objResult)
except Exception,PyExcp:
CGC_Debug("异常 [${errcode + "01"}]-[%s]" % (str(PyExcp)))
CGC_SET_DEF_ERROR(__REQ__,"E","${errcode + "01"}",str(PyExcp))
return False
\ No newline at end of file
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None,):
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
CGC_Trace("调用节点 ${trade}-STEP[${sindex}]-NODE[${nindex}]:${desc}")
${body}<#rt/>
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None):
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
CGC_Trace("调用节点 ${trade}-STEP[${sindex}]-NODE[${nindex}]:${desc}")
${inArgText}<#rt/>
<#if funcName == "END">
<#elseif funcName == "CGC_INN_BOOL">
CGC_Trace(("布尔判断表达式:"+str(objArg0) ))
<#if reType == "NOT_RETURN">
return ${reExVal}
<#else>
if(type(objArg0) is bool) and objArg0 is True:
<#if reVal1?exists>
CGC_Trace("出口分支=1")
return ${reVal1}
<#else>
return ${reExVal}
</#if>
else:
<#if reVal0?exists>
CGC_Trace("出口分支=0")
return ${reVal0}
<#else>
return ${reExVal}
</#if>
</#if>
<#elseif funcName == "CGC_INN_ASYNC">
if(not type(objArg0) is dict):
raise CGCException("E","${errcode + "01"}","入参0必须是dict类型")
elif(not type(objArg1) is str):
raise CGCException("E","${errcode + "02"}","入参1必须是str类型")
elif(not type(objArg2) is str):
raise CGCException("E","${errcode + "03"}","入参2必须是str类型")
objArg0["__ASYNC__"] = True
objArg0["__AMC__"] = objArg1
objArg0["__ATC__"] = objArg2
<#if reVal?exists>
return ${reVal}
<#else>
return ${reExVal}
</#if>
<#elseif funcName == "CGC_INN_GET_GLB_ERROR">
if(not type(objArg0) is dict):
raise CGCException("E","${errcode + "01"}","入参0必须是dict类型")
elif(not type(objArg1) is str):
raise CGCException("E","${errcode + "02"}","入参1必须是str类型")
elif(not type(objArg2) is str):
raise CGCException("E","${errcode + "03"}","入参2必须是str类型")
elif(not type(objArg3) is str):
raise CGCException("E","${errcode + "04"}","入参3必须是str类型")
objArg0[objArg1] = __REQ__.has_key('__RST__') and __REQ__["__RST__"] or ""
objArg0[objArg2] = __REQ__.has_key('__ECD__') and __REQ__["__ECD__"] or ""
objArg0[objArg3] = __REQ__.has_key('__MSG__') and __REQ__["__MSG__"] or ""
<#if reVal?exists>
return ${reVal}
<#else>
return ${reExVal}
</#if>
<#elseif funcName == "CGC_INN_SWITCH">
<#if reType == "NOT_RETURN">
CGC_Trace("出口分支=0")
return ${defFunc}
<#else>
<#if reType == "SIG_RETURN">
return ${defFunc}
<#else>
<#list reFunc?keys as name>
<#if name_index == 0>
if(objArg0 == objArg${name}):
<#else>
elif(objArg0 == objArg${name}):
</#if>
CGC_Trace("出口分支=${name}")
return ${reFunc[name]}
</#list>
else:
CGC_Trace("出口分支=0")
return ${defFunc}
</#if>
</#if>
<#else>
${functionBody}<#rt/>
if type(listResult) is not list:
raise CGCException("E","${errcode + "01"}","组件状态返回值必须是list类型")
elif len(listResult) < 3:
raise CGCException("E","${errcode + "02"}","组件状态返回值(list)的个数必须有3个以上")
elif listResult[1] != None or listResult[2] != None:
CGC_SET_DEF_ERROR(__REQ__,"D",str(listResult[1]),str(listResult[2]))
<#if outArgFlag == "OUTARGS">
else:
listRes = None
if len(listResult) >= 4:
listRes = listResult[3]
if(listRes != None):
if type(listRes) is not list:
raise CGCException("E","${errcode + "03"}","组件出参必须是list类型")
elif len(listRes) == 0:
raise CGCException("E","${errcode + "04"}","组件出参个数必须大于0")
${outArgsText}<#rt/>
else:
CGC_Trace("组件返回值为无出参模式")
</#if>
CGC_Trace("出口分支="+str(listResult[0]))
${logicText}<#rt/>
</#if>
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None):
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
CGC_Trace("调用节点 ${trade}-STEP[${sindex}]-NODE[${nindex}]:${desc}")
${functionBody}<#rt/>
if(objResult == True):
CGC_Debug("业务组件返回状态:成功")
return ${trueRet}
else:
CGC_Debug("业务组件返回状态:失败")
return ${falseRet}
\ No newline at end of file
def __BAP_${trade}_S${sid}_IMPL(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None):
'''
索 引:INDEX_S${sindex}_N0
功 能:${desc}
节 点:步骤${sindex}
交 易:${trade}
'''
CGC_Debug("开始步骤 ${trade}-STEP[${sindex}]:[${desc}]")
objResult = None
try:
objMethod = ${startFunc}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__BUF__,__EXT__)
objMethod = objResult
except Exception,PyExcp:
CGC_Trace("异常:步骤[${sindex}],[${errcode + "01"}]-[%s]" % (str(PyExcp)))
objResult = __BAP_${trade}_S${sid}_EXP(__REQ__,__RSP__,__BUF__,__EXT__,"${errcode + "01"}",str(PyExcp))
finally:
${logicText}<#rt/>
\ No newline at end of file
def M${tadeCode}_ENTRY(__REQ__,__RSP__,__BUF__ = None,__EXT__ = None):
'''
交 易:${tadeCode}
说 明:${desc}
'''
CGC_Trace("开始交易 [${tadeCode}]:${desc}")
if not CGC_INIT_CHECK(__REQ__,__RSP__):
return True
objResult = None
objMethod = ${firstMothod}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__BUF__,__EXT__)
objMethod = objResult
CGC_END_CHECK(__REQ__,__RSP__)
CGC_Trace("结束交易 [${tadeCode}]")
return True
\ No newline at end of file
# -*- coding: gbk -*-
#-------------------------------------------------------------------------------
# 以下代码是宇信班克CGC编译器自动生成的代码,请勿直接修改代码!
#-------------------------------------------------------------------------------
'''
应用代码:${app}
交易代码:${trade}
描述信息:${desc}
作 者:宇信班克
创建日期:${crttime}
修改日期:${mdftime}
生成日期:${curdate}
编译版本:CGC ${version}
'''
<#if content != "empty">
from types import FunctionType
${importStr}
#-------------------------------------------------------------------------------
#CGC内部代码
#-------------------------------------------------------------------------------
class CGCException(Exception):
'''
功 能:CGC异常
'''
def __init__(self,strMsgType,strMsgCode,strMsgText):
self.strMsgType = str(strMsgType)
self.strMsgCode = str(strMsgCode)
self.strMsgText = str(strMsgText)
def __str__(self):
return "异常 [%s]-[%s]" % (self.strMsgCode,self.strMsgText)
<#if tradeType == "COM_TRD_TYPE">
def CGC_INIT_CHECK(__REQ__,__RSP__):
'''
功 能:CGC初始化检查
'''
if not __REQ__.has_key("__RST__"):
__REQ__["__RST__"] = ''
if not __REQ__.has_key("__ECD__"):
__REQ__["__ECD__"] = ''
if not __REQ__.has_key("__MSG__"):
__REQ__["__MSG__"] = ''
if __RSP__.has_key("__ASYNC__"):
del __RSP__["__ASYNC__"]
if __RSP__.has_key("__AMC__"):
del __RSP__["__AMC__"]
if __RSP__.has_key("__ATC__"):
del __RSP__["__ATC__"]
return True
def CGC_END_CHECK(__REQ__,__RSP__):
'''
功 能:CGC结束检查
'''
if( not __RSP__.has_key("__SNDPCK__")):
__RSP__["__RST__"]="E"
__RSP__["__ECD__"]="ENORSPCK"
__RSP__["__MSG__"]="无返回包数据"
__RSP__["__SNDPCK__"]=""
else:
__RSP__["__RST__"]=__REQ__["__RST__"]
__RSP__["__ECD__"]=__REQ__["__ECD__"]
__RSP__["__MSG__"]=__REQ__["__MSG__"]
</#if>
def CGC_SET_DEF_ERROR(dictReq,strMsgType,strMsgCode,strMsgText):
'''
功 能:CGC设置全局错误
'''
CGC_Trace("ETYPE = "+str(strMsgType))
CGC_Trace("ECODE = "+str(strMsgCode))
CGC_Trace("EMESG = "+str(strMsgText))
dictReq["__RST__"] = None != strMsgType and strMsgType or ""
dictReq["__ECD__"] = None != strMsgCode and strMsgCode or ""
dictReq["__MSG__"] = None != strMsgText and strMsgText or ""
def CGC_LOG_ARGS(objArg,intIndex,intFlag = 0x0):
'''
功 能:CGC参数日志
'''
if type(objArg) is str and intFlag == 0x0:
CGC_Trace("入参%d='%s'" % (intIndex,objArg))
else:
if intFlag & 0x00000001:
CGC_Trace("入参%d=%s" % (intIndex,objArg))
elif intFlag & 0x00000010:
CGC_Trace("入参%d=%s" % (intIndex,'没有设置参数,赋值为:None'))
else:
CGC_Trace("入参%d=%s" % (intIndex,objArg))
#-------------------------------------------------------------------------------
#交易步骤代码
#-------------------------------------------------------------------------------
${body}
#-------------------------------------------------------------------------------
#交易函数入口
#-------------------------------------------------------------------------------
${entry}
</#if>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment