物料管理系统有哪些

物料管理系统有哪些,第1张

物料管理系统包括哪些?功能是什么?物料需求计划系统主要面向离散型制造企业的计划管理人员设计,提供MRP计算、MRP维护、MRP查询、库存状态查询、项目MRP计算、项目MRP查询等功能,并提供自动物料替代管理和计划员工作台。物料管理系统包括:企业配置:组织机构维护、工程/项目定义、流程定义、数据字典维护、企业物资标准编码库、业务配置、短信统计、日志查看;需求管理:投标用预算维护、施工用预算维护、物资需求总计划、年度计划、季度计划、月度计划、临时计划; 采购管理:采购计划申请、招标开标、中标通知书、合同评审签订、供货订单管理、到货验收、退货管理、合同结算、合同支付; 仓库管理:项目仓库维护、直进直出单、入库单、出库领用单、退库单、调拨单、借用单、归还单、盘点单、报损单、仓库库存统计; 合同管理:合同台账、合同变更、发票统计、供应商往来账款、合同结算统计、合同成本统计、应付未付账款;供应商管理:供应商准入及评审、供应商考核、供应商履约评价、供应商综合评价一览表、合格供应商名册;统计分析:预算执行汇总、物资成本汇总、合同明细执行、仓库库存统计、仓库盘点统计、供应商评价汇总、往来账款、采购价格统计分析、需求/采购/到货/入库/出库明细汇总统计、项目统计、分子公司统计、集团统计。物料管理系统主要功能:1、物料需求计划计算系统提供包括按主生产计划结果、全部计算、选销售订单/预测单计算、选物料计算、按计划员计算等多种方式在内的全面的物料需求计划计算功能,帮助企业快速、准确地制定采购和MRP产品生产计划,解决生产和采购什么、在什么时候生产和采购、利用什么生产的问题。2、运算参数设定系统提供多种预设的MRP方案,并提供多种计划范围、可自定义的MRP计算公式、灵活的预计量调整参数设定、可选的仓库计算范围,并提供了强大的合并参数设定,满足企业多样化的生产计划管理要求。并提供了锁单冲销算法和严格跟单算法,满足企业按单生产管理的需求。3、物料需求计划查询系统提供“需求反查”、“按销售订单查询计划订单”、“按物料查询计划订单”等丰富的物料需求计划查询方式,帮助企业生产计划人员详细查看物料需求计划的计算过程,了解需求来源,为后续物料需求计划的调整和维护提供依据。4、物料需求计划维护系统提供灵活的物料需求计划的调整和维护功能,可对计划订单进行合并、拆分、投放、批量维

/*建立学院物资管理系统的数据库*/

create database 学院物资管理系统

on

(name = Manager_dat,

filename = 'G:\SQL Data\e\Manager.mdf',

size = 5,

maxsize= 10,

filegrowth = 2)

/***************************建立员工表并且进行完整性约束***************************/

create table 员工表

(

员工号 char(10) primary key,

员工姓名 char(40) not null,

员工年龄 smallint check(员工年龄<70 and 员工年龄>15),

性别 char(2)check (性别 in ('男','女')) ,

家庭住址 char(40),

电话 char(12) check(isnumeric(电话)=1)

)

/*修改员工表的部分属性的定义*/

alter table 员工表 alter column 员工姓名 char(10)

alter table 员工表 alter column 家庭住址 char(30)

/*运用语句插入员工信息*/

insert 员工表 values ('06110001','张良','32','男','八一大道887号','3928101')

insert 员工表 values ('06110004','花黄','23','男','八一大道7号','3928434')

insert 员工表 values ('06110003','刘婷','22','女','双港大道12号','3928666')

insert 员工表 values ('06110005','王芳','36','女','莲花大道65号','3928766')

insert 员工表 values ('06110006','于民','51','男','中三大道3号','3928764')

insert 员工表 values ('06110002','古起','45','男','世纪花园9090号','3928234')

insert 员工表 values ('06110007','范瑛','34','女','世界花园887号','3928767')

insert 员工表 values ('06110008','吴泽','26','男','八一大道433号','3928145')

insert 员工表 values ('06110009','徐能','37','男','莲花大道87号','3928187')

/*通过员工编号建立升序索引*/

create index sup_idx1 on 员工表(员工号)

/***********************************建立供应商情况表***********************************/

create table 供应商情况表

(

供应商号 char(6) primary key ,

供应商名 varchar(40) not null,

供应商地址 varchar(40),

供应商电话 char(12) check(isnumeric(供应商电话)=1)

)

