zjh
2025-02-28 148e3eea1fea2d45ab135c6e66e69d163a4dd811
StandardPda/MES.Service/service/BasicData/MesItemTypeManager.cs
@@ -1,6 +1,7 @@
using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using MES.Service.util;
using SqlSugar;
namespace MES.Service.service.BasicData;
@@ -32,12 +33,13 @@
            throw new NotImplementedException("操作失败");
        }) > 0;
    }
    private bool InsertItemType(SqlSugarScope db, List<MesItemType> entity)
    {
        DeleteItemType(entity);
        var insert = db.Insertable(entity).ExecuteCommand();
        var insert = db.Insertable(entity).PageSize(1).IgnoreColumnsNull()
            .ExecuteCommand();
        return insert > 0;
    }
@@ -46,7 +48,7 @@
        // 提取所有需要的 MesId 组合 
        var ids = supplierId.Select(customer => customer.Id.ToString())
            .ToList();
        // 使用这些 MesId 去查询 MesLinkU9 表,找到对应的 U9Id
        var u9Ids = Db.Queryable<MesLinkU9>()
            .Where(u =>
@@ -58,11 +60,12 @@
        // 根据 U9Id 找到所有对应的 MesId,进行删除
        // 注意:这里假设您确实想要删除这些记录。如果不确定,请先查询以验证结果。
        var idsToDelete = Db.Queryable<MesLinkU9>()
            .Where(u => u9Ids.Contains(u.U9Id) && u.TableType == "MES_ITEM_TYPE")
            .Where(u =>
                u9Ids.Contains(u.U9Id) && u.TableType == "MES_ITEM_TYPE")
            .Select(u => u.MesId)
            .Distinct() // 应用 Distinct 去重
            .ToList();
        var deleteByIds = Db.Deleteable<MesItemType>().In(idsToDelete)
            .ExecuteCommand();
        // if (deleteByIds > 0)
@@ -73,9 +76,8 @@
    private List<MesItemType> GetMesItemType(ErpItemType department)
    {
        List<MesItemType> list = new();
        foreach (var erpDetail in department.FUseOrgId)
        {
            var exists = Db.Queryable<MesLinkU9>().Any(u =>
@@ -88,13 +90,15 @@
                //获取mesid
                mesId = Convert.ToDecimal(Db.Queryable<MesLinkU9>()
                    .Where(u =>
                        u.U9Id == department.Id && u.OrgId == erpDetail.FUseOrgId &&
                        u.U9Id == department.Id &&
                        u.OrgId == erpDetail.FUseOrgId &&
                        u.TableType == "MES_ITEM_TYPE")
                    .Select(u => u.MesId) // 选择 MesId 字段
                    .First());
            }
            else
            {
                mesId = GetSeqUtil.GetSeq("SEQ_ITEM_ID");
                var entity = new MesLinkU9
                {
                    CreateDate = DateTime.Now,
@@ -103,9 +107,9 @@
                    OrgId = erpDetail.FUseOrgId,
                    TableType = "MES_ITEM_TYPE"
                };
                mesId = Db.Insertable(entity).ExecuteReturnIdentity();
                Db.Insertable(entity).ExecuteCommand();
            }
            var mesItemType = new MesItemType
            {
                Id = mesId,
@@ -115,11 +119,12 @@
                Unit = department.Unit,
                ForbidStatus = department.FForbidStatus,
                IqcType = department.IqcType,
                UseOrgId = erpDetail.FUseOrgId,
                CreateDate = DateTime.Now,
                Company = "1000",
                Factory = "1000"
            };
            list.Add(mesItemType);
        }