啊鑫
2025-01-21 35bbd277a1963dfbbecf10b8682d6ac210b3a2ec
供应商
已添加1个文件
已修改6个文件
363 ■■■■ 文件已修改
StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/ErpDetail.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/ErpSupplier.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/BasicData/MesRohInManager.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/BasicData/SalesReturnNoticeManager.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs
@@ -13,12 +13,5 @@
    public string? State { get; set; }
    public string? FForbidStatus { get; set; }
    public  List<ErpDetail>? ErpDetails { get; set; }
}
public class ErpDetail
{
    public string? FUseOrgId { get; set; }
    public List<ErpDetail>? ErpDetails { get; set; }
}
StandardPda/MES.Service/Dto/webApi/ErpDetail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
namespace MES.Service.Dto.webApi;
public class ErpDetail
{
    public string? FUseOrgId { get; set; }
}
StandardPda/MES.Service/Dto/webApi/ErpSupplier.cs
@@ -26,7 +26,7 @@
    // public string? FCreateOrgId { get; set; }
    
    //用友特殊点
    public string[]? FUseOrgId { get; set; }
    public List<ErpDetail>? FUseOrgId { get; set; }
    //public string? FDescription { get; set; }
    // public string? fremarks { get; set; }
    public string? PrivateDescSeg { get; set; }
StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs
@@ -134,8 +134,6 @@
        //var id = db.Insertable(insertObj).ExecuteReturnIdentity();
        //根据序列获取新的MES_ID
        
        List<MesCustomer> customers = new List<MesCustomer>();
        foreach (ErpDetail erpDetail in customer.ErpDetails)
@@ -181,10 +179,7 @@
            customers.Add(mesCustomer);
        }
        //customers = customer.ErpDetails.Select(ErpDetails => new MesCustomer
        //{
        //    Id = GetSeqUtil.GetSeq("U9_MES_ID"),
StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
@@ -31,51 +31,7 @@
            };
        }) > 0;
    }
    // æ’入数据的方法
    private bool InsertData(SqlSugarScope db, MesRohIn mesRohIn,
        List<MesRohInData> mesRohInDatas, string FBILLTYPE)
    {
        switch (FBILLTYPE)
        {
            case "A":
            {
                var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
                if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id);
                if (decimals.Length > 0)
                    db.Deleteable<MesRohInData>().In(decimals).ExecuteCommand();
                var insert = base.Insert(mesRohIn);
                var insertRange =
                    rohInDataManager.InsertRange(mesRohInDatas);
                if (insert && insertRange) return true;
                throw new NotImplementedException("插入失败");
            }
            case "B":
            {
                var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
                if (base.DeleteById(mesRohIn.Id) && db
                        .Deleteable<MesRohInData>().In(decimals)
                        .ExecuteCommand() > 0)
                {
                    var insert = base.Insert(mesRohIn);
                    var insertRange =
                        rohInDataManager.InsertRange(mesRohInDatas);
                    if (insert && insertRange) return true;
                    throw new NotImplementedException("插入失败");
                }
                break;
            }
        }
        throw new NotImplementedException("采购订单类型错误");
    }
    // æ›´æ–°æ•°æ®çš„æ–¹æ³•
    private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
        List<MesRohInData> mesRohInDatas)
StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
@@ -16,15 +16,15 @@
            switch (unit.Type)
            {
                case "0":
                    if (UpdateSupplierStatus(db, entity.Id, "A"))
                    if (UpdateSupplierStatus(db, entity, "A"))
                        return 1;
                    break;
                case "1":
                    if (UpdateSupplierStatus(db, entity.Id, "B"))
                    if (UpdateSupplierStatus(db, entity, "B"))
                        return 1;
                    break;
                case "3":
                    if (DeleteSupplier(entity.Id))
                    if (DeleteSupplier(entity))
                        return 1;
                    break;
                case "2":
@@ -43,111 +43,16 @@
    public bool SaveList(List<ErpSupplier> suppliers)
    {
        var list = suppliers.Select(GetMesSupplier).ToList();
        var groupBy = list.GroupBy(s => s.Type)
            .ToDictionary(g => g.Key, g => g.ToList());
        return UseTransaction(db =>
        {
            foreach (var supplierGroup in groupBy)
                switch (supplierGroup.Key)
                {
                    case "0":
                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,
                                "A"))
                            throw new NotImplementedException("启用失败");
                        break;
                    case "1":
                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,
                                "B"))
                            throw new NotImplementedException("禁用失败");
                        break;
                    case "3":
                        if (!DeleteSupplierBatch(db, supplierGroup.Value))
                            throw new NotImplementedException("删除失败");
                        break;
                    case "2":
                    case "4":
                        if (!InsertOrUpdateBatch(db, supplierGroup.Value))
                            throw new NotImplementedException("同步失败");
                        break;
                    default:
                        throw new ArgumentNullException(
                            $"type没有{supplierGroup.Key}这个类型的参数");
                }
            return 1;
        }) > 0;
        var result = suppliers.Select(Save).ToList();
        return result.All(b => b);
    }
    private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId,
    private bool UpdateSupplierStatus(SqlSugarScope db,
        List<MesSupplier> supplierId,
        string status)
    {
        var result = db.Updateable<MesSupplier>()
            .SetColumns(s => s.Fforbidstatus == status)
            .Where(s => s.Id == supplierId).ExecuteCommand();
        var ids = supplierId.Select(it => it.Id).ToArray();
        if (result > 0)
            return true;
        throw new NotImplementedException(status == "A" ? "启用失败" : "禁用失败");
    }
    private bool InsertSupplier(SqlSugarScope db, MesSupplier entity)
    {
        var insert = db.Insertable(entity).ExecuteCommand();
        if (insert > 0)
            return true;
        throw new NotImplementedException("插入失败");
    }
    private bool DeleteSupplier(decimal supplierId)
    {
        if (base.DeleteById(supplierId)) return true;
        throw new NotImplementedException("删除失败");
    }
    private MesSupplier GetMesSupplier(ErpSupplier supplier)
    {
        return new MesSupplier
        {
            Id = Convert.ToDecimal(supplier.Id),
            SuppNo = supplier.FNumber,
            SuppSname = supplier.FShortName,
            SuppName = supplier.FName,
            Lxr = supplier.FContact,
            Telf1 = supplier.FTel,
            Fstaffid = supplier.FStaffId,
            /// <summary>
            /// æŽ¥å£å­—段调整:标准版接口新增 ERP单据状态 å­—段。
            /// </summary>
            /// <remarks>
            /// ä¿®æ”¹äººï¼š<池南骏>
            /// ä¿®æ”¹æ—¥æœŸï¼š<2024-12-28>
            /// ä¿®æ”¹è¯´æ˜Žï¼š
            /// - åŽŸä»£ç ï¼šç©º
            /// - ä¿®æ”¹åŽï¼š
            ///FDOCUMENTSTATUS = supplier.FDocumentStatus,
            /// </remarks>
            DocumentStatus = supplier.FDocumentStatus,
            Fforbidstatus = supplier.FForbidStatus,
            CreateDate = DateTime.Now,
            //CreateOrg= Convert.ToDecimal(supplier.FCreateOrgId),
            //UseOrg = supplier.FUseOrgId,
            //Remark=supplier.fremarks,
            PrivateDescSeg = supplier.PrivateDescSeg,
            Company = "1000",
            Factory = "1000"
        };
    }
    private bool UpdateSupplierStatusBatch(SqlSugarScope db,
        List<MesSupplier> supplierList, string status)
    {
        var ids = supplierList.Select(it => it.Id).ToArray();
        var result = db.Updateable<MesSupplier>()
            .SetColumns(s => s.Fforbidstatus == status)
            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
@@ -158,25 +63,86 @@
        throw new NotImplementedException(status == "A" ? "启用失败" : "禁用失败");
    }
    private bool InsertSupplierBatch(SqlSugarScope db,
        List<MesSupplier> supplierList)
    private bool DeleteSupplier(List<MesSupplier> supplierId)
    {
        var insertRange = db.Insertable(supplierList).ExecuteCommand();
        if (insertRange > 0)
            return true;
        var ids = supplierId.Select(it => it.Id).ToArray();
        throw new NotImplementedException("插入失败");
    }
        var executeCommand = Db.Deleteable<MesSupplier>()
            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
    private bool DeleteSupplierBatch(SqlSugarScope db,
        List<MesSupplier> supplierList)
    {
        var ids = supplierList.Select(it => it.Id).ToArray();
        var deleteByIds = db.Deleteable<MesSupplier>().In(ids).ExecuteCommand();
        if (deleteByIds > 0)
            return true;
        if (executeCommand > 0) return true;
        throw new NotImplementedException("删除失败");
    }
    private List<MesSupplier> GetMesSupplier(ErpSupplier supplier)
    {
        List<MesSupplier> list = new List<MesSupplier>();
        foreach (var se in supplier.FUseOrgId)
        {
            var exists = Db.Queryable<MesLinkU9>().Any(u =>
                u.U9Id == supplier.Id && u.OrgId == se.FUseOrgId &&
                u.TableType == "MES_SUPPLIER");
            decimal mesId = 0;
            if (exists)
            {
                //获取mesid
                mesId = Convert.ToDecimal(Db.Queryable<MesLinkU9>()
                    .Where(u =>
                        u.U9Id == supplier.Id && u.OrgId == se.FUseOrgId &&
                        u.TableType == "MES_SUPPLIER")
                    .Select(u => u.MesId) // é€‰æ‹© MesId å­—段
                    .First());
            }
            else
            {
                var entity = new MesLinkU9
                {
                    CreateDate = DateTime.Now,
                    MesId = mesId.ToString(),
                    U9Id = supplier.Id,
                    OrgId = se.FUseOrgId,
                    TableType = "MES_SUPPLIER"
                };
                mesId = Db.Insertable(entity).ExecuteReturnIdentity();
            }
            var mesSupplier = new MesSupplier
            {
                Id = mesId,
                SuppNo = supplier.FNumber,
                SuppSname = supplier.FShortName,
                SuppName = supplier.FName,
                Lxr = supplier.FContact,
                Telf1 = supplier.FTel,
                Fstaffid = supplier.FStaffId,
                /// <summary>
                /// æŽ¥å£å­—段调整:标准版接口新增 ERP单据状态 å­—段。
                /// </summary>
                /// <remarks>
                /// ä¿®æ”¹äººï¼š<池南骏>
                /// ä¿®æ”¹æ—¥æœŸï¼š<2024-12-28>
                /// ä¿®æ”¹è¯´æ˜Žï¼š
                /// - åŽŸä»£ç ï¼šç©º
                /// - ä¿®æ”¹åŽï¼š
                ///FDOCUMENTSTATUS = supplier.FDocumentStatus,
                /// </remarks>
                DocumentStatus = supplier.FDocumentStatus,
                Fforbidstatus = supplier.FForbidStatus,
                CreateDate = DateTime.Now,
                //CreateOrg= Convert.ToDecimal(supplier.FCreateOrgId),
                UseOrg = se.FUseOrgId,
                //Remark=supplier.fremarks,
                PrivateDescSeg = supplier.PrivateDescSeg,
                Company = "1000",
                Factory = "1000"
            };
            list.Add(mesSupplier);
        }
        return list;
    }
    /// <summary>
