专业实践net课程实践报告文档格式.docx

上传人:b****1 文档编号:1440926 上传时间:2023-04-30 格式:DOCX 页数:40 大小:535.43KB
下载 相关 举报
专业实践net课程实践报告文档格式.docx_第1页
第1页 / 共40页
专业实践net课程实践报告文档格式.docx_第2页
第2页 / 共40页
专业实践net课程实践报告文档格式.docx_第3页
第3页 / 共40页
专业实践net课程实践报告文档格式.docx_第4页
第4页 / 共40页
专业实践net课程实践报告文档格式.docx_第5页
第5页 / 共40页
专业实践net课程实践报告文档格式.docx_第6页
第6页 / 共40页
专业实践net课程实践报告文档格式.docx_第7页
第7页 / 共40页
专业实践net课程实践报告文档格式.docx_第8页
第8页 / 共40页
专业实践net课程实践报告文档格式.docx_第9页
第9页 / 共40页
专业实践net课程实践报告文档格式.docx_第10页
第10页 / 共40页
专业实践net课程实践报告文档格式.docx_第11页
第11页 / 共40页
专业实践net课程实践报告文档格式.docx_第12页
第12页 / 共40页
专业实践net课程实践报告文档格式.docx_第13页
第13页 / 共40页
专业实践net课程实践报告文档格式.docx_第14页
第14页 / 共40页
专业实践net课程实践报告文档格式.docx_第15页
第15页 / 共40页
专业实践net课程实践报告文档格式.docx_第16页
第16页 / 共40页
专业实践net课程实践报告文档格式.docx_第17页
第17页 / 共40页
专业实践net课程实践报告文档格式.docx_第18页
第18页 / 共40页
专业实践net课程实践报告文档格式.docx_第19页
第19页 / 共40页
专业实践net课程实践报告文档格式.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

专业实践net课程实践报告文档格式.docx

《专业实践net课程实践报告文档格式.docx》由会员分享,可在线阅读,更多相关《专业实践net课程实践报告文档格式.docx(40页珍藏版)》请在冰点文库上搜索。

专业实践net课程实践报告文档格式.docx

3.2采购管理功能12

3.2.1采购入库12

3.2.2采购退货13

3.3销售管理功能14

3.3.1销售出库14

3.3.2销售退货15

3.4库存统计功能16

3.4.1库存查询16

3.4.2销售统计17

3.4.3采购统计19

第四章数据库设计21

4.1数据库逻辑设计21

4.2表设计22

第五章系统调试24

第六章结束语25

第一章系统需求分析

1.1需求概述

这里对商品的管理包括进、销、存3个方面。

可以建立一个超市进销存管理系统,对超市的管理者、营业员、库存管理员等减轻其工作量,便于经营管理。

功能需求:

①采购管理功能模块:

采购计划、采购订单、采购入库、采购退货、应付款、采购付款。

②销售管理功能模块:

、报价单、销售订单、销售出库、销售退货、应收款、销售收款。

③库存管理功能模块:

其它入库、其它出库、库存警报、库存报表、基本资料设计。

商品管理需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。

面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。

它最主要的特点是能够实时的和准确的控制店内的销售情况。

1.2数据流图

●图1.1第0层数据流图

●图1.2进销存管理系统数据流图(第一层)

说明:

每一个处理也均可由外部实体直接输入数据

●图1.3销售管理数据流程图(第二层)

●图1.4仓库管理数据流程图(第二层)

●图1.5采购管理数据流程图(第二层)

第二章进销存系统结构

2.1系统功能结构图

2.2系统登录界面

用户登录系统时,系统会对其身份进行验证,如果系统中不存在该用户,会提示用户名或密码错误!

不同的登录类型对系统的访问权限不一样。

由于软件界面在整个软件生命周期的重要作用,根据社会工程学、国家标准等相关规范,确定软件界面时要遵循以下原则:

布局合理,界面简洁。

配色合理,图像和显示效果要统一。

整个软件界面风格应该保持一致。

减少用户的操作负担,界面尽可能少的使用鼠标。

所有界面文字清晰明了,不产生歧义。

用户身份验证代码:

publicvoidloginValidate()

