家乐福物流配送管理信息系统分析与设计方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
一、开发背景2
1.1目前中国连锁超市的物流配送的显著特征2
1.2从连锁超市物流配送现状看存在的问题2
二、系统分析3
2.1开发目标3
2.2建立物流配送系统的必要性3
2.3系统开发的可行性分析4
三、需求分析5
3.1系统目标5
3.2主要功能5
3.3业务流程分析6
3.4数据流程图7
3.5数据字典卡片8
3.6处理逻辑描述15
四、系统设计17
4.1功能结构图17
4.2输入、输出设计17
4.3代码设计21
五、系统实施31
六、心得体会34
一、开发背景
1.1目前中国连锁超市的物流配送的显著特征
1)自建配送中心偏多,自营配送模式占主导我国零售连锁超市不论大小都青睐于自建配送中心自营配送。

据相关资料,到2007年底,我国零售连锁超市的配送中心已近2500家,其中自建的就达1500多家。

很多超市没有考虑到自身的规模原来就小,没有充分的资金来建设和运作配送中心,从而导致许多配送中心根本不能达到超市配送的
需求。

不仅导致配送效率低,统一配送率不高,还浪费了许多的物流资源。

2)商品种
类多,配送要求高,配送效果不尽人意零售业连锁超市销售的商品的品种繁
多,涉及食品、日用品、家居装饰等,决定了对配送的要求高。

如对于冷冻食品在运输和仓储过程中要有严格的卫生和保温措施——食品冷链物流。

我国第三方物流企业水平参差不齐,物流配送的整体水平偏低。

所以,超市也难以选择到比较适合的第三方物流企业。

从而导致选择第三方物流配送模式的超市很少,物流配送的标准也不高。

总之,不论供应商直接配送模式还是第三方物流模式,因企业实力与配送服务水平偏低,致使配送效果大多不尽人意。

3)统一配送率低,运作难度高,传统物流资源难以适应零售业连锁
超市的配送量波动大,订货频率高,时间要求相对也比较严格。

物流零售企业的销售量受随机因素和其他人为因素(如促销>影响较大,造成门店的配送量波动大。

对于仓储空间等资源有限的门店,一般要依靠提高配送频率来满足需求,有些小型便利店甚至要求一天送货两次,而且配送过程有时间窗限制,如限定某个时段到货。

同时,目前零售业连锁超市,统一配送率低,缺乏高效率的物流配送,导致物流成本高,商品物流成本占销售额的比例在百分之十几甚至更高。

运作难度的增大,使传统的以单一运输和仓储为主业的物流企业难以适应。

1.2从连锁超市物流配送现状看存在的问题
针对我国连锁超市的现状,可以将我国连锁超市存在的问题归结为以下几点:1)对物流配送认识存在误区一些企业对于物流配送认识肤浅,视之为简单的“配货”和“送货”,没有真正形成以客户为中心的服务理念。

事实上连锁经营超市的统一配送是其核心竞争力的重要组成部分,配送作为企业内部上通下联的节点,是企业提高效率、降低成本的重要因素,配送效率的高低将直接影响到连锁经营超市的经营效益。

2)配送中心的配送比率低,配送成本高
目前除了一些大型、知名企业外,大多数连锁经营超市的配送比率较低,即时配送率更低,配送的差错率和残损率也较高,这些问题对于超市中销售比重日渐增加的生鲜食品和其他快速消费品而言无疑是致命的缺陷,最终造成了“统一采购、统一配送、统一结算”的连锁经营模式有名无实。

3)配送中心设施落后、功能不全由于现代化配送中心需要高额资本投入,且回收期较长,因此一些企业将原有的仓库简单地改造为配送中心,机械、自动化设施严重缺乏,货物的装卸、搬运大都由人工完成,导致作业速度慢、效率低下,残损率高,配送作业体系不完善。

同时大多数配送中心的仓库不具备冷藏、保鲜功能,现代化运输工具不足,严重影响了配送效率。

4)物流配送模式选择不当目前连锁经营超市物流配送模式主要有四种:供应商直接配送、自建配送中心配送、共同配送、第三方物流配送,企业应该根据实际需要综合运用这些配送模式。

对于中小型连锁经营超市企业而言,由于自建配送中心的运营风险较大,更要权衡利弊选择适当的配送模式。

