展杰
2024-08-19 efe6984c4e0e91b16b2704e174d610e180045dc5
MES.Service/service/QC/XJService.cs
@@ -13,7 +13,7 @@
    private readonly BaseService _baseService = new();
    private readonly string[] statusArray = ["生产", "待产"];
    private readonly string[] statusArray = ["开工", "待开工"];
    //生成最新的检验单号
    public string getMaxReleaseNo()
@@ -38,35 +38,16 @@
        return "XJN" + date + number;
    }
    public List<MesSchemeResult> getItem(string daa001)
    public List<Womdaa> getItem(string daa001)
    {
        var db = SqlSugarHelper.GetInstance();
        //in的写法 https://www.donet5.com/Home/Doc?typeId=1187
        return db.Queryable<MesSchemeResult, MesDepTask, MesBoardBaseInfo>(
                (a, c, b) =>
                    new JoinQueryInfos(
                        JoinType.Left, a.TaskNo == c.TaskNo,
                        JoinType.Left, c.BoardItem == b.BoardItem
                    )
            )
            .Where(a => a.PmoveMk == 0 &&
                        a.BillNo == daa001 &&
                        statusArray.Contains(a.ProcStatus))
            .Select((a, c, b) => new MesSchemeResult
            {
                BillNo = a.BillNo,
                CatQty = a.CatQty,
                DetailMem = a.DetailMem,
                TaskNo = a.TaskNo,
                BoardItem = a.BoardItem,
                BoardModel = b.BoardModel,
                PlanQty = c.PlanQty,
                Mocode = a.Mocode,
                // BoardStyle = c.BoardStyle,
                Id = a.Id
            })
        return db.Queryable<Womdaa>()
            .Where(a =>
                a.Daa001 == daa001 &&
                statusArray.Contains(a.Daa018))
            .ToList();
    }
@@ -74,50 +55,52 @@
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<MesSchemeResult, MesLine>((a, b) =>
                new JoinQueryInfos(JoinType.Left, a.LineNo == b.LineNo))
            .Where((a, b) => a.PmoveMk == 0 && b.LineName != null &&
                             statusArray.Contains(a.ProcStatus))
            .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" })
        return db.Queryable<Womdaa, MesLine>((a, b) =>
                new JoinQueryInfos(JoinType.Left, a.Daa015 == b.LineNo))
            .Where((a, b) => b.LineName != null &&
                             statusArray.Contains(a.Daa018))
            .GroupBy((a, b) => new
            {
                a.LineNo, b.LineName
                b.LineNo, b.LineName
            })
            .Select((a, b) => new MesLine
            {
                LineNo = a.LineNo,
                LineNo = b.LineNo,
                LineName = b.LineName
            }).OrderBy("a.LINE_NO").ToList();
            }).OrderBy("b.LINE_NO").ToList();
    }
    public List<MesSchemeResult> getDaa001(string daa020, string item)
    public List<Womdaa> getDaa001(string daa020, string item)
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<MesSchemeResult>().Where(a =>
                a.PmoveMk == 0 && a.LineNo == daa020 && a.BillNo != null &&
                a.BoardItem == item &&
                statusArray.Contains(a.ProcStatus))
            .Select<MesSchemeResult>(a => new MesSchemeResult
        return db.Queryable<Womdaa, MesItems>((a, b) =>
                new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
            .Where((a, b) =>
                a.Daa015 == daa020 &&
                b.ItemNo == item &&
                statusArray.Contains(a.Daa018))
            .Select<Womdaa>(a => new Womdaa
            {
                BillNo = a.BillNo,
                DetailMem = a.DetailMem
                Id = a.Id,
                Daa001 = a.Daa001,
                Daa003 = a.Daa003
            }).ToList();
    }
    public List<MesSchemeResult> getBoardItem(string lineNo)
    public List<MesItems> getBoardItem(string lineNo)
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<MesSchemeResult>()
            .Where(a =>
                a.PmoveMk == 0 && statusArray.Contains(a.ProcStatus) &&
                a.LineNo == lineNo)
            .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" })
            .Select<MesSchemeResult>(a =>
                new MesSchemeResult
        return db.Queryable<Womdaa, MesItems>((a, b) =>
                new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
            .Where((a, b) => statusArray.Contains(a.Daa018) &&
                             a.Daa015 == lineNo)
            .OrderBy((a, b) => b.ItemName)
            .Select<MesItems>((a, b) =>
                new MesItems
                {
                    BoardItem = a.BoardItem,
                    DetailMem = a.DetailMem
                }).OrderBy(a => a.BoardItem).ToList();
                    ItemNo = b.ItemNo,
                    ItemName = b.ItemName
                }).ToList();
    }
    public List<QsQaItemXj> getPage(XJPageResult queryObj)
@@ -132,16 +115,16 @@
            lineNo = _baseService.getUserLineNo(queryObj.createUser);
        return db
            .Queryable<QsQaItemXj, MesSchemeResult, MesDepTask,
                MesBoardBaseInfo>((s, a, c, b) =>
            .Queryable<QsQaItemXj, Womdaa, MesLine,
                MesItems>((s, a, c, b) =>
                new JoinQueryInfos(
                    JoinType.Inner, s.BillNo == a.BillNo,
                    JoinType.Left, a.TaskNo == c.TaskNo,
                    JoinType.Left, c.BoardItem == b.BoardItem
                    JoinType.Inner, s.BillNo == a.Daa001,
                    JoinType.Left, a.Daa015 == c.LineNo,
                    JoinType.Left, s.ItemNo == b.ItemNo
                )
            )
            .WhereIF(lineNo != null && lineNo.Length > 0,
                (s, a, c, b) => lineNo.Contains(a.LineNo))
                (s, a, c, b) => lineNo.Contains(c.LineNo))
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
@@ -153,11 +136,8 @@
            .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
            .Select((s, a, c, b) => new QsQaItemXj
            {
                CatQty = a.CatQty,
                MoidNum = s.MoidNum,
                Daa020 = a.LineNo,
                // DetailMem = a.DetailMem,
                TaskNo = a.TaskNo,
                Daa020 = c.LineNo,
                Id = s.Id,
                CreateBy = s.CreateBy,
                CreateDate = s.CreateDate,
@@ -167,11 +147,7 @@
                BillNo = s.BillNo,
                FcheckBy = s.FcheckBy,
                FcheckResu = s.FcheckResu,
                Remarks = s.Remarks,
                BoardModel = b.BoardModel,
                PlanQty = c.PlanQty
                // Mocode = a.Mocode,
                // BoardStyle = c.BoardStyle
                Remarks = s.Remarks
            }).OrderBy(s => s.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
    }