订单的几种方式

       生产订单包括按生产订单(Production Order),流程订单(Process Order),和CO生产订单(CO Production Order)。一般都是PP选定了生产管理的模式,然后CO配合。从CO的角度来讲,按生产订单来核算成本中要用到BOM和Routing,按流程订单生产要用到BOM和Master Recipe,在没有实施PP模块的情况下,可以用CO生产订单来收集生产成本。


      Product Cost by Order是按生产订单生产,适合大量生产,一般电子机械行业常用。
Product Cost by Period适合于重复制造的行业,常采用backflush的方式核算成本。比如说有些产品品种少,一般产量大的化工行业,一般会采用这种生产模式。 
Product Cost by Sales Order是按销售订单核算成本,适用于make to order的行业。如:单件小批量的造船,大型机械制造的行业。
Product Cost by Order 和Product Cost by Sales Order 可以同时使用。有些时候一个销售订单对应多个生产订单;系统可以在收集每个生产订单成本的时候,同时收集其对应销售订单的成本。

在制造业中业存在开例Production Order时,对于有的物料采用BACKFLUSH的方式发料,那这样也可以采用Product Cost by Period的方式.就算采用BACKFLUSH的方式,那在Confirm的时候,可以通过Backflush的方式来产生发料,其实应该与开立一般的Production Order一样,只是其发料是在入库Confirm的时候产生.如果入库Confirm时产生发料,那采用Product Cost by Order也应该可以.

下面介绍一些Product Cost by Period情况:

从CO的角度看,主要是成本对象有些不同,其他的流程基本一样。
Product Cost by Period只能用Cost Collector收集成本。但Product Cost by Order可以用Product Order (或Process Order)或Cost Collector收集成本。基本的步骤是:
1.PP发料到Cost Object.
2.PP确认作业量到
Cost Object.
3.PP收货

