wxw
16 小时以前 89bef2fb48857f3b5c6170b388347d8529ca6297
Wms/WMS.BLL/LogServer/LogWorkShopServer.cs
@@ -2,11 +2,14 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using WMS.DAL;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllCheckServer;
using WMS.IBLL.ILogServer;
@@ -19,54 +22,39 @@
        {
        }
        public List<LogWorkShopDto> GetLogWorkShopList(string type, string palletNo,string lotNo,string skuNo,string skuName,int page, int limit, out int count)
        public List<LogWorkShopDto> GetLogWorkShopList(string type, string palletNo,string lotNo,string skuNo,string skuName,string boxNo,int page, int limit, out int count)
        {
            try
            {
                string sqlString = string.Empty;
                string sqlCount = string.Empty;
                string sqlPub = string.Empty;
                sqlCount += "SELECT COUNT(tb1.ID) FROM LogWorkShop AS tb1 ";
                sqlString += $@"select
                                    tb1.Type,tb1.PalletNo,tb1.LotNo,tb1.SkuNo,tb1.SkuName,tb1.CreateUser,tb1.CreateTime,SUM(tb1.Qty) as Qty,tb2.RealName as CreateUserName
                                from LogWorkShop as tb1
                                left join SysUserInfor as tb2 on tb1.CreateUser=tb2.Id ";
                sqlPub += $"where 1=1 ";
                Expression<Func<LogWorkShop, bool>> item = Expressionable.Create<LogWorkShop>()
                    .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type)
                    .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo.Contains(boxNo.Trim()))
                    .ToExpression();//注意 这一句 不能少
                if (!string.IsNullOrEmpty(type))
                {
                    sqlPub += $"AND tb1.Type = '{type}' ";
                }
                if (!string.IsNullOrEmpty(palletNo))
                {
                    sqlPub += $"AND tb1.PalletNo like '%{palletNo.Trim()}%' ";
                }
                if (!string.IsNullOrEmpty(lotNo))
                {
                    sqlPub += $"AND tb1.LotNo like '%{lotNo.Trim()}%' ";
                }
                if (!string.IsNullOrEmpty(skuNo))
                {
                    sqlPub += $"AND tb1.SkuNo like '%{skuNo.Trim()}%' ";
                }
                if (!string.IsNullOrEmpty(skuName))
                {
                    sqlPub += $"AND tb1.SkuName like '%{skuName.Trim()}%' ";
                }
                sqlPub += " group by tb1.Type,tb1.PalletNo,tb1.LotNo,tb1.SkuNo,tb1.SkuName,tb1.CreateUser,tb1.CreateTime ";
                sqlCount += sqlPub;
                if (page == 0)
                {
                    page = 1;
                }
                sqlString += sqlPub + $" offset {((page - 1) * limit)} rows fetch next {limit} rows only;";
                var com = new Common();
                count = com.GetRowCount(sqlCount);
                var modelList = Db.Ado.SqlQuery<LogWorkShopDto>(sqlString);
                return modelList;
                var total = 0;
                var data = GetAllWhereAsync(item)
                    .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                    .Select((a, b) => new LogWorkShopDto()
                    {
                        PalletNo = a.PalletNo,
                        SkuNo = a.SkuNo,
                        SkuName = a.SkuName,
                        LotNo = a.LotNo,
                        Qty = a.Qty,
                        Type = a.Type,
                        BoxNo = a.BoxNo,
                        CreateUserName = b.RealName,
                        CreateTime = a.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
                    })
                    .OrderByDescending(a => a.CreateTime)
                    .ToOffsetPage(page, limit, ref total);
                count = total;
                return data;
            }
            catch (Exception e)
            {