MES同步ERP并开发看板基础数据

MES同步ERP并开发看板基础数据

目录

各统计任务描述

发送产能报表邮件

1. 任务目标

  • 整理所有产品种类的产能信息,每日发一封邮件给相关人员
  • 整理所有产品种类的各工序产能信息,每日发一封邮件给相关人员

2. 执行周期

1,440分钟

3. 牵扯表和字段

product_category(产品种类表)

├── product_category(产品种类表)
│  ├── id                     #标识流水id
│  ├── head_email         #接收邮件人列表

mft_procatagory_capacity_report(产品种类产能表)

├── mft_procatagory_capacity_report(产品种类产能表)
│  ├── p_categ_id                         #产品种类ID
│  ├── date                                 #当前计算日期
│  ├── id                                    #标识流水id
│  ├── name                                #产品系列名称
│  ├── alias                                 #别名
│  ├── desc                                 #描述
│  ├── pro_devices_total                 #产量
│  ├── pro_wo_num                       #工单数量

mft_procatagory_procedure_statistics_report(产品种类工序统计表)

├── mft_procatagory_procedure_statistics_report(产品种类工序统计表)
│  ├── p_categ_id                         #产品种类ID
│  ├── date                                 #当前计算日期
│  ├── name                                #产品系列名称
│  ├── alias                                 #别名
│  ├── desc                                 #描述
│  ├── test_group_id                     #测试组标识id
│  ├── procedure_name                 #工序名称
│  ├── pro_devices_total                 #产量
│  ├── fpy                                   #通过率

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询并遍历product_category表(head_email不能为False)
    (以下为单次循环执行思路)
    • 定义“产品种类产能”邮件,内容表头:“日期”, “产品系列”, “别名”, “描述”, “产量”, “工单数量”
    • 根据product_category表的id查询mft_procatagory_capacity_report的当日记录
    • 拼装(“日期”, “产品系列”, “别名”, “描述”, “产量”, “工单数量”)内容
      发送给head_email所列邮件列表
    • 定义“产品种类各工序产能”邮件,内容表头:“日期”, “产品系列”, “别名”, “描述”, “测试组名称”, “测试工序”, “通过率”, “测试设备数量”
    • 根据product_category表的id查询mft_procatagory_procedure_statistics_report的当日记录
    • 遍历mft_procatagory_procedure_statistics_report结果,追加结果并拼接内容
    • 发送给head_email所列邮件列表
结单率统计

1. 任务目标

  • 每日统计出当日的,车间里总的生产达成率、质检达成率、工单结单率
  • 每日统计出当日的,各个线体的,生产达成率、质检达成率、工单结单率

2. 执行周期

1,440分钟

3. 牵扯表和字段

mft_work_line(线体表)

├── mft_work_line(线体表)
│  ├── id                     #标识流水id
│  ├── factory_id         #所属工厂id

mft_work_order(工单表)

├── mft_work_order(工单表)
│  ├── id                     #标识流水id
│  ├── to_qe_time         #请求提交质检时间
│  ├── plan_complete_time         #计划完工时间
│  ├── qe_pass_time         #质检通过时间
│  ├── complete_time         #工单完成时间
│  ├── work_line_id         #所属产线ID

mft_work_order_line_complete_report(工单线体结单率表)

├── mft_work_order_line_complete_report(工单线体结单率表)
│  ├── work_line_id                     #产线ID
│  ├── production_complete_count         #生产完成的工单数量
│  ├── qe_complete_count         #质量完成的工单数量
│  ├── order_complete_count         #工单完成的工单数量
│  ├── plan_complete_count         #计划完成的工单数量
│  ├── production_complete_rate         #生产达成率
│  ├── qe_complete_rate         #质检达成率
│  ├── order_complete_rate         #工单结单率
│  ├── date         #日期(精确到日期)

work_order_complete_report(工单结单率表)

