Browse Source

更新版本

FoShanPG
Administrator 3 years ago
parent
commit
a5fde318f6
  1. 179
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs
  2. 15
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs

179
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs

@ -43,51 +43,65 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
condition += string.Format(" and c.WMSActualGoodsDate<='{0}' ", endtime);
}
var datestr= version.Substring(0, 4) +"-"+ version.Substring(4, 2) + "-01";
var date= DateTime.Parse(datestr).AddMonths(1).AddDays(-1);
var datetime=date.ToShortDateString()+" 23:59:59 ";
string sqlString = "SELECT\n" +
" * ,\n" +
" ISNULL( temp1.InvoicePrice * Qty, 0 ) AS InvoiceMoney,--开票金额\n" +
" ISNULL( Price * WMSDeliveryQty, 0 ) AS Amount,--金额\n" +
" ISNULL( Price * Qty, 0 ) AS SettlePrice,--结算金额\n" +
" ( Price - InvoicePrice ) AS InvoiceDiffPrice,--单价差异\n" +
" ISNULL( Price * Qty - InvoicePrice * Qty, 0 ) AS SumDiffMoney,--总金额差异\n" +
" '' DeliveryOrderNo --出库单号\n" +
" \n" +
"FROM\n" +
" (\n" +
" SELECT\n" +
" row_number ( ) OVER ( ORDER BY b.EstimateTypeDesc ) AS RowId,\n" +
" c.WMSDeliveryNote,--交货单号\n" +
" CONVERT ( VARCHAR ( 100 ), c.WMSActualGoodsDate, 23 ) AS WMSActualGoodsDate,--实际发货日期年-月-日\n" +
" a.Kanban,--条码号\n" +
" b.MaterialCode SapMaterialCode,--厂内物料号\n" +
" b.MaterialDesc,--物料描述\n" +
" b.CustomerPartCode,--客户物料\n" +
" b.EstimateTypeDesc,--物料组(车型)\n" +
" c.WMSDeliveryQty,--交货数量\n" +
" ISNULL( a.Qty, 0 ) AS SettleNumber,--结算数量\n" +
" CONVERT ( VARCHAR ( 100 ), a.SettleDate, 23 ) SettleDate,--结算日期\n" +
" ISNULL( a.Qty, 0 ) AS Qty,--用于计算\n" +
" ( ISNULL( a.Qty, 0 ) - ISNULL( c.WMSDeliveryQty, 0 ) ) AS SettleWMSDiffQty,--结算与发货差异\n" +
" 0 AS SettleInvoiceDiffQty,--结算与开票差异\n" +
" ISNULL( a.Qty, 0 ) AS InvoiceDiffQty,--开票数量,默认0,后续拿算法动态算\n" +
" ISNULL( d.InvoicePrice, 0 ) InvoicePrice --开票单价\n" +
" \n" +
" FROM\n" +
" Set_KanBanSettle AS a\n" +
" LEFT JOIN Set_material AS b ON a.MaterialCode= b.CustomerPartCode\n" +
" LEFT JOIN Set_WMSKanBanSettle c ON a.Kanban= c.Kanban \n" +
" AND a.MaterialCode= c.MaterialCode\n" +
" LEFT JOIN ( SELECT SUM ( amt ) / SUM ( Qty ) InvoicePrice, MaterialCode FROM set_invoice WHERE version = '{0}' GROUP BY materialcode ) d ON a.MaterialCode= d.MaterialCode \n" +
" WHERE\n" +
" a.VERSION= '{0}' {1} \n" +
" ) TEMP1\n" +
" LEFT JOIN ( SELECT Price, --定价\n" +
" MaterialCode --厂内物料号\n" +
" FROM Set_PriceList WHERE version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) TEMP2 ON TEMP1.SapMaterialCode= TEMP2.MaterialCode \n" +
"WHERE\n" +
" 1 =1";
" * ,\n" +
" ISNULL ( temp1.InvoicePrice * Qty, 0 ) AS InvoiceMoney,--开票金额\n" +
" ISNULL ( Price * WMSDeliveryQty, 0 ) AS Amount,--金额\n" +
" ISNULL ( Price * Qty, 0 ) AS SettlePrice,--结算金额\n" +
" ( Price - InvoicePrice ) AS InvoiceDiffPrice,--单价差异\n" +
" ISNULL ( Price * Qty - InvoicePrice * Qty, 0 ) AS SumDiffMoney,--总金额差异\n" +
" '' DeliveryOrderNo --出库单号\n" +
" \n" +
"FROM\n" +
" (\n" +
" SELECT ROW_NUMBER\n" +
" ( ) OVER ( ORDER BY b.EstimateTypeDesc ) AS RowId,\n" +
"--c.WMSDeliveryNote,--交货单号\n" +
"--CONVERT ( VARCHAR ( 100 ), c.WMSActualGoodsDate, 23 ) AS WMSActualGoodsDate,--实际发货日期年-月-日\n" +
" A.Kanban,--条码号\n" +
" b.MaterialCode SapMaterialCode,--厂内物料号\n" +
" b.MaterialDesc,--物料描述\n" +
" b.CustomerPartCode,--客户物料\n" +
" b.EstimateTypeDesc,--物料组(车型)\n" +
" C.WMSDeliveryQty,--交货数量\n" +
" ISNULL ( A.Qty, 0 ) AS SettleNumber,--结算数量\n" +
" CONVERT ( VARCHAR ( 100 ), A.SettleDate, 23 ) SettleDate,--结算日期\n" +
" ISNULL ( A.Qty, 0 ) AS Qty,--用于计算\n" +
" ( ISNULL ( A.Qty, 0 ) - ISNULL ( C.WMSDeliveryQty, 0 ) ) AS SettleWMSDiffQty,--结算与发货差异\n" +
" 0 AS SettleInvoiceDiffQty,--结算与开票差异\n" +
" ISNULL ( A.Qty, 0 ) AS InvoiceDiffQty,--开票数量,默认0,后续拿算法动态算\n" +
" ISNULL ( d.InvoicePrice, 0 ) InvoicePrice --开票单价\n" +
" \n" +
" FROM\n" +
" Set_KanBanSettle\n" +
" AS A LEFT JOIN Set_material AS b ON A.MaterialCode = b.CustomerPartCode\n" +
" LEFT JOIN (\n" +
"   SELECT\n" +
" ( temp1.Qty - ISNULL ( temp2.Qty, 0 ) ) WMSDeliveryQty,\n" +
" temp1.MaterialCode,\n" +
" temp1.Kanban \n" +
" FROM\n" +
" ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_KanBanSettle WHERE VERSION < '{0}' GROUP BY kanban, MaterialCode ) temp1\n" +
" INNER JOIN ( SELECT SUM ( WMSDeliveryQty ) Qty, KanBan, MaterialCode FROM Set_WMSKanBanSettle WHERE WMSActualGoodsDate < '{2}' GROUP BY KanBan, MaterialCode ) temp2 ON temp1.Kanban = temp2.KanBan \n" +
" AND temp1.MaterialCode = temp2.KanBan \n" +
" ) C ON A.Kanban = C.Kanban \n" +
" AND A.MaterialCode = C.MaterialCode\n" +
" LEFT JOIN ( SELECT SUM ( amt ) / SUM ( Qty ) InvoicePrice, MaterialCode FROM set_invoice WHERE VERSION = '{0}' GROUP BY materialcode ) d ON A.MaterialCode = d.MaterialCode \n" +
" WHERE\n" +
" A.VERSION = '{0}' {1}\n" +
" ) TEMP1\n" +
" LEFT JOIN ( SELECT Price, --定价\n" +
" MaterialCode --厂内物料号\n" +
" FROM Set_PriceList WHERE VERSION = ( SELECT MAX ( VERSION ) FROM Set_PriceList ) ) TEMP2 ON TEMP1.SapMaterialCode = TEMP2.MaterialCode \n" +
"WHERE\n" +
" 1 = 1;";
string addwhere = string.Empty;
string addSqlStr = string.Format(sqlString, version, condition);
string addSqlStr = string.Format(sqlString, version, condition,datetime);
//if (!string.IsNullOrEmpty(kanBan))
//{
@ -106,9 +120,86 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
// addwhere += string.Format(" AND EstimateTypeDesc LIKE '{0}%' ", estimateTypeDesc);
//}
string _sql = string.Format(addSqlStr, addwhere);
var _query = DbConnection.Query<SettleKBWithCode>(_sql, null, null, true, 1200, null);
return _query.ToList();
var sql2 = "SELECT\n" +
" a.WmsBillNum,\n" +
" t1.MaterialCode MaterialCode,\n" +
" a.Kanban ,\n" +
" A.LastModificationTime WmsDate \n" +
"FROM\n" +
" Set_HQ_H_Kanban A\n" +
" INNER JOIN ( SELECT MaterialCode, Kanban FROM Set_HQ_H_Kanban GROUP BY MaterialCode, Kanban HAVING COUNT(*)> 1 ) B ON A.Kanban = B.Kanban \n" +
" AND A.MaterialCode = B.MaterialCode " +
" left join Set_material t1 on a.MaterialCode=t1.CustomerPartCode ";
var listCompare = DbConnection.Query<CompareExtend>(sql2);
var _lst=_query.ToList();
List<CompareExtend> _ls = new List<CompareExtend>();
foreach (var itm in listCompare.ToList())
{
var first = _ls.FirstOrDefault(p => p.Kanban == itm.Kanban && p.MaterialCode == itm.MaterialCode);
if (first != null)
{
if (!string.IsNullOrEmpty(itm.WmsDate))
{
itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString();
}
first.WmsBillNum += "," + itm.WmsBillNum;
first.WmsDate += "," + itm.WmsDate;
}
else
{
if (!string.IsNullOrEmpty(itm.WmsDate))
{
itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString();
}
_ls.Add(itm);
}
}
foreach (var itm1 in _lst)
{
var itm = _ls.FirstOrDefault(p => p.Kanban == itm1.Kanban && p.MaterialCode == itm1.MaterialCode);
if (itm != null)
{
itm1.WMSDeliveryNote = itm.WmsBillNum;
itm1.WMSActualGoodsDate = itm.WmsDate;
}
}
return _lst;
}

15
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs

@ -881,24 +881,11 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
_sql = string.Format(_sql, version);
_sql = string.Format(_sql, version);
var _query = DbConnection.Query<WmsOutputSumReport>(_sql, null, null, true, 1200, null);
return _query.ToList();
}
public virtual List<WmsOutputSumReport2> GetWmsSumReportList(string version, string state)
{

Loading…
Cancel
Save