|
|
using System;
|
|
|
using System.Data;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Text;
|
|
|
using DSWeb.MvcShipping.Models.WMS;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
|
|
|
using System.Web;
|
|
|
using System.Data.Common;
|
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
using WebSqlHelper;
|
|
|
using HcUtility.Core;
|
|
|
//using DSWeb.Areas.CommMng.Models;
|
|
|
using System.Data.SqlClient;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.Models;
|
|
|
using HcUtility.Comm;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.DAL.WMS
|
|
|
{
|
|
|
|
|
|
public partial class WMSDAL
|
|
|
{
|
|
|
#region 仓储信息列表
|
|
|
|
|
|
static public List<WMSmb> GetDataList(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT [GID],[WMSNO],dbo.trimdate(WMSDATE) WMSDATE,[CUSTOMERNAME],[WMSOP],[STOREMAN] ");
|
|
|
strSql.Append(" ,[MODIFIEDUSER],[MODIFIEDTIME],[ISDELETE],[DELETEUSER],[DELETETIME],[TRUCKNAME] ");
|
|
|
strSql.Append(" ,[ISLOCK],[LOCKUSER],[LOCKTIME],isnull(GOODSPACK,0) GOODSPACK,isnull(GOODSPACKSTOCK,0) GOODSPACKSTOCK ");
|
|
|
strSql.Append(" ,isnull(GOODSRKSL,0) GOODSRKSL,isnull(GOODSSTOCK,0) GOODSSTOCK,isnull(ARFEE,0) ARFEE ");
|
|
|
strSql.Append(" ,isnull(APFEE,0) APFEE,[ASSOCIATEDNO],[BLNO],[FREESTORAGEPERIOD],[CONTRACTNO] ");
|
|
|
strSql.Append(" ,[GOODSNAME],[GOODSMODEL],[CLIENTCODEOLD],[CLIENTNAMEOLD],[STORAGENAME],[CHARGEUNIT] ");
|
|
|
strSql.Append(" ,[CORPID],dbo.trimdate(STARTBILLINGDATE) [STARTBILLINGDATE],[CUSTOMNO],[CUSTNO] ");
|
|
|
strSql.Append(" ,[GOODSSTANDARD],[GOODSPACKACTUAL],[GOODSRKSLACTUAL],[ARCLIENT],[FREESTORAGEPERIODAP] ");
|
|
|
strSql.Append(" ,dbo.trimdate([STARTBILLINGDATEAP]) STARTBILLINGDATEAP,ISCHANGE ");
|
|
|
strSql.Append(" ,[AREANAME],[MARKETVALUE],[BANKVALUE],[BZTCHNO],[CREATEUSER],[CREATETIME],[CLIENTBSNO],[CARGO_GID],[REMARK] ");
|
|
|
strSql.Append(" FROM [wms] ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where ISDELETE=0 and " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" where ISDELETE=0 ");
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by WMSDATE ");
|
|
|
}
|
|
|
return SetData(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSmb GetData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetDataList(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSmb> SetData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSmb data = new WMSmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.WMSNO = Convert.ToString(reader["WMSNO"]);
|
|
|
data.WMSDATE = Convert.ToString(reader["WMSDATE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.WMSOP = Convert.ToString(reader["WMSOP"]);
|
|
|
data.STOREMAN = Convert.ToString(reader["STOREMAN"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
data.ARCLIENT = Convert.ToString(reader["ARCLIENT"]);
|
|
|
data.TRUCKNAME = Convert.ToString(reader["TRUCKNAME"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.GOODSPACKSTOCK = Convert.ToString(reader["GOODSPACKSTOCK"]);
|
|
|
data.GOODSRKSL = Convert.ToString(reader["GOODSRKSL"]);
|
|
|
data.GOODSSTOCK = Convert.ToString(reader["GOODSSTOCK"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.FREESTORAGEPERIOD = Convert.ToString(reader["FREESTORAGEPERIOD"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.BLNO = Convert.ToString(reader["BLNO"]);
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.CLIENTCODEOLD = Convert.ToString(reader["CLIENTCODEOLD"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.STARTBILLINGDATE = Convert.ToString(reader["STARTBILLINGDATE"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACKACTUAL = Convert.ToString(reader["GOODSPACKACTUAL"]);
|
|
|
data.GOODSRKSLACTUAL = Convert.ToString(reader["GOODSRKSLACTUAL"]);
|
|
|
data.FREESTORAGEPERIODAP = Convert.ToString(reader["FREESTORAGEPERIODAP"]);
|
|
|
data.STARTBILLINGDATEAP = Convert.ToString(reader["STARTBILLINGDATEAP"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.MARKETVALUE = Convert.ToString(reader["MARKETVALUE"]);
|
|
|
data.BANKVALUE = Convert.ToString(reader["BANKVALUE"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
data.CLIENTBSNO = Convert.ToString(reader["CLIENTBSNO"]);
|
|
|
data.CARGO_GID = Convert.ToString(reader["CARGO_GID"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 仓储信息列表_进口贸易版
|
|
|
|
|
|
static public List<WMSmb_ImportTrade> GetDataList_Import ( string strCondition, string sort )
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT w.[GID],[WMSNO],dbo.trimdate(w.WMSDATE) WMSDATE,[CUSTOMERNAME],[WMSOP],[STOREMAN] ");
|
|
|
strSql.Append(" ,w.[MODIFIEDUSER],w.[MODIFIEDTIME],w.[ISDELETE],w.[DELETEUSER],w.[DELETETIME],[TRUCKNAME] ");
|
|
|
strSql.Append(" ,[ISLOCK],[LOCKUSER],dbo.trimtime([LOCKTIME]) LOCKTIME,isnull(GOODSPACK,0) GOODSPACK,isnull(GOODSPACKSTOCK,0) GOODSPACKSTOCK ");
|
|
|
strSql.Append(" ,isnull(GOODSRKSL,0) GOODSRKSL,isnull(GOODSSTOCK,0) GOODSSTOCK,isnull(ARFEE,0) ARFEE ");
|
|
|
strSql.Append(" ,isnull(APFEE,0) APFEE,[ASSOCIATEDNO],[BLNO],[FREESTORAGEPERIOD],w.[CONTRACTNO] ");
|
|
|
strSql.Append(" ,c.name [GOODSNAME],[GOODSMODEL],[CLIENTCODEOLD],[CLIENTNAMEOLD],[STORAGENAME],[CHARGEUNIT] ");
|
|
|
strSql.Append(" ,w.[CORPID],dbo.trimdate(STARTBILLINGDATE) [STARTBILLINGDATE],[CUSTOMNO],[CUSTNO] ");
|
|
|
strSql.Append(" ,c.SPECIFICATIONS as GOODSSTANDARD,[GOODSPACKACTUAL],[GOODSRKSLACTUAL],[ARCLIENT],[FREESTORAGEPERIODAP] ");
|
|
|
strSql.Append(" ,dbo.trimdate([STARTBILLINGDATEAP]) STARTBILLINGDATEAP,ISCHANGE ");
|
|
|
strSql.Append(" ,[AREANAME],[MARKETVALUE],[BANKVALUE],w.[BZTCHNO],[CREATEUSER],dbo.trimdate([CREATETIME]) CREATETIME,[CLIENTBSNO],[CARGO_GID],w.[REMARK] ");
|
|
|
strSql.Append(" ,M.Inspection_Storage,dbo.trimdate(M.inspection_date) inspection_date,dbo.trimdate(M.Unsealdate) Unsealdate ");
|
|
|
strSql.Append(" ,dbo.trimdate(c.Productiondate_min) Productiondate_min,dbo.trimdate(c.Productiondate_max) Productiondate_max,Overfilled ");
|
|
|
strSql.Append(" ,dbo.F_ImportTrade_SealInfo(w.Cargo_gid) SALEINFO ");
|
|
|
strSql.Append(" ,m.Agent+m.AGENT2+m.Agent3 Agent,substring(cc.country,0,(charindex('(',cc.country)) ) country ");
|
|
|
strSql.Append(" ,dbo.F_factoryno(m.ContractNo) factoryno ");
|
|
|
strSql.Append(" ,(select top 1 CNTRNO from wms_in where ASSOCIATEDNO=w.gid) CNTRNO ");
|
|
|
strSql.Append(" ,W.CUSTOMNO DECLARENUMBER,M.HTH ");//DECLARENUMBER 以前取的是M.DECLARENUMBER 20170213改为取wms.CUSTOMNO
|
|
|
strSql.Append(" ,dbo.[F_ImportTrade_Saler_Main](m.contractno) SALER ");
|
|
|
strSql.Append(" ,convert(numeric(20,6) , ( select top 1 costprice from ImportTrade_Cargo where GID=w.Cargo_gid ) )costprice ");
|
|
|
strSql.Append(" ,(select top 1 costCargo from ImportTrade_Cargo where gid=c.gid)*w.GOODSRKSL/(case (select sum(GOODSRKSL) from wms where cargo_gid=c.GID) when 0 then 1 else (select sum(GOODSRKSL) from wms where cargo_gid=c.GID) end) WmsInCost ");
|
|
|
strSql.Append(" ,M.Mainstate,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=28 and EnumValueID=M.MainState) as MainStateRef ,w.putintype ");
|
|
|
//strSql.Append(" ,M.Inspection_Storage,dbo.trimdate(M.inspection_date) inspection_date ");
|
|
|
//strSql.Append(" ,dbo.trimdate(M.Unsealdate) Unsealdate, ");
|
|
|
|
|
|
strSql.Append(" FROM [wms] w left join import_main m on m.contractno=w.ASSOCIATEDNO ");
|
|
|
strSql.Append(" left join import_cargo c on c.gid=w.Cargo_gid ");
|
|
|
strSql.Append(" left join code_country cc on cc.countryid=m.countryid ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where w.ISDELETE=0 and " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" where w.ISDELETE=0 ");
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by w.WMSDATE ");
|
|
|
}
|
|
|
return SetData_Import(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSmb GetData_Import ( string condition )
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetDataList_Import(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSmb_ImportTrade> SetData_Import ( StringBuilder strSql )
|
|
|
{
|
|
|
var headList = new List<WMSmb_ImportTrade>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSmb_ImportTrade data = new WMSmb_ImportTrade();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.WMSNO = Convert.ToString(reader["WMSNO"]);
|
|
|
data.WMSDATE = Convert.ToString(reader["WMSDATE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.WMSOP = Convert.ToString(reader["WMSOP"]);
|
|
|
data.STOREMAN = Convert.ToString(reader["STOREMAN"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
data.ARCLIENT = Convert.ToString(reader["ARCLIENT"]);
|
|
|
data.TRUCKNAME = Convert.ToString(reader["TRUCKNAME"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.GOODSPACKSTOCK = Convert.ToString(reader["GOODSPACKSTOCK"]);
|
|
|
data.GOODSRKSL = Convert.ToString(reader["GOODSRKSL"]);
|
|
|
data.GOODSSTOCK = Convert.ToString(reader["GOODSSTOCK"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.FREESTORAGEPERIOD = Convert.ToString(reader["FREESTORAGEPERIOD"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.BLNO = Convert.ToString(reader["BLNO"]);
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.CLIENTCODEOLD = Convert.ToString(reader["CLIENTCODEOLD"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.STARTBILLINGDATE = Convert.ToString(reader["STARTBILLINGDATE"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACKACTUAL = Convert.ToString(reader["GOODSPACKACTUAL"]);
|
|
|
data.GOODSRKSLACTUAL = Convert.ToString(reader["GOODSRKSLACTUAL"]);
|
|
|
data.FREESTORAGEPERIODAP = Convert.ToString(reader["FREESTORAGEPERIODAP"]);
|
|
|
data.STARTBILLINGDATEAP = Convert.ToString(reader["STARTBILLINGDATEAP"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.MARKETVALUE = Convert.ToString(reader["MARKETVALUE"]);
|
|
|
data.BANKVALUE = Convert.ToString(reader["BANKVALUE"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
data.CLIENTBSNO = Convert.ToString(reader["CLIENTBSNO"]);
|
|
|
data.CARGO_GID = Convert.ToString(reader["CARGO_GID"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
|
|
|
data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]);
|
|
|
data.inspection_date = Convert.ToString(reader["inspection_date"]);
|
|
|
data.Unsealdate = Convert.ToString(reader["Unsealdate"]);
|
|
|
data.Productiondate_min = Convert.ToString(reader["Productiondate_min"]);
|
|
|
data.Productiondate_max = Convert.ToString(reader["Productiondate_max"]);
|
|
|
data.Overfilled = Convert.ToString(reader["Overfilled"]);
|
|
|
data.SALEINFO = Convert.ToString(reader["SALEINFO"]);
|
|
|
|
|
|
data.AGENT = Convert.ToString(reader["AGENT"]);
|
|
|
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
|
|
|
data.FACTORYNO = Convert.ToString(reader["FACTORYNO"]);
|
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
|
|
|
data.DECLARENUMBER = Convert.ToString(reader["DECLARENUMBER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.SALER = Convert.ToString(reader["SALER"]);
|
|
|
data.COSTPRICE = Convert.ToString(reader["COSTPRICE"]);
|
|
|
data.WMSINCOST = Convert.ToString(reader["WMSINCOST"]);
|
|
|
data.HTH = Convert.ToString(reader["HTH"]);
|
|
|
|
|
|
data.PUTINTYPE = Convert.ToString(reader["putintype"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 入库信息列表
|
|
|
|
|
|
static public List<WMSINmb> GetWMSINList(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT * ");
|
|
|
strSql.Append(" FROM [wms_in] wi ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by wi.LINENUM ");
|
|
|
}
|
|
|
return SetWMSINData(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSINmb GetWMSINData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSINList(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSINmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSINmb> SetWMSINData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSINmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSINmb data = new WMSINmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.BLNO = Convert.ToString(reader["BLNO"]);
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
|
|
|
data.SEALNO = Convert.ToString(reader["SEALNO"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.CLIENTCODE = Convert.ToString(reader["CLIENTCODE"]);
|
|
|
data.CLIENTNAME = Convert.ToString(reader["CLIENTNAME"]);
|
|
|
data.DODATE = Convert.ToString(reader["DODATE"]);
|
|
|
data.STORAGECODE = Convert.ToString(reader["STORAGECODE"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.AREACODE = Convert.ToString(reader["AREACODE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.GOODSCODE = Convert.ToString(reader["GOODSCODE"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSRKSL = Convert.ToString(reader["GOODSRKSL"]);
|
|
|
data.GOODSSTOCK = Convert.ToString(reader["GOODSSTOCK"]);
|
|
|
data.FREESTORAGEPERIOD = Convert.ToString(reader["FREESTORAGEPERIOD"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.GOODSPACKSTOCK = Convert.ToString(reader["GOODSPACKSTOCK"]);
|
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);
|
|
|
data.GOODSKGS = Convert.ToString(reader["GOODSKGS"]);
|
|
|
data.CLIENTCODEOLD = Convert.ToString(reader["CLIENTCODEOLD"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);
|
|
|
data.GOODSTHICKNESS = Convert.ToString(reader["GOODSTHICKNESS"]);
|
|
|
data.GOODSWIDTH = Convert.ToString(reader["GOODSWIDTH"]);
|
|
|
data.GOODSLENGTH = Convert.ToString(reader["GOODSLENGTH"]);
|
|
|
data.GOODSSLICE = Convert.ToString(reader["GOODSSLICE"]);
|
|
|
data.GOODSGRADE = Convert.ToString(reader["GOODSGRADE"]);
|
|
|
data.STACKLOCATION = Convert.ToString(reader["STACKLOCATION"]);
|
|
|
data.GOODSPACKACTUAL = Convert.ToString(reader["GOODSPACKACTUAL"]);
|
|
|
data.GOODSRKSLACTUAL = Convert.ToString(reader["GOODSRKSLACTUAL"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.MARKETVALUE = Convert.ToString(reader["MARKETVALUE"]);
|
|
|
data.BANKVALUE = Convert.ToString(reader["BANKVALUE"]);
|
|
|
data.LINENUM = Convert.ToString(reader["LINENUM"]);
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 费率区间列表
|
|
|
|
|
|
static public List<WMSRATEmb> GetWMSRATE(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT *,case feetype when 1 then '收' when 2 then '付' end as FEETYPEREF ");
|
|
|
strSql.Append(" FROM [wms_Rate] ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by FEETYPE,FEEGRADE ");
|
|
|
}
|
|
|
return SetWMSRATEData(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSRATEmb GetWMSRATEData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSRATE(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSRATEmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSRATEmb> SetWMSRATEData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSRATEmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSRATEmb data = new WMSRATEmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.FEETYPE = Convert.ToString(reader["FEETYPE"]);
|
|
|
data.FEETYPEREF = Convert.ToString(reader["FEETYPEREF"]);
|
|
|
data.FEEGRADE = Convert.ToString(reader["FEEGRADE"]);
|
|
|
data.FEESCALE = Convert.ToString(reader["FEESCALE"]);
|
|
|
data.FEEPRICE = Convert.ToString(reader["FEEPRICE"]);
|
|
|
data.FEEUNIT = Convert.ToString(reader["FEEUNIT"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.ADDPRICE = Convert.ToString(reader["ADDPRICE"]);
|
|
|
data.ENDBILLINGDATE = Convert.ToString(reader["ENDBILLINGDATE"]);
|
|
|
data.RATETYPE = Convert.ToString(reader["RATETYPE"]);
|
|
|
data.FEENAME = Convert.ToString(reader["FEENAME"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.CAPPRICE = Convert.ToString(reader["CAPPRICE"]);
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 通过WMS的GID获取业务的BSNO
|
|
|
static public string GetBSNOByWMSGID(string WMSGID) {
|
|
|
var BSNO="";
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (DbConnection connection = db.CreateConnection())
|
|
|
{
|
|
|
connection.Open();
|
|
|
try
|
|
|
{
|
|
|
var _BSNO = db.ExecuteScalar(CommandType.Text, "select ASSOCIATEDNO from wms where GID='" + WMSGID + "'");
|
|
|
BSNO = Convert.ToString(BSNO);
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
return BSNO;
|
|
|
}
|
|
|
|
|
|
#region 费用入账(锁定WMS)
|
|
|
static public Resultmb Lock(string WMSGID, string LOCK,string USERID)
|
|
|
{
|
|
|
|
|
|
var BSNO = GetBSNOByWMSGID(WMSGID);
|
|
|
|
|
|
if (LOCK == "0")
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var _sql = "select count(*) from WMS_OUT_Detail where inbsno in('" + WMSGID + "')";
|
|
|
var objcount = db.ExecuteScalar(CommandType.Text, _sql);
|
|
|
var _count = Convert.ToString(objcount);
|
|
|
if (_count != "0")
|
|
|
{
|
|
|
var result = new Resultmb();
|
|
|
result.Success = false;
|
|
|
result.Message = "存在已经出库的入库记录,无法取消入账";
|
|
|
return result;
|
|
|
}
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" update wms set islock=" + LOCK + " where gid in(" + WMSGID + ")");
|
|
|
return setUnlock(strSql);//ExecuteNonQuery
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" update wms set islock=" + LOCK + " where gid in(" + WMSGID + ")");
|
|
|
return setLock(strSql);//ExecuteNonQuery
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
private static Resultmb setLock(StringBuilder strSql)
|
|
|
{
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
var result = new Resultmb();
|
|
|
result.Success = true;
|
|
|
result.Message = "已经费用入账";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
private static Resultmb setUnlock(StringBuilder strSql)
|
|
|
{
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
var result = new Resultmb();
|
|
|
result.Success = true;
|
|
|
result.Message = "已经取消费用入账";
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 出库信息列表
|
|
|
|
|
|
static public List<WMSOUTmb> GetWMSOUTList(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT [GID],[ASSOCIATEDNO],[BSNO],[CLIENTGID],[CLIENTCODE],[CUSTOMERNAME],dbo.trimdate([DODATE]) DODATE,[STORAGECODE] ");
|
|
|
strSql.Append(" ,[STORAGENAME],[AREACODE],[AREANAME],[GOODSCODE],[GOODSNAME],[GOODSTYPE],[GOODSMODEL],[GOODSSTANDARD] ");
|
|
|
strSql.Append(" ,[GOODSPACK],[GOODSPFSL],[GOODSOUTFEE],[TRUCKNO],[REMARK],[ISDELETE],dbo.trimdate([DELETETIME]) DELETETIME,[DELETEUSER] ");
|
|
|
strSql.Append(" ,[CREATEUSER],dbo.trimdate([CREATETIME]) createtime,[MODIFIEDUSER],dbo.trimdate([MODIFIEDTIME]) MODIFIEDTIME,[GOODSPACKPFSL],[TRUCKNAME] ");
|
|
|
strSql.Append(" ,[WMSOP],[STOREMAN],[ISLOCK],[LOCKUSER],dbo.trimdate([LOCKTIME]) LOCKTIME,[GOODSOUTFEEAP],[ARFEE],[APFEE],[INSPECTIONNO] ");
|
|
|
strSql.Append(" ,[CUSTOMNO],[CORPID],[CLIENTNAMEOLD],dbo.trimdate([OLDCUSTFEEDATE]) OLDCUSTFEEDATE,[CLIENTBSNO],[ARCLIENT],[INGIDNEW],[TOTALNO] ");
|
|
|
strSql.Append(" ,[REMARK2],dbo.trimdate([VALIDDATE]) VALIDDATE,[CHARGEUNIT],[MBLNONEW],[ISCHANGE],[MARKETVALUE],[ARCLIENTWMSOUT] ");
|
|
|
strSql.Append(" ,[BZTCHNO],[ISCOLLECTING], ");
|
|
|
strSql.Append(" (select MBLNO from vw_settlement where bsno=ASSOCIATEDNO) MBLNO ");
|
|
|
strSql.Append(" FROM [wms_out] ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where (ISDELETE=0 or ISDELETE is null) and " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" where (ISDELETE=0 or ISDELETE is null) ");
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by DODATE ");
|
|
|
}
|
|
|
return SetWMSOUT(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSOUTmb GetWMSOUTData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSOUTList(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSOUTmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSOUTmb> SetWMSOUT(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSOUTmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSOUTmb data = new WMSOUTmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.CLIENTGID = Convert.ToString(reader["CLIENTGID"]);
|
|
|
data.CLIENTCODE = Convert.ToString(reader["CLIENTCODE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.DODATE = Convert.ToString(reader["DODATE"]);
|
|
|
data.STORAGECODE = Convert.ToString(reader["STORAGECODE"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.AREACODE = Convert.ToString(reader["AREACODE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.GOODSCODE = Convert.ToString(reader["GOODSCODE"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
|
|
|
data.GOODSPFSL = Convert.ToString(reader["GOODSPFSL"]);
|
|
|
data.GOODSOUTFEE = Convert.ToString(reader["GOODSOUTFEE"]);
|
|
|
data.GOODSOUTFEEAP = Convert.ToString(reader["GOODSOUTFEEAP"]);
|
|
|
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.GOODSPACKPFSL = Convert.ToString(reader["GOODSPACKPFSL"]);
|
|
|
data.TRUCKNAME = Convert.ToString(reader["TRUCKNAME"]);
|
|
|
data.WMSOP = Convert.ToString(reader["WMSOP"]);
|
|
|
data.STOREMAN = Convert.ToString(reader["STOREMAN"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.INSPECTIONNO = Convert.ToString(reader["INSPECTIONNO"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.OLDCUSTFEEDATE = Convert.ToString(reader["OLDCUSTFEEDATE"]);
|
|
|
data.CLIENTBSNO = Convert.ToString(reader["CLIENTBSNO"]);
|
|
|
data.ARCLIENT = Convert.ToString(reader["ARCLIENT"]);
|
|
|
data.INGIDNEW = Convert.ToString(reader["INGIDNEW"]);
|
|
|
data.VALIDDATE = Convert.ToString(reader["VALIDDATE"]);
|
|
|
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);
|
|
|
data.REMARK2 = Convert.ToString(reader["REMARK2"]);
|
|
|
data.MBLNONEW = Convert.ToString(reader["MBLNONEW"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.ARCLIENTWMSOUT = Convert.ToString(reader["ARCLIENTWMSOUT"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
data.ISCOLLECTING = Convert.ToString(reader["ISCOLLECTING"]);
|
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出库信息列表_进口贸易用
|
|
|
|
|
|
static public List<WMSOUTImportmb> GetWMSOUTList_Import ( string strCondition, string sort )
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT wo.[GID],wo.[ASSOCIATEDNO],wo.[BSNO],wo.[CLIENTGID],wo.[CLIENTCODE],wo.[CUSTOMERNAME],dbo.trimdate(wo.[DODATE]) DODATE,wo.[STORAGECODE] ");
|
|
|
strSql.Append(" ,wo.[STORAGENAME],wo.[AREACODE],wo.[AREANAME],wod.[GOODSCODE],wod.[GOODSNAME],wod.[GOODSMODEL],wod.[GOODSSTANDARD],wod.[GOODSTYPE] ");//
|
|
|
strSql.Append(" ,wod.[GOODSPACK],wod.[GOODSPFSL],wo.[GOODSOUTFEE],wo.[TRUCKNO],wo.[REMARK],wo.[ISDELETE],dbo.trimdate(wo.[DELETETIME]) DELETETIME,wo.[DELETEUSER] ");
|
|
|
strSql.Append(" ,wo.[CREATEUSER],dbo.trimdate(wo.[CREATETIME]) createtime,wo.[MODIFIEDUSER],dbo.trimdate(wo.[MODIFIEDTIME]) MODIFIEDTIME,wod.[GOODSPACKPFSL],[TRUCKNAME] ");
|
|
|
strSql.Append(" ,[WMSOP],[STOREMAN],wo.[ISLOCK],wo.[LOCKUSER],dbo.trimdate(wo.[LOCKTIME]) LOCKTIME,wo.[GOODSOUTFEEAP],wo.[ARFEE],wo.[APFEE],[INSPECTIONNO] ");
|
|
|
strSql.Append(" ,[CUSTOMNO],wo.[CORPID],wo.[CLIENTNAMEOLD],dbo.trimdate(wo.[OLDCUSTFEEDATE]) OLDCUSTFEEDATE,[CLIENTBSNO],[ARCLIENT],[INGIDNEW],[TOTALNO] ");
|
|
|
strSql.Append(" ,[REMARK2],dbo.trimdate([VALIDDATE]) VALIDDATE,wo.[CHARGEUNIT],[MBLNONEW],wo.[ISCHANGE],wo.[MARKETVALUE],[ARCLIENTWMSOUT] ");
|
|
|
strSql.Append(" ,wod.[BZTCHNO],[ISCOLLECTING], ");
|
|
|
strSql.Append(" (select MBLNO from vw_settlement where bsno=wo.ASSOCIATEDNO) MBLNO ");
|
|
|
strSql.Append(" ,(select BSSTATUS from Import_Delivery where DELIVERYNO=wo.BSNO) BSSTATUS ");
|
|
|
strSql.Append(" ,m.HTH,m.Supplier_Billno,m.ContainerNo ");
|
|
|
strSql.Append(" ,dbo.[F_factoryno_WMSOUT](WO.BSNO) factoryno ");
|
|
|
strSql.Append(" ,substring(cc.country,0,(charindex('(',cc.country)) ) country ");
|
|
|
strSql.Append(" ,(select cargotype from Import_cargo where gid= sd.Cargo_GID) cargotype ");//商品类型
|
|
|
strSql.Append(" , dbo.F_ImportTrade_Saler_Main(wo.ASSOCIATEDNO) SALER ");
|
|
|
strSql.Append(" ,d.op,dd.WEIGHT_EX,dd.BOXCOUNT_EX,wod.GOODSPFSL GOODSPFSL_ACT,wod.GOODSPACKPFSL GOODSPACKPFSL_ACT,d.SFCM,D.OUTRECEIPT ");//, wo.CUSTOMERNAME
|
|
|
strSql.Append(" , convert(numeric(20,6) , ( select top 1 costprice from ImportTrade_Cargo where GID=sd.Cargo_gid ) ) costprice ");
|
|
|
strSql.Append(" ,sd.PRICERMB,(select OP from import_sales where salesno=sd.salesno) Sales_OP,D.op Delivery_OP,D.CONTACT,D.TEL");
|
|
|
strSql.Append(" ,(select sum(amount) from ch_fee where deliveryno = dd.gid ) PAYMONEY ");
|
|
|
strSql.Append(" FROM [wms_out] wo ");
|
|
|
strSql.Append(" left join import_main m on m.ContractNo=wo.associatedno ");
|
|
|
strSql.Append(" left join wms_out_detail wod on wod.OUTBSNO=wo.bsno ");
|
|
|
strSql.Append(" left join code_country cc on cc.countryid=m.countryid ");
|
|
|
strSql.Append(" left join Import_DeliveryDetail Dd on Dd.gid=wod.BSNO ");
|
|
|
strSql.Append(" left join Import_Saledetail sd on sd.gid=dd.SALEDETAIL_GID ");
|
|
|
strSql.Append(" left join Import_Delivery D on D.DELIVERYNO=dd.DELIVERYNO ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where isnull(wo.ISDELETE,0)=0 and " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" where isnull(wo.ISDELETE,0)=0 ");
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by wo.DODATE ");
|
|
|
}
|
|
|
return SetWMSOUT_Import(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSOUTImportmb GetWMSOUTData_Import ( string condition )
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSOUTList_Import(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSOUTImportmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSOUTImportmb> SetWMSOUT_Import ( StringBuilder strSql )
|
|
|
{
|
|
|
var headList = new List<WMSOUTImportmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSOUTImportmb data = new WMSOUTImportmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.CLIENTGID = Convert.ToString(reader["CLIENTGID"]);
|
|
|
data.CLIENTCODE = Convert.ToString(reader["CLIENTCODE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.DODATE = Convert.ToString(reader["DODATE"]);
|
|
|
data.STORAGECODE = Convert.ToString(reader["STORAGECODE"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.AREACODE = Convert.ToString(reader["AREACODE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.GOODSCODE = Convert.ToString(reader["GOODSCODE"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
|
|
|
data.GOODSPFSL = Convert.ToString(reader["GOODSPFSL"]);
|
|
|
data.GOODSOUTFEE = Convert.ToString(reader["GOODSOUTFEE"]);
|
|
|
data.GOODSOUTFEEAP = Convert.ToString(reader["GOODSOUTFEEAP"]);
|
|
|
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.GOODSPACKPFSL = Convert.ToString(reader["GOODSPACKPFSL"]);
|
|
|
data.TRUCKNAME = Convert.ToString(reader["TRUCKNAME"]);
|
|
|
data.WMSOP = Convert.ToString(reader["WMSOP"]);
|
|
|
data.STOREMAN = Convert.ToString(reader["STOREMAN"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.INSPECTIONNO = Convert.ToString(reader["INSPECTIONNO"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.OLDCUSTFEEDATE = Convert.ToString(reader["OLDCUSTFEEDATE"]);
|
|
|
data.CLIENTBSNO = Convert.ToString(reader["CLIENTBSNO"]);
|
|
|
data.ARCLIENT = Convert.ToString(reader["ARCLIENT"]);
|
|
|
data.INGIDNEW = Convert.ToString(reader["INGIDNEW"]);
|
|
|
data.VALIDDATE = Convert.ToString(reader["VALIDDATE"]);
|
|
|
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);
|
|
|
data.REMARK2 = Convert.ToString(reader["REMARK2"]);
|
|
|
data.MBLNONEW = Convert.ToString(reader["MBLNONEW"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.ARCLIENTWMSOUT = Convert.ToString(reader["ARCLIENTWMSOUT"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
data.ISCOLLECTING = Convert.ToString(reader["ISCOLLECTING"]);
|
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);
|
|
|
|
|
|
data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]);
|
|
|
|
|
|
data.HTH = Convert.ToString(reader["HTH"]);
|
|
|
data.SUPPLIER_BILLNO = Convert.ToString(reader["SUPPLIER_BILLNO"]);
|
|
|
data.CONTAINERNO = Convert.ToString(reader["CONTAINERNO"]);
|
|
|
data.FACTORYNO = Convert.ToString(reader["FACTORYNO"]);
|
|
|
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
|
|
|
data.CARGOTYPE = Convert.ToString(reader["CARGOTYPE"]);
|
|
|
data.SALER = Convert.ToString(reader["SALER"]);
|
|
|
//data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.OP = Convert.ToString(reader["OP"]);
|
|
|
data.WEIGHT_EX = Convert.ToString(reader["WEIGHT_EX"]);
|
|
|
data.BOXCOUNT_EX = Convert.ToString(reader["BOXCOUNT_EX"]);
|
|
|
|
|
|
if (reader["COSTPRICE"] != DBNull.Value)
|
|
|
data.GOODSPFSL_ACT = Convert.ToString(reader["GOODSPFSL_ACT"]);
|
|
|
else
|
|
|
data.GOODSPFSL_ACT = "0";
|
|
|
data.GOODSPACKPFSL_ACT = Convert.ToString(reader["GOODSPACKPFSL_ACT"]);
|
|
|
data.SFCM = Convert.ToString(reader["SFCM"]);
|
|
|
if (reader["COSTPRICE"] != DBNull.Value)
|
|
|
data.COSTPRICE = Convert.ToString(reader["COSTPRICE"]);
|
|
|
else
|
|
|
data.COSTPRICE = "0";
|
|
|
|
|
|
if (reader["PRICERMB"] != DBNull.Value)
|
|
|
data.PRICERMB = Convert.ToString(reader["PRICERMB"]);
|
|
|
else
|
|
|
data.PRICERMB = "0";
|
|
|
|
|
|
//
|
|
|
data.TOTALCOST = Convert.ToString(Convert.ToDecimal(data.COSTPRICE) * Convert.ToDecimal(data.GOODSPFSL_ACT) * 1000);
|
|
|
//data.PAYMONEY = Convert.ToString(Convert.ToDecimal(data.PRICERMB) * Convert.ToDecimal(data.GOODSPFSL_ACT) * 1000);
|
|
|
|
|
|
if (reader["PAYMONEY"] != DBNull.Value){
|
|
|
|
|
|
data.PAYMONEY = Convert.ToString(reader["PAYMONEY"]);
|
|
|
|
|
|
data.ML = Convert.ToString(Convert.ToDecimal(data.PAYMONEY) - Convert.ToDecimal(data.TOTALCOST));
|
|
|
|
|
|
if (Convert.ToDecimal(data.PAYMONEY) == 0) {
|
|
|
data.MLRATE = "0";
|
|
|
}else
|
|
|
data.MLRATE = Convert.ToString(Convert.ToDecimal(data.ML) / Convert.ToDecimal(data.PAYMONEY));
|
|
|
}else{
|
|
|
data.PAYMONEY = "0";
|
|
|
data.ML = "0";
|
|
|
data.MLRATE = "0";
|
|
|
}
|
|
|
|
|
|
data.OUTRECEIPT = Convert.ToString(reader["OUTRECEIPT"]);
|
|
|
data.Sales_OP = Convert.ToString(reader["Sales_OP"]);
|
|
|
data.Delivery_OP = Convert.ToString(reader["Delivery_OP"]);
|
|
|
data.CONTACT = Convert.ToString(reader["CONTACT"]);
|
|
|
data.TEL = Convert.ToString(reader["TEL"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出库信息明细列表
|
|
|
|
|
|
static public List<WMSOUTDetailmb> GetWMSOUTDetailList ( string USERID, string WMSOUTBSNO, string ASSOCIATEDNO, string condition, string sort,string ONLYINWMSOUT )
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select * from ( ");
|
|
|
|
|
|
if (!string.IsNullOrEmpty(ONLYINWMSOUT))
|
|
|
{
|
|
|
//只看出库单内的信息
|
|
|
strSql.Append(" select * from (SELECT dbo.trimdate(i.wmsdate) i_wmsdate,i.customername i_customername ");
|
|
|
strSql.Append(" ,i.goodsname i_goodsname,i.goodsmodel i_goodsmodel,i.goodspackstock i_goodspackstock ");
|
|
|
strSql.Append(" ,i.goodsstock i_goodsstock,i.blno i_blno,dbo.trimdate(i.startbillingdate) i_startbillingdate ");
|
|
|
strSql.Append(" ,dbo.trimdate(i.STARTBILLINGDATEAP) i_STARTBILLINGDATEAP,i.gid i_INBSNO ");
|
|
|
strSql.Append(" ,i.MARKETVALUE i_MARKETVALUE,i.BANKVALUE i_bankvalue,i.ISDELETE i_isdelete,i.[BZTCHNO] i_BZTCHNO ");
|
|
|
|
|
|
strSql.Append(" ,od.[GID],od.[INBSNO],od.[OUTBSNO],od.[BSNO],od.[CLIENTGID],od.[CLIENTCODE],od.[CUSTOMERNAME],od.[DODATE],od.[STORAGECODE] ");
|
|
|
strSql.Append(" ,od.[STORAGENAME],od.[AREACODE],od.[AREANAME],od.[GOODSCODE],od.[GOODSNAME],od.[GOODSTYPE],od.[GOODSMODEL],od.[GOODSSTANDARD] ");
|
|
|
strSql.Append(" ,od.[GOODSPACK],od.[CHARGEUNIT],od.[GOODSPFSL],od.[GOODSOUTFEE],od.[TRUCKNO],od.[CREATEUSER],od.[CREATETIME],od.[REMARK] ");
|
|
|
strSql.Append(" ,od.[ASSOCIATEDNO],od.[GOODSPACKPFSL],od.[ARFEE],od.[APFEE],od.[ISLOCK],od.[LOCKUSER],od.[LOCKTIME],od.[GOODSOUTFEEAP],od.[CORPID] ");
|
|
|
strSql.Append(" ,od.[CLIENTNAMEOLD],od.[OLDCUSTFEEDATE],od.[STARTBILLINGDATE],od.[ENDBILLINGDATE],od.[FEEDAYS],od.[GOODSSLICE],od.[GOODSGRADE] ");
|
|
|
strSql.Append(" ,od.[STARTBILLINGDATEAP],od.[ENDBILLINGDATEAP],od.[FEEDAYSAP],od.[ISCHANGE],od.[MARKETVALUE],od.[BZTCHNO] ");
|
|
|
strSql.Append(" FROM [wms] i left join wms_out_detail od on od.INBSNO=i.gid )tt");
|
|
|
|
|
|
strSql.Append(" where OUTBSNO='" + WMSOUTBSNO.Trim() + "'");
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//点击执行查询,看出库单内,和符合条件的其他入库单信息。
|
|
|
strSql.Append(" select * from (SELECT dbo.trimdate(i.wmsdate) i_wmsdate,i.customername i_customername ");
|
|
|
strSql.Append(" ,i.goodsname i_goodsname,i.goodsmodel i_goodsmodel,i.goodspackstock i_goodspackstock ");
|
|
|
strSql.Append(" ,i.goodsstock i_goodsstock,i.blno i_blno,dbo.trimdate(i.startbillingdate) i_startbillingdate ");
|
|
|
strSql.Append(" ,dbo.trimdate(i.STARTBILLINGDATEAP) i_STARTBILLINGDATEAP,i.gid i_INBSNO ");
|
|
|
strSql.Append(" ,i.MARKETVALUE i_MARKETVALUE,i.BANKVALUE i_bankvalue,i.ISDELETE i_isdelete,i.[BZTCHNO] i_BZTCHNO ");
|
|
|
|
|
|
strSql.Append(" ,od.[GID],od.[INBSNO],od.[OUTBSNO],od.[BSNO],od.[CLIENTGID],od.[CLIENTCODE],od.[CUSTOMERNAME],od.[DODATE],od.[STORAGECODE] ");
|
|
|
strSql.Append(" ,od.[STORAGENAME],od.[AREACODE],od.[AREANAME],od.[GOODSCODE],od.[GOODSNAME],od.[GOODSTYPE],od.[GOODSMODEL],od.[GOODSSTANDARD] ");
|
|
|
strSql.Append(" ,od.[GOODSPACK],od.[CHARGEUNIT],od.[GOODSPFSL],od.[GOODSOUTFEE],od.[TRUCKNO],od.[CREATEUSER],od.[CREATETIME],od.[REMARK] ");
|
|
|
strSql.Append(" ,od.[ASSOCIATEDNO],od.[GOODSPACKPFSL],od.[ARFEE],od.[APFEE],od.[ISLOCK],od.[LOCKUSER],od.[LOCKTIME],od.[GOODSOUTFEEAP],od.[CORPID] ");
|
|
|
strSql.Append(" ,od.[CLIENTNAMEOLD],od.[OLDCUSTFEEDATE],od.[STARTBILLINGDATE],od.[ENDBILLINGDATE],od.[FEEDAYS],od.[GOODSSLICE],od.[GOODSGRADE] ");
|
|
|
strSql.Append(" ,od.[STARTBILLINGDATEAP],od.[ENDBILLINGDATEAP],od.[FEEDAYSAP],od.[ISCHANGE],od.[MARKETVALUE],od.[BZTCHNO] ");
|
|
|
strSql.Append(" FROM [wms] i left join wms_out_detail od on od.INBSNO=i.gid )tt");
|
|
|
|
|
|
strSql.Append(" where OUTBSNO='" + WMSOUTBSNO.Trim() + "' ");
|
|
|
|
|
|
strSql.Append(" UNION ALL SELECT dbo.trimdate(i.wmsdate) i_wmsdate,i.customername i_customername ");
|
|
|
strSql.Append(" ,i.goodsname i_goodsname,i.goodsmodel i_goodsmodel,i.goodspackstock i_goodspackstock ");
|
|
|
strSql.Append(" ,i.goodsstock i_goodsstock,i.blno i_blno,dbo.trimdate(i.startbillingdate) i_startbillingdate ");
|
|
|
strSql.Append(" ,dbo.trimdate(i.STARTBILLINGDATEAP) i_STARTBILLINGDATEAP,i.gid i_INBSNO ");
|
|
|
strSql.Append(" ,i.MARKETVALUE i_MARKETVALUE,i.BANKVALUE i_bankvalue,i.ISDELETE i_isdelete,i.[BZTCHNO] i_BZTCHNO ");
|
|
|
|
|
|
strSql.Append(" ,'' [GID],i.gid [INBSNO],'' [OUTBSNO],'' [BSNO],'' [CLIENTGID],'' [CLIENTCODE],i.customername [CUSTOMERNAME],getdate() [DODATE],'' [STORAGECODE] ");
|
|
|
strSql.Append(" ,i.STORAGENAME [STORAGENAME],'' [AREACODE],i.AREANAME [AREANAME],'' [GOODSCODE],i.goodsname [GOODSNAME],''[GOODSTYPE],i.goodsmodel [GOODSMODEL],'' [GOODSSTANDARD] ");
|
|
|
strSql.Append(" ,'' [GOODSPACK],i.CHARGEUNIT [CHARGEUNIT],0 [GOODSPFSL],0 [GOODSOUTFEE],'' [TRUCKNO],'" + USERID.Trim() + "' [CREATEUSER],getdate() [CREATETIME],'' [REMARK] ");
|
|
|
strSql.Append(" ,i.ASSOCIATEDNO [ASSOCIATEDNO],0 [GOODSPACKPFSL],0 [ARFEE],0 [APFEE],0 [ISLOCK],'' [LOCKUSER],'' [LOCKTIME],0 [GOODSOUTFEEAP],i.CORPID [CORPID] ");
|
|
|
strSql.Append(" ,'' [CLIENTNAMEOLD],'' [OLDCUSTFEEDATE],i.STARTBILLINGDATE [STARTBILLINGDATE],'' [ENDBILLINGDATE],0 [FEEDAYS],0 [GOODSSLICE],'' [GOODSGRADE] ");
|
|
|
strSql.Append(" ,i.STARTBILLINGDATEAP [STARTBILLINGDATEAP],'' [ENDBILLINGDATEAP],0 [FEEDAYSAP],0 [ISCHANGE],0 [MARKETVALUE],i.[BZTCHNO] [BZTCHNO] ");
|
|
|
strSql.Append(" FROM [wms] i where isdelete=0 and goodspackstock>0 and goodsstock>0 and islock=1 ");
|
|
|
|
|
|
if (!string.IsNullOrEmpty(ASSOCIATEDNO))
|
|
|
{
|
|
|
strSql.Append(" and ASSOCIATEDNO='" + ASSOCIATEDNO.Trim() + "' ");
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(WMSOUTBSNO))
|
|
|
{
|
|
|
strSql.Append(" and i.GID not in (select inbsno from wms_out_detail where outbsno='" + WMSOUTBSNO + "') ");
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
{
|
|
|
strSql.Append(" and " + condition + " ");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
strSql.Append(" )tt1 ");
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by DODATE ");
|
|
|
}
|
|
|
return SetWMSOUTDetail(strSql);
|
|
|
}
|
|
|
|
|
|
static public List<WMSOUTDetailmb> GetWMSOUTDetailList_0(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
strSql.Append(" SELECT [GID],[INBSNO],[OUTBSNO],[BSNO],[CLIENTGID],[CLIENTCODE],[CUSTOMERNAME],[DODATE],[STORAGECODE] ");
|
|
|
strSql.Append(" ,[STORAGENAME],[AREACODE],[AREANAME],[GOODSCODE],[GOODSNAME],[GOODSTYPE],[GOODSMODEL],[GOODSSTANDARD] ");
|
|
|
strSql.Append(" ,[GOODSPACK],[CHARGEUNIT],[GOODSPFSL],[GOODSOUTFEE],[TRUCKNO],[CREATEUSER],[CREATETIME],[REMARK] ");
|
|
|
strSql.Append(" ,[ASSOCIATEDNO],[GOODSPACKPFSL],[ARFEE],[APFEE],[ISLOCK],[LOCKUSER],[LOCKTIME],[GOODSOUTFEEAP],[CORPID] ");
|
|
|
strSql.Append(" ,[CLIENTNAMEOLD],[OLDCUSTFEEDATE],[STARTBILLINGDATE],[ENDBILLINGDATE],[FEEDAYS],[GOODSSLICE],[GOODSGRADE] ");
|
|
|
strSql.Append(" ,[STARTBILLINGDATEAP],[ENDBILLINGDATEAP],[FEEDAYSAP],[ISCHANGE],[MARKETVALUE],[BZTCHNO] ");
|
|
|
strSql.Append(" FROM [wms_out_detail] ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//strSql.Append(" where (ISDELETE=0 or ISDELETE is null) ");
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by DODATE ");
|
|
|
}
|
|
|
return SetWMSOUTDetail_0(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSOUTDetailmb GetWMSOUTDetailData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSOUTDetailList_0(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSOUTDetailmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSOUTDetailmb> SetWMSOUTDetail(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSOUTDetailmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSOUTDetailmb data = new WMSOUTDetailmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.INBSNO = Convert.ToString(reader["INBSNO"]);
|
|
|
data.OUTBSNO = Convert.ToString(reader["OUTBSNO"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.CLIENTGID = Convert.ToString(reader["CLIENTGID"]);
|
|
|
data.CLIENTCODE = Convert.ToString(reader["CLIENTCODE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.DODATE = Convert.ToString(reader["DODATE"]);
|
|
|
data.STORAGECODE = Convert.ToString(reader["STORAGECODE"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.AREACODE = Convert.ToString(reader["AREACODE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.GOODSCODE = Convert.ToString(reader["GOODSCODE"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSPFSL = Convert.ToString(reader["GOODSPFSL"]);
|
|
|
data.GOODSPACKPFSL = Convert.ToString(reader["GOODSPACKPFSL"]);
|
|
|
data.GOODSOUTFEE = Convert.ToString(reader["GOODSOUTFEE"]);
|
|
|
data.GOODSOUTFEEAP = Convert.ToString(reader["GOODSOUTFEEAP"]);
|
|
|
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.OLDCUSTFEEDATE = Convert.ToString(reader["OLDCUSTFEEDATE"]);
|
|
|
data.STARTBILLINGDATE = Convert.ToString(reader["STARTBILLINGDATE"]);
|
|
|
data.ENDBILLINGDATE = Convert.ToString(reader["ENDBILLINGDATE"]);
|
|
|
data.FEEDAYS = Convert.ToString(reader["FEEDAYS"]);
|
|
|
data.GOODSSLICE = Convert.ToString(reader["GOODSSLICE"]);
|
|
|
data.GOODSGRADE = Convert.ToString(reader["GOODSGRADE"]);
|
|
|
data.STARTBILLINGDATEAP = Convert.ToString(reader["STARTBILLINGDATEAP"]);
|
|
|
data.ENDBILLINGDATEAP = Convert.ToString(reader["ENDBILLINGDATEAP"]);
|
|
|
data.FEEDAYSAP = Convert.ToString(reader["FEEDAYSAP"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.MARKETVALUE = Convert.ToString(reader["MARKETVALUE"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
|
|
|
data.i_WMSDATE = Convert.ToString(reader["i_WMSDATE"]);
|
|
|
data.i_CUSTOMERNAME = Convert.ToString(reader["i_CUSTOMERNAME"]);
|
|
|
data.i_GOODSNAME = Convert.ToString(reader["i_GOODSNAME"]);
|
|
|
data.i_GOODSMODEL = Convert.ToString(reader["i_GOODSMODEL"]);
|
|
|
data.i_GOODSPACKSTOCK = Convert.ToString(reader["i_GOODSPACKSTOCK"]);
|
|
|
data.i_GOODSSTOCK = Convert.ToString(reader["i_GOODSSTOCK"]);
|
|
|
data.i_BLNO = Convert.ToString(reader["i_BLNO"]);
|
|
|
data.i_STARTBILLINGDATE = Convert.ToString(reader["i_STARTBILLINGDATE"]);
|
|
|
data.i_STARTBILLINGDATEAP = Convert.ToString(reader["i_STARTBILLINGDATEAP"]);
|
|
|
data.i_MARKETVALUE = Convert.ToString(reader["i_MARKETVALUE"]);
|
|
|
data.i_BANKVALUE = Convert.ToString(reader["i_BANKVALUE"]);
|
|
|
data.i_ISDELETE = Convert.ToString(reader["i_ISDELETE"]);
|
|
|
data.i_BZTCHNO = Convert.ToString(reader["i_BZTCHNO"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
private static List<WMSOUTDetailmb> SetWMSOUTDetail_0(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSOUTDetailmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSOUTDetailmb data = new WMSOUTDetailmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.INBSNO = Convert.ToString(reader["INBSNO"]);
|
|
|
data.OUTBSNO = Convert.ToString(reader["OUTBSNO"]);
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.CLIENTGID = Convert.ToString(reader["CLIENTGID"]);
|
|
|
data.CLIENTCODE = Convert.ToString(reader["CLIENTCODE"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.DODATE = Convert.ToString(reader["DODATE"]);
|
|
|
data.STORAGECODE = Convert.ToString(reader["STORAGECODE"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.AREACODE = Convert.ToString(reader["AREACODE"]);
|
|
|
data.AREANAME = Convert.ToString(reader["AREANAME"]);
|
|
|
data.GOODSCODE = Convert.ToString(reader["GOODSCODE"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSPFSL = Convert.ToString(reader["GOODSPFSL"]);
|
|
|
data.GOODSPACKPFSL = Convert.ToString(reader["GOODSPACKPFSL"]);
|
|
|
data.GOODSOUTFEE = Convert.ToString(reader["GOODSOUTFEE"]);
|
|
|
data.GOODSOUTFEEAP = Convert.ToString(reader["GOODSOUTFEEAP"]);
|
|
|
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
|
data.CLIENTNAMEOLD = Convert.ToString(reader["CLIENTNAMEOLD"]);
|
|
|
data.OLDCUSTFEEDATE = Convert.ToString(reader["OLDCUSTFEEDATE"]);
|
|
|
data.STARTBILLINGDATE = Convert.ToString(reader["STARTBILLINGDATE"]);
|
|
|
data.ENDBILLINGDATE = Convert.ToString(reader["ENDBILLINGDATE"]);
|
|
|
data.FEEDAYS = Convert.ToString(reader["FEEDAYS"]);
|
|
|
data.GOODSSLICE = Convert.ToString(reader["GOODSSLICE"]);
|
|
|
data.GOODSGRADE = Convert.ToString(reader["GOODSGRADE"]);
|
|
|
data.STARTBILLINGDATEAP = Convert.ToString(reader["STARTBILLINGDATEAP"]);
|
|
|
data.ENDBILLINGDATEAP = Convert.ToString(reader["ENDBILLINGDATEAP"]);
|
|
|
data.FEEDAYSAP = Convert.ToString(reader["FEEDAYSAP"]);
|
|
|
data.ISCHANGE = Convert.ToString(reader["ISCHANGE"]);
|
|
|
data.MARKETVALUE = Convert.ToString(reader["MARKETVALUE"]);
|
|
|
data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]);
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出库时费用明细列表
|
|
|
|
|
|
static public List<WMSRATEDetailmb> GetWMSRATEDetailList(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT *,case feetype when 1 then '收' when 2 then '付' end as FEETYPEREF ");
|
|
|
strSql.Append(" FROM [wms_Rate_detail] ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by FEETYPE,FEEGRADE ");
|
|
|
}
|
|
|
return SetWMSRATEDetailData(strSql);
|
|
|
}
|
|
|
|
|
|
static public WMSRATEDetailmb GetWMSRATEDetailData(string condition)
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = GetWMSRATEDetailList(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
|
|
|
return new WMSRATEDetailmb();
|
|
|
}
|
|
|
|
|
|
private static List<WMSRATEDetailmb> SetWMSRATEDetailData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSRATEDetailmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSRATEDetailmb data = new WMSRATEDetailmb();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.ASSOCIATEDNO = Convert.ToString(reader["ASSOCIATEDNO"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.FEETYPE = Convert.ToString(reader["FEETYPE"]);
|
|
|
data.FEEGRADE = Convert.ToString(reader["FEEGRADE"]);
|
|
|
data.STARTBILLINGDATE = Convert.ToString(reader["STARTBILLINGDATE"]);
|
|
|
data.ENDBILLINGDATE = Convert.ToString(reader["ENDBILLINGDATE"]);
|
|
|
data.FEESCALE = Convert.ToString(reader["FEESCALE"]);
|
|
|
data.FEEUNIT = Convert.ToString(reader["FEEUNIT"]);
|
|
|
data.FEEPRICE = Convert.ToString(reader["FEEPRICE"]);
|
|
|
data.GOODSPFSL = Convert.ToString(reader["GOODSPFSL"]);
|
|
|
data.OUTFEE = Convert.ToString(reader["OUTFEE"]);
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.WMSOUTGID = Convert.ToString(reader["WMSOUTGID"]);
|
|
|
data.FEETYPEREF = Convert.ToString(reader["FEETYPEREF"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 删除出库信息
|
|
|
static public int DeleteOut(string BSNO)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" delete from wms_rate_detail where ASSOCIATEDNO in( select gid from wms_out_detail where bsno='" + BSNO + "')");
|
|
|
strSql.Append(" delete from wms_out_detail where outbsno='" + BSNO + "'");
|
|
|
return SetDeleteOut(strSql);//ExecuteNonQuery
|
|
|
}
|
|
|
private static int SetDeleteOut(StringBuilder strSql)
|
|
|
{
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
return _count;
|
|
|
}
|
|
|
private static int GetCount(StringBuilder strSql)
|
|
|
{
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = Convert.ToInt32(db.ExecuteScalar(CommandType.Text, strSql.ToString()));
|
|
|
return _count;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取来源于货转的已锁定入库信息数量
|
|
|
static public int GetHZWMSLockCount(string INNEWGID)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select count(*) from wms where GID='" + INNEWGID + "' and islock=1");
|
|
|
return GetCount(strSql);//ExecuteNonQuery
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 删除来源于货转的入库信息
|
|
|
static public int DelHZWMS(string GID)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" delete from wms where gid='" + GID + "'");
|
|
|
strSql.Append(" delete from wms_in where associatedno='" + GID + "'");
|
|
|
//strSql.Append(" delete from wms_rate where BSNO='" + GID + "'");
|
|
|
return SetDeleteOut(strSql);//ExecuteNonQuery
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入来源于货转的入库信息
|
|
|
static public Resultmb InsertHZWMS(WMSOUTmb head,string WMSGID,string WMSNO,string USERID)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" insert into WMS ");
|
|
|
strSql.Append(" ([GID],[WMSNO],[WMSDATE],[CUSTOMERNAME],[WMSOP],[STOREMAN] ");
|
|
|
strSql.Append(" ,[MODIFIEDUSER],[MODIFIEDTIME],[ISDELETE],[DELETEUSER], [DELETETIME],[TRUCKNAME],[ISLOCK],[LOCKUSER],[LOCKTIME] ");
|
|
|
strSql.Append(" ,[GOODSPACK],[GOODSPACKSTOCK],[GOODSRKSL],[GOODSSTOCK],[ARFEE],[APFEE],[ASSOCIATEDNO] ");
|
|
|
strSql.Append(" ,[BLNO],[FREESTORAGEPERIOD],[CONTRACTNO],[GOODSNAME],[GOODSMODEL],[CLIENTCODEOLD] ");
|
|
|
strSql.Append(" ,[CLIENTNAMEOLD],[STORAGENAME],[CHARGEUNIT],[CORPID],[STARTBILLINGDATE],[CUSTOMNO],[CUSTNO] ");
|
|
|
strSql.Append(" ,[GOODSSTANDARD],[GOODSPACKACTUAL] ");
|
|
|
strSql.Append(" ,[GOODSRKSLACTUAL],[ARCLIENT],[FREESTORAGEPERIODAP],[STARTBILLINGDATEAP],[ISCHANGE] ");
|
|
|
strSql.Append(" ,[AREANAME],[MARKETVALUE],[BANKVALUE],[BZTCHNO],[CREATEUSER],[CREATETIME],[CLIENTBSNO]) ");
|
|
|
strSql.Append(" SELECT TOP 1 '" + WMSGID + "' [GID],'" + WMSNO + "'[WMSNO],DODATE [WMSDATE],CLIENTNAMEOLD [CUSTOMERNAME],(select showname from [user] where gid=wms_out.createuser) [WMSOP],[STOREMAN] ");
|
|
|
strSql.Append(" ,'" + USERID + "'[MODIFIEDUSER],getdate() [MODIFIEDTIME] ");
|
|
|
strSql.Append(" ,0 [ISDELETE],'' [DELETEUSER],'' [DELETETIME],[TRUCKNAME],0 [ISLOCK],'' [LOCKUSER],'' [LOCKTIME] ");
|
|
|
strSql.Append(" ,GOODSPACKPFSL [GOODSPACK],GOODSPACKPFSL [GOODSPACKSTOCK] "); //wms_out的出库件数 计入wms的入库量和剩余件数
|
|
|
strSql.Append(" ,GOODSPFSL [GOODSRKSL],GOODSPFSL [GOODSSTOCK] ");//wms_out的出库量 计入wms的入库量和剩余量
|
|
|
strSql.Append(" ,0 [ARFEE],0 [APFEE],[ASSOCIATEDNO] ");
|
|
|
strSql.Append(" ,(select mblno from vw_settlement where bsno=[ASSOCIATEDNO])[BLNO] ");
|
|
|
strSql.Append(" ,0 [FREESTORAGEPERIOD] ");
|
|
|
strSql.Append(" ,(select contractno from VW_Settlement where bsno=ASSOCIATEDNO) [CONTRACTNO] ");
|
|
|
strSql.Append(" ,[GOODSNAME],[GOODSMODEL] ");
|
|
|
strSql.Append(" ,'' [CLIENTCODEOLD],'' [CLIENTNAMEOLD],[STORAGENAME],[CHARGEUNIT] ");
|
|
|
strSql.Append(" ,[CORPID],OLDCUSTFEEDATE [STARTBILLINGDATE],[CUSTOMNO] ");
|
|
|
strSql.Append(" ,(select custno from vw_settlement where bsno=ASSOCIATEDNO) [CUSTNO] ");
|
|
|
strSql.Append(" ,[GOODSSTANDARD],GOODSPACKPFSL [GOODSPACKACTUAL] ");
|
|
|
strSql.Append(" ,GOODSPFSL [GOODSRKSLACTUAL],CLIENTNAMEOLD [ARCLIENT],0 [FREESTORAGEPERIODAP],OLDCUSTFEEDATE [STARTBILLINGDATEAP],1 [ISCHANGE] ");
|
|
|
strSql.Append(" ,'' [AREANAME],0 [MARKETVALUE],0 [BANKVALUE],[BZTCHNO],[CREATEUSER],[CREATETIME],'' [CLIENTBSNO] ");
|
|
|
strSql.Append(" FROM [wms_out] where GID='"+head.GID+"'");
|
|
|
strSql.Append(" update wms_out set INGIDNEW='" + WMSGID + "' where GID='" + head.GID + "'");
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
if (_count > 0) {
|
|
|
var strSqlWI = new StringBuilder();
|
|
|
strSqlWI.Append(" insert into WMS_IN ");
|
|
|
strSqlWI.Append(" ([GID],[ASSOCIATEDNO],[BLNO],[CONTRACTNO],[CNTRNO] ");
|
|
|
strSqlWI.Append(" ,[SEALNO],[BSNO],[CLIENTCODE],[CLIENTNAME],[DODATE],[STORAGECODE] ");
|
|
|
strSqlWI.Append(" ,[STORAGENAME]");
|
|
|
strSqlWI.Append(" ,[AREACODE],[AREANAME],[GOODSCODE],[GOODSNAME],[GOODSTYPE] ");
|
|
|
strSqlWI.Append(" ,[GOODSMODEL],[GOODSSTANDARD] ");
|
|
|
strSqlWI.Append(" ,[GOODSPACK],[CHARGEUNIT],[GOODSRKSL] ");
|
|
|
strSqlWI.Append(" ,[GOODSSTOCK],[FREESTORAGEPERIOD],[ISLOCK],[LOCKTIME] ");
|
|
|
strSqlWI.Append(" ,[LOCKUSER],[ISDELETE],[DELETETIME],[DELETEUSER],[CREATEUSER],[CREATETIME],[MODIFIEDUSER] ");
|
|
|
strSqlWI.Append(" ,[MODIFIEDTIME],[REMARK],[GOODSPACKSTOCK],[KINDPKGS],[GOODSKGS],[CLIENTCODEOLD] ");
|
|
|
strSqlWI.Append(" ,[CLIENTNAMEOLD],[ARFEE],[APFEE],[CORPID],[CTNALL],[GOODSTHICKNESS],[GOODSWIDTH] ");
|
|
|
strSqlWI.Append(" ,[GOODSLENGTH],[GOODSSLICE],[GOODSGRADE],[STACKLOCATION] ");
|
|
|
strSqlWI.Append(" ,[GOODSPACKACTUAL],[GOODSRKSLACTUAL],[ISCHANGE] ");
|
|
|
strSqlWI.Append(" ,[MARKETVALUE],[BANKVALUE],[LINENUM])");
|
|
|
|
|
|
strSqlWI.Append(" SELECT TOP 1 newid() [GID],'"+WMSGID+"'[ASSOCIATEDNO],[BLNO],[CONTRACTNO],''[CNTRNO] ");
|
|
|
strSqlWI.Append(" ,''[SEALNO],'WMSNO'[BSNO],''[CLIENTCODE],CUSTOMERNAME[CLIENTNAME],getdate()[DODATE],''[STORAGECODE] ");
|
|
|
strSqlWI.Append(" ,[STORAGENAME] ");
|
|
|
strSqlWI.Append(" ,'' [AREACODE],[AREANAME],''[GOODSCODE],GOODSname [GOODSNAME],''[GOODSTYPE] ");
|
|
|
strSqlWI.Append(" ,[GOODSMODEL],[GOODSSTANDARD] ");
|
|
|
strSqlWI.Append(" ,"+head.GOODSPACKPFSL+" [GOODSPACK],[CHARGEUNIT],"+head.GOODSPFSL+" [GOODSRKSL] ");
|
|
|
strSqlWI.Append(" ,"+head.GOODSPFSL+" [GOODSSTOCK],[FREESTORAGEPERIOD],[ISLOCK],[LOCKTIME] ");
|
|
|
strSqlWI.Append(" ,[LOCKUSER],[ISDELETE],[DELETETIME],[DELETEUSER],[CREATEUSER],[CREATETIME],[MODIFIEDUSER] ");
|
|
|
strSqlWI.Append(" ,[MODIFIEDTIME],'货权转移'[REMARK],"+head.GOODSPACKPFSL+"[GOODSPACKSTOCK],''[KINDPKGS],0 [GOODSKGS],'' [CLIENTCODEOLD] ");
|
|
|
strSqlWI.Append(" ,'"+head.CUSTOMERNAME+"' [CLIENTNAMEOLD],0 [ARFEE],0 [APFEE],[CORPID],'' [CTNALL],0[GOODSTHICKNESS],0[GOODSWIDTH] ");
|
|
|
strSqlWI.Append(" ,0[GOODSLENGTH],0[GOODSSLICE],''[GOODSGRADE],''[STACKLOCATION] ");
|
|
|
strSqlWI.Append(" ,"+head.GOODSPACKPFSL+" [GOODSPACKACTUAL],"+head.GOODSPFSL+" [GOODSRKSLACTUAL],[ISCHANGE] ");
|
|
|
strSqlWI.Append(" ,0 [MARKETVALUE],0 [BANKVALUE],0[LINENUM] FROM [wms] where gid='"+WMSGID+"'");
|
|
|
|
|
|
Database db2 = DatabaseFactory.CreateDatabase();
|
|
|
_count = db2.ExecuteNonQuery(CommandType.Text, strSqlWI.ToString());
|
|
|
}
|
|
|
|
|
|
var result = new Resultmb();
|
|
|
result.Success = true;
|
|
|
result.Message = "生成WMS成功";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 给一个入库单修改开始计费日期
|
|
|
static public int SetNewWMSBillingDate(string WMSGID, string WMSDATE, string STARTBILLINGDATE, string STARTBILLINGDATEAP, string USERID, string USERNAME)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var _r = 0;
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
var cmdUpdate = db.GetSqlStringCommand(@"UPDATE WMS SET WMSDATE='" + WMSDATE
|
|
|
+ "',STARTBILLINGDATE='" + STARTBILLINGDATE
|
|
|
+ "',STARTBILLINGDATEAP='" + STARTBILLINGDATEAP + "' WHERE GID=@GID ");
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, WMSGID);
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
}
|
|
|
catch {
|
|
|
_r++;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
conn.Close();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//将其下属的出库单明细内的开始计费日期也修改掉
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
var cmdUpdate = db.GetSqlStringCommand(@"UPDATE WMS_OUT_DETAIL SET OLDCUSTFEEDATE='" + STARTBILLINGDATE
|
|
|
+ "',STARTBILLINGDATE='" + STARTBILLINGDATE
|
|
|
+ "',STARTBILLINGDATEAP='" + STARTBILLINGDATEAP + "' WHERE INBSNO=@INBSNO ");
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUpdate, "@INBSNO", DbType.String, WMSGID);
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
}
|
|
|
catch {
|
|
|
_r++;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
conn.Close();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return _r;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
static public SetFeeresult SetFee(SqlTransaction sqlTran, string strSTARTBILLINGDATE, string strOLDCUSTFEEDATE, string strINBSNO
|
|
|
, string strCUSTOMERNAME, Decimal outnums, string strASSOCIATEDNO, int strFEETYPE
|
|
|
, string strUserID, string strShowName, string sBillno, bool ck_jsfee, bool isKuCun)
|
|
|
{
|
|
|
|
|
|
string getstr = getWmsRate(sqlTran, strSTARTBILLINGDATE, strOLDCUSTFEEDATE, strINBSNO
|
|
|
, strCUSTOMERNAME, outnums, strASSOCIATEDNO, strFEETYPE
|
|
|
, strUserID, strShowName, sBillno, ck_jsfee, isKuCun);
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
//sqlTran.Commit();
|
|
|
SetFeeresult sf = new SetFeeresult();
|
|
|
sf.sumfee = strls[0].ToString();
|
|
|
sf.feedays = strls[1].ToString();
|
|
|
return sf;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费
|
|
|
/// <summary>
|
|
|
/// 计算仓储费
|
|
|
/// </summary>
|
|
|
/// <param name="sqlTran">事务</param>
|
|
|
/// <param name="strSTARTBILLINGDATE">开始计费日期</param>
|
|
|
/// <param name="strOLDCUSTFEEDATE">上家承担仓储期限</param>
|
|
|
/// <param name="strINBSNO">出库明细关联的入库单wms或wms_in的BSNO</param>
|
|
|
/// <param name="strCUSTOMERNAME">出库主表的客户名称</param>
|
|
|
/// <param name="outnums">出库量</param>
|
|
|
/// <param name="strASSOCIATEDNO">关联wms_out_detail的GID</param>
|
|
|
/// <param name="strFEETYPE">区别费用收、付类型</param>
|
|
|
/// <param name="strUserID">登陆用户GID</param>
|
|
|
/// <param name="strShowName">登陆用户名</param>
|
|
|
/// <param name="sBillno">出库单号或其他单据号</param>
|
|
|
/// <param name="ck_jsfee">是否计算仓储费</param>
|
|
|
/// <returns></returns>
|
|
|
static public String getWmsRate(SqlTransaction sqlTran, string strSTARTBILLINGDATE, string strOLDCUSTFEEDATE, string strINBSNO, string strCUSTOMERNAME,
|
|
|
Decimal outnums, string strASSOCIATEDNO, int strFEETYPE, string strUserID, string strShowName, string sBillno, bool ck_jsfee, bool isKuCun)
|
|
|
{
|
|
|
string sR = "";
|
|
|
int iState = 0;
|
|
|
int result = 0;
|
|
|
string Sqlstr = "";
|
|
|
|
|
|
#region 计算仓储费
|
|
|
WmsOutDetailDA WmsOutDetailDA = new EntityDA.WmsOutDetailDA();
|
|
|
IList<WmsRateDetailEntity> tempWmsRateDetailEntities = new List<WmsRateDetailEntity>();
|
|
|
int totalfeedays = 0;//总计费区间仓储天数
|
|
|
int feedays = 0;//区间仓储数
|
|
|
int prescale = 0;//总计费区间仓储数
|
|
|
int feeMonth = 0;//区间仓储月数
|
|
|
Decimal sumfee = 0;//总仓储费
|
|
|
string strSTARTBILLINGDATE2 = strSTARTBILLINGDATE;//按区间计费的开始计费日期
|
|
|
|
|
|
#region 删除费率出库明细表的区间仓储费
|
|
|
Sqlstr = "delete from wms_rate_detail where ASSOCIATEDNO = '" + strASSOCIATEDNO.Trim() + "' and FEETYPE=" + strFEETYPE;
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
if (iState < 0)
|
|
|
{
|
|
|
sqlTran.Rollback();
|
|
|
result = -9;
|
|
|
//Clearh();
|
|
|
return result.ToString();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (ck_jsfee)//是否计算仓储费
|
|
|
{
|
|
|
#region 如果入库有免仓储期,则出库时插入费率出库明细表
|
|
|
//按仓储费率计算仓储费
|
|
|
Sqlstr = "SELECT top 1 * FROM wms where GID='" + strINBSNO + "' or gid in (select ASSOCIATEDNO from wms_in where gid='" + strINBSNO + "')";
|
|
|
DataSet dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
if (dsrate != null)
|
|
|
{
|
|
|
if (dsrate.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
string sAP = dsrate.Tables[0].Rows[0]["FREESTORAGEPERIOD"].ToString().Trim();
|
|
|
if (strFEETYPE == 2)
|
|
|
{
|
|
|
sAP = dsrate.Tables[0].Rows[0]["FREESTORAGEPERIODAP"].ToString().Trim();
|
|
|
}
|
|
|
if (sAP != "0")
|
|
|
{
|
|
|
WmsRateDetailEntity model3 = new WmsRateDetailEntity();
|
|
|
model3.FEEPRICE = 0;
|
|
|
model3.GOODSPFSL = outnums;
|
|
|
model3.OUTFEE = 0;
|
|
|
model3.FEEUNIT = dsrate.Tables[0].Rows[0]["CHARGEUNIT"].ToString().Trim() + "天";
|
|
|
model3.STARTBILLINGDATE = DateTime.Parse(dsrate.Tables[0].Rows[0]["WMSDATE"].ToString().Trim());
|
|
|
DateTime dt = DateTime.Parse(dsrate.Tables[0].Rows[0]["STARTBILLINGDATE"].ToString().Trim()).AddDays(-1);
|
|
|
if (DateTime.Parse(strOLDCUSTFEEDATE) < dt)
|
|
|
{
|
|
|
dt = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
}
|
|
|
model3.ENDBILLINGDATE = dt;
|
|
|
model3.FEESCALE = int.Parse(WmsOutDetailDA.GetDaysCount("day", model3.STARTBILLINGDATE.ToString().Trim(), dt.ToString().Trim()).ToString());
|
|
|
model3.FEEGRADE = 0;
|
|
|
model3.REMARK = "";
|
|
|
model3.CREATEUSER = strUserID;
|
|
|
model3.MODIFIEDUSER = strUserID;
|
|
|
model3.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model3.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model3.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model3);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
feedays = WmsOutDetailDA.GetDaysCount("day", strSTARTBILLINGDATE, strOLDCUSTFEEDATE.Trim());//WmsOutEntity.DODATE.ToString() 出库-开始计费日期+1
|
|
|
if (feedays > 0)
|
|
|
{
|
|
|
totalfeedays = feedays;
|
|
|
//按仓储费率计算仓储费
|
|
|
Sqlstr = "SELECT GID,FEEGRADE,FEETYPE,FEESCALE,FEEPRICE,ADDPRICE,FEEUNIT,convert(char(10),ENDBILLINGDATE,20) AS ENDBILLINGDATE,REMARK,CREATEUSER,CREATETIME,BSNO,CAPPRICE FROM wms_rate where (BSNO='" + strINBSNO + "' or BSNO in (select ASSOCIATEDNO from wms_in where gid='" + strINBSNO + "')) and FEETYPE=" + strFEETYPE + " order by FEEGRADE ";
|
|
|
dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
if (dsrate != null)
|
|
|
{
|
|
|
if (dsrate.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
int nowscale = 0;//区间计费区间(仓储月数/天数)
|
|
|
Decimal price = 0;//计费单价
|
|
|
Decimal gradefee = 0;//区间仓储费
|
|
|
int nowgrade = 1;
|
|
|
|
|
|
for (int i = 0; i < dsrate.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
if (isKuCun)
|
|
|
{
|
|
|
if (DateTime.Parse(strSTARTBILLINGDATE) > DateTime.Parse(dsrate.Tables[0].Rows[i]["ENDBILLINGDATE"].ToString()))
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
WmsRateDetailEntity model = new WmsRateDetailEntity();
|
|
|
//nowgrade = int.Parse(dsrate.Tables[0].Rows[i]["FEEGRADE"].ToString());//计费等级
|
|
|
nowscale = int.Parse(dsrate.Tables[0].Rows[i]["FEESCALE"].ToString());//计费区间
|
|
|
price = Decimal.Parse(dsrate.Tables[0].Rows[i]["FEEPRICE"].ToString());//计费单价
|
|
|
Decimal ADDPRICE = Decimal.Parse(dsrate.Tables[0].Rows[i]["ADDPRICE"].ToString());//增值价
|
|
|
Decimal CAPPRICE = Decimal.Parse(dsrate.Tables[0].Rows[i]["CAPPRICE"].ToString());//
|
|
|
string FEEUNIT = dsrate.Tables[0].Rows[i]["FEEUNIT"].ToString();//计费单位
|
|
|
string ENDBILLINGDATE = dsrate.Tables[0].Rows[i]["ENDBILLINGDATE"].ToString();//结束计费日期
|
|
|
//计算区间是按天或按月
|
|
|
string DorM = "day";
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
DorM = "month";
|
|
|
}
|
|
|
#region 按区间计算仓储费
|
|
|
feedays = WmsOutDetailDA.GetDaysCount(DorM, strSTARTBILLINGDATE2, strOLDCUSTFEEDATE.Trim());//总仓储月数
|
|
|
if (feedays > nowscale) //总仓储月数/天数 > 计费区间
|
|
|
{
|
|
|
feeMonth = WmsOutDetailDA.GetDaysCount(DorM, strSTARTBILLINGDATE2, ENDBILLINGDATE.Trim());//i区间仓储月数
|
|
|
if (feeMonth > nowscale)//i区间仓储月数 > 区间计费区间(仓储月数/天数)
|
|
|
{
|
|
|
int sjMonth = 0;//实际仓储月数
|
|
|
int sjMonth2 = 0;//实际仓储月数,如果是最后一条的判断数
|
|
|
if (feedays > feeMonth)//总仓储月数 > i区间仓储月数
|
|
|
{
|
|
|
sjMonth = nowscale;// feeMonth;// (feeMonth - nowscale);//实际仓储月数
|
|
|
sjMonth2 = feeMonth;//实际仓储月数,如果是最后一条的判断数
|
|
|
if ((i + 1) == dsrate.Tables[0].Rows.Count)//即最后一条时,以后的时间都按最后一条取值
|
|
|
{
|
|
|
if (ADDPRICE <= 0)//增值价>0,则求增值费率
|
|
|
{
|
|
|
sjMonth = feedays;//(feedays - nowscale);//实际仓储月数
|
|
|
ENDBILLINGDATE = strOLDCUSTFEEDATE;
|
|
|
}
|
|
|
sjMonth2 = feedays;// (feedays - nowscale);//实际仓储月数
|
|
|
}
|
|
|
}
|
|
|
else//总仓储月数 <= i区间仓储月数
|
|
|
{
|
|
|
sjMonth = feedays;//(feedays - nowscale);//实际仓储月数
|
|
|
sjMonth2 = nowscale;//(feedays - nowscale);//实际仓储月数
|
|
|
ENDBILLINGDATE = strOLDCUSTFEEDATE;
|
|
|
}
|
|
|
//
|
|
|
#region 增值价>0,则求增值费率
|
|
|
if (ADDPRICE > 0)//增值价>0,则求增值费率
|
|
|
{
|
|
|
//int idiv = (int)(sjMonth / nowscale);
|
|
|
//int imod = (int)(sjMonth % nowscale);
|
|
|
int idiv = (int)(sjMonth / nowscale);
|
|
|
int imod = (int)(sjMonth % nowscale);
|
|
|
Decimal dprice = price;//计费单价
|
|
|
for (int j = 0; j < idiv; j++)//循环求增值费率
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddDays(nowscale - 1);
|
|
|
int dtDays = sjMonth2;// nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddMonths(nowscale).AddDays(-1);
|
|
|
if (dtENDBILLINGDATE > DateTime.Parse(ENDBILLINGDATE))//strOLDCUSTFEEDATE
|
|
|
{
|
|
|
if ((i + 1) == dsrate.Tables[0].Rows.Count && dtENDBILLINGDATE > DateTime.Parse(strOLDCUSTFEEDATE))//即最后一条时,以后的时间都按最后一条取值
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);//strOLDCUSTFEEDATE
|
|
|
}
|
|
|
}
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
gradefee = outnums * dprice * dtDays;// nowscale;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//nowscale;//累计天数
|
|
|
//
|
|
|
WmsRateDetailEntity model1 = new WmsRateDetailEntity();
|
|
|
model1.FEEPRICE = dprice;
|
|
|
model1.GOODSPFSL = outnums;
|
|
|
model1.FEESCALE = dtDays;// nowscale;
|
|
|
model1.OUTFEE = gradefee;
|
|
|
model1.FEEUNIT = FEEUNIT2;
|
|
|
model1.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model1.ENDBILLINGDATE = dtENDBILLINGDATE;
|
|
|
//model1.ENDBILLINGDATE = model1.STARTBILLINGDATE.AddDays(nowscale - 1);
|
|
|
//if (FEEUNIT.IndexOf("月") > -1)
|
|
|
//{
|
|
|
// DateTime dt = model1.STARTBILLINGDATE.AddMonths(nowscale).AddDays(-1);
|
|
|
// model1.ENDBILLINGDATE = dt;
|
|
|
// if (dt > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
// {
|
|
|
// model1.ENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
// }
|
|
|
//}
|
|
|
model1.FEEGRADE = nowgrade;
|
|
|
model1.REMARK = "";
|
|
|
model1.CREATEUSER = strUserID;
|
|
|
model1.MODIFIEDUSER = strUserID;
|
|
|
model1.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model1.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model1.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model1);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
if (CAPPRICE != 0)
|
|
|
{
|
|
|
if (dprice < CAPPRICE)
|
|
|
{
|
|
|
dprice += ADDPRICE;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dprice = CAPPRICE;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dprice += ADDPRICE;
|
|
|
}
|
|
|
strSTARTBILLINGDATE2 = (model1.ENDBILLINGDATE.AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
//
|
|
|
if (imod > 0)//增值费率余数大于0,则实际仓储月份等于imod
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddDays(imod - 1);
|
|
|
int dtDays = imod;// nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddMonths(imod).AddDays(-1);
|
|
|
if (dtENDBILLINGDATE > DateTime.Parse(ENDBILLINGDATE))//strOLDCUSTFEEDATE
|
|
|
{
|
|
|
if ((i + 1) == dsrate.Tables[0].Rows.Count && dtENDBILLINGDATE > DateTime.Parse(strOLDCUSTFEEDATE))//即最后一条时,以后的时间都按最后一条取值
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);//strOLDCUSTFEEDATE
|
|
|
}
|
|
|
}
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
//dprice += ADDPRICE;
|
|
|
gradefee = outnums * dprice * dtDays;// imod;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//imod;//累计天数
|
|
|
//
|
|
|
model.FEEPRICE = dprice;
|
|
|
model.GOODSPFSL = outnums;
|
|
|
model.FEESCALE = dtDays;//imod;
|
|
|
model.OUTFEE = gradefee;
|
|
|
model.FEEUNIT = FEEUNIT2;
|
|
|
model.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model.ENDBILLINGDATE = dtENDBILLINGDATE;
|
|
|
//model.ENDBILLINGDATE = model.STARTBILLINGDATE.AddDays(imod - 1);
|
|
|
//if (FEEUNIT.IndexOf("月") > -1)
|
|
|
//{
|
|
|
// DateTime dt = model.STARTBILLINGDATE.AddMonths(imod).AddDays(-1);
|
|
|
// model.ENDBILLINGDATE = dt;
|
|
|
// if (dt > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
// {
|
|
|
// model.ENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
// }
|
|
|
//}
|
|
|
model.FEEGRADE = nowgrade;
|
|
|
model.REMARK = "";
|
|
|
model.CREATEUSER = strUserID;
|
|
|
model.MODIFIEDUSER = strUserID;
|
|
|
model.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
strSTARTBILLINGDATE2 = (model.ENDBILLINGDATE.AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);
|
|
|
int dtDays = sjMonth;// nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
gradefee = outnums * price * dtDays;// sjMonth;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//sjMonth;//累计天数
|
|
|
//
|
|
|
model.FEEPRICE = price;
|
|
|
model.GOODSPFSL = outnums;
|
|
|
model.FEESCALE = dtDays;//sjMonth;
|
|
|
model.OUTFEE = gradefee;
|
|
|
model.FEEUNIT = FEEUNIT2;
|
|
|
model.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model.ENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);
|
|
|
model.FEEGRADE = nowgrade;
|
|
|
model.REMARK = "";
|
|
|
model.CREATEUSER = strUserID;
|
|
|
model.MODIFIEDUSER = strUserID;
|
|
|
model.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
strSTARTBILLINGDATE2 = (DateTime.Parse(ENDBILLINGDATE).AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
#endregion
|
|
|
//结束费率区间的循环
|
|
|
if (feedays <= feeMonth)//总仓储月数 <= i区间仓储月数
|
|
|
{
|
|
|
break;//结束费率区间的循环
|
|
|
}
|
|
|
}
|
|
|
else//i区间仓储月数 <= 区间计费区间(仓储月数/天数)
|
|
|
{
|
|
|
int sjMonth = 0;//实际仓储月数
|
|
|
int sjMonth2 = 0;//实际仓储月数,如果是最后一条的判断数
|
|
|
if (feedays > feeMonth)//总仓储月数 > i区间仓储月数
|
|
|
{
|
|
|
sjMonth = feeMonth;//实际仓储月数
|
|
|
sjMonth2 = feeMonth;//实际仓储月数,如果是最后一条的判断数
|
|
|
if ((i + 1) == dsrate.Tables[0].Rows.Count)//即最后一条时,以后的时间都按最后一条取值
|
|
|
{
|
|
|
if (ADDPRICE <= 0)//增值价>0,则求增值费率
|
|
|
{
|
|
|
sjMonth = feedays;// (feedays - nowscale);//实际仓储月数
|
|
|
ENDBILLINGDATE = strOLDCUSTFEEDATE;
|
|
|
}
|
|
|
sjMonth2 = feedays;// (feedays - nowscale);//实际仓储月数,如果是最后一条的判断数
|
|
|
}
|
|
|
}
|
|
|
else//总仓储月数 <= i区间仓储月数
|
|
|
{
|
|
|
sjMonth = feedays;//(feedays - nowscale);//实际仓储月数
|
|
|
ENDBILLINGDATE = strOLDCUSTFEEDATE;
|
|
|
}
|
|
|
//
|
|
|
#region 增值价>0,则求增值费率
|
|
|
if (ADDPRICE > 0)//增值价>0,则求增值费率
|
|
|
{
|
|
|
//int idiv = (int)(sjMonth / nowscale);
|
|
|
//int imod = (int)(sjMonth % nowscale);
|
|
|
int idiv = (int)(sjMonth2 / nowscale);
|
|
|
int imod = (int)(sjMonth2 % nowscale);
|
|
|
Decimal dprice = price;//计费单价
|
|
|
for (int j = 0; j < idiv; j++)//循环求增值费率
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddDays(nowscale - 1);
|
|
|
int dtDays = sjMonth;// nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddMonths(nowscale).AddDays(-1);
|
|
|
if (dtENDBILLINGDATE > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
}
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
gradefee = outnums * dprice * dtDays;// nowscale;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//nowscale;//累计天数
|
|
|
//
|
|
|
WmsRateDetailEntity model1 = new WmsRateDetailEntity();
|
|
|
model1.FEEPRICE = dprice;
|
|
|
model1.GOODSPFSL = outnums;
|
|
|
model1.FEESCALE = dtDays;//nowscale;
|
|
|
model1.OUTFEE = gradefee;
|
|
|
model1.FEEUNIT = FEEUNIT2;
|
|
|
model1.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model1.ENDBILLINGDATE = dtENDBILLINGDATE;
|
|
|
//model1.ENDBILLINGDATE = model1.STARTBILLINGDATE.AddDays(nowscale - 1);
|
|
|
//if (FEEUNIT.IndexOf("月") > -1)
|
|
|
//{
|
|
|
// DateTime dt = model1.STARTBILLINGDATE.AddMonths(nowscale).AddDays(-1);
|
|
|
// model1.ENDBILLINGDATE = dt;
|
|
|
// if (dt > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
// {
|
|
|
// model1.ENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
// }
|
|
|
//}
|
|
|
model1.FEEGRADE = nowgrade;
|
|
|
model1.REMARK = "";
|
|
|
model1.CREATEUSER = strUserID;
|
|
|
model1.MODIFIEDUSER = strUserID;
|
|
|
model1.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model1.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model1.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model1);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
if (CAPPRICE != 0)
|
|
|
{
|
|
|
if (dprice < CAPPRICE)
|
|
|
{
|
|
|
dprice += ADDPRICE;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dprice = CAPPRICE;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dprice += ADDPRICE;
|
|
|
}
|
|
|
strSTARTBILLINGDATE2 = (model1.ENDBILLINGDATE.AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
//
|
|
|
if (imod > 0)//增值费率余数大于0,则实际仓储月份等于imod
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddDays(imod - 1);
|
|
|
int dtDays = imod;// nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
dtENDBILLINGDATE = dtSTARTBILLINGDATE.AddMonths(imod).AddDays(-1);
|
|
|
if (dtENDBILLINGDATE > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
{
|
|
|
dtENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
}
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
//dprice += ADDPRICE;
|
|
|
gradefee = outnums * dprice * dtDays;// imod;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//imod;//累计天数
|
|
|
//
|
|
|
model.FEEPRICE = dprice;
|
|
|
model.GOODSPFSL = outnums;
|
|
|
model.FEESCALE = dtDays;//imod;
|
|
|
model.OUTFEE = gradefee;
|
|
|
model.FEEUNIT = FEEUNIT2;
|
|
|
model.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model.ENDBILLINGDATE = dtENDBILLINGDATE;
|
|
|
//model.ENDBILLINGDATE = model.STARTBILLINGDATE.AddDays(imod - 1);
|
|
|
//if (FEEUNIT.IndexOf("月") > -1)
|
|
|
//{
|
|
|
// DateTime dt = model.STARTBILLINGDATE.AddMonths(imod).AddDays(-1);
|
|
|
// model.ENDBILLINGDATE = dt;
|
|
|
// if (dt > DateTime.Parse(strOLDCUSTFEEDATE))
|
|
|
// {
|
|
|
// model.ENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
// }
|
|
|
//}
|
|
|
model.FEEGRADE = nowgrade;
|
|
|
model.REMARK = "";
|
|
|
model.CREATEUSER = strUserID;
|
|
|
model.MODIFIEDUSER = strUserID;
|
|
|
model.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
strSTARTBILLINGDATE2 = (model.ENDBILLINGDATE.AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);
|
|
|
int dtDays = sjMonth;//nowscale;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
gradefee = outnums * price * dtDays;//sjMonth;//出库量*计费单价*实际仓储月数
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//sjMonth;//累计天数
|
|
|
//
|
|
|
model.FEEPRICE = price;
|
|
|
model.GOODSPFSL = outnums;
|
|
|
model.FEESCALE = dtDays;//sjMonth;
|
|
|
model.OUTFEE = gradefee;
|
|
|
model.FEEUNIT = FEEUNIT2;
|
|
|
model.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model.ENDBILLINGDATE = DateTime.Parse(ENDBILLINGDATE);
|
|
|
model.FEEGRADE = nowgrade;
|
|
|
model.REMARK = "";
|
|
|
model.CREATEUSER = strUserID;
|
|
|
model.MODIFIEDUSER = strUserID;
|
|
|
model.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
strSTARTBILLINGDATE2 = (DateTime.Parse(ENDBILLINGDATE).AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
}
|
|
|
#endregion
|
|
|
//结束费率区间的循环
|
|
|
if (feedays <= feeMonth)//总仓储月数 <= i区间仓储月数
|
|
|
{
|
|
|
break;//结束费率区间的循环
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else//总仓储天数 <= 计费区间天数
|
|
|
{
|
|
|
//--- BEGIN --- 如果是月则计算开始和结束日期之间的天数
|
|
|
DateTime dtSTARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
DateTime dtENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
int dtDays = feedays;
|
|
|
|
|
|
string FEEUNIT2 = FEEUNIT;
|
|
|
if (FEEUNIT.IndexOf("月") > -1)
|
|
|
{
|
|
|
FEEUNIT2 = FEEUNIT.Trim().Substring(0, 1) + "天";
|
|
|
dtDays = WmsOutDetailDA.GetDaysCount("day", dtSTARTBILLINGDATE.ToString().Trim(), dtENDBILLINGDATE.ToString().Trim());//按月的区间天数
|
|
|
}
|
|
|
//--- END ---
|
|
|
|
|
|
gradefee = outnums * price * dtDays;//feedays;//出库量*计费单价*仓储区间(//仓储天数-上一个计费区间(0))
|
|
|
sumfee += gradefee;
|
|
|
prescale += dtDays;//feedays;//累计天数
|
|
|
//
|
|
|
model.FEEPRICE = price;
|
|
|
model.GOODSPFSL = outnums;
|
|
|
model.FEESCALE = dtDays;//feedays;
|
|
|
model.OUTFEE = gradefee;
|
|
|
model.FEEUNIT = FEEUNIT2;
|
|
|
model.STARTBILLINGDATE = DateTime.Parse(strSTARTBILLINGDATE2);
|
|
|
model.ENDBILLINGDATE = DateTime.Parse(strOLDCUSTFEEDATE);
|
|
|
model.FEEGRADE = nowgrade;
|
|
|
model.REMARK = "";
|
|
|
model.CREATEUSER = strUserID;
|
|
|
model.MODIFIEDUSER = strUserID;
|
|
|
model.ASSOCIATEDNO = strASSOCIATEDNO;
|
|
|
model.CUSTOMERNAME = strCUSTOMERNAME;
|
|
|
model.FEETYPE = strFEETYPE;
|
|
|
tempWmsRateDetailEntities.Add(model);
|
|
|
//
|
|
|
nowgrade++;
|
|
|
strSTARTBILLINGDATE2 = (DateTime.Parse(strOLDCUSTFEEDATE).AddDays(1)).ToString();//按区间计费的开始计费日期
|
|
|
break;//结束费率区间的循环
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//仓储费率没有设定
|
|
|
//sqlTran.Rollback();
|
|
|
//result = -2;
|
|
|
//Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", "<script>alert('仓储费率没有设置');</script>");
|
|
|
//Clearh();
|
|
|
//return result;
|
|
|
|
|
|
totalfeedays = 0;
|
|
|
feedays = 0;
|
|
|
sumfee = 0;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
totalfeedays = 0;
|
|
|
feedays = 0;
|
|
|
sumfee = 0;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
totalfeedays = 0;
|
|
|
feedays = 0;
|
|
|
sumfee = 0;
|
|
|
}
|
|
|
//
|
|
|
#region 按区间计算仓储费,插入费率出库明细表
|
|
|
if (tempWmsRateDetailEntities != null)//是否有要入库的仓储费
|
|
|
{
|
|
|
if (tempWmsRateDetailEntities.Count > 0)
|
|
|
{
|
|
|
foreach (WmsRateDetailEntity model2 in tempWmsRateDetailEntities)
|
|
|
{
|
|
|
Sqlstr = String.Format("insert into wms_rate_detail(GID,FEEPRICE,GOODSPFSL,OUTFEE,REMARK,CREATEUSER,CREATETIME,ASSOCIATEDNO,CUSTOMERNAME,FEETYPE,FEEGRADE,STARTBILLINGDATE,ENDBILLINGDATE,FEESCALE,FEEUNIT,MODIFIEDUSER)"
|
|
|
+ " values(newid(),'{0}','{1}','{2}','{3}','{4}',getdate(),'{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}')"
|
|
|
, model2.FEEPRICE, model2.GOODSPFSL, model2.OUTFEE, model2.REMARK, model2.CREATEUSER, model2.ASSOCIATEDNO, model2.CUSTOMERNAME, model2.FEETYPE, model2.FEEGRADE, model2.STARTBILLINGDATE, model2.ENDBILLINGDATE, model2.FEESCALE, model2.FEEUNIT, model2.MODIFIEDUSER);
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
if (iState != 1)
|
|
|
{
|
|
|
sqlTran.Rollback();
|
|
|
result = -1;
|
|
|
//Clearh();
|
|
|
return result.ToString();
|
|
|
}
|
|
|
//
|
|
|
string str0 = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('添加出库明细的费率明细信息','INSERT 插入操作','" + strShowName + " 添加 费率明细信息 出库单号:" + sBillno.Trim() + "','" + model2.MODIFIEDUSER.ToString() + "')";
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, str0, null);
|
|
|
if (iState != 1)
|
|
|
{
|
|
|
sqlTran.Rollback();
|
|
|
result = -1;
|
|
|
//Clearh();
|
|
|
return result.ToString();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
tempWmsRateDetailEntities = null;
|
|
|
totalfeedays = 0;
|
|
|
feedays = 0;
|
|
|
sumfee = 0;
|
|
|
}
|
|
|
#endregion
|
|
|
sR = sumfee.ToString() + "," + totalfeedays.ToString();
|
|
|
return sR;
|
|
|
}
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 参照部分
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出入库明细表
|
|
|
|
|
|
static public List<WMSDetailmb> GetDetailList ( string strCondition, string sort )
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select v.* from VW_WMS_DETAIL V ");
|
|
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by v.MODIFIEDTIME ");
|
|
|
}
|
|
|
return SetDetailData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<WMSDetailmb> SetDetailData ( StringBuilder strSql )
|
|
|
{
|
|
|
var headList = new List<WMSDetailmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSDetailmb data = new WMSDetailmb();
|
|
|
#region Set DB data to Object
|
|
|
data.NID = Convert.ToString(reader["NID"]);
|
|
|
data.BLNO = Convert.ToString(reader["BLNO"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.WMSNO = Convert.ToString(reader["WMSNO"]);
|
|
|
data.OUTBSNO_OUT = Convert.ToString(reader["OUTBSNO_OUT"]);
|
|
|
data.BSNO_OUT = Convert.ToString(reader["BSNO_OUT"]);
|
|
|
data.WMSDATE = Convert.ToString(reader["WMSDATE"]);
|
|
|
data.DODATE_OUT = Convert.ToString(reader["DODATE_OUT"]);
|
|
|
data.GOODSRKSL = Convert.ToString(reader["GOODSRKSL"]);
|
|
|
data.GOODSRKSLACTUAL = Convert.ToString(reader["GOODSRKSLACTUAL"]);
|
|
|
data.GOODSPFSL_OUT = Convert.ToString(reader["GOODSPFSL_OUT"]);
|
|
|
data.GOODSSTOCK = Convert.ToString(reader["GOODSSTOCK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSOUTFEE_OUT = Convert.ToString(reader["GOODSOUTFEE_OUT"]);
|
|
|
data.GOODSOUTFEEAP_OUT = Convert.ToString(reader["GOODSOUTFEEAP_OUT"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.ARFEE_OUT = Convert.ToString(reader["ARFEE_OUT"]);
|
|
|
data.APFEE_OUT = Convert.ToString(reader["APFEE_OUT"]);
|
|
|
data.FREESTORAGEPERIOD = Convert.ToString(reader["FREESTORAGEPERIOD"]);
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.TRUCKNO_OUT = Convert.ToString(reader["TRUCKNO_OUT"]);
|
|
|
data.REMARK_OUT = Convert.ToString(reader["REMARK_OUT"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.CREATEUSER_OUT = Convert.ToString(reader["CREATEUSER_OUT"]);
|
|
|
data.CREATETIME_OUT = Convert.ToString(reader["CREATETIME_OUT"]);
|
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出入库明细表_进口贸易
|
|
|
|
|
|
static public List<WMSImportDetailmb> GetDetailList_Import(string strCondition, string sort)
|
|
|
{ //库存信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select dbo.F_WMS_CNTRNO(v.gid) CNTRNO, v.* ");
|
|
|
strSql.Append(" ,M.Inspection_Storage,dbo.trimdate(M.inspection_date) inspection_date,dbo.trimdate(M.Unsealdate) Unsealdate ,M.Agent,dbo.F_ImportTrade_SealInfo(v.Cargo_gid) SALEINFO");
|
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=28 and EnumValueID=M.MainState) as MainStateRef ");
|
|
|
strSql.Append(" ,(select substring(country,0,(charindex('(',country)) ) from code_country where countryid=m.countryid) Country_Ref ");
|
|
|
strSql.Append(" ,(select CargoType from import_cargo where gid=v.cargo_gid) CargoType ");
|
|
|
strSql.Append(" ,dbo.F_PAYCOMPANY(M.contractno) PAYCOMPANY ,c.MOREORLESS,c.boxcount-c.boxcount_act MOREORLESSCOUNT ");
|
|
|
strSql.Append(" from VW_WMS_DETAIL_Import V ");
|
|
|
strSql.Append(" left join import_main M on M.contractno=V.ASSOCIATEDNO ");
|
|
|
strSql.Append(" left join import_cargo c on c.gid=V.cargo_gid ");
|
|
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));
|
|
|
}
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by v.MODIFIEDTIME ");
|
|
|
}
|
|
|
return SetImportDetailData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<WMSImportDetailmb> SetImportDetailData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<WMSImportDetailmb>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
WMSImportDetailmb data = new WMSImportDetailmb();
|
|
|
#region Set DB data to Object
|
|
|
data.NID = Convert.ToString(reader["NID"]);
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.BLNO = Convert.ToString(reader["BLNO"]);
|
|
|
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.STORAGENAME = Convert.ToString(reader["STORAGENAME"]);
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
data.GOODSSTANDARD = Convert.ToString(reader["GOODSSTANDARD"]);
|
|
|
data.GOODSMODEL = Convert.ToString(reader["GOODSMODEL"]);
|
|
|
data.WMSNO = Convert.ToString(reader["WMSNO"]);
|
|
|
data.OUTBSNO_OUT = Convert.ToString(reader["OUTBSNO_OUT"]);
|
|
|
data.BSNO_OUT = Convert.ToString(reader["BSNO_OUT"]);
|
|
|
data.WMSDATE = Convert.ToString(reader["WMSDATE"]);
|
|
|
data.DODATE_OUT = Convert.ToString(reader["DODATE_OUT"]);
|
|
|
data.GOODSRKSL = Convert.ToString(reader["GOODSRKSL"]);
|
|
|
data.GOODSRKSLACTUAL = Convert.ToString(reader["GOODSRKSLACTUAL"]);
|
|
|
data.GOODSPFSL_OUT = Convert.ToString(reader["GOODSPFSL_OUT"]);
|
|
|
data.GOODSSTOCK = Convert.ToString(reader["GOODSSTOCK"]);
|
|
|
data.CHARGEUNIT = Convert.ToString(reader["CHARGEUNIT"]);
|
|
|
data.GOODSOUTFEE_OUT = Convert.ToString(reader["GOODSOUTFEE_OUT"]);
|
|
|
data.GOODSOUTFEEAP_OUT = Convert.ToString(reader["GOODSOUTFEEAP_OUT"]);
|
|
|
data.ARFEE = Convert.ToString(reader["ARFEE"]);
|
|
|
data.APFEE = Convert.ToString(reader["APFEE"]);
|
|
|
data.ARFEE_OUT = Convert.ToString(reader["ARFEE_OUT"]);
|
|
|
data.APFEE_OUT = Convert.ToString(reader["APFEE_OUT"]);
|
|
|
data.FREESTORAGEPERIOD = Convert.ToString(reader["FREESTORAGEPERIOD"]);
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.GOODSPACK = Convert.ToString(reader["GOODSPACK"]);
|
|
|
data.TRUCKNO_OUT = Convert.ToString(reader["TRUCKNO_OUT"]);
|
|
|
data.REMARK_OUT = Convert.ToString(reader["REMARK_OUT"]);
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
data.CREATEUSER_OUT = Convert.ToString(reader["CREATEUSER_OUT"]);
|
|
|
data.CREATETIME_OUT = Convert.ToString(reader["CREATETIME_OUT"]);
|
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
|
|
|
|
|
|
data.ISLOCK = Convert.ToString(reader["ISLOCK"]);
|
|
|
data.COSTPRICE = Convert.ToString(reader["COSTPRICE"]);
|
|
|
data.COSTPRICE_EX = Convert.ToString(reader["COSTPRICE_EX"]);
|
|
|
|
|
|
data.LOCKTIME = Convert.ToString(reader["LOCKTIME"]);
|
|
|
data.LOCKUSER = Convert.ToString(reader["LOCKUSER"]);
|
|
|
|
|
|
data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]);
|
|
|
data.inspection_date = Convert.ToString(reader["inspection_date"]);
|
|
|
data.Unsealdate = Convert.ToString(reader["Unsealdate"]);
|
|
|
data.Agent = Convert.ToString(reader["Agent"]);
|
|
|
data.SALEINFO = Convert.ToString(reader["SALEINFO"]);
|
|
|
data.COSTCARGO = Convert.ToString(reader["COSTCARGO"]);
|
|
|
data.MainStateRef = Convert.ToString(reader["MainStateRef"]);
|
|
|
data.Country_Ref = Convert.ToString(reader["Country_Ref"]);
|
|
|
|
|
|
data.CargoType = Convert.ToString(reader["CargoType"]);
|
|
|
data.PAYCOMPANY = Convert.ToString(reader["PAYCOMPANY"]);
|
|
|
data.MOREORLESS = Convert.ToString(reader["MOREORLESS"]);
|
|
|
data.MOREORLESSCOUNT = Convert.ToString(reader["MOREORLESSCOUNT"]);
|
|
|
|
|
|
data.PUTINTYPE = Convert.ToString(reader["PUTINTYPE"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 查询是否有出库记录
|
|
|
|
|
|
public static int GetCargoOut(string WMSGID)
|
|
|
{ //合同信息/商品信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select count(*) [Count] from wms_out_detail where inbsno ='" + WMSGID + "' ");
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
_count = Convert.ToInt16(reader["Count"]);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return _count;
|
|
|
}
|
|
|
|
|
|
public static int GetLocked(string CARGO_GID)
|
|
|
{ //合同信息/商品信息
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select count(*) from wms where islock=1 where cargo_gid='" + CARGO_GID + "'");
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
_count = Convert.ToInt16(reader["Count"]);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return _count;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 入库锁定状态的提交审核驳回撤回
|
|
|
|
|
|
public static DBResult SubmitAudit ( String optype, String USERID, List<WMSmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var billno in billList)
|
|
|
{
|
|
|
Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, billno.GID, USERID);
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var _Comm = "";
|
|
|
if (WorkResult.islast == true)
|
|
|
{
|
|
|
_Comm = "update WMS set islock=1 where GID=@GID";//islock=1 锁定
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_Comm = "update WMS set islock=2 where GID=@GID";//islock=2 提交审核
|
|
|
}
|
|
|
var cmdupdate = db.GetSqlStringCommand(_Comm);
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno.GID);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "提交审核错误! " + WorkResult.Message;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "提交审核成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "提交审核错误,请联系系统管理员 "+e.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult CancelAudit ( String optype, String USERID, List<WMSmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
//var billList = bill.Split(',');
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var wms in billList)
|
|
|
{
|
|
|
var billno = wms.GID;
|
|
|
Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, billno, USERID);
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS set ISLOCK=0 where GID=@GID");
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "撤销提交错误!";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "撤销提交成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "撤销提交错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult Audit ( String USERID, List<WMSmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var _w in billList)
|
|
|
{
|
|
|
var billno = _w.GID;
|
|
|
|
|
|
Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo(WorkFlowName, billno, USERID);
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS set ISLOCK=1,LOCKUSER='" + USERID + "',LOCKTIME=getdate() where GID=@GID");
|
|
|
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "审核错误!";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "审核成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "审核错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditBack ( String USERID, List<WMSmb> billList, string reasean )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
|
|
|
//var billList = bill.Split(',');
|
|
|
var i = 0;
|
|
|
|
|
|
result.Success = true;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
/*
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into ch_fee_modify (GID,TYPE,APPLYTYPE,REASON,FEEID,BSNO,FEENAME,CUSTOMERNAME,UNIT,UNITPRICE,QUANTITY,
|
|
|
AMOUNT,CURRENCY,FRT,COMMISSIONRATE,EXCHANGERATE,ISADVANCEDPAY,APPLYUSER,APPLYTIME,
|
|
|
APPLYSTATUS,REMARK,GROUPID,TAXRATE,NOTAXAMOUNT,ACCTAXRATE,TAXUNITPRICE)
|
|
|
values (@GID,@TYPE,@APPLYTYPE,@REASON,@FEEID,@BSNO,@FEENAME,@CUSTOMERNAME,@UNIT,@UNITPRICE,@QUANTITY,
|
|
|
@AMOUNT,@CURRENCY,@FRT,@COMMISSIONRATE,@EXCHANGERATE,@ISADVANCEDPAY,@APPLYUSER,@APPLYTIME,
|
|
|
@APPLYSTATUS,@REMARK,@GROUPID,@TAXRATE,@NOTAXAMOUNT,@ACCTAXRATE,@TAXUNITPRICE) ");
|
|
|
*/
|
|
|
|
|
|
foreach (var bill in billList)
|
|
|
{
|
|
|
|
|
|
|
|
|
Resultmb WorkResult = WorkFlowDAL.DeleteWorkFlowDo(WorkFlowName, bill.GID, USERID, "");
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS set ISLOCK=6,LOCKUSER='',LOCKTIME='' where GID=@GID");
|
|
|
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
//var GROUPID = Guid.NewGuid().ToString();
|
|
|
|
|
|
//cmdInsert.Parameters.Clear();
|
|
|
//db.AddInParameter(cmdInsert, "@GID", DbType.String, GROUPID);
|
|
|
|
|
|
|
|
|
//db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
i = i + 1;
|
|
|
result.Success = WorkResult.Success;
|
|
|
result.Message = WorkResult.Message;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "驳回提交成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = true;
|
|
|
result.Message = "驳回完成,其中" + i.ToString() + "票驳回错误,错误信息" + result.Message;
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "驳回提交错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#region 出库锁定状态的提交审核驳回撤回
|
|
|
|
|
|
public static DBResult SubmitAudit_OUT ( String optype, String USERID, List<WMSOUTmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var billno in billList)
|
|
|
{
|
|
|
Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, billno.GID, USERID);
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var _Comm = "";
|
|
|
if (WorkResult.islast == true)
|
|
|
{
|
|
|
_Comm = "update WMS_Out set islock=1 where GID=@GID";//islock=1 锁定
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_Comm = "update WMS_Out set islock=2 where GID=@GID";//islock=2 提交审核
|
|
|
}
|
|
|
var cmdupdate = db.GetSqlStringCommand(_Comm);
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno.GID);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "提交审核错误! " + WorkResult.Message;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "提交审核成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "提交审核错误,请联系系统管理员 " + e.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult CancelAudit_OUT ( String optype, String USERID, List<WMSOUTmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
//var billList = bill.Split(',');
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var wms in billList)
|
|
|
{
|
|
|
var billno = wms.GID;
|
|
|
Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, billno, USERID);
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS_OUT set ISLOCK=0 where GID=@GID");
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "撤销提交错误!";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "撤销提交成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "撤销提交错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult Audit_OUT ( String USERID, List<WMSOUTmb> billList )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
foreach (var _w in billList)
|
|
|
{
|
|
|
var billno = _w.GID;
|
|
|
|
|
|
Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo(WorkFlowName, billno, USERID);
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS_OUT set ISLOCK=1,LOCKUSER='" + USERID + "',LOCKTIME=getdate() where GID=@GID");
|
|
|
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, billno);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "审核错误!";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "审核成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "审核错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditBack_OUT ( String USERID, List<WMSOUTmb> billList, string reasean )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
var WorkFlowName = "WMSLOCKAudit";
|
|
|
|
|
|
|
|
|
//var billList = bill.Split(',');
|
|
|
var i = 0;
|
|
|
|
|
|
result.Success = true;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
/*
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into ch_fee_modify (GID,TYPE,APPLYTYPE,REASON,FEEID,BSNO,FEENAME,CUSTOMERNAME,UNIT,UNITPRICE,QUANTITY,
|
|
|
AMOUNT,CURRENCY,FRT,COMMISSIONRATE,EXCHANGERATE,ISADVANCEDPAY,APPLYUSER,APPLYTIME,
|
|
|
APPLYSTATUS,REMARK,GROUPID,TAXRATE,NOTAXAMOUNT,ACCTAXRATE,TAXUNITPRICE)
|
|
|
values (@GID,@TYPE,@APPLYTYPE,@REASON,@FEEID,@BSNO,@FEENAME,@CUSTOMERNAME,@UNIT,@UNITPRICE,@QUANTITY,
|
|
|
@AMOUNT,@CURRENCY,@FRT,@COMMISSIONRATE,@EXCHANGERATE,@ISADVANCEDPAY,@APPLYUSER,@APPLYTIME,
|
|
|
@APPLYSTATUS,@REMARK,@GROUPID,@TAXRATE,@NOTAXAMOUNT,@ACCTAXRATE,@TAXUNITPRICE) ");
|
|
|
*/
|
|
|
|
|
|
foreach (var bill in billList)
|
|
|
{
|
|
|
|
|
|
|
|
|
Resultmb WorkResult = WorkFlowDAL.DeleteWorkFlowDo(WorkFlowName, bill.GID, USERID, "");
|
|
|
|
|
|
if (WorkResult.Success == true)
|
|
|
{
|
|
|
|
|
|
var cmdupdate = db.GetSqlStringCommand("update WMS_OUT set ISLOCK=6,LOCKUSER='',LOCKTIME='' where GID=@GID");
|
|
|
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
//var GROUPID = Guid.NewGuid().ToString();
|
|
|
|
|
|
//cmdInsert.Parameters.Clear();
|
|
|
//db.AddInParameter(cmdInsert, "@GID", DbType.String, GROUPID);
|
|
|
|
|
|
|
|
|
//db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
i = i + 1;
|
|
|
result.Success = WorkResult.Success;
|
|
|
result.Message = WorkResult.Message;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "驳回提交成功";
|
|
|
tran.Commit();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = true;
|
|
|
result.Message = "驳回完成,其中" + i.ToString() + "票驳回错误,错误信息" + result.Message;
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "驳回提交错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 进口贸易出库取消锁定时,删除费用;
|
|
|
static public int DelFee_ImportDelivery ( string DELIVERYNO )
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
strSql.Append(" delete from ch_fee where DELIVERYNO in(select gid from import_deliveryDetail where DELIVERYNO='" + DELIVERYNO + "') ");
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
return _count;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|