├── work_order_complete_report(工单结单率表)
│  ├── production_complete_count         #总生产完成的工单数量
│  ├── qe_complete_count         #总质量完成的工单数量
│  ├── order_complete_count         #总的工单完成的工单数量
│  ├── plan_complete_count         #总计划完成的工单数量
│  ├── production_complete_rate         #总生产达成率
│  ├── qe_complete_rate         #总质检达成率
│  ├── order_complete_rate         #总工单结单率
│  ├── date         #日期(精确到日期)

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询并遍历mft_work_line表,条件factory_id为1(嘉兴工厂)
    • 遍历到当前线体,根据线体ID,统计mft_work_order工单表记录数量,查询条件:“请求质检时间”、“计划完成时间”都在今日,得到“生产完成的工单数量”
    • 遍历到当前线体,根据线体ID,统计mft_work_order工单表记录数量,查询条件:“质检通过时间”、“计划完成时间”都在今日,得到“质检完成的工单数量”
    • 遍历到当前线体,根据线体ID,统计mft_work_order工单表记录数量,查询条件:“工单完成时间”、“计划完成时间”都在今日,得到“结单的工单数量”
    • 遍历到当前线体,根据线体ID,统计mft_work_order工单表记录数量,查询条件:“计划完成时间”在今日,得到“计划完成的工单数量”
    • “生产完成的工单数量”除以“计划完成的工单数量”得到“生产达成率”
    • “质检完成的工单数量”除以“计划完成的工单数量”得到“质检达成率”
    • “结单的工单数量”除以“计划完成的工单数量”得到“工单结单率”
  • 在不考虑线体的情况,同样的思路,得到“总生产达成率”、“总质检达成率”、“总工单结单率”
工单工序耗时统计

1. 任务目标

  • 计算统计,每个工单,每个工序的耗时、通过率统计

2. 执行周期

1,440分钟

3. 牵扯表和字段

mft_employee_online(客户端上下线记录表)
mft_work_order(工单表)

mft_product_grouptest(测试记录详情表)

├── product_grouptest(测试记录详情表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)

mft_procedure_group(测试组工序表)

├── procedure_group(测试组工序表)
│  ├── child_ids                     #子工序ID

mft_procedure_report(工序报表)

├── mft.procedure_report(工序报表)
│  ├── name                     #工单+工序名称
│  ├── wo_id                     #工单id
│  ├── procedure_id                     #工序id
│  ├── persons                     #子工序id列表
│  ├── used_time                     #耗时
│  ├── online_time                     #在线时间
│  ├── pass_rate                     #通过率
│  ├── all_fault_count                     #总失败次数
│  ├── count                        #数量

mft_procedure_fault_report(工序失败记录表)

├── mft_procedure_fault_report(工序失败记录表)
│  ├── name                     #工单+工序名称
│  ├── fault_count                     #失败次数
│  ├── fault_rate                     #失败率
│  ├── procedure_report_id                     #对应的工序报表id

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 根据mft_employee_online和mft_work_order得到昨天一整天的已完成的工单列表
  • 遍历这些工单
    • 根据当前工单id,查询测试记录详情表
    • 计算出每个工序的测试耗时、上线耗时、总通过率、失败次数、测试次数
    • 记录工序报表
    • 测试失败项目详情记录到“工序失败记录表”
工单实时进度统计

1. 任务目标

  • 实时计算每个工单的每个工序完成进度

2. 执行周期

45分钟

3. 牵扯表和字段

mft_employee_online(客户端上下线记录表)
mft_work_order(工单表)

mft_product_grouptest(测试记录详情表)

├── product_grouptest(测试记录详情表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)

mft_products(测试记录表)

├── mft_products(测试记录表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)
│  ├── wo_id         #工单id表

mft_pro_std(产品标准参数表)

├── mft_pro_std(产品标准参数表)
│  ├── stand_lbr_time                     #标准时间

