sjz
2025-08-26 c58b5315ae31cc51a3e95a41818299913c0b3002
MES.Service/service/QC/SJService.cs
@@ -136,15 +136,10 @@
    public List<QsItemIpiItem> getQSItems(decimal? pid, decimal? id)
    {
        var db = SqlSugarHelper.GetInstance();
        var qsItemIpiItems = db
            .Queryable<QsItemIpiItem>()
            .WhereIF(pid > 0, a => a.Pid == pid)
            .WhereIF(id > 0, a => a.Id == id).ToList();
        var qsItemIpiItems = db.Queryable<QsItemIpiItem>().WhereIF(pid > 0, a => a.Pid == pid).WhereIF(id > 0, a => a.Id == id).ToList();
        var array = qsItemIpiItems.Select(s => s.Id).ToArray();
        var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>()
            .Where(s => array.Contains(s.Pid))
            .GroupBy(s => s.Pid)
        var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>().Where(s => array.Contains(s.Pid)).GroupBy(s => s.Pid)
            .Select(s => new
            {
                s.Pid,
@@ -172,9 +167,7 @@
        });
        //使用linq表达式过滤出图片id不为空的数据
        var itemIpiItems =
            qsItemIpiItems.Where(s => s.Picture is { Length: > 0 })
                .ToList();
        var itemIpiItems =qsItemIpiItems.Where(s => s.Picture is { Length: > 0 }).ToList();
        if (itemIpiItems.Count > 0)
            itemIpiItems.ForEach(s =>
            {
@@ -197,16 +190,14 @@
            db =>
            {
                qsItemIpiReq.StatusDate = DateTime.Now;
                var pid = db.Insertable(qsItemIpiReq)
                    .ExecuteReturnIdentity();
                var pid = db.Insertable(qsItemIpiReq).ExecuteReturnIdentity();
                qsItemIpiReq.Id = pid;
                item.gid = pid;
                qsItemIpiItems.ForEach(s => s.Pid = pid);
                return db.Insertable(qsItemIpiItems)
                    .ExecuteCommand();
                return db.Insertable(qsItemIpiItems).ExecuteCommand();
            });
        item.Items = getQSItems(qsItemIpiReq.Id, null);
@@ -235,22 +226,33 @@
    public QsItem SaveItem(QsItem item)
    {
        var db = SqlSugarHelper.GetInstance();
        var del = db.Deleteable<QsItemIpiItem>()
            .Where(s=>s.Pid == item.gid)
            .ExecuteCommand();
        //QsItemIpiItemDetail
        var del1 = db.Deleteable<QsItemIpiItemDetail>()
            .Where(s => s.Gid == item.gid)
            .ExecuteCommand();
        var qsItemIpiItems = item.Items;
        SqlSugarHelper.UseTransactionWithOracle(
            db =>
            {
                qsItemIpiItems.ForEach(s => s.Pid = item.gid);
                return db.Insertable(qsItemIpiItems)
                    .ExecuteCommand();
                return db.Insertable(qsItemIpiItems).ExecuteCommand();
            });
        item.Items = getQSItems(item.gid, null);
        //没有上下限的检验项目自动盘点为合格
        item.Items.ForEach(s =>
        {
            if (s.MaxValue != null || s.StandardValue != null ||
                s.MinValue != null) return;
            if (s.MaxValue != null || s.StandardValue != null || s.MinValue != null)
            {
                return;
            }
            var detail = new QsItemIpiItemDetail();
            detail.Pid = s.Id;
            detail.Gid = item.gid;
@@ -282,7 +284,6 @@
                item.CreateDate = DateTime.Now;
                result.Add(item);
            }
            return db.Insertable(result).ExecuteCommand();
        });
@@ -434,8 +435,7 @@
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<QsItemIpiItem>()
                .SetColumns(it =>
                    it.Notes == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .SetColumns(it =>it.Notes == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .Where(it => it.Id == dto.pid)
                .ExecuteCommand();
        });
@@ -447,8 +447,7 @@
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<QsItemIpiItemDetail>()
                .SetColumns(it =>
                    it.Remarks == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .SetColumns(it =>it.Remarks == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .Where(it => it.Id == dto.id)
                .ExecuteCommand();
        });