Public | Automated Build

Last pushed: a year ago
Short Description
EaseCloud ERP
Full Description

EaseCloud Enterprise Resource Planning Project (ECERP)

Sys 模块

关于下载 Excel

后来考虑到不同的企业之间 Excel 导出的表单格式可能不尽相同,因此,

Base 模块

在 context 里面指定 reload_tabs 可以在加载该视图的时候级联刷新指定的 tab。

例如:

# views/bpm.py
@login_required
def proc_prod(request, pk):
    context = dict()
    context['reload_tabs'] = ['index', 'bpm_produce']
    # ...
    return render(request, 'erp/bpm/proc_prod.html', context)

Mission: 待办任务

Mission 对象对应于用户看到的每一个任务项目

任务分两种:

  1. custom == True: 这一类是系统自动生成的任务,不可以自己修改内容和状态;
  2. custom == False: 这一类是用户自己创建的任务,可以自己修改内容和状态;

然后,系统任务是可以设置触发条件的,每个待办任务都会设置一个事件句柄,相当于一个钩子;

每个 Mission 对象可对应多个 MissionTrigger 触发器,每个触发器对应于一个句柄、参数及动作

每个任务触发器都有如下三个主要的字段:

  1. handle: 这是触发器的名称,用于接收发射的信号;
  2. parameter: 这是触发的参数,用于校验触发对象(一般是触发事件的对象的 ID)
  3. action: 触发时所做的动作
    • 0 - 重置:将对应的任务状态设置为“0 - 待办”
    • 1 - 完成:将对应任务状态设置为“1 - 完成”
    • 2 - 删除:删除对应的任务的

然后,MissionTrigger 有一个静态方法:MissionTrigger.emit(handle, parameter)

只要调用这个方法,并且捕捉到已有的触发器,就会根据触发器的设定修改任务对象。

下面文档列出触发器的所有句柄,如编程中有更新需要及时进行调整:

钩子 handle 相关对象 参数说明 备注
on_mrp_material_request_list__commit MaterialRequestList 备料单ID 备料单提交时触发
on_mrp_material_request_list__rollback MaterialRequestList 备料单ID 备料单退回编辑时触发
on_mrp_material_request_list__approve MaterialRequestList 备料单ID 备料单审批通过时触发
on_mrp_material_request_list__init_picked MaterialRequestList 备料单ID 备料单初次领料完成时触发
on_mrp_material_request_list__purchase MaterialRequestList 备料单ID 备料单确认采购完成时触发
on_mrp_material_request_list__picking MaterialRequestList 备料单ID 备料单完成领料时触发
on_mrp_material_request_list__repick MaterialRequestList 备料单ID 已完成备料单“继续领料”时触发
on_mrp_material_purchase_list__commit ProductDeliveryList 采购单ID 采购单确认下单时触发
on_mrp_material_purchase_list__remove ProductDeliveryList 采购单ID 采购单删除时触发
on_mrp_product_delivery_list__commit ProductDeliveryList 发货总清单ID 发货总清单提交时触发
on_mrp_product_delivery_list__rollback ProductDeliveryList 发货总清单ID 发货总清单退回时触发
on_mrp_product_delivery_list__approve ProductDeliveryList 发货总清单ID 发货总清单审核时触发
on_mrp_product_delivery_list__finish ProductDeliveryList 发货总清单ID 发货总清单确认完成时触发
on_mrp_product_delivery_list__remove ProductDeliveryList 发货总清单ID 发货总清单删除时触发
on_mrp_drawing__updated Drawing 图纸ID 图纸更新时触发
on_mrp_drawing__deleted Drawing 图纸ID 图纸删除时触发
on_bpm_process_production__submit_agent ProcessProduction 生产流程ID 生产流程提交代理时触发
on_bpm_process_production__commit ProcessProduction 生产流程ID 下发生产流程时触发
on_bpm_process_production__task_created ProcessProduction 生产流程ID 创建第一个生产任务时触发
on_bpm_process_production__task_begin ProcessProduction 生产流程ID 开始第一个生产任务时触发
on_bpm_process_production__remove ProcessProduction 生产流程ID 生产流程删除时触发
on_bpm_process_production_task__finish ProcessProductionTask 生产任务ID 完成某个生产任务时触发
on_bpm_process_production_task__check_fail ProcessProductionTask 生产任务ID 某个生产任务质检不通过时触发
on_bpm_process_production_task__check_pass ProcessProductionTask 生产任务ID 某个生产任务质检通过时触发
on_bpm_process_production_task__remove ProcessProductionTask 生产任务ID 删除生产任务时触发
on_bpm_process_design__approve ProcessDesign 设计流程ID 设计流程审批通过时触发
on_bpm_process_design__delete ProcessDesign 设计流程ID 设计流程删除时触发

Bpm 模块

  1. 必须是 Option['roles_create_process'] 指定的角色才可以发起生产流程;
  2. 生产流程里面【业务负责人】以及【技术负责人】的选择范围为具有指定角色的用户,
    这可以在系统管理员的【系统设置】功能中设定,默认情况下是“业务经理”和“技术员”
    对应的选项是 Option['roles_business'] 和 Option['roles_engineer']

Mrp 模块

MaterialRequestList 备料单

备料单主要的视图模式主要有:

  1. Edit: 创建/编辑视图
  2. Approve: 审核视图
  3. Picking: 领料视图
  4. View: 只读浏览视图

关于备料单的几点说明

  • 原则上,每个备料单都由“生产流程”而来;
  • 然后当备料单的“确认采购”环节确认之后,备料单未领用的数量会记录到“采购数量”;
  • 然后,在【钢材采购计划】中,就会出现相应的条目;
  • 采购的状态记录在备料单明细中,只有 待采购/已采购/已取消 三种状态;
  • 也就是说,要么整条采购,要么整条忽略,要么整条还没有采购;

  • 有一个例外,在“物料进仓计划”中可以手动添加采购项;

  • 每个采购项就是一个单独的备料单记录;
  • 它们挂到一个虚拟的备料单,备料单没有关联到生产流程,编号为 -1;

所有表格的数字样式问题

  • 所有涉及数量、长、宽、尺寸、重量、单价、金额都在表格中靠右;
  • 长、宽总是显示小数点后三位;
  • 计算尺寸显示小数点后两位;
  • 重量显示小数点后一位;
  • 价格、金额显示小数点后两位;
Docker Pull Command
Owner
easecloud
Source Repository