mft_product_name(产品名称表)
mft_product_test_group(测试组表)
mft_procedure_group(测试组工序表)

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 根据工单表和客户端上下线记录表,得出1个小时以内活跃工单
  • 遍历工单
    • 根据“测试记录详情表”和“测试记录表”,以passflag是否为true,得出当前工单的每个工序的完成进度
    • 再根据产品标准参数表,得出当前工单,每个工序,预计还需要多久才能生产完
    • 同时,要刷新当前工单的已经完成设备数和完成进度
    • 同时,刷新当前工单的工单状态
发送信息邮件

1. 任务目标

  • 每隔七天,按不同型号,统计出IMEI列表,以邮件形式发送给指定人员

2. 执行周期

7天

3. 牵扯表和字段

mft_product_name(产品名称表)
mft_products(测试记录表)

├── mft_products(测试记录表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)
│  ├── wo_id         #工单id表
│  ├── prod_done_time         #生产完成时间

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 判断当前程序运行系统处于的公网IP、判断本地系统环境变量
  • 要区分正式环境与其他所有非正式环境
  • 遍历这些型号[‘FS28’, ‘FB38’, ‘FB23’, ‘FB02’, ‘FS31’, ‘VS08’, ‘FS39’, ‘FQ38’, ‘FQ33’,‘FQ02’]
    • 查询“测试记录表”过去七天的生产完成的IMEI记录
    • 对应关系“序列号”“IMEI号”
    • 先缓存到本地
    • 再发邮件给指定邮箱
产线维修按产品种类统计

1. 任务目标

  • 每日生成报表,统计各个产品系列的“产线维修创建数量”、“设计工单数”

2. 执行周期

1440分钟

3. 牵扯表和字段

product_category(产品种类)

├── product_category(产品种类)
│  ├── id                     #标识id
│  ├── complete_name         #完整名称
│  ├── parent_id         #父种类的标识id

mft_product_name(产品名称表)

product_template(物料表)

├── product_template(物料表)
│  ├── material_code                     #物料编码

mft_rework_log_line(产线维修记录表)

├── mft_rework_log_line(产线维修记录表)
│  ├── product_id                     #产品名称id
│  ├── create_date         #创建时间

mft_line_maint_procatagory_report(产线维修记录报表)

├── mft_line_maint_procatagory_report(产线维修记录报表)
│  ├── material_catagory_id                     #物料种类id(产品种类)
│  ├── date           #当次统计的日期

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询product_category种类,所有记录
  • 遍历所有的产品种类
    • 根据物料编码模糊查询“GPRO”,当前产品种类的子种类id,联合查询产品种类表、物料表、产品名称表,得到当前产品种类下边的所有产品名称
    • 查询产线维护记录表,当天数据,统计出“产线维修总数量”、“设计的工单数”
    • 按产品种类和当天时间,存于“产线维修记录报表”
产线各工单产能达成率统计

1. 任务目标

  • 每日统计出各个产线的产能达成率的

2. 执行周期

1440分钟

3. 牵扯表和字段

mft_work_line(产线表)

mft.sn_wo_history(工单历史表)
mft_employee_online(客户端上下线记录表)
mft_product_name(产品名称表)

mft_line_complete_entry(产线各工单达成率明细)

├── mft_line_complete_entry(产线各工单达成率明细)
│  ├── wo_id                     #工单id
│  ├── work_line_id                     #产线id
│  ├── date                     # 当前记录所属年月日,精确到日
│  ├── product_id                     #产品名称id
│  ├── before_aging_used_time           #老化前用时
│  ├── after_aging_used_time                     #老化后用时
│  ├── before_aging_count                     #老化前生产数量
│  ├── after_aging_count                     #老化后生产数量
│  ├── before_aging_rate                     #老化前产能达成率
│  ├── after_aging_rate                     #老化后产能达成率

mft_line_complete_report(产线产能统计)

