新框架PDA后端(祈禧6月初版本)
南骏 池
4 天以前 fca0719af6948fe8fa1e4f094f8e7dba339c7428
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
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
using SqlSugar;
 
namespace NewPdaSqlServer.service.Warehouse;
 
public class MesInvItemArnManager : Repository<MesInvItemArn>
{
    //当前类已经继承了 Repository 增、删、查、改的方法
 
    //这里面写的代码不会给覆盖,如果要重新生成请删除 MesInvItemArnManager.cs
    public List<MesInvItemArn> GetPagedResults(WarehouseQuery query)
    {
        var parsedGuid = Guid.Empty;
        if (!string.IsNullOrEmpty(query.id))
        {
            var isValid = Guid.TryParse(query.id, out parsedGuid);
            if (!isValid)
                throw new ApplicationException("GUID转换错误");
        }
 
        // 查询并分页
        var result = Db.Queryable<MesInvItemArn, MesDepots, MesSupplier>(
                (a, d, f) => new object[]
                {
                    JoinType.Left, a.DepotsId == d.DepotId.ToString(),
                    JoinType.Left, a.SuppId == f.Id.ToString()
                })
            .Where((a, d, f) => a.BillTypeId == 700
                                && a.TransctionNo == "701"
                                && a.IsVisual == 0)
            .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
                (a, d, f) => a.Guid == parsedGuid)
            .Select((a, d, f) => new MesInvItemArn
            {
                Status = a.Status,
                SuppNo = f.SuppNo,
                FType = a.FType,
                Fstatus = a.Fstatus,
                Remark = a.Remark,
                CheckDate = a.CheckDate,
                DepotsCode = d.DepotCode,
                Guid = a.Guid,
                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.SuppId == b.Id.ToString()))
            .GroupBy((a, b) => new { b.Id, b.SuppNo, b.SuppName })
            .Select((a, b) => new MesSupplier
            {
                SuppNo = b.SuppNo,
                SuppName = b.SuppName,
                Id = b.Id
            })
            .ToList();
    }
}