欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    NF-ERP之采购管理子系统--详细设计说明书.docx

    • 资源ID:44353397       资源大小:558.55KB        全文页数:49页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    NF-ERP之采购管理子系统--详细设计说明书.docx

    48项目名称详细设计说明书NF-ERP之采购管理子系统详细设计说明书V1.0(版本号)班 级:S3SN20班 组 名:第一小组 指 导:张果老师 组 员:黄燕,游梦云,兰军,谢万林二零一二年五月十七日详细设计说明书1.引言1.1编写目的 采购系统帮助采购人员控制并完成从采购计划、采购执行到到采购质检等全部过程管理。可有效地监控采购计划的实施、采购成本的变动及供应商交货情况,从而帮助采购人员选择最优秀的供应商和采购计划,确保采购工作高质量、高效率及低成本地执行,使企业具有最佳的供货状态,重点实现的目标如下:实现对供应商信息的动态管理和维护;科学、准确、灵活的制定采购计划,指导和规范企业日常的采购经营活动;保证采购产品的及时与准确,确保生产的持续进行;对企业采购计划的制定、审核、下达进行监督和控制,对物资采购的制定,企业日常到货、到货检验、付款结算进行跟踪和追溯。1.2背景a. 项目名称:NF-ERP采购管理子系统b. 本项目的任务提出者:黄燕、游梦云、兰军、谢万林 开发者:黄燕、游梦云、兰军、谢万林 用户:公司采购部的所有员工1.3定义到货通知单:是采购物料到达时,通知质检部门检验、地磅过磅、仓库收料入库的依据。在途发票:凡是没有进行采购结算的采购发票,都是在途发票1.4参考资料 恩信云计算机ERP系统2. 系统的结构NF-ERP采购管理系统客户化设置货品档案供应商推荐供应商档案登记货品档案计划管理调度管理质检管理发票管理报表管理货品I级设置货品II级设置货品III级设置货品用途设置审核货品档案查询货品档案变更货品档案登记供应商档案审核供应商档案查询供应商推荐变更供应商档案登记供应商推荐审核供应商推荐查询供应商推荐变更供应商推荐制定采购计划审核采购计划查询采购计划制定采购执行单审核采购执行单查询采购执行单登记质检结果审核质检结果查询质检结果登记发票信息审核发票信息查询发票信息采购价预览质检详情发票详情3客户化设置设计说明 3.1模块描述本模块主要是对产品的添加,主要是货品I级的添加,货品II级的添加,货品III的添加,I级的添加可以结合符合规定写,但II级货品要根据I级 类型类型来添加,三级类型是根据II级中的类型来添加;还有对货品用途的设置,主要是用途的添加;还有权限的管理,分为管理员和采购员,能够对各自的管理范围做出规定和调整。3.2功能本模块主要是对货品的分类进行添加,主要是对货品I级进行添加,对货品II级进行添加,对货品III进行添加;还有对货品的用途进行添加;管理员和采购人员对该系统的管理权限进行授权3.3流程逻辑客户化设置权限设置货品用途设置货品II级设置货品III级设置货品I级设置3.4 UI展示界面图3.1 查询货品I级图 3.2 添加货品I级图 3.3 货品II级查询图 3.4 货品II添加图 3.5 货品III查询图 3.6 货品III添加图 3.7 货品用途查询图 3.8 货品用途添加图 3.9 权限设置3.5核心代码/获取角色列表 public void GetList() List<RoleInfo> st = au.Find(p => true).ToList(); for (int i = 0; i < st.Count; i+) RadioButtonList1.Items.Add(new ListItem(sti.rolesName, sti.rolesId.ToString(); /获取父节点的资源 public void GetCh() this.Repeater1.DataSource = re.Find(p => p.parentNode = null).ToList(); this.Repeater1.DataBind(); /获取父节点之下的资源 public void GetChild(object sender, EventArgs e) foreach (RepeaterItem item in Repeater1.Items) if (item.ItemType = ListItemType.Item | item.ItemType = ListItemType.AlternatingItem) CheckBox cbk = item.FindControl("ee") as CheckBox; /cbk.Checked = false; if (cbk.Checked) Repeater repea = item.FindControl("Repeater2") as Repeater; repea.DataSource = re.Find(p => p.parentNode = Convert.ToInt32(cbk.CssClass).ToList(); repea.DataBind(); else Repeater repea = item.FindControl("Repeater2") as Repeater; repea.DataSource = null; repea.DataBind(); /角色按钮改变时改变 protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) ClearCh(); List<RolesNodeInfo> listr = GetSRP(Convert.ToInt32(this.RadioButtonList1.SelectedValue); /父节点选中的 和 展开子节点 for (int i = 0; i < listr.Count; i+) foreach (RepeaterItem item in Repeater1.Items) if (item.ItemType = ListItemType.Item | item.ItemType = ListItemType.AlternatingItem) CheckBox cbk = item.FindControl("ee") as CheckBox; if (Convert.ToInt32(cbk.CssClass) = listri.nodeId) cbk.Checked = true; GetChild(null, null); /选择子节点选中的 for (int i = 0; i < listr.Count; i+) foreach (RepeaterItem item in Repeater1.Items) if (item.ItemType = ListItemType.Item | item.ItemType = ListItemType.AlternatingItem) CheckBox cbk = item.FindControl("ee") as CheckBox; if (Convert.ToInt32(cbk.CssClass) = listri.nodeId) Repeater repea = item.FindControl("Repeater2") as Repeater; for (int j = 0; j < listr.Count; j+) foreach (RepeaterItem item2 in repea.Items) if (item2.ItemType = ListItemType.Item | item2.ItemType = ListItemType.AlternatingItem) CheckBox cb = item2.FindControl("cc") as CheckBox; if (Convert.ToInt32(cb.CssClass) = listrj.nodeId) cb.Checked = true; /清空CHeckBox public void ClearCh() foreach (RepeaterItem item in Repeater1.Items) if (item.ItemType = ListItemType.Item | item.ItemType = ListItemType.AlternatingItem) CheckBox cbk = item.FindControl("ee") as CheckBox; cbk.Checked = false; /获取角色资源表的list public List<RolesNodeInfo> GetSRP(int id) return str.Find(p => p.rolesId = Convert.ToInt32(id).ToList(); /修改角色资源 protected void Button1_Click(object sender, EventArgs e) int count = 0; List<int> intli = new List<int>();/CHeckBox全部选中资源id foreach (RepeaterItem item in Repeater1.Items) if (item.ItemType = ListItemType.Item | item.ItemType = ListItemType.AlternatingItem) CheckBox cbk = item.FindControl("ee") as CheckBox; if (cbk.Checked) intli.Add(Convert.ToInt32(cbk.CssClass); Repeater repea = item.FindControl("Repeater2") as Repeater; foreach (RepeaterItem item2 in repea.Items) if (item2.ItemType = ListItemType.Item | item2.ItemType = ListItemType.AlternatingItem) CheckBox cb = item2.FindControl("cc") as CheckBox; if (cb.Checked) intli.Add(Convert.ToInt32(cb.CssClass); else count+; if (count = Repeater1.Items.Count) ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), "<Script>alert('你并没选择任何权限!')</Script>"); else int id = Convert.ToInt32(RadioButtonList1.SelectedValue); List<RolesNodeInfo> listr = GetSRP(id); str.Delete(listr); for (int i = 0; i < intli.Count; i+) RolesNodeInfo rolesnode = new RolesNodeInfo(); rolesnode.rolesId = id; rolesnode.nodeId = intlii; str.Add(rolesnode); ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), "<Script>alert('修改成功!')</Script>"); 3.6尚未解决的问题 无4货品档案 模块设计说明4.1模块描述本模块主要包括四个子模块,主要是:登记货品档案,审核货品档案,查询货品档案,变更货品档案;主要流程是:登记货品档案对登记的货品档案进行审核-审核通过的货品档案进行查询对于货品的档案进行更改4.2功能登记货品档案:登记货品档案审核货品档案:对登记的货品档案进行审核查询货品档案:对已经通过审核的货品进行条件查询变更货品档案:对已经通过审核的货品进行变更4.3流程逻辑用图表辅以必要的说明来表示本模块的逻辑流程。货品档案审核货品档案查询货品档案变更货品档案登记货品档案4.4 UI展示功能模块所对应的表示界面如:图4.1 货品登记图 4.2 等待审核图 4.3 货品审核图 4.4 查询货品图 4.5 货品变更图 4.6 变更货品4.5核心代码针对该模块的核心代码/接收传过来的ProId int proId = Convert.ToInt32(Request"proId".ToString(); ProductInfoDA proiDA = new ProductInfoDA(); var pro = proiDA.Find(p => p.productId = proId).FirstOrDefault(); this.txtproductName.Text = pro.productName; /下拉列表框显示所有的用途 var resert = proDA.Find(p => p.typeFather = 0).ToList(); dropproductTypeI.DataSource = resert; dropproductTypeI.DataValueField = "typeId" dropproductTypeI.DataTextField = "typeName" dropproductTypeI.DataBind();/保存变更的货品信息 ProductInfoDA proDA = new ProductInfoDA(); int proId = Convert.ToInt32(Request"proId".ToString(); var pro = proDA.Find(p => p.productId = proId).FirstOrDefault(); pro.productName = this.txtproductName.Text.Trim(); pro.Cess = string.IsNullOrEmpty(this.txtCess.Text.Trim() ? null : new Nullable<decimal>(Convert.ToDecimal(this.txtCess.Text.Trim(); pro.useId = Convert.ToInt32(this.dropproductUse.SelectedItem.Value.Trim(); pro.typeId = Convert.ToInt32(this.dropproductTypeIII.SelectedItem.Value.Trim(); pro.productBreed = this.txtproductBreed.Text.Trim(); pro.productSpec = this.txtproductSpec.Text.Trim(); pro.barCode = this.txtbarCode.Text.Trim(); pro.Unit = this.txtUnit.Text.Trim(); pro.inPrice = Convert.ToDecimal(this.txtinPrice.Text.Trim(); pro.outPrice = Convert.ToDecimal(this.txtoutPrice.Text.Trim(); pro.upperLimit = this.txtupperLimit.Text.Trim(); pro.lowerLimit = this.txtlowerLimit.Text.Trim(); pro.employeeId = Convert.ToInt32(this.dropemployeeName.SelectedItem.Value.Trim(); pro.registerDate = Convert.ToDateTime(this.txtregisterDate.Text.Trim(); pro.Remark = this.txtRemark.Text.Trim(); proDA.Save(); Response.Redirect("ProductEdit.aspx"); /当选择I级货品¡II级货品自动¡变为I级货品的子类 protected void dropproductTypeI_SelectedIndexChanged(object sender, EventArgs e) int id2 = Convert.ToInt32(dropproductTypeI.SelectedItem.Value); var ret = proDA.Find(p => p.typeFather = id2).ToList(); this.dropproductTypeII.DataSource = ret; this.dropproductTypeII.DataValueField = "typeId" this.dropproductTypeII.DataTextField = "typeName" this.dropproductTypeII.DataBind(); /当选择II级货品时,III级货品自动变味II级货品的子类 protected void dropproductTypeII_SelectedIndexChanged(object sender, EventArgs e) int id3 = Convert.ToInt32(dropproductTypeII.SelectedItem.Value); var ret = proDA.Find(p => p.typeFather = id3).ToList(); this.dropproductTypeIII.DataSource = ret; this.dropproductTypeIII.DataTextField = "typeName" this.dropproductTypeIII.DataValueField = "typeId" this.dropproductTypeIII.DataBind(); 4.6尚未解决的问题 无5供应商档案 模块设计说明5.1模块描述本模块主要是分为四个子模块:登记供应商档案,审核供应商档案,查询供应商档案,更新供应商档案;主要流程是:登记供应商档案-审核供应商档案-查询供应商档案-更新供应商档案;每个子模块对自身的功能都能顺利的进行,简单易懂5.2功能说明该基本模块应具有的功能。登记供应商档案:主要是对供应商的添加进行登记审核供应商档案:对已经登记的供应商档案信息但未审核的供应商档案信息进行审核查询供应商档案:对已经审核通过的供应商档案进行查询,并且查看其详细信息更新供应商档案:对已经审核通过的供应商档案进行更新5.3流程逻辑用图表辅以必要的说明来表示本模块的逻辑流程。供应商档案变更供应商档案查询供应商档案审核供应商档案登记供应商档案5.4 UI展示功能模块所对应的表示界面如:图5.1 登记供应商档案图 5.2 供应商信息审核图 5.3 供应商信息审核图 5.4 查询供应商信息图 5.5 供应商详细信息图 5.6 更新供应商信息图 5.7 修改供应商信息5.5核心代码针对该模块的核心代码/根据ID查找数据 int id = Convert.ToInt32(Request"supID"); var sup = supInfoda.Find(p => p.supplyId = id).FirstOrDefault(); txtSupplyName.Text = sup.supplyName; txtsupplyRelation.Text = sup.supplyRelation; txtrelationPhone.Text = sup.relationPhone; txtphotoNumber.Text = sup.photoNumber; txtEmail.Text = sup.Email; txtpostalCode.Text = sup.postalCode; txtfaxNumber.Text = sup.faxNumber; /登记人 ddlemployee.DataSource = empInfoda.Find(p => true).ToList(); ddlemployee.DataValueField = "employeeId" ddlemployee.DataTextField = "employeeName" ddlemployee.DataBind(); var rs = empInfoda.Find(p => p.employeeId = sup.employeeId).FirstOrDefault(); ddlemployee.Items.FindByText(rs.employeeName).Selected = true; txtbankName.Text = sup.bankName; txtbankNumber.Text = sup.bankNumber; txtlinkAddress.Text = sup.linkAddress; txtwebSite.Text = sup.webSite; /货品类型 var type1 = protypeda.Find(p => p.typeFather = 0); ddltype1.DataSource = type1; ddltype1.DataTextField = "typeName" ddltype1.DataValueField = "typeId" ddltype1.DataBind(); int id1 = Convert.ToInt32(ddltype1.SelectedItem.Value); var type2 = protypeda.Find(p => p.typeFather = id1); ddltype2.DataSource = type2; ddltype2.DataTextField = "typeName" ddltype2.DataValueField = "typeId" ddltype2.DataBind(); int id2 = Convert.ToInt32(ddltype2.SelectedItem.Value); var type3 = protypeda.Find(p => p.typeFather = id2); ddltype3.DataSource = type3; ddltype3.DataTextField = "typeName" ddltype3.DataValueField = "typeId" ddltype3.DataBind(); txtregisterDate.Text = sup.registerDate + "" txtTax.Text = sup.Tax; txtRemark.Text = sup.Remark;/把修改

    注意事项

    本文(NF-ERP之采购管理子系统--详细设计说明书.docx)为本站会员(飞****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开