传智播客erp项目学习,防止表单重复提交及MRP

    今天结束了erp的学习,赖老师对模块加入防止表单重复提交功能的实现进行了讲解,对ssh进行了总结,在有些技术方面比如对标签使用的选择,尽量用最基本的东西,不要太依赖某一个框架,最后还讲了MRP:Materials Requirements Planning (物料需求计划)的业务流程。

防止表单重复提交,使用令牌(token)管理机制:每次提交之前必须获取一个新令牌。
1、 服务端给客户端发送一个令牌(使用UUID产生),服务端保存该令牌(到session域中)。这可以写到Action类中或过滤器(filter)中。
//Step 1:generate a token using uuid
              UUID uuid = UUID.randomUUID();
 String uuidStr = uuid.toString();
  
             //Step 2:save the uuid into the session
 request.getSession().setAttribute("uuid", uuidStr);
2、 客户端携带令牌和需要提交的数据到服务端(写到form中)
   <input type="hidden" name="uuid" value="${sessionScope.uuid}">
3、 服务端先核对令牌,如果核对正确允许插入提交的数据并且更新令牌;如果核对不通过,向客户端提示出错。
    //1.get the token from the client.
  String uuidFromClient = request.getParameter("uuid");
  //2.get the token saved in the server.
  String uuidInServer = (String)request.getSession().getAttribute("uuid");
  //3.compare the two tokens.
  if(uuidFromClient.equals(uuidInServer)){
   //if matched,eliminate the token in the server.
   request.getSession().removeAttribute("uuid");
   return mapping.findForward("addProduct2");
  }else{
   //if not matched,
   return mapping.findForward("submitError");
  }
如果要防止重复提交的页面很多,可以把生成多个令牌放到.properties文件中。
基本MRP的原理
  按需求的来源不同,企业内部的物料可分为独立需求和相关需求两种类型。独立需求是指需求量和需求时间由企业外部的需求来决定,例如,客户订购的产品、科研试制需要的样品、售后维修需要的备品备件等;相关需求是指根据物料之间的结构组成关系由独立需求的物料所产生的需求,例如,半成品、零部件、原材料等的需求。
    MRP的基本任务是:⑴从最终产品的生产计划(独立需求)导出相关物料(原材料、零部件等)的需求量和需求时间(相关需求);⑵根据物料的需求时间和生产(订货)周期来确定其开始生产(订货)的时间。
    MRP的基本内容是编制零件的生产计划和采购计划。然而,要正确编制零件计划,首先必须落实产品的出产进度计划,用MRPⅡ的术语就是主生产计划(Master Production Schedule,MPS),这是MRP展开的依据。MRP还需要知道产品的零件结构,即物料清单(Bill Of Material,BOM),才能把主生产计划展开成零件计划;同时,必须知道库存数量才能准确计算出零件的采购数量。因此,基本MRP的依据是:⑴主生产计划(MPS);⑵物料清单(BOM)。MRPⅡ同MRP的主要区别是它运用管理会计的概念,用货币形式说明了执行MRP带来的效益,实现物料信息同资金信息集成。

MRP基本构成
(1)主生产计划(Master Production Schedule, 简称MPS)
主生产计划是确定每一具体的最终产品在每一具体时间段内生产数量的计划。这里的最终产品是指对于企业来说最终完成、要出厂的完成品,它要具体到产品的品种、型号。这里的具体时间段,通常是以周为单位,在有些情况下,也可以是日、旬、月。主生产计划详细规定生产什么、什么时段应该产出,它是独立需求计划。主生产计划根据客户合同和市场预测,把经营计划或生产大纲中的产品系列具体化,使之成为展开物料需求计划的主要依据,起到了从综合计划向具体计划过渡的承上启下作用。
(2)产品结构与物料清单(Bill of Material, BOM)
MRP系统要正确计算出物料需求的时间和数量,特别是相关需求物料的数量和时间,首先要使系统能够知道企业所制造的产品结构和所有要使用到的物料。产品结构列出构成成品或装配件的所有部件、组件、零件等的组成、装配关系和数量要求。它是MRP产品拆零的基础。为了便于计算机识别,必须把产品结构图转换成规范的数据格式,这种用规范的数据格式来描述产品结构的文件就是物料清单。它必须说明组件(部件)中各种物料需求的数量和相互之间的组成结构关系。
(3)库存信息 库存信息是保存企业所有产品、零部件、在制品、原材料等存在状态的数据库。在MRP系统中,将产品、零部件、在制品、原材料甚至工装工具等统称为“物料”或“项目”。为便于计算机识别,必须对物料进行编码。物料编码是MRP系统识别物料的唯一标识。
①现有库存量:是指在企业仓库中实际存放的物料的可用库存数量。 ②计划收到量(在途量):是指根据正在执行中的采购订单或生产订单,在未来某个时段物料将要入库或将要完成的数量。 ③已分配量:是指尚保存在仓库中但已被分配掉的物料数量。 ④提前期:是指执行某项任务由开始到完成所消耗的时间。 ⑤订购(生产)批量:在某个时段内向供应商订购或要求生产部门生产某种物料的数量。 ⑥安全库存量:为了预防需求或供应方面的不可预测的波动,在仓库中经常应保持最低库存数量作为安全库存量。

 

你可能感兴趣的:(session,String,filter,token,任务,产品)