上线时借款余额初始化功能的标准实施方案
admin
2023-07-30 15:20:05
0次

业务场景:

    上线时,客户往往在财务软件中还有个人借款余额,通常希望能导入到费控系统,这样填写报销单时,能够冲销原来手工借支的款项。基于此目的,我们提供了下面的标准实施方案来解决。


1、确保数据库中有借款余额表(TLOAN_INIT)

CREATE TABLE [dbo].[TLOAN_INIT](
	[LI_ID] [varchar](50) NOT NULL,
	[LI_USER] [varchar](50) NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_USER]  DEFAULT (''),
	[LI_SUBJECT_FEE] [varchar](50) NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_SUBJECT_FEE]  DEFAULT (''),
	[LI_AMOUNT] [numeric](18, 2) NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_AMOUNT]  DEFAULT ((0)),
	[LI_REMARK] [varchar](2000) NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_REMARK]  DEFAULT (''),
	[LI_CREATE_DATETIME] [datetime] NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_CREATE_DATETIME]  DEFAULT (getdate()),
	[LI_ACTIVE] [char](1) NOT NULL CONSTRAINT [DF_TLOAN_INIT_LI_ACTIVE]  DEFAULT ('N'),
 CONSTRAINT [PK_TLOAN_INIT] PRIMARY KEY CLUSTERED 
(
	[LI_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

2、通过自定义扩展页面导入,或者excel提单导入的方式,把客户整理好的借款余额数据,导入到上面的表中


3、执行存储过程(p_uf_InitLoanAmount),处理借款余额表,把数据写入单据主表和明细表,基本原理是虚拟一张借款单出来。

CREATE proc p_uf_InitLoanAmount
as
begin

declare @li_id varchar(50)=''
declare @user_id varchar(50)=''
declare @fee_id varchar(50)=''
declare @amount float=0
declare @remark varchar(50)=''
declare @bill_id varchar(50)=''
declare @bill_no varchar(50)=''
declare @project_id varchar(50)=''

declare @i int=0

--创建虚拟单号
set @bill_no='LI'+CAST(DATEPART(year,GETDATE()) AS VARCHAR(50))+'-'+CAST(DATEPART(MONTH,GETDATE()) AS VARCHAR(50))+'-'+CAST(DATEPART(DAY,GETDATE()) AS VARCHAR(50))
	  +'-'+CAST(DATEPART(HOUR,GETDATE()) AS VARCHAR(50))+'-'+CAST(DATEPART(minute,GETDATE()) AS VARCHAR(50))+'-'+CAST(DATEPART(second,GETDATE()) AS VARCHAR(50))

--循环写入,并改写标志位,避免重复导入	  	  
select * from tloan_init
DECLARE loan_init_Cursor CURSOR FOR
SELECT li_user,li_subject_fee,li_amount,li_remark,li_id ,LI_PROJECT from tloan_init where li_active='N';
OPEN loan_init_Cursor;
FETCH NEXT FROM loan_init_Cursor into @user_id,@fee_id,@amount,@remark,@li_id,@project_id;
WHILE @@FETCH_STATUS = 0
   BEGIN
	  set @i=@i+1
	  
	  set @bill_id=NEWID()
	  
	  --写入表表
	  insert into TBILL (BILL_NO,BILL_ID,BILL_TEMPLATE_TYPE,BILL_USER,BILL_AMOUNT,BILL_FLAG,BILL_REMARK,bill_project)
		values (@bill_no+RIGHT(@bill_id,4),@bill_id,'T-L',@user_id,@amount,'CLOSE',@remark,@project_id)
          
            --写入明细表
	   insert into TBILL_CONTENT (BILLC_BILL_ID,BILLC_SEQ,BILLC_USER,BILLC_SUBJECT_FEE,BILLC_AMOUNT,BILLC_LAMOUNT,BILLC_TYPE,billc_project)
		values (@bill_id,1,@user_id,@fee_id,@amount,@amount,'临时借款',@project_id)
            
            --更新标志位
	    update tloan_init set li_active='Y' where li_id=@li_id
	
	
	  	
      FETCH NEXT FROM loan_init_Cursor into @user_id,@fee_id,@amount,@remark,@li_id,@project_id;
   END;
CLOSE loan_init_Cursor;
DEALLOCATE loan_init_Cursor;

select CAST(@i as varchar(50))+' 行数据导入完成'

end

4、完成,在报销单中即可冲销上面的借款。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...