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.

2521 lines
90 KiB
C#

2 months ago
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 TradeManageNew;
using TradeModel;
namespace TradeManage.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()
{
Pages.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()
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.Login(this.Session);
var obj = new CK_HouseData();
obj.DeleteStorePostion(PostionId);
}
#endregion
#region 开启关闭仓库
[WebMethod(EnableSession = true)]
public int UpdateStoreHouse(int StoreId,int IsUse)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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()
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.Login(this.Session);
var obj = new BaseService();
obj.DeleteTrackCompare(Id);
}
#endregion
#region 比较记录
[WebMethod(EnableSession = true)]
public List<WL_TrackCompare> GetTrackCompareList()
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.Login(this.Session);
CK_HouseData.Delete_BackGoods(Id);
return true;
}
#endregion
#region 返回Model
[WebMethod(EnableSession = true)]
public DT_BackGoods GetModel_BackGoods(int Id)
{
Pages.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)
{
Pages.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)
{
Pages.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)
{
Pages.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()
{
Pages.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)
{
Pages.Login(this.Session);
return CK_HouseData.Save_FeeList(Model);
}
#endregion
#region 删除
[WebMethod(EnableSession = true)]
public bool Delete_FeeList(int Id)
{
Pages.Login(this.Session);
CK_HouseData.Delete_FeeList(Id);
return true;
}
#endregion
#region 返回Model
[WebMethod(EnableSession = true)]
public CK_FeeList GetModel_FeeList(int Id)
{
Pages.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)
{
Pages.Login(this.Session);
return CK_HouseData.CheckName_FeeList(Id,Name);
}
#endregion
#region 普通查询列表
[WebMethod(EnableSession = true)]
public List<CK_FeeList> GetListFeeList3()
{
Pages.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)
{
Pages.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)
{
Pages.Login(this.Session);
var ListModel = CK_HouseData.GetListFeeDetail(FeeId);
return ListModel;
}
#endregion
#region 保存
[WebMethod(EnableSession = true)]
public int Save_FeeDetail(CK_FeeDetail Model)
{
Pages.Login(this.Session);
return CK_HouseData.Save_FeeDetail(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)
{
Pages.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)
{
Pages.Login(base.Session);
return CK_HouseData.GetListFeeDetailOther(CompanyId);
}
[WebMethod(EnableSession = true)]
public int Save_OtherFee2(List<CK_OtherFee> list, DateTime? Feedate, int CompanyId)
{
Pages.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)
{
Pages.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;
}
}
}