/*
* 仓库
*/
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)
// {
// }
}
}