chengsc
2024-10-23 ee00e504518145031f3d7e869c41bcbf51c0b79b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using Model.ModelDto.BllAsnDto;
using Model.ModelVm.BllAsnVm;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.Context;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
 
namespace WMS.BLL.BllAsnServer
{
    public class PalletUnbindServer : DbHelper<BllPalletUnbind>, IPalletUnbindServer
    {
        private static readonly SqlSugarScope Db = DataContext.Db;
        public PalletUnbindServer() : base(Db)
        {
        }
 
        //查询托盘解绑绑定信息(分组后)
        public List<PalletUnbindDto> GetPalletUnbindList(PalletUnbindVm model, out int count)
        {
            try
            {
                Expression<Func<BllPalletUnbind, bool>> item = Expressionable.Create<BllPalletUnbind>()
                    .AndIF(!string.IsNullOrWhiteSpace(model.UpbindPalletNo), it => it.UpbindPalletNo.Contains(model.UpbindPalletNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(model.BindPalletNo), it => it.BindPalletNo.Contains(model.BindPalletNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), it => it.SkuName.Contains(model.SkuName.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim()))
                    .And(it => it.IsDel == "0")
                    .ToExpression();//注意 这一句 不能少
 
                var total = 0;
                var list = GetAllWhereAsync(item)
                    .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                    .GroupBy((a, b) => new
                    {
                        a.UpbindPalletNo,
                        a.BindPalletNo,
                        a.LotNo,
                        a.SkuNo,
                        a.SkuName,
                        a.Standard,
                        a.LotText,
                        a.BoxNo,
                        a.CreateTime,
                        b.RealName
                    }).Select((a, b) => new PalletUnbindDto
                    {
                        UpbindPalletNo = a.UpbindPalletNo,
                        BindPalletNo = a.BindPalletNo,
                        LotNo = a.LotNo,
                        SkuNo = a.SkuNo,
                        SkuName = a.SkuName,
                        Standard = a.Standard,
                        LotText = a.LotText,
                        BoxNo = a.BoxNo,
                        CreateTime = a.CreateTime,
                        CreateUserName=b.RealName
                    }).OrderByDescending(a => a.CreateTime).ToOffsetPage(model.Page, model.Limit, ref total);
                count = total;
                return list;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
 
        //查询托盘解绑绑定详细信息
        public List<BllPalletUnbind> GetPalletUnbindList2(PalletUnbindVm model, out int count)
        {
            try
            {
                Expression<Func<BllPalletUnbind, bool>> item = Expressionable.Create<BllPalletUnbind>()
                    .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo), it => it.BoxNo.Contains(model.BoxNo.Trim()))
                    .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo3), it => it.BoxNo3.Contains(model.BoxNo3.Trim()))
                    .And(it => it.IsDel == "0")
                    .ToExpression();//注意 这一句 不能少
 
                var total = 0;
                var list = GetAllWhereAsync(item)
                .Select(it => new BllPalletUnbind
                {
                    UpbindPalletNo = it.UpbindPalletNo,
                    BindPalletNo = it.BindPalletNo,
                    LotNo = it.LotNo,
                    SkuNo = it.SkuNo,
                    SkuName = it.SkuName,
                    Standard = it.Standard,
                    LotText = it.LotText,
                    BoxNo = it.BoxNo,
                    BoxNo2 = it.BoxNo2,
                    BoxNo3 = it.BoxNo3
                }).ToOffsetPage(model.Page, model.Limit, ref total);
                count = total;
                return list;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
    }
}