@@ -208,24 +174,20 @@
    //    return false;
    //}
    ///新代码
    private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity)
    private bool InsertOrUpdate(SqlSugarScope db, List<MesSupplier> entity)
    {
        db.Deleteable<MesSupplier>()
            .Where(s => s.Id == entity.Id)
        var ids = entity.Select(it => it.Id).ToArray();
        var executeCommand = db.Deleteable<MesSupplier>()
            .Where(s => ids.Contains(s.Id))
            .ExecuteCommand();
        var insert = db.Insertable(entity).ExecuteCommand();
        return insert > 0;
    }
        if (executeCommand > 0)
        {
            var insert = db.Insertable(entity).ExecuteCommand();
            return insert > 0;
        }
    private bool InsertOrUpdateBatch(SqlSugarScope db,
        List<MesSupplier> supplierList)
    {
        foreach (var entity in supplierList)
            if (!InsertOrUpdate(db, entity))
                return false;
        return true;
        throw new Exception("操作失败");
    }
}
StandardPda/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
@@ -9,70 +9,5 @@
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 SalesReturnNoticeManager.cs
    #region æ•™å­¦æ–¹æ³•
    /// <summary>
    ///     ä»“储方法满足不了复杂业务需求,业务代码请在这里面定义方法
    /// </summary>
    public void Study()
    {
        /*********查询*********/
        var data1 = base.GetById(1); //根据ID查询
        var data2 = base.GetList(); //查询所有
        var data3 = base.GetList(it => 1 == 1); //根据条件查询
        //var data4 = base.GetSingle(it => 1 == 1);//根据条件查询一条,如果超过一条会报错
        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // åˆ†é¡µæŸ¥è¯¢
        var data5 = base.GetPageList(it => 1 == 1, p);
        Console.Write(p.TotalCount); //返回总数
        var data6 =
            base.GetPageList(it => 1 == 1, p,
                it => SqlFunc.GetRandom()); // åˆ†é¡µæŸ¥è¯¢åŠ æŽ’åº
        Console.Write(p.TotalCount); //返回总数
        var conModels = new List<IConditionalModel>(); //组装条件查询作为条件实现 åˆ†é¡µæŸ¥è¯¢åŠ æŽ’åº
        conModels.Add(new ConditionalModel
        {
            FieldName = typeof(SalesReturnNotice).GetProperties()[0].Name,
            ConditionalType = ConditionalType.Equal, FieldValue = "1"
        }); //id=1
        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
        AsQueryable().Where(x => 1 == 1)
            .ToList(); //支持了转换成queryable,我们可以用queryable实现复杂功能
        /*********插入*********/
        var insertData = new SalesReturnNotice(); //测试参数
        var insertArray = new[] { insertData };
        base.Insert(insertData); //插入
        base.InsertRange(insertArray); //批量插入
        var id = base.InsertReturnIdentity(insertData); //插入返回自增列
        AsInsertable(insertData).ExecuteCommand(); //我们可以转成 Insertable实现复杂插入
        /*********更新*********/
        var updateData = new SalesReturnNotice(); //测试参数
        var updateArray = new[] { updateData }; //测试参数
        base.Update(updateData); //根据实体更新
        base.UpdateRange(updateArray); //批量更新
        //base.Update(it => new SalesReturnNotice() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// åªæ›´æ–°ClassName列和CreateTime列,其它列不更新,条件id=1
        AsUpdateable(updateData).ExecuteCommand(); //转成Updateable可以实现复杂的插入
        /*********删除*********/
        var deldata = new SalesReturnNotice(); //测试参数
        base.Delete(deldata); //根据实体删除
        base.DeleteById(1); //根据主键删除
        base.DeleteById(new[] { 1, 2 }); //根据主键数组删除
        base.Delete(it => 1 == 2); //根据条件删除
        AsDeleteable().Where(it => 1 == 2)
            .ExecuteCommand(); //转成Deleteable实现复杂的操作
    }
    #endregion
}