2
This commit is contained in:
204
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/BillEventPlugInEx.cs
Normal file
204
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/BillEventPlugInEx.cs
Normal file
@@ -0,0 +1,204 @@
|
||||
using ExtensionMethods;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Metadata.EntityElement;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace ZHSW.STK_MisDelivery
|
||||
{
|
||||
[Description("【其他出库单】1.获取参考单价"), HotUpdate]
|
||||
public class BillEventPlugInEx : AbstractDynamicFormPlugIn
|
||||
{
|
||||
public override void DataChanged(DataChangedEventArgs e)
|
||||
{
|
||||
|
||||
base.DataChanged(e);
|
||||
|
||||
//表头日期
|
||||
if (e.Field.Key.EqualsIgnoreCase("FDATE"))
|
||||
{
|
||||
if (DoDetection())
|
||||
{
|
||||
//其他出库单 明细表
|
||||
var details = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
|
||||
if (details != null)
|
||||
{
|
||||
var entrys = this.View.Model.GetEntityDataObject(details);
|
||||
|
||||
if (entrys != null && entrys.Any())
|
||||
{
|
||||
var dateValue = e.NewValue == null ? string.Empty : e.NewValue.ToString();
|
||||
var dataList = new List<string>();
|
||||
foreach (var entry in entrys)
|
||||
{
|
||||
var rowIndex = this.View.Model.GetRowIndex(details, entry);
|
||||
|
||||
var materialObjValue = entry["MaterialId_Id"];
|
||||
var materialValue = materialObjValue.IsNullOrEmptyOrWhiteSpace() ? 0 : materialObjValue.Long2Int();
|
||||
|
||||
var stockObjValue = entry["StockId_Id"];
|
||||
var stockValue = stockObjValue.IsNullOrEmptyOrWhiteSpace() ? 0 : stockObjValue.Long2Int();
|
||||
|
||||
var entityLinkObjList = entry["FEntity_Link"] as DynamicObjectCollection;
|
||||
DynamicObject entityLinkObj = null;
|
||||
if (entityLinkObjList != null && entityLinkObjList.Any())
|
||||
entityLinkObj = entityLinkObjList[0];
|
||||
|
||||
var sBillId = entityLinkObj.IsNullOrEmptyOrWhiteSpace() ? 0 : entityLinkObj["SBillId"].Long2Int();
|
||||
var sId = entityLinkObj.IsNullOrEmptyOrWhiteSpace() ? 0 : entityLinkObj["SId"].Long2Int();
|
||||
var sTableName = entityLinkObj.IsNullOrEmptyOrWhiteSpace() ? "" : entityLinkObj["STableName"].ToString();
|
||||
|
||||
if (materialValue != 0 && stockValue != 0 && dateValue != string.Empty)
|
||||
dataList.Add($"{materialValue},{rowIndex},{sBillId},{sId},{stockValue},{dateValue},{sTableName}");
|
||||
//UpdReferPriceAndExplain(dateValue, materialValue, stockValue, rowIndex);
|
||||
}
|
||||
TotalReferAmount(entrys, details);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//子表物料id
|
||||
if (e.Field.Key.EqualsIgnoreCase("FMaterialId"))
|
||||
{
|
||||
if (DoDetection())
|
||||
{
|
||||
var dateObjValue = this.View.Model.GetValue("FDATE");
|
||||
var dateValue = dateObjValue == null ? string.Empty : dateObjValue.ToString();
|
||||
|
||||
var materialValue = e.NewValue == null ? string.Empty : e.NewValue.ToString();
|
||||
|
||||
var stockObjValue = this.View.Model.GetValue("StockId_Id", e.Row);
|
||||
var stockValue = stockObjValue.IsNullOrEmptyOrWhiteSpace() ? string.Empty : stockObjValue.ToString();
|
||||
//UpdReferPriceAndExplain(dateValue, materialValue, stockValue, e.Row);
|
||||
TotalReferAmount(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
//仓库
|
||||
if (e.Field.Key.EqualsIgnoreCase("FStockId"))
|
||||
{
|
||||
if (DoDetection())
|
||||
{
|
||||
var materialObjValue = this.View.Model.GetValue("StockId_Id", e.Row); ;
|
||||
var materialValue = materialObjValue == null ? string.Empty : materialObjValue.ToString();
|
||||
|
||||
var dateObjValue = this.View.Model.GetValue("FDATE");
|
||||
var dateValue = dateObjValue == null ? string.Empty : dateObjValue.ToString();
|
||||
|
||||
var stockValue = e.NewValue == null ? string.Empty : e.NewValue.ToString();
|
||||
|
||||
//UpdReferPriceAndExplain(dateValue, materialValue, stockValue, e.Row);
|
||||
TotalReferAmount(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
//数量
|
||||
if (e.Field.Key.EqualsIgnoreCase("FQty"))
|
||||
{
|
||||
if (DoDetection())
|
||||
{
|
||||
//参考单价
|
||||
var referPrice = this.View.Model.GetValue("FReferPrice", e.Row).ToDecimalR();
|
||||
var amount = (e.NewValue.ToDecimal() * referPrice).ToDecimalR();
|
||||
//参考金额
|
||||
this.View.Model.SetValue("FReferAmount", amount == 0 ? "" : amount.ToString(), e.Row);
|
||||
//小数类型参考金额控件
|
||||
//this.View.Model.SetValue("FReferAmountM", amount, e.Row);
|
||||
TotalReferAmount(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
#region 2023-12-14 阿斌修改,参考单价改变更新金额
|
||||
//参考单价
|
||||
if (e.Field.Key.EqualsIgnoreCase("FReferPrice"))
|
||||
{
|
||||
if (DoDetection())
|
||||
{
|
||||
//数量
|
||||
var FQty = this.View.Model.GetValue("FQty", e.Row).ToDecimalR();
|
||||
#region 2024-01-27 参考金额修正
|
||||
//参考单价
|
||||
var referPrice = e.NewValue.ToDecimal();
|
||||
//参考金额
|
||||
this.View.Model.SetValue("FReferAmount", referPrice == 0M ? "" : (FQty * referPrice).ToDecimalR().ToString(), e.Row);
|
||||
#endregion
|
||||
//小数类型参考金额控件
|
||||
TotalReferAmount(null, null);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检测组织
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool DoDetection()
|
||||
{
|
||||
//库存方向为退货时不执行取数
|
||||
var stockDirect = this.View.Model.GetValue("FStockDirect");
|
||||
if (!stockDirect.IsNullOrEmptyOrWhiteSpace() && stockDirect.Equals("RETURN"))
|
||||
return false;
|
||||
|
||||
//直接调拨单 调出库存组织
|
||||
var org = this.View.Model.GetValue("FStockOutOrgId") as DynamicObject;
|
||||
//其他出库单 库存组织
|
||||
if (org == null)
|
||||
org = this.View.Model.GetValue("FStockOrgId") as DynamicObject;
|
||||
|
||||
return org != null && Convert.ToInt32(org["Id"]) == 101542;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 参考金额汇总
|
||||
/// </summary>
|
||||
/// <param name="entrys"></param>
|
||||
private void TotalReferAmount(DynamicObjectCollection entrys, Entity details)
|
||||
{
|
||||
if (entrys == null)
|
||||
{
|
||||
//其他出库单 明细表
|
||||
details = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
entrys = this.View.Model.GetEntityDataObject(details);
|
||||
}
|
||||
|
||||
var total = 0M;
|
||||
|
||||
if (entrys != null && entrys.Any())
|
||||
{
|
||||
foreach (var entry in entrys)
|
||||
{
|
||||
var rowIndex = this.View.Model.GetRowIndex(details, entry);
|
||||
var tAmount = this.View.Model.GetValue("FReferAmount", rowIndex).ToDecimal();
|
||||
total += tAmount;
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
this.View.Model.SetValue("F_GAT_Decimal1", total);
|
||||
}
|
||||
catch
|
||||
{
|
||||
try
|
||||
{
|
||||
this.View.Model.SetValue("FTotalReferAmount", total);
|
||||
}
|
||||
catch { }
|
||||
finally { }
|
||||
}
|
||||
finally { }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
USE [AIS20240128162426]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[GetFmaterialDataNew] Script Date: 2024/4/1 9:36:54 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
ALTER proc [dbo].[GetFmaterialDataNew]
|
||||
(
|
||||
@FMaterID INT,
|
||||
@FDATE date,
|
||||
@FStockId nvarchar(1000)
|
||||
|
||||
)
|
||||
as
|
||||
begin
|
||||
|
||||
set @FStockId=RTRIM(@FStockId)
|
||||
set @FStockId=LTRIM(@FStockId)
|
||||
declare @Fprice decimal(28,10)
|
||||
declare @FNOTE varchar(50)
|
||||
declare @FAmount decimal(28,10)
|
||||
declare @FQTY1 decimal(28,10)
|
||||
EXEC GetPriceNew @FMaterID ,@FDATE ,@Fprice output ,@FNOTE output,@FAmount output,@FQTY1 output,@FStockId
|
||||
|
||||
if(@Fprice<>0)
|
||||
begin
|
||||
select @Fprice as Fprice ,@FNOTE as FNOTE,@FAmount as Amount,@FQTY1 as FQTY
|
||||
end
|
||||
else
|
||||
begin
|
||||
SELECT
|
||||
CASE WHEN FPrice = 0 THEN round( C.FCostPrice ,2)
|
||||
ELSE round(C.FPrice ,2)
|
||||
END as Fprice
|
||||
,'取采购入库单单价,单据编号为:' + A.FBILLNO as FNOTE
|
||||
,CASE WHEN FPrice = 0 THEN round( C.FCostPrice ,2) * b.FREALQTY
|
||||
else round( C.FPrice ,2) * b.FREALQTY
|
||||
end as Amount
|
||||
,b.FREALQTY as FQTY
|
||||
FROM T_STK_INSTOCK A
|
||||
INNER JOIN T_STK_INSTOCKENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F C ON C.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL D ON D.FMATERIALID = B.FMATERIALID
|
||||
WHERE
|
||||
A.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FCANCELSTATUS = 'A'
|
||||
AND A.FSTOCKORGID = 101542
|
||||
AND (c.FPrice <> 0 or c.FCostPrice <> 0)
|
||||
AND b.FMATERIALID = @FMaterID
|
||||
and b.fstockid = @FStockId
|
||||
AND CONVERT(nvarchar(10),A.FDATE,23) <= CONVERT(nvarchar(10),@FDATE,23)
|
||||
ORDER BY a.FDATE DESC, a .FAPPROVEDATE DESC,b.FSEQ DESC
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
29
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetHTPrice.sql
Normal file
29
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetHTPrice.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
CREATE proc [dbo].[GetHTPrice]
|
||||
(
|
||||
@Fnumber nvarchar(50) ,
|
||||
@Fprice decimal(28,10) out,
|
||||
@Fnote nvarchar(50) out
|
||||
)
|
||||
as
|
||||
begin
|
||||
declare @Fprice1 decimal(28,10)
|
||||
set @Fprice1=0
|
||||
select top 1 @Fprice1=b.F_QNV_DECIMAL3,@Fnote=a.F_QNV_TEXT2
|
||||
from QNV_t_Cust_Entry100003 a
|
||||
inner join QNV_t_Cust_Entry100004 b on a.FID=b.fid
|
||||
inner join T_BD_MATERIAL c on c.FMATERIALID=b.F_QNV_BASE1
|
||||
inner join T_BD_MATERIAL_L d on d.FMATERIALID=c.FMATERIALID
|
||||
where c.FNUMBER=@Fnumber
|
||||
and a.FDOCUMENTSTATUS='C'
|
||||
order by b.F_QNV_DATE2 desc
|
||||
if(@Fprice1<>0)
|
||||
begin
|
||||
set @Fprice=@Fprice1
|
||||
return
|
||||
end
|
||||
else
|
||||
begin
|
||||
set @Fprice=0
|
||||
return
|
||||
end
|
||||
end
|
||||
85
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetPriceNew.sql
Normal file
85
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetPriceNew.sql
Normal file
@@ -0,0 +1,85 @@
|
||||
|
||||
|
||||
CREATE proc [dbo].[GetPriceNew]
|
||||
(
|
||||
@FMaterID nvarchar(50) ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
||||
@FDATE date,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@Fprice decimal(28,10) out,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FDATEO nvarchar(50) out, --<EFBFBD><EFBFBD>ע
|
||||
@FAmount decimal(28,10) out,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FQTY decimal(28,10) out,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FStockId nvarchar(1000)
|
||||
)
|
||||
as
|
||||
begin
|
||||
DECLARE @FNUMBER nvarchar(50)
|
||||
DECLARE @ChildFMATERIALID nvarchar(50)
|
||||
DECLARE @Fprice1 decimal(28,10)
|
||||
DECLARE @FDATEO1 nvarchar(50)
|
||||
DECLARE @FAmount1 decimal(28,10)
|
||||
DECLARE @FQTY1 nvarchar(50)
|
||||
DECLARE @F_QNV_Combo nvarchar(50)--<EFBFBD>Ƿ<EFBFBD>ˮ<EFBFBD><EFBFBD>
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
select @FNUMBER= FNUMBER from T_BD_MATERIAL where FMATERIALID= @FMaterID
|
||||
select @F_QNV_Combo= F_QNV_Combo from T_BD_MATERIAL where FMATERIALID= @FMaterID
|
||||
|
||||
set @Fprice1=0
|
||||
exec GetSalePriceNEW @FDATE,@FMaterID,@Fprice1 out,@FDATEO1 out ,@FAmount1 out ,@FQTY1 out,@FStockId --<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>浥<EFBFBD><EFBFBD>
|
||||
if(@Fprice1<>0)--<EFBFBD>н<EFBFBD><EFBFBD>浥<EFBFBD><EFBFBD>
|
||||
begin
|
||||
set @Fprice=@Fprice1
|
||||
set @FDATEO=@FDATEO1
|
||||
set @FAmount=@FAmount1
|
||||
set @FQTY=@FQTY1
|
||||
return @Fprice
|
||||
end
|
||||
else --û<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>
|
||||
begin
|
||||
IF(@F_QNV_Combo<>1)
|
||||
begin
|
||||
exec GetHTPrice @FNUMBER,@Fprice1 output,@FDATEO1 out
|
||||
set @Fprice=@Fprice1
|
||||
if (@Fprice<>0)
|
||||
begin
|
||||
set @FDATEO='ȡ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>Ϊ<EFBFBD><CEAA>' +@FDATEO1
|
||||
end
|
||||
else
|
||||
begin
|
||||
set @FDATEO='û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>۸<EFBFBD>'
|
||||
end
|
||||
set @FAmount=0
|
||||
set @FQTY=0
|
||||
return
|
||||
end
|
||||
ELSE
|
||||
BEGIN
|
||||
set @ChildFMATERIALID=0
|
||||
|
||||
IF EXISTS (SELECT 1 from T_ENG_BOM a
|
||||
inner join T_ENG_BOMCHILD b on a.FID=b.FID
|
||||
inner join T_BD_MATERIAL c on b.FMATERIALID=c.FMATERIALID
|
||||
where a.FMATERIALID=@FMaterID AND c.F_QNV_COMBO<>1)
|
||||
BEGIN
|
||||
select @ChildFMATERIALID= c.FMATERIALID from T_ENG_BOM a
|
||||
inner join T_ENG_BOMCHILD b on a.FID=b.FID
|
||||
inner join T_BD_MATERIAL c on b.FMATERIALID=c.FMATERIALID
|
||||
where a.FMATERIALID=@FMaterID
|
||||
|
||||
EXEC [GetPriceNew] @ChildFMATERIALID,@FDATE ,@Fprice output ,@FDATEO output , @FAmount output,@FQTY1 output,@FStockId
|
||||
|
||||
return
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
set @Fprice=0
|
||||
set @FDATEO='<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+@FNUMBER+'û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>BOM<EFBFBD><EFBFBD>'
|
||||
set @FAmount=0
|
||||
set @FQTY=0
|
||||
return
|
||||
END
|
||||
END
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
74
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetSalePriceNew.sql
Normal file
74
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/GetSalePriceNew.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
CREATE PROC [dbo].[GetSalePriceNew]
|
||||
(
|
||||
@FDate date,
|
||||
@FMaterID int,
|
||||
@Fprice decimal(28,10) out,
|
||||
@FDateO nvarchar(50) out,
|
||||
@FAmount decimal(28,10) out,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FQTY decimal(28,10) out ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
@FStockId nvarchar(1000)
|
||||
)
|
||||
as
|
||||
begin
|
||||
|
||||
--declare @FDate date,
|
||||
--@FMaterID int,
|
||||
--@Fprice decimal(28,10) ,
|
||||
--@FDateO nvarchar(50) ,
|
||||
--@FAmount decimal(28,10) ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--@FQTY decimal(28,10) ,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
--@FStockId nvarchar(1000)
|
||||
--SET @FDate = ''
|
||||
--SET @FMaterID = 0
|
||||
--SET @FStockId = 0
|
||||
--exec GetSalePriceNew @FDate , @FMaterID ,@Fprice out , @FDateO out ,@FAmount out,@FQTY out ,@FStockId
|
||||
--SELECT @FDate,@FMaterID,@Fprice,@FDateO,@FAmount,@FQTY,@FStockId
|
||||
|
||||
declare @Fyear int
|
||||
declare @Fmonth int
|
||||
|
||||
declare @FNumber nvarchar(100)
|
||||
|
||||
SELECT @FNumber= fnumber FROM T_BD_MATERIAL WHERE FMATERIALID=@FMaterID
|
||||
|
||||
SELECT TOP 1
|
||||
@Fyear = FYEAR
|
||||
,@Fmonth = FPERIOD
|
||||
,@FAMOUNT = sum(FAMOUNT)
|
||||
,@FQty = sum(FQTY)
|
||||
,@Fprice = CASE WHEN @FQty<>0 THEN ROUND( @FAMOUNT/@FQty,6) ELSE 0 END
|
||||
,@FDateO= CONVERT(nvarchar(10),FYEAR)+'.'+CONVERT(nvarchar(10),FPERIOD)
|
||||
FROM
|
||||
(
|
||||
SELECT a.FNUMBER,THO.FYEAR ,THO.FPERIOD,THIB.FAMOUNT,THIB.FQTY
|
||||
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_HS_INIVBALANCE THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>
|
||||
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
||||
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
||||
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
||||
INNER JOIN T_BD_MATERIAL a ON a.FMATERIALID=THS.FMATERIALID
|
||||
WHERE
|
||||
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1)
|
||||
AND THS.FSTOCKORGID = 101542)
|
||||
AND a.FNUMBER=@FNumber
|
||||
AND @FStockId = THS.FSTOCKID
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT a.FNUMBER, THO.FYEAR ,THO.FPERIOD, THIB.FAMOUNT ,THIB.FQTY
|
||||
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_HS_INIVBALANCE_H THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>
|
||||
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
||||
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
||||
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
||||
INNER JOIN T_BD_MATERIAL a ON a.FMATERIALID=THS.FMATERIALID
|
||||
WHERE
|
||||
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1) AND THS.FSTOCKORGID = 101542)
|
||||
AND a.FNUMBER = @FNumber
|
||||
AND @FStockId = THS.fstockid
|
||||
) t
|
||||
GROUP BY FYEAR ,FPERIOD
|
||||
HAVING FYEAR*100 + FPERIOD <= year(@FDate) * 100 + MONTH(@FDate) AND sum(FQTY) >0
|
||||
ORDER BY FYEAR DESC , FPERIOD DESC
|
||||
RETURN
|
||||
END
|
||||
54
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价.sql
Normal file
54
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
SELECT t0.FBILLNO,t0.FDATE,t0e.FID,t0e.FENTRYID,t0e.FMATERIALID
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FPRICE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FPRICE --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FPRICE --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ELSE 0
|
||||
END) AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FQTY
|
||||
,t0e.FReferAmount
|
||||
,t0e.FExplain
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN 'Դ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t1.FBILLNO
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN 'Դ_<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t2.FBILLNO
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN 'Դ_<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>뵥:'+ t3.FBILLNO
|
||||
ELSE ''
|
||||
END) AS 'newExplain'
|
||||
,t0e_lk.FSTABLENAME
|
||||
INTO #TMP_HAS_PARENT_MIS
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
|
||||
OUTER APPLY (
|
||||
SELECT t1.FBILLNO,t1e.FPRICE
|
||||
FROM T_STK_MISDELIVERY t1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
||||
AND (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY')
|
||||
) t1
|
||||
OUTER APPLY (
|
||||
SELECT t2.FBILLNO,t2e.FPRICE
|
||||
FROM T_STK_INSTOCK t2 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2.FID = t2e.FID
|
||||
AND (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY')
|
||||
) t2
|
||||
OUTER APPLY (
|
||||
SELECT t3.FBILLNO,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,6) ,t3e.FReferPrice) END) AS FPRICE
|
||||
FROM T_STK_STKTRANSFERIN t3 --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
||||
AND (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1')
|
||||
) t3
|
||||
WHERE 1 = 1
|
||||
AND t0.FSTOCKORGID = 101542
|
||||
AND t0e_lk.FSTABLENAME IN ('T_STK_STKTRANSFERINENTRY1','T_STK_INSTOCKENTRY' ,'T_STK_MISDELIVERYENTRY')
|
||||
AND t0.FDATE >= '2023-11-01 00:00:00.000'
|
||||
|
||||
SELECT t1.*
|
||||
--UPDATE t0e SET t0e.FReferPrice = t1.newReferPrice
|
||||
--,t0e.FReferAmount = t1.newReferPrice * t0e.FQTY
|
||||
--, t0e.FExplain = t1.newExplain
|
||||
FROM T_STK_MISDELIVERYENTRY t0e
|
||||
INNER JOIN #TMP_HAS_PARENT_MIS t1 on t0e.FENTRYID = t1.FENTRYID
|
||||
WHERE t1.newReferPrice != 0
|
||||
|
||||
DROP TABLE #TMP_HAS_PARENT_MIS
|
||||
178
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价_1.sql
Normal file
178
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价_1.sql
Normal file
@@ -0,0 +1,178 @@
|
||||
/********************************ȡ<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>start*****************************************/
|
||||
SELECT t0e.FMATERIALID
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FPRICE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FPRICE --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FPRICE --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ELSE 0
|
||||
END) AS 'newReferPrice'
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN 'Դ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t1.FBILLNO
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN 'Դ_<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t2.FBILLNO
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN (CASE t3.FPRICE WHEN 0 THEN '' ELSE 'Դ_<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>뵥:'+ t3.FBILLNO END)
|
||||
ELSE ''
|
||||
END) AS 'newExplain'
|
||||
,t0.FBILLNO
|
||||
,t0.FDATE
|
||||
,YEAR(t0.FDATE) * 100 + MONTH(t0.FDATE) AS DateNum
|
||||
,t0e.FSTOCKID
|
||||
,t0e.FID
|
||||
,t0e.FENTRYID
|
||||
,t0e_lk.FSTABLENAME
|
||||
,t4.FMASTERID
|
||||
,t4i.FINVPTYID
|
||||
,t4i.FISAFFECTCOST
|
||||
,t4i.FISENABLE
|
||||
INTO #TMP_HAS_PARENT_MIS
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
LEFT JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT t1.FBILLNO,t1e.FPRICE
|
||||
,t1.FID,t1e.FENTRYID
|
||||
FROM T_STK_MISDELIVERY t1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
||||
--AND (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY')
|
||||
) t1 ON (t1.FID = t0e_lk.FSBILLID AND t1.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY')
|
||||
LEFT JOIN (
|
||||
SELECT t2.FBILLNO,t2e.FPRICE
|
||||
,t2.FID,t2e.FENTRYID
|
||||
FROM T_STK_INSTOCK t2 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2.FID = t2e.FID
|
||||
--AND (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY')
|
||||
) t2 ON (t2.FID = t0e_lk.FSBILLID AND t2.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY')
|
||||
LEFT JOIN (
|
||||
SELECT t3.FBILLNO,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,6) ,t3e.FReferPrice) END) AS FPRICE
|
||||
,t3.FID,t3e.FENTRYID
|
||||
FROM T_STK_STKTRANSFERIN t3 --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
||||
--AND (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1')
|
||||
) t3 ON (t3.FID = t0e_lk.FSBILLID AND t3.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1')
|
||||
INNER JOIN T_BD_MATERIAL t4 on t4.FMATERIALID = t0e.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIALINVPTY t4i on t0e.FMATERIALID = t4i.FMATERIALID AND t4i.FINVPTYID = 10001 --AND t4i.FISENABLE = 1
|
||||
WHERE 1 = 1
|
||||
AND t0.FSTOCKORGID = 101542
|
||||
AND t0.FDATE >= '2024-01-01 00:00:00.000'
|
||||
/********************************ȡ<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>end*****************************************/
|
||||
/***********************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start***************************************************/
|
||||
|
||||
SELECT t0.FID,t0.FENTRYID,t0.FDATE,t0.FBILLNO,t0.FMASTERID
|
||||
,t0.FMATERIALID,t0.FSTOCKID,t0.FINVPTYID,t0.FISAFFECTCOST,t0.FISENABLE
|
||||
,(CASE t0.newExplain WHEN ''
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1 THEN t2.FDATE ELSE t3.FDATE END)
|
||||
ELSE t0.newExplain
|
||||
END)AS 'newExplain'
|
||||
,(CASE t0.newExplain WHEN '' THEN
|
||||
(CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN t2.PRICE
|
||||
ELSE (CASE WHEN t3.FQTY <> 0 THEN ROUND(t3.FAMOUNT/t3.FQTY,6) ELSE 0 END)
|
||||
END)
|
||||
ELSE t0.newReferPrice
|
||||
END) AS 'newReferPrice'
|
||||
INTO #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST
|
||||
FROM #TMP_HAS_PARENT_MIS t0
|
||||
OUTER APPLY(
|
||||
SELECT TOP 1 tt1.FDATE
|
||||
,(CASE WHEN tt1.FQTY <> 0 THEN ROUND(tt1.FAMOUNT/tt1.FQTY,6) ELSE 0 END) AS PRICE
|
||||
FROM V_MATERIAL_INIVSTOCKDIMENSION tt1
|
||||
WHERE 1 = 1
|
||||
AND t0.FMASTERID = tt1.FMASTERID
|
||||
AND t0.FSTOCKID = tt1.FSTOCKID
|
||||
AND tt1.DateNum <= t0.DateNum
|
||||
AND (t0.FISENABLE = 1 AND t0.FISAFFECTCOST = 1)
|
||||
AND t0.FSTABLENAME IS NULL
|
||||
AND tt1.FQTY > 0
|
||||
ORDER BY tt1.FYEAR DESC,tt1.FPERIOD DESC
|
||||
) t2
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 tt2.FYEAR,tt2.FPERIOD
|
||||
,CONVERT(nvarchar(10),FYEAR) + '.' + CONVERT(nvarchar(10),FPERIOD) AS FDATE
|
||||
,SUM(tt2.FAMOUNT) AS FAMOUNT,SUM(tt2.FQTY) AS FQTY
|
||||
FROM V_MATERIAL_INIVSTOCKDIMENSION tt2
|
||||
WHERE 1 = 1
|
||||
AND t0.FMASTERID = tt2.FMASTERID
|
||||
AND tt2.DateNum <= t0.DateNum
|
||||
AND (t0.FISENABLE = 0 OR t0.FISAFFECTCOST = 0)
|
||||
AND t0.FSTABLENAME IS NULL
|
||||
GROUP BY tt2.FYEAR,tt2.FPERIOD
|
||||
HAVING SUM(tt2.FQTY) > 0
|
||||
ORDER BY tt2.FYEAR DESC,tt2.FPERIOD DESC
|
||||
) t3
|
||||
--CREATE INDEX #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_INDEX_FDATE ON #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST(FDATE)
|
||||
/*****************************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end***********************************************/
|
||||
/*****************************************<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥstart**********************************************/
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FENTRYID,t0.FDATE,t0.FMASTERID
|
||||
,t0.FMATERIALID,t0.FSTOCKID,t0.FINVPTYID,t0.FISAFFECTCOST
|
||||
,ISNULL((CASE WHEN t0.newReferPrice = 0
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN (CASE WHEN t1.FMATERIALID IS NOT NULL THEN t1.FPRICE ELSE t2.FPRICE END)
|
||||
ELSE (CASE WHEN t2.FMATERIALID IS NOT NULL THEN t2.FPRICE ELSE t1.FPRICE END)
|
||||
END)
|
||||
ELSE t0.newReferPrice
|
||||
END),0) AS 'newReferPrice'
|
||||
,ISNULL((CASE WHEN t0.newReferPrice = 0
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN (CASE WHEN t1.FMATERIALID IS NOT NULL THEN 'ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>:'+t1.FBILLNO ELSE 'ȡ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>Ϊ:'+t2.FBILLNO END)
|
||||
ELSE (CASE WHEN t2.FMATERIALID IS NOT NULL THEN 'ȡ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>Ϊ:'+t2.FBILLNO ELSE 'ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>:'+t1.FBILLNO END)
|
||||
END)
|
||||
ELSE t0.newExplain
|
||||
END),'û<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>') AS 'newExplain'
|
||||
INTO #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_1
|
||||
FROM #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST t0
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 tt0.FBILLNO,tt0e.FMATERIALID,tt0e.FSTOCKID
|
||||
,tt0e_f.FPRICE,tt0e_f.FCOSTPRICE
|
||||
FROM T_STK_INSTOCK tt0 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_INSTOCKENTRY tt0e on tt0.FID = tt0e.FID
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F tt0e_f on tt0e.FENTRYID = tt0e_f.FENTRYID
|
||||
WHERE
|
||||
tt0.FDOCUMENTSTATUS = 'C'
|
||||
AND tt0.FCANCELSTATUS = 'A'
|
||||
AND tt0.FSTOCKORGID = 101542
|
||||
AND (tt0e_f.FPRICE != 0 OR tt0e_f.FCOSTPRICE <> 0)
|
||||
AND t0.FMATERIALID = tt0e.FMATERIALID AND tt0e.FSTOCKID = t0.FSTOCKID
|
||||
AND DATEDIFF(DAY,tt0.FDATE, t0.FDATE) > -1
|
||||
ORDER BY tt0.FDATE DESC
|
||||
) t1
|
||||
LEFT JOIN T_BD_MATERIAL tt1 on tt1.FMASTERID = t0.FMASTERID AND tt1.FDOCUMENTSTATUS = 'C' AND tt1.FFORBIDSTATUS = 'A'
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
tt0e.F_QNV_BASE1 AS FMATERIALID
|
||||
--,tt0e.F_QNV_DECIMAL3 AS FPRICE--<EFBFBD>ۺϵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
--,tt0e.F_QNV_DECIMAL1 AS FPRICE--<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt0e.F_QNV_PRICE AS FPRICE--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt0.F_QNV_TEXT2 AS FBILLNO
|
||||
FROM QNV_t_Cust_Entry100003 tt0 --<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD>ͬ
|
||||
INNER JOIN QNV_t_Cust_Entry100004 tt0e on tt0.FID = tt0e.FID AND tt1.FMATERIALID = tt0e.F_QNV_BASE1
|
||||
WHERE 1 = 1
|
||||
AND tt0.FDOCUMENTSTATUS = 'C'
|
||||
ORDER BY F_QNV_DATE2 DESC
|
||||
) t2
|
||||
--LEFT JOIN (
|
||||
-- SELECT
|
||||
-- tt0e.F_QNV_BASE1 AS FMATERIALID
|
||||
-- --,tt0e.F_QNV_DECIMAL3 AS FPRICE--<2D>ۺϵ<DBBA><CFB5><EFBFBD>
|
||||
-- --,tt0e.F_QNV_DECIMAL1 AS FPRICE--<2D><>˰<EFBFBD><CBB0><EFBFBD><EFBFBD>
|
||||
-- ,tt0e.F_QNV_PRICE AS FPRICE--<2D><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD>
|
||||
-- ,tt0.F_QNV_TEXT2 AS FBILLNO
|
||||
-- ,tt1.FMASTERID
|
||||
-- ,ROW_NUMBER() OVER (PARTITION BY tt1.FMASTERID ORDER BY F_QNV_DATE2 DESC, tt1.FUSEORGID DESC) 'RN'
|
||||
-- FROM QNV_t_Cust_Entry100003 tt0 --<2D><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD>ͬ
|
||||
-- INNER JOIN QNV_t_Cust_Entry100004 tt0e on tt0.FID = tt0e.FID
|
||||
-- INNER JOIN T_BD_MATERIAL tt1 on tt1.FMATERIALID = tt0e.F_QNV_BASE1
|
||||
-- WHERE 1 = 1
|
||||
-- AND tt0.FDOCUMENTSTATUS = 'C'
|
||||
--) t2 on t0.FMASTERID = t2.FMASTERID AND t2.RN = 1
|
||||
/*****************************************<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥend**********************************************/
|
||||
|
||||
SELECT t0.*
|
||||
,t1e.FReferPrice,t1e.FReferAmount,t1e.FExplain
|
||||
FROM #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_1 t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t0.FENTRYID = t1e.FENTRYID
|
||||
WHERE 1= 1
|
||||
--AND newExplain = 'û<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>'
|
||||
--AND t0.fbillno = 'QTCK074080'
|
||||
|
||||
DROP TABLE #TMP_HAS_PARENT_MIS
|
||||
DROP TABLE #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST
|
||||
DROP TABLE #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_1
|
||||
176
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价_V2.sql
Normal file
176
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/更新其他出库单参考单价_V2.sql
Normal file
@@ -0,0 +1,176 @@
|
||||
SELECT
|
||||
rowSet2.[1] AS 'FMATERIALID'
|
||||
,rowSet2.[2] AS 'inRow'
|
||||
,rowSet2.[3] AS 'FSTOCKID'
|
||||
,rowSet2.[4] AS 'FDate'
|
||||
,rowSet2.[5] AS 'FSBILLID'
|
||||
,rowSet2.[6] AS 'FSID'
|
||||
,rowSet2.[7] AS 'FSTABLENAME'
|
||||
INTO #TMP_DATA
|
||||
FROM (SELECT 1 ID,CAST('<v>'+ REPLACE('100123,0,0,2024-04-07 00:00:00,0,0,',';','</v><v>') + '</v>' AS XML) AS xmlVal
|
||||
) AS valSet
|
||||
OUTER APPLY (
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY valSet.ID) RN
|
||||
,CAST('<v>'+ REPLACE(T.C.value('.','varchar(100)'),',','</v><v>') + '</v>' AS XML) xmlVal
|
||||
FROM valSet.xmlVal.nodes('/v') AS T(C)
|
||||
) rowSet
|
||||
OUTER APPLY (
|
||||
SELECT TT2.* FROM (
|
||||
SELECT T.C.value('.','varchar(100)') AS xmlVal
|
||||
,ROW_NUMBER() OVER (ORDER BY rowSet.RN) RowNo
|
||||
FROM rowSet.xmlVal.nodes('/v') AS T(C)
|
||||
) TT
|
||||
PIVOT (MAX(TT.xmlVal) FOR TT.RowNo IN ([1],[2],[3],[4],[5],[6],[7])) TT2
|
||||
) rowSet2
|
||||
|
||||
/***********************************ȡ<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>start*****************************************/
|
||||
SELECT t0e_lk.FMATERIALID
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FPRICE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FPRICE --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FPRICE --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ELSE 0
|
||||
END) AS 'newReferPrice'
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN 'Դ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t1.FBILLNO
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN 'Դ_<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ:'+ t2.FBILLNO
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN (CASE t3.FPRICE WHEN 0 THEN '' ELSE 'Դ_<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>뵥:'+ t3.FBILLNO END)
|
||||
ELSE ''
|
||||
END) AS 'newExplain'
|
||||
,t0e_lk.FSTABLENAME
|
||||
,t0e_lk.FDATE
|
||||
,t0e_lk.FSTOCKID
|
||||
,t0e_lk.inRow
|
||||
,t4.FMASTERID
|
||||
,t4i.FINVPTYID
|
||||
,t4i.FISAFFECTCOST
|
||||
,t4i.FISENABLE
|
||||
INTO #TMP_HAS_PARENT_MIS
|
||||
FROM #TMP_DATA t0e_lk
|
||||
OUTER APPLY (
|
||||
SELECT t1.FBILLNO,t1e.FPRICE
|
||||
FROM T_STK_MISDELIVERY t1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
||||
AND (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY')
|
||||
) t1
|
||||
OUTER APPLY (
|
||||
SELECT t2.FBILLNO,t2e.FPRICE
|
||||
FROM T_STK_INSTOCK t2 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2.FID = t2e.FID
|
||||
AND (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY')
|
||||
) t2
|
||||
OUTER APPLY (
|
||||
SELECT t3.FBILLNO,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,6) ,t3e.FReferPrice) END) AS FPRICE
|
||||
FROM T_STK_STKTRANSFERIN t3 --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
||||
AND (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1')
|
||||
) t3
|
||||
INNER JOIN T_BD_MATERIAL t4 on t4.FMATERIALID = t0e.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIALINVPTY t4i on t0e.FMATERIALID = t4i.FMATERIALID AND t4i.FINVPTYID = 10001 --AND t4i.FISENABLE = 1
|
||||
WHERE 1 = 1
|
||||
/***********************************ȡ<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>end********************************************/
|
||||
|
||||
/***********************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start***************************************************/
|
||||
SELECT t0.FDATE
|
||||
--,t0.FBILLNO,t0.FID,t0.FENTRYID
|
||||
,t0.FMASTERID,t0.FMATERIALID,t0.FSTOCKID,t0.FINVPTYID,t0.FISAFFECTCOST,t0.FISENABLE
|
||||
,(CASE t0.newExplain WHEN ''
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1 THEN t2.FDATE ELSE t3.FDATE END)
|
||||
ELSE t0.newExplain
|
||||
END)AS 'newExplain'
|
||||
,(CASE t0.newExplain WHEN '' THEN
|
||||
(CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN t2.PRICE
|
||||
ELSE (CASE WHEN t3.FQTY <> 0 THEN ROUND(t3.FAMOUNT/t3.FQTY,6) ELSE 0 END)
|
||||
END)
|
||||
ELSE t0.newReferPrice
|
||||
END) AS 'newReferPrice'
|
||||
INTO #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST
|
||||
FROM #TMP_HAS_PARENT_MIS t0
|
||||
OUTER APPLY(
|
||||
SELECT TOP 1 tt1.FDATE
|
||||
,(CASE WHEN tt1.FQTY <> 0 THEN ROUND(tt1.FAMOUNT/tt1.FQTY,6) ELSE 0 END) AS PRICE
|
||||
FROM V_MATERIAL_INIVSTOCKDIMENSION tt1
|
||||
WHERE 1 = 1
|
||||
AND t0.FMASTERID = tt1.FMASTERID
|
||||
AND t0.FSTOCKID = tt1.FSTOCKID
|
||||
AND tt1.DateNum <= t0.DateNum
|
||||
AND (t0.FISENABLE = 1 AND t0.FISAFFECTCOST = 1)
|
||||
AND t0.FSTABLENAME IS NULL
|
||||
AND tt1.FQTY > 0
|
||||
ORDER BY tt1.FYEAR DESC,tt1.FPERIOD DESC
|
||||
) t2
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 tt2.FYEAR,tt2.FPERIOD
|
||||
,CONVERT(nvarchar(10),FYEAR) + '.' + CONVERT(nvarchar(10),FPERIOD) AS FDATE
|
||||
,SUM(tt2.FAMOUNT) AS FAMOUNT,SUM(tt2.FQTY) AS FQTY
|
||||
FROM V_MATERIAL_INIVSTOCKDIMENSION tt2
|
||||
WHERE 1 = 1
|
||||
AND t0.FMASTERID = tt2.FMASTERID
|
||||
AND tt2.DateNum <= t0.DateNum
|
||||
AND (t0.FISENABLE = 0 OR t0.FISAFFECTCOST = 0)
|
||||
AND t0.FSTABLENAME IS NULL
|
||||
GROUP BY tt2.FYEAR,tt2.FPERIOD
|
||||
HAVING SUM(tt2.FQTY) > 0
|
||||
ORDER BY tt2.FYEAR DESC,tt2.FPERIOD DESC
|
||||
) t3
|
||||
|
||||
/*****************************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end***********************************************/
|
||||
/*****************************************<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥstart**********************************************/
|
||||
SELECT t0.FDATE
|
||||
--,t0.FBILLNO,t0.FID,t0.FENTRYID
|
||||
,t0.FMASTERID,t0.FMATERIALID,t0.FSTOCKID,t0.FINVPTYID,t0.FISAFFECTCOST
|
||||
,t0.inRow
|
||||
,ISNULL((CASE WHEN t0.newReferPrice = 0
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN (CASE WHEN t1.FMATERIALID IS NOT NULL THEN t1.FPRICE ELSE t2.FPRICE END)
|
||||
ELSE (CASE WHEN t2.FMATERIALID IS NOT NULL THEN t2.FPRICE ELSE t1.FPRICE END)
|
||||
END)
|
||||
ELSE t0.newReferPrice
|
||||
END),0) AS 'newReferPrice'
|
||||
,ISNULL((CASE WHEN t0.newReferPrice = 0
|
||||
THEN (CASE WHEN t0.FISAFFECTCOST = 1 AND t0.FISENABLE = 1
|
||||
THEN (CASE WHEN t1.FMATERIALID IS NOT NULL THEN 'ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>:'+t1.FBILLNO ELSE 'ȡ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>Ϊ:'+t2.FBILLNO END)
|
||||
ELSE (CASE WHEN t2.FMATERIALID IS NOT NULL THEN 'ȡ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>Ϊ:'+t2.FBILLNO ELSE 'ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>:'+t1.FBILLNO END)
|
||||
END)
|
||||
ELSE t0.newExplain
|
||||
END),'û<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>') AS 'newExplain'
|
||||
--INTO #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_1
|
||||
FROM #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST t0
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 tt0.FBILLNO,tt0e.FMATERIALID,tt0e.FSTOCKID
|
||||
,tt0e_f.FPRICE,tt0e_f.FCOSTPRICE
|
||||
FROM T_STK_INSTOCK tt0 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_INSTOCKENTRY tt0e on tt0.FID = tt0e.FID
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F tt0e_f on tt0e.FENTRYID = tt0e_f.FENTRYID
|
||||
WHERE
|
||||
tt0.FDOCUMENTSTATUS = 'C'
|
||||
AND tt0.FCANCELSTATUS = 'A'
|
||||
AND tt0.FSTOCKORGID = 101542
|
||||
AND (tt0e_f.FPRICE != 0 OR tt0e_f.FCOSTPRICE <> 0)
|
||||
AND t0.FMATERIALID = tt0e.FMATERIALID AND tt0e.FSTOCKID = t0.FSTOCKID
|
||||
AND DATEDIFF(DAY,tt0.FDATE, t0.FDATE) > -1
|
||||
ORDER BY tt0.FDATE DESC
|
||||
) t1
|
||||
LEFT JOIN T_BD_MATERIAL tt1 on tt1.FMASTERID = t0.FMASTERID AND tt1.FDOCUMENTSTATUS = 'C' AND tt1.FFORBIDSTATUS = 'A'
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
tt0e.F_QNV_BASE1 AS FMATERIALID
|
||||
--,tt0e.F_QNV_DECIMAL3 AS FPRICE--<EFBFBD>ۺϵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
--,tt0e.F_QNV_DECIMAL1 AS FPRICE--<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt0e.F_QNV_PRICE AS FPRICE--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt0.F_QNV_TEXT2 AS FBILLNO
|
||||
FROM QNV_t_Cust_Entry100003 tt0 --<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD>ͬ
|
||||
INNER JOIN QNV_t_Cust_Entry100004 tt0e on tt0.FID = tt0e.FID AND tt1.FMATERIALID = tt0e.F_QNV_BASE1
|
||||
WHERE 1 = 1
|
||||
AND tt0.FDOCUMENTSTATUS = 'C'
|
||||
ORDER BY F_QNV_DATE2 DESC
|
||||
) t2
|
||||
/*****************************************<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥend**********************************************/
|
||||
|
||||
DROP TABLE #TMP_DATA
|
||||
DROP TABLE #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>
|
||||
DROP TABLE #TMP_HAS_PARENT_MIS
|
||||
--DROP TABLE #TMP_NOT_PARENT_MIS
|
||||
DROP TABLE #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST
|
||||
--DROP TABLE #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>_END_LIST_1
|
||||
125
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/获取上游单据成本价作为参考单价.sql
Normal file
125
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/获取上游单据成本价作为参考单价.sql
Normal file
@@ -0,0 +1,125 @@
|
||||
--v1.0 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1e.FPRICE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN t2e.FPRICE --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN (CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t3e.FReferPrice) END) --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ELSE 0
|
||||
END) AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FReferAmount
|
||||
,(CASE t0e_lk.FSTABLENAME
|
||||
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FBILLNO
|
||||
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FBILLNO
|
||||
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FBILLNO
|
||||
ELSE ''
|
||||
END) AS '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t0e_lk.FSTABLENAME
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
|
||||
LEFT JOIN T_STK_MISDELIVERYENTRY t1e
|
||||
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_MISDELIVERY t1 on t0e_lk.FSBILLID = t1.FID
|
||||
LEFT JOIN T_STK_INSTOCKENTRY_F t2e
|
||||
on (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY') --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_INSTOCK t2 on t0e_lk.FSBILLID = t2.FID
|
||||
LEFT JOIN T_STK_STKTRANSFERINENTRY t3e
|
||||
on (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1') --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERIN t3 on t0e_lk.FSBILLID = t3.FID
|
||||
WHERE t0.FSTOCKORGID = 101542
|
||||
AND t0e_lk.FSTABLENAME IN ('T_STK_STKTRANSFERINENTRY1','T_STK_INSTOCKENTRY' ,'T_STK_MISDELIVERYENTRY')
|
||||
|
||||
--v2.0
|
||||
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
||||
,(CASE
|
||||
WHEN t1.LinkId IS NOT NULL THEN t1.FPRICE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
WHEN t2.LinkId IS NOT NULL THEN t2.FPRICE --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>
|
||||
WHEN t3.LinkId IS NOT NULL THEN t3.FPRICE --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ELSE 0
|
||||
END) AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FReferAmount
|
||||
,(CASE WHEN t1.LinkId is not null THEN t1.FBILLNO
|
||||
WHEN t2.LinkId is not null THEN t2.FBILLNO
|
||||
WHEN t3.LinkId is not null THEN t3.FBILLNO
|
||||
ELSE ''
|
||||
END) AS '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT t1.FBILLNO,t1e.FPRICE,t0e_lk.FENTRYID AS LinkId,t0e_lk.FSTABLENAME
|
||||
FROM T_STK_MISDELIVERY t1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY'
|
||||
) t1 on t1.LinkId = t0e.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT t2.FBILLNO,t2e.FPRICE,t0e_lk.FENTRYID AS LinkId,t0e_lk.FSTABLENAME
|
||||
FROM T_STK_INSTOCK t2 --<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2e.FID = t2.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY'
|
||||
) t2 on t2.LinkId = t0e.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT t3.FBILLNO
|
||||
,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t3e.FReferPrice) END) AS 'FPRICE'
|
||||
,t0e_lk.FENTRYID AS LinkId
|
||||
,t0e_lk.FSTABLENAME
|
||||
FROM T_STK_STKTRANSFERIN t3 --<EFBFBD>ֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1'
|
||||
) t3 on t3.LinkId = t0e.FENTRYID
|
||||
WHERE t0.FSTOCKORGID = 101542
|
||||
--v3.0
|
||||
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
||||
,t1e.FPRICE AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FReferAmount
|
||||
,t0e_lk.FSTABLENAME
|
||||
,t1.FBILLNO
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY'
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t1e
|
||||
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_MISDELIVERY t1 on t0e_lk.FSBILLID = t1.FID
|
||||
WHERE t0.FSTOCKORGID = 101542
|
||||
|
||||
UNION ALL
|
||||
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
||||
,t1e.FPRICE AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FReferAmount
|
||||
,t0e_lk.FSTABLENAME
|
||||
,t1.FBILLNO
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY'
|
||||
INNER JOIN T_STK_INSTOCKENTRY_F t1e
|
||||
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_INSTOCK t1 on t0e_lk.FSBILLID = t1.FID
|
||||
WHERE t0.FSTOCKORGID = 101542
|
||||
|
||||
UNION ALL
|
||||
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
||||
,(CASE LTRIM(RTRIM(t1e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t1e.FReferPrice) END) AS newReferPrice
|
||||
,t0e.FReferPrice
|
||||
,t0e.FReferAmount
|
||||
,t0e_lk.FSTABLENAME
|
||||
,t1.FBILLNO
|
||||
FROM T_STK_MISDELIVERY t0
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1'
|
||||
INNER JOIN T_STK_STKTRANSFERINENTRY t1e
|
||||
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_STK_STKTRANSFERIN t1 on t0e_lk.FSBILLID = t1.FID
|
||||
WHERE t0.FSTOCKORGID = 101542
|
||||
/***********<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯstart**********/
|
||||
--SELECT t0.FNUMBER,t0.FMATERIALID,t0i.FINVPTYID
|
||||
--FROM T_BD_MATERIAL t0
|
||||
-- INNER JOIN T_BD_MATERIALINVPTY t0i
|
||||
-- on t0.FMATERIALID = t0i.FMATERIALID
|
||||
-- AND t0i.FINVPTYID = 10001
|
||||
-- AND t0i.FISAFFECTCOST = 1
|
||||
--WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
|
||||
/***********<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯend**********/
|
||||
37
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/视图_物料期初余额结存.sql
Normal file
37
02.珠海市供水有限公司/ZHSW/STK_MisDelivery/sql/视图_物料期初余额结存.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
--IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='V_MATERIAL_INIVSTOCKDIMENSION') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
-- DROP VIEW V_MATERIAL_INIVSTOCKDIMENSION --<2D><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
|
||||
--GO
|
||||
CREATE VIEW V_MATERIAL_INIVSTOCKDIMENSION
|
||||
AS
|
||||
SELECT
|
||||
FYEAR,FPERIOD,t.FMASTERID,t.FSTOCKID
|
||||
,sum(FAMOUNT) AS FAMOUNT
|
||||
,sum(FQTY) AS FQTY
|
||||
,CONVERT(nvarchar(10),FYEAR)+'.'+CONVERT(nvarchar(10),FPERIOD) AS FDATE
|
||||
,FYEAR * 100 + FPERIOD AS DateNum
|
||||
,ROW_NUMBER() over (ORDER BY FYEAR DESC,FPERIOD DESC) RN
|
||||
--INTO #TMP_<50><5F><EFBFBD>浥<EFBFBD><E6B5A5>
|
||||
FROM (SELECT THO.FYEAR ,THO.FPERIOD,THIB.FAMOUNT,THIB.FQTY,THS.FSTOCKID,THS.FMATERIALID,t4.FMASTERID
|
||||
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_HS_INIVBALANCE THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>
|
||||
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
||||
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
||||
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
||||
INNER JOIN T_BD_MATERIAL t4 on t4.FMATERIALID = THS.FMATERIALID
|
||||
WHERE
|
||||
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1) AND THS.FSTOCKORGID = 101542)
|
||||
--AND t4.FMASTERID in (SELECT DISTINCT FMASTERID FROM #TMP_HAS_PARENT_MIS WHERE newReferPrice !=0)
|
||||
UNION ALL
|
||||
SELECT THO.FYEAR ,THO.FPERIOD, THIB.FAMOUNT,THIB.FQTY,THS.FSTOCKID,THS.FMATERIALID,t4.FMASTERID
|
||||
FROM T_HS_INIVSTOCKDIMENSION THS --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_HS_INIVBALANCE_H THIB --<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>
|
||||
ON (THS.FENTRYID = THIB.FDIMEENTRYID AND THIB.FENDINITKEY = '0')
|
||||
INNER JOIN T_HS_OUTACCTG THO ON THIB.FID = THO.FID
|
||||
INNER JOIN T_HS_CALDIMENSIONS TCH ON TCH.FDIMENSIONID = THO.FDIMENSIONID
|
||||
INNER JOIN T_BD_MATERIAL t4 on t4.FMATERIALID = THS.FMATERIALID
|
||||
WHERE
|
||||
((TCH.FACCTSYSTEMID = 1 AND TCH.FACCTPOLICYID = 1) AND THS.FSTOCKORGID = 101542)
|
||||
--AND t4.FMASTERID in (SELECT DISTINCT FMASTERID FROM #TMP_HAS_PARENT_MIS WHERE newReferPrice !=0)
|
||||
) t
|
||||
GROUP BY FYEAR,FPERIOD,t.FMASTERID,t.FSTOCKID
|
||||
--ORDER BY FYEAR DESC,FPERIOD DESC
|
||||
Reference in New Issue
Block a user