文档章节

Adjust inventory PhysicalInvent of InventBatch

fandyx
 fandyx
发布于 2015/01/30 16:16
字数 171
阅读 23
收藏 0
点赞 0
评论 0
// Copyright (C), 2015, CEU Co., Ltd.
// USR Changed by 2015-01-30T16:14:10 Fandy Xie 谢宇帆
// Version       : 1.0
// Description   : 负库存批号调整,后进先出
// Return        :
static void fandy_adjustInventBatch(Args _args)
{
    inventSum           inventSum, parmInventSum;
    inventDimParm       parmInventDimParm;
    inventBatch         inventBatch;
    inventDim           inventDim, parmInventDim, inventDimLocal;
    qty                 remainQty = -45;
    InventDimGroupId    dimGroupId;
    ;
    
    parmInventDim   = inventDim::find("V200224796");
    parmInventSum   = inventSum::find("IK50204", parmInventDim.inventDimId);
    dimGroupId      = parmInventSum.inventTable().DimGroupId;
    
    setprefix(strfmt("%1,%2,%3",parmInventSum.ItemId, parmInventDim.preFixNotItemDim(dimGroupId), parmInventSum.PhysicalInvent));
    parmInventDimParm.initPhysicalInvent(dimGroupId);
    parmInventDimParm.InventBatchIdFlag = Noyes::No;
    while select inventSum
        where inventSum.ItemId          == parmInventSum.ItemId &&
              inventSum.Closed          == NoYes::No            &&
              inventSum.AvailPhysical   > 0
    #inventDimJoin(inventSum.InventDimId, inventDim, parmInventDim, parmInventDimParm)
/*
    join inventDim
        where inventDim.inventDimId         == inventSum.InventDimId            &&
              inventDim.InventLocationId    == parmInventDim.InventLocationId   &&
              inventDim.inventSerialId      == parmInventDim.inventSerialId     &&
              inventDim.InventSiteId        == parmInventDim.InventSiteId       &&
              inventDim.InventColorId       == parmInventDim.InventColorId
*/
    join inventBatch
        order by ProdDate
        where inventBatch.inventBatchId     == inventDim.inventBatchId  &&
              inventBatch.itemId            == inventSum.ItemId
    {
        inventDimLocal = inventSum.inventDim();
        
        if (abs(remainQty) > inventSum.AvailPhysical)
        {
            // doInsertJournalTrans(inventSum, - inventSum.AvailPhysical);
            info(strfmt("%1,%2,%3", inventSum.ItemId, inventDimLocal.preFix(), - inventSum.AvailPhysical));
            remainQty   += inventSum.AvailPhysical;
        }
        else
        {
            //doInsertJournalTrans(inventSum, remainQty);
            info(strfmt("%1,%2,%3", inventSum.ItemId, inventDimLocal.preFix(), remainQty));
            remainQty   = 0;
        }
        if (remainQty == 0)
            break;
    }

}


© 著作权归作者所有

共有 人打赏支持
fandyx
粉丝 0
博文 39
码字总数 11111
作品 0
东莞
技术主管
Python ansible常用模块

import ansible.runnerimport ansible.playbookimport ansible.inventoryfrom ansible import callbacksfrom ansible import utils 远程执行命令hosts = [hosts]host_inventory = ansible.i......

aaron428 ⋅ 01/04 ⋅ 0

Hawkular 1.0 Alpha1 发布,监控解决方案

Hawkular 1.0 Alpha1 发布了,Hawkular 是一个开源的监控解决方案,是 RHQ 项目 的改进版本,受益于多年的经验,Hawkular 设计之初就考虑模块化和可伸缩性,因此组件可在应用之外进行重用。H...

oschina ⋅ 2015/06/05 ⋅ 0

Ansible基于服务树进行分组全量接口调用

Ansible APi 说明 Info > ansible2.0更贴近于ansible cli的常用命令执行方式,不同于上一版本只能发送单个命令或playbook;而更推荐用户在调用ansibleAPI的时候,将playbook的每个task拆分出...

煮酒品茶 ⋅ 2017/12/25 ⋅ 0

centos7 ansible yum安装web软件

一、网站拓扑 ansible主机inventory的情况: # cat ansible_inventory.txt [front] 10.11.7.224 ansibleconnection=ssh ansiblesshuser=root ansiblessh_pass=xuAK 10.11.5.209 ansibleconn......

