• 用友U8取两个账套区间采购入库单的第一次、最后一次原币含税单价


    --用友U8取两个账套区间采购入库单的第一次、最后一次原币含税单价

    CREATE PROCEDURE P_Quick_RdPrice
        @StartTime DATETIME,
        @EndTime DATETIME
    --SET @StartTime = '2023-01-01';
    --SET @EndTime = '2023-08-31';
    AS
    SELECT TempAll.cInvCode,
           Inventory.cInvName,
           Inventory.cInvStd,
           FristPrice.cVenName AS FristVenName,
           FristPrice.cPOID AS FristPoId,
           FristPrice.dDate AS FristDate,
           FristPrice.iOriTaxCost AS FristPrice,
           FristPrice.cMaker AS FristMaker,
           LastPrice.cVenName AS LastVenName,
           LastPrice.cPOID AS LastPoId,
           LastPrice.dDate AS LastDate,
           LastPrice.iOriTaxCost AS LastPrice,
           LastPrice.cMaker AS LastMaker
    FROM
    (
        SELECT DISTINCT
               (cIn.cInvCode) AS cInvCode
        FROM
        (
            SELECT rdrecords01.cInvCode
            FROM dbo.RdRecord01
                JOIN dbo.rdrecords01
                    ON rdrecords01.ID = RdRecord01.ID
            WHERE dDate
                  BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                  AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                  AND RdRecord01.cHandler IS NOT NULL
                  AND RdRecord01.cRdCode = '101'
                  AND rdrecords01.cPOID NOT LIKE 'CD%'
            UNION ALL
            SELECT rdrecords01.cInvCode
            FROM UFDATA_004_2020.dbo.RdRecord01
                JOIN UFDATA_004_2020.dbo.rdrecords01
                    ON rdrecords01.ID = RdRecord01.ID
            WHERE dDate
                  BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                  AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                  AND RdRecord01.cHandler IS NOT NULL
                  AND RdRecord01.cRdCode = '101'
                  AND rdrecords01.cPOID NOT LIKE 'CD%'
        ) cIn
    ) TempAll
        LEFT JOIN dbo.Inventory
            ON Inventory.cInvCode = TempAll.cInvCode
        LEFT JOIN
        (
            --第一次入库价格
            SELECT *
            FROM
            (
                SELECT Temp.dDate,
                       Temp.cVenName,
                       Temp.cInvCode,
                       Temp.iOriTaxCost,
                       --Temp.iPOsID,
                       Temp.cMaker,
                       Temp.cPOID,
                       ROW_NUMBER() OVER (PARTITION BY Temp.cInvCode ORDER BY Temp.dnmaketime ASC) AS RowId
                FROM
                (
                    SELECT RdRecord01.dDate,
                           RdRecord01.dnmaketime,
                           RdRecord01.cVenCode,
                           (
                               SELECT cVenName FROM dbo.Vendor WHERE cVenCode = RdRecord01.cVenCode
                           ) AS cVenName,
                           rdrecords01.cInvCode,
                           (
                               SELECT cMaker
                               FROM dbo.PO_Pomain
                               WHERE dbo.PO_Pomain.cPOID = rdrecords01.cPOID
                           ) AS cMaker,            --采购订单制单人
                           rdrecords01.cPOID,      --采购订单号
                                                   --rdrecords01.iPOsID,
                                                   --(
                                                   --    SELECT PO_Pomain.cMaker
                                                   --    FROM dbo.PO_Pomain
                                                   --        JOIN dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cMaker,            --采购订单制单人
                                                   --(
                                                   --    SELECT PO_Pomain.cPOID
                                                   --    FROM dbo.PO_Pomain
                                                   --        JOIN dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cPOID,             --采购订单号
                           rdrecords01.iOriTaxCost --原币含税单价
                    FROM dbo.RdRecord01
                        JOIN dbo.rdrecords01
                            ON rdrecords01.ID = RdRecord01.ID
                    WHERE dDate
                          BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                          AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                          AND RdRecord01.cHandler IS NOT NULL
                          AND RdRecord01.cRdCode = '101'
                          AND rdrecords01.cPOID NOT LIKE 'CD%'
                    UNION ALL
                    SELECT RdRecord01.dDate,
                           RdRecord01.dnmaketime,
                           RdRecord01.cVenCode,
                           (
                               SELECT cVenName
                               FROM UFDATA_004_2020.dbo.Vendor
                               WHERE cVenCode = RdRecord01.cVenCode
                           ) AS cVenName,
                           rdrecords01.cInvCode,
                           (
                               SELECT cMaker
                               FROM UFDATA_004_2020.dbo.PO_Pomain
                               WHERE PO_Pomain.cPOID = rdrecords01.cPOID
                           ) AS cMaker,            --采购订单制单人
                           rdrecords01.cPOID,      --采购订单号
                                                   --rdrecords01.iPOsID,
                                                   --(
                                                   --    SELECT PO_Pomain.cMaker
                                                   --    FROM UFDATA_004_2020.dbo.PO_Pomain
                                                   --        JOIN UFDATA_004_2020.dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cMaker,            --采购订单制单人
                                                   --(
                                                   --    SELECT PO_Pomain.cPOID
                                                   --    FROM UFDATA_004_2020.dbo.PO_Pomain
                                                   --        JOIN UFDATA_004_2020.dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cPOID,             --采购订单号
                           rdrecords01.iOriTaxCost --原币含税单价
                    FROM UFDATA_004_2020.dbo.RdRecord01
                        JOIN UFDATA_004_2020.dbo.rdrecords01
                            ON rdrecords01.ID = RdRecord01.ID
                    WHERE dDate
                          BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                          AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                          AND RdRecord01.cHandler IS NOT NULL
                          AND RdRecord01.cRdCode = '101'
                          AND rdrecords01.cPOID NOT LIKE 'CD%'
                ) Temp
            ) T
            WHERE T.RowId = 1
        ) FristPrice
            ON FristPrice.cInvCode = TempAll.cInvCode
        --最后一次入库价格
        LEFT JOIN
        (
            SELECT *
            FROM
            (
                SELECT Temp.dDate,
                       Temp.cVenName,
                       Temp.cInvCode,
                       Temp.iOriTaxCost,
                       --Temp.iPOsID,
                       Temp.cMaker,
                       Temp.cPOID,
                       ROW_NUMBER() OVER (PARTITION BY Temp.cInvCode ORDER BY Temp.dnmaketime DESC) AS RowId
                FROM
                (
                    SELECT RdRecord01.dDate,
                           RdRecord01.dnmaketime,
                           RdRecord01.cVenCode,
                           (
                               SELECT cVenName FROM dbo.Vendor WHERE cVenCode = RdRecord01.cVenCode
                           ) AS cVenName,
                           rdrecords01.cInvCode,
                           (
                               SELECT cMaker
                               FROM dbo.PO_Pomain
                               WHERE dbo.PO_Pomain.cPOID = rdrecords01.cPOID
                           ) AS cMaker,            --采购订单制单人
                           rdrecords01.cPOID,      --采购订单号
                                                   --rdrecords01.iPOsID,
                                                   --(
                                                   --    SELECT PO_Pomain.cMaker
                                                   --    FROM dbo.PO_Pomain
                                                   --        JOIN dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cMaker,            --采购订单制单人
                                                   --(
                                                   --    SELECT PO_Pomain.cPOID
                                                   --    FROM dbo.PO_Pomain
                                                   --        JOIN dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cPOID,             --采购订单号
                           rdrecords01.iOriTaxCost --原币含税单价
                    FROM dbo.RdRecord01
                        JOIN dbo.rdrecords01
                            ON rdrecords01.ID = RdRecord01.ID
                    WHERE dDate
                          BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                          AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                          AND RdRecord01.cHandler IS NOT NULL
                          AND RdRecord01.cRdCode = '101'
                          AND rdrecords01.cPOID NOT LIKE 'CD%'
                    UNION ALL
                    SELECT RdRecord01.dDate,
                           RdRecord01.dnmaketime,
                           RdRecord01.cVenCode,
                           (
                               SELECT cVenName
                               FROM UFDATA_004_2020.dbo.Vendor
                               WHERE cVenCode = RdRecord01.cVenCode
                           ) AS cVenName,
                           rdrecords01.cInvCode,
                           (
                               SELECT cMaker
                               FROM UFDATA_004_2020.dbo.PO_Pomain
                               WHERE PO_Pomain.cPOID = rdrecords01.cPOID
                           ) AS cMaker,            --采购订单制单人
                           rdrecords01.cPOID,      --采购订单号
                                                   --rdrecords01.iPOsID,
                                                   --(
                                                   --    SELECT PO_Pomain.cMaker
                                                   --    FROM UFDATA_004_2020.dbo.PO_Pomain
                                                   --        JOIN UFDATA_004_2020.dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cMaker,            --采购订单制单人
                                                   --(
                                                   --    SELECT PO_Pomain.cPOID
                                                   --    FROM UFDATA_004_2020.dbo.PO_Pomain
                                                   --        JOIN UFDATA_004_2020.dbo.PO_Podetails
                                                   --            ON PO_Podetails.POID = PO_Pomain.POID
                                                   --    WHERE PO_Podetails.ID = rdrecords01.iPOsID
                                                   --) AS cPOID,             --采购订单号
                           rdrecords01.iOriTaxCost --原币含税单价
                    FROM UFDATA_004_2020.dbo.RdRecord01
                        JOIN UFDATA_004_2020.dbo.rdrecords01
                            ON rdrecords01.ID = RdRecord01.ID
                    WHERE dDate
                          BETWEEN @StartTime AND DATEADD(DAY, 1, @EndTime)
                          AND RdRecord01.cVenCode NOT IN ( '02011000', '04010393', '02020145' )
                          AND RdRecord01.cHandler IS NOT NULL
                          AND RdRecord01.cRdCode = '101'
                          AND rdrecords01.cPOID NOT LIKE 'CD%'
                ) Temp
            ) T
            WHERE T.RowId = 1
        ) LastPrice
            ON LastPrice.cInvCode = TempAll.cInvCode;
     

  • 相关阅读:
    12-k8s-HPA自动扩缩容
    Redis实战 - 02 Redis 保存短信验证码实现用户注册
    C#使用NPOI库实现Excel的导入导出操作——提升数据处理效率的利器
    【大数据折腾不息系列】(三) MySQL安装
    4.1-4.12读书笔记
    探索 Python/Django 支持分布式多租户数据库,如 Postgres+Citus
    第十四章《多线程》第5节:线程同步
    OpenCV实现单目相机检测物体尺寸
    华为OD机考-C卷
    单片机——仿真软件Proteus基本使用教程
  • 原文地址:https://blog.csdn.net/haichao118/article/details/133313623