├── mft_line_complete_report(产线产能统计)
│  ├── work_line_id                     #产线id
│  ├── date                     #当前记录所属年月日,精确到日
│  ├── order_count           #涉及工单数
│  ├── before_count                     #老化前总生产数量
│  ├── after_count                     #老化后总生产数量
│  ├── before_used_time                     #老化前总用时
│  ├── after_used_time                     #老后前总用时
│  ├── before_rate                     #老化前总达成率
│  ├── after_rate                     #老化后总达成率

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询产线表
    • 再根据各个产线和上下线记录,筛选出当前产线这一天涉及的工单
    • 遍历工单
      • 根据老化前完成的时间,老化后完成的时间,在当天范围内,查询工单历史表,得到
        • 老化前用时
        • 老化后用时
        • 老化前生产数量
        • 老化后生产数量
        • 老化前产能达成率
        • 老化后产能达成率
        • 写入产线产能达成率明细表
    • 最后得出产线产能达成率统计报表
      • 涉及工单数
      • 老化前总生产数量
      • 老化后总生产数量
      • 老化前总用时
      • 老后前总用时
      • 老化前总达成率
      • 老化后总达成率
产线产能统计

1. 任务目标

  • 每日统计出各个产线的产能数据的:
    生产工单数
    涉及工序数
    通过工序数
    测试工序数
    投入人力
    总有效工时
    最后离线时间
    总共上下线次数
    当天的设备产出数
    质检测试数
    质检测试通过数

2. 执行周期

1440分钟

3. 牵扯表和字段

mft_employee_online(客户端上下线记录表)

mft_product_test_group(测试组表)
mft_procedure_group(测试组工序表)

mft_product_grouptest(测试详情表)

├── mft_product_grouptest(测试详情表)
│  ├── pass_flag                     #是否通过(布尔)
│  ├── employee_online_id         #上下线记录ID
│  ├── man_hours         #当前测试详情记录,耗费时间
│  ├── product_id         #产品名称id
│  ├── product_procedure_id         #工序ID

mft_products(测试记录表)

├── mft_products(测试记录表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)
│  ├── wo_id         #工单id表

product_category(产品种类)

├── product_category(产品种类)
│  ├── id                     #标识id
│  ├── complete_name         #完整名称
│  ├── parent_id         #父种类的标识id

mft_product_name(产品名称表)

product_template(物料表)

├── product_template(物料表)
│  ├── material_code                     #物料编码

mft_line_capacity_report(产线产能统计)

├── mft_line_capacity_report(产线产能统计)
│  ├── line_id                     #产线id
│  ├── name                     #
│  ├── pro_wo_num           #涉及工单数
│  ├── pro_pdr_id_num                     #涉及工序数
│  ├── pro_pdr_pass_num                     #通过工序数
│  ├── pro_pdr_test_num                     #测试工序数
│  ├── pro_worker_num                     #投入人力
│  ├── pro_working_time_effective                     #总有效工时
│  ├── pro_online_offline_times                     #总共上下线次数
│  ├── pro_devices_total                     #当天的设备产出数
│  ├── pro_rate_qcpass                     #质检通过率
│  ├── qc_test_num                     #质检测试数
│  ├── qc_pass_num                     #质检测试通过数
│  ├── date               #当次统计日期

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询产线表
  • 遍历产线列表
    • 工单表、上下线记录表、测试记录表详情,分别统计出如下结果
      • 生产工单数
      • 涉及工序数
      • 通过工序数
      • 测试工序数
      • 投入人力
      • 总有效工时
      • 最后离线时间
      • 总共上下线次数
      • 当天的设备产出数
      • 质检测试数
      • 质检测试通过数
      • 质检通过率 = 质检测试通过数 / 质检测试数
    • 存入 mft_line_capacity_report(产线产能统计)
产品种类工序内容统计

1. 任务目标

  • 每日统计出各个产品种类各个工序的:
    工序测试通过次数
    工序测试次数
    工序测试失败的设备数量
    工序测试设备数量
    工序测试涉及的工单数量
    工序测试总工时
    工序测试通过的总工时

2. 执行周期

1440分钟

3. 牵扯表和字段

mft_product_test_group(测试组表)
mft_procedure_group(测试组工序表)

mft_product_grouptest(测试详情表)