/*输入具体的供应商信息*/

insert 供应商情况表 values ('A0001','奥博文具有限公司','北京市海淀区经济开发区119号','212919899')

insert 供应商情况表 values ('A0004','爱都文具有限公司','上海市浦东区经济开发区23号','543534939')

insert 供应商情况表 values ('A0006','京二胡用品有限公司','北京市海淀区经济开发区65号','22322293')

insert 供应商情况表 values ('A0002','新势力体育用品有限公司','武汉市武昌区经济开发区80号','271719899')

insert 供应商情况表 values ('A0007','彪马有限公司','武汉市汉口区经济开发区11号','2125433344')

insert 供应商情况表 values ('A0008','耐克体育用品有限公司','北京市东城区经济开发区41号','21324664')

insert 供应商情况表 values ('A0009','李宁体育用品有限公司','南京市惶惶区经济开发区675号','21322221')

insert 供应商情况表 values ('A0010','每克体育用品有限公司','江苏市经济开发区2343号','21324545')

insert 供应商情况表 values ('A0011','安踏体育用品有限公司','杭州市经济开发区41号','21329645')

insert 供应商情况表 values ('A0012','卡帕体育用品有限公司','香港经济开发区43号','21322131')

insert 供应商情况表 values ('A0013','阿迪达斯体育用品有限公司','澳门市东城区经济开发区54号','21324657')

insert 供应商情况表 values ('A0014','匡威体育用品有限公司','台北市东城区经济开发区12号','21324345')

/*通过供应商号建立升序索引*/

create index sup_idx2 on 供应商情况表(供应商号)

/***************************************建立采购单表***************************************/

create table 采购单

(

采购单号 char(6) primary key check(ASCII(left(采购单号,1))>=65 and ASCII(left(采购单号,2))>=65),

员工号 char(10) foreign key references 员工表,

供应商号 char(6) foreign key references 供应商情况表,

采购日期 datetime

)

/*修改采购日期的定义*/

ALTER TABLE 采购单 alter column 采购日期 smalldatetime

/*输入具体的采购单信息*/

insert 采购单 values ('CG0001','06110001','A0008','2007-7-23')

insert 采购单 values ('CG0002','06110009','A0004','2006-4-3')

insert 采购单 values ('CG0003','06110009','A0006','2007-8-6')

insert 采购单 values ('CG0004','06110007','A0001','2008-4-3')

insert 采购单 values ('CG0005','06110006','A0002','2006-9-2')

insert 采购单 values ('CG0006','06110003','A0002','2008-10-8')

insert 采购单 values ('CG0007','06110005','A0001','2006-6-7')

insert 采购单 values ('CG0008','06110008','A0004','2007-5-5')

insert 采购单 values ('CG0009','06110002','A0006','2008-4-13')

insert 采购单 values ('CG0010','06110003','A0007','2006-4-26')

insert 采购单 values ('CG0011','06110001','A0002','2007-1-27')

insert 采购单 values ('CG0012','06110002','A0003','2006-7-7')

insert 采购单 values ('CG0015','06110008','A0006','2007-4-5')

insert 采购单 values ('CG0014','06110002','A0002','2008-11-13')

insert 采购单 values ('CG0013','06110003','A0006','2006-10-6')

insert 采购单 values ('CG0017','06110001','A0005','2007-3-7')

/*按员工号建立升序索引*/

create index sup_idx3 on 采购单(员工号)

/**************************************建立采购明细表************************************/

create table 采购明细表

(

序号 char(8) primary key,

采购单号 char(6) foreign key references 采购单,

物品编号 char(8) foreign key references 物资情况明细表,

数量 smallint check(数量>0)

)

/*输入具体的采购单信息*/

insert 采购明细表 values('20001','CG0001','50001','20')

insert 采购明细表 values('20002','CG0003','50003','10')

insert 采购明细表 values('20003','CG0002','50005','20')

insert 采购明细表 values('20004','CG0005','50006','20')

insert 采购明细表 values('20005','CG0006','50001','20')

insert 采购明细表 values('20006','CG0008','50007','30')

insert 采购明细表 values('20007','CG0009','50004','20')

insert 采购明细表 values('20008','CG0002','50001','40')

insert 采购明细表 values('20009','CG0003','50004','20')

insert 采购明细表 values('20010','CG0005','50001','120')

insert 采购明细表 values('20011','CG0011','50003','20')

/***************************************建立仓库表***************************************/

create table 仓库表

