• 存储过程 查询出多条数据批量插入表 增加出库通知单统计按机构分组事件


    use wms;


    drop table if exists riv_outbound_notice_statistics_groupby_org;
    -- 增加出库通知单统计按机构分组表
    CREATE TABLE `riv_outbound_notice_statistics_groupby_org` (
    `ONSGO_ID` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `BEGIN_TIME` datetime NOT NULL COMMENT '统计起始时间',
    `END_TIME` datetime NOT NULL COMMENT '统计结束时间',
    `ONH_TOTAL_QTY` bigint(19) NOT NULL DEFAULT '0' COMMENT '出库通知单总创建量',
    `ONH_SHIPED_QTY` bigint(19) NOT NULL DEFAULT '0' COMMENT '出库通知单已发货量',
    `ORG_ID` int(10) NOT NULL COMMENT '机构ID',
    `ORG_CODE` varchar(40) NOT NULL COMMENT '机构代码',
    `ORG_NAME` varchar(100) NOT NULL COMMENT '机构名称',
    PRIMARY KEY (`ONSGO_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='出库通知单统计按机构分组表';


    drop procedure if exists pro_outbound_notice_statistics_groupby_org;
    -- 增加出库通知单统计按机构分组函数
    delimiter //
    create procedure `pro_outbound_notice_statistics_groupby_org`()
    begin


    DECLARE curtime VARCHAR(50);
    DECLARE pretime VARCHAR(50);


    set curtime = CONCAT(DATE_FORMAT(now(),'%Y-%m-%d '),'00:00:00');
    set pretime = date_sub(curtime, interval 1 day);



    insert into riv_outbound_notice_statistics_groupby_org(`BEGIN_TIME`, `END_TIME`,`ONH_TOTAL_QTY`, `ONH_SHIPED_QTY`,`ORG_ID`,`ORG_CODE`, `ORG_NAME`)
    select
    pretime,
    curtime,
    tab.totalQty,
    tab2.shipedQty,
    tab.orgId,
    org.ORG_CODE,
    org.ORG_NAME
    FROM
    (
    SELECT
    count(1) AS totalQty,
    ONH_ORG_ID AS orgId
    FROM
    riv_outbound_notice_h onh
    WHERE
    onh.CREATE_TIME < curtime
    AND onh.CREATE_TIME >= pretime
    GROUP BY
    onh.ONH_ORG_ID
    ) tab
    LEFT JOIN (
    SELECT
    count(1) AS shipedQty,
    ONH_ORG_ID AS orgId
    FROM
    riv_outbound_notice_h onh
    WHERE
    onh.ONH_STATUS = 90
    AND onh.ONH_SHIP_DATETIME < curtime
    AND onh.ONH_SHIP_DATETIME >= pretime
    GROUP BY
    onh.ONH_ORG_ID
    ) tab2 ON tab.orgId = tab2.orgId
    INNER JOIN riv_organization org ON tab.orgId = org.ORG_ID;

    end//
    delimiter ;


    drop event if exists event_auto_outbound_notice_statistics_groupby_org;
    set global event_scheduler='on';
    -- 增加出库通知单统计按机构分组事件
    CREATE EVENT `event_auto_outbound_notice_statistics_groupby_org`
    ON SCHEDULE EVERY 1 DAY STARTS '2017-11-10 00:00:00' ENDS '2018-01-01 00:00:00'
    ON COMPLETION NOT PRESERVE
    ENABLE
    DO
    CALL pro_outbound_notice_statistics_groupby_org();

  • 相关阅读:
    MYSQL学习笔记——数据类型
    MYSQL学习笔记——常用语句
    MYSQL学习笔记——基本语法
    Java虚拟机——类加载机制
    Java虚拟机——Class类文件结构
    Tmux
    nginx 更新提示端口占用的解决办法
    fcitx 无法启动
    E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
    清除浮动
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/7820817.html
Copyright © 2020-2023  润新知