bklLiudl
17 小时以前 d3e81088f1afdc01b14af6bdac533116ab0cdb60
Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -7,6 +7,7 @@
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using Model.InterFaceModel;
using Model.ModelDto.SysDto;
using SqlSugar;
using Utility;
@@ -202,7 +203,7 @@
        #endregion
        #region erp
        /// <summary>
        /// 获取erp数据
        /// </summary>
@@ -297,5 +298,92 @@
        #endregion
        #region sap
        /// <summary>
        /// SAP新增物料主数据数据
        /// </summary>
        /// <param name="model">erp实体</param>
        /// <returns></returns>
        /// <exception cref="Exception">捕获异常</exception>
        public async Task<string> AddSkuSap(SendSkuInfoVm model)
        {
            //捕获异常
            try
            {
                if (string.IsNullOrWhiteSpace(model.skuNo.ToString()) || string.IsNullOrWhiteSpace(model.skuName) || string.IsNullOrWhiteSpace(model.categoryNo))
                {
                    throw new Exception("参数错误");
                }
                //判断是否唯一
                var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == model.skuNo.ToString());
                if (sku != null)
                {
                    throw new Exception("当前物料已存在");
                }
                //开启事务
                Db.BeginTran();
                var category = Db.Queryable<SysMaterialCategory>().First(w => w.IsDel == "0" && w.CategoryNo == model.categoryNo);
                if (category == null)
                {
                    category = new SysMaterialCategory()
                    {
                        CategoryNo = model.categoryNo,
                        CategoryName = model.categoryName,
                        CreateUser = 1
                    };
                    //添加物料类别信息
                    Db.Insertable(category).ExecuteCommand();
                }
                var pack = new SysPackag()
                {
                    PackagNo = model.skuNo.ToString(),
                    PackagName = model.skuName,
                    L1Num = 1,
                    L1Name = model.unit,
                    L2Num = Convert.ToInt32(model.packageQty),
                    L2Name = model.packageName
                };
                //添加包装信息
                Db.Insertable(pack).ExecuteCommand();
                var addSku = new SysMaterials()
                {
                    SkuNo = model.skuNo.ToString(),
                    SkuName = model.skuName,
                    Standard = model.specification,
                    CategoryNo = category.CategoryNo,
                    AuditStatusNo = "9", //model.AuditStatusNo
                    Type = "0",
                    IsControlled = "0",//是否请验,0:是 1:否
                    IsInspect = model.consume.ToString() == "0" ? "1" : "0",
                    IsPasteCode = "1",
                    Origin = "SAP",
                    UnitNo = model.unit,
                    PackagNo = pack.PackagNo,
                    Environment = null,
                    Weight = null,
                    Warranty = Convert.ToInt32(model.shelfLife.Trim()),
                    UnpackWarranty = null,
                    Price = null,
                    AdventTime = Convert.ToInt32(model.remainingDays)
                };
                await Db.Insertable(addSku).ExecuteCommandAsync();
                //提交事务
                Db.CommitTran();
                return "0";
            }
            catch (Exception ex)
            {
                //回滚事务
                Db.RollbackTran();
                //抛出异常
                throw new Exception("新增erp数据异常", ex);
            }
        }
        #endregion
    }
}