odoo生产单原材料报表
原材料表:
需求量:生产单里面mrp_production里面的需求数量,这里不能直接和产品相连,因为生产单里面是原材料而产品表里是成品,通过物料清单里的bom表与产品表相连
select
t6.产品ID,
t6.产品名称,
t6.材质,
t6.规格,
t6.实际库存,
(t6.需求总量-t6.已领总量+t6.退回总量) as 下单待领数,
(t6.实际库存-(t6.需求总量-t6.已领总量+t6.退回总量)) as 虚拟库存,
t6.在途料
FROM
(select t0.id as 产品ID ,t0.name_template as 产品名称,t1.material as 材质,t1.cust_spec as 规格,
COALESCE(t2.sjkc,0) as 实际库存 ,COALESCE(t3.ztqty,0) as 在途料,COALESCE(t8.xqqty ,0) as 需求总量,
COALESCE(t9.ylqty ,0) as 已领总量,COALESCE(t10.thqty ,0) as 退回总量
from product_product t0
left join product_template t1 on t0.product_tmpl_id=t1.id
--需求总量
LEFT JOIN ( select t5.product_id,sum(t0.materialkg) as xqqty from mrp_production t0
LEFT JOIN mrp_bom t1 on t1.id=t0.bom_id
LEFT JOIN mrp_bom_line t5 on t5.bom_id=t1.id
where t0.state!='done' and t0.company_id='4'
GROUP BY t0.product_id,t5.product_id
) t8 on t8.product_id=t0.id
-- 已领数量
LEFT JOIN(select t1.product_id , sum(t1.product_uom_qty) as ylqty from stock_picking t0
LEFT JOIN stock_move t1 on t0.id=t1.picking_id
where t1.location_id=get_warehouse_id('恒益原材料仓') and t1.location_dest_id=get_warehouse_id('恒益车间仓')
and t1.state='done'
GROUP BY t1.product_id ) t9 on t9.product_id=t0.id
--退回数量
LEFT JOIN(select t1.product_id , sum(t1.product_uom_qty) as thqty from stock_picking t0
LEFT JOIN stock_move t1 on t0.id=t1.picking_id
where t1.location_id=get_warehouse_id('恒益车间仓') and t1.location_dest_id=get_warehouse_id('恒益原材料仓')
and t1.state='done'
GROUP BY t1.product_id) t10 on t10.product_id=t0.id
--实际库存
left join(select product_id,sum(qty) sjkc from stock_quant where location_id=get_warehouse_id('恒益原材料仓') group by product_id) t2
on t2.product_id=t0.id
--在途料 在采购追踪表里面相连
left join( select product_id,sum(udlvqty) ztqty from purchase_order_track_report where udlvqty>0 and company='恒益' group by product_id)
t3 on t3.product_id=t0.name_template
where t1.categ_id=3 and t0.id<>15261 ) as t6
where t6.在途料!='0'
;
odoo生产单原材料报表的更多相关文章
- 《多线程操作之生产者消费者》(单生产单消费&多生产多消费)
说明1:假设有一个放商品的盘子(此盘子只能放下一个商品).生产者每次生产一个商品之后,放到这个盘子里,然后唤醒消费者来消费这个面包.消费者消费完这个商品之后,就唤醒生产者生产下一个商品.前提是,只有盘 ...
- 第十二章 Odoo 12开发之报表和服务端 QWeb
报表是业务应用非常有价值的功能,内置的 QWeb 引擎是报表的默认引擎.使用 QWeb 模板设计的报表可生成 HTML 文件并被转化成 PDF.也就是说我们可以很便捷地利用已学习的 QWeb 知识,应 ...
- 【Odoo 8开发教程】第二章:Odoo生产环境部署设置
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/10792977.html 一:dbfilter 数据库访问规则设置 一个odoo实例可以连接到不同的数据库实例中 ...
- Odoo 进销存报表现已开源
根据会计区间或自定义查询时间段,对仓库的产品出入库情况进行查看: 模块地址参见内部群公告.
- odoo 10 生产自动领料
分析源码 当 原材料的 补货规则 的 "补货位置" location_id 是 生产单 的 原材料 "目标位置 ", 并且 原材料的 补货规则 的 " ...
- 第十四章 Odoo 12开发之部署和维护生产实例
本文中将学习将 Odoo 服务器作为生产环境的基本准备.安装和维护服务器是一个复杂的话题,应该由专业人员完成.本文中所学习的不足以保证普通用户创建应对包含敏感数据和服务的健壮.安全环境. 本文旨在介绍 ...
- Odoo MRP模块
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825963.html 一:MRP MRP:产品制造管理. 产品制造业务设计到以下几个关键概念: 1)BOM ...
- 全球排名第一的开源ERP Odoo v12 最新一键安装体验版正式发布
引言 Odoo 12.0是目前全球Odoo社区最新推出的产品版本代号,该产品具有划时代的意义,增加了如互联网级的知识库网盘功能.工业互联网的IOT设备矩阵管控功能,全新的Python Sass前端引擎 ...
- 免费下载获取Odoo中文实施 应用 指南 手册
引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...
随机推荐
- 【20181031】arcgis10.6破解不成功的问题
首先需要下好正确版本的crack文件,license10.6文件夹里应该有ARCGIS.exe和service.txt两个文件,我的问题就是因为crack文件不完整,没有ARCGIS.exe文件,所以 ...
- cors解决跨域问题
在作前后端分离的时候,我们总是要做跨域处理. 使用 express 框架搭建项目的时候可以设置如下: app.use(function (req, res, next) { res.setHeader ...
- maven(九),install安装到本地仓库
下载oracle驱动jar包 在maven中央仓库中,是没有oracle驱动jar包的.因为oracle是商业软件,其jar包不允许用作开源用途.从http://www.mvnrepository.c ...
- sqlserver 2017 docker安装(启动代理)
从 Docker Hub 中拉出 SQL Server 2017 Linux 容器映像. docker pull microsoft/mssql-server-linux:2017-latest 运行 ...
- MySQL 8.0 —— CATS事务调度算法的性能提升
原文地址:https://mysqlserverteam.com/contention-aware-transaction-scheduling-arriving-in-innodb-to-boost ...
- Python3.5中安装Scrapy包时出现问题
在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...
- gcc库链接
转载于https://blog.csdn.net/zhangdaisylove/article/details/45721667 1.库的分类 库有静态库和动态库,linux下静态库为.a,动态库为. ...
- Activiti工作流的定义部署和执行
工作流引擎 个人觉得直接理解工作流引擎概念有点难度,我们可以先通过了解工作流引擎的职责再反过来理解工作流引擎,工作流引擎一般都做两件事情: 1.定义流程,也就是给我们提供某种规范来定义规则,以 ...
- cglib之Enhancer
1. 背景 cglib库的Enhancer在Spring AOP中作为一种生成代理的方式被广泛使用.本文针对Enhancer的用法以实际代码为例作一些介绍. 2. Enhancer是啥 Enhance ...
- gitlab 使用流程
gitlab 使用流程 1. 开发人员写代码,开发产品. 2. 测试人员进行测试,如果发现bug, 填写 Issues - List - new issus 3. 开发人员修复bug, 从master ...