上线时借款余额初始化功能的标准实施方案

业务场景:

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

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 @[email protected]+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 [email protected]_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、完成,在报销单中即可冲销上面的借款。

时间: 2024-10-09 05:48:51

上线时借款余额初始化功能的标准实施方案的相关文章

功能点标准

何谓标准单位?标准单位即用于衡量所关注对象的某一属性时采用的尺度.例如,使用"平方米"衡量面积,使用"米"衡量长度:使用"千克"衡量重量等.因为此处的"米"或"米" 在实际操作中不存在二义性,所以就可以使用"米"或"千克"来描述我们所关心对象的长度或者重量.而功能模块.代码行.用例数.需求数在实际的操作过程中并不具备标准单位的属性,只能被认为是衡量软件系统规模的粗略尺

IIS8.0 配置应用程序初始化功能

IIS进程回收后,第一次访问会超级慢,这对于用户是不能接受的,怎么解决这个问题? 我们不能设置IIS不回收进程,因为这样可能会导致IIS内存泄漏.有效的方法时,尽量在业务空闲时间回收进程,回收后立刻预加载程序,尽量不让客户命中进程回收的第一次访问. IIS8应用程序安装.配置如下: IIS7.5参考:http://www.cnblogs.com/50614090/p/8808433.html 一.安装IIS应用程序初始化功能 二.配置 1.设置应用程序池的启动模式 2.启用站点的预加载 3.设置

微信“为盲胞读书”项目上线“团体领读”新功能

近日,微信团队宣布上线“团体领读”新功能,团体领读是对于“为盲胞读书”项目的一次升级,参与组织单位可从微信领取一个团体代码,选择读书段落.为盲胞读书项目有一个公众号,鼓励关注用户每人一分钟,让盲胞有书可读.通过语音功能,朗读一小段文字,你就可以成为声音的捐献者,为盲胞制作充满温暖的有声书. 用户进入“为盲胞读书”公众号,输入团体代码,即可随时随地与同事.客户.周边朋友阅读同一本书籍,合力为视障群体读书.腾讯微信事业群技术顾问杨强表 示,微信按照段落分发给用户,收集一分钟的声音后,利用智能处理技术

Delphi 快速初始化功能树(cxTreeView)

//快速初始化功能树procedure InitTree;var  doc: IXMLDOMDocument;  Node, ChildNode: IXMLDOMNode;  NodeList: IXMLDOMNodeList;  i, Index: Integer;  id,mc,parentid,level: string;    List: TStringList;  TreeNode: TTreeNode;begin  if not FileExists(applicationDir +

使用maven多模块来构建系统时,spring初始化报错的问题

最近在实验maven结构的maven工程时,碰到一个问题,springbean总是初始化失败: Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userMapper' defined in file [D:\workspace\mavenweb\mavenweb-webapp\src\main\webapp\WEB-INF

开发直播app 软件时iOS端广告功能设置

在直播app 软件中启动广告与引导图是目前主流app中非常常见的功能,这里简单提供一个开发直播app 软件时iOS端实现app引导图或者启动广告的思路,新建一个viewcontroller来实现.首先,appDelegate里面稍作改动,添加如下方法 - (void)openGuideVC{ ? ? GuideVC *FirstVC = [[GuideVC alloc] init]; ? ? UINavigationController *firstNav = [[UINavigationCon

微信上线朋友圈屏蔽提醒功能

你的朋友圈是不是经常被某些人的鸡汤文.装*图充斥着,直接屏蔽不看他的朋友圈也不是良策,现在好了,微信官方上线了朋友圈屏蔽提醒功能,对于朋友圈内发信息过于频繁的用户,,尤其是消息中经常出现美女图片.鸡汤.“卖”等内容,微信官方将会在消息下方出现“若对他的内容不感兴趣,可轻触此处设置权限”的提示. 除了这条提示外,在朋友圈长按用户头像时,会直接出现“设置朋友圈权限”.“举报”.“取消”等选项(苹果和安卓设备的弹出内容略有差异),进一步方便用户随手屏蔽不想看到的内容和用户. 朋友圈屏蔽提醒功能,不仅有

猎豹MFC--拦截消息SetWindowsLong CallWindowsProc控件不能满足我们的需求时 增加修改这些功能

修改现有控件的功能->子类化技术 只能输入字符 而不能输入别的类型----------------拦截消息 两个函数SetwindowsLong() CallWindowsProc() 下面的  小控件都是 一个小窗口 是窗口就有自己的窗口过程,可以给其一个新的额窗口过程把原来的窗口过程替换掉,用新窗口过程处理他的消息 ,即把原来的消息拦截下来,用新的窗口过程来处理 修改ID后添加C++的类: 在新类中声明函数 在主文件中包含新类的头文件 和声明全局变量: 在初始化对话框中 把新窗口(即文本框)

App 上线时的自动截图方案

> * 原文链接 : Screenshots Through Automation * 作者 : Flavien Laurent * 译者 : chaossss * 校对者: sundroid * 状态 : 校对完成 在发布 App 到应用商店时有一件的事情不得不做,就是上传最新的高清无码截图到应用商店上.可是如果你的 App 有许多页面,那你每次发布更新都可能是一场梦魇,因为你需要一页一页地去截图.为了解决众多 App 开发者的这个痛点,我将在这篇博文中介绍一个实现自动化截图的方法: 刚到 C