| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using AutoMapper; |
| | | using Model.InterFaceModel; |
| | | using Model.ModelDto.SysDto; |
| | | using SqlSugar; |
| | | using Utility; |
| | |
| | | |
| | | #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 |
| | | } |
| | | } |