5)信息系统不完善,信息处理能力差大多数连锁经营超市尚未建立起完善的配送管理信息系统,大量的信息仍然由人工处理。

一些企业虽然建立了管理信息系统,但仅仅开发利用了其中的一小块功能,信息处理能力有待提高。

企业内部局域网基本未能实现电子数据交换,POS采集的信息缺乏深度加工,信息反馈不及时,从而影响了门店适应顾客需求变化的柔性。

6)配送专业人才短缺,管理水平低下目前真正精通连锁经营管理、物流配送运作模式、技术的复合型人才非常缺乏,这是影响配送中心物流信息系统和现代物流设施利用的主要原因之一。

专业人才的缺乏直接影响了配送中心的货位规划、物流信息加工处理和系统的完善、商品的科学拣选以及自身库存控制水平等,最终影响了整个配送中心的经营管理水平。

二、系统分析
2.1开发目标:
本系统考虑系统组成各环的功能需求,基于使用成熟技术和实用化的原则,向企业提供一套先进的应用系统。

这套系统应该具有最先进的技术特征;配置必要的数据库和应用服务程序;组织完整的管理员操作界面。

软件系统的界面要美观,布局要合理,窗口的内容尽量简单明了提供的信息,语言要通俗易懂,有层次感,分类要清晰明了,便于管理。

2.2建立物流配送系统的必要性
物流配送是连锁企业发展的重要基础,物流配送的统一与效率在相当程度上决定着流通的效率,因此物流配送也就自然成为连锁超市企业核心竞争力的一个重要组成部分。

而现今我国的连锁超市的物流配送模式不匹配成为企业发展的主要瓶颈。

没有高效的配送中心,连锁会流于形式,其本身所具有的技术上和经济上的优越性,如统一定价、统一管理、统
一核算、统一品牌等都无法发挥出来。

配送中心是连锁企业的“神经中枢”,对连锁企业的一体化发展起着重要的作用,可以减少盲目投资,并通过资源优化配置,节约社会成本。

配送中心是连锁企业的“神经中枢”,对连锁企业的一体化发展起着如下的重要的作用。

1、使各分店实现真正的“零库存”或尽可能的低库存。

连锁企业集中采购后的商品质检、计量、储运、分拣是在总店的仓储环节中进行的,一般由配送中心负责。

而配送中心的库存和配送能力必须与货物的销售相适应,既要保证不出现断货,又要尽可能减少各分店的库存。

减少库存不仅是出于财务管理上减少资金占压的需要,而且也是为了降低配送成本,提高仓库库容利用效率。

2、加速商品的周转速度,进而加速资金的周转速度,达到降低费用、提高经济效益的目的。

传统的零售业态并没有配送中心,商品流通环节包括工厂——批发商——零售商三个环节,而这三个环节自成体系,各自为政,所以在企业的运作过程中造成了资源的重复和浪费。

而有了配送中心以后,就可以进行统一采购,进行统一、灵活、快速、及时的配送,减少企业过多的进货环节,大大降低流通费用。

3、集中采购提高了连锁企业的议价能力,并且能够保证连锁经营的商品质量以及获得更多的供应商的支持。

集中购买能够大大提高买方的议价能力,批量购买能够使连锁企业获得比其它企业更低的价格,并且能够获得更多供应商其它方面的支持,如服务以及相应的资金支持和更好的销售条件保证等,而更重要的是能够给予企业以更大的自主选择余地,从而保证商品的质量,做到真正的物美价廉。

