using System; using System.Collections.Generic; using System.Data; using System.Web; using System.Web.Services; using NetLibrary; using NetLibrary.Data; using NetLibrary.ReportPrint; using TradeData; using TradeModel; namespace TradeManageNew.CangKu { /// /// CangKuServer 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 [System.Web.Script.Services.ScriptService] public class CangKuServer : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } #region 查询仓库 [WebMethod(EnableSession = true)] public List GetStoreHouseInfo() { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetStoreHouseList(CompanyId); return list; } #endregion #region 查询开启仓库 [WebMethod(EnableSession = true)] public List GetUseStoreHouse() { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetUseStoreHouse(CompanyId); return list; } #endregion #region 查询仓库库位 [WebMethod(EnableSession = true)] public List GetStorePostion(int StoreId) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetStorePostion(StoreId); return list; } #endregion #region 查询仓库库位 [WebMethod(EnableSession = true)] public string IsPostionCodelList(List list) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); string error = ""; if (list != null) { foreach (var md in list) { if (obj.IsStorePostionCode(0, md.PostionCode) == 0) { error += md.PostionCode + "库位编码不存在;"; } } } return error; } #endregion #region 查询仓库库位 [WebMethod(EnableSession = true)] public List GetStorePostionForTM(int StoreId, int IsLS) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetStorePostionForTM(StoreId, IsLS); return list; } #endregion #region 查询仓库库位 [WebMethod(EnableSession = true)] public JsonModel> GetStorePostionList(int StoreId, int PageIndex, int PageSize, string Sort) { var obj = new CK_HouseData(); RefParameterCollection Param = new RefParameterCollection(); Param.Add("StoreId", "=", StoreId, DbType.Int32); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = obj.GetStorePostionList(Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 查询仓库库位 [WebMethod(EnableSession = true)] public JsonModel> GetStorePostionListForTM(int StoreId, string Name, int IsLs, int PageIndex, int PageSize, string Sort) { var obj = new CK_HouseData(); RefParameterCollection Param = new RefParameterCollection(); Param.Add("StoreId", "=", StoreId, DbType.Int32); if (IsLs == 1) Param.Add("IsLs", "=", 1, DbType.Int32); if (Name != "") { Param.Add("(PostionCode", "like", Name.Trim(), DbType.String); Param.Add("PostionDesc", "like", Name.Trim(), "or", ")", DbType.String); } JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = obj.GetStorePostionList(Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 保存仓库 [WebMethod(EnableSession = true)] public int SaveStore(CK_StoreHouse model) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); if (obj.IsStoreCode(model.StoreId.Value, model.StoreCode) > 0) return 0; model.CompanyId = CompanyId; if (model.UseShop != null && model.UseShop != "0") model.UseShop = model.UseShop.Trim(','); if (model.UseCountry != null && model.UseCountry != "0") model.UseCountry = model.UseCountry.Trim(','); int StoreId = obj.SaveStoreHouse(model); return StoreId; } #endregion #region 保存仓库库位 [WebMethod(EnableSession = true)] public int SaveGoodsPostion(CK_StorePostion model) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); if (obj.IsPostionCode(model.PostionId.Value, model.PostionCode) > 0) return -1; int Id = obj.SaveGoodsPostion(model); return Id; } #endregion #region 保存仓库库位 [WebMethod(EnableSession = true)] public int SaveGoodsPostion2(CK_StorePostion model) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); if (obj.IsPostionCode(model.PostionId.Value, model.PostionCode) > 0) return -1; int Id = obj.SaveGoodsPostion2(model); return Id; } #endregion #region 仓库 [WebMethod(EnableSession = true)] public CK_StoreHouse GetStoreModel(int StoreId) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); var model = obj.GetStoreHouseModel(StoreId); //if (model.UseShop != null && model.UseShop != "" && model.UseShop != "0") //{ // string[] ids = model.UseShop.Split(','); // model.UsePlatId = new List(); // for(int i=0;i GetShopList(string ShopIds) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new HuoWuData(); BaseService obj1 = new BaseService(); var list = obj1.GetShopList(CompanyId, 0); if (ShopIds != "") { string[] ShopId = ShopIds.Trim(',').Split(','); for (int i = 0; i < ShopId.Length; i++) { var md1 = list.Find(n => n.ShopId == Convert.ToInt32(ShopId[i])); if (md1 != null) md1.IsCheck = true; } } var slist = new List(); var ptlist = BaseService.GetPlatBaseCode(0, "ptlx"); for (int i = 1; i < ptlist.Count; i++) { var md = new JC_Plat(); md.PlatName = ptlist[i].Name; if (list != null) md.ShopList = list.FindAll(n => n.PlatType == ptlist[i].SortNo); if (md.ShopList != null) { slist.Add(md); } } return slist; } #endregion #region 国家 [WebMethod(EnableSession = true)] public List GetFbaCountry(string CountryIds) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new HuoWuData(); BaseService obj1 = new BaseService(); var list = obj1.GetFbaCountry(CompanyId); if (CountryIds != "") { string[] CountryId = CountryIds.Trim(',').Split(','); for (int i = 0; i < CountryId.Length; i++) { for (int j = 0; j < list.Count; j++) { if (list[j].Code == CountryId[i]) list[j].IsCheck = true; } } } return list; } #endregion #region 删除仓库 [WebMethod(EnableSession = true)] public int DeleteStore(int StoreId) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); if (obj.IsStore(StoreId) > 0) return 1; obj.DeleteStoreHouse(StoreId); return 0; } #endregion #region 删除仓库库位 [WebMethod(EnableSession = true)] public void DeletePostion(int PostionId) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); obj.DeleteStorePostion(PostionId); } #endregion #region 开启关闭仓库 [WebMethod(EnableSession = true)] public int UpdateStoreHouse(int StoreId, int IsUse) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); //if (IsUse == 0 && obj.IsStore(StoreId) > 0) //{ // return 1; // } obj.UpdateStoreHouse(StoreId, IsUse); return 0; } #endregion #region 查询仓库货物 [WebMethod(EnableSession = true)] public List GetCKGoodsList(int StoreId, int PostionId, string Name) { PagesNew.Login(this.Session); var obj = new HuoWuData(); var list = obj.GetCKGoodsList(StoreId, PostionId, Name); return list; } #endregion #region 移库仓库货物 [WebMethod(EnableSession = true)] public void MoveCKGoods(List list) { PagesNew.Login(this.Session); var obj = new HuoWuData(); string name = Convert.ToString(Session["Name"]); if (list != null) { foreach (var md in list) { obj.MoveCKGoods(md.OldStoreId, md.OldPostionId, md.InId, md.NewStoreId, md.NewPostionId); var mmd = new HW_GoodsMove(); mmd.InId = md.InId; mmd.NewPostionId = md.NewPostionId; //mmd.PostionCode = md.OldPostionId; mmd.OldPostionId = md.OldPostionId; mmd.InDate = DateTime.Now; mmd.InName = name; obj.Save_GoodsMove2(mmd); } } } #endregion #region sku入库位 [WebMethod(EnableSession = true)] public string UpdateSKUPostion(string SKUS, string PostionCode) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new HuoWuData(); string error = ""; if (SKUS.Trim() != "") { string[] srows = SKUS.Trim().Split('\n'); for (int i = 0; i < srows.Length; i++) { int a = obj.UpdateSKUPostion(CompanyId, srows[i].Trim(), PostionCode.Trim()); if (a == 0) { error = "库位编号不存在"; break; } else if (a == 1) { error += srows[i] + "\n"; } } } if (error == "") error = "保存成功"; return error; } #endregion #region 查询仓库货物 [WebMethod(EnableSession = true)] public List GetScanImportRecord(int Type) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new HuoWuData(); var list = obj.GetScanImportRecordList(CompanyId, Type); return list; } #endregion #region sku入库位验证 public string IsPostionCode(string SKUS) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); string error = ""; if (SKUS.Trim() != "") { string[] srows = SKUS.Trim().Split('\n'); int PostionId = 0; string code = ""; for (int i = 0; i < srows.Length; i++) { if (srows[i].Trim() != code) { code = srows[i].Trim(); string PCode = srows[i].Trim(); string GoodsCode = ""; string TypeCode = ""; if (srows[i].Trim().Contains("-")) { GoodsCode = srows[i].Trim().Split('-')[0].Trim(); TypeCode = srows[i].Trim().Split('-')[1].Trim(); } var model = obj.GetStorePostionId(CompanyId, PCode, GoodsCode, TypeCode); if (model == null || model.Id == null) { PostionId = 0; if (GoodsCode != "") error += srows[i].Trim() + "找不到对应货物\n"; else error += srows[i].Trim() + "找不到对应库位\n"; continue; } if (model.SType == 1) { PostionId = model.Id.Value; } else if (PostionId == 0 && model.SType == 2) { error += srows[i].Trim() + "货物之前没有扫描库位编号\n"; continue; } } } } return error; } #endregion #region sku入库位验证 public List GetPostionCodeMove(int OutPostionId, string SKUS, out string error) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); error = ""; List list = new List(); List smlist = new List(); var obj = new CK_HouseData(); if (SKUS.Trim() != "") { string[] srows = SKUS.Trim().Split('\n'); int PostionId = 0; for (int i = 0; i < srows.Length; i++) { int DetailId = 0; string PCode = srows[i].Trim(); var smmd = smlist.Find(n => n.SKUCode == PCode); if (smmd != null) { if (smmd.CodeType == 1) { PostionId = smmd.Id.Value; if (PostionId == 0) { continue; } } else { DetailId = smmd.Id.Value; if (DetailId == 0) { continue; } } } else { string GoodsCode = ""; string TypeCode = ""; if (PCode.Contains("-")) { GoodsCode = PCode.Split('-')[0].Trim(); TypeCode = PCode.Split('-')[1].Trim(); DetailId = obj.GetStoreGoods(GoodsCode, TypeCode); var nmd = new PostionSkuType(); nmd.SKUCode = PCode; nmd.CodeType = 2; nmd.Id = DetailId; smlist.Add(nmd); if (DetailId == 0) { error += PCode + "找不到对应货物编码\n"; continue; } } else { PostionId = obj.IsStorePostionCode(0, PCode); var nmd = new PostionSkuType(); nmd.SKUCode = PCode; nmd.CodeType = 1; nmd.Id = PostionId; smlist.Add(nmd); if (PostionId == 0) { error += PCode + "找不到库位编码\n"; continue; } } } if (PostionId == 0 && DetailId > 0) { error += srows[i].Trim() + "没有对应入库库位\n"; continue; } if (DetailId > 0) { var gmd = list.Find(n => n.DetailId == DetailId && n.PostionId == PostionId); if (gmd != null) gmd.GoodsNum += 1; else { var smd = new HwPostionMove(); smd.SKUCode = PCode; smd.DetailId = DetailId; smd.PostionId = PostionId; smd.GoodsNum = 1; list.Add(smd); } } } } return list; } #endregion #region sku入库位 [WebMethod(EnableSession = true)] public string UpdateSKUPostionForTM(string SKUS, int StoreId, string PostionCode) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int OldPostionId = 0; OldPostionId = obj.IsStorePostionCode(StoreId, PostionCode); if (OldPostionId <= 0) { return "调出仓库库位编码不存在"; } string info = "";// IsPostionCode(SKUS); var list = GetPostionCodeMove(OldPostionId, SKUS, out info); if (info != "") { return info; } int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); string error = ""; if (list != null) { foreach (var md1 in list) { if (md1.PostionId > 0 && md1.DetailId > 0 && md1.GoodsNum > 0) { int a = obj.UpdateSKUToPostion3(md1.DetailId.Value, md1.PostionId.Value, StoreId, OldPostionId, md1.GoodsNum.Value); if (a == 0) { error += md1.SKUCode + "没有在调出库位找到库存\n"; } } } } //if (error == "") // error = ""; var obj1 = new HuoWuData(); HW_ScanImportRecord md = new HW_ScanImportRecord(); md.CompanyId = CompanyId; md.InUserId = UserId; md.Title = DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "扫描记录"; md.ScanType = 1; md.ScanContent = SKUS; obj1.SaveScanImportRecord(md); return error; } #endregion #region sku入库位扫描 [WebMethod(EnableSession = true)] public List UpdateSKUPostionForScan(string SKUS, string PostionCode) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int OldPostionId = 0; OldPostionId = obj.IsStorePostionCode(0, PostionCode); if (OldPostionId <= 0) { return null;// "仓库库位编码不存在"; } return null; string info = "";// IsPostionCode(SKUS); //var list = GetPostionCodeMove(OldPostionId, SKUS, out info); //if (info != "") //{ // return info; //} //int CompanyId = Convert.ToInt32(Session["CompanyId"]); //int UserId = Convert.ToInt32(Session["UserId"]); //string error = ""; //if (list != null) //{ // foreach (var md1 in list) // { // if (md1.PostionId > 0 && md1.DetailId > 0 && md1.GoodsNum > 0) // { // int a = obj.UpdateSKUToPostion3(md1.DetailId.Value, md1.PostionId.Value, StoreId, OldPostionId, md1.GoodsNum.Value); // if (a == 0) // { // error += md1.SKUCode + "没有在调出库位找到库存\n"; // } // } // } //} ////if (error == "") //// error = ""; //var obj1 = new HuoWuData(); //HW_ScanImportRecord md = new HW_ScanImportRecord(); //md.CompanyId = CompanyId; //md.InUserId = UserId; //md.Title = DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "扫描记录"; //md.ScanType = 1; //md.ScanContent = SKUS; //obj1.SaveScanImportRecord(md); //return error; } #endregion #region sku入库位 [WebMethod(EnableSession = true)] public string UpdateSKUPostionForTM2(string SKUS) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); string info = "";// IsPostionCode(SKUS); var list = GetPostionCodeMove(0, SKUS, out info); if (info != "") { return info; } int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); string error = ""; if (list != null) { foreach (var md1 in list) { if (md1.PostionId > 0 && md1.DetailId > 0 && md1.GoodsNum > 0) { obj.UpdateSKUToPostion4(md1.DetailId.Value, md1.PostionId.Value, 1, md1.GoodsNum.Value); } } } //if (error == "") // error = ""; var obj1 = new HuoWuData(); HW_ScanImportRecord md = new HW_ScanImportRecord(); md.CompanyId = CompanyId; md.InUserId = UserId; md.Title = DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "扫描记录"; md.ScanType = 3; md.ScanContent = SKUS; obj1.SaveScanImportRecord(md); return error; } #endregion #region 扫描盘库 [WebMethod(EnableSession = true)] public List SKUCompare(string SKUS) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); //string info = IsPostionCode(SKUS); //if (info != "") //{ // return info; //} int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); var bjlist = new List(); string error = ""; var list = new List(); var clist = new List(); var smlist = new List(); if (SKUS.Trim() != "") { string[] srows = SKUS.Trim().Split('\n'); int PostionId = 0; for (int i = 0; i < srows.Length; i++) { string PCode = srows[i].Trim(); var pmd = smlist.Find(n => n.SKUCode == PCode); CK_GoodsPostionMd model = new CK_GoodsPostionMd(); if (pmd != null) //已存在 { if (pmd.CodeType == 0) { continue; } else if (pmd.CodeType == 1) { model.Id = pmd.Id; model.SType = 1; } else if (pmd.CodeType == 2) { model.Id = pmd.Id; model.SType = 2; model.GoodsName = pmd.GoodsName; model.TypeDesc = pmd.TypeDesc; } } else { string GoodsCode = ""; string TypeCode = ""; if (srows[i].Trim().Contains("-")) { GoodsCode = srows[i].Trim().Split('-')[0].Trim(); TypeCode = srows[i].Trim().Split('-')[1].Trim(); } model = obj.GetStorePostionId(CompanyId, PCode, GoodsCode, TypeCode); } if (model == null || model.Id == null) //找不到库位或者条码 { var smd = new HwPostionSku(); smd.PostionId = 0; if (srows[i].Trim().Contains("-") == false) { smd.PostionCode = PCode; smd.SKUCode = PCode; smd.GoodsName = "找不到该库位"; } else { smd.SKUCode = PCode; smd.GoodsCode = PCode; smd.GoodsName = "找不到该货物编号"; } smd.DetailId = 0; smd.GoodsNum = 0; list.Add(smd); var smmd = new PostionSkuType(); smmd.SKUCode = PCode; smmd.Id = 0; smmd.CodeType = 0; continue; } if (model.SType == 1) //库位 { PostionId = model.Id.Value; var md = list.Find(n => n.PostionId == PostionId); if (md == null) { var smd = new HwPostionSku(); smd.PostionId = PostionId; smd.PostionCode = PCode; list.Add(smd); } var smmd = new PostionSkuType(); smmd.SKUCode = PCode; smmd.Id = PostionId; smmd.CodeType = 1; } else if (model.SType == 2 && PostionId > 0) { int DetailId = model.Id.Value; var smmd = new PostionSkuType(); smmd.SKUCode = PCode; smmd.Id = DetailId; smmd.GoodsName = model.GoodsName; smmd.TypeDesc = model.TypeDesc; smmd.CodeType = 2; var md = list.Find(n => n.PostionId == PostionId); if (md != null) { if (md.GoodsList != null) { var gmd = md.GoodsList.Find(n => n.DetailId == DetailId); if (gmd != null) { gmd.SKUCode = PCode; gmd.GoodsNum += 1; } else { var smd = new PostionSku(); smd.SKUCode = PCode; smd.DetailId = DetailId; smd.GoodsNum = 1; smd.GoodsName = model.GoodsName; smd.TypeDesc = model.TypeDesc; md.GoodsList.Add(smd); } } else { var glist = new List(); var smd = new PostionSku(); smd.SKUCode = PCode; smd.DetailId = DetailId; smd.GoodsNum = 1; glist.Add(smd); md.GoodsList = glist; } } else { var cmd = new HwPostionSku(); cmd.PostionId = PostionId; cmd.DetailId = DetailId; cmd.GoodsCode = PCode; var glist = new List(); var smd = new PostionSku(); smd.SKUCode = PCode; smd.DetailId = DetailId; smd.GoodsNum = 1; glist.Add(smd); cmd.GoodsList = glist; } } } if (list.Count > 0) { foreach (var lmd in list) { if (lmd.PostionId == 0) { bjlist.Add(lmd); } else { var kclist = obj.GetStoreScanGoodsKCNum(lmd.PostionId.Value); var sdlist = obj.GetStoreScanGoodsLockNum(lmd.PostionId.Value); var glist = lmd.GoodsList; if (glist != null) { foreach (var md in glist) { HwPostionSku bjmd = new HwPostionSku(); if (kclist != null) bjmd = kclist.Find(n => n.DetailId == md.DetailId); else bjmd = null; if (bjmd != null) { if (bjmd.KCNum != md.GoodsNum) { bjmd.IsBJ = 1; var xsmd = new HwPostionSku(); xsmd.PostionCode = lmd.PostionCode; xsmd.GoodsCode = md.SKUCode; xsmd.GoodsNum = md.GoodsNum; xsmd.KCNum = bjmd.KCNum; HwPostionSku bjsdmd = new HwPostionSku(); if (sdlist != null) bjsdmd = sdlist.Find(n => n.DetailId == md.DetailId); else bjsdmd = null; if (bjsdmd != null) { bjsdmd.IsBJ = 1; xsmd.LockNum = bjsdmd.LockNum; } else xsmd.LockNum = 0; xsmd.GoodsName = bjmd.GoodsName; xsmd.TypeDesc = bjmd.TypeDesc; bjlist.Add(xsmd); } else { bjmd.IsBJ = 1; HwPostionSku bjsdmd = new HwPostionSku(); if (sdlist != null) bjsdmd = sdlist.Find(n => n.DetailId == md.DetailId); else bjsdmd = null; if (bjsdmd != null) { bjsdmd.IsBJ = 1; } } } else { var xsmd = new HwPostionSku(); xsmd.PostionCode = lmd.PostionCode; xsmd.GoodsCode = md.SKUCode; xsmd.GoodsNum = md.GoodsNum; xsmd.KCNum = 0; xsmd.LockNum = 0; xsmd.GoodsName = md.GoodsName; xsmd.TypeDesc = md.TypeDesc; bjlist.Add(xsmd); } } } if (kclist != null) { var bjsylist = kclist.FindAll(n => n.IsBJ == 0); if (bjsylist != null) { foreach (var md in bjsylist) { var xsmd = new HwPostionSku(); xsmd.PostionCode = lmd.PostionCode; if (md.GoodsCode != null && md.GoodsCode != "") xsmd.GoodsCode = md.GoodsCode + "-" + md.TypeCode; else if (md.GoodsOldCode != null && md.GoodsOldCode != "") xsmd.GoodsCode = md.GoodsOldCode + "-" + md.TypeCode; xsmd.GoodsNum = 0; xsmd.KCNum = md.KCNum; HwPostionSku bjsdmd = new HwPostionSku(); if (sdlist != null) bjsdmd = sdlist.Find(n => n.DetailId == md.DetailId); else bjsdmd = null; if (bjsdmd != null) { bjsdmd.IsBJ = 1; xsmd.LockNum = bjsdmd.LockNum; } else xsmd.LockNum = 0; xsmd.GoodsName = md.GoodsName; xsmd.TypeDesc = md.TypeDesc; bjlist.Add(xsmd); } } } if (sdlist != null) { var bjsdsylist = sdlist.FindAll(n => n.IsBJ == 0); if (bjsdsylist != null) { foreach (var md in bjsdsylist) { var xsmd = new HwPostionSku(); xsmd.PostionCode = lmd.PostionCode; if (md.GoodsCode != null && md.GoodsCode != "") xsmd.GoodsCode = md.GoodsCode + "-" + md.TypeCode; else if (md.GoodsOldCode != null && md.GoodsOldCode != "") xsmd.GoodsCode = md.GoodsOldCode + "-" + md.TypeCode; xsmd.GoodsNum = 0; xsmd.KCNum = 0; xsmd.LockNum = md.LockNum; xsmd.GoodsName = md.GoodsName; xsmd.TypeDesc = md.TypeDesc; bjlist.Add(xsmd); } } } } } } } //if (error == "") // error = ""; var obj1 = new HuoWuData(); HW_ScanImportRecord md1 = new HW_ScanImportRecord(); md1.CompanyId = CompanyId; md1.InUserId = UserId; md1.Title = DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "扫描记录"; md1.ScanType = 2; md1.ScanContent = SKUS; obj1.SaveScanImportRecord(md1); return bjlist; } #endregion #region 调整库位编码 [WebMethod(EnableSession = true)] public int UpdatePostionCode(int StoreId, int IsMH, string OldCode, string NewCode) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var obj = new CK_HouseData(); if (IsMH == 0 && obj.IsPostionCode(0, NewCode) > 0) { return -1; } int a = obj.UpdatePostionCode(StoreId, IsMH, OldCode, NewCode); return a; } #endregion #region 查询记录 [WebMethod(EnableSession = true)] public HW_ScanImportRecord GetScanImportRecordModel(int Id) { PagesNew.Login(this.Session); var obj = new HuoWuData(); var model = obj.GetScanImportRecordModel(Id); return model; } #endregion #region 验证库位编码 public string IsPostionGoods(List list) { int CompanyId = Convert.ToInt32(Session["CompanyId"]); string error = ""; var obj = new CK_HouseData(); if (list != null) { int i = 1; string OldKW = ""; foreach (var md in list) { if (OldKW != md.PostionCode && md.NewPostionCode != null && md.NewPostionCode != "" && obj.IsPostionCode(0, md.NewPostionCode) == 0) { error += "第" + i.ToString() + "行库位编号" + md.NewPostionCode + "不存在;"; } OldKW = md.PostionCode; i++; } } return error; } #endregion public string GetOutCode() { PagesNew.Login(this.Session); var obj = new CG_ChaseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); Random r = new Random(); string a = r.Next(10000, 99999).ToString(); string Code = DateTime.Now.ToString("yyyyMMddhhmmss") + a; return Code; } #region 调整库位货物 [WebMethod(EnableSession = true)] public string UpdatePostionGoods(List list) { PagesNew.Login(this.Session); int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); string error = IsPostionGoods(list); if (error != "") return error; var obj = new CK_HouseData(); if (list != null) { int OutHjNum = 0; foreach (var md in list) { if (md.IsOut.ToLower() == "true") //剩余的出库 OutHjNum = md.UseGoodsNum.Value - md.OutNum.Value; } int OutId = 0; var obj1 = new HuoWuData(); if (OutHjNum > 0) { HW_GoodsOutRecord model = new HW_GoodsOutRecord(); model.OutCode = GetOutCode(); model.OutReason = "库存调整"; model.CompanyId = CompanyId; model.InDate = DateTime.Now; model.InUserId = UserId; model.IsDelete = 0; model.OrderId = 0; model.OutNum = OutHjNum; OutId = obj1.SaveGoodsOutForTM(model); //生成出库记录 } string name = Convert.ToString(Session["Name"]); foreach (var md in list) { if (md.OutNum > 0 && md.NewPostionCode != "") { obj.UpdateGoodsPostionCode(md.StoreId.Value, md.DetailId.Value, md.PostionId.Value, md.NewPostionCode, md.OutNum.Value); var mmd = new HW_GoodsMove(); mmd.PostionCode = md.NewPostionCode; mmd.OldPostionId = md.PostionId; mmd.InDate = DateTime.Now; mmd.InName = name; mmd.Num = md.OutNum; mmd.DetailId = md.DetailId; obj1.Save_GoodsMove(mmd); } if (md.IsOut.ToLower() == "true") //剩余的出库 { int OutNum = md.UseGoodsNum.Value - md.OutNum.Value; HW_GoodsOutCK ckmd = new HW_GoodsOutCK(); ckmd.OutId = OutId; ckmd.OutNum = OutNum; ckmd.DetailId = md.DetailId; int CKId = obj1.SaveGoodsOutDetailNew(ckmd); if (OutNum > 0) obj1.SaveGoodsOutInnerForTM2(md.DetailId.Value, md.PostionId.Value, md.StoreId.Value, OutNum, CKId); } } //obj1.SaveGoodsOutGoodsNum(OutId); } return "提交成功"; } #endregion #region 导入物流比较 [WebMethod(EnableSession = true)] public string ExcelSaveTrackCompare(string FileName, int Month, int Year, string Name, int PostId) { PagesNew.Login(this.Session); if (string.IsNullOrEmpty(FileName) == true) return "要导入的文件路径不能为空"; string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName; if (System.IO.File.Exists(ServerFileName) == false) return "要导入的文件路径不存在"; int CompanyId = Convert.ToInt32(Session["CompanyId"]); try { var mmd = new WL_TrackCompare(); mmd.Id = 0; mmd.Month = Month; mmd.Year = Year; mmd.Name = Name; mmd.PostId = PostId; mmd.InDate = DateTime.Now; mmd.InUserId = Convert.ToInt32(Session["UserId"]); BaseService obj = new BaseService(); int masterid = obj.SaveTrackCompare(mmd); MicrosoftExcel excel = new MicrosoftExcel(); DataTable tb = excel.ImportExcel(ServerFileName); string error = ""; if (tb.Columns.Contains("运单号") == false) { error = error + "导入文件没有运单号 列"; } // if (tb.Columns.Contains("重量") == false) { error = error + "导入文件没有 重量 列"; } // if (tb.Columns.Contains("运费") == false) { error = error + "导入文件没有 运费 列"; } if (string.IsNullOrEmpty(error) == false) return error + ";请重新下载模板导入"; int UserId = Convert.ToInt32(Session["UserId"]); int Count = 0; for (int i = 0; i < tb.Rows.Count; i++) { var md = new WL_TrackCompareDetail(); md.InDate = DateTime.Now; if (tb.Rows[i]["运单号"].ToString() != "") md.TrackCode = tb.Rows[i]["运单号"].ToString().Trim(); if (tb.Columns.Contains("订单号") == true) md.OrderCode = tb.Rows[i]["订单号"].ToString().Trim(); md.State = 0; try { if (tb.Columns.Contains("重量") == true && tb.Rows[i]["重量"] != null && tb.Rows[i]["重量"].ToString() == "") md.Weight = Convert.ToDecimal(tb.Rows[i]["重量"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的重量必须是数字
"; continue; } try { if (tb.Columns.Contains("运费") == true && tb.Rows[i]["运费"] != null && tb.Rows[i]["运费"].ToString() == "") md.Fee = Convert.ToDecimal(tb.Rows[i]["运费"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的重量运费是数字
"; continue; } md.MasterId = masterid; int a = obj.SaveTrackCompareDetail(md); Count++; //if (a == 2) //{ // error += "第" + (i + 2).ToString() + " 行的SKU已经存在
"; // continue; //} } if (error == "") { error = "导入成功;" + Count.ToString() + "条"; } else { error += "导入成功;" + Count.ToString() + "条"; } return error; } catch (Exception e) { return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message; } return "导入成功"; } #endregion #region 删除比较记录 [WebMethod(EnableSession = true)] public void DeleteTrackCompare(int Id) { PagesNew.Login(this.Session); var obj = new BaseService(); obj.DeleteTrackCompare(Id); } #endregion #region 比较记录 [WebMethod(EnableSession = true)] public List GetTrackCompareList() { PagesNew.Login(this.Session); var obj = new BaseService(); var list = obj.GetWL_TrackCompareList(); return list; } #endregion #region 导入退件 [WebMethod(EnableSession = true)] public DT_BackOrderInfo ExcelBackBag(string FileName, string PostionCode, int BackState, string BackReason) { PagesNew.Login(this.Session); DT_BackOrderInfo md = new DT_BackOrderInfo(); if (string.IsNullOrEmpty(FileName) == true) { md.Info = "要导入的文件路径不能为空"; return md; } string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName; if (System.IO.File.Exists(ServerFileName) == false) { md.Info = "要导入的文件路径不存在"; return md; } int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); string Name = Convert.ToString(Session["Name"]); try { DD_OrderData obj = new DD_OrderData(); MicrosoftExcel excel = new MicrosoftExcel(); DataTable tb = excel.ImportExcel(ServerFileName); int DHType = 0; string error = ""; if (tb.Columns.Contains("跟踪码") == true) { DHType = 1; } else if (tb.Columns.Contains("订单号") == true) { DHType = 2; } if (DHType == 0) { md.Info = "导入文件格式不对,Excel必须包含 跟踪码 或者 订单号列"; return md; } var list = new List(); var partlist = new List(); string parterror = ""; for (int i = 0; i < tb.Rows.Count; i++) { string Code = ""; if (DHType == 1) Code = tb.Rows[i]["跟踪码"].ToString().Trim(); else Code = tb.Rows[i]["订单号"].ToString().Trim(); if (Code == "") continue; var tlist = obj.Get_TrackBackList(Code, DHType); if (tlist != null) { if (tlist.Count == 1) { DT_BackOrder backmd = new DT_BackOrder(); backmd.OrderId = tlist[0].OrderId; backmd.OrderCode = Code; backmd.JoinOrderCode = tlist[0].JoinOrderCode; var blist = list.Find(n => n.OrderId == backmd.OrderId); if (blist == null) list.Add(backmd); } else if (tlist.Count > 1) { int flag = 1; foreach (var tmd in tlist) { if (DHType == 1) { DataRow[] row = tb.Select("跟踪码='" + tmd.TrackCode + "'"); if (row == null || row.Length == 0) flag = 0; } //else //{ // DataRow[] row = tb.Select("OrderCode='" + tmd.OrderCode+ "'"); // if (row == null || row.Length == 0) // flag = 0; //} } if (flag == 1) { DT_BackOrder backmd = new DT_BackOrder(); backmd.OrderId = tlist[0].OrderId; backmd.JoinOrderCode = tlist[0].JoinOrderCode; var blist = list.Find(n => n.OrderId == backmd.OrderId); if (blist == null) list.Add(backmd); } else { parterror += Code + "是拆分订单包裹,不能直接退货入库;"; //DT_BackOrder backmd = new DT_BackOrder(); //backmd.OrderId = tlist[0].OrderId; //var blist = partlist.Find(n => n.OrderId == backmd.OrderId); //if (blist == null) // partlist.Add(backmd); } } } } //md.OrderList = partlist; if (list != null && list.Count > 0) { //error = "导入成功;" + Count.ToString() + "条"; foreach (var bmd in list) { obj.SaveBackBag(CompanyId, bmd.OrderId.Value, PostionCode, BackState, bmd.JoinOrderCode); DT_OrderBagBack Model = new DT_OrderBagBack(); Model.InDate = DateTime.Now; Model.OrderId = bmd.OrderId.Value; Model.InName = Name; Model.IsRK = 1; Model.State = BackState; if (DHType == 1) Model.TrackCode = bmd.OrderCode; else Model.OrderCode = bmd.OrderCode; if (DHType == 1) Model.BackReason = BackReason; obj.SaveOrderBagBack(Model); } error = "导入成功;" + list.Count.ToString() + "条"; if (parterror != "") error += parterror; md.Info = error; return md; } else { error += "导入成功;0条"; } md.Info = error; return md; } catch (Exception e) { md.Info = "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message; return md; } } #endregion #region 导入退件跟踪码 [WebMethod(EnableSession = true)] public DT_BackOrderInfo2 ExcelBackTrackCode(string FileName) { PagesNew.Login(this.Session); DT_BackOrderInfo2 md = new DT_BackOrderInfo2(); if (string.IsNullOrEmpty(FileName) == true) { md.Info = "要导入的文件路径不能为空"; return md; } string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName; if (System.IO.File.Exists(ServerFileName) == false) { md.Info = "要导入的文件路径不存在"; return md; } int CompanyId = Convert.ToInt32(Session["CompanyId"]); int UserId = Convert.ToInt32(Session["UserId"]); string Name = Convert.ToString(Session["Name"]); try { DD_OrderData obj = new DD_OrderData(); MicrosoftExcel excel = new MicrosoftExcel(); DataTable tb = excel.ImportExcel(ServerFileName); int DHType = 0; string error = ""; if (tb.Columns.Contains("跟踪码") == true) { DHType = 1; } //else // if (tb.Columns.Contains("订单号") == true) // { // DHType = 2; // } if (DHType == 0) { md.Info = "导入文件格式不对,Excel必须包含 跟踪码"; return md; } var list = new List(); for (int i = 0; i < tb.Rows.Count; i++) { string Code = ""; if (DHType == 1) Code = tb.Rows[i]["跟踪码"].ToString().Trim(); //else // Code = tb.Rows[i]["订单号"].ToString().Trim(); if (Code == "") continue; var tlist = obj.Get_TrackBackScan(Code, DHType); if (tlist == null || tlist.Count == 0) tlist = obj.Get_TrackBackScan2(Code, DHType); if (tlist != null && tlist.Count > 0) { list.Add(tlist[0]); } else { DT_BackOrder2 backmd = new DT_BackOrder2(); backmd.TrackCode = Code; list.Add(backmd); } } md.OrderList = list; error = "导入成功;" + list.Count.ToString() + "条"; md.Info = error; return md; } catch (Exception e) { md.Info = "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message; return md; } } #endregion #region 查询退货订单货物 [WebMethod(EnableSession = true)] public List GetBackOrderGoodsList(List list) { PagesNew.Login(this.Session); var obj = new DD_OrderData(); if (list == null) return null; string OrderIds = ""; foreach (var md in list) { OrderIds += md.OrderId + ","; } var list1 = obj.GetBackOrderGoods(OrderIds.Trim(',')); if (list1 != null) { foreach (var md in list1) { var kwlist = obj.GetBackGoodsPostion(md.OrderId.Value, md.DetailId.Value); string kw = ""; if (kwlist != null) { foreach (var kmd in kwlist) { kw += md.PostionDesc + ","; } md.PostionDesc = kw.Trim(','); } } } return list1; } #endregion #region 查询退货订单货物 [WebMethod(EnableSession = true)] public List GetBackOrderGoods2(string Code, int TJ) { PagesNew.Login(this.Session); var obj = new DD_OrderData(); var list1 = obj.GetBackOrderGoods2(Code, TJ); if (list1 != null) { foreach (var md in list1) { var kwlist = obj.GetBackGoodsPostion(md.OrderId.Value, md.DetailId.Value); string kw = ""; if (kwlist != null) { foreach (var kmd in kwlist) { kw += kmd.PostionCode + ","; } md.PostionDesc = kw.Trim(','); } } } return list1; } #endregion #region 部分退件入库 [WebMethod(EnableSession = true)] public string SavePartBackBag(List list, string OrderCode, int BackState, int DHType, string Reason) { PagesNew.Login(this.Session); var obj = new DD_OrderData(); int ComapnyId = Convert.ToInt32(Session["CompanyId"]); string Name = Convert.ToString(Session["Name"]); int UserId = Convert.ToInt32(Session["UserId"]); var obj2 = new CK_HouseData(); var obj1 = new HuoWuData(); if (list != null) { string error = ""; foreach (var md in list) { if (md.IsOldPostionCode != 1 && md.PostionCode != "") { int a = obj2.IsStorePostionCode(0, md.PostionCode); if (a == 0) { error += md.PostionCode + "库位编码不存在;"; } else { md.PostionId = a; md.StoreId = 1; } } } if (error != "") return error; foreach (var md in list) { if (md.IsOldPostionCode == 1) { md.StoreId = 0; md.PostionId = 0; } if (md.IsOldPostionCode == null) md.IsOldPostionCode = 0; obj1.SaveGoodsInInnerInCopy(md.OrderId.Value, md.DetailId.Value, md.StoreId.Value, md.PostionId.Value, md.IsOldPostionCode.Value); } int OrderId = 0; string Reason1 = Reason; if (BackState == 3) Reason1 += "退件取消订单" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); else Reason1 += "取消发货" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); foreach (var md in list) { if (OrderId != md.OrderId) { obj.UpdateBackBagGoodsIn2(md.OrderId.Value, BackState, Reason1); DT_OrderBagBack Model = new DT_OrderBagBack(); Model.OrderId = md.OrderId; Model.InDate = DateTime.Now; Model.InName = Name; Model.IsRK = 1; Model.State = BackState; if (DHType == 2) Model.TrackCode = OrderCode; else Model.OrderCode = OrderCode; if (DHType == 1) Model.BackReason = Reason; obj.SaveOrderBagBack(Model); } OrderId = md.OrderId.Value; } } return ""; } #endregion #region 查询退件 [WebMethod(EnableSession = true)] public JsonModel> GetListDT_OrderBagBack(int TJ, string Code, int ShopId, string backreason, int State, DateTime? SDate, DateTime? EDate, int PageIndex, int PageSize, string Sort) { var obj = new DD_OrderData(); RefParameterCollection Param = new RefParameterCollection(); if (Code.Trim() != "") { if (TJ == 1) { Param.Add("b.PlatOrderCode", "like", Code.Trim(), DbType.String); } else if (TJ == 1) { Param.Add("a.TrackCode", "like", Code.Trim(), DbType.String); } } if (ShopId > 0) Param.Add("b.ShopId", "=", ShopId, DbType.Int32); int CompanyId = Convert.ToInt32(Session["UserId"]); Param.Add("b.CompanyId", "=", CompanyId, DbType.Int32); if (backreason != "0") { Param.Add("a.BackReason", "=", backreason, DbType.String); } if (State == 3) { Param.Add("b.State", "=", 3, DbType.Int32); } else if (State > 0) Param.Add("b.State", "<>", 3, DbType.Int32); if (SDate != null) Param.Add("a.InDate", ">=", SDate, DbType.DateTime); if (EDate != null) Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = obj.GetListDT_OrderBagBack(Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; string Ids = ""; if (resultModel.DataSource != null) { foreach (var md in resultModel.DataSource) { Ids += md.OrderId.ToString() + ","; } } if (resultModel.DataSource != null) { if (Ids != "") { var list1 = obj.GetOrderGoodsList(Ids.Trim(',')); if (list1 != null) { foreach (var md in resultModel.DataSource) { var list2 = list1.FindAll(n => n.OrderId == md.OrderId); if (list2 != null) { md.GoodsList = list2; } } } } } return resultModel; } #endregion #region 查询物流比较 [WebMethod(EnableSession = true)] public JsonModel> GetTrackCodeCompare(int MasterId, int TJ, string TrackCode, Decimal? OffNum, int PageIndex, int PageSize) { PagesNew.Login(this.Session); var obj = new JC_ExpressService(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); RefParameterCollection Param = new RefParameterCollection(); Param.Add("a.MasterId", "=", MasterId, DbType.Int32); if (TrackCode != "") Param.Add("a.TrackCode", "like", TrackCode, DbType.String); if (TJ == 2) Param.Add("b.Id", "is", null, DbType.String); else if (TJ == 3 && OffNum > 0) { Param.Add("(isnull(a.Weight,0)-isnull(b.Weight,0)", ">", OffNum, DbType.Decimal); Param.Add("isnull(b.Weight,0)-isnull(a.Weight,0)", ">", OffNum, "or", ")", DbType.Decimal); } else if (TJ == 4 && OffNum > 0) { Param.Add("(isnull(a.Fee,0)-b.PostFee", ">", OffNum, DbType.Decimal); Param.Add("isnull(b.PostFee,0)-isnull(a.Fee,0)", ">", OffNum, "or", ")", DbType.Decimal); } // Param.Add("a.OrderDate", ">=", 0, DbType.Int32); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "Id"; resultModel.DataSource = obj.GetTrackCodeCompare(TJ, Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 导出物流比较 [WebMethod(EnableSession = true)] public string ExcelCompareTrackCode(int MasterId, int TJ, string TrackCode, Decimal? OffNum) { var obj = new JC_ExpressService(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); DataTable tb = obj.GetTrackCodeCompareTable(MasterId, TJ, TrackCode, OffNum); TableColumnCollection listColumns = new TableColumnCollection(); listColumns.Add("TrackCode", "跟踪码", DbType.String, ""); listColumns.Add("OrderCode", "订单号", DbType.String, ""); // listColumns.Add("Weight", "重量", DbType.String, ""); listColumns.Add("MyWeight", "我们称重", DbType.String, ""); // listColumns.Add("WeightOff", "重量差", DbType.String, ""); // listColumns.Add("PostFee", "运费", DbType.String, ""); listColumns.Add("MyPostFee", "我们计算运费", DbType.String, ""); // listColumns.Add("FeeOff", "运费差", DbType.String, ""); MicrosoftExcel obj2 = new MicrosoftExcel(); return obj2.Export(tb, listColumns); } #endregion #region 导出退件订单比较 [WebMethod(EnableSession = true)] public string ExcelBackOrderList(List list) { var obj = new JC_ExpressService(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); if (list == null) return ""; DataTable tb = list.ToDataTable(); TableColumnCollection listColumns = new TableColumnCollection(); listColumns.Add("TrackCode", "跟踪码", DbType.String, ""); listColumns.Add("OrderCode", "订单号", DbType.String, ""); listColumns.Add("CountryName", "国家", DbType.String, ""); listColumns.Add("Weight", "重量", DbType.String, ""); listColumns.Add("InDate", "发货时间", DbType.String, ""); listColumns.Add("ShopName", "店铺", DbType.String, ""); MicrosoftExcel obj2 = new MicrosoftExcel(); return obj2.Export(tb, listColumns); } #endregion #region 查询仓库库存 [WebMethod(EnableSession = true)] public List GetStoreHouseNew(int StoreId, string PostionBox) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetStoreHouseNew(CompanyId, StoreId, PostionBox); var glist = obj.GetStoreHouseGoodsNew(CompanyId, StoreId, PostionBox); if (list != null && glist != null) { foreach (var md in list) { var gmd = glist.FindAll(n => n.PostionId == md.PostionId); if (gmd != null && gmd.Count == 1) { md.FirstImgUrl = gmd[0].FirstImgUrl; md.GoodsCode = gmd[0].GoodsCode; md.kcnum = gmd[0].kcnum; } else if (gmd != null && gmd.Count > 1) { md.FirstImgUrl = gmd[0].FirstImgUrl; md.GoodsCode = gmd[0].GoodsCode + ".."; md.kcnum = gmd[0].kcnum; } } } return list; } #endregion #region 查询仓库库存 [WebMethod(EnableSession = true)] public List GetStoreHouseNew2(int CompanyId, int StoreId, string PostionBox) { PagesNew.Login(this.Session); var obj = new CK_HouseData(); // int CompanyId = Convert.ToInt32(Session["CompanyId"]); var list = obj.GetStoreHouseNew(0, StoreId, PostionBox); var glist = obj.GetStoreHouseGoodsNew(CompanyId, StoreId, PostionBox); if (list != null && glist != null) { foreach (var md in list) { var gmd = glist.FindAll(n => n.PostionId == md.PostionId); if (gmd != null && gmd.Count == 1) { md.IsMore = 0; md.FirstImgUrl = gmd[0].FirstImgUrl; md.GoodsCode = gmd[0].GoodsCode; md.kcnum = gmd[0].kcnum; } else if (gmd != null && gmd.Count > 1) { md.IsMore = 1; md.FirstImgUrl = gmd[0].FirstImgUrl; md.GoodsCode = gmd[0].GoodsCode; md.kcnum = gmd[0].kcnum; } } } return list; } #endregion #region DT_BackGoods页 #region 保存 [WebMethod(EnableSession = true)] public int Save_BackGoods(DT_BackGoods Model) { PagesNew.Login(this.Session); string Ids = ""; if (Model.imglist != null && Model.imglist.Count > 0) { Model.ImgUrl = Model.imglist[0].FileUrl; foreach (var md in Model.imglist) { Ids += md.id + ","; } } if (Ids != "") Model.ImgIds = Ids.TrimEnd(','); if (Model.OrderCode != "") { if (CK_HouseData.CheckName_BackGoods(Model.OrderCode) == true) return 0; } return CK_HouseData.Save_BackGoods(Model); } #endregion #region 删除 [WebMethod(EnableSession = true)] public bool Delete_BackGoods(int Id) { PagesNew.Login(this.Session); CK_HouseData.Delete_BackGoods(Id); return true; } #endregion #region 返回Model [WebMethod(EnableSession = true)] public DT_BackGoods GetModel_BackGoods(int Id) { PagesNew.Login(this.Session); var md = CK_HouseData.GetModel_BackGoods(Id); if (md != null && md.ImgIds != null && md.ImgIds != "") { BaseService obj1 = new BaseService(); var list = obj1.GetListJC_Resource(md.ImgIds.Trim(',')); md.imglist = list; } return md; } #endregion #region 分页查询 [WebMethod(EnableSession = true)] public JsonModel> GetListBackGoods(string OrderCode, int ShopId, DateTime? SDate, DateTime? EDate, int State, int PageIndex, int PageSize) { PagesNew.Login(this.Session); RefParameterCollection where = new RefParameterCollection(); if (OrderCode != "") { where.Add(new RefParameter("(OrderCode", "like", OrderCode, System.Data.DbType.String)); where.Add(new RefParameter("TrackCode", "like", OrderCode, "or", ")", System.Data.DbType.String)); } if (ShopId > 0) { where.Add(new RefParameter("b.ShopId", "=", ShopId, DbType.Int32)); } if (SDate.HasValue) { where.Add(new RefParameter("a.InDate", ">=", SDate, DbType.DateTime)); } if (EDate.HasValue) { where.Add(new RefParameter("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime)); } if (State > -1) { where.Add(new RefParameter("a.State", "=", State, DbType.Int32)); } if (State > -1) where.Add(new RefParameter("a.State", "=", State, DbType.Int32)); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = CK_HouseData.GetListBackGoods(ShopId, where, PageIndex, PageSize, "", out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 是否重复判断 [WebMethod(EnableSession = true)] public bool CheckName_BackGoods(string OrderCode) { PagesNew.Login(this.Session); return CK_HouseData.CheckName_BackGoods(OrderCode); } #endregion #region 多条件普通查询 [WebMethod(EnableSession = true)] public List GetListBackGoods2(DateTime? StartDate, DateTime? StopDate, int State) { PagesNew.Login(this.Session); RefParameterCollection where = new RefParameterCollection(); if (StartDate != null) where.Add(new RefParameter("InDate", ">=", StartDate, System.Data.DbType.DateTime)); if (StopDate != null) where.Add(new RefParameter("convert(varchar(10), InDate, 120)", "<=", StopDate, System.Data.DbType.DateTime)); if (State > -1) where.Add(new RefParameter("a.State", "=", State, DbType.Int32)); var ListModel = CK_HouseData.GetListBackGoods(where, ""); return ListModel; } #endregion #region 普通查询列表 [WebMethod(EnableSession = true)] public List GetListBackGoods3() { PagesNew.Login(this.Session); var ListModel = CK_HouseData.GetListBackGoods(); return ListModel; } #endregion #endregion #region CK_FeeList页 #region 保存 [WebMethod(EnableSession = true)] public int Save_FeeList(CK_FeeList Model) { PagesNew.Login(this.Session); return CK_HouseData.Save_FeeList(Model); } #endregion #region 删除 [WebMethod(EnableSession = true)] public bool Delete_FeeList(int Id) { PagesNew.Login(this.Session); CK_HouseData.Delete_FeeList(Id); return true; } #endregion #region 返回Model [WebMethod(EnableSession = true)] public CK_FeeList GetModel_FeeList(int Id) { PagesNew.Login(this.Session); var Model = CK_HouseData.GetModel_FeeList(Id); return Model; } #endregion #region 是否重复判断 [WebMethod(EnableSession = true)] public bool CheckName_FeeList(int Id, string Name) { PagesNew.Login(this.Session); return CK_HouseData.CheckName_FeeList(Id, Name); } #endregion #region 普通查询列表 [WebMethod(EnableSession = true)] public List GetListFeeList3() { PagesNew.Login(this.Session); var ListModel = CK_HouseData.GetListFeeList(); return ListModel; } #endregion #region 分页查询 [WebMethod(EnableSession = true)] public JsonModel> GetListFeeList(string cs, int PageIndex, int PageSize) { PagesNew.Login(this.Session); string where = CustomIO.Base64StringToString(cs); if (where != "") where = "where " + where.Substring(4); var resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = CK_HouseData.GetListFeeList(where, PageIndex, PageSize, "", out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 普通查询列表 [WebMethod(EnableSession = true)] public List GetListFeeDetail3(int FeeId) { PagesNew.Login(this.Session); var ListModel = CK_HouseData.GetListFeeDetail(FeeId); return ListModel; } #endregion #region 保存 [WebMethod(EnableSession = true)] public int Save_FeeDetailNew(CK_FeeDetailNew Model) { PagesNew.Login(this.Session); return DataNew.Save_FeeDetailNew(Model); } #endregion #endregion #region 查询退件 [WebMethod(EnableSession = true)] public JsonModel> GetListHWMove(string code, string newcode, string GoodsCode, DateTime? SDate, DateTime? EDate, int PageIndex, int PageSize, string Sort) { var obj = new HuoWuData(); RefParameterCollection Param = new RefParameterCollection(); if (code.Trim() != "") { Param.Add("b.PostionCode", "like", code.Trim(), DbType.String); } if (newcode.Trim() != "") { Param.Add("c.PostionCode", "like", newcode.Trim(), DbType.String); } if (GoodsCode.Trim() != "") { Param.Add("e.GoodsCode", "like", GoodsCode.Trim(), DbType.String); } if (SDate != null) Param.Add("a.InDate", ">=", SDate, DbType.DateTime); if (EDate != null) Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = obj.GetListGoodsMove(Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion #region 分页查询 [WebMethod(EnableSession = true)] public JsonModel> GetListFeeReport(int CompanyId, int FeeType, DateTime? StartDate, DateTime? StopDate, int PageIndex, int PageSize) { PagesNew.Login(this.Session); RefParameterCollection where = new RefParameterCollection(); where.Add(new RefParameter("a.CompanyId", "=", CompanyId, DbType.Int32)); if (StartDate != null) where.Add(new RefParameter("InDate", ">=", StartDate, System.Data.DbType.DateTime)); if (StopDate != null) where.Add(new RefParameter("convert(varchar(10), InDate, 120)", "<=", StopDate, System.Data.DbType.DateTime)); if (FeeType > 0) where.Add(new RefParameter("a.FeeType", "=", FeeType, DbType.Int32)); JsonModel> resultModel = new JsonModel>(); int RowCount = 0; resultModel.DataSource = HuoWuData.GetListFeeReport(where, PageIndex, PageSize, "InDate desc", out RowCount); resultModel.RowCount = RowCount; return resultModel; } #endregion [WebMethod(EnableSession = true)] public List GetListFeeDetailOther(int CompanyId) { PagesNew.Login(base.Session); return CK_HouseData.GetListFeeDetailOther(CompanyId); } [WebMethod(EnableSession = true)] public int Save_OtherFee2(List list, DateTime? Feedate, int CompanyId) { PagesNew.Login(base.Session); if (list == null) { return 0; } int num = Convert.ToInt32(base.Session["UserId"]); DateTime now = DateTime.Now; foreach (CK_OtherFee fee in list) { decimal? nullable; if (fee.Num.HasValue && (((nullable = fee.Num).GetValueOrDefault() > 0M) && nullable.HasValue)) { decimal? nullable2; decimal num2 = 0M; if (fee.FeeRate.HasValue) { num2 = fee.FeeRate.Value; } decimal num3 = 0M; if (fee.OffRate.HasValue && (((nullable = fee.OffRate).GetValueOrDefault() > 0M) && nullable.HasValue)) { num3 = fee.OffRate.Value / 10M; } else { num3 = 1M; } nullable = fee.Num; decimal num5 = num3; nullable = nullable.HasValue ? new decimal?(nullable.GetValueOrDefault() * num5) : ((decimal?)(nullable2 = null)); num5 = num2; fee.TotalFee = nullable.HasValue ? new decimal?(nullable.GetValueOrDefault() * num5) : ((decimal?)(nullable2 = null)); fee.InUserId = new int?(num); fee.InDate = new DateTime?(now); fee.CompanyId = new int?(CompanyId); fee.FeeDate = Feedate; if (!fee.FeeDate.HasValue) { fee.FeeDate = new DateTime?(now); } CK_HouseData.Save_OtherFee(fee); } } CK_HouseData.UpdateOtherFee(Feedate.Value, CompanyId); return 1; } [WebMethod(EnableSession = true)] public JsonModel> GetListOtherFee(string cs, int PageIndex, int PageSize) { PagesNew.Login(base.Session); string where = CustomIO.Base64StringToString(cs); if (where != "") { where = "where " + where.Substring(4); } JsonModel> model = new JsonModel>(); int rowCount = 0; model.DataSource = CK_HouseData.GetListOtherFee(where, PageIndex, PageSize, "", out rowCount); model.RowCount = rowCount; return model; } } }