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, IJackOrdersRepository { public JackOrdersRepository(MyCodeSqlSugarClient context) : base(context) { } public PageResult GetPageList(PagedSearch search) { SearchCondition where = new SearchCondition(); where.AddSqlCondition(" 1=1 and a.FRemainOutQty<>0 AND a.FStockOutQty<>0 ", true); string sql = $@" select * from ( 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 ) a "; var list = this.SelectListPage(sql, where, search.Page, search.PageSize, $@"FDATE desc "); return list; } public PageResult GetDetailPageList(PagedSearch 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(sql, where, search.Page, search.PageSize, $@"FENTRYID "); return list; } } }