using HH.WCS.Hexafluo; using HH.WCS.Hexafluo.util; using HH.WCS.Hexafluo.wms; using HH.WCS.SJML.Dto; using HH.WCS.SJML.Entitys; using NLog.Fluent; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static HH.WCS.Hexafluo.dispatch.NDC; namespace HH.WCS.SJML.wms { public class MaterialHelper { public OperateResult SjMaterialMainAdd(List suppliers) { OperateResult result = new OperateResult(); var db = new SqlHelper().GetInstance(); try { var Mater = suppliers.Select(e => e.S_ITEM_CODE).ToList(); //查询是否存在相同数据 var location = db.Queryable().Where(it => Mater.Contains(it.S_ITEM_CODE)).ToList(); if (location.Count > 0) { suppliers.RemoveAll(e => location.Select(c => c.S_ITEM_CODE).ToList().Contains(e.S_ITEM_CODE)); } if (suppliers.Count() > 0) { db.BeginTran(); var I = db.Insertable(suppliers).ExecuteCommand(); db.Ado.CommitTran(); if (I > 0) { result.Success = true; result.AffectedRows = I; } else { result.Success = false; result.Msg = "添加失败!"; } } else { result.Success = false; result.Msg = "经过验证数据已存在,无法重复添加!"; } return result; } catch (Exception ex) { LogHelper.Info("物料维护", "添加报错--" + ex.Message + ex.StackTrace); db.Ado.RollbackTran(); return OperateResult.Error(ex.Message); } } public OperateResult SjMaterialMainDelete(List suppliers) { OperateResult result = new OperateResult(); var db = new SqlHelper().GetInstance(); try { db.BeginTran(); var I = db.Deleteable().WhereColumns(suppliers, it => new { it.S_ITEM_CODE }).ExecuteCommand(); db.Ado.CommitTran(); if (I > 0) { result.Success = true; result.AffectedRows = I; } else { result.Success = false; result.Msg = "添加失败!"; } return result; } catch (Exception ex) { LogHelper.Info("物料维护", "删除报错--" + ex.Message + ex.StackTrace); db.Ado.RollbackTran(); return OperateResult.Error(ex.Message); } } public OperateResult SjMaterialMainUpdate(List suppliers) { OperateResult result = new OperateResult(); var db = new SqlHelper().GetInstance(); try { var supplier = suppliers.Select(e=>e.S_ITEM_CODE).ToList(); db.BeginTran(); var I = db.Updateable(suppliers).WhereColumns(e=> new { e.S_ITEM_CODE }).ExecuteCommand(); db.Ado.CommitTran(); if (I > 0) { result.Success = true; result.AffectedRows = I; } else { result.Success = false; result.Msg = "更新失败!"; } return result; } catch (Exception ex) { LogHelper.Info("物料维护", "更新报错--" + ex.Message + ex.StackTrace); db.Ado.RollbackTran(); return OperateResult.Error(ex.Message); } } public OperateResult SjMaterialMainSelect(MaterialMainDto suppliers) { OperateResult result = new OperateResult(); var db = new SqlHelper().GetInstance(); var exp = Expressionable.Create(); exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_TYPE), it => it.S_ITEM_TYPE == suppliers.S_ITEM_TYPE); exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_CODE), it => it.S_ITEM_CODE.Contains(suppliers.S_ITEM_CODE)); exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_NAME), it => it.S_ITEM_NAME == suppliers.S_ITEM_NAME); exp.AndIF(!string.IsNullOrEmpty(suppliers.S_SPEC), it => it.S_SPEC == suppliers.S_SPEC); exp.AndIF(!string.IsNullOrEmpty(suppliers.S_DRAW_NO), it => it.S_DRAW_NO == suppliers.S_DRAW_NO); exp.AndIF(!string.IsNullOrEmpty(suppliers.C_ENABLE_OWNER), it => it.C_ENABLE_OWNER == suppliers.C_ENABLE_OWNER); var I = db.Queryable().Where(exp.ToExpression()).ToList(); result.Success = true; result.Data = I; return result; } } }