{UserInfou=null;

SqlConnectioncon=newSqlConnection(DBHelper.conStr);

try

{

con.Open();

intuserRole=cbo_loginType.SelectedIndex;

stringsql=string.Format("

select*fromuserInfowhereUserloginId='

{0}'

andUserPass='

{1}'

andUserRole={2}"

txt_UserloginId.Text,txt_UserPass.Text,userRole);

SqlCommandcom=newSqlCommand(sql,con);

SqlDataReaderdr=com.ExecuteReader();

if(dr.Read())

u=newUserInfo();

u.UserId=Convert.ToInt32(dr["

UserId"

]);

u.UserloginId=dr["

UserloginId"

].ToString();

u.UserName=dr["

UserName"

u.UserPass=dr["

UserPass"

u.UserRole=dr["

UserRole"

}

dr.Close();

if(u!

=null)

{LoginInfo.LoginUserInfo=u;

//保存登录用户信息

this.Visible=false;

Frm_Mainfm=newFrm_Main();

fm.Show();

else

MessageBox.Show("

用户名或密码错误!

"

"

登录提示"

);

catch(Exception)

请注意数据库连接字符串!

finally

con.Close();

上面代码的cbo_loginType.Text.Trim()中的Trim()方法用于去除字符串两端的空格,

代码string.IsNullOrEmpty(cbo_loginType.Text.Trim())用于验证非空。

2.3系统主界面

当用户进入主界面后,可以选择需要操作的菜单,单击菜单项后会跳转到相应的窗体。

在进销存系统中主窗体为MDI窗体,在其下所打开的窗体都会在关闭主窗体之后关闭。

要实现让主窗体为MDI窗体,首先要设置主窗体的IsMdiContainer属性为True,再指定子窗体的父窗体是主界面窗体。

具体实现代码如下:

privatevoidtsmi_StoreQuery_Click(objectsender,EventArgse)

fsq.MdiParent=this;

if(fsq.Visible)

fsq.Focus();

return;

fsq=newFrm_StoreQuery();

fsq.Show();

2.4总E-R图设计

在分析清除系统功能需求之后,总要的就是把系统功能划分成为相对独立的模块或者子系统,便于集中讨论和确定需求,并且需要确定出操作用户,可以直观的表现出该系统的业务流程。

第三章基础功能设计开发

3.1基本资料维护功能

3.1.1操作员资料维护

提供对操作员添加、删除、修改、查询功能,该界面只有管理员有权进入。

为方便管理员查找用户的详细信息,程序提供了根据用户名查询用户详细信息的功能。

若要修改用户信息,先选中待修改的项,然后单击“修改”按钮,系统会自动将选中项显示到基本信息文本框中,这时管理员可以修改用户资料,之后点击“保存”按钮,在确定操作后,系统会检测操作员的数据输入。

点击“添加”,系统会自动启动基本信息文本框,输入之后点击保存即完成。

选中要删除的项,点击“删除”,然后确定,即可成功删除用户信息。

以下代码实现了查询功能:

privatevoidtsb_Btn_Lookup_Click(objectsender,EventArgse)

if(tsb_Txt_Lookup.Text.Trim()=="

||String.IsNullOrEmpty(tsb_Txt_Lookup.Text))

请输入查询条件"

提示"

lp=GetProductInfoByProt_Name(tsb_Txt_Lookup.Text);

dgv_PrdouctInfo.DataSource=lp;

3.1.2商品资料维护

当单击“商品资料维护”选项后,在商品资料维护窗体加载时应该将所有的商信息都显示出来。

使用列表控件展现概要信息,附加文本框和下拉列表框显示详细信息,当用户单击列表时需要显示详细信息。

可对商品信息进行添加、修改、删除、和查询等操作。

以下是实现删除功能的代码:

privatevoidtsb_Btn_Delete_Click(objectsender,EventArgse)

if(dgv_PrdouctInfo.SelectedRows.Count>

0)

intpId=Convert.ToInt32(dgv_PrdouctInfo.SelectedRows[0].Cells[0].Value);

stringsql="

deletefromproductInfowhereProtId="

+pId;

DialogResultdr=MessageBox.Show("

你确定要删除此商品信息吗?

删除之后所有关于该商品的记录将会全部清空"

MessageBoxButtons.OKCancel);

stringsqlStoreCount="

selectStoreSumfromstoreRoomwhereprotid="

intstoreCount=0;

SqlConnectioncon=newSqlConnection(conStr);

SqlCommandcmd=newSqlCommand(sqlStoreCount,con);

storeCount=Convert.ToInt32(cmd.ExecuteScalar());

if(storeCount>

{MessageBox.Show("

该商品还有库存,请先将货物清理出库再删除商品"

{stringsqlDelStoreCount="

deletefromstoreRoomwhereprotid="

stringsqlDelDetial="

deletefromorderdetailswhereprotid="

stringsqlDelReturn="

deletefromreturnproductwhereprotid="

ExecuteQuery(sqlDelStoreCount);

ExecuteQuery(sqlDelDetial);

ExecuteQuery(sqlDelReturn);

if(dr==DialogResult.OK)

{intresult=ExecuteQuery(sql);

if(result>

删除成功!

lp=GetProductInfoByProt_Name("

}}

}}

3.1.3供应商资料维护

在供应商资料维护窗体加载时,保存按钮和文本框处于禁用状态,与此同时系统会将所有的供应商信息查询出来并显示。

可对供应商资料进行添加、修改、删除、和查询等操作。

当对供应商资料进行添加、修改和删除操作时,保存按钮和文本框处于启用状态。

单击删除按钮系统会弹出“你确定要删除此条信息吗?

”的对话框。

单击“确定”按钮系统会删除成功或失败。

一般涉及数据删除的操作必须给予客户提示,以免操作在客户大意之下发生。

以上代码实现了添加功能:

privatevoidtsb_Btn_Add_Click(objectsender,EventArgse)

type=0;

tsb_Btn_Amend.Enabled=false;

tsb_Txt_Lookup.Enabled=false;

tsb_Btn_Delete.Enabled=false;

tsb_Btn_Lookup.Enabled=false;

tsb_Btn_Save.Enabled=true;

Display();

txt_Prot_Name.Focus();

3.1.4品牌资料维护

为方便查找特定品牌的详细信息,程序提供了根据品牌名称查询品牌详细信息的方法。

品牌编号是自动产生,无法修改。

可对品牌信息进行添加、修改、删除、和查询等操作。

以上代码实现了修改功能。

privatevoidtsb_Btn_Amend_Click(objectsender,EventArgse)

type=1;

tsb_Btn_Add.Enabled=false;

txt_Store_LastNum.Enabled=false;

lb_Prot_id.Text=dgv_PrdouctInfo.CurrentRow.Cells[0].Value.ToString();

txt_Prot_Name.Text=dgv_PrdouctInfo.CurrentRow.Cells[1].Value.ToString();

txt_Prot_Retailprice.Text=dgv_PrdouctInfo.CurrentRow.Cells[2].Value.ToString();

txt_Prot_Tradeprice.Text=dgv_PrdouctInfo.CurrentRow.Cells[3].Value.ToString();

txt_Prot_Bigunit.Text=dgv_PrdouctInfo.CurrentRow.Cells[4].Value.ToString();

txt_Prot_Smallunit.Text=dgv_PrdouctInfo.CurrentRow.Cells[5].Value.ToString();

txt_Prot_Rate.Text=dgv_PrdouctInfo.CurrentRow.Cells[6].Value.ToString();

cbb_Cards_Name.Text=dgv_PrdouctInfo.CurrentRow.Cells[7].Value.ToString();

cbb_Priv_Name.Text=dgv_PrdouctInfo.CurrentRow.Cells[8].Value.ToString();

dtp_Prot_Date.Value=Convert.ToDateTime(dgv_PrdouctInfo.CurrentRow.Cells[9].Value);

3.2采购管理功能

3.2.1采购入库

当将需要采购的商品放入采购商品信息列表中后,系统会自动进行计算总采购数量和总价钱。

采购入库时要记录商品基本信息。

可对入库的商品基本信息进行保存和删除操作。

以上代码实现了保存功能。

privatevoidtsb_Btn_Save_Click(objectsender,EventArgse)

Save();

Clear();

Conceal();

tsb_Btn_Amend.Enabled=true;

tsb_Btn_Delete.Enabled=true;

3.2.2采购退货

当商品库存量为0时,想要彻底地删除该商品,需要两步:

首先要确保库存中该商品数量为0,其次需要到基本信息维护菜单中选择商品信息维护选项,单击该选项系统会弹出维护商品信息窗体,在其上的商品信息列表中找到要彻底删除的商品,单击“删除”按钮,若显示删除成功,至此才彻底删除了需要删除的商品。

privatevoidtxt_Out_Num_KeyDown(objectsender,KeyEventArgse)

{if(e.KeyCode==Keys.Enter)

{try

{

StoreRooms=common.s;

if(Convert.ToInt32(txt_Out_Num.Text)>

s.Store_sum)

库存不够,请进货或减少销售"

txt_Out_Num.SelectAll();

if(Convert.ToInt32(txt_Out_Num.Text)<

=0)

销售退货不能为负值和0"

{boolb=true;

foreach(StoreRoomvarinls)

{if(var.Prot_id==common.s.Prot_id)

if(var.In_Out_StoreRoom+Convert.ToInt32(txt_Out_Num.Text)>

var.Store_sum)

库存不够,请进货,或减少销售"

var.In_Out_StoreRoom+=Convert.ToInt32(txt_Out_Num.Text);

sum+=Convert.ToInt32(txt_Out_Num.Text);

money+=Convert.ToInt32(txt_Out_Num.Text)*var.Prot_tradeprice;

if(var.Store_sum-var.In_Out_StoreRoom<

var.Store_lastNum)

请注意该商品销售后,该商品库存小于库存下线,请尽快进货"

警告"

MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

b=false;

break;

common.s=null;

dgv_Store.DataSource=null;

dgv_Store.DataSource=ls;

lb_money.Text=money.ToString();

lb_num.Text=num.ToString();

lb_sum.Text=sum.ToString();

请输入正确的数字格式"

3.3销售管理功能

3.3.1销售出库

当光标进入商品名称文本框时,按下Enter键,选择要销售的商品。

按下Enter键,输入销售数量,按下Enter键。

之后单击“保存”按钮,提示销售成功或失败!

当销售的商品数量小于该商品的库存警报数量时,提示该商品已经到达销售警报位置,需要进货。

系统提供了按商品名称查询商品的详细信息,并且支持模糊查询。

其中品牌名称和供应商绑定到了下拉列表框中,以备客户选择。

实现退出功能的代码:

privatevoidtsb_Btn_Exit_Click(objectsender,EventArgse)

this.Close();

窗体加载:

privatevoidFrm_SellOut_Load(objectsender,EventArgse)

dgv_Store.AutoGenerateColumns=false;

cbb_Cards_Name.DisplayMember="

Cardsname"

;

cbb_Cards_Name.ValueMember="

Cardsid"

cbb_Cards_Name.DataSource=LoginInfo.GetCardsByCards_name("

cbb_Priv_Name.DisplayMember="

Priv_name"

cbb_Priv_Name.ValueMember="

Priv_id"

cbb_Priv_Name.DataSource=LoginInfo.GetProvidersByPriv_name("

这是连接数据库的代码:

privatestaticreadonlystringconStr=DBHelper.conStr;

这是商品信息集合:

List<

ProductInfo>

lp=newList<

();

3.3.2销售退货

光标进入商品名称文本框时,按下Enter键后系统将弹出库存信息查询窗体,与此同时将该窗体上的修改、删除、取消和查询按钮设为隐藏,并显示所有的商品信息列表。

商品名称按键事件:

privatevoidtxt_Prot_Name_KeyDown(objectsender,KeyEventArgse)

if(e.KeyCode==Keys.Enter)

common.Prot_name=txt_Prot_Name.Text;

Frm_StoreQueryfs=newFrm_StoreQuery();

common.Prot_EnterAndOut=true;

fs.ShowDialog();

txt_Prot_Bigunit.Text=s.Prot_Bigunit;

txt_Prot_Name.Text=s.Prot_name;

txt_Prot_Rate.Text=s.Prot_rate.ToString();

txt_Prot_Retailpri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2