2.3系统开发的可行性分析
(1>系统的名称、功能、目标等已如前所述。

(2>系统环境以及工具:
A. 软件环境:
用户端:Windows2000,Windows2003,Windows XP Windows VISTA
服务器端:WindowsNT/Windows2000及以上操作系统
编程语言:.net
数据库:SQL
B 硬件环境:
有高性能的电子计算机、大容量的存贮装置,个人电脑<终端)以及联结起来的网线等,组成信息资源共享的计算机网络,有共享的打印机,扫描仪等
(3>系统设计原则:
1> 系统运行安全可靠,稳定性好;
2> 系统的可管理性和可维护性好;
3> 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;
4>允许多种数据输入方式,能实现多种查询,允许进行模糊查询;
5>数据具有规范性,整体性,方便数据整理分析。

(4>系统可行性分析:
A.技术可行性:系统要求在windows2000以上环境运行,后台数据库采用SQLServer,使用C#编程,采用ADO方式连接数据库,这些在目前都是容易实现的。

程序将部分需要经常调用的数据存入内存,可提高程序运行速度.
B.经济可行性:在经济上,用此系统加强了企业物流的管理效率,本系统的应用可以减少信息处理的成本,提高企业运营效率,降低运营成本。

C.管理的可行性:在工作上,企业员工管理物流信息量非常大,开发了此系统,可极大提高企业员工的工作的效率。

提高决策的管理能力等等,方便数据的储存和修改,及以后随时查询订单、客户信息,是一个比较人性化的管理系统。

(5>系统分析结论:
由以上分析得出,本系统可进行开发。

三、需求分析
3.1系统目标
使企业员工缩短了工作时间,简化了工作流程,提高了工作效率,使企业的管理者能根据各种信息与报表,包括配送统计数据、客户对配送服务的反应报告、配送商品次数及所需时间报告、配送商品的失误率、仓库库存情况等作出决策。

提高管理水平和企业竞争力,使企业能更好的满足顾客需求,从而最终实现利润最大化。

3.2主要功能
通过对家乐福超市现行的人工系统经过调查研究后,已经基本了解了家乐福超市的业务过程。

●商品销售信息直接输入系统
●商品库存量输入系统
●顾客购买的商品,如果脱销,则将商品名称编号输入系统
●通知物流管理部门向供货商订货
●物流管理部门根据要求,将待定商品汇总,填写多份订货单
●当受到供货商的发货单时,物流管理部门根据要求验收
●验收后,把与每种商品有关的数据,如名称,编号,数量,单价,供应商名称等记录
到应付款帐目中
●将验收商品入库,并修改库存量
●帐务管理系统收到供应商的应付款通知单后,要与应付款明细帐核对,正确无误后才
能付款
●修改会计总帐
●按周,月,年定期编制库存,销售,会计报表,提交给超市经理
店长可随时查询库存量,销售量和业务情况
需求分析:
采用用例驱动的分析方法分析需求,识别出系统的参与者与用例。

识别参与者:
通过对系统的需求的分析,可以确定系统中的参与者有供应商、采购部门、店长、会计、客户、配送中心、仓库管理部门。

对参与者的描述如下。

1.供应商描述:提供商品目录,负责发货级相应的发票
2.采购部门描述:根据采购需求和商品目录下订单
3.店长描述:负责总体事务
4.会计描述:记账,制作财务报表
5.客户描述:选购商品
6.配送中心描述:将顾客采购的商品送到客户指定的地方
7.仓库管理部门描述:检查入库商品,更新库存系统
本系统包括客户管理子系统、订单管理子系统、仓库管理子系统、配送管理子系统、账务管理子系统等。

本系统的使用者能根据需要对订单实时查询和跟踪、实时准确的库存信息,企业的管理者能根据各种信息与报表,包括配送统计数据、客户对配送服务的反应报告、配送商品次数及所需时间报告、配送商品的失误率、仓库库存情况、设备损坏分析等作出决策。

3.3业务流程分析
我们以家乐福超市作为此次研究对象。

成立于1959年的家乐福是大卖场业态的首创者,是欧洲第一大零售商,世界第二大国际化零售连锁集团。

现拥有11,000多家营运零售单位,业务范围遍及世界30个国家和地区。

集团以三种主要经营业态引领市场:超市以及折扣店、零售。

此外,家乐福还在一些国家发展了便利店和会员制量贩店,涉及的零售业态包括大卖场、超级市场、折扣店、便利店、仓储式商店与电子商务。

法国家乐福集团是世界排名前三名的零售业巨头之一,其销售的商品具有明显的价格优势,而支撑此有竞争力的价格的背后就是家乐福集团日益增多的物流策略,尤其是在中国,家乐福集团每年都在扩展自己的规模,如今家乐福已经遍布中国市场。

家乐福是如何解决在中国的分店的物流呢?家乐福集团有两大法宝:建立配送中心以及物流外包。

据我们调查了解,家乐福至少有31家合资公司,都保持高度灵活性,家乐福门店98%的生鲜产品是由本地采购;杂货日用品的60%也是在当地完成。

业务流程图
3.4数据流程图
第一层数据流程图要反映超市最主要的业务。

该图表示系统从顾客那里接受购物要求,把商品卖给顾客。

当货存不足时,超市便向供货商发出订货要求,以满足销售的需要。

但是该图没有反映帐务,“销售”和“采购”也没有分开表示,只是高度概括地反映了超市的业务,需要做进一步扩展。

下图是扩展后的第二层数据流程图。

当顾客的订货要求被接受以后,就要按照顾客所购商品以及需要的数量查找库存量,取定是否能够满足顾客的订货要求。

如果能够完全满足,就给顾客开发货单,并修改相应的商品库存量;同时还要通知财务部门作帐。

如果只能满足一部分或完全不能满足顾客要求,就把不能满足的商品记录下来,并通知物流管理部门,及时向供货商发出订货要求。

当供应商接到超市的订货要求,把商品发过来,物流管理部门要办入库手续,修改库存量,同时向销售部门发出到货通知。

财务部门接到供货商的发货通知单后,应该准备办理付款业务,并作帐。

3.5数据字典卡片
表5-1 数据字典<一) No:_____01_____
填表人___ _________ 2018 年 12 月 8 日
表5-5 数据字典<五) No:_____05_____
表5-6 数据字典<六) No:_____06_____ 编号:S01名称:供应商简述:为超市供应货物的厂商
输入的数据流:订货单
输出的数据流:客户基本资料
编号: S02 名称:客户
3.6处理逻辑描述
1、选择商品
对于“选择商品”的处理逻辑,超市人员从供应商提供的商品目录中选择希望购买的商品,被选中的商品,列入采购清单当中,以备核查后生成订单
2、检查核对
对于采购清单“检查核对”的处理逻辑,超市人员对采购清单进行检查核对,若核对
结构为清单正确,则填写打印订单;若不正确,则返回到上一步重新选择商品,修改采购清单。

3、填写打印订单
对于“填写打印订单”的处理逻辑,超市人员根据核对后的采购清单,录入订单信息,并向供应商提交订单。

4、订单汇总
对于“订单汇总”的处理逻辑,是将订单存档表按照一定的方法,进行分类汇总,进而生成订单汇总单,供店主查阅。

5、查点验收
对于商品“查点验收”的处理逻辑,超市人员对货物进行查点验收,查看商品是否符合超市要求,如是否在保质期内,包装是否完好等,若商品合格,则将合格商品发票交给会计,同时登记供应商信息,并可以供应商进行档案管理;若商品不合格,则与供应商联系,更换商品或退货。

6、核对数目
对于商品“核对数目”的处理逻辑,超市人员根据订单清点供应商提供的商品的数量,若数量正确,则将商品入库;若数量与订单上不符,则与供应商联系,采取相应的处理办法。

7、入库
对于“入库”的处理逻辑,超市人员将合格的、数量正确的商品入库,并同时录入相应的入库单。

8、入库单统计
对于“入库单统计”的处理逻辑,是将入库单存档表按照一定的方法,进行分类汇总,进而生成入库统计表,供店主查阅
9、供应商信息录入与维护
对于“供应商信息录入与维护”,超市人员将供应商基本信息进行录入,并可以对其进行查询和修改及删除,进而可以得到相应的供应商档案。

四、系统设计
4.1功能结构图
4.2输入、输出设计
输入设计
本系统的输入订货单、客户基本资料单和入仓单打印输出格式设计成表1、表2、和表3所示的基本形式。

订货单
表1 年月日
表2客户基本资料单
表3入仓单
输出设计
本系统的输出配送通知单、出仓单、出货管理打印输出格式设计成表1、表2、表3所示的基本形式。

表1配送通知单
表2出仓单
出货管理
表3 月份
计:审核:
仓库管理
存储文件设计
根据系统分析和设计的要求,本系统中建立三个基础数据库,如表1、表2、表3、表4、表5所示。

为了便于阅读理解,库文件中的字段名均用汉字命名。

表1 配送中心情况表结构
表2 客户表结构
表3 仓库情况表结构
表4 配送员情况结构表
表5 签收单情况结构表
4.3代码设计
using System。

using System.Collections.Generic。

using System.Windows.Forms。

using BIL。

namespace WinUI
{
staticclass Program
{
///<summary>
///应®|用®?程¨¬序¨°的Ì?主¡Â入¨?口¨²点Ì?。

¡ê
///</summary>
[STAThread]
staticvoid Main(>
{
Application.EnableVisualStyles(>。

Application.SetCompatibleTextRenderingDefault(false>。

//获?取¨?设¦¨¨置?
Set.path = Application.StartupPath + @"\Set.XML"。

Set.XmlDeserialize(>。

frmLogin frm = new frmLogin(>。

DialogResult dr = frm.ShowDialog(>。

if (dr == DialogResult.Yes>
Application.Run(new frmMain(>>。

}
}
}
库存管理:
using System。

using System.Collections.Generic。

using System.Text。

using model。

using IDAL。

using System.Data。

using System.Data.SqlClient。

namespace SQLServerDAL
{
class DepotDA : IDAL.IDepot
{
staticstring connStr = @"server=371E1D6B1BFB408\GSQL。

database=stock。

uid=sa。

pwd="。

///<summary>
///插?入¨?库a存ä?管¨¹理¤¨ª信?息¡é
///</summary>
///<param name="depotData">库a存ä?管¨¹理¤¨ª类¤¨¤</param>
///<returns></returns>
publicint insertDepot(DepotData depotData>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("insert into depot values(@MinfoID,@Quantity,@Hint>", conn>。

cmd.Parameters.AddWithValue("@MinfoID", depotData.MInfoID>。

cmd.Parameters.AddWithValue("@Quantity", depotData.Quantity>。

cmd.Parameters.AddWithValue("@Hint", depotData.Hint>。

int i = cmd.ExecuteNonQuery(>。

conn.Close(>。

return i。

}
///<summary>
///删¦?除y库a存ä?管¨¹理¤¨ª信?息¡é
///</summary>
///<param name="depotData">库a存ä?管¨¹理¤¨ª类¤¨¤</param>
///<returns></returns>
publicint delDepot(DepotData depotData>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("delete from depot where id = @ID", conn>。

cmd.Parameters.AddWithValue("@ID",depotData.ID>。

int i = cmd.ExecuteNonQuery(>。

conn.Close(>。

return i。

}
///<summary>
///更¨¹新?库a存ä?管¨¹理¤¨ª信?息¡é
///</summary>
///<param name="depotData">库a存ä?管¨¹理¤¨ª类¤¨¤</param>
///<returns></returns>
publicint updateDepot(DepotData depotData>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("update depot set MinfoID = @MinfoID,Quantity = @Quantity,Hint = @Hint where ID = @id", conn>。

cmd.Parameters.AddWithValue("id",depotData.ID>。

cmd.Parameters.AddWithValue("@MinfoID", depotData.MInfoID>。

cmd.Parameters.AddWithValue("@Quantity", depotData.Quantity>。

cmd.Parameters.AddWithValue("@Hint", depotData.Hint>。

int i = cmd.ExecuteNonQuery(>。

conn.Close(>。

return i。

}
///<summary>
///查¨¦询¡¥库a存ä?管¨¹理¤¨ª信?息¡é
///</summary>
///<param name="depotData">库a存ä?管¨¹理¤¨ª类¤¨¤</param>
///<returns>返¤¦Ì回?库a存ä?管¨¹理¤¨ª类¤¨¤</returns>
public List<DepotData> selDepot(>
{
DepotData depotData = new DepotData(>。

List<DepotData> list = new List<DepotData>(>。

SqlConnection conn = new SqlConnection(connStr>。

SqlDataAdapter sda = new SqlDataAdapter("select * from depot",conn>。

DataSet ds = new DataSet(>。

sda.Fill(ds>。

foreach (DataRow dr in ds.Tables[0].Rows>
{
depotData.ID = (int>dr[0]。

depotData.MInfoID = (int>dr[1]。

depotData.Quantity = (int>dr[2]。

depotData.Hint = (int>dr[3]。

list.Add(depotData>。

}
return list。

}
}
}
供应商管理:
using System。

using System.Collections.Generic。

using System.Text。

using model。

using SQLServerDAL。

using IDAL。

namespace BIL
{
publicclass PInfoCortrol
{
privatestatic IPurveyInfo pi = Factory.getPInfo(>。

publicstatic List<PurveyInfoData> ls = getPurveyInfoData(>。

publicstatic List<PurveyInfoData> getPurveyInfoData(>
{
return pi.selPurvey(>。

}
///<summary>
///增?加¨®供?应®|商¦¨¬,且¨°返¤¦Ì回?新?增?加¨®记?录?的Ì?ID
///</summary>
///<param name="pid"></param>
///<returns>新?增?加¨®的Ì?ID</returns>
publicstaticint addPurveyInfo(PurveyInfoData pid>
{
int i = pi.insertPurvey(pid>。

pid.ID=i。

ls.Add(pid>。

return i。

}
///<summary>
///修T改?供?应®|商¦¨¬信?息¡é
///</summary>
///<param name="mtd">欲®?修T改?的Ì?类¤¨¤</param>
///<returns>返¤¦Ì回?所¨´处ä|集¡¥合?的Ì?ID,ê?对?应®|ListView的Ì?项?目?位?置?</returns>
publicstaticint updPurveyInfo(PurveyInfoData pid>
{
pi.updatePurvey(pid>。

int i。

for (i = 0。

i < ls.Count。

i++>
{
if (pid.ID == ls[i].ID>
{
ls[i] = pid。

break。

}
}
return i。

}
///<summary>
///删¦?除y供?应®|商¦¨¬信?息¡é
///</summary>
///<param name="ptd">欲®?删¦?除y的Ì?类¤¨¤</param>
publicstaticvoid delPurveyInfo(PurveyInfoData pid>
{
pi.delPurvey(pid>。

int i。

for (i = 0。

i < ls.Count。

i++>
{
if (pid.ID == ls[i].ID>
{
ls.RemoveAt(i>。

break。

}
}
}
///<summary>
///根¨´据Y类¤¨¤型¨ªID取¨?得Ì?类¤¨¤
///</summary>
///<param name="id">类¤¨¤型¨ªID</param>
///<returns></returns>
publicstatic PurveyInfoData getPInfoOfID(int id>
{
foreach (PurveyInfoData pdd in ls>
if (pdd.ID == id>
return pdd。

thrownew MessageException("获?取¨?客¨ª户¡ì信?息¡é失º¡ì败㨹!ê?客¨ª户¡ìID" + id>。

}
}
}
商品信息:
using System。

using System.Collections.Generic。

using System.Text。

using model。

using IDAL。

using System.Data。

using System.Data.SqlClient。

namespace SQLServerDAL
{
publicclass MerchandiseInfoDA:IDAL.IMerchandiseInfo
{
staticstring connStr = UserDA.connStr。

//private int _iD。

//private string _name。

//private int _typeID。

///<summary>
///插?入¨?商¦¨¬品¡¤信?息¡é
///</summary>
///<param name="merType">商¦¨¬品¡¤信?息¡é类¤¨¤</param>
///<returns></returns>
publicint insertMerchandiseType(MerchandiseInfoData merInfo>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("insert into MerchandiseInfo
values(@name,@typeID,@Quantity,default>", conn>。

cmd.Parameters.AddWithValue("@name", >。

cmd.Parameters.AddWithValue("@typeID", merInfo.TypeID>。

cmd.Parameters.AddWithValue("@Quantity", merInfo.Quantity>。

cmd.ExecuteNonQuery(>。

mandText = "select @@IDENTITY"。

int i = Convert.ToInt32(cmd.ExecuteScalar(>>。

conn.Close(>。

return i。

}
///<summary>
///删¦?除y商¦¨¬品¡¤信?息¡é
///</summary>
///<param name="merType">商¦¨¬品¡¤信?息¡é类¤¨¤</param>
///<returns></returns>
publicint delMerchandiseType(MerchandiseInfoData merInfo>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("delete from MerchandiseInfo where id = @id", conn>。

cmd.Parameters.AddWithValue("@id",merInfo.ID>。

int i = cmd.ExecuteNonQuery(>。

return i。

}
///<summary>
///修T改?商¦¨¬品¡¤信?息¡é
///</summary>
///<param name="merType">商¦¨¬品¡¤信?息¡é类¤¨¤</param>
///<returns></returns>
publicint updateMerchandiseType(MerchandiseInfoData merInfo>
{
SqlConnection conn = new SqlConnection(connStr>。

conn.Open(>。

SqlCommand cmd = new SqlCommand("update MerchandiseInfo set name = @name,TypeID =
@typeID,Quantity=@Quantity,Storage=@Storage where id = @id", conn>。

cmd.Parameters.AddWithValue("@id",merInfo.ID>。

cmd.Parameters.AddWithValue("@name", >。

cmd.Parameters.AddWithValue("@typeID", merInfo.TypeID>。

cmd.Parameters.AddWithValue("@Quantity", merInfo.Quantity>。

cmd.Parameters.AddWithValue("@Storage", merInfo.Storage>。

int i = Convert.ToInt32(cmd.ExecuteScalar(>>。

return i。

}
///<summary>
///查¨¦询¡¥商¦¨¬品¡¤信?息¡é
///</summary>
///<param name="merType">商¦¨¬品¡¤信?息¡é类¤¨¤</param>
///<returns>返¤¦Ì回?商¦¨¬品¡¤信?息¡é的Ì?集¡¥合?</returns>
public List<MerchandiseInfoData> selMerchandiseType(>
{
List<MerchandiseInfoData> list = new List<MerchandiseInfoData>(>。

SqlConnection conn = new SqlConnection(connStr>。

SqlDataAdapter sda = new SqlDataAdapter("select * from MerchandiseInfo",conn>。

DataSet ds = new DataSet(>。

sda.Fill(ds>。

foreach(DataRow dr in ds.Tables[0].Rows>
{
MerchandiseInfoData mer = new MerchandiseInfoData(>。

mer.ID = (int>dr[0]。

= dr[1].ToString(>。

mer.TypeID = (int>dr[2]。

mer.Quantity = (int>dr[3]。

mer.Storage = (int>dr[4]。

list.Add(mer>。

}
return list。

}
}
}
订单管理:
using System。

using System.Collections.Generic。

using System.Text。

using IDAL。

using SQLServerDAL。

using model。

namespace BIL
{
publicclass SotckCortrol
{
privatestatic IStock st = Factory.getStock(>。

privatestatic IStockInfo si = Factory.getSInfo(>。

publicstatic List<StockData> getStocks(>
{
return st.selStock(>。

}
///<summary>
///获?取¨?定¡§单Ì£¤头ª¡¤
///</summary>
///<param name="dt">日¨?期¨²</param>
///<param name="state">定¡§单Ì£¤状Á¡ä态¬? 0 未¡ä审¦¨®批¨² 1 审¦¨®批¨² 2 作Á¡Â废¤?</param>
///<returns></returns>
publicstatic List<StockData> getStocks(DateTime dt,int state>
{
string str=string.Empty。

if (state == 0>
str = "Down = 0 and StockDate = '" + dt.ToString("d"> + "' and Blank = 0"。

elseif (state == 1>
str = "Down = 1 and DownDate = '" + dt.ToString("d"> + "' and Blank = 0"。

elseif (state == 2>
str = "Blank = 1"。

return st.selStock(str>。

}
///<summary>
///获?取¨?定¡§单Ì£¤头ª¡¤
///</summary>
///<param name="dt">启?始º?日¨?期¨²</param>
///<param name="dt1">结¨¢束º?日¨?期¨²</param>
///<param name="state">定¡§单Ì£¤状Á¡ä态¬? 0 未¡ä审¦¨®批¨² 1 审¦¨®批¨² 2 作Á¡Â废¤?</param>
///<returns></returns>
publicstatic List<StockData> getStocks(DateTime dt, DateTime dt1, int state>
{
string str = string.Empty。

if (state == 0>
str = "Down = 0 and StockDate between '" + dt.ToString("d"> + "' and '" + dt1.ToString("d"> + "' and Blank = 0"。

elseif (state == 1>
str = "Down = 1 and DownDate between '" + dt.ToString("d"> + "' and '" + dt1.ToString("d"> + "' and Blank = 0"。

elseif (state == 2>
str = "Blank = 1"。

return st.selStock(str>。

}
///<summary>
///获?取¨?所¨´有®D定¡§单Ì£¤头ª¡¤
///</summary>
///<param name="state">定¡§单Ì£¤状Á¡ä态¬? 0 未¡ä审¦¨®批¨² 1 审¦¨®批¨² 2 作Á¡Â废¤?</param>
///<returns></returns>
publicstatic List<StockData> getStocks( int state>
{
string str = string.Empty。

if (state == 0>
str = "Down = 0 and Blank = 0"。

elseif (state == 1>
str = "Down = 1 and Blank = 0"。

elseif (state == 2>
str = "Blank = 1"。

return st.selStock(str>。

}
///<summary>。

相关文档
最新文档