Files
YunTongJackYunTask/Reportapi/MyCode.Project.Repositories/JackOrdersRepository.cs
2025-09-02 14:59:10 +08:00

72 lines
2.7 KiB
C#

using MyCode.Project.Repositories.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
using MyCode.Project.Domain.Message.Response.LxmZHMDReport;
using MyCode.Project.Domain.Message.Act.Common;
namespace MyCode.Project.Repositories
{
public class JackOrdersRepository: Repository<JackOrders>, IJackOrdersRepository
{
public JackOrdersRepository(MyCodeSqlSugarClient context) : base(context)
{ }
public PageResult<SalOrderResp> GetPageList(PagedSearch search)
{
SearchCondition where = new SearchCondition();
where.AddSqlCondition(" 1=1 ", true);
string sql = $@"
SELECT * ,(QTY-FStockOutQty) AS FRemainOutQty,OutboundPercentage=CONVERT(DECIMAL(18,2),(CASE WHEN QTY !=0 THEN FStockOutQty/QTY*1.00 ELSE 0 END))
FROM (
SELECT C.FNAME AS CustomerName,a.FBILLNO,a.FDATE,a.FID,FRceiveAmount,FInvoiceAmount2 AS FInvoiceAmount
,(SELECT SUM(FStockOutQty) FROM T_SAL_ORDERENTRY_R g WHERE g.FID=a.FID) AS FStockOutQty
,(SELECT SUM(g.FQTY) FROM T_SAL_ORDERENTRY g WHERE g.FID=a.FID) AS QTY
,fin.FBILLALLAMOUNT_LC, CONVERT(NVARCHAR(23),A.FCreateDate,23) AS FCreateDate
FROM T_SAL_ORDER A WITH(NOLOCK)
LEFT JOIN dbo.T_SAL_ORDERFIN fin ON a.fid=a.FID
LEFT JOIN T_BD_CUSTOMER Cccc WITH(NOLOCK) ON Cccc.FCUSTID= A.FCUSTID
LEFT JOIN T_BD_CUSTOMER_L C WITH(NOLOCK) ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
WHERE a.FDOCUMENTSTATUS='C'
) a ";
var list = this.SelectListPage<SalOrderResp>(sql, where, search.Page, search.PageSize, $@"FDATE desc ");
return list;
}
public PageResult<SalOrderDetailResp> GetDetailPageList(PagedSearch<IdAct> search)
{
var Condition = search.Condition;
SearchCondition where = new SearchCondition();
where.AddCondition("a.fid ", Condition.Id ,SqlOperator.Equal,true);
string sql = $@"
SELECT a.FID, c.FNAME,a.FENTRYID,a.FQTY,f.FStockOutQty,(FQTY-FStockOutQty) AS FRemainOutQty
,OutboundPercentage=CONVERT(DECIMAL(18,2),(CASE WHEN FQTY !=0 THEN FStockOutQty/FQTY*1.00 ELSE 0 END))
FROM dbo.T_SAL_ORDERENTRY a
LEFT JOIN dbo.T_BD_MATERIAL b ON a.FMATERIALID=b.FMATERIALID
LEFT JOIN dbo.T_BD_MATERIAL_L c ON b.FMATERIALID=c.FMATERIALID
LEFT JOIN T_SAL_ORDERENTRY_R f ON a.FENTRYID=f.FENTRYID";
var list = this.SelectListPage<SalOrderDetailResp>(sql, where, search.Page, search.PageSize, $@"FENTRYID ");
return list;
}
}
}