wbc
2024-12-25 9be7287ca8df4128ccc7406963f5b16b58bfb00c
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
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using SqlSugar;
 
namespace MES.Service.service.Warehouse;
 
public class MesInvItemArnManager : Repository<MesInvItemArn>
{
    //当前类已经继承了 Repository 增、删、查、改的方法
 
    //这里面写的代码不会给覆盖,如果要重新生成请删除 MesInvItemArnManager.cs
    public List<MesInvItemArn> GetPagedResults(WarehouseQuery query)
    {
        // 查询并分页
        var result = Db.Queryable<MesInvItemArn, MesDepots, MesSupplier>(
                (a, d, f) => new object[]
                {
                    JoinType.Left,
                    a.DepotsCode == d.DepotCode && d.Factory == a.Factory &&
                    d.Company == a.Company,
                    JoinType.Left, a.SuppNo == f.SuppNo
                })
            .Where((a, d, f) => a.BillTypeId == 700
                                && a.TransctionNo == "701"
                                && a.Factory == "1000"
                                && a.Company == "1000"
                                && a.IsVisual == 0)
            .WhereIF(query.id != null, (a, d, f) => a.Id == query.id)
            .Select((a, d, f) => new MesInvItemArn
            {
                Status = a.Status,
                SuppNo = a.SuppNo,
                FType = a.FType,
                Fstatus = a.Fstatus,
                Remark = a.Remark,
                Insdate = a.Insdate,
                CheckDate = a.CheckDate,
                DepotsCode = a.DepotsCode,
                Id = a.Id,
                UrgentFlag = a.UrgentFlag,
                CreateBy = a.CreateBy,
                BillNo = a.BillNo,
                PaperBillNo = a.PaperBillNo,
                DepotName = d.DepotName,
                SuppName = f.SuppName
            }).OrderByDescending(a => a.BillNo)
            .ToPageList(query.PageIndex, query.Limit);
 
        return result;
    }
 
    public List<MesSupplier> GetSuppliers()
    {
        return Db.Queryable<MesInvItemArn, MesSupplier>((a, b) =>
                new JoinQueryInfos(JoinType.Left, a.SuppNo == b.SuppNo))
            .GroupBy((a, b) => new { b.Id, a.SuppNo, b.SuppName })
            .Select((a, b) => new MesSupplier
            {
                SuppNo = a.SuppNo,
                SuppName = b.SuppName,
                Id = b.Id
            })
            .ToList();
    }
}