啊鑫
2024-09-21 049c1891f1dcede1fe81320992e61c34f661898b
MES.Service/service/QC/RKJService.cs
@@ -132,6 +132,8 @@
                    break;
            }
            if (string.IsNullOrEmpty(LEV)) throw new Exception("检验水平维护的不正确");
            var sql =
                "SELECT " + LEV +
                " FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO='" +
@@ -140,9 +142,13 @@
            var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
            if (string.IsNullOrEmpty(maxBillNo))
                throw new Exception("没有" + quantity + "这个范围的抽样基准");
            var result = ExtractSubstring(item.FacLevel, '(', ')');
            if (string.IsNullOrEmpty(result))
                throw new Exception("维护的接收水平不正确,应该是0.010---(AQL_0_0010)像这样的");
            sql = "SELECT FSAMPLE_SIZE_WORD, " + result +
                  " Result FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO= '" +
@@ -402,9 +408,9 @@
                .ExecuteCommand();
        });
        if (FcheckResu.Equals("不合格"))
            //自动生成入库检异常对策
            saveDetect02(detail.Gid, detail.CreateBy);
        // if (FcheckResu.Equals("不合格"))
        //     //自动生成入库检异常对策
        //     saveDetect02(detail.Gid, detail.CreateBy);
        return useTransactionWithOracle;
    }
@@ -454,24 +460,37 @@
    }
    public List<QsItemOqcReq> getPage(XJPageResult queryObj)
    public (List<QsItemOqcReq> items, int TotalCount) getPage(
        XJPageResult queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
        return db
            .Queryable<QsItemOqcReq, Womdaa, MesItems, MesInvItemIns, Womdab,
                MesInvTransaction, RKJDaa001>(
                (a, da, b, c, d, ca, m) => new JoinQueryInfos(
                    JoinType.Left, da.Daa001 == a.BillNo,
                    JoinType.Left, a.ItemId == b.Id,
        var totalCount = 0;
        var qsItemOqcReqs = db
            .Queryable<QsItemOqcReq, MesItems, MesInvItemIns, MesInvTransaction,
                RKJDaa001, Womdaa>(
                (a, b, c, ca, m, da) => new JoinQueryInfos(
                    JoinType.Left, a.ItemNo == b.ItemNo,
                    JoinType.Left, a.BillNo == c.BillNo,
                    JoinType.Left, c.CbillNo == d.Dab001,
                    JoinType.Left,
                    c.TransctionNo == ca.TransactionNo.ToString() &&
                    c.Company == ca.Company && c.Factory == ca.Factory,
                    JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo
                    c.Company == ca.Company &&
                    c.Factory == ca.Factory,
                    JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo,
                    JoinType.Left, da.Daa001 == c.RbillNo
                ))
            .Select((a, da, b, c, d, ca, m) => new QsItemOqcReq
            .WhereIF(!string.IsNullOrEmpty(queryObj.id),
                (a, b, c, ca, m, da) => a.Id.ToString() == queryObj.id)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                (a, b, c, ca, m, da) => a.FcheckResu == null)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                (a, b, c, ca, m, da) => a.FcheckResu != null)
            .Select((a, b, c, ca, m, da) => new QsItemOqcReq
            {
                BillNo = a.BillNo,
                Remarks = a.Remarks,
@@ -483,19 +502,18 @@
                FcheckBy = a.FcheckBy,
                FcheckDate = a.FcheckDate,
                ReleaseNo = a.ReleaseNo,
                // 添加其他字段
                // 如果在 QsItemOqcReq 中定义了额外字段,则需要将它们赋值
                // 例如:
                ItemName = b.ItemName,
                ItemModel = b.ItemModel,
                TaskNo = c.TaskNo,
                CbillNo = c.CbillNo,
                Dab001 = d.Dab001,
                Dab001 = m.LotNo,
                ItemInId = m.ItemInId,
                Daa015 = da.Daa015,
                LineNo = c.LineNo,
                Quantity = m.Quantity
            }).OrderBy(a => a.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
            })
            .OrderBy(a => a.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        return (qsItemOqcReqs, totalCount);
    }
    //删除主表并且连级删除子表和孙表
@@ -558,6 +576,8 @@
    public int UpdateQSItemDetail(QsItemOqcItemDetail detail)
    {
        if (isRk(detail.ItemInId)) throw new Exception("已有条码入库,不允许修改检验结果");
        var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<QsItemOqcItemDetail>()
@@ -578,6 +598,14 @@
        return withOracle;
    }
    //修改结果前验证是否入库
    private bool isRk(decimal? ItemInId)
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<MesInvItemInCDetails>()
            .Where(s => s.ItemInId == ItemInId).Count() > 0;
    }
    //主表修改备注字段
    public int saveRemarksGid(RKJDto dto)