├── mft_product_grouptest(测试详情表)
│  ├── pass_flag                     #是否通过(布尔)
│  ├── employee_online_id         #上下线记录ID
│  ├── man_hours         #当前测试详情记录,耗费时间
│  ├── product_id         #产品名称id
│  ├── product_procedure_id         #工序ID

mft_products(测试记录表)

├── mft_products(测试记录表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)
│  ├── wo_id         #工单id表

product_category(产品种类)

├── product_category(产品种类)
│  ├── id                     #标识id
│  ├── complete_name         #完整名称
│  ├── parent_id         #父种类的标识id

mft_product_name(产品名称表)

product_template(物料表)

├── product_template(物料表)
│  ├── material_code                     #物料编码

mft_procatagory_procedure_statistics_report(产品种类工序统计)

├── mft_procatagory_procedure_statistics_report(产品种类工序统计)

│  ├── p_categ_id                     #产品种类id
│  ├── parent_categ_id                     #父种类id
│  ├── name                     #产品种类名称
│  ├── alias                     #别名
│  ├── desc                     #描述
│  ├── test_group_id                     #所属测试组id
│  ├── procedure_id                     #所属工序id
│  ├── procedure_name                     #工序名称
│  ├── date                     #当前统计日期
│  ├── pro_pdr_pass_num                     #工序测试通过次数
│  ├── pro_pdr_test_num                     #工序测试次数
│  ├── pro_devices_fail                     #工序测试失败的设备数量
│  ├── pro_devices_total                     #工序测试设备总数量
│  ├── pro_worker_num                     #工序测试涉及的工单数量
│  ├── pro_working_time_effective                     #工序测试总工时
│  ├── pro_working_time_effective_pass               #工序测试通过的总工时
│  ├── pro_working_time_avg                     #工序测试总的平均工时
│  ├── pro_working_time_pass_avg                     #工序测试通过了的平均工时
│  ├── fpy                     #通过率

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询所有产品种类
  • 遍历产品种类
    • 通过产品种类获得当前种类下边的 产品名称列表
    • 通过产品种类获得当前种类下边的 工序名称列表
    • 遍历工序列表,基于工序表、上下线记录表、测试记录表详情,分别统计出如结果
      • 工序测试通过次数
      • 工序测试次数
      • 工序测试失败的设备数量
      • 工序测试设备数量
      • 工序测试涉及的工单数量
      • 工序测试总工时
      • 工序测试通过的总工时
      • 工序测试总的平均工时 = 工序测试总工时 / 工序测试次数
      • 工序测试通过了的平均工时 = 工序测试通过的总工时 / 工序测试通过次数
      • 通过率 = (工序测试设备数量 - 工序测试失败的设备数量) / 工序测试设备数量
    • 存入 mft_procatagory_procedure_statistics_report(产品种类工序统计)
产品种类产能及一次通过率

1. 任务目标

  • 每日统计出各个产品种类的:
    生产工单数
    涉及工序数
    通过工序数
    测试工序数
    投入人力
    总有效工时
    最后离线时间
    总共上下线次数
    当天的设备产出数
    质检测试数
    质检测试通过数
    测试失败设备数
    测试设备数
    设备的测试次数
    设备的测试失败次数

2. 执行周期

1440分钟

3. 牵扯表和字段

mft_employee_online(客户端上下线记录表)

mft_product_grouptest(测试详情表)

├── mft_product_grouptest(测试详情表)
│  ├── pass_flag                     #是否通过(布尔)
│  ├── employee_online_id         #上下线记录ID
│  ├── man_hours         #当前测试详情记录,耗费时间
│  ├── product_id         #产品名称id
│  ├── product_procedure_id         #工序ID

mft_products(测试记录表)

├── mft_products(测试记录表)
│  ├── procedure_id                     #工序标识id
│  ├── pass_flag         #是否通过(布尔)
│  ├── wo_id         #工单id表

product_category(产品种类)

├── product_category(产品种类)
│  ├── id                     #标识id
│  ├── complete_name         #完整名称
│  ├── parent_id         #父种类的标识id

mft_product_name(产品名称表)