4.确认订单完成(若是by period可以只有计划订单(Plan Order),而没有生产订单(Production Order或Process order,这样的话可以不做订单的状态管理)月底:1.CO做WIP计算(若无WIP可跳过这一步)2.CO做差异计算3.CO做Cost Object 结算。几种不同的结算方式需要根据不同需求来订的,有的需要精细到Product Order,那就需要采用Product Cost by Order.

订了采用了那种成本结算方式后,再订相应结算方式的一些步骤.
Product Cost by Order一般将相关的成本结算到COST OBJECT上;而Product Cost by Period将相关成本结算到Product Cost Collector,而且在Product Cost Collector中有Profit Center但是就是没有
Cost Center.

SAP提供的经典生产策略有make to stock和make to order。在传统的make to stock环境中,生产计划只由独立需求触发。这样,需求计划就显得 十分重要了。而sales order只是提供一些信息来监控forecase的预测数量是否恰当。使用make to stock最多的是消费品行业。因为这些产品会卖给很多客户,并且sales order的周期都很短,但生产交付时间周期相对较长。反之,make to order的行业一般都有指定的客户群,并且sales order的周期会比较长。例如,造飞机,轮船等。 

make to stock的策略中,goods issue直接消耗PIR。而传统的make to order的策略没有需求计划,PIR跟计划无关。因为生产过程是在sales order确认后才开始。但是,完全适用make to stock和make to order的公司很少。因此,大多数公司是综合使用这两种策略。他们既使用需求计划和PIR,又考虑sales order的作用。这种情况,sales order会消耗forecase。生产计划把forecase和sales order一起考虑。这种策略叫做“planning with final assembly”。 

有时候计划是用来为生产做准备。例如采购原料或生产半成品,但是 成品只有在有sales order的时候才会生产出来。这种策略叫做“planning without final assembly”。在这种策略下,可以对做计划的部分创建planned order。这个planned order可以触发下一层的物料需求,也能用来考虑capacity,但是不能直接转为生产单。当sales order 创建的时候,计划部分的planned order会相应减少,而在make to stock的物料上创建一张与sales order对应的planned order。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class system extends JFrame { JDesktopPane deskpane = new JDesktopPane();//在窗体里建立虚拟桌 JPanel p = new JPanel();//创建一个面板并实例化 public system(){//构造函数 setTitle("订单管理系统");//设置窗体标题 Container con = getContentPane(); con.setLayout(new BorderLayout());//创建一个布局 con.add(deskpane,BorderLayout.CENTER);//实例虚拟桌面的布局 Font f =new Font("新宋体",Font.PLAIN,12); JMenuBar mb = new JMenuBar();//实例化菜单栏 mb.setOpaque(true); setJMenuBar(mb); mb.setOpaque(true); setJMenuBar(mb); JMenu systemM = new JMenu("系统管理"); systemM.setFont(f); mb.add(systemM); JMenuItem land = new JMenuItem("重新登陆"); land.setFont(f); JMenuItem exit = new JMenuItem("退出系统"); exit.setFont(f); systemM.add(land); systemM.add(exit); JMenu userM = new JMenu("用户管理"); userM.setFont(f); mb.add(userM); JMenuItem password = new JMenuItem("密码修改"); password.setFont(f); JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f); userM.add(password); userM.add(addDelete); JMenu mesM = new JMenu("信息管理"); mesM .setFont(f); mb.add(mesM ); JMenu addM= new JMenu("添加信息"); addM.setFont(f); JMenu viewM = new JMenu("查看信息"); viewM.setFont(f); JMenu modifM = new JMenu("修改信息"); modifM.setFont(f); JMenu deleteM = new JMenu("删除信息"); deleteM.setFont(f); mesM.add(addM); mesM.add(viewM); mesM.add(modifM); mesM.add(deleteM); JMenuItem addgoods = new JMenuItem("添加商品信息"); addgoods.setFont(f); addM.add(addgoods); JMenuItem addclient = new JMenuItem("添加客户信息"); addclient.setFont(f); addM.add(addclient); JMenuItem viewgoods= new JMenuItem("查看商品信息"); viewgoods.setFont(f); viewM.add(viewgoods); JMenuItem viewclient = new JMenuItem("查看客户信息"); viewclient.setFont(f); viewM.add(viewclient); JMenuItem modifgoods = new JMenuItem("修改商品信息"); modifgoods.setFont(f); modifM.add(modifgoods); JMenuItem modifclient = new JMenuItem("修改用户信息"); modifclient.setFont(f); modifM.add(modifclient); JMenuItem deletegoods = new JMenuItem("删除商品信息"); deletegoods.setFont(f); deleteM.add(deletegoods); JMenuItem deleteclient = new JMenuItem("删除用户信息"); deleteclient.setFont(f); deleteM.add(deleteclient); JMenu orderM = new JMenu("订单管理"); orderM.setFont(f); mb.add(orderM); JMenuItem addO= new JMenuItem("添加订单"); addO.setFont(f); JMenuItem viewO = new JMenuItem("查看订单"); viewO.setFont(f); JMenuItem modifO = new JMenuItem("修改订单"); modifO.setFont(f); JMenuItem deleteO = new JMenuItem("删除订单"); deleteO.setFont(f); orderM.add(addO); orderM.add(viewO); orderM.add(modifO); orderM.add(deleteO); //主界面上标出学号、姓名、及所作系统名 JLabel jlabel1=new JLabel(); jlabel1.setFont(new Font("宋体",Font.BOLD,15)); //设置字体 jlabel1.setHorizontalAlignment(SwingConstants.CENTER); //设置位置 jlabel1.setText("简易订单管理系统学号:070810228" + " 姓名:廖太春指导老师:周老师"); jlabel1.setBounds(450,350, 200, 200); deskpane.add(jlabel1); password.addActionListener(new ActionListener(){//密码修改监听 public void actionPerformed(ActionEvent e){ System.out.println("修改密码"); deskpane.add(new modifpsw()); } }); land.addActionListener(new ActionListener(){//重新登陆监听 public void actionPerformed(ActionEvent e){ System.out.println("登录"); setVisible(false); new Land(); } }); addDelete.addActionListener(new ActionListener(){//添加/删除用户监听 public void actionPerformed(ActionEvent e){ deskpane.add(new AddDeleteUser()); } }); addgoods.addActionListener(new ActionListener(){//添加商品信息 public void actionPerformed(ActionEvent e){ deskpane.add(new addgoods()); } }); addclient.addActionListener(new ActionListener(){//添加用户信息 public void actionPerformed(ActionEvent e){ deskpane.add(new addclient()); } }); viewgoods.addActionListener(new ActionListener(){//查看商品信息 public void actionPerformed(ActionEvent e){ System.out.println("查看商品信息"); deskpane.add(new viewgoods()); } }); viewclient.addActionListener(new ActionListener(){//查看客户信息 public void actionPerformed(ActionEvent e){ System.out.println("查看客户信息"); deskpane.add(new viewclient()); } }); modifgoods.addActionListener(new ActionListener(){//修改商品信息 public void actionPerformed(ActionEvent e){ System.out.println("修改商品信息"); deskpane.add(new modifgoods()); } }); modifclient.addActionListener(new ActionListener(){//修改用户信息 public void actionPerformed(ActionEvent e){ System.out.println("修改用户信息"); deskpane.add(new modifclient()); } }); deletegoods.addActionListener(new ActionListener(){//删除商品信息 public void actionPerformed(ActionEvent e){ System.out.println("删除商品信息"); deskpane.add(new deletegoods()); } }); deleteclient.addActionListener(new ActionListener(){//删除用户信息 public void actionPerformed(ActionEvent e){ System.out.println("删除用户信息"); deskpane.add(new deleteclient()); } }); addO.addActionListener(new ActionListener(){//添加订单 public void actionPerformed(ActionEvent e){ deskpane.add(new addO()); } }); viewO.addActionListener(new ActionListener(){//查看订单 public void actionPerformed(ActionEvent e){ deskpane.add(new viewO()); } }); modifO.addActionListener(new ActionListener(){//修改订单 public void actionPerformed(ActionEvent e){ System.out.println("修改订单"); deskpane.add(new modifO()); } }); deleteO.addActionListener(new ActionListener(){//删除订单 public void actionPerformed(ActionEvent e){ System.out.println("/删除订单"); deskpane.add(new deleteO()); } }); exit.addActionListener(new ActionListener(){//退出系统监听 public void actionPerformed(ActionEvent e){ setVisible(false); } }); this.setBounds(200,200,700,600); setVisible(true); } public static void main(String[] args){ new Land(); } }
### 回答1: RockMQ支持三种消费模式: 1. 同步消费模式(Synchronous),消费者接收到消息后进行处理,处理完成后才会返回消息认为消费成功,否则返回消费失败。 2. 异步消费模式(Asynchronous),消息马上返回给消费者,处理时间不确定,消费者处理完成后,通过回调函数通知RockMQ处理结果。 3. 单向消费模式(One-way),发送消息到消息队列后,不需要等待消费者处理成功的确认反馈,属于一种较为简单高效的方式。 ### 回答2: RockMQ 消费模式有以下几种: 1. 集群模式:多个消费者以集群的形式消费消息。在集群模式下,通过消息负载均衡算法,消息将被平均分布给不同的消费者进行处理。 2. 广播模式:所有注册的消费者都会接收到相同的消息副本。广播模式适用于需要所有消费者都处理同一份消息的场景,如日志记录等。 3. 广播异步模式:广播模式下,消息的消费由消费者自行管理。通过异步方式进行消息的接收和处理,提高处理效率。 4. 顺序消息模式:保证消息按照特定的顺序进行消费。通过发送消息时给定的订单号或者其他有序标识,确保消费者按照相同的顺序进行处理。 以上就是 RockMQ 的几种消费模式,根据实际需求选择适合的模式能够提高消息处理的效率和可靠性。 ### 回答3: RockMQ消费模式主要有以下几种: 1. 集群模式:在集群模式下,多个消费者可以同时消费同一个队列的消息。RockMQ采用了负载均衡机制来确保消息在多个消费者之间的均衡消费。当一个消费者挂掉时,其他消费者会自动接管该消费者的消息消费。 2. 广播模式:广播模式下,每个消费者都会收到同一条消息。这种模式适用于需要多个消费者同时处理相同消息的场景,比如日志记录。 3. 负载均衡模式:负载均衡模式是针对集群模式的一种优化。在负载均衡模式下,消息消费按照消息的哈希值进行分配,相同哈希值的消息会被分配到相同的消费者上,以保证消息的有序性。 4. 延迟消费模式:延迟消费模式允许消费者延迟消费某些特定的消息。消费者可以设置延迟时间,消息将在指定延迟时间后才被消费。这种模式适用于某些需要时间处理的消息,比如定时任务。 总体来说,RockMQ提供了多种消费模式来满足不同场景下的需求。无论是集群模式、广播模式还是负载均衡模式,RockMQ都保证了高性能和可靠性,能够满足大规模分布式系统的消息处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值