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.
199 lines
11 KiB
C#
199 lines
11 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using DSWeb.Areas.Import.Models.RptImportKc;
|
|
using DSWeb.TruckMng.Helper;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
|
namespace DSWeb.Areas.Import.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 库存信息列表
|
|
/// </summary>
|
|
public class RptImportKcController : Controller
|
|
{
|
|
//
|
|
// GET: /Import/RptImportKc/
|
|
|
|
public ActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public ContentResult GetDataList(int start, int limit, string sort, string condition)
|
|
{
|
|
var corpid = CookieConfig.GetCookie_OrgCode(Request);
|
|
var dataList = GetDataList(condition, corpid);
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
return new ContentResult() { Content = json };
|
|
}
|
|
|
|
private static List<RptImportKc> GetDataList(string strCondition,string corpid)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" Select K.id,k.ContractNo,m.HTH,k.CZState, ");
|
|
strSql.Append(" (select enumvaluename from tsysenumvalue where enumtypeid=8 and enumvalueid=K.czstate) as CZRf,k.InNum,k.OutNum, ");
|
|
strSql.Append(" k.KFstate,(select description from info_client where shortname=k.KFstate) as KFRf,c.FactoryNo, ");
|
|
strSql.Append(" K.CZdate,K.[text],m.seller,m.buyer,m.Billno,m.Vessel,m.Voyage,m.Sailingdate,m.ArrivalDate,m.ContainerNo,m.SealNo, ");
|
|
strSql.Append(" c.name as goodname,c.cargoinfo_id,(select code from import_cargoinfo where import_cargoinfo.id=c.cargoinfo_id) as cargoinfoRf, ");
|
|
strSql.Append(" c.cargociq_id,(select ciqcode from import_cargociq where import_cargociq.id=c.cargociq_id) as cargociqRf ");
|
|
strSql.Append(" ,case k.CZstate when 1 then k.quantity else 0 end as [weight],case k.CZstate when 3 then k.quantity else 0 end as [weight_out] ");
|
|
strSql.Append(" ,comp.name as companyname from [Import_KC] K ");
|
|
strSql.Append(" left join import_cargo c on convert(varchar(50),c.id)=k.cargo_id ");
|
|
strSql.Append(" left join Import_main m on m.ContractNo=k.ContractNo ");
|
|
strSql.Append(" left join company comp on comp.gid=M.company ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition );
|
|
// strSql.Append(" where " + strCondition + " and K.corpid=(select gid from company where codename='" + corpid + "')");
|
|
}/*
|
|
else {
|
|
strSql.Append(" where K.corpid='" + corpid + "'");
|
|
}*/
|
|
strSql.Append(" order by ContractNo,goodname,CZdate ");
|
|
return SetData(strSql);
|
|
}
|
|
|
|
private static List<RptImportKc> SetData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<RptImportKc>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
var data = new RptImportKc();
|
|
#region Set DB data to Object
|
|
|
|
data.Id = Convert.ToDecimal(reader["Id"]);
|
|
data.Billno = Convert.ToString(reader["BillNo"]);
|
|
data.ContractNo = Convert.ToString(reader["ContractNo"]);
|
|
data.HTH = Convert.ToString(reader["HTH"]);
|
|
data.CZRf = Convert.ToString(reader["CZRf"]);
|
|
data.KFRf = Convert.ToString(reader["KFRf"]);
|
|
data.CZdate = Convert.ToString(reader["CZdate"]);
|
|
data.text = Convert.ToString(reader["text"]);
|
|
data.seller = Convert.ToString(reader["seller"]);
|
|
data.buyer = Convert.ToString(reader["buyer"]);
|
|
|
|
|
|
data.Vessel = Convert.ToString(reader["Vessel"]);
|
|
data.Voyage = Convert.ToString(reader["Voyage"]);
|
|
data.Sailingdate = Convert.ToString(reader["Sailingdate"]);
|
|
data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]);
|
|
data.ContainerNo = Convert.ToString(reader["ContainerNo"]);
|
|
data.SealNo = Convert.ToString(reader["SealNo"]);
|
|
data.goodname = Convert.ToString(reader["goodname"]);
|
|
data.cargoinfoRf = Convert.ToString(reader["cargoinfoRf"]);
|
|
data.cargociqRf = Convert.ToString(reader["cargociqRf"]);
|
|
|
|
data.InNum = Convert.ToDecimal(reader["InNum"]);
|
|
data.OutNum = Convert.ToDecimal(reader["OutNum"]);
|
|
data.FactoryNo = Convert.ToString(reader["FactoryNo"]);
|
|
|
|
data.Weight = Convert.ToString(reader["Weight"]);
|
|
data.Weight_Out = Convert.ToString(reader["Weight_Out"]);
|
|
data.CompanyName = Convert.ToString(reader["CompanyName"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
/*select cargo_id,K.ContractNo,m.HTH,m.buyer,cg.name,k.KFstate,cg.[weight],cg.BoxCount,cg.price,cg.price_agio,sum(innum-outnum) boxcount_remain
|
|
,isnull((select sum(quantity) from import_kc where CZState=1 and cargo_id=k.cargo_id),0)
|
|
-isnull((select sum(quantity) from import_kc where CZState=3and cargo_id=k.cargo_id),0) weight_remain
|
|
,(select min(CZdate) from import_kc where CZState=1 and cargo_id=k.cargo_id ) inDate
|
|
,(select max(CZdate) from import_kc where CZState=3 and cargo_id=k.cargo_id ) outdate
|
|
from Import_KC K
|
|
left join import_main m on m.ContractNo=k.ContractNo
|
|
left join import_cargo cg on cg.id=k.cargo_id
|
|
group by K.cargo_id,K.ContractNo,m.HTH,m.buyer,cg.name,cg.[weight],cg.BoxCount,cg.price,cg.price_agio,k.KFstate
|
|
*/
|
|
public ContentResult GetWMSList ( int start, int limit, string sort, string condition )
|
|
{
|
|
var corpid = CookieConfig.GetCookie_OrgCode(Request);
|
|
var dataList = GetWMSList(condition, corpid);
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
return new ContentResult() { Content = json };
|
|
}
|
|
|
|
private static List<RptImportKc_WMS> GetWMSList ( string strCondition, string corpid )
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select k.cargo_id,k.ContractNo,M.HTH,M.ContainerNo,M.seller,M.buyer,comp.NAME companyname,k.KFstate,c.name goodname ");
|
|
strSql.Append(" ,dbo.trimdate((select min(czdate) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=1 and k1.KFstate=k.KFstate)) indate ");
|
|
strSql.Append(" ,isnull((select sum(isnull(innum,0)) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=1 and k1.KFstate=k.KFstate),0) innum ");
|
|
strSql.Append(" ,isnull((select sum(isnull(Quantity,0)) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=1 and k1.KFstate=k.KFstate),0) [weight] ");
|
|
strSql.Append(" ,dbo.trimdate((select max(czdate) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=3 and k1.KFstate=k.KFstate)) outdate ");
|
|
strSql.Append(" ,isnull((select sum(isnull(outnum,0)) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=3 and k1.KFstate=k.KFstate),0) outnum ");
|
|
strSql.Append(" ,isnull((select sum(isnull(k1.Quantity,0)) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=3 and k1.KFstate=k.KFstate),0) [weight_out] ");
|
|
strSql.Append(" ,isnull((select isnull(sum(innum),0)-isnull(sum(outnum),0) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState in(1,3) and k1.KFstate=k.KFstate),0) remainnum ");
|
|
strSql.Append(" ,isnull((select isnull(sum(k1.Quantity),0) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=1 and k1.KFstate=k.KFstate),0) ");
|
|
strSql.Append(" -isnull((select isnull(sum(k1.Quantity),0) from import_kc k1 where k1.cargo_id=k.cargo_id and k1.CZState=3 and k1.KFstate=k.KFstate),3) RemainWeight ");
|
|
strSql.Append(" from import_kc k ");
|
|
strSql.Append(" left join import_cargo c on k.cargo_id=c.id ");
|
|
strSql.Append(" left join import_main m on m.ContractNo=k.ContractNo ");
|
|
strSql.Append(" left join company comp on comp.gid=M.company ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" group by k.cargo_id,k.ContractNo,M.HTH,M.ContainerNo,c.name,M.seller,M.buyer,comp.NAME,k.KFstate ");
|
|
|
|
return SetWMSData(strSql);
|
|
}
|
|
|
|
private static List<RptImportKc_WMS> SetWMSData ( StringBuilder strSql )
|
|
{
|
|
var headList = new List<RptImportKc_WMS>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
var data = new RptImportKc_WMS();
|
|
#region Set DB data to Object
|
|
|
|
data.cargo_id = Convert.ToString(reader["cargo_id"]);
|
|
data.ContractNo = Convert.ToString(reader["ContractNo"]);
|
|
data.HTH = Convert.ToString(reader["HTH"]);
|
|
data.ContainerNo = Convert.ToString(reader["ContainerNo"]);
|
|
data.seller = Convert.ToString(reader["seller"]);
|
|
data.buyer = Convert.ToString(reader["buyer"]);
|
|
data.CompanyName = Convert.ToString(reader["CompanyName"]);
|
|
data.KFstate = Convert.ToString(reader["KFstate"]);
|
|
data.goodname = Convert.ToString(reader["goodname"]);
|
|
data.InDate = Convert.ToString(reader["InDate"]);
|
|
data.InNum = Convert.ToString(reader["InNum"]);
|
|
data.OutDate = Convert.ToString(reader["OutDate"]);
|
|
data.OutNum = Convert.ToString(reader["OutNum"]);
|
|
data.RemainNum = Convert.ToString(reader["RemainNum"]);
|
|
data.Weight = Convert.ToString(reader["Weight"]);
|
|
data.Weight_Out = Convert.ToString(reader["Weight_Out"]);
|
|
data.RemainWeight = Convert.ToString(reader["RemainWeight"]);
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
}
|
|
}
|