product_template(物料表)

├── product_template(物料表)
│  ├── material_code                     #物料编码

mft_procatagory_capacity_report(产品种类产能报表)

├── mft_procatagory_capacity_report(产品种类产能报表)
│  ├── p_categ_id                     #产品种类id
│  ├── parent_categ_id                     #父种类id
│  ├── name                     #产品种类名称
│  ├── alias                     #别名
│  ├── desc                     #描述
│  ├── pro_wo_num                     #生产工单数
│  ├── pro_pdr_id_num                     #涉及工序数
│  ├── pro_pdr_pass_num                     #通过工序数
│  ├── pro_pdr_test_num                     #测试工序数
│  ├── pro_worker_num                     #投入人力
│  ├── pro_working_time_effective                     #总有效工时
│  ├── pro_working_time_total                     #总工时
│  ├── pro_rate_effect                     #有效工时比例
│  ├── pro_online_offline_times                     #总共上下线次数
│  ├── pro_devices_total                     #当天的设备产出数
│  ├── pro_rate_qcpass                     #质检通过比例(x100%)
│  ├── qc_test_num                     #质检测试数
│  ├── qc_pass_num                     #质检通过数
│  ├── date                     #当前统计日期
│  ├── pro_test_fail                     #测试失败设备数
│  ├── pro_test_total                     #测试设备数
│  ├── pro_test_times_total                     #设备的测试次数
│  ├── pro_test_times_fail                     #设备的测试失败次数

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

4. 原实现思路

  • 查询所有产品种类
  • 遍历产品种类
    • 通过产品种类获得当前种类下边的 产品名称列表
    • 遍历产品名称列表,基于产品名称、上下线记录表、测试记录详情表、测试记录表分别统计出如地下结果
      • 生产工单数
      • 涉及工序数
      • 通过工序数
      • 测试工序数
      • 投入人力
      • 总有效工时
      • 最后离线时间
      • 总共上下线次数
      • 当天的设备产出数
      • 质检测试数
      • 质检测试通过数
      • 测试失败设备数
      • 测试设备数
      • 设备的测试次数
      • 设备的测试失败次数
    • 存入 mft_procatagory_capacity_report(产品种类产能报表)
产品标准参数产能统计

1. 任务目标

  • 实时统计每个工序的最大耗时、最小耗时、标准工时、标准通过率、最新通过率

2. 执行周期

90分钟

3. 牵扯表和字段
mft_employee_online(客户端上下线记录表)
mft_work_order(工单表)

mft_product_grouptest(测试详情表)

├── mft_product_grouptest(测试详情表)
│  ├── pass_flag                     #是否通过(布尔)
│  ├── employee_online_id         #上下线记录ID
│  ├── man_hours         #当前测试详情记录,耗费时间
│  ├── product_id         #产品名称id
│  ├── product_procedure_id         #工序ID

mft_pro_std(产品标准参数表)

├── mft_pro_std(产品标准参数表)
│  ├── name                                #产品名称
│  ├── group_procedure_id                                #工序
│  ├── product_id                                #产品id
│  ├── stand_lbr_time                                #标准时间
│  ├── new_pas_rate                                #最新通过率
│  ├── max_procedure_lbr_time                                #工序最大耗时
│  ├── min_procedure_lbr_time                                #工序最小耗时
│  ├── stand_pas_rate                                #标准通过率

4. 原实现思路

  • 根据上下线记录表和工单表得出最新活跃的工单(8个小时以内)
  • 遍历最新活跃的工单
    • 根据工单获得产品id
    • 根据产品id,查询上下线记录表,对工序id做分组查询
    • 遍历得到的上下线记录
      • 根据man_hours字段,计算出每个产品的,每道工序的,实际平均工时
      • 得出当前上下线测试数量
      • 当次测试数量大于等于10的时候,才计算 最新通过率
      • 当前上下线总的测试通过的数量
      • “实际平均工时”则为“标准时间”
      • 当前上下线测试通过数量 / 当前上下线测试数量 = 最新通过率
      • 将产品名称、工序id、标准时间、最新通过率存入 产品标准参数表
  • 根据上下线记录表和工单表,得出最新活跃的产品名称id(8小时以内)
  • 遍历产品名称
    • 查询得到当前产品名称的测试组的工序
    • 遍历当前工序列表
      • 基于产品id和工序id,taking字段,在测试详情中查出工序最大耗时和最小耗时
      • 计算当前产品工序的总的测试通过的数量
      • 计算当前产品工序的总的测试数量
      • 得到平均通过率
      • 同样,存入产品标准参数表
