You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2519 lines
87 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
{
/// <summary>
/// CangKuServer 的摘要说明
/// </summary>
[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<CK_StoreHouse> 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<CK_StoreHouse> 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<CK_StorePostion> 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<CK_StorePostion> 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<CK_StorePostion> 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<List<CK_StorePostion>> 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<List<CK_StorePostion>> resultModel = new JsonModel<List<CK_StorePostion>>();
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<List<CK_StorePostion>> 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<List<CK_StorePostion>> resultModel = new JsonModel<List<CK_StorePostion>>();
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<string>();
// for(int i=0;i<ids.Length;i++)
// {
// model.UsePlatId.Add(ids[i]);
// }
//}
return model;
}
#endregion
#region 平台店铺
[WebMethod(EnableSession = true)]
public List<JC_Plat> 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<JC_Plat>();
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<JC_Country> 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<HW_GoodsInList> 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<CK_StoreMove> 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<HW_ScanImportRecord> 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<HwPostionMove> GetPostionCodeMove(int OutPostionId, string SKUS, out string error)
{
PagesNew.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
error = "";
List<HwPostionMove> list = new List<HwPostionMove>();
List<PostionSkuType> smlist = new List<PostionSkuType>();
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<CG_ChaseInStore> 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<HwPostionSku> 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<HwPostionSku>();
string error = "";
var list = new List<HwPostionSku>();
var clist = new List<PostionSku>();
var smlist = new List<PostionSkuType>();
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<PostionSku>();
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<PostionSku>();
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<HW_GoodsLeft> 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<HW_GoodsLeft> 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() + " 行的重量必须是数字<br/>";
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() + " 行的重量运费是数字<br/>";
continue;
}
md.MasterId = masterid;
int a = obj.SaveTrackCompareDetail(md);
Count++;
//if (a == 2)
//{
// error += "第" + (i + 2).ToString() + " 行的SKU已经存在<br/>";
// 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<WL_TrackCompare> 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<DT_BackOrder>();
var partlist = new List<DT_BackOrder>();
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<DT_BackOrder2>();
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<DT_BackOrder> GetBackOrderGoodsList(List<DT_BackOrder> 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<DT_BackOrder> 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<DT_BackOrder> 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<List<DT_OrderBagBack>> 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<List<DT_OrderBagBack>> resultModel = new JsonModel<List<DT_OrderBagBack>>();
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<List<DT_TrackCodeCompare>> 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<List<DT_TrackCodeCompare>> resultModel = new JsonModel<List<DT_TrackCodeCompare>>();
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<DT_BackOrder2> 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<CK_StorePostionNew> 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<CK_StorePostionNew> 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<List<DT_BackGoods>> 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<List<DT_BackGoods>> resultModel = new JsonModel<List<DT_BackGoods>>();
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<DT_BackGoods> 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<DT_BackGoods> 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<CK_FeeList> GetListFeeList3()
{
PagesNew.Login(this.Session);
var ListModel = CK_HouseData.GetListFeeList();
return ListModel;
}
#endregion
#region 分页查询
[WebMethod(EnableSession = true)]
public JsonModel<List<CK_FeeList>> 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<List<CK_FeeList>>();
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<CK_FeeDetail> 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<List<HW_GoodsMove>> 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<List<HW_GoodsMove>> resultModel = new JsonModel<List<HW_GoodsMove>>();
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<List<CK_FeeReport>> 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<List<CK_FeeReport>> resultModel = new JsonModel<List<CK_FeeReport>>();
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<CK_OtherFee> GetListFeeDetailOther(int CompanyId)
{
PagesNew.Login(base.Session);
return CK_HouseData.GetListFeeDetailOther(CompanyId);
}
[WebMethod(EnableSession = true)]
public int Save_OtherFee2(List<CK_OtherFee> 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<List<CK_OtherFee>> GetListOtherFee(string cs, int PageIndex, int PageSize)
{
PagesNew.Login(base.Session);
string where = CustomIO.Base64StringToString(cs);
if (where != "")
{
where = "where " + where.Substring(4);
}
JsonModel<List<CK_OtherFee>> model = new JsonModel<List<CK_OtherFee>>();
int rowCount = 0;
model.DataSource = CK_HouseData.GetListOtherFee(where, PageIndex, PageSize, "", out rowCount);
model.RowCount = rowCount;
return model;
}
}
}