youkoudiancom ⋅ 2017/04/15 ⋅ 0

ansible (2.4.2.0) API python调用重写 | 适用于 web

转自 jumpserver 5.0 测试版本 下载地址 只是简单改了一下 能够单独使用。 目录结构 下面两个是演示文件 先 pip3 install ansible==2.4.2.0 安装 例子...

295631788 ⋅ 01/02 ⋅ 0

zabbix资产清单inventory管理(14)

概述 监控的设备越来越多,有时候搞不清楚哪台服务器是什么配置,大多公司有自己的资产清 单,要去专门的系统查询显得多少有点麻烦。为此,zabbix专门设置了设备资产管理功能。我们创建或者编...

小运 ⋅ 2014/05/06 ⋅ 0

数据库开发 - 事务单元作业

问题 1(100分)有一个在线交易电商平台,有两张表,分别是库存表和订单表,如下: 现在买家XiaoMing在该平台购买bag一个,需要同时在库存表中对bag库存记录减一,同时在订单表中生成该订单的...

抢小孩糖吃 ⋅ 2016/10/08 ⋅ 0

关于ansible2.0版本的ansible-playbook方法的调用

前提 管理机与客户端通过同一用户,采用ssh-key登陆 代码简介 playbook:传入playbook的文件地址 hosts:传入的匹配的主机名字 playbook的demo例子...

HelloEric ⋅ 2016/06/14 ⋅ 0

FAILED: SemanticException [Error 10041]: No partition predicate found for

FAILED: SemanticException [Error 10041]: No partition predicate found for Alias “average_sale_num_per_7d_query:temp1” Table “procurement_forecast_warehouse_stock_daily” 2018......

drdongshiye ⋅ 04/25 ⋅ 0

Hawkular Services 0.37.Final

Hawkular services 已经准备好了可以运行带 Alerts、Inventory、WildFly 代理等其他组件的 Hawkular-Metrics 的分发。该版本 mcehref="https://repository.jboss.org/nexus/content/groups/p......

达尔文 ⋅ 2017/05/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 19分钟前 ⋅ 0

彻底删除Microsoft Office的方法

参照此链接彻底删除Office https://support.office.com/zh-cn/article/%e4%bb%8e-pc-%e5%8d%b8%e8%bd%bd-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=zh-CN&rs=zh-CN&ad=CN......

Kampfer ⋅ 34分钟前 ⋅ 0

大盘与个股之间关系

大盘走多:积极出手 顺势加码 大盘走空: 少量出手 退场观望 大盘做头:逆势减码 少量操作 大盘做底 : 小量建仓 小量试单

guozenhua ⋅ 36分钟前 ⋅ 0

Day16 LVM(逻辑卷管理)与磁盘故障小案例

lvm详解 简述 LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再...

杉下 ⋅ 42分钟前 ⋅ 0

rsync实现多台linux服务器的文件同步

一、首先安装rsync,怎样安装都行,rpm,yum,还是你用源码安装都可以。因为我用的是阿里云的ESC,yum install rsync就ok了。 二、配置rsync服务 1.先建立个同步数据的帐号 123 groupadd r...

在下头真的很硬 ⋅ 56分钟前 ⋅ 0

前端基础(三):函数

字数:1685 阅读时间:5分钟 函数定义 在最新的ES规范中,声明函数有4中方法: -函数声明 -函数表达式 -构造函数Function -生成器函数 1.函数声明 语法: function name([param[, param2 [....

老司机带你撸代码 ⋅ 今天 ⋅ 0

Java虚拟机的Heap监狱

在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。 中国人把Stack翻译成“栈”,把Hea...

java高级架构牛人 ⋅ 今天 ⋅ 0

Spring MVC基本概念

只写Controller

颖伙虫 ⋅ 今天 ⋅ 0

微软重金收购GitHub的背后逻辑原来是这样的

全球最大的开发者社区GitHub网站花落谁家的问题已经敲定,微软最终以75亿美元迎娶了这位在外界看来无比“神秘”的小家碧玉。尽管此事已过去一些时日,但整个开发者世界,包括全球各地的开源社...

linux-tao ⋅ 今天 ⋅ 0

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部