123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- /*
- * 仓库
- */
- 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();
- // }
- /// <summary>
- /// 查询列表
- /// </summary>
- /// <param name="relationData">关联表</param>
- /// <param name="condition">查询条件(sql语句)</param>
- /// <param name="count">总数(输出)</param>
- /// <param name="page">页码</param>
- /// <param name="limit">每页条数</param>
- /// <returns></returns>
- public static List<Dictionary<string, object>> List(List<RelationData> relationData, string condition, out int count, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc")
- {
- List<string> fields = new List<string>(); //要显示的列
- 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<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("StoreHouse", relationData, orderBy, page, limit, condition, fields);
- List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
- count = int.Parse(obj["count"].ToString());
- return diclist;
- }
- public static List<Dictionary<string, object>> List(List<RelationData> relationData, string condition, int page = 1, int limit = 30, string orderBy = "Sort desc,Id desc")
- {
- List<string> fields = new List<string>(); //要显示的列
- 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<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("StoreHouse", relationData, orderBy, page, limit, condition, fields);
- List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
- return diclist;
- }
- /// <summary>
- /// 查询一条记录
- /// </summary>
- /// <param name="Id">主键Id</param>
- /// <returns></returns>
- 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;
- }
-
- /// <summary>
- /// 根据指定条件查询数据
- /// </summary>
- /// <param name="condition"></param>
- /// <returns></returns>
- public static StoreHouse Query(string condition)
- {
- DataTable dt = new DbService(AppConfig.Base.mainTables, _conn).QueryDetail("*", "StoreHouse", condition);
- if(dt.Rows.Count > 0)
- {
- Dictionary<string, object> row = new Dictionary<string, object>();
- foreach(DataColumn dc in dt.Columns)
- {
- row.Add(dc.ColumnName, dt.Rows[0][dc.ColumnName].ToString());
- }
- return Newtonsoft.Json.JsonConvert.DeserializeObject<StoreHouse>(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;
- }
- /// <summary>
- /// 通过创客Id查询名下所有正常分仓返回仓库Id
- /// </summary>
- /// <param name="UserId">创客Id</param>
- /// <returns></returns>
- public static List<int> QueryStoreByUserId(int UserId)
- {
- WebCMSEntities db = new WebCMSEntities();
- List<int> StoreIds = new List<int>();
- 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;
- }
- /// <summary>
- /// 通过创客Id查询名下关联运营中心的分仓
- /// </summary>
- /// <param name="UserId">创客Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 查询记录数
- /// </summary>
- /// <param name="Id">主键Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 查询是否存在
- /// </summary>
- /// <param name="Id">主键Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 通过创客Id查询名下分仓是否关联运营中心
- /// </summary>
- /// <param name="UserId">创客Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 通过创客Id和品牌Id检查是否有同品牌分仓
- /// </summary>
- /// <param name="UserId">创客Id</param>
- /// <param name="BrandId">品牌Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 通过创客Id查询名下是否存在分仓
- /// </summary>
- /// <param name="UserId">创客Id</param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 添加数据
- /// </summary>
- /// <param name="Fields">要设置的字段</param>
- /// <returns></returns>
- public static AppResultJson Add(Dictionary<string, object> fields, bool check = true)
- {
- int Id = new DbService(AppConfig.Base.mainTables, _conn).Add("StoreHouse", fields, 0);
- return new AppResultJson() { Status = "1", Data = Id };
- }
- /// <summary>
- /// 修改数据
- /// </summary>
- /// <param name="Fields">要设置的字段</param>
- /// <param name="Id">主键Id</param>
- public static AppResultJson Edit(Dictionary<string, object> fields, int Id, bool check = true)
- {
- new DbService(AppConfig.Base.mainTables, _conn).Edit("StoreHouse", fields, Id);
- return new AppResultJson() { Status = "1", Data = Id };
- }
- /// <summary>
- /// 逻辑删除
- /// </summary>
- /// <param name="Id">主键Id</param>
- public static void Remove(int Id)
- {
- Dictionary<string, object> fields = new Dictionary<string, object>();
- fields.Add("Status", -1);
- new DbService(AppConfig.Base.mainTables, _conn).Edit("StoreHouse", fields, Id);
- }
- /// <summary>
- /// 删除数据
- /// </summary>
- /// <param name="Id">主键Id</param>
- public static void Delete(int Id)
- {
- new DbService(AppConfig.Base.mainTables, _conn).Delete("StoreHouse", Id);
- }
- /// <summary>
- /// 排序
- /// </summary>
- /// <param name="Id">主键Id</param>
- /// <param name="Sort">排序序号</param>
- public static void Sort(int Id, int Sort)
- {
- new DbService(AppConfig.Base.mainTables, _conn).Sort("StoreHouse", Sort, Id);
- }
- /// <summary>
- /// 导入数据
- /// </summary>
- /// <param name="ExcelData">json数据</param>
- 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();
- }
- /// <summary>
- /// 导出excel表格
- /// </summary>
- /// <param name="fields">查询条件(单个字段)</param>
- /// <param name="condition">查询条件(sql语句)</param>
- /// <returns></returns>
- // public void ExportExcel(List<RelationData> relationData, string condition)
- // {
- // }
- }
- }
|