低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:

原标题:低代码快速实现MRP运算
目标:创建生产任务时 , 系统自动根据各产品的BOM , 进行MRP运算 , 统计出所需物料 , 并根据库存计算缺货数;
实现环境:白码低代码开发平台;
前期准备:1.准备好产品、物料、BOM、生产任务、生产任务明细、生产任务需求物料数据表;
2.提前录好基础数据;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
实现步骤:1.新建一个功能 , 命名为新建生产任务;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
2.编辑功能流程
①第一步新增生产任务 , 使用新增数据的步骤;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
②第二步新增生产任务明细 , 使用新增集合的步骤 , 其中产品属性可以设置“固定” , 以实现多选的效果;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
③第三步则需要通过编程的方式 , 进行MRP运算;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
asyncfunctionrunProcess($model=model,$plugin=plugin,$params){
letlist=$params.list;//生产任务明细
letitemid=$params.item._id;//生产任务id
letrequire_list=[];
/*物料需求列表
[
{
id:"物料id",
demand:"总需求数量"
}
]
*/
for(leti=0;i<list.length;i++){//遍历生产任务明细collection
letquantity=list[i]["5fd1cc619f7ebc78933d9a2b"];//计划生产量
//查询产品的BOM列表
letbom_list=await$plugin.data.queryData("5fd1cb6c04284278923ac9a7",{
"5fd1cb8404284278923ac9a8":list[i]["5fd1cc429f7ebc78933d9a2a"]
});
for(letj=0;j<bom_list.length;j++){//遍历bom列表
//查询物料需求列表中是否已有物料
letitemIndex=require_list.findIndex((item)=>{
returnitem.id==bom_list[j]["5fd1cb9204284278923ac9a9"];
});
if(itemIndex>0){
//物料重复 , 去重 , 增加数量
require_list[itemIndex]["demand"]=newNumber(require_list[itemIndex]["demand"])+newNumber(quantity)*newNumber(bom_list[j]["5fd1cb9804284278923ac9aa"]);//产品计划生产量*物料用量
}else{
//新物料
require_list.push({
id:bom_list[j]["5fd1cb9204284278923ac9a9"],//物料id
demand:newNumber(quantity)*newNumber(bom_list[j]["5fd1cb9804284278923ac9aa"])//产品计划生产量*物料用量
});
}
}
}
for(leti=0;i<require_list.length;i++){//去重完后 , 录入到需求物料表
letform={
"5fd1cc8d04284278923ac9ad":itemid,//关联生产任务
"5fd1ccad9f7ebc78933d9a2c":require_list[i]["id"],//物料
"5fd1ccb39f7ebc78933d9a2d":require_list[i]["demand"]//总需求数量
};
//保存数据
await$plugin.data.saveData("5fd1cc8204284278923ac9ac",form);
}
}
④经过前面三步 , 已经计算好所有需要的物料以及用量 , 接下来就需要计算缺货数 , 第四步使用获取集合的步骤 , 获取已经创建好的需求物料列表;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
⑤第五步通过关联获取集合的步骤 , 获取第四步的集合进行计算缺货数;

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片

低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片
测试效果:【低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:】
低代码快速实现MRP运算目标:实现环境:前期准备:实现步骤:测试效果:
文章图片