(

仓库号 char(5) primary key,

员工号 char(10) foreign key references 员工表,

仓库地址 varchar(40),

仓库电话 char(12) check(isnumeric(仓库电话)=1)

)

/*输入具体仓库信息*/

insert 仓库表 values('01','06110005','南区教学楼509','89891711')

insert 仓库表 values('02','06110001','北区教学楼411','12122121')

insert 仓库表 values('03','06110006','北区教学楼312','43891711')

insert 仓库表 values('04','06110009','西区教学楼119','43843212')

/*按仓库号建立升序索引*/

create index sup_idx4 on 仓库表(仓库号)

/**************************************建立物资情况明细表***************************************/

create table 物资情况明细表

(

物品编号 char(8) primary key,

物品名称 char(40) ,

仓库号 char(5) foreign key references 仓库表,

物品单价 SmallMoney,

数量 smallint check(数量>0)

)

/*输入具体物资信息*/

insert 物资情况明细表 values('50001','健身足球','03',convert(SmallMoney,89),'20')

insert 物资情况明细表 values('50002','健身篮球','01',convert(SmallMoney,165),'20')

insert 物资情况明细表 values('50005','田径排球','01',convert(SmallMoney,77),'20')

insert 物资情况明细表 values('50003','乒乓球','04',convert(SmallMoney,2),'200')

insert 物资情况明细表 values('50006','长毛毽子','02',convert(SmallMoney,6),'100')

insert 物资情况明细表 values('50008','彩色粉笔','02',convert(SmallMoney,3),'500')

insert 物资情况明细表 values('50009','红色黑板擦','03',convert(SmallMoney,7),'80')

insert 物资情况明细表 values('50004','教师钢笔','04',convert(SmallMoney,10),'250')

insert 物资情况明细表 values('50011','会议纪律本','02',convert(SmallMoney,15),'100')

insert 物资情况明细表 values('50007','便捷座椅','04',convert(SmallMoney,20),'50')

/*分别建立相应的索引:按物品编号、物品单价、数量*/

create index sup_idx5 on 物资情况明细表(物品编号)

create index sup_idx6 on 物资情况明细表(物品单价)

create index sup_idx7 on 物资情况明细表(数量)

/**************************************建立学生情况表***************************************/

create table 学生情况表

(

学生号 char(8) primary key ,

学生姓名 char(20),

性别 char(2) check(性别 in ('男', '女')),

年龄 int check (年龄 >0),

系别名称 char(20) not null check(系别名称 in ('土木工程系','机电工程系','经管系','信息工程系','外法系')),

所属校区 char(10) not null check(所属校区 in ('南昌校区','抚州校区'))

)

/*输入具体学生信息*/

insert into 学生情况表 values('70001','徐又能','女','27','土木工程系','抚州校区')

insert into 学生情况表 values('70003','张好猪','男','17','机电工程系','南昌校区')

insert into 学生情况表 values('70006','吴泽','女','21','经管系','抚州校区')

insert into 学生情况表 values('70002','往惶惶','男','21','外法系','南昌校区')

insert into 学生情况表 values('70004','刘青云','男','21','经管系','抚州校区')

insert into 学生情况表 values('70005','吴铁男','男','23','信息工程系','南昌校区')

insert into 学生情况表 values('70008','郭嘉','女','25','经管系','抚州校区')

insert into 学生情况表 values('70007','杜鹃','女','22','机电工程系','南昌校区')

insert into 学生情况表 values('70009','徐泽','男','22','外法系','抚州校区')

insert into 学生情况表 values('70013','六库一','男','21','信息工程系','南昌校区')

insert into 学生情况表 values('70011','无比','男','19','土木工程系','抚州校区')

insert into 学生情况表 values('70010','金元','女','17','信息工程系','南昌校区')

insert into 学生情况表 values('70012','安红','女','26','经管系','南昌校区')

/*建立索引*/

create index sup_idx8 on 学生情况表(学生号)

create index sup_idx9 on 学生情况表(年龄)

/**************************************建立登记表***************************************/

create table 登记表

(

登记序号 char(10) primary key ,

学生号 char(8) foreign key references 学生情况表 ,

物品编号 char(8) foreign key references 物资情况明细表,

数量 smallint check(数量>0),

更新时间 smalldatetime

)

/*输入详细信息*/

insert 登记表 values('200801','70003','50003','4','2008-5-3')

insert 登记表 values('200802','70001','50001','2','2008-2-3')

insert 登记表 values('200803','70002','50002','3','2008-5-4')

insert 登记表 values('200804','70006','50005','5','2008-5-6')