看板类信息统计

1. 任务目标

  • 实时统计各个工单的计划数量’’ 完成数量’‘生产人数’‘在产状态’‘不良率’‘不良数量’‘直通率’‘直通数量’‘工单状态’耗时’‘创建时间’'完成时间’

2. 执行周期

45分钟

3. 牵扯表和字段
mft_employee_online(客户端上下线记录表)
mft_work_order(工单表)
mft_rework_log_line(产线维修记录表)

├── mft_rework_log_line(产线维修记录表)
│  ├── product_id                     #产品名称id
│  ├── create_date         #创建时间

mft_scheduler_task(定时任务日志表)

├── mft_scheduler_task(定时任务日志表)
│  ├── name                                #任务名称

mft_line_kanban_orders(看板类统计报表)

├── mft_line_kanban_orders(看板类统计报表)
│  ├── name                                #工单
│  ├── product_name                                #产品名称
│  ├── wo_id                                #工单id
│  ├── line_id                                #产线ID
│  ├── plan_devices                                #计划数量
│  ├── complete_devices                                #完成数量
│  ├── online_count                                #生产人数
│  ├── real_time_state                                #在产状态
│  ├── bad_rate                                #不良率
│  ├── bad_devices                                #不良数量
│  ├── onepass_devices                                #直通数量
│  ├── order_state                                #工单状态
│  ├── use_time                                #耗时
│  ├── create_time                                #创建时间
│  ├── finish_time                                #完成时间

4. 原实现思路

  • 根据上下线记录表和工单表得出最新活跃的工单(8个小时以内)
  • 遍历最新活跃的工单
    • 获取联合查询工单表和产品名称表,得出当前工单的基本数据值:工单,产品名称,计划数量,完成数量,在产状态,工单状态,创建时间,完成时间
    • 根据上下线记录,得到当前工单所属产线的id
    • 根据上下线记录,得到当前工单 生产人数 和 耗时
    • 查询产线维修记录表,得出不良数量
    • 存入看板类统计报表

各同步任务描述

同步仓库信息

1. 执行周期

1,440分钟

2. 本地存储表

mft_stock

同步组信息

1. 执行周期

1,440分钟

2. 本地存储表

mft_bom_group

同步信息

1. 执行周期

1,440分钟

2. 本地存储表

mft_bom

3. 基于Odoo实现的源码目录

同步子信息

1. 执行周期

1,440分钟

2. 本地存储表

mft_bom_child

同步资产卡片信息

1. 执行周期

7天

2. 本地存储表

maintenance_equipment

销售订单基础数据同步

1. 执行周期

1440分钟

2. 本地存储表

销售订单其他数据同步

1. 执行周期

120分钟

2. 本地存储表

mft_sal_order

销售发货通知单数据同步

1. 执行周期

15分钟

2. 特殊要求

执行的时间范围,夜里1点 ~ 19点30分

3. 本地存储表

mft_sal_delivery_notice

4. 基于Odoo实现的源码目录

生产订单同步

1. 执行周期

12分钟

2. 基于Odoo实现的源码目录

核心基础数据同步

1. 执行周期

1440分钟

同步采购收料单

1. 执行周期

1440分钟

2. 本地存储表

mft_pur_receive

3. 基于Odoo实现的源码目录

同步组织机构

1. 执行周期

1440分钟

2. 本地存储表

mft_organizations

3. 基于Odoo实现的源码目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心兰相随引导者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值