精华内容
下载资源
问答
  • ABC 库存管理

    千次阅读 2018-03-15 17:56:44
    工作需要,看了供应链相关文章整理ABC 库存管理方法概念为了使有限的时间、资金、人力、物力等企业资源能得到更有效的利用,应对库存物资进行分类,将管理的重点放在重要的库存物资上而进行分类管理和控制,即依据...

    工作需要,看了供应链相关文章整理

    ABC 库存管理方法概念

    为了使有限的时间、资金、人力、物力等企业资源能得到更有效的利用,应对库存物资进行分类,将管理的重点放在重要的库存物资上而进行分类管理和控制,即依据库存物资重要程度的不同,以某类库存货物品种数占物资总品种数的百分数和该类物资金额占库存物资总金额的百分数大小为标准,将库存物资分为 ABC 三类进行分级管理,这就是库存分类管理的基本原理与方法。

    ABC 库存管理方法体现了“关键是少数和次要是多数”的帕累托原理。也就是人们常常提到的“20/80”法则的基本思想。ABC 库存管理方法主要用于确定一家企业的库存管理的重点,经过实践检验,这是一种节约资金和费用的简单而又有效的科学管理方法

    ABC 库存管理方法的分类标准

    ABC 分类标准可以是物品的年销售总数量、销售金额、占用资金规模、损耗水平、包装规格、重要程度以及存储要求等,具体划分标准及各类物品应占比重并没有统一及严格的规定,要根据库存品种和企业经营者的意图来确定。

    一般来说,A 类物资种类数占全部库存物资种类总数的 10%-20%,品种比重非常小,而其销售额却占全部物资总销售额60%-80%,占用了大部分的销售额,是关键的少数,是需要重点管理的库存;B类物资种类数占 20%-30%,其销售额大致为总销售额的 15%-30%,可以发现其品种比例和金额比例大体上相近似,是需要常规管理的库存;C类物资种类数占50%-70%,品种比重非常大,而销售额只占总销售额的5%-15%,虽然表面上只占用了非常小的销售额,但是由于数量巨大,实际上占用了大量的库存管理成本,是需要精简的部分,是需要一般管理的库存。

    订货方面和仓储方面的应用

    ABC 分类可以使企业经营者弄清楚所管理物资的基本消耗情况,分清哪些品种是 A类,哪些是B类,哪些是C类,从而釆取不同的策略进行管理。对A类物资,应进行重点管理,对B类物资,按常规进行管理,对C 类物资,则实行粗放式管理,具体应注意釆取以下方法。

    订货方面:

    A类货物的管理方法,A类物品在品种数量上仅占10%左右,管理好A类物品,就能管理好70%左右的销售额,是关键的少数,要进行重点管理。因此,要采用更精确的库存控制模型及控制方法;缩短订货周期,减小货物出库量的波动,使仓库的安全储备量降低;保证类货物按时交接货。

    对企业来说,就要想方设法增加A类物品的销售额。重点管理A类物品的目的就是要通过科学的管理,不仅要降低库存,还要保证供给,防止缺货,防止出现异常情况。首先,按照需求、小批量、多批次的采购入库,最好能做到准时制管理,能够提高资金周转率,能够使库存保持最优的有效期,能够降低仓储管理费用,能够及时获得降价的收益;当然季节储备和涨价前的储备也是不可避免的;其次,随时监控需求的动态变化,分析预测哪些是日常需求,哪些是临时集中需求,使库存与各种需求相适应。尽可能缩短订货提前期,对交货期限加强控制;第三,科学设置最低定额、安全库存和订货点报警点,防止缺货发生;了解大客户的库存,在需要的时候临时调剂;监控供应商的在途物资品种数量到货时间;与供应商和用户共同研究替代品,尽可能降低单价;制定应急预案补救措施。

    B类货物的管理方法,日常工作中的现场管理无需过于频密,采用定量订货方法,前置期时间较长,中量采购。

    C类货物的管理方法,将数量大、价值低的该类货物不列入日常管理的范围,不必经常盘点,并可规定少出库的批量,以减少处理次数等;为防止库存缺货,可适当增加安全库存量,或减少订货次数以降低费用;给予最低的优先作业次序。

    仓储方面:

    在库存量控制中,应根据商品销售额与品种数之间的不均衡性,将仓库里的商品分为A ,B ,C三类。通常在仓库中,A类商品的销售额占总销售额的70%-75%左右,品种数占总品种数的5%-10%左右;B类商品的销售额则占10%-20%左右,品种数占总品种数的10%-25%左右;C类商品的销售额占5%-10%左右,品种数占总品种数的60%-80%左右。对于A类商品,就要在保证安全库存的前提下,小批量多批次按需储存,尽可能地降低库存总量,减少仓储管理成本,减少资金占用成本,提高资金周转率。应重点精心管理和养护以保证其质量,每天都要进行盘点和检查,并且A类货物放置于便于进出的地方。对C类商品,一般应尽可能减少日常管理工作,以减少管理成本,但可适当增大订购量和库存量,每月循环盘点一遍;货物无需存放在仓库最方便拿取的地方。对B类商品的库存管理,原则上介于AC两者之间。通过这种管理方法,能突出重点,兼顾一般,减少管理成本和库存量,消除库存积压和断货现象,提高经济效益和服务水平。

    展开全文
  • 条码库存管理

    千次阅读 2011-10-24 17:07:20
    库存管理系统包括:从供应商开始到向生产线出库结束的整个过程的管理。  在入库接收时发行条形码标签,为部品分配唯一的序列号。在上架,拣货,盘点,出库  的过程中通过手持终端所收集条形码数据,进行验证,...

     库存管理系统包括:从供应商开始到向生产线出库结束的整个过程的管理。
      在入库接收时发行条形码标签,为部品分配唯一的序列号。在上架,拣货,盘点,出库
      的过程中通过手持终端所收集条形码数据,进行验证,确保数据的准确性。同时,进行
      原材料的追踪管理,实时的了解原材料的在库情况。
      
      在库存管理中可能存在的问题:
      ·库房管理难以做到帐面数量和实物数量相符
      ·库房管理人员工作量大,工作强度高,速度慢、效率低
      ·全部采用手工数据记录,出差错的概率高
      ·各类库房操作数据记录在各种不同的账本中,查询统计很不方便
      ·库房中货物堆积如山,给工作人员带来不必要的危险
      ·不能够实事的掌握库存的准况,有可能造成材料的浪费
      关联问题:
      ·无法与供应商及时协调库存信息和需求信息
      ·库存不准,MRP无法有效的指导生产和采购
      解决方案:
      ·通过引入货位规划、批次管理以指导仓储业务操作
      ·通过批次/单品管理,实现质量追踪,以符合国家管理要求
      ·以灵活的收货入库策略、出库分配策略配合仓储内部存货管理要求
      ·导入出库方式,先入先出(FIFO)或是先入后出(FILO)
      ·导入盘点方式,循环盘点或定期盘点
      ·灵活的运用自动识别技术(条形码,RFID等),通过手持机进行出库,盘点等操作的数据验证。
      导入条码方案之后的效果:
      ·仓库生产现场内部管理可以实现无纸化操作,包括入库,出库、盘点。
      ·出库作业时间大幅度缩短,拣货作业错误率减低,综合人力成本可降低 50%以上。
      ·通过应用条形码、数据采集器,可以降低寻找时间。
      ·通过正确的出库方式保证材料不浪费,从而节约成本。
      ·系统可与ERP或MRP进行有效的衔接,分析库存现状。
      ·实时上传数据,可达到实时监控的目的。
      ·操作简单,控制软件直接导入数据文件即可进行拣货作业。
      ·原材料的管理完全采用条形码管理,使输入更准确和节省时间。
      ·盘点作业自动生成盘点损益表和盘点清单。
      ·通过对储位的分类编号管理使货物摆放有序。
      ·可与财务系统关联打印报表,准确把握财务支出。
      ·通过用户权限的设定保证数据的安全性。
      ·能够实现原材料到半成品,成品的全程追踪。
      ·具有打印条形码标签的功能。
      行业应用:
      ·罐装液体
      ·服装加工
      ·家电制造,电子电器
      ·汽车制造
      ·制药,医疗卫生
      ·仓储物流
      ·零售
      硬件设备:
      ·支持的条码打印机厂商包括:SATO,TEC
      ·支持的手持终端厂商包括:DENSO,KEYENCE
      ·扫描枪的厂商包括:HONEYWELL,SYMBOL
      ·操作系统:支持Windows、Sun Solaris、Linux等主流版本的操作系统平台
      ·服务器硬件:支持对应的OS即可。
      ·数据库:支持Oracle 9i及以上、SQLserver 2005及以上等主流数据库。
      ·开发环境:J2EE/.Net
      ·通过本公司自己开发的通用软件包可轻易实现客户化,快速导入(最短1个月)
      ·我们同时提供系统的订制开发,以满足您的企业管理上的一些特殊要求
      注:凡在我司开发的软件包括定制开发,提供一年期的免费维护

     

    上海长见软件科技有限公司

    www.nagamisoft.com

    展开全文
  • 实战Java商品库存管理系统

    千次阅读 2019-06-22 21:42:29
    上周老师要求我们做个作业,那么我们就做一个Java企业商品进销存管理系统 源码+实训报告+系统...本系统的开发适用于多个行业,可以帮助企业快速有效管理进货、销售、库存、查询统计等各项业务,合理控制进销存各...

    上周老师要求我们做个作业,那么我们就做一个Java企业商品进销存管理系统

    源码+实训报告+系统测试报告已经打包好,方便给需要的同学使用!

    链接:https://pan.baidu.com/s/14SaUQeWkt7uEa_yOBdVs0w 
    提取码:lwmb 

    这是做出来的样品:

    本系统的开发适用于多个行业,可以帮助企业快速有效管理进货、销售、库存、查询统计等各项业务,合理控制进销存各个环节,提高资金利用率,实现管理高效率和实时性。本系统是根据人们在日常生活中的实际需求而开发的,完全能够实现人们对商品的基础信息管理、进货管理、销售管理、查询统计、库存管理、系统管理等功能,一般而言,通过使用进销存管理系统,可以在以下几方面提高企业的管理水平:

    1. 更好地了解供应商和客户信息,加强对商品资料的管理。
    2. 降低采购成本,及时了解采购情况。
    3. 准确了解销售动态,及时调整营销策略。
    4. 了解库存情况,及时进行价格管理以及库存数量维护。
    5. 减少储备资金占用,加速资金周转,提高资金利用率。

    提供商业数据智能分析,了解商业动态,为管理者提供决策依据。

    流程图:

    程序环境:

    SQL server 2005和myeclipse8.5。

    具体过程

        1. 软件安装和帐户设定

    1-1:安装“MS Sql Server 2005(SP2)”(内置帐户选择sa,密码设为123;如果没有设置内置帐户sa的话,请直接使用WinNT登录“SQL Server Management Studio”,选择安全性→登录名→sa→登录属性,然后设置密码123,关闭“SQL Server Management Studio”)

    1-2:安装“MyEclipse 5.5.1 GA”

    1-3:下载连接驱动包“sqljdbc.jar”

    1-4:设置SQL Server服务器:

    1. “开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server Configuration Manager”(确认“SQL Server Management Studio”已关闭)
    2. “SQL Server 2005服务”中停止服务“SQL Server(SQLEXPRESS)”(默认是启动状态)
    3. “SQL Server 2005网络配置”→“MSSQLSERVER的协议”,启动“TCP/IP”(默认是禁用状态),然后双击“TCP/IP”进入属性设置,在“IP地址”里,确认“IPAll”中的“TCP端口”为1433
    4. “SQL Server 2005服务”中启动服务“SQL Server(MSSQLSERVER)”(默认是停止状态)
    5. 关闭“SQL Server Configuration Manager”(此时可以启动“SQL Server Management Studio”,并用帐户sa、密码123登录,SQL Server服务器设置正确的话应该能登录成功)
        1. 创建测试数据库和表

    2-1:启动“SQL Server Management Studio”,并用帐户sa、密码123登录(SQL Server服务器设置正确的话应该能登录成功),创建一个数据库JSPTest,内建一个表regist

    2-2:创建测试的Java工程和代码

    2-3:启动“MyEclipse”→“File”→“New”→“Project”→“Java Project”,命名为Test

    2-4:打开Test的“Properties”→“Java Build Path”→“Libraries”→“Add External JARs”,选择下载好的连接驱动包“sqljdbc.jar”,然后点击“OK”确定

    2-5:SQL Server 2005中加载驱动和URL的语句为:

    protected static String dbClassName= "com.microsoft.sqlserver.jdbc.SQLServerDriver";

    protected static String dbUrl= "jdbc:sqlserver://localhost:1433;DatabaseName=db_JXC";

    protected static String dbUser="sa";

    protected static String dbPwd="123";

    主窗体是系统的欢迎界面。用程序的主窗体包括系统菜单和工具栏,其中系统菜单是包含系统中所有功能的菜单项,工具栏是提供常用的功能的快捷访问按钮。(该系统采用了导航面板综合了系统菜单和工具栏的优点,导航面板的界面更美观,操作更快捷。)

        1. 创建主窗体

     

    1. 创建JXCFrame类,在类中创建和初始化窗体对象,为窗体添加桌面面板,并且设置背景图片。

    Frame=new JFrame(“企业进销存管理系统”);//创建窗体对象

    desktopPanel=new JDeskPanel();//创建桌面面板

    JTabbedPane navigationPanel=createNavigationPanel();//创建导航面板

    1. 编写updateBackImage()方法,初始化背景标签,背景标签使用HTML超文本语言设置了主窗体的背景图片(该图片会随着主窗体的大小自动缩放)。
    2. 在类的静态代码中设置了系统的外观样式。使用了UIManager类的setLookAndFeel()方法设置程序界面使用本地外观。
    3. 编写主窗体的mian()入口方法,创建登录窗体对象(登录窗体会验证登录信息,并显示主窗体界面)
      • 创建导航面板
    1. 在JXCFrame类中编写createNavigationPanel()方法,创建JTabbePanel选项卡面板对象。(为了突出选项卡的立体效果,设置该选项卡使用了BevelBorder边框效果。)然后依次创建了基础信息管理面板、库存管理面板、销售管理面板、查询统计面板、进货管理面板和系统管理面板的选项卡。

    JTabbedPane tabbedPane=new JTabbedPane();//创建JTabbePanel选项卡面板对象

    JPanel baseManagePanel=new JPanel();//基础信息管理面板

    JPanel depotManagePanel=new JPanel();//库存管理面板

    JPanel sellManagePanel=new JPanel();//销售管理面板

    JPanel searchStatisticPanel=new JPanel();//查询统计面板

    JPanel stockManagePanel=new JPanel();//进货管理面板

    JPanel sysManagePanel=new JPanel();//管理系统面板

    1. 编写createFrameButton()方法,该方法负责创建Action对象,该对象是用来创建并显示窗体对象,(图标、文本等属性),本系统没有使用系统菜单,所以该方法直接创建按钮对象。

    Icon icon=new ImageIcon(imgUrl);//创建按钮图标

    Icon_roll=new ImageIcon(imgUrl_roll);//创建鼠标经过按钮的图标

    Icon_down=new ImageIcon(imgUrl_down);//创建按钮按下的图标

    Action action=new openFrameAction(fName,cname,icon);//用openFrameAction类创建Actio对象

    1. 编写内部类openFrameAction,它必须要继承AbstraAction类实现Action接口。该类用于创建导航按钮的Ation对象,并且为每一个导航按钮定义创建不同窗体对象的动作监听器,当这个监听器的按钮被按下时,调用getFrame()方法获取相应的窗体对象,并显示在主窗体中。
    2. 编写getIFrame()方法。该方法就是用来创建指定名称的窗体对象,使用了java反射技术,调用不同窗体类的默认构造方法创建窗体对象。
      • 公共模块设计
        1. 编写Dao公共类
    1. Dao类主要负责有关数据库的操作,该类在静态代码段中驱动并连接数据库,然后将所有的数据库访问方法定义为静态的。

    Class.forName(dbClassName).newInstance();//加载数据库驱动类

    conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);//获取数据库连接

    1. addGys()方法(添加供应商信息的方法)

    该方法用于添加供应商的基础信息,它接收供应商的实体类TbGysinfo作方法的参数,然后把实体对象中的所有属性存入供应商数据表中。

    1. getGysinfo()方法(读取指定供应商的信息)

    该方法将根据Item对象中封装的供应商ID编号和供应商名称获取供应商的数据,然后将该供应商的数据封装到实体对象中,然后返回该实体对象。

    1.  updateGys()方法(修改供应商信息的方法)

    该方法用于更新供应商的基础信息,它接收供应商的实体类TbGysinfo作方法参数,在方法中直接解析供应商实体对象中的属性,并且将这些属性更新到数据表中。

    1. insertRukuInfo()方法

    该方法负责完成入库单信息的添加,(库存表、入库主表、入库详细表等多个数据表的操作)。为了保证数据的完整性,该方法将入库信息的添加操作放在事务中完成,方法将接收入库主表的实体类TbRukuMain作为参数,该实体类中包含了入库详细表的引用。

    1. getKucun()方法

    该方法用于获取指定商品ID编号或者名称的库存信息,方法接收一个Item对象作参数,该对象中封装了商品的ID编号和商品的名称信息,如果库存表中存在该商品的库存记录,就获取该记录并将记录中的数据封装到库存表的实体对象中,然后将该实体对象作为方法的返回值。

        1. 编写Item类

    Item类主要用于封装和传递参数信息,这是典型命令模式的实现。

    在Dao类中经常使用该类作为方法参数;在各个窗体界面中也经常使用该类作组件数据,其toString()方法将返回name属性值,所以显示到各个组件上的内容是Item类的对象所代表的商品、供应商、或者客户等信息的名称。

      • 基础信息主要功能模块详细设计

    基础信息管理模块的有三个功能:客户信息管理、商品信息管理和供应商信息管理。其中客户信息管理所使用的的数据表是tb_khinfo,其功能类包括KeHuTianJiaPanel类和KeHuXiuGaiPanel类;商品信息管理所使用的数据表是tb_spinfo,其功能类包括ShangPinTianJiaPanel类和ShangPinXiuGaiPanel类;供应商信息管理所使用的数据表是tb_gysinfo,其功能类包括GysTianJiaPanel类和GysXiuGaiPanel类。整个基础信息管理模块的技术分析以供应商信息管理面板为例,下面简单介绍一下供应商信息管理的添加、修改和删除的实现过程。

        1. GysTianJiaPanel类

    该类用于实现系统供应商添加功能,实现在界面将显示多个用于输入供应商信息的文本框。界面中主要包括以下控件:

    控件类型

    控件名称

    主要属性

    用途

    JtextField

    quanChengF

    供应商全称

    JianChengF

    简称

    BianMaF

    邮政编码

    DiZhiF

    地址

    DianHuaF

    电话

    ChuangZhenF

    传真

    LianXiRenF

    联系人

    lianXiRenDianHuaF

    联系人电话

    YinHangF

    银行

    EmailF

    邮箱

    Jbutton

    TjButton

    设置按钮文本为“添加”

    设置动作监听器为TjActionListener类的实例对象

    添加

    ResetButton

    设置按钮文本为“重填”

    设置动作监听器为

    ResetActionListener类的实例对象

    重填

    要点介绍:

    1. ResetActionListener类。作为“重填”按钮的事件监听器。该类必须实现ActionListener接口,并在actionPerformed()方法中清除界面中的所有文本框内容。

    代码如下:

     

    1. TjActionListener类。作为“添加”按钮的事件监听器。该类必须实现ActionListener接口,并在actionPerformed()方法中实现用户输入的验证和供应商信息的保存。

    代码如下:

     

        1. GysXiuGaiPanel类

    该类主要实现供应商修改和删除的功能。在该界面中有许多文本框用于输入供应商信息,这些文本框会根据所选供应商自动填充内容,点击修改按钮后回自动写入修改后的供应商内容。

    控件类型

    控件名称

    主要属性

    用途

    JtextField

    quanChengF

    供应商全称

    JianChengF

    简称

    BianMaF

    邮政编码

    DiZhiF

    地址

    DianHuaF

    电话

    ChuangZhenF

    传真

    LianXiRenF

    联系人

    lianXiRenDianHuaF

    联系人电话

    YinHangF

    银行

    EmailF

    邮箱

    JComboBox

    Gys

    设置初始大小为(230,21)

    调用initComboBox()方法初始化下拉列表

    设置组件选择事件调用doGysSelectAction()方法

    选择供应商

    Jbutton

    tjjButton

    设置按钮文本为“修改”

    设置动作监听器为ModifyActionListener类的实例对象

    修改

    resetButton

    设置按钮文本为“删除”

    设置动作监听器为

    DeltActionListener类的实例对象

    删除

    要点介绍:

    1. initComboBox()方法。用于初始化选择供应商的下拉列表框。该方法先获取Dao类中的getGysInfos()方法,然后再将获取到的信息封装成Item对象并添加到下拉列表框中(主要是获取ID和供应商名称)。然后再下拉列表框的Item对象中用toString()方法显示供应商名称。

    代码:

     

    1. doGysSelectAction()方法。在使用下拉列表框时选择或更改供应商信息的时候被调用。主要根据选择的供应商名称,填充相应的供应商信息到文本框中。

    代码如下:

     

    1. ModifyActionListener类。修改按钮的事件监听器。必须实现ActionListener接口,并在actionPerformed()方法中获取文本框内容,并可以将修改后的供应商信息,通过调用Dao类的updateGys()方法,把修改后的信息写入到数据库。

    代码:

     

     

    1. DeltActionListener类。删除按钮的事件监听器。必须实现ActionListener接口,并在actionPerformed()方法中获取文本框内容,通过调用Dao类中的delete()实现把供应商信息从后台数据库删除。

    代码:

     

      • 进货管理模块设计

    企业进销存管理系统中的进货模块管理主要包括进货单和进货退货两个部分。由于它们的实现方法相似,这里主要以进货单功能为主,介绍进货模块对本系统的意义和实现的业务逻辑。

     

        1. 进货单

    主要负责记录企业的商品进货信息,可以单击“添加”按钮,在商品表中添加进货的商品信息。在“供应商”下拉列表框中选择不同的供应商,将会改变商品中可以添加的商品。进货单的程序界面如下图:

     

        1. 进货退货

    进货退货功能主要负责记录进货管理中的退货信息,界面效果如下图。在选择了退货的商品之后,单价“退货”,将把表格中商品退货信息更新到数据库中。

     

        1. 技术分析

    进货管理模块使用JDBC实现事务操作,因为进货和退货的业务逻辑涉及到3个数据表,为保证数据的完整性,将3个数据表的操作放在事务中实现,如果对任何一个数据表的操作出现错误或是不可执行的操作,那么事务中的所有操作都将取消,并恢复到事务执行的数据状态;否则3个数据表的操作全部执行。下面是JDBC事务操作的关键方法。

    1. setAutoCommit()方法

    该方法用于连接对象的自动提交模式。如果连接处对象的自动提交模式为true,则它的所有SQL语句被执行作为单个事务提交;否则,该连接对象的SQL语句将聚集到事务中,直到调用commit()方法或rollback()方法为止。默认情况下,新连接的自动提交模式为true。

    语句:

    Void setAutoCommit(boolean autoCommit)

    autoCommit:该参数为true表示启用连接对象的自动提交模式:false表示禁用链接对象的自动提交模式。

    getAutoCommit()

    判断此连接对象是否启用了自动提交模式。

    语法:

    Boolean getAutoCommit()

    1. commit()方法

    该方法将执行提交SQL语句执行数据库操作,并释放此连接对象当前持有的所有数据库锁。此方法只在禁用自动提交模式情况下使用。

    语法:

    Void commit()

    1. rollback()方法

    该方法将取消在事务中进行的所有更改,并释放此连接对象当前持有的所有数据库锁。此方法只在禁止自动提交模式情况下使用。

    语法:

    Void rollback()

        1. 进货单实现过程

    创建jinhuodan类,用于实现本系统的进货单功能的界面和业务逻辑。界面中定义的主要控件如表:

    进货单界面中的主要控件

     

     

    1. 编写inittable()方法,该方法用于初始化食品表格的表头,列编辑器等。设置表格中第一个列的编辑器使用下拉列表框样式的编辑器,通过编辑器选择商品的名称,其他的商品信息将自动填充,代码如下:

    private void initTable(){

    String[]columnNames={"商品名称","商品编号","产地","单位","规格","包装","单价",

    "数量","批号","批准文号"};

    ((DefaultTableModel)table.getModel())

    .setColumnIdentifiers(columnNames);

    TableColumn column=table.getColumnModel().getColumn(0);

    final DefaultCellEditor editor=new DefaultCellEditor(sp);

    editor.setClickCountToStart(2);

    column.setCellEditor(editor);

    }

    1. 编写initSpBox()方法,该方法用于初始化表格中的商品下拉表框。它首先调用Dao类的query()方法获取指定供应商所提供的所有商品信息,然后将这些商品信息封装成商品对象,并把这些对象添加到商品下拉框中。代码如:

    private void initSpBox(){

    List list=new ArrayList();

    ResultSet set=Dao.query("select*from tb_spinfo where gysName='"

    +gys.getSelectedItem()+"'");

    sp.removeAllItems();

    sp.addItem(new TbSpinfo());

    for(int i=0;table!=null&&i<table.getRowCount();i++){

    TbSpinfo tmpInfo=(TbSpinfo)table.getValueAt(i,0);

    if(tmpInfo!=null&&tmpInfo.getId()!=null)

    list.add(tmpInfo.getId());

    }

    try{

    while(set.next()){

    TbSpinfo spinfo=new TbSpinfo();

    spinfo.setId(set.getString("id").trim());

    //如果表格中以存在同样商品,商品下拉框中就不再包含该商品

    if(list.contains(spinfo.getId()))

    continue;

    spinfo.setSpname(set.getString("spname").trim());

    spinfo.setCd(set.getString("cd").trim());

    spinfo.setJc(set.getString("jc").trim());

    spinfo.setDw(set.getString("dw").trim());

    spinfo.setGg(set.getString("gg").trim());

    spinfo.setBz(set.getString("bz").trim());

    spinfo.setPh(set.getString("ph").trim());

    spinfo.setPzwh(set.getString("pzwh").trim());

    spinfo.setMemo(set.getString("memo").trim());

    spinfo.setGysname(set.getString("gysname").trim());

    sp.addItem(spinfo);

    }

    }catch(SQLException e){

    e.printStackTrace();

    }

    }

      • 库存管理模块设计
        1. 库存业务

    库存管理是指在上产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要功能如下:

    库存盘点和价格调整等日常处理。

    价格调整功能主要用于调整库存中指定商品的单价,当用户选择了此商品,价格调整功能的界面会显示该商品在库存中的单价、数量、金额、单位、产地等信息,用户可以单击“单价”后即可修改商品的价格。如下图所示:

     

    库存管理模块中包括库存盘点和价格调整两个功能,库存盘点功能是将库存信息显示在表格中,由操作员输入盘点的商品数量,然后自动计算损益值,价格调整功能涉及下拉列表框的选择事件监听和事件处理技术,为防止用户的错误输入,程序界面经常需要将可枚举的输入内容封装在下拉列表框中,限制用户的输入。但是,想要知道下拉列表框的改变,还需要为下拉列表框添加相应的事件监听器。下面就进行简单的介绍:

    1. addItemListener()方法可以为下拉列表框添加ItemListener监听器,当更改下拉列表框的选项时,将产生相应的事件,这个事件会被添加的ItemListener监听器捕获。

    价格调整实现过程:

    创建JiaGeTiaoZheng类,用于实现本系统的价格调整功能界面和业务逻辑。界面中的主要控件如下:

    控件类型

    控件名称

    主要属性设置

    用途

    JTextField

    KuCunJinE

    库存金额

    KuCunShuLiang

    库存数量

    DanJia

    库存单价

    Jlabel

    ShangPinMingCheng

    商品名称

    GuiGe

    规格

    ChanDi

    产地

    DanWei

    单位

    Jbutton

    OkButton

    确定

    CloseButton

    关闭

    1. 编写UpdateJinE()方法,用于更新库存金额,该方法将“单价”文本框的内容转换为Double类型,将“库存数量”文本框的内容转换为Integer类型,然后用它们的乘积更新“库存金额”文本框的内容,代码如下:

    private void updateJinE(){//更新库存金额的方法

    Double dj=Double.valueOf(danJia.getText());

    Integer sl=Integer.valueOf(kuCunShuLiang.getText());

    kuCunJinE.setText((dj*sl)+"");

    }

    1. 创建ItemActionListener类,它必须实现ItemListener接口和接口中的itemStateChanged()方法,成为下拉列表框的事件监听器。当改变界面中选择的商品时,相应的ItemEvent事件会通知监听器处理业务逻辑,也就是根据摆选择的商品名称更新其他的控件内容。代码如下:

     

    ItemListener:下拉列表框的事件监听器必须实现的分接口。

    ITemStateChanged():当下拉列表框的选中项发生改变时将触发该方法。

    ItemEvent:这是选项事件类,在用户更改带有多项选择内容的组件选项时,将产生该事件。例如下拉选择框组件。

    1. 创建OKActionListener类,它必须实现ActionListener接口和接口中的actionPerformed()方法,在这个方法中获取新的库存商品价格,然后调用Dao类的updateKuCunDj()方法更新库存价格。代码如下:
    展开全文
  • 前言 随着电商行业增速的回落,野蛮...在电商的供应链管理中,有两块业务是核心内容,即订单处理和库存管理。订单是所有后台业务的源头,在多平台开店已经成为普遍采用的操作手法之后,如何高效、协调地管理来源于不...

    前言

    随着电商行业增速的回落,野蛮生长的阶段已经过去,电商开始进入精细化运作阶段,商家之间竞争从比拼营销和低价,转移到后台的供应链,供应链效率和成本的高低决定了商家的生死。

    在电商的供应链管理中,有两块业务是核心内容,即订单处理和库存管理。订单是所有后台业务的源头,在多平台开店已经成为普遍采用的操作手法之后,如何高效、协调地管理来源于不同平台的订单成为影响用户口碑的关键环节。电商消除了购物过程中的空间限制,但作为实体存在的商品需要存放、需要配送,无法消除地理空间上的限制,如何快速、低成本地满足来自不同地域的消费需求,全局库存管理成为必须要良好解决的管理难题。

    一、多平台订单管理

    所谓多平台开店,就是在开展电商业务时,不仅仅建立自己的官网,也不仅仅在淘宝平台上开网店,而是和所有主流平台合作,目前,这些平台包括:淘宝、天猫、拍拍商城、京东、苏宁易购、一号店等等,在这些平台上开独立店或通过网络分销模式进行推广。

    (一)如何统一不同平台上的订单

    很明显,由于不同平台的设计思路的差异,每个平台的订单状态都是不同的,比如淘宝平台订单状态有:“没有创建支付宝交易”、“等待买家付款”、“买家已付款”、“卖家已发货”、“买家已签收”、“交易成功”、“交易自动关闭”、“卖家或买家主动关闭交易”。而京东平台的订单状态是:“等待出库”、“等待发货”、“已发货”、“买家已收货”、“已取消”。

    这些状态中,有不少状态对平台管理有用,而对后续订单的处理是无用的;比如淘宝平台的“没有创建支付宝交易”状态,这个状态是淘宝网为了控制订单的支付过程中异常而设计的,而在海鼎系统(以下简称“系统”)中,没有支付成功的订单都不需要处理,去掉这些无用的状态,不同平台的订单状态就大同小异了,我们根据业务处理的需要,将订单统一成以下各种状态,这些状态之间的关系如下:

     

      

             当订单从各个平台上下载到后台系统中之后,系统根据对应规则,将所有订单的状态都统一到平台的订单状态中,以便后续的订单处理作业按照一致的方式完成。

    (二)订单处理策略

    销售订单从各大平台上下载后,需要进行客服的审核以及系统的相关操作,处理内容包括合并策略、促销处理策略、库存处理策略等三大类。

    1、合并策略

    以淘宝平台的订单为样本,有10%左右的订单是同一个用户在不长的一段时间内分开下单,存在合并的可能。订单的合并可以降低运费,客户收货验收也比较简单,所以被绝大多数电商所采用。

    订单的合并可以是手工合并,也可以是自动合并。手工合并灵活,但效率低,应用最多的还是自动合并。

    自动合并是有系统自动完成,当订单必须符合一定的条件后,就可以进行合并,常见的条件包括:订单的来源店铺相同、买家ID相同、收货地址相同、没有备注信息,以及都处在“买家已付款,等待审核”状态下。自动合并时订单金额和运费只是简单累加,订单行金额不再重新分摊。

    系统一般将自动合并和自动审核同时完成,将不符合自动处理条件的订单留下来,让客服手工处理。手工合并就非常灵活了,可以针对已经合并后的订单再次合并,手工合并的订单也需要手工审核。

     

    2、促销处理策略

    所有电商平台上都支持种类繁多的促销策略,但由于平台通用性的限制,还是有些促销策略不能支持,比如淘宝平台就不支持最常见的赠品促销和数量折扣促销。因此,系统提供相应的功能来弥补电商平台的不足。

    现在已经支持的促销模型有:

    模型一:全场商品,购买金额>=m,则赠送C+D;

    模型二:部分商品A,B,购买金额>=m,赠送C+D;

    模型三:赠品库存限制,赠品C库存为m个,送完即止;

    模型四:分档次赠品,高档次A,库存为m,赠品全部赠送完毕,则送低档次赠品B,库存为n;

    模型五:一批赠品A、B、C、D,库存分别为m、n、i、k,依次送完即止;

    时间是促销模型的另外一个纬度,现在的促销单中,有效时间可以精确到秒,比如每天下午6:00到8:00开始促销。

    上面提到的促销模型是系统自动生效的,由于电商的售后服务复杂多变,很多时候需要通过送赠品的方式来换取客户的理解,因此,系统还提供了手工添加赠品的功能,只要是有库存的商品都可以手工添加到订单中,作为赠品处理。

    3、库存处理策略

    根据库存的状态可以分为以下几类:可用库存、锁定库存、预留库存、买断库存、待退货库存、虚拟库存。在订单处理时,锁定库存和待退货库存是不可以使用的,其他集中类型的库存需要按顺序进行处理,处理逻辑如下:

     

     

    二、全局库存管理

    在传统零售中,由于每个实体店都有自己的库存。而对于在不同平台上的网店而言,也需要一个库存数,这个库存数既是平台的要求,也是防止超卖的管理要求。

    每个网店有库存数,不表示每个网店都需要有自己独立的仓库,因此,不同平台上的网店库存需要集中管理,以保证每个网店既不缺货又不超卖。

    库存集中管理后,库存要存放在实体仓库中,而实体仓库的建设有两种模式,即集中式和分布式,这两种模式各有优缺点。

    (一)集中式库存管理

    所有库存都放在一个实体仓库中,这种方式非常简单,也是广大中小电商最常采用的库存管理策略。

    不同平台上的店铺共同使用一个仓库中的库存时,就涉及到库存分配问题,否则就容易出现缺货或超卖,在我们系统中通过库存发布来解决。

    库存发布有两种方式,一种是按店铺的权重进行分配,比如100件库存,一个A级店铺分配40件,两个B级店铺各分配20件,两个C级店铺各分配10件。更精细一点的控制是根据商品在不同门店的销售占比来分配。另外一种方式,所有店铺库存保持一致,将所有可用库存同时发布到所有店铺上,比如100件库存,在一个A级店、两个B级店、两个C级店的库存都是100件。

    看上去第二种方式似乎不太合理,但实际上更符合电商的环境。电商销售的突然爆发性远远超过实体零售,几万件商品可以在几分钟内销售出去,如果按权重进行分配,很可能的出现C级店库存全部销售完成而下架,A级店还有大量的库存。其次各大平台的库存是可以随时更新的,通过系统对接,可以及时方便地将库存发布出去,从而降低在各个店铺缺货而影响的销售。

    通过快速的更新库存,让所有店铺的库存保持一致的做法比预分配的做法更有效性,但对于库存很少的商品容易造成超卖。比如某件商品库存只有1件了,如果所有店铺都还将库存设为1的话,几个店铺同时下单的可能性还是很大的,就非常容易出现超卖的情况了。因此,针对库存少的商品需要进行特别的控制,应该定向发布到指定的店铺上销售,而不再是发布给所有店铺销售。

    如果库存商品的数量很大,且店铺数很多的情况下,计算可用库存和发布库存是比较耗费时间的事情,因此,我们引入了增量发布的库存功能,只发布从上次发布到本次发布时间间隔内有库存变化的商品。

    (二)分布式库存管理

    与集中式库存管理相对应,一般出现以下情形时,需要分布式库存管理:

    1.         在各个区域需求量都足够大,可以支持一个配送中心的运营成本,这种情形对大型电商(如京东、一号店等)而言是非常常见的;

    2.         线下各个区域的比较强势的经销商,线上的订单需要有各个区域的经销商负责配送,这种情况对品牌企业比较多见;

    3.         产品易碎或保质期比较短(比如生鲜等)必须要通过区域配送来完成,才能有效降低损耗。

    分布式库存管理的复杂性远远超过集中式库存管理,其管理的核心在于如何协同使用在不同区域的库存,常用的方案有:

    1.         不同区域订单归属不同仓库管理

    这也是最常用的一种模式。如果自建官方商城,可以在客户下订单的时候,就可以指定到不同区域的仓库。如果是在第三方平台上的店铺,则没有办法指定区域,这是需要后台系统在处理订单的时候,根据送货地址自动将订单处理到对应区域的仓库上;

    2.         不同网店归属不同仓库管理

    这种模式不太常见。但如果一个企业有多个品牌,同时这些品牌的制造或配送仓库不在一起的时候,就会出现这种需求。由于品牌定位不同,所以不同品牌在第三方平台上都会开设不同的店铺,但后台系统还是一套,所以需要将不同网店与对应品牌的仓库建立对应关系,在处理订单的时候,根据这个对应关系扣减相应的库存;

    在分布式库存管理中,另外一个常见的难点是成本核算。比较常见的方式是每个仓库单独核算,仓库之间的调拨是成本价或加价调拨,或者所有仓库统一核算,仓库之间调拨仅仅是数量上的变化,不涉及成本上的变化。比较复杂的是某几个仓库统一核算,这些仓库内部调拨是按成本价调拨,而与其他仓库之间是加价或成本价调拨。

    (三)虚拟库存

    所谓虚拟库存,就是这些商品在仓库中并没有实际的库存,但在销售平台上显示有库存,这类库存都是虚拟库存。由于电商是先有订单后发货,从销售成立到货物发出有个时间差,这个时间差就让虚拟库存在电商中得到非常灵活和普遍的使用。

    在虚拟库存管理中,根据配送方式的不同,有两类处理模式:

    第1种,集中配送,即供应商送货到自己的仓库中,统一分货打包后,与其他在库商品一同配送给客户,这种模式的最大好处是供应商接触不到最终客户,同时,由于是统一配送,客户的服务质量能得到保证,处理流程如下:

     

      

    第2种,供应商配送,即订单发送给供应商,由供应商直送给客户。这种类型缺少了二次分拣,可以降低配送成本,但缺点是客户的资料被供应商拿走,且每个供应商的服务质量差异较大,很难统一。处理流程如下:

     

      

    结束语

    海鼎的电子商务解决方案全面解决了多平台订单处理和全局库存管理中的管理难题,整体处理框架图如下:

     

    通过灵活的自定义处理策略,系统具备了很强的适应性,为我们的客户拓展电子商务业务提供了强大的工具和坚实的基础。

     

    展开全文
  • 供应商管理库存的信息支撑系统

    千次阅读 2004-09-30 17:37:00
    现代信息技术的飞速发展,电子商务以其崭新的经营理念和实现方式成为企业决胜未来市场的... 基于互联网的供应商管理库存系统 随着互联网技术的发展,众多企业开始尝试在网上完成对供应商管理库存合作伙伴的库存管理
  • Python实现基于模块的库存管理系统

    千次阅读 2020-02-13 14:16:39
    本案例是通过一个多模块的库存管理系统案例,帮助读者深入了解基于模块的Python应用程序的开发流程。
  • ERP : 库存管理的基本原理

    千次阅读 2019-05-29 21:55:57
    库存的定义 若向同制造有关的任何一群人提问什么是库存,你将得到两种答案。 1.主要同成本与财务有关的人将回答库存是金钱,一种取物料形式的资产或现金。 2.同作业有关的人将说库存是成品、原材料、在制品或...
  • 生产管理系统是针对制造企业的生产应用而开发,通过应用ERP系统的生产管理模块,管理者能够随时了解生产情况,库存存货情况,自动生成生产配料单,跟踪整个生产过程,科学管理生产物料,同时...
  • 简单网络管理协议SNMP

    千次阅读 2012-07-21 14:39:17
    简单网络管理协议SNMP     目 录           1. 网络管理基本概念................................................................................................ 3 2. 简单网络管理协议SNMP...
  • 因为iwebshop原生的库存流程不太理想,参见: iwebshop库存量的设计缺点.txt(http://blog.csdn.net/gevolution90/article/details/8709706) 试用了一下ecshop的购买到下订单的流程,发现下了订单,并且在...
  • 下面的这篇文件是从网上找到的,挺不错,让我搞懂了ROP的计算方式 库存管理 第一节 库存及其作用 第二节 库存控制的决策 第三节 库存问题的分类及控制的基本方式 第四节 库存问题的基本模型 第五节 再订货点与服务...
  • 功能简述:通过建立商品资料表后,按业务发生入库单和销售单即可随时查询库存,销售明细,入库明细。 仅仅只设计了一个基础资料表-商品资料: 通过填写这个商品资料表后,在往后的入库和销售填单时就很方便,...
  • 1. 前言 近段时间有几个项目,客户提到需要实现供应商管理供应链上的库存(Vendor Managed Inventory)的业务。所以对这方面做了比较多的研究,现在写下来和各位同行分享一下。 本文将分为两部份,第一部分介绍...
  • 能够实时解决企业进货、销售、库存管理难题,打通从销售、订单、供应商、采购、入库、盘点、出库、发货、收款、付款等整个流程,通过实时数据跟踪销售订单、控制采购价格、减少库存积压、调整销售策略、加速资金...
  • 目前一般的较为有效库存管理方法是ABC分类,未来系统将能实现仓库群单体和整体的存量ABC分类。为此,伊利集团还新近招标购进了300台电脑,准备放置在其在全国的各个分仓,使每个分仓都能在这套系统上运作,并实现...
  • 百草ERP系统(进销存、库存管理)

    千次阅读 2010-11-10 08:44:00
    系统简介: 百草ERP系统是一套人工智能化信息管理系统,它可以结合企业自己的业务和工作流程,把他们的工作都计算机化人工智能化,更加的提高企业的所带来的经济效益。系统特点: 1。导航式的界面:所想即所见,所见...
  • 就会把生产产品的数量转化为所需物料的数量,再参照库存量来...比如说制定生产计划,生产管理人员得知道库存,但了解库存的过程并不像想象的那么简单。就像生产管理中对原料的使用,这条生产线多提走一些,因为
  • 去年12月份,帮助一个老乡完成了一份大作业,使用VB+ACCESS实现一个简单的仓库管理系统,现做一下总结并进一步完善,分为三部分:需求、设计、实现。 需求篇 项目需求: 一、控件技术要求: 1.Access数据库要求...
  • 第一章、源于实践的ERP123 一、ERP123的价值 1、渐进的提升管理水平 2、控制投资风险 3、积累实施能力 4、阶段性成功能树立信心 ...5、用于评估企业信息化...3、ERP3:完成整体信息化管理系统(全面预算管理) 三、
  • SAP呆滞库存的计算

    千次阅读 2018-07-06 12:08:28
    SAP呆滞库存的计算 https://blog.csdn.net/zhongguomao/article/details/50807201 SAP呆滞库存的计算一、什么物料是呆滞物料 呆滞就是不流动,物料呆滞多久才是呆滞?可谓标准不同,说法各异,有的认为物料的...
  • 指的是在企业生产活动过程中,周转速度较慢的库存,也被叫做Slow moving。这些库存可以是原材料、在制品和成品。 对于周转速度较慢的定义上就是见仁见智了,在不同的行业、企业里有着各自的标准,有些公司把可使用...
  • sap中的库存账龄

    千次阅读 2018-05-14 08:56:11
    1. 库存账龄与库存周转率……提到库存账龄,就不得不说到库存周转率。库存周转率是在某特定的周期,销售成本与存货平均余额的比率...很明显,库存周转率越高,库存账龄越低,但是二者又不是反比关系(比较简单的证明...
  • 安全库存——为了应对需求和供应的不确定性 订货量ROQ:指当订货时,需要订多少。  订货成本越高,订货量ROQ越大;  需求量越大,ROQ越大;  库存持有成本越高,ROQ越小 与订货量相关的两个参数:订货成本和...
  • 库存管理作为供应链管理的重要组成部分,不论对于电商企业还是实体企业都至关重要。库存体系的构建异常复杂,目前没见到特别满意的库存体系介绍。笔者有幸参与多系统的搭建,特从电商供应链产品体系总结了库存体系,...
  • Airtable(数据管理

    千次阅读 2016-04-07 08:49:49
    在如今的大数据时代下,一款优秀的数据管理工具可以使你更加有效的工作,Airtable是创建您自己的组织数据库的简单方法,它的宗旨就是“组织一切”,使用airtable分享调查形式和管理项目,跟踪收集或想法,并管理客户...
  • 库存账龄分析

    千次阅读 2011-01-21 18:29:00
    转自:http://www.itpub.net/viewthread.php?tid=1069448&page=1#pid11812755<br />... 库存账龄与库存周转率 <br />……提到库存账龄,就不得不说到库存周转率。库存周转率是在某特定的周期,销售成本与
  • 【转】库存账龄

    千次阅读 2017-10-17 16:31:43
    分享一篇关于库存账龄的文章,个人觉得写得很好 1. 库存账龄与库存周转率 ……提到库存账龄,就不得不说到库存周转率。库存周转率是在某特定的周期,销售成本与存货平均余额的比率。用以衡量一定时期内存货资产的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,129
精华内容 9,251
关键字:

如何简单有效管理库存