• 用友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;
     

  • 相关阅读:
    Django框架的推导
    【开源】SpringBoot框架开发创意工坊双创管理系统
    MySQL 优化,查询的原理,索引的使用,如何优化查询
    Sentinel网关限流
    布(隆/谷鸟)过滤器
    Argo CD快速入门教程(gitee+argo+k8s)
    【Java基础】位运算符与原码,补码,反码
    Java多线程篇(4)——wait/notify和park/unPark
    cuda系列详细教程-花絮
    从CNN(卷积神经网络),又名CAM获取热图
  • 原文地址:https://blog.csdn.net/haichao118/article/details/133313623