insert 登记表 values('200805','70004','50003','15','2008-2-5')

insert 登记表 values('200806','70007','50008','11','2008-3-4')

insert 登记表 values('200807','70008','50011','6','2008-5-26')

insert 登记表 values('200808','70007','50008','29','2008-3-14')

insert 登记表 values('200809','70009','50007','8','2008-5-11')

insert 登记表 values('200810','70005','50001','6','2008-5-13')

insert 登记表 values('200811','70012','50008','7','2008-5-23')

/*建立索引*/

create index sup_idx10 on 登记表(学生号)

create index sup_idx11 on 登记表(数量)

create index sup_idx12 on 登记表(登记序号)

/**************************************建立视图***************************************/

/*建立员工表v_yg视图**/

create view v_yg as select * from 员工表

/*建立供应商情况表v_gys视图**/

create view v_gys as select * from 供应商情况表

/*建立采购单v_cg视图**/

create view v_cg as select * from 采购单

/*建立采购明细表v_cgmx试图*/

create view v_cgmx as select * from 采购明细表

/*建立仓库表v_ck视图**/

create view v_ck as select * from 仓库表

/*建立物资情况明细表v_wz视图**/

create view v_wz as select * from 物资情况明细表

/*建立登记表v_dj视图**/

create view v_dj as select * from 登记表

/*建立学生情况表v_xs视图**/

create view v_xs as select * from 学生情况表

/*****建立采购情况视图表******/

create view v_cgqk as

select 采购单.采购单号,采购明细表.物品编号,数量,员工表.员工号,员工姓名,员工年龄,电话,供应商名,供应商地址,供应商电话,采购日期

from 员工表,供应商情况表,采购单,采购明细表

where 员工表.员工号= 采购单.员工号 and

供应商情况表.供应商号 = 采购单.供应商号 and

采购明细表.采购单号 = 采购单.采购单号

/*****建立物资存放情况视图****/

create view v_kcqk as

select 物品编号,物品名称,物品单价,数量,仓库表.仓库号,仓库地址,仓库电话,员工表.员工号,员工姓名,员工年龄,电话

from 物资情况明细表,仓库表,员工表

where 物资情况明细表.仓库号 = 仓库表.仓库号 and

员工表.员工号 = 仓库表.员工号

/*****建立学生借物资情况视图表******/

create view v_xsjwz as

select 登记序号,学生情况表.学生号,学生姓名,系别名称,物资情况明细表.物品编号,物品名称,物品单价,登记表.数量,更新时间

from 物资情况明细表,登记表,学生情况表

where 物资情况明细表.物品编号 = 登记表.物品编号 and

学生情况表.学生号 = 登记表.学生号

/************************************建立存储过程******************************/

/*通过学生号查询学生情况表*/

create proc xs_getmp 1

(@num char(8)=NULL)

as

if @num is NULL

begin

print ' 必须提供一个学生号! '

return 13

end

if not exists(select * from v_xs where 学生号=@num)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from 学生情况表 where 学生号=@num

execute xs_getmp 1 '70004'

/*通过物品名称查询物资情况明细表的存储过程*/

create proc wz_getmp 1

(@name char(40)=NULL)

as

if @name is NULL

begin

print ' 你必须提供一个物品名称来进行查询! '

return 13

end

if not exists(select * from 物资情况明细表 where 物品名称=@name)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from 物资情况明细表 where 物品名称=@name

execute wz_getmp 1 '乒乓球'

/*通过员工号来查询职工经手的采购单信息的存储过程*/

create proc cgqk_getmp 1

(@yg_num char(10) =NULL)

as

if @yg_num is NULL

begin

print ' 你必须提供一个员工号来进行查询! '

return 13

end

if not exists(select * from v_cgqk where 员工号=@yg_num)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from v_cgqk where 员工号=@yg_num

execute cgqk_getmp1 '06110009'

/*通过物品编号来查询物品信息以及所在仓库信息的存储过程*/

create proc kcqk_getmp 1

(@wp_num char(10) =NULL)

as

if @wp_num is NULL

begin

print ' 你必须提供一个物品编号来进行查询! '

return 13

end

if not exists(select * from v_kcqk where 物品编号=@wp_num)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from v_kcqk where 物品编号=@wp_num

execute kcqk_getmp1 '50004'

/*通过物品编号来查询该物品明细信息*/

create proc kcqk_getinf1

(@wp_num char(10) =NULL)

as

if @wp_num is NULL

begin

print ' 你必须提供一个物品编号来进行查询! '

return 13

end

