22,206
社区成员
发帖
与我相关
我的任务
分享
BEGIN
SET @P_APPLY_NO = '';
SET @P_OUT_MSG = '';
--1、@P_COMPANY_CODE(归属企业十位代码)+@P_RELATION_COMPANY_CODE(关系企业十位代码)+@P_FILE_TYPE查询单证类型,判断其是否存在
--1.1 如果不存在,直接RETURN,不用报错,对方可能文件比我们多,如果我们没有配置,表示我们不需要,不需要的文件,我们不报错,不处理就好。
IF NOT EXISTS(
SELECT 1 FROM dbo.DAM_BGD_FILE_TYPE WHERE COMPANY_CODE=@P_COMPANY_CODE AND RELATION_COMPANY_CODE=@P_RELATION_COMPANY_CODE
AND PAGE_TYPE='FILE_TYPE'
AND TYPE=@P_FILE_TYPE
)
BEGIN
RETURN ;
END
--2、@P_COMPANY_CODE(归属企业十位代码)+@P_RELATION_COMPANY_CODE(关系企业十位代码)+@P_FILE_TYPE查询命名规则,判断其是否存在
--2.1 如果存在,记录好 前缀、后缀、连接符,供后面使用。
--2.2 如果不存在,报错退出。
IF NOT EXISTS(
SELECT 1 FROM dbo.DAM_BGD_FILE_TYPE WHERE COMPANY_CODE=@P_COMPANY_CODE AND RELATION_COMPANY_CODE=@P_RELATION_COMPANY_CODE
AND PAGE_TYPE='FILE_NAME'
AND TYPE=@P_FILE_TYPE
)
BEGIN
SET @P_OUT_MSG='不存在命名规则';
RETURN
END
BEGIN TRY
BEGIN TRAN TRANS
SELECT @V_APPLY_NO=APPLY_NO,@V_HEAD_GUID=GUID FROM dbo.DAM_BGD_INFO
WHERE COMPANY_CODE=@P_COMPANY_CODE
AND RELATION_COMPANY_CODE=@P_RELATION_COMPANY_CODE
AND ENTRY_ID=@P_ENTRY_ID
IF ISNULL(@V_HEAD_GUID,'') = '' ---说明没有数据,新增表头
BEGIN
EXEC dbo.PRO_DAM_BGH_INSERT_WDGL_HEAD @P_COMPANY_CODE = @P_COMPANY_CODE, -- varchar(20)
@P_I_E = @P_I_E, -- varchar(5)
@P_M_P = @P_M_P, -- varchar(5)
@P_D_DATE = @P_D_DATE, -- varchar(100)
@P_BOND_INVT_NO =@P_BOND_INVT_NO, -- varchar(50)
@P_ENTRY_ID = @P_ENTRY_ID, -- varchar(18)
@P_DEFAULT_BIZ_TYPE = @P_DEFAULT_BIZ_TYPE, -- varchar(50)
@P_CONTROL_NO =@P_CONTROL_NO, -- varchar(255)
@P_CONTRACT_NO =@P_CONTRACT_NO, -- varchar(255)
@P_RELATION_COMPANY_CODE = @P_RELATION_COMPANY_CODE, -- varchar(36)
@P_DCLCUS_FLAG = '', -- varchar(1)
@P_DCLCUS_TYPECD = '', -- varchar(25)
@P_USER_NO = '', -- varchar(50)
@P_APPLY_NO = @P_APPLY_NO OUTPUT, -- varchar(50)
@P_OUT_MSG = @P_OUT_MSG OUTPUT, -- varchar(500)
@P_OUT_LOG = @P_OUT_LOG OUTPUT -- varchar(1000)
IF ISNULL(@P_APPLY_NO,'')=''
BEGIN
RAISERROR ('Error raised in TRY block.', -- Message text.
16, -- Severity.
1 -- State.
);
END
END
IF ISNULL(@P_DEFAULT_BIZ_TYPE,'')=''
BEGIN
SET @P_DEFAULT_BIZ_TYPE='ENTRY_ID';
END
EXECUTE dbo.PRO_DAM_INSERT_WDGL_DETAIL @P_APPLY_NO = @P_APPLY_NO, -- varchar(50)
@P_FILE_TYPE = @P_FILE_TYPE, -- varchar(20)
@P_FILE_PATH = @P_FILE_PATH, -- varchar(255)
@P_FILE_EXT = @P_FILE_EXT, -- varchar(10)
@P_BIZ_TYPE = @P_DEFAULT_BIZ_TYPE, -- varchar(36) ---默认关联单类型
@P_FILE_SOURCE = '', -- varchar(50)
@P_FILE_SIZE = @P_FILE_SIZE, -- float
@P_FILE_NO = '', -- varchar(50)
@P_OUT_FILE_PATH=@P_WDGL_FILE_PATH OUTPUT,
@P_OUT_MSG = @P_OUT_MSG OUTPUT -- varchar(500)
IF ISNULL(@P_OUT_MSG,'')<>''
BEGIN
RAISERROR ('Error raised in TRY block.', -- Message text.
16, -- Severity.
1 -- State.
);
END
EXECUTE dbo.PRO_DAM_BGY_CHECK_AND_INSERT_SEND_TASK
@P_APPLY_NO=@P_APPLY_NO,
@P_OUT_MSG = @P_OUT_MSG OUTPUT -- varchar(500)
END TRY
BEGIN CATCH
IF ISNULL(@P_OUT_MSG,'')=''
BEGIN
---说明没有错误--
COMMIT TRANSACTION TRANS
END
ELSE
BEGIN
---///-----------
ROLLBACK TRANSACTION TRANS
END
END CATCH;
END
,这是具体存储求来个大佬看一下