ylbtech-dbs:ylbtech-5,RI(报销发票系统)

ylbtech-dbs:ylbtech-5,RI(报销发票系统)

-- =============================================
-- DatabaseName:PurpleReibursementInvoices(RI)
-- Desc: 报销发票系统
-- Model:
-- pubdate:11:11 2015/3/9
-- author:Yuanbo
-- 记录排除原则
-- 账户记录表原则
-- 字段备注原则 原部门、审核人、角色,数据不可更改原则。
-- =============================================

1.A,数据库关系图(Database Diagram) 返回顶部
1.B,数据库设计脚本(Database Design Script)返回顶部

1.B.1,

-- =============================================
-- DatabaseName:PurpleReibursementInvoices(RI)
-- Desc: 报销发票系统
-- Model:
-- pubdate:11:11 2015/3/9
-- author:Yuanbo
-- 记录排除原则
-- 账户记录表原则
-- 字段备注原则 原部门、审核人、角色,数据不可更改原则。
-- =============================================
USE master
GO

-- Drop the database if it already exists
IF  EXISTS (
    SELECT name
        FROM sys.databases
        WHERE name = N‘PurpleRI‘
)
DROP DATABASE PurpleRI
GO

CREATE DATABASE PurpleRI
GO
use PurpleRI
go
-- =============================================
-- ylb:管理员 账户验证方式(账号+密码+U盾)【后期把这个库分开,数据名为:PurpleAccount】
-- 密码上下级管理模式
-- =============================================
create table Account
(
accountId int,    --编号【FK】员工表ID
pwd varchar(400) not null,        --密码
[guid] uniqueidentifier,    --Guid 用于商户编号(U盾身份验证)
[disable] bit, --状态 0:正常;1:禁用
[type] varchar(400)    --模块类型 admin|member
)
go
-- =============================================
-- ylb:账户记录表
-- =============================================
create table AccountRecord
(
accountRecordId int identity(101,1),    --编号【ID,PK】
accountId int,    --帐号ID【FK】
pwd varchar(400) not null,        --密码【不加密】
addType varchar(400),    --添加|修改类型 用户创建|修改密码
pubdate datetime default(getdate()),    --工作日期
addAccountId int,    --添加|修改账户ID【FK】
[type] varchar(400)    --模块类型 admin|member
)

go
-- =============================================
-- ylb:1,部门表
-- =============================================
create table Department
(
departmentId int primary key identity(101,1),    --编号【PK】
departmentName varchar(400),        --部门名称

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int    --账户ID【FK】
)
/*
go
-- =============================================
-- ylb:1,职位表
-- =============================================
create table Job
(
jobId int primary key identity(101,1),    --编号【PK】
jobName varchar(400),        --职位名称

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int    --账户ID【FK】
)
*/
go
-- =============================================
-- ylb:1,职位表(角色表)
-- 规则:一个部门只允许一个审批角色
-- =============================================
create table [Role]
(
roleId int primary key identity(101,1),    --编号【PK】
roleName varchar(400),        --角色名称 审批主管|普通职员

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int    --账户ID【FK】
)

go
-- =============================================
-- ylb:2,员工表
-- =============================================
create table Employee
(
employeeId int primary key identity(1001,1),    --编号【PK】
[id] varchar(40),        --身份证号
username varchar(400),    --姓名
sex varchar(40),        --性别 男|女
cardNo varchar(400),    --银行卡号
hireDate datetime,        --受雇日期
[status] varchar(400),        --状态(在职,离职,退休)
retirementDate datetime,    --退休(离职)日期

pubdate datetime,        --添加时间
zIndex varchar(40),--字母检索

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int,    --账户ID【FK】
departmentId int,        --部门编号
)
go
-- =============================================
-- ylb:3.1,发票科目表
-- =============================================
create table Project
(
projectId int primary key identity(100,1),    --编号【PK】
projectName varchar(20),        --项目名称
salary money,        --福利金额
type char(20),        --发放形式(一次性发放,多次性发放)
pubdate datetime     --项目时间
)
go

GO
-- =============================================
-- ylb:1,发票表
-- =============================================
create table Invoice
(
invoiceId int primary key identity(1000,1),    --编号【PK,ID】
invoiceType varchar(200),    --发票类型 -1:不开发票;0:个人;1:公司
invoiceTitle varchar(200),    --发票抬头
invoiceSubject varchar(200), --发票科目 1=商品明细、2=服装、3=皮具、4=箱包、5=化妆品、6=鞋、7=饰品、8=家居用品、9=珠宝

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int,    --账户ID【FK】
memberId int    --员工ID【FK】
)
GO
-- =============================================
-- ylb:1,账户表
-- =============================================

GO
-- =============================================
-- ylb:1,领取记录表
-- =============================================