if not exists(select * from 物资情况明细表 where 物品编号=@wp_num)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from 物资情况明细表 where 物品编号=@wp_num

exec kcqk_getinf1 '50002'

/*通过学生号来查询登记记录的信息的存储过程*/

create proc xsjwz_getmp 1

(@xs_num char(10) =NULL)

as

if @xs_num is NULL

begin

print ' 你必须提供一个学生号来进行查询! '

return 13

end

if not exists(select * from v_xsjwz where 学生号=@xs_num)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from v_xsjwz where 学生号=@xs_num

exec xsjwz_getmp1 '70007'

/*通过输入学生的姓名查询某学生的借进的情况*/

create proc xsjwz_getmp 2

(@xs_name char(20) =NULL)

as

if @xs_name is NULL

begin

print ' 你必须提供一个学生姓名来进行查询! '

return 13

end

if not exists(select * from v_xsjwz where 学生姓名=@xs_name)

begin

print ' 没用满足条件的记录! '

return 0

end

select * from v_xsjwz where 学生姓名=@xs_name

exec xsjwz_getmp2 '安红'

/*输入物品的数量来查询大于此数量的借出情况*/

create proc xsjwz_getimf 1

(@wp_count smallint)

as

select * from v_xsjwz where 数量>=@wp_count

exec xsjwz_getimf1 10

/************************************建立触发器******************************/

/*实现仓库更新、插入的数据完整性约束*/

create trigger ck_gl

on 仓库表

for insert,update

as

declare @yg_num char(10),@ck_num char(5)

select @yg_num = 员工号,@ck_num = 仓库号 from inserted

if exists(select * from 仓库表 where 员工号= @yg_num and 仓库号<>@ck_num)

begin

raiserror('该职工已经在这个仓库工作',16,1)

rollback transaction

end

insert 仓库表 values('05','06110007','北区教学楼211','9812911189')

insert 仓库表 values('06','06110008','北区教学楼121','9231311121')

/*实现新增物资采购单明细表登记*/

create trigger wz_insert

on 采购明细表 for insert

as

declare @wp_num char(8)

declare @count int

declare @TotalCount int,@NewTotalCount int

select @TotalCount =数量 from 物资情况明细表 where 物品编号=(select 物品编号 from inserted)

select @wp_num=物品编号 from 物资情况明细表 where 物品编号=(select 物品编号 from inserted)

if @wp_num =''

begin

print '非法物资编号!'

rollback transaction

end

else

select @count=数量 from inserted

update 物资情况明细表 set 数量=@TotalCount+@count where 物品编号=(select 物品编号 from inserted)

insert 采购明细表 values('20019','CG0004','50004','43')

/*实现新增学生借出登记 *** 作*/

create trigger dj_insert

on 登记表

for insert

as

declare @xs_num char(8)

declare @count int

declare @TotalCount int,@NewTotalCount int

--select @shuliang=数量 from 登记表

select @TotalCount =数量 from 物资情况明细表 where 物品编号=(select 物品编号 from inserted)

select @xs_num=学生号 from 学生情况表 where 学生号=(select 学生号 from inserted)

if @xs_num=''

begin

print '非法学生号!'

rollback transaction

end

if not exists (select * from 物资情况明细表 where 物品编号=(select 物品编号 from inserted))

begin

raiserror('非法物品编号!',1,1)

rollback transaction

end

else

select @count=数量 from inserted

update 物资情况明细表 set 数量=@TotalCount-@count where 物品编号=(select 物品编号 from inserted)

select @NewTotalCount =数量 from 物资情况明细表 where 物品编号=(select 物品编号 from inserted)

if @NewTotalCount<=0

begin

print '该物品已经用完'

rollback transaction

end

insert into 登记表 values('200820','32332322','50004','2','2008-10-2')

我自己写的,希望对你有帮助

所谓物资管理,是指企业在生产过程中,对本企业所需物资的采购、使用、储备等行为进行计划、组织和控制。物资管理的目的是,通过对物资进行有效管理,以降低企业生产成本,加速资金周转,进而促进企业盈利,提升企业的市场竞争能力。企业的物资管理,包括物资计划制订、物资采购、物资使用和物资储备等几个重要环节,这些环节环环相扣、相互影响,任何一个环节出现问题,都将对企业的物资供应链造成不良影响。

8Manage物资采购管理系统提供物资入库、出库、物资统计等功能,实现对采购发票、运费发票的录入、结算、付款的全过程流程化管理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/6043926.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-12
下一篇2023-03-12

发表评论

登录后才能评论

评论列表(0条)

    保存