/* * 仓库 */ using System; using System.Collections.Generic; using System.Linq; using System.Data; using MySystem.Models.Main; using Library; using LitJson; namespace MySystem.Service.Main { public class StoreHouseService { static string _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // public StoreHouseService() // { // _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // } /// /// 查询列表 /// /// 关联表 /// 查询条件(sql语句) /// 总数(输出) /// 页码 /// 每页条数 /// public static List> List(List relationData, string condition, out int count, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc") { List fields = new List(); //要显示的列 fields.Add("Id"); fields.Add("CreateDate"); //添加时间 fields.Add("CreateMan"); //创建/修改人 fields.Add("Status"); //状态 fields.Add("StoreNo"); //仓库编号 fields.Add("StoreName"); //仓库名称 fields.Add("UserId"); //仓库归属人 fields.Add("BrandId"); //产品类型 fields.Add("ProductName"); //产品名称 fields.Add("Address"); //仓库地址 fields.Add("ManageUserId"); //仓库管理员 fields.Add("ManagerEmail"); //管理者邮箱 // fields.Add("ParentStoreId"); //父级Id // fields.Add("ParentNav"); //父级集合 fields.Add("StoreType"); //仓库类型 fields.Add("TotalNum"); //总库存数 fields.Add("LaveNum"); //剩余库存数 fields.Add("OutNum"); //出库数 // fields.Add("Remark"); //备注 fields.Add("Areas"); //所属地区 // fields.Add("LimitTopUserId"); //限制创客特殊仓库 fields.Add("StoreStatus"); //仓库状态 fields.Add("StoreKind"); //仓库归属类型 fields.Add("ManageMobile"); //管理者手机号 fields.Add("AuthFlag"); //认证标识 fields.Add("AuthDate"); //认证时间 fields.Add("OpId"); //运营中心 fields.Add("Deposit"); //押金 fields.Add("FilePath"); //附件 // fields.Add("ThisMonthSendCount"); //本月发货量 Dictionary obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("StoreHouse", relationData, orderBy, page, limit, condition, fields); List> diclist = obj["data"] as List>; count = int.Parse(obj["count"].ToString()); return diclist; } public static List> List(List relationData, string condition, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc") { List fields = new List(); //要显示的列 fields.Add("Id"); fields.Add("CreateDate"); //添加时间 fields.Add("Status"); //状态 fields.Add("StoreNo"); //仓库编号 fields.Add("StoreName"); //仓库名称 fields.Add("UserId"); //仓库归属人 fields.Add("BrandId"); //产品类型 fields.Add("ProductName"); //产品名称 fields.Add("Address"); //仓库地址 fields.Add("ManageUserId"); //仓库管理员 fields.Add("ManagerEmail"); //管理者邮箱 fields.Add("ParentStoreId"); //父级Id fields.Add("ParentNav"); //父级集合 fields.Add("StoreType"); //仓库类型 fields.Add("TotalNum"); //总库存数 fields.Add("LaveNum"); //剩余库存数 fields.Add("OutNum"); //出库数 fields.Add("Remark"); //备注 fields.Add("Areas"); //所属地区 fields.Add("LimitTopUserId"); //限制创客特殊仓库 fields.Add("StoreStatus"); //仓库状态 fields.Add("StoreKind"); //仓库归属类型 fields.Add("ManageMobile"); //管理者手机号 fields.Add("AuthFlag"); //认证标识 fields.Add("AuthDate"); //认证时间 fields.Add("OpId"); //运营中心 fields.Add("Deposit"); //押金 fields.Add("FilePath"); //附件 fields.Add("ThisMonthSendCount"); //本月发货量 Dictionary obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("StoreHouse", relationData, orderBy, page, limit, condition, fields); List> diclist = obj["data"] as List>; return diclist; } /// /// 查询一条记录 /// /// 主键Id /// public static StoreHouse Query(int Id) { WebCMSEntities db = new WebCMSEntities(); StoreHouse editData = db.StoreHouse.FirstOrDefault(m => m.Id == Id) ?? new StoreHouse(); db.Dispose(); return editData; } /// /// 根据指定条件查询数据 /// /// /// public static StoreHouse Query(string condition) { DataTable dt = new DbService(AppConfig.Base.mainTables, _conn).QueryDetail("*", "StoreHouse", condition); if(dt.Rows.Count > 0) { Dictionary row = new Dictionary(); foreach(DataColumn dc in dt.Columns) { row.Add(dc.ColumnName, dt.Rows[0][dc.ColumnName].ToString()); } return Newtonsoft.Json.JsonConvert.DeserializeObject(Newtonsoft.Json.JsonConvert.SerializeObject(row)); } return new StoreHouse(); } public static decimal Sum(string condition) { DataTable dt = new DbService(AppConfig.Base.mainTables, _conn).QueryDetail("Sum() Amount", "StoreHouse", condition); decimal amount = 0; if(dt.Rows.Count > 0) { foreach(DataColumn dc in dt.Columns) { amount = decimal.Parse(dt.Rows[0][dc.ColumnName].ToString()); } } return amount; } /// /// 通过创客Id查询名下所有正常分仓返回仓库Id /// /// 创客Id /// public static List QueryStoreByUserId(int UserId) { WebCMSEntities db = new WebCMSEntities(); List StoreIds = new List(); var storeList = db.StoreHouse.Where(m => m.Sort == 0 && m.Status == 1 && m.UserId == UserId).ToList(); foreach (var item in storeList) { StoreIds.Add(item.Id); } db.Dispose(); return StoreIds; } /// /// 通过创客Id查询名下关联运营中心的分仓 /// /// 创客Id /// public static StoreHouse QueryOpByUserId(int UserId) { WebCMSEntities db = new WebCMSEntities(); StoreHouse editData = db.StoreHouse.FirstOrDefault(m => m.Status > 0 && m.Sort == 0 && m.OpId > 0 && m.UserId == UserId) ?? new StoreHouse(); db.Dispose(); return editData; } /// /// 查询记录数 /// /// 主键Id /// public static int Count(string condition = "") { int result = 0; DataTable dt = CustomerSqlConn.dtable("select count(Id) from StoreHouse where 1=1" + condition, _conn); if (dt.Rows.Count > 0) { result = int.Parse(function.CheckInt(dt.Rows[0][0].ToString())); } return result; } /// /// 查询是否存在 /// /// 主键Id /// public static bool Exist(int Id) { WebCMSEntities db = new WebCMSEntities(); bool check = db.StoreHouse.Any(m => m.Id == Id); db.Dispose(); return check; } public static bool Exist(string condition) { DataTable dt = new DbService(AppConfig.Base.mainTables, _conn).QueryDetail("1", "StoreHouse", condition); if(dt.Rows.Count > 0) { return true; } return false; } /// /// 通过创客Id查询名下分仓是否关联运营中心 /// /// 创客Id /// public static bool ExistOpByUserId(int UserId) { WebCMSEntities db = new WebCMSEntities(); bool check = db.StoreHouse.Any(m => m.Status > 0 && m.Sort == 0 && m.OpId > 0 && m.UserId == UserId); db.Dispose(); return check; } /// /// 通过创客Id和品牌Id检查是否有同品牌分仓 /// /// 创客Id /// 品牌Id /// public static bool ExistSameStoreBrandByUserIdAndBrandId(int UserId,string BrandId) { WebCMSEntities db = new WebCMSEntities(); bool check = db.StoreHouse.Any(m => m.Status > -1 && m.Sort == 0 && m.UserId == UserId && m.BrandId == BrandId); db.Dispose(); return check; } /// /// 通过创客Id查询名下是否存在分仓 /// /// 创客Id /// public static bool ExistStoreByUserId(int UserId) { WebCMSEntities db = new WebCMSEntities(); bool check = db.StoreHouse.Any(m => m.Status > 0 && m.Sort == 0 && m.UserId == UserId); db.Dispose(); return check; } /// /// 添加数据 /// /// 要设置的字段 /// public static AppResultJson Add(Dictionary fields, bool check = true) { int Id = new DbService(AppConfig.Base.mainTables, _conn).Add("StoreHouse", fields, 0); return new AppResultJson() { Status = "1", Data = Id }; } /// /// 修改数据 /// /// 要设置的字段 /// 主键Id public static AppResultJson Edit(Dictionary fields, int Id, bool check = true) { new DbService(AppConfig.Base.mainTables, _conn).Edit("StoreHouse", fields, Id); return new AppResultJson() { Status = "1", Data = Id }; } /// /// 逻辑删除 /// /// 主键Id public static void Remove(int Id) { Dictionary fields = new Dictionary(); fields.Add("Status", -1); new DbService(AppConfig.Base.mainTables, _conn).Edit("StoreHouse", fields, Id); } /// /// 删除数据 /// /// 主键Id public static void Delete(int Id) { new DbService(AppConfig.Base.mainTables, _conn).Delete("StoreHouse", Id); } /// /// 排序 /// /// 主键Id /// 排序序号 public static void Sort(int Id, int Sort) { new DbService(AppConfig.Base.mainTables, _conn).Sort("StoreHouse", Sort, Id); } /// /// 导入数据 /// /// json数据 public static void Import(string ExcelData) { WebCMSEntities db = new WebCMSEntities(); JsonData list = JsonMapper.ToObject(ExcelData); for (int i = 1; i < list.Count; i++) { JsonData dr = list[i]; db.StoreHouse.Add(new StoreHouse() { CreateDate = DateTime.Now, UpdateDate = DateTime.Now, }); db.SaveChanges(); } db.Dispose(); } /// /// 导出excel表格 /// /// 查询条件(单个字段) /// 查询条件(sql语句) /// // public void ExportExcel(List relationData, string condition) // { // } } }