go
-- =============================================
-- ylb:4,发放记录表
-- 数据具有不可修改的特性,敏感字段应以旧称的形式体现。
-- =============================================
create table AmountIssuing
(
amountIssuingId int primary key identity(1,1),    --编号【PK】
oldDepartmentName varchar(400),    --部门名称(旧称)
oldUsername varchar(400),            --员工姓名(旧称)
oldId varchar(400),                    --身份证号(旧称)

kaiJiId int,    --经办会计
kaiJiZhuGuanId int,    --主管会计

kaiJiName varchar(400),    --经办会计
kaiJiZhuGuanName varchar(400),    --主管会计

projectId int,            --项目编号【FK】
salary money,            --发放金额
pubdate datetime,        --发放日期

remark varchar(400),    --备注

disable bit    default(0),    --是否禁用 0:正常;1:禁用

accountId int,    --账户ID【FK】
departmentId int,        --部门编号
memberId int    --员工ID【FK】disable bit    default(0),    --是否禁用 0:正常;1:禁用
)

1.B.2,

1.C,功能实现代码(Function Implementation Code)返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
时间: 2024-12-09 04:16:01

ylbtech-dbs:ylbtech-5,RI(报销发票系统)的相关文章

“营改增”后你该知道的…代开发票需要知道的16个事项

2015-09-09       来源:中国税网       作者:王亚南       字号:   分享到: 100 一.代开增值税专用发票的9个问题    1.哪些纳税人可以代开专票?    <国家税务总局关于印发〈税务机关代开增值税专用发票管理办法(试行)〉的通知>(国税发[2004]153号)第二条规定,本办法所称代开专用发票是指主管税务机关为所辖范围内的增值税纳税人代开专用发票,其他单位和个人不得代开.    第五条规定,本办法所称增值税纳税人是指已办理税务登记的小规模纳税人(包括个体

92. 基于Notes/Domino的文档工作流系统(四)

现在我们以演示的采购工作流来研究工作流系统的设计.本文将讨论一个通用的工作流"引擎"包含哪些功能.通过需求分析和梳理,我们已经获得如下的流程图.由此可知该流程由一组状态.与状态对应的一组用户和流程处于某种状态时当前用户所能进行的若干操作组成. 接下来逐个分析这些操作.首先看IT部门的起草人填完采购单后提交.此时流程系统须做以下工作: 校验必填字段. 生成采购单号. 修改采购单状态为Waiting For IT Approval. 将流程的当前处理人由起草人改为负责审批的IT Leade

Linux系统——MySQL基础(一)

# 数据库 ## 数据库简单的分类:(1)关系型数据库:MySQL和Oracle.Postgresql(2)非关系型数据库:Memcached和Redis(3)消息队列中间件(4)搜索引擎数据库:ElasticSearch(5)时间序列数据库:InfluxDB(6)列数据库:Hbase(7)图形数据库:MongoDB 系型数据库 SQL数据库数据和数据之间是有关系的,通过关系能够将一系列数据都提取出来.关系型 数据库可以通过一条数据关联出一堆数据,如此一来,方便数据的检索和查询,提高开发人员的查

PHP实现数字金额转中文金额

 解决发票系统中,发票单上需要填写中文金额的问题:  function ToChineseNum($num) {         $zh_num = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];         $zh_unit = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟'];         if (!is_numeric(str_repl

WebService优点和缺点小结(转)

一.什么是WebService? 实际上,WebService的主要目标是跨平台的可互操作性.为了达到这一目标,WebService完全基于XML(可扩展标记语言).XSD (XMLSchema)等独立于平台.独立于软件供应商的标准,是创建可互操作的.分布式应用程序的新平台. 二.WebService的优点 优点一:跨防火墙的通信 举个例子, 在应用程序里加入一个新页面,必须先建立好用户界面(Web页面),并在这个页面后面,包含相应商业逻辑的中间层组件,还要再建立至少一个ASP页面,用 来接受用

什么情况下应该使用Web Service?

现在我将列举三种情况,在这三种情况下,你将会发现使用Web service会带来极大的好处.此后,我还会举出不应该使用Web service的一些情况. 跨越防火墙的通信 如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题.那是因为客户端和服务器之间通常都会 有防火墙或者代理服务器.在这种情况下,你想使用DCOM就不是那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中. 于是,你最终选择了用浏览器作为客户端,

WebService到底是什么?

一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),这里

WebService究竟是什么?

一.序言 大家或多或少都听过WebService(Web服务),有一段时间非常多计算机期刊.书籍和站点都大肆的提及和宣传WebService技术,当中不乏非常多吹嘘和做广告的成分.可是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService究竟是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦client应用程序,一种是基于浏览器的富client应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如如今非常流行的Ht

Webservice简单概念

一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),