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

2674 lines
140 KiB
C#

This file contains ambiguous Unicode characters!

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

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using DSWeb.Models;
using DSWeb.EntityDA;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using WebSqlHelper;
using System.Data.SqlClient;
namespace DSWeb.SeaiInfoLCL
{
public partial class WmsRateLCLGridSource : System.Web.UI.Page
{
private string strRateGid;//费率GID
private string strHandle;//费用操作说明
private const int iResult = -99;//参数错误
private string strUserID;//用户GID
private string strCompanyID;//公司GID
private string strShowName;//用户显示名
private string strDeptName;//部门名称
private int iCurrentPage;//当前页数
private int iShowPage;//显示最大页数
private string strSearch;//委托信息查询条件
private string strCacheName;//Session 缓存名称
private string strbsno;
private string strwmsoutgid;
private string strcustomer;
private string strcustid;//客户gid
////private string strgidlist;//费率列表
private string stropseaibsno;
private string strwmsoutbsno;
private string strsum;
private string strnum;
private string strmode;
private decimal outnums = 0;
private int feedays = 0;
//附件信息
private string strtb = "";//
private string linkgid = "";//
//
public string strgids = "";
private const string PARM_FEE_GID = "@gid";
private const string PARM_FEEPROFIT_BSNO = "@bsno";//委托编号
private const string SQL_UPDATE_FEE_PROFIT_PRECENT = " UPDATE fee_gain SET PROFITRATE = A.PROFITRATE FROM ("
+ " SELECT BSNO,(CAST(CAST(CASE WHEN CRTTL = 0 THEN 0 ELSE (ROUND(TTLPROFIT/CRTTL,4))*100 END as decimal(18,2)) as varchar(20))+'%') as PROFITRATE FROM fee_gain WHERE BSNO = @bsno"
+ " )as A WHERE fee_gain.BSNO = A.BSNO";
private const string SQL_DELETE_FEE_BY_GID = "DELETE FROM ch_fee WHERE GID = @gid";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
protected void Page_Load(object sender, EventArgs e)
{
#region 参数处理
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString();
}
if (Session["SHOWNAME"] != null)
{
strShowName = Session["SHOWNAME"].ToString();
}
if (Session["COMPANYID"] != null)
{
strCompanyID = Session["COMPANYID"].ToString();
}
if (Session["DEPTNAME"] != null)
{
strDeptName = Session["DEPTNAME"].ToString();
}
if (Request.QueryString["handle"] != null)
{
strHandle = Request.QueryString["handle"].ToString();
}
if (Request.QueryString["bsno"] != null)
{
strbsno = Request.QueryString["bsno"].ToString();
}
if (Request.QueryString["tb"] != null)
{
strtb = Request.QueryString["tb"].ToString();
}
if (Request.QueryString["linkgid"] != null)
{
linkgid = Request.QueryString["linkgid"].ToString();
}
if (Request.QueryString["outnums"] != null)
{
outnums =decimal.Parse( Request.QueryString["outnums"].ToString());
}
if (Request.QueryString["feedays"] != null)
{
feedays =int.Parse( Request.QueryString["feedays"].ToString());
}
if (Request.QueryString["wmsoutgid"] != null)
{
strwmsoutgid = Request.QueryString["wmsoutgid"].ToString();
}
if (Request.QueryString["wmsoutbsno"] != null)
{
strwmsoutbsno = Request.QueryString["wmsoutbsno"].ToString();
}
if (Request.QueryString["opseaibsno"] != null)
{
stropseaibsno = Request.QueryString["opseaibsno"].ToString();
}
if (Request.QueryString["custid"] != null)
{
strcustid = Request.QueryString["custid"].ToString();
}
if (Request.QueryString["gid"] != null)
{
strRateGid = Request.QueryString["gid"].ToString();
}
if (Request.QueryString["cus"] != null)
{
UnicodeEncoding unicode = new UnicodeEncoding();
strcustomer = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["cus"].ToString())));
}
if (Request.QueryString["search"] != null)
{
UnicodeEncoding unicode = new UnicodeEncoding();
strSearch = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString())));
}
if (Request.QueryString["cur_page"] != null)
{
iCurrentPage = int.Parse(Request.QueryString["cur_page"].ToString().Trim());
}
else
{
iCurrentPage = 0;
}
if (Request.QueryString["show_page"] != null)
{
iShowPage = int.Parse(Request.QueryString["show_page"].ToString().Trim());
}
else
{
iShowPage = 0;
}
if (Request.QueryString["sum"] != null)
{
strsum = Request.QueryString["sum"].ToString();
}
if (Request.QueryString["num"] != null)
{
strnum = Request.QueryString["num"].ToString();
}
if (Request.QueryString["mode"] != null)
{
strmode = Request.QueryString["mode"].ToString();
}
if (Request.QueryString["gids"] != null && Request.QueryString["gids"].ToString().Trim() != "")
{
strgids = Request.QueryString["gids"].ToString().Trim();
}
if (strHandle != null)
{
if (strHandle == "getratelist" && strcustid != null && strcustid != "")
{ //根据INFO_CLIENT.GID返回VW_WmsRateList仓储费率列表信息JSON字符串
Response.Write(GetRateListJsonByCusID(strcustid));
return;
}
if (strHandle == "goodslist")
{ //获得货物信息
XmlDocument docs = GetDoc();
Response.ContentType = "text/xml";
Response.Write(docs.OuterXml.ToString());
return;
}
if (strHandle == "getratebycus" && strcustomer !=null && strcustomer != "")
{ //获得符合条件的费率信息
Response.Write(GetRateList("cus"));
return;
}
if (strHandle == "getratebysearch" && strSearch != null && strSearch != "")
{ //获得符合条件的费率信息
Response.Write(GetRateList("search"));
return;
}
if (strHandle == "deleterate" && strSearch !=null && strSearch != "")
{//DeleteWmsRateDtj
Response.Write(DeleteWmsRateDtj());
return;
}
if (strHandle == "deleterate" && strRateGid !=null && strRateGid != "")
{//DeleteWmsRateDtj
Response.Write(DeleteWmsRate(strRateGid));
return;
}
if (strHandle == "getrate" )
{//DeleteWmsRateDtj && strSearch !=null && strSearch != ""
Response.Write(GetRateBySearch(strbsno));
//string tmpjson = "{rows:[]}";
return;
}
if (strHandle == "wmsoutlist")
{//出库单列表
Response.Write(GetWmsOutListBySearch());
return;
}
if (strHandle == "wmsoutlistpage")
{//出库单列表
Response.Write(GetWmsOutLispagetBySearch());
return;
}
if (strHandle == "wmsinlist")
{//指定条件的入库单剩余库存信息
//if (strSearch == null || strSearch == "")
//{
// string tmpjson = "{rows:[]}";
// Response.Write(tmpjson);
// return;
//}
Response.Write(GetWmsInList());
return;
}
if (strHandle == "wmsoutdetaillist")
{//指定进口委托单位的出库明细 wmsoutdetaillist
Response.Write(Getwmsoutdetaillist());
}
//wmsfeecodelist
if (strHandle == "wmsfeecodelist")
{//指定进口委托单位的出库明细 wmsoutdetaillist
Response.Write(GetWmsFeeCodeList());
}
//deleteWmsFeeCode
if (strHandle == "deleteWmsFeeCode")
{//指定进口委托单位的出库明细 wmsoutdetaillist
Response.Write(DeleteWmsFeeCode(strRateGid));
}
if (strHandle == "deletewmsout")
{//
Response.Write(DeleteWmsOutByGid(strwmsoutgid));
}
if (strHandle == "WmsFeeQuery")
{//指定进口委托单位的出库明细 wmsoutdetaillist
Response.Write(GetWmsFeeQuery());
}
if (strHandle == "getWmsFeeAndFeeDays")
{ //返回计费天数和仓储费
Response.Write(getWmsFeeAndFeeDays(strbsno, outnums, feedays));
}
if (strHandle == "wmsoutexcel")
{ //返回导出excel的Sql语句
Response.Write(GetwmsoutexcelSql());
}
//
if (strHandle == "wmsoutlistexcel")
{ //返回导出excel的Sql语句
Response.Write(GetwmsoutlistexcelSql());
}
if (strHandle == "opseaifujian")
{ //获取附件信息
Response.Write(GetLogContent(iShowPage, iCurrentPage));
}
//
if (strHandle == "page")
{ //获取附件信息
Response.Write(GetPageInfo());
}
//
if (strHandle == "getfpk")
{ //获取附件信息
Response.Write(getfpk());
}
//
if (strHandle == "getfpk2")
{ //获取附件信息
Response.Write(getfpk2());
}
//
if (strHandle == "islock")
{ //入账信息
Response.Write(setislock());
}
if (strHandle == "notlock")
{ //取消入账信息
Response.Write(setnotlock());
}
if (strHandle == "getislock")
{ //判断是否入账信息
Response.Write(getislock());
}
if (strHandle == "getiswmsin")
{ //判断是否入账信息
Response.Write(getiswmsin());
}
}
#endregion
}
private string getiswmsin()
{
string sGids = "'" + strgids.Replace(",", "','") + "'";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
string strSQL = "select count(gid) nums from (SELECT o.GID,o.REMARK,o.bsno FROM wms AS i INNER JOIN wms_out AS o ON i.ASSOCIATEDNO = o.ASSOCIATEDNO AND o.GOODSPFSL = i.GOODSRKSL AND o.GOODSPACKPFSL = i.GOODSPACK AND o.ISCHANGE = 1 and o.ASSOCIATEDNO like 'topseailcl%') as a where gid in (" + sGids + ") or bsno in (" + sGids + ") ";//o.REMARK = '货权转移'
string ls = T_ALL_DA.GetStrSQL("nums", strSQL);
return ls;
}
private string getislock()
{
string sGids = "'" + strgids.Replace(",", "','") + "'";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
string ls = T_ALL_DA.GetStrSQL("nums", "select count(gid) nums from wms_out where ISLOCK=1 and (gid in (" + sGids + ") or bsno in (" + sGids + "))");
return ls;
}
private string setnotlock()
{
string sGids = "'" + strgids.Replace(",", "','") + "'";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
string ls = T_ALL_DA.GetStrSQL("nums", "select count(gid) nums from ch_fee where (bsno in (" + sGids + ") or WMSOUTBSNO in (" + sGids + ")) and (ISINVOICE=1 or AUDITSTATUS=1 or ORDERINVOICE<>0.00 or DEBITNO is not null or (FEESTATUS<>0 and FEESTATUS<>1))");
if (ls.Trim() == "0")
{
ls = T_ALL_DA.GetStrSQL("nums", "select count(gid) nums from ch_fee_do where feeid in (select gid nums from ch_fee where (bsno in (" + sGids + ") or WMSOUTBSNO in (" + sGids + ")))");
if (ls.Trim() == "0")
{
WmsOutDA WmsOutDA = new WmsOutDA();
int iResult = WmsOutDA.setnotlock2(strgids, strUserID);
if (iResult < 0)
{
return "操作有误,请重新操作!";
}
}
else
{
return "有“未申请开票、未开发票或未对帐”的入账数据,不允许取消入账,请重新操作!";
}
}
else
{
return "有“未申请开票、未开发票、未对帐”的入账数据,不允许取消入账,请重新操作!";
}
return "";
}
private string setislock()
{
string sGids = strgids.Replace(",", "','");
T_ALL_DA T_ALL_DA = new T_ALL_DA();
string sSQL = "select isnull(count(*),0) as lsnum from wms_out where CUSTOMERNAME is not null and CUSTOMERNAME<>'' and gid in ('" + sGids + "')";// and TRUCKNAME is not null and TRUCKNAME<>''
string lsnum = T_ALL_DA.GetStrSQL("lsnum", sSQL);
if (lsnum.Trim() == "0")
{
return "应收客户有为空数据,不允许操作!";//应付
}
//
WmsOutDA WmsOutDA = new WmsOutDA();
int iResult = WmsOutDA.setislock2(strgids, strUserID);
if (iResult < 0)
{
return "操作有误,请重新操作!";
}
return "";
}
#region 获取当前列表页合计信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string getfpk2()
{
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND a.DODATE >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND a.DODATE <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND a.CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "bsno"://NO
strCondition += String.Format(" AND (a.ASSOCIATEDNO in ((select bsno from op_seai where mblno like '%{0}%') union all (select bsno from op_seae where mblno like '%{0}%')) or a.bsno like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND a.GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (strbsno != "")
{
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strbsno);
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
strSql = String.Format("select isnull(sum(GOODSOUTFEE),0) as GOODSOUTFEE,isnull(sum(GOODSOUTFEEAP),0) as GOODSOUTFEEAP,isnull(sum(ARFEE),0) as ARFEE,isnull(sum(APFEE),0) as APFEE,isnull(sum(GOODSPACKPFSL),0) as GOODSPACKPFSL,isnull(sum(GOODSPFSL),0) as GOODSPFSL from (SELECT {0} * from wms_out a where 1=1 {1} {2} ORDER BY a.GOODSNAME DESC) as z ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
}
else
{
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format("select isnull(sum(GOODSOUTFEE),0) as GOODSOUTFEE,isnull(sum(GOODSOUTFEEAP),0) as GOODSOUTFEEAP,isnull(sum(ARFEE),0) as ARFEE,isnull(sum(APFEE),0) as APFEE,isnull(sum(GOODSPACKPFSL),0) as GOODSPACKPFSL,isnull(sum(GOODSPFSL),0) as GOODSPFSL from (SELECT {0} * from wms_out a WHERE 1=1 and a.GID NOT IN (SELECT {1} a.GID from wms_out a WHERE 1=1 {2} {3} ORDER BY a.GOODSNAME DESC ) {2} {3} ORDER BY a.GOODSNAME DESC) as z ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
}
}
else
{
strSql = String.Format("select isnull(sum(GOODSOUTFEE),0) as GOODSOUTFEE,isnull(sum(GOODSOUTFEEAP),0) as GOODSOUTFEEAP,isnull(sum(ARFEE),0) as ARFEE,isnull(sum(APFEE),0) as APFEE,isnull(sum(GOODSPACKPFSL),0) as GOODSPACKPFSL,isnull(sum(GOODSPFSL),0) as GOODSPFSL from (SELECT {0} * from wms_out a where 1<0 {1} {2} ORDER BY a.GOODSNAME DESC) as z ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
}
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
string ls = sourceTable.Rows[0][0].ToString().Trim() + "," + sourceTable.Rows[0][1].ToString().Trim() + "," + sourceTable.Rows[0][2].ToString().Trim() + "," + sourceTable.Rows[0][3].ToString().Trim() + "," + sourceTable.Rows[0][4].ToString().Trim() + "," + sourceTable.Rows[0][5].ToString().Trim();
return ls;
}
#endregion
#region 获取所有列表合计信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string getfpk()
{
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
string strCondition = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND a.DODATE >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND a.DODATE <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND a.CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "bsno"://NO
strCondition += String.Format(" AND (a.ASSOCIATEDNO in ((select bsno from op_seai where mblno like '%{0}%') union all (select bsno from op_seae where mblno like '%{0}%')) or a.bsno like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND a.GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (strbsno != "")
{
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strbsno);
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
strSql = String.Format("select isnull(sum(GOODSOUTFEE),0) as GOODSOUTFEE,isnull(sum(GOODSOUTFEEAP),0) as GOODSOUTFEEAP,isnull(sum(ARFEE),0) as ARFEE,isnull(sum(APFEE),0) as APFEE,isnull(sum(GOODSPACKPFSL),0) as GOODSPACKPFSL,isnull(sum(GOODSPFSL),0) as GOODSPFSL from (SELECT * from wms_out a where 1=1 {0} {1}) as z ", strAuthorityCondition, strCondition);
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
string ls = sourceTable.Rows[0][0].ToString().Trim() + "," + sourceTable.Rows[0][1].ToString().Trim() + "," + sourceTable.Rows[0][2].ToString().Trim() + "," + sourceTable.Rows[0][3].ToString().Trim() + "," + sourceTable.Rows[0][4].ToString().Trim() + "," + sourceTable.Rows[0][5].ToString().Trim();
return ls;
}
#endregion
#region 获取附件信息
/// <summary>
/// 获取附件信息
/// </summary>
/// <param name="tempShowPage"></param>
/// <param name="tempCurPage"></param>
/// <returns></returns>
private string GetLogContent(int tempShowPage, int tempCurPage)
{
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
string strSql = "";
string strTopInclude = "";
string strTopNotInclude = "";
if (tempShowPage > 0 && tempCurPage > 0)
{
if (tempCurPage == 1)
{
strSql = String.Format("SELECT {0} GID,AFFIXNAME+'^'+AFFIXURL URL,AFFIXNAME,AFFIXURL,LINKGID,AFFIXSIZE,TABLENAME FROM op_sailingdateurl where TABLENAME='{1}' and LINKGID='{2}' ORDER BY AFFIXNAME", "top " + tempShowPage, strtb, linkgid);
}
else
{
strTopNotInclude = "top " + (tempShowPage * (tempCurPage - 1));//RowCount*PageNum
strTopInclude = "top " + tempShowPage;//RowCount*PageNum
strSql = String.Format("SELECT GID,AFFIXNAME+'^'+AFFIXURL URL,AFFIXNAME,AFFIXURL,LINKGID,AFFIXSIZE,TABLENAME FROM (SELECT {1} GID,AFFIXNAME+'^'+AFFIXURL URL,AFFIXNAME,AFFIXURL,LINKGID,AFFIXSIZE,TABLENAME FROM op_sailingdateurl WHERE TABLENAME='{2}' and LINKGID='{3}' and GID NOT IN (SELECT {0} GID FROM op_sailingdateurl where TABLENAME='{2}' and LINKGID='{3}' ORDER BY AFFIXNAME ) ORDER BY AFFIXNAME) AS A ", strTopNotInclude, strTopInclude, strtb, linkgid);
}
}
else
{
strSql = String.Format("SELECT GID,AFFIXNAME+'^'+AFFIXURL URL,AFFIXNAME,AFFIXURL,LINKGID,AFFIXSIZE,TABLENAME FROM op_sailingdateurl where TABLENAME='{0}' and LINKGID='{1}' ", strtb, linkgid);
}
DataTable logTable = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql).Tables[0];
logBuilder.Append("{");
logBuilder.Append("rows:[");
for (int i = 0; i < logTable.Rows.Count; i++)
{
logBuilder.Append("{id:\"" + logTable.Rows[i][0].ToString() + "\",");
logBuilder.Append("data:[");
logBuilder.Append("\"0\",");
for (int j = 1; j < logTable.Columns.Count; j++)
{
if (j == logTable.Columns.Count - 1)
{
logBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\"");
}
else
{
logBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\",");
}
}
if (i == logTable.Rows.Count - 1)
{
logBuilder.Append("]}");
}
else
{
logBuilder.Append("]},");
}
}
logBuilder.Append("]");
logBuilder.Append("}");
return logBuilder.ToString();
}
private int GetPageInfo()
{
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
string strSql = String.Format("SELECT COUNT(*) FROM op_sailingdateurl where TABLENAME='{0}' and LINKGID='{1}' ", strtb, linkgid);
int iTotal = logDA.GetPageTotal(strSql);
return iTotal;
}
#endregion
#region 返回导出excel的Sql语句
/// <summary>
/// 返回导出excel的Sql语句
/// </summary>
/// <returns></returns>
private string GetwmsoutexcelSql()
{
string strSql = "";
strSql = String.Format(" SELECT b.BLNO,a.INBSNO,a.OUTBSNO,a.CUSTOMERNAME,a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,convert(char(10),b.DODATE,20) INDATE,convert(char(10),a.DODATE,20) OUTDATE, "
+ " b.GOODSRKSL,b.GOODSSTOCK,b.GOODSPACKSTOCK,a.GOODSPACKPFSL,a.GOODSPFSL,a.GOODSOUTFEE, datediff(day,b.DODATE,a.DODATE)+1 days"
+",a.feedays"
//+",feedays= case when (datediff(day,b.DODATE,a.DODATE)+1-isnull(c.FEESCALE,0)) <=0 then 0 else datediff(day,b.DODATE,a.DODATE)+1-isnull(c.FEESCALE,0) end"
+",a.TRUCKNO, CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER), a.CREATETIME, a.REMARK "
+ " FROM wms_out_detail a left outer join wms_in b on a.INBSNO=b.BSNO left outer join (select * from wms_rate where isnull(FEEGRADE,0)=1 and isnull(FEEPRICE,0)=0 ) as c on c.BSNO=a.ASSOCIATEDNO and c.customername=a.customername where b.ISDELETE=0 and a.ASSOCIATEDNO='{0}' and a.OUTBSNO='{1}' "
+ " ORDER BY a.bsno ", stropseaibsno, strwmsoutbsno);
//string sSQL = "";
//sSQL = String.Format(" SELECT GID,ASSOCIATEDNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,AREANAME, "
// + " GOODSNAME,GOODSMODEL,GOODSPACKPFSL,GOODSPFSL,GOODSOUTFEE,TRUCKNO,REMARK, "
// + " CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME "
// + " FROM wms_out where BSNO='{0}' ", strwmsoutbsno);
return strSql;
}
/// <summary>
/// 返回导出excel的Sql语句
/// </summary>
/// <returns></returns>
private string GetwmsoutlistexcelSql()
{
string strCondition = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND a.DODATE >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND a.DODATE <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND a.CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "bsno"://NO
//strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%'", strArg[1].Replace("\"", ""));
strCondition += String.Format(" AND (a.ASSOCIATEDNO in ((select bsno from op_seai where mblno like '%{0}%') union all (select bsno from op_seae where mblno like '%{0}%')) or a.bsno like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND a.GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (strbsno != "")
{
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strbsno);
}
}
strSql = String.Format(" SELECT a.BSNO,a.CUSTOMERNAME,convert(char(10),a.DODATE,20),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,a.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER),convert(char(19),a.CREATETIME,120) "//,a.ASSOCIATEDNO,isnull(c.CLIENTNAME,'') newcust "
+ " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO "
+ " where c.ISDELETE=0 {0} ORDER BY a.GOODSNAME DESC ", strCondition);
return strSql;
}
#endregion
#region 返回计费天数和仓储费
/// <summary>
/// 返回计费天数和仓储费
/// </summary>
/// <param name="bsno">委托单号</param>
/// <param name="outnums">出库数量</param>
/// <param name="feedays">仓储天数</param>
/// <returns></returns>
private string getWmsFeeAndFeeDays(string bsno, decimal outnums, int feedays)
{
int nofeedays=0;
string Sqlstr = "";
decimal totaloutfee = 0;//出库单的仓储费
int prescale = 0;
int nowscale = 0;
int nowgrade = 0;
decimal price = 0;
decimal gradefee = 0;
decimal sumfee = 0;
Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO='{0}' order by BSNO,FEEGRADE ", bsno);
DataSet dsrate = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, Sqlstr.ToString());
DataTable dtrate = new DataTable();
if (dsrate != null)
{
dtrate = dsrate.Tables[0];
if (dtrate.Rows.Count > 0)
{
prescale = 0;
nowscale = 0;
nowgrade = 0;
price = 0;
gradefee = 0;
sumfee = 0;
foreach (DataRow drow in dtrate.Rows)
{
nowgrade = int.Parse(drow["FEEGRADE"].ToString());
nowscale = int.Parse(drow["FEESCALE"].ToString());
price = decimal.Parse(drow["FEEPRICE"].ToString());
if (nowgrade.Equals(1))
{
if (feedays > nowscale)
{
gradefee = outnums * price * nowscale;
sumfee += gradefee;
prescale = nowscale;
if (price == 0)
{
nofeedays = feedays - nowscale;
}
}
else
{
gradefee = outnums * price * (feedays - prescale);
sumfee += gradefee;
prescale = nowscale;
if (price == 0)
{
nofeedays = 0;
}
break;
}
}
else if (nowgrade > 1)
{
if (feedays > nowscale)
{
gradefee = outnums * price * (nowscale - prescale);
sumfee += gradefee;
prescale = nowscale;
}
else
{
gradefee = outnums * price * (feedays - prescale);
sumfee += gradefee;
prescale = nowscale;
break;
}
}
}
if (feedays > nowscale)
{
gradefee = outnums * price * (feedays - nowscale);
sumfee += gradefee;
}
totaloutfee += sumfee;
}
}
StringBuilder sourceBuilder = new StringBuilder();
sourceBuilder.Append("{");
sourceBuilder.Append("wmsfee:[");
sourceBuilder.Append("{bsno:\"" + bsno + "\",");
sourceBuilder.Append("\"jsdays\":\"" + nofeedays.ToString() + "\",");
sourceBuilder.Append("\"totaloutfee\":\"" + totaloutfee.ToString() + "\"");
sourceBuilder.Append("}");
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
#region GetWmsFeeQuery
/// <summary>
///
/// </summary>
/// <returns></returns>
private string GetWmsFeeQuery()
{
WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string strSql = "";
string strAuthorityCondition = "";
string OutDate="";//= DateTime.Today.ToString("yyyy-MM-dd");//出库日期
bool isout=false;//是否包含已经出库的仓储费;
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "cus"://CUSTOMER
strCondition += String.Format(" and CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "blno"://NO
strCondition += String.Format(" AND BLNO like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "customno"://NO
strCondition += String.Format(" AND CUSTOMNO like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "outdate":
OutDate = strArg[1].Replace("\"", "");
break;
case "isout":
isout = bool.Parse(strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
strCondition += " and 1<0 ";
}
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//2013-04-10 之前的
/*
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// if (isout)
// {
// strSql = String.Format(" SELECT {0} GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{3}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{3}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in where ISDELETE=0 and GOODSSTOCK>0 {1} {2} "
// + " union all "
// + " select {0} b.GID,b.CLIENTNAME,b.BLNO,b.BSNO,convert(char(10),b.DODATE,120) INDODATE,convert(char(10),a.DODATE,120) OUTDODATE,b.STORAGENAME,b.GOODSNAME,b.GOODSMODEL,0 GOODSSTOCK,0 GOODSPACKSTOCK,GOODSPFSL,GOODSPACKPFSL,(datediff(day,b.DODATE,a.DODATE)+1) days,GOODSOUTFEE,b.REMARK,CREATEUSER=(select SHOWNAME from [user] where gid=b.CREATEUSER),convert(char(19), b.CREATETIME,120),b.ASSOCIATEDNO,1 iswmsout "
// + " from wms_out_detail a inner join wms_in b on a.INBSNO=b.BSNO where b.ISDELETE=0 {1} {2} "
// + " ORDER BY CLIENTNAME,iswmsout,BLNO "
// , "top " + iShowPage.ToString(), strAuthorityCondition, strCondition, OutDate);
// }
// else
// {
// strSql = String.Format(" SELECT {0} GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{3}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{3}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in where ISDELETE=0 and GOODSSTOCK>0 {1} {2} ORDER BY CLIENTNAME,BLNO ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition, OutDate);
// }
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// if (isout)
// {
// strSql = String.Format(" SELECT {0} GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{4}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{4}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in WHERE ISDELETE=0 and BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE ISDELETE=0 and GOODSSTOCK>0 {2} {3} ORDER BY CLIENTNAME,BLNO ) {2} {3} "
// + " union all "
// + " select {0} b.GID,b.CLIENTNAME,b.BLNO,b.BSNO,convert(char(10),b.DODATE,120) INDODATE,convert(char(10),a.DODATE,120) OUTDODATE,b.STORAGENAME,b.GOODSNAME,b.GOODSMODEL,0 GOODSSTOCK,0 GOODSPACKSTOCK,GOODSPFSL,GOODSPACKPFSL,(datediff(day,b.DODATE,a.DODATE)+1) days,GOODSOUTFEE,b.REMARK,CREATEUSER=(select SHOWNAME from [user] where gid=b.CREATEUSER),convert(char(19), b.CREATETIME,120),b.ASSOCIATEDNO,1 iswmsout "
// + " from wms_out_detail a inner join wms_in b on a.INBSNO=b.BSNO where b.ISDELETE=0 and b.BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE b.ISDELETE=0 and GOODSSTOCK>0 {2} {3} ORDER BY CLIENTNAME,BLNO ) {2} {3} "
// + " ORDER BY CLIENTNAME,iswmsout,BLNO ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition, OutDate);
// }
// else
// {
// strSql = String.Format(" SELECT {0} GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{4}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{4}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in WHERE ISDELETE=0 and BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE ISDELETE=0 and GOODSSTOCK>0 {2} {3} ORDER BY CLIENTNAME,BLNO ) {2} {3} "
// + " ORDER BY CLIENTNAME,iswmsout,BLNO ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition, OutDate);
// }
// }
//}
//else
//{
// if (isout)
// {
// strSql = String.Format(" SELECT GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{2}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{2}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in where ISDELETE=0 and GOODSSTOCK>0 {0} {1} "
// + " union all "
// + " select b.GID,b.CLIENTNAME,b.BLNO,b.BSNO,convert(char(10),b.DODATE,120) INDODATE,convert(char(10),a.DODATE,120) OUTDODATE,b.STORAGENAME,b.GOODSNAME,b.GOODSMODEL,0 GOODSSTOCK,0 GOODSPACKSTOCK,GOODSPFSL,GOODSPACKPFSL,(datediff(day,b.DODATE,a.DODATE)+1) days,GOODSOUTFEE,b.REMARK,CREATEUSER=(select SHOWNAME from [user] where gid=b.CREATEUSER),convert(char(19), b.CREATETIME,120),b.ASSOCIATEDNO,1 iswmsout "
// + " from wms_out_detail a inner join wms_in b on a.INBSNO=b.BSNO where ISDELETE=0 {0} {1} "
// + " ORDER BY CLIENTNAME,iswmsout,BLNO ", strAuthorityCondition, strCondition, OutDate);
// }
// else
// {
// strSql = String.Format(" SELECT GID,CLIENTNAME, BLNO,BSNO,convert(char(10),DODATE,120) INDATE,'{2}' OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK, GOODSPACKSTOCK,0 GOODSPFSL,0 GOODSPACKPFSL,(datediff(day,DODATE,'{2}')+1) days,0 GOODSOUTFEE,REMARK, CREATEUSER=(select SHOWNAME from [user] where gid=CREATEUSER), CREATETIME,ASSOCIATEDNO,0 iswmsout "
// + " FROM wms_in where ISDELETE=0 and GOODSSTOCK>0 {0} {1} "
// + " ORDER BY CLIENTNAME,BLNO ", strAuthorityCondition, strCondition, OutDate);
// }
//}
*/
if (strSearch != null)
{
#region 按计费日期计算仓储费用插入临时表
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
int iState = 0;
int result = 0;
string Sqlstr = "";
decimal totaloutfee = 0;//出库单的仓储费
int prescale = 0;
int nowscale = 0;
int nowgrade = 0;
decimal price = 0;
decimal gradefee = 0;
decimal sumfee = 0;
//
try
{
//Sqlstr = String.Format("SELECT *, ISNULL((SELECT CUSTOMNO FROM wms_out WHERE (BSNO=(SELECT TOP (1) OUTBSNO FROM wms_out_detail WHERE (INBSNO = a.GID)))), '') AS CUSTOMNO,0 ISWMSOUT,convert(char(10),WMSDATE,120) INDATE,'{2}' OUTDATE,(DATEDIFF(day, convert(char(10),WMSDATE,120), '{2}') + 1) as WMSDAYS,(case when (select ((DATEDIFF(day, convert(char(10),wms.WMSDATE,120), '{2}') + 1)-FEESCALE) as FEEDAYS from wms_rate where bsno=wms.gid and isnull(FEEPRICE,0)=0)<=0 then 0 else (select ((DATEDIFF(day, convert(char(10),wms.WMSDATE,120), '{2}') + 1)-FEESCALE) as FEEDAYS from wms_rate where bsno=wms.gid and isnull(FEEPRICE,0)=0) end) as FEEDAYS FROM wms where isnull(ISDELETE,0)=0 and isnull(GOODSSTOCK,0)>0 and convert(char(10),WMSDATE,120)<=convert(char(10),'{2}',120) {0} {1} ORDER BY CUSTOMERNAME,BLNO ", strAuthorityCondition, strCondition, OutDate);
Sqlstr = String.Format("select GID,CUSTOMERNAME,BLNO,GOODSSTOCK,WMSDAYS from (SELECT *, ISNULL((SELECT CUSTOMNO FROM wms_out WHERE (BSNO=(SELECT TOP (1) OUTBSNO FROM wms_out_detail WHERE (INBSNO = wms.GID)))), '') AS CUSTOMNO,(DATEDIFF(day, convert(char(10),WMSDATE,120), '{2}') + 1) as WMSDAYS FROM wms where isnull(ISDELETE,0)=0 and isnull(GOODSSTOCK,0)>0 and convert(char(10),WMSDATE,120)<=convert(char(10),'{2}',120) {0} ) as a where 1=1 {1} ORDER BY CUSTOMERNAME,BLNO ", strAuthorityCondition, strCondition, OutDate);
DataSet ds = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
if (ds != null)
{
//strUserID
Sqlstr = "delete from wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "'";
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
if (iState < 0)
{
sqlTran.Rollback();
result = -3;
}
//
foreach (DataRow dr in ds.Tables[0].Rows)
{
#region 按计费日期计算仓储费用
decimal outnums = decimal.Parse(dr["GOODSSTOCK"].ToString().Trim());//库存量
int feedays = int.Parse(dr["WMSDAYS"].ToString().Trim());
if (feedays > 0)
{
Sqlstr = "SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO='" + dr["GID"].ToString().Trim() + "' and CUSTOMERNAME like '%" + dr["CUSTOMERNAME"].ToString().Trim() + "%' order by BSNO,FEEGRADE ";
DataSet dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
DataTable dtrate = new DataTable();
if (dsrate != null)
{
dtrate = dsrate.Tables[0];
if (dtrate.Rows.Count > 0)
{
prescale = 0;
nowscale = 0;
nowgrade = 0;
price = 0;
gradefee = 0;
sumfee = 0;
foreach (DataRow drow in dtrate.Rows)
{
nowgrade = int.Parse(drow["FEEGRADE"].ToString());//收费等级
nowscale = int.Parse(drow["FEESCALE"].ToString());//收费区间
price = decimal.Parse(drow["FEEPRICE"].ToString());//收费单价
if (nowgrade.Equals(1))//收费等级
{
if (feedays > nowscale)
{
gradefee = outnums * price * nowscale;//出库量*收费单价*收费区间
sumfee += gradefee;
prescale = nowscale;//本次收费区间
}
else
{
gradefee = outnums * price * (feedays - prescale);//出库量*收费单价*(仓储天数-上一个收费区间(0)
sumfee += gradefee;
prescale = nowscale;//本次收费区间
break;
}
}
else if (nowgrade > 1)//收费等级
{
if (feedays > nowscale)
{
gradefee = outnums * price * (nowscale - prescale);//出库量*收费单价*(收费区间-上一个收费区间(0)
sumfee += gradefee;
prescale = nowscale;//本次收费区间
}
else
{
gradefee = outnums * price * (feedays - prescale);//出库量*收费单价*(仓储天数-上一个收费区间(0)
sumfee += gradefee;
prescale = nowscale;//本次收费区间
break;
}
}
}
if (feedays > nowscale)
{
gradefee = outnums * price * (feedays - nowscale);//出库量*收费单价*(仓储天数-收费区间(0)
sumfee += gradefee;
}
totaloutfee += sumfee;
sumfee = T_ALL_DA.getDigit(sumfee, 2);
}
}
}
#endregion
//
Sqlstr = String.Format("insert into wms_wmsrate_test(WMSNO,INDATE,OUTDATE,ASSOCIATEDNO,BLNO,CUSTOMERNAME,STORAGENAME,GOODSNAME,GOODSMODEL,CHARGEUNIT,GOODSPACK,GOODSPACKSTOCK,GOODSRKSL,GOODSSTOCK,ARFEE,APFEE,MODIFIEDUSER,MODIFIEDTIME,ISLOCK,CORPID,CUSTOMNO,WMSDAYS,FEEDAYS,GOODSOUTFEE,ISWMSOUT,CREATEUSER,CREATETIME,CORPID2) "
+ " select WMSNO,convert(char(10),WMSDATE,120) INDATE,'{2}' OUTDATE,ASSOCIATEDNO,BLNO,CUSTOMERNAME,STORAGENAME,GOODSNAME,GOODSMODEL,CHARGEUNIT,isnull(GOODSPACK,0) as GOODSPACK,isnull(GOODSPACKSTOCK,0) as GOODSPACKSTOCK,isnull(GOODSRKSL,0) as GOODSRKSL,isnull(GOODSSTOCK,0) as GOODSSTOCK,isnull(ARFEE,0) as ARFEE,isnull(APFEE,0) as APFEE,(SELECT SHOWNAME FROM [user] WHERE GID = MODIFIEDUSER) AS MODIFIEDUSER,MODIFIEDTIME,ISLOCK,CORPID,ISNULL((SELECT CUSTOMNO FROM wms_out WHERE (BSNO=(SELECT TOP (1) OUTBSNO FROM wms_out_detail WHERE (INBSNO = wms.GID)))), '') AS CUSTOMNO,(DATEDIFF(day, convert(char(10),WMSDATE,120), '{2}') + 1) as WMSDAYS"
+ ",ISNULL((SELECT TOP (1) FEEDAYS FROM wms_out_detail WHERE (INBSNO = wms.GID)), '0') AS FEEDAYS"
//+",(case when (select ((DATEDIFF(day, convert(char(10),wms.WMSDATE,120), '{2}') + 1)-FEESCALE) as FEEDAYS from wms_rate where bsno=wms.gid and isnull(FEEPRICE,0)=0)<=0 then 0 else (select ((DATEDIFF(day, convert(char(10),wms.WMSDATE,120), '{2}') + 1)-FEESCALE) as FEEDAYS from wms_rate where bsno=wms.gid and isnull(FEEPRICE,0)=0) end) as FEEDAYS"
+",{3} as GOODSOUTFEE,0 ISWMSOUT,'1BEC90E1-9780-472F-90C2-0C6390C044A4' as CREATEUSER,getdate() as CREATETIME,'Comcab2d43f60454327af30a131fc1d3abd' as CORPID2 from wms where isnull(ISDELETE,0)=0 and isnull(GOODSSTOCK,0)>0 and convert(char(10),WMSDATE,120)<=convert(char(10),'{2}',120) and GID='" + dr["GID"].ToString().Trim() + "' {0} {1} ", strAuthorityCondition, strCondition, OutDate, sumfee);
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
if (iState != 1)
{
sqlTran.Rollback();
result = -4;
}
}
}
result = 1;//状态为1表示删除成功
sqlTran.Commit();
}
catch (Exception execError)
{
result = -10;//有异常,插入失败
sqlTran.Rollback();
result = -11;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
#endregion
}
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
//("", "货主", "提单号", "备案清单号", "入库单号", "入库日期", "出库日期", "仓库名称", "品名", "型号", "剩余库存", "剩余件数", "仓储天数", "计费天数", "仓储费", "开单人", "开单时间", "进口委托单号", "是否有出库单");
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
strSql = String.Format(" SELECT {0} GID,CUSTOMERNAME,BLNO,CUSTOMNO,WMSNO,convert(char(10),INDATE,120) INDATE,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK,GOODSPACKSTOCK,WMSDAYS,FEEDAYS,GOODSOUTFEE,MODIFIEDUSER,MODIFIEDTIME,ASSOCIATEDNO,ISWMSOUT "
+ " FROM wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "' ORDER BY CUSTOMERNAME,BLNO ", "top " + iShowPage.ToString());
}
else
{
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format(" SELECT {0} GID,CUSTOMERNAME,BLNO,CUSTOMNO,WMSNO,convert(char(10),INDATE,120) INDATE,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK,GOODSPACKSTOCK,WMSDAYS,FEEDAYS,GOODSOUTFEE,MODIFIEDUSER,MODIFIEDTIME,ASSOCIATEDNO,0 ISWMSOUT "
+ " FROM wms_wmsrate_test WHERE BSNO NOT IN "
+ " (SELECT {1} BSNO FROM wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "' ORDER BY CUSTOMERNAME,BLNO ) CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "'"
+ " ORDER BY CUSTOMERNAME,iswmsout,BLNO ", strTopInclude, strTopNotInclude);
}
}
else
{
strSql = "SELECT GID,CUSTOMERNAME,BLNO,CUSTOMNO,WMSNO,convert(char(10),INDATE,120) INDATE,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSSTOCK,GOODSPACKSTOCK,WMSDAYS,FEEDAYS,GOODSOUTFEE,MODIFIEDUSER,MODIFIEDTIME,ASSOCIATEDNO,0 ISWMSOUT FROM wms_wmsrate_test where 1<0 ";
}
sourceTable = WmsFeeCodeDA.GetRateListByCondition(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
/*
//string bsno = sourceTable.Rows[i]["ASSOCIATEDNO"].ToString();
//decimal outnums = 0;
//int days = 0;
//int nofeedays = 0;
//decimal wmsfee = 0;
//int iswmsout = int.Parse(sourceTable.Rows[i]["iswmsout"].ToString());
//if (iswmsout==0)
//{
// outnums = decimal.Parse(sourceTable.Rows[i]["GOODSSTOCK"].ToString());
// days = int.Parse(sourceTable.Rows[i]["days"].ToString());
// nofeedays = 0;
// wmsfee = 0;
// wmsfee = GetWmsFee(bsno, outnums, days, ref nofeedays);
//}
//else if (iswmsout==1)
//{
// days = int.Parse(sourceTable.Rows[i]["days"].ToString());
// nofeedays = GetWmsFeeDays(bsno, days);
//}
//for (int j = 1; j < sourceTable.Columns.Count; j++)
//{
// if (j == sourceTable.Columns.Count - 1)
// {
// sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\"");
// }
// else
// {
// if (iswmsout==0)
// {
// if (sourceTable.Columns[j].ColumnName.ToString().Equals("GOODSOUTFEE"))
// {
// sourceBuilder.Append("\"" + nofeedays.ToString() + "\",");
// sourceBuilder.Append("\"" + wmsfee.ToString() + "\",");
// }
// else
// {
// sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\",");
// }
// }
// else if (iswmsout==1)
// {
// if (sourceTable.Columns[j].ColumnName.ToString().Equals("GOODSOUTFEE"))
// {
// sourceBuilder.Append("\"" + nofeedays.ToString() + "\",");
// }
// sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\",");
// }
// }
//}
*/
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\"");
}
else
{
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
private int GetWmsFeeDays(string bsno, int feedays)
{
string Sqlstr = "";
int nowscale = 0;
int nowgrade = 0;
decimal price = 0;
int nofeedays = 0;//计费天数
Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO='{0}' order by BSNO,FEEGRADE ", bsno);
DataSet dsrate = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, Sqlstr.ToString());
DataTable dtrate = new DataTable();
if (dsrate != null)
{
dtrate = dsrate.Tables[0];
if (dtrate.Rows.Count > 0)
{
nowscale = 0;
nowgrade = 0;
price = 0;
foreach (DataRow drow in dtrate.Rows)
{
nowgrade = int.Parse(drow["FEEGRADE"].ToString());
nowscale = int.Parse(drow["FEESCALE"].ToString());
price = decimal.Parse(drow["FEEPRICE"].ToString());
if (nowgrade.Equals(1))
{
if (feedays > nowscale)
{
if (price == 0)
{
nofeedays = feedays - nowscale;
}
break;
}
else
{
if (price == 0)
{
nofeedays = 0;
}
break;
}
}
}
}
}
return nofeedays;
}
private decimal GetWmsFee(string bsno, decimal outnums, int feedays,ref int nofeedays)
{
string Sqlstr = "";
decimal totaloutfee = 0;//出库单的仓储费
int prescale = 0;
int nowscale = 0;
int nowgrade = 0;
decimal price = 0;
decimal gradefee = 0;
decimal sumfee = 0;
Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO='{0}' order by BSNO,FEEGRADE ", bsno);
DataSet dsrate = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, Sqlstr.ToString());
DataTable dtrate = new DataTable();
if (dsrate != null)
{
dtrate = dsrate.Tables[0];
if (dtrate.Rows.Count > 0)
{
prescale = 0;
nowscale = 0;
nowgrade = 0;
price = 0;
gradefee = 0;
sumfee = 0;
foreach (DataRow drow in dtrate.Rows)
{
nowgrade = int.Parse(drow["FEEGRADE"].ToString());
nowscale = int.Parse(drow["FEESCALE"].ToString());
price = decimal.Parse(drow["FEEPRICE"].ToString());
if (nowgrade.Equals(1))
{
if (feedays > nowscale)
{
gradefee = outnums * price * nowscale;
sumfee += gradefee;
prescale = nowscale;
if (price == 0)
{
nofeedays = feedays - nowscale;
}
}
else
{
gradefee = outnums * price * (feedays - prescale);
sumfee += gradefee;
prescale = nowscale;
if (price == 0)
{
nofeedays = 0;
}
break;
}
}
else if (nowgrade > 1)
{
if (feedays > nowscale)
{
gradefee = outnums * price * (nowscale - prescale);
sumfee += gradefee;
prescale = nowscale;
}
else
{
gradefee = outnums * price * (feedays - prescale);
sumfee += gradefee;
prescale = nowscale;
break;
}
}
}
if (feedays > nowscale)
{
gradefee = outnums * price * (feedays - nowscale);
sumfee += gradefee;
}
totaloutfee += sumfee;
}
}
return totaloutfee;
}
private string GetWmsFeeCodeList()
{
WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
//string strCondition = "";
//string strTopInclude = "";
//string strTopNotInclude = "";
string strSql = "";
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in where 1>0 {1} {2} ORDER BY BLNO,GOODSNAME,DODATE ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in WHERE BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE 1>0 {2} {3} ORDER BY BLNO,GOODSNAME,DODATE ) {2} {3} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
// }
//}
//else
//{
// strSql = String.Format(" SELECT BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK"
// + " FROM wms_in where 1>0 {0} {1} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strAuthorityCondition, strCondition);
//}
//strSql = String.Format(" SELECT a.BSNO,a.BLNO,convert(char(10),a.DODATE,120) DODATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSSTOCK,isnull(b.GOODSPFSL,0) GOODSPFSL,isnull(b.TRUCKNO,'') TRUCKNO,isnull(b.REMARK,'') REMARK,a.STORAGENAME "
// + " FROM wms_in a left outer join wms_out_detail b on a.bsno=b.INBSNO where 1>0 {0} {1} "
// + " ORDER BY a.BLNO,a.GOODSNAME,a.DODATE ", strAuthorityCondition, strCondition);
strSql = String.Format(" SELECT GID,UNITPRICE,REMARK,CREATEUSER,CREATETIME "
+ " FROM wms_feeCode where BSNO='{0}' {1} "
+ " ORDER BY FEETYPE,FEENAME ", strbsno, strAuthorityCondition);
sourceTable = WmsFeeCodeDA.GetRateListByCondition(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#region Getwmsoutdetaillist`
/// <summary>
/// Getwmsoutdetaillist
/// </summary>
/// <returns></returns>
private string Getwmsoutdetaillist()
{
WmsInDA WmsInDA = new WmsInDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
//string strCondition = "";
//string strTopInclude = "";
//string strTopNotInclude = "";
string strSql = "";
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in where 1>0 {1} {2} ORDER BY BLNO,GOODSNAME,DODATE ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in WHERE BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE 1>0 {2} {3} ORDER BY BLNO,GOODSNAME,DODATE ) {2} {3} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
// }
//}
//else
//{
// strSql = String.Format(" SELECT BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK"
// + " FROM wms_in where 1>0 {0} {1} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strAuthorityCondition, strCondition);
//}
//strSql = String.Format(" SELECT a.BSNO,a.BLNO,convert(char(10),a.DODATE,120) DODATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSSTOCK,isnull(b.GOODSPFSL,0) GOODSPFSL,isnull(b.TRUCKNO,'') TRUCKNO,isnull(b.REMARK,'') REMARK,a.STORAGENAME "
// + " FROM wms_in a left outer join wms_out_detail b on a.bsno=b.INBSNO where 1>0 {0} {1} "
// + " ORDER BY a.BLNO,a.GOODSNAME,a.DODATE ", strAuthorityCondition, strCondition);
//"","提单号","入库单号","出库单号","转移对象","仓库名称","品名","型号","入库日期","出库日期"
//,"入库数量","剩余库存","剩余件数","本次出库","仓储费","仓储天数","车号","制单人","制单时间","备注"
//strSql = String.Format(" SELECT a.GID,b.BLNO,a.INBSNO,a.OUTBSNO,a.CUSTOMERNAME,a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,convert(char(10),b.DODATE,20) INDATE,convert(char(10),a.DODATE,20) OUTDATE, "
// + " b.GOODSRKSL,b.GOODSSTOCK,b.GOODSPACKSTOCK,a.GOODSPACKPFSL,a.GOODSPFSL,a.ARFEE,a.APFEE,a.GOODSOUTFEE,a.GOODSOUTFEEAP "
// + ",datediff(day,b.DODATE,a.DODATE)+1 days,feedays= case when (datediff(day,b.DODATE,a.DODATE)+1-isnull(c.FEESCALE,0)) <=0 then 0 else datediff(day,b.DODATE,a.DODATE)+1-isnull(c.FEESCALE,0) end,a.TRUCKNO, a.CREATEUSER, a.CREATETIME, a.REMARK "
// + " FROM wms_out_detail a left outer join wms_in b on a.INBSNO=b.BSNO left outer join (select * from wms_rate where isnull(FEEGRADE,0)=1 and isnull(FEEPRICE,0)=0 ) as c on c.BSNO=a.ASSOCIATEDNO and c.customername=a.customername where b.ISLOCK=1 and b.ISDELETE=0 and a.ASSOCIATEDNO='{0}' and a.OUTBSNO='{1}' {2} "
// + " ORDER BY a.bsno ", stropseaibsno, strwmsoutbsno, strAuthorityCondition);
//strSql = String.Format(" SELECT a.GID,b.BLNO,b.WMSNO,a.OUTBSNO,a.CLIENTNAMEOLD,a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,convert(char(10),b.WMSDATE,20) INDATE,convert(char(10),a.DODATE,20) OUTDATE, b.GOODSRKSL,b.GOODSSTOCK,b.GOODSPACKSTOCK,a.GOODSPACKPFSL,a.GOODSPFSL,a.ARFEE,a.APFEE,a.GOODSOUTFEE,a.GOODSOUTFEEAP,datediff(day,b.WMSDATE,a.DODATE)+1 days,feedays= case when (datediff(day,b.WMSDATE,a.DODATE)+1-isnull(c.FEESCALE,0)) <=0 then 0 else datediff(day,b.WMSDATE,a.DODATE)+1-isnull(c.FEESCALE,0) end,a.TRUCKNO, CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER), a.CREATETIME, a.REMARK "//,a.CUSTOMERNAME
// + " FROM wms_out_detail a left outer join wms b on a.INBSNO=b.GID left outer join (select * from wms_rate where isnull(FEEGRADE,0)=1 and isnull(FEEPRICE,0)=0 ) as c on c.BSNO=a.ASSOCIATEDNO and c.customername=a.customername where b.ISLOCK=1 and b.ISDELETE=0 and a.ASSOCIATEDNO='{0}' and a.OUTBSNO='{1}' {2} "
// + " ORDER BY a.bsno ", stropseaibsno, strwmsoutbsno, strAuthorityCondition);
// 0 1 2 3 4 5 6 7 8 9 10 11 12
//("", "提单号", "入库单号", "出库单号", "转移对象", "仓库名称", "品名", "型号", "入库日期", "出库日期", "入库数量", "剩余库存", "剩余件数",
// 13 14 15 16 17 18 19 20 21 22 23 24
//"出库件数", "出库数量", "应收出库费", "应付出库费", "应收仓储费", "应付仓储费", "仓储天数", "计费天数", "车号", "制单人", "制单时间", "备注");
strSql = String.Format(" SELECT a.GID,b.BLNO,b.WMSNO,a.OUTBSNO,a.CLIENTNAMEOLD,c.TRUCKNAME,a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,convert(char(10),b.WMSDATE,20) INDATE,convert(char(10),a.DODATE,20) OUTDATE, b.GOODSRKSL,b.GOODSSTOCK,b.GOODSPACKSTOCK,a.GOODSPACKPFSL,a.GOODSPFSL,a.ARFEE,a.APFEE,a.GOODSOUTFEE,a.GOODSOUTFEEAP,days=(datediff(day,b.WMSDATE,a.DODATE)+1)"
+ ",a.feedays"
//+",feedays=(datediff(day,b.WMSDATE,c.OLDCUSTFEEDATE)+1)"
+",a.TRUCKNO, CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER), a.CREATETIME, a.REMARK "//,a.CUSTOMERNAME
+ " FROM wms_out_detail a left outer join wms b on a.INBSNO=b.GID left outer join wms_out as c on a.OUTBSNO=c.BSNO where b.ISLOCK=1 and b.ISDELETE=0 and a.ASSOCIATEDNO='{0}' and a.OUTBSNO='{1}' {2} "
+ " ORDER BY a.bsno ", stropseaibsno, strwmsoutbsno, strAuthorityCondition);
sourceTable = WmsInDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
/// <summary>
/// 出库合计数
/// </summary>
/// <returns></returns>
private string SumJs()
{
decimal sum = 0;
decimal num = 0;
if (strsum.Trim().Equals("") || strsum.Equals(null))
{
sum = 0;
}
else
{
sum = decimal.Parse(strsum);
}
num = decimal.Parse(strnum);
if (strmode == "check")
{
sum += num;
}
else if (strmode == "uncheck")
{
if (sum > num)
{
sum -= num;
}
else
{
sum = 0;
}
}
StringBuilder totalBuilder = new StringBuilder();
totalBuilder.Append("{");
totalBuilder.Append("\"totals\":");
totalBuilder.Append("[");
totalBuilder.Append("{");
totalBuilder.Append("\"sum\":" + sum.ToString());
totalBuilder.Append("}");
totalBuilder.Append("]");
totalBuilder.Append("}");
return totalBuilder.ToString();
}
#region 根据INFO_CLIENT.GID返回VW_WmsRateList仓储费率列表信息JSON字符串
/// <summary>
/// 根据INFO_CLIENT.GID返回VW_WmsRateList仓储费率列表信息JSON字符串
/// </summary>
/// <returns>返回VW_WmsRateList仓储费率列表信息JSON字符串</returns>
public string GetRateListJsonByCusID(string strcustid)
{
string strSql = "";
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
strSql =String.Format ( " SELECT (newid()) GID,CUSTOMERNAME, CONTRACTNO, STARTTIME, ENDTIME, GOODSNAME FROM VW_WmsRateList "
+ " where CUSTOMERNAME in (select SHORTNAME from info_client where gid='{0}')"
+" order by CUSTOMERNAME,CONTRACTNO",strcustid);
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
StringBuilder sourceBuilder = new StringBuilder();
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\"");
}
else
{
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
public string BuildXML()
{
string strMark="0";
int iPos = 0;
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.Append("<?xml version=\"1.0\" ?>");
resultBuilder.AppendFormat("<complete{0}>", iPos == 0 ? string.Empty : " add=\"true\"");
if (!string.IsNullOrEmpty(strMark))
{
string js = "";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
DataSet ds = T_ALL_DA.GetTCodeGoods();
if (ds != null)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["GOODCODE"].ToString().Trim() != "" || dr["GOODNAME"].ToString().Trim() != "")
{
js = dr["GOODCODE"].ToString().Trim() + " | " + dr["GOODNAME"].ToString().Trim();
resultBuilder.AppendFormat("<option value=\"{0}\">{1}</option>", dr["GOODCODE"].ToString().Trim(), js);//dr["GOODNAME"].ToString().Trim());
}
}
}
}
resultBuilder.AppendFormat("<option value=\"{0}\">{1}</option>", "", "");
resultBuilder.Append("</complete>");
return resultBuilder.ToString().Replace("&", "&amp;");
}
public XmlDocument GetDoc()
{
XmlDocument xmldoc = new XmlDocument();
string content = BuildXML();
try
{
xmldoc.LoadXml(content);
}
catch (Exception)
{
}
return xmldoc;
}
#region 获取费率信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string GetRateBySearch(string strSearch)
{
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string strSql = "";
TopSeaiEntity topseaientity = new TopSeaiEntity();
SeaImportInfoDA opseaiDA = new SeaImportInfoDA();
topseaientity = opseaiDA.GetID(strbsno);
string customername = "";
if (!strcustomer.Equals(""))
{
customername = strcustomer;
}
else
{
if (topseaientity != null)
{
customername = topseaientity.CUSTOMERNAME;
}
}
strCondition += String.Format(" and BSNO='{0}' and CUSTOMERNAME like '%{1}%' ", strbsno, customername);
//if (strSearch != null)
//{
// if (!strSearch.Trim().Equals(""))
// {
// string tempSearch = strSearch;
// tempSearch = tempSearch.Replace("{", "");
// tempSearch = tempSearch.Replace("}", "");
// tempSearch = tempSearch.Replace("[", "");
// tempSearch = tempSearch.Replace("]", "");
// string[] searchArg = tempSearch.Split(new char[] { ',' });
// for (int i = 0; i < searchArg.Length; i++)
// {
// string[] strArg = searchArg[i].Split(new char[] { ':' });
// if (!strArg[1].Replace("\"", "").Trim().Equals(""))
// {
// switch (strArg[0].Replace("\"", ""))
// {
// case "bt"://ETD BeginDate
// strCondition += String.Format(" AND STARTTIME = '{0}' ", strArg[1].Replace("\"", ""));
// break;
// case "et"://ETD EndDate
// strCondition += String.Format(" AND ENDTIME = '{0}' ", strArg[1].Replace("\"", ""));
// break;
// case "cusid"://CUSTOMER
// strCondition += String.Format(" AND CLIENTGID = '{0}' ", strArg[1].Replace("\"", ""));
// break;
// case "no"://NO
// strCondition += String.Format(" AND CONTRACTNO = '{0}'", strArg[1].Replace("\"", ""));
// break;
// case "goods":
// strCondition += String.Format(" AND GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
// break;
// default:
// break;
// }
// }
// }
// }
//}
//else
//{
// strCondition += " and 0>1";
//}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
strSql = String.Format(" SELECT {0} GID,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME,BSNO "
+ " FROM wms_rate where 1>0 {1} {2} ORDER BY FEEGRADE ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
}
else
{
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format(" SELECT {0} GID,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME,BSNO "
+ " FROM wms_rate WHERE GID NOT IN "
+ " (SELECT {1} GID FROM wms_rate WHERE 1>0 {2} {3} ORDER BY FEEGRADE ) {2} {3} "
+ " ORDER BY FEEGRADE ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
}
}
else
{
strSql = String.Format(" SELECT GID,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME,BSNO"
+ " FROM wms_rate where 1>0 {0} {1} "
+ " ORDER BY FEEGRADE ", strAuthorityCondition, strCondition);
}
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
#region 获取费率信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string GetRateList( string mode)
{
WmsRateDA WmsRateDA =new WmsRateDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string strSql = "";
switch(mode)
{
case "search":
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
if (strCacheName != null)
{
if (Session[strCacheName] != null)
{
Session.Remove(strCacheName);
}
}
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND STARTTIME >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND ENDTIME <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cusid"://CUSTOMER
strCondition += String.Format(" AND CLIENTGID = '{0}' ", strArg[1].Replace("\"", ""));
break;
case "no"://NO
strCondition += String.Format(" AND CONTRACTNO = '{0}'", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
strSql = String.Format(" SELECT {0} GID,GOODSNAME,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME "
+ " FROM wms_rate where 1>0 {1} {2} ORDER BY GOODSNAME DESC ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
}
else
{
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format(" SELECT {0} GID,GOODSNAME,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME "
+ " FROM wms_rate WHERE GID NOT IN "
+ " (SELECT {1} GID FROM wms_rate WHERE 1>0 {2} {3} ORDER BY GOODSNAME DESC ) {2} {3} "
+ " ORDER BY GOODSNAME DESC ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
}
}
else
{
strSql = String.Format(" SELECT GID,GOODSNAME,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME"
+ " FROM wms_rate where 1>0 {0} {1} "
+ " ORDER BY GOODSNAME DESC ", strAuthorityCondition, strCondition);
}
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
break;
case "cus":
strSql = String.Format(" SELECT GID,GOODSNAME,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,REMARK,CREATEUSER,MODIFIEDTIME FROM wms_rate where CUSTOMERNAME='{0}'", strcustomer);
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
break;
}
return sourceBuilder.ToString();
}
#endregion
# region 删除仓储费率Wms_Feecode并返回删除操作结果
/// <summary>
/// 删除仓储费率,并返回删除操作结果
/// </summary>
/// <param name="tempFeeID"></param>
/// <returns>返回删除操作结果</returns>
private bool DeleteWmsFeeCode(string strRateGid)
{
bool iResult = false;
WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA();
iResult = WmsFeeCodeDA.Delete(strRateGid);
return iResult;
}
#endregion
# region 删除仓储费率Wms_rate并返回删除操作结果
/// <summary>
/// 删除仓储费率,并返回删除操作结果
/// </summary>
/// <param name="tempFeeID"></param>
/// <returns>返回删除操作结果</returns>
private bool DeleteWmsRate(string strRateGid)
{
bool iResult=false ;
WmsRateDA wmsRateDA = new WmsRateDA();
iResult = wmsRateDA.Delete(strRateGid);
return iResult;
}
#endregion
# region 多条件删除仓储费率Wms_rate并返回删除操作结果
/// <summary>
/// 多条件删除仓储费率,并返回删除操作结果
/// </summary>
/// <param name="tempFeeID"></param>
/// <returns>返回删除操作结果</returns>
private bool DeleteWmsRateDtj()
{
bool iResult = false;
WmsRateDA wmsRateDA = new WmsRateDA();
string cusid = "", no = "", goods = "";
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "cusid"://CUSTOMER
cusid = strArg[1].Replace("\"", "");
break;
case "no"://CONTRACTNO
no = strArg[1].Replace("\"", "");
break;
case "goods"://goodsname
goods = strArg[1].Replace("\"", "");
break;
default:
break;
}
}
}
iResult = wmsRateDA.DeleteDTj(strbsno);
return iResult;
}
#endregion
#region 获取费率信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string GetWmsOutListBySearch()
{
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND a.DODATE >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND a.DODATE <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND a.CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "bsno"://NO
//strCondition += String.Format(" AND (a.ASSOCIATEDNO in ((select bsno from op_seai where mblno like '%{0}%') union all (select bsno from op_seae where mblno like '%{0}%')) or a.bsno like '%{0}%')", strArg[1].Replace("\"", "")); //by lcx
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND a.GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (strbsno != "")
{
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strbsno);
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,b.CUSTOMERNAME,convert(char(10),a.DODATE,20),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,b.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CUSTOMERNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms c on b.INBSNO=c.GID "
// + " where c.ISDELETE=0 {1} {2} ORDER BY a.GOODSNAME DESC ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,b.CUSTOMERNAME,convert(char(10),a.DODATE,20),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,b.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CUSTOMERNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms c on b.INBSNO=c.GID WHERE c.ISDELETE=0 and a.GID NOT IN "
// + " (SELECT {1} a.GID from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms c on b.INBSNO=c.GID WHERE c.ISDELETE=0 {2} {3} ORDER BY a.GOODSNAME DESC ) {2} {3} "
// + " ORDER BY a.GOODSNAME DESC ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
// }
//}
//else
//{
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,b.CUSTOMERNAME,convert(char(10),a.DODATE,20),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,b.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CUSTOMERNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms c on b.INBSNO=c.GID where c.ISDELETE=0 {0} {1} "
// + " ORDER BY a.GOODSNAME DESC ", strAuthorityCondition, strCondition);
//}
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
strSql = String.Format(" SELECT {0} a.GID,(case a.ISLOCK when 1 then '是' else '否' end) as ISLOCK"
+ ",(case a.ISCHANGE when 1 then '货权转移' else '' end) as ISCHANGE"
//+ ",(case when a.REMARK like '%货权转移%' then '货权转移' else '' end) as ISREMARK"
+ ", blno=(select top 1 mblno from op_seai where bsno=a.ASSOCIATEDNO),a.BSNO,a.CUSTOMERNAME,a.CLIENTNAMEOLD,a.TRUCKNAME,convert(char(10),a.DODATE,20) as DODATE,convert(char(10),a.OLDCUSTFEEDATE,20) as OLDCUSTFEEDATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSPACKPFSL,a.GOODSOUTFEE,CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER),convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,a.TRUCKNO "
+ " from wms_out a "
+ " where 1=1 {1} {2} ORDER BY a.GOODSNAME DESC ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
}
else
{
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format(" SELECT {0} a.GID,(case a.ISLOCK when 1 then '是' else '否' end) as ISLOCK"
+ ",(case a.ISCHANGE when 1 then '货权转移' else '' end) as ISCHANGE"
//+ ",(case when a.REMARK like '%货权转移%' then '货权转移' else '' end) as ISREMARK"
+ ", blno=(select top 1 mblno from op_seai where bsno=a.ASSOCIATEDNO),a.BSNO,a.CUSTOMERNAME,a.CLIENTNAMEOLD,a.TRUCKNAME,convert(char(10),a.DODATE,20) as DODATE,convert(char(10),a.OLDCUSTFEEDATE,20) as OLDCUSTFEEDATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSPACKPFSL,a.GOODSOUTFEE,CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER),convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,a.TRUCKNO "
+ " from wms_out a "
+ " WHERE 1=1 and a.GID NOT IN (SELECT {1} a.GID from wms_out a "
+ " WHERE 1=1 {2} {3} ORDER BY a.GOODSNAME DESC ) {2} {3} "
+ " ORDER BY a.GOODSNAME DESC ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
}
}
else
{
strSql = String.Format(" SELECT {0} a.GID,(case a.ISLOCK when 1 then '是' else '否' end) as ISLOCK"
+ ",(case a.ISCHANGE when 1 then '货权转移' else '' end) as ISCHANGE"
//+ ",(case when a.REMARK like '%货权转移%' then '货权转移' else '' end) as ISREMARK"
+ ", blno=(select top 1 mblno from op_seai where bsno=a.ASSOCIATEDNO),a.BSNO,a.CUSTOMERNAME,a.CLIENTNAMEOLD,a.TRUCKNAME,convert(char(10),a.DODATE,20) as DODATE,convert(char(10),a.OLDCUSTFEEDATE,20) as OLDCUSTFEEDATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSPACKPFSL,a.GOODSOUTFEE,CREATEUSER=(select SHOWNAME from [user] where gid=a.CREATEUSER),convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,a.TRUCKNO "
+ " from wms_out a "
+ " ORDER BY a.GOODSNAME DESC ", strAuthorityCondition, strCondition);
}
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
#region 获取费率信息
/// <summary>
/// 获取费率信息
/// </summary>
/// <returns>返回JSON数据</returns>
private int GetWmsOutLispagetBySearch()
{
int TmpCount = 0;
WmsRateDA WmsRateDA = new WmsRateDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
//string strTopInclude = "";
//string strTopNotInclude = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "bt"://ETD BeginDate
strCondition += String.Format(" AND a.DODATE >= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "et"://ETD EndDate
strCondition += String.Format(" AND a.DODATE <= '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND a.CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "bsno"://NO
//strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%'", strArg[1].Replace("\"", ""));
strCondition += String.Format(" AND (a.ASSOCIATEDNO in ((select bsno from op_seai where mblno like '%{0}%') union all (select bsno from op_seae where mblno like '%{0}%')) or a.bsno like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "goods":
strCondition += String.Format(" AND a.GOODSNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (strbsno != "" && strbsno!=null)
{
strCondition += String.Format(" AND a.ASSOCIATEDNO like '%{0}%' ", strbsno);
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,a.CUSTOMERNAME,convert(char(19),a.DODATE,120),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,a.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CLIENTNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO "
// + " where c.ISDELETE=0 {1} {2} ORDER BY GOODSNAME DESC ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,a.CUSTOMERNAME,convert(char(19),a.DODATE,120),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,a.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CLIENTNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO WHERE c.ISDELETE=0 and a.GID NOT IN "
// + " (SELECT {1} a.GID from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO WHERE c.ISDELETE=0 {2} {3} ORDER BY GOODSNAME DESC ) {2} {3} "
// + " ORDER BY GOODSNAME DESC ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
// }
//}
//else
//{
// strSql = String.Format(" SELECT {0} a.GID,a.BSNO,a.CUSTOMERNAME,convert(char(19),a.DODATE,120),a.STORAGENAME,a.GOODSNAME,a.GOODSMODEL,a.GOODSPFSL,a.GOODSOUTFEE,a.GOODSPACKPFSL,a.TRUCKNO,a.REMARK,a.CREATEUSER,convert(char(19),a.CREATETIME,120),a.ASSOCIATEDNO,isnull(c.CLIENTNAME,'') newcust "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO where c.ISDELETE=0 {0} {1} "
// + " ORDER BY GOODSNAME DESC ", strAuthorityCondition, strCondition);
//}
//strSql = String.Format(" SELECT COUNT(*) "
// + " from wms_out a left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO where c.ISDELETE=0 {0} {1} "
// , strAuthorityCondition, strCondition);
strSql = String.Format(" SELECT COUNT(*) "
+ " from wms_out a "//left outer join wms_out_detail b on a.BSNO=b.OUTBSNO left outer join wms_in c on b.INBSNO=c.BSNO
+ " where 1=1 {0} {1} "
, strAuthorityCondition, strCondition);
sourceTable = WmsRateDA.GetExcuteSql(strSql).Tables[0];
if (sourceTable!=null){
TmpCount=int.Parse(sourceTable.Rows[0][0].ToString());
}
return TmpCount;
}
#endregion
#region 获取入库wms_in信息
/// <summary>
/// 获取入库wms_in信息
/// </summary>
/// <returns>返回JSON数据</returns>
private string GetWmsInList()
{
WmsInDA WmsInDA = new WmsInDA();
DataTable sourceTable;
StringBuilder sourceBuilder = new StringBuilder();
string strCondition = "";
//string strTopInclude = "";
//string strTopNotInclude = "";
string strSql = "";
if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "opseaibsno"://CUSTOMER
strCondition += String.Format(" AND ASSOCIATEDNO = '{0}' ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND CUSTOMERNAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "blno"://NO
strCondition += String.Format(" AND BLNO like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "store":
strCondition += String.Format(" AND STORAGENAME like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
else
{
if (!strbsno.Equals(null) && !strbsno.Equals(""))
{
strCondition += String.Format(" AND ASSOCIATEDNO = '{0}' ", strbsno);
}
else
{
strCondition += " and 0>1";
}
}
string strAuthorityCondition = "";
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
//if (iCurrentPage > 0 && iShowPage > 0)
//{
// if (iCurrentPage == 1)
// {
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in where 1>0 {1} {2} ORDER BY BLNO,GOODSNAME,DODATE ", "top " + iShowPage.ToString(), strAuthorityCondition, strCondition);
// }
// else
// {
// strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
// strTopInclude = "top " + iShowPage.ToString();
// strSql = String.Format(" SELECT {0} BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK "
// + " FROM wms_in WHERE BSNO NOT IN "
// + " (SELECT {1} BSNO FROM wms_in WHERE 1>0 {2} {3} ORDER BY BLNO,GOODSNAME,DODATE ) {2} {3} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strTopInclude, strTopNotInclude, strAuthorityCondition, strCondition);
// }
//}
//else
//{
// strSql = String.Format(" SELECT BSNO,BLNO,DODATE,GOODSNAME,GOODSMODEL,GOODSSTOCK,0 BCPFSL,'' TRUCKNO,'' REMARK"
// + " FROM wms_in where 1>0 {0} {1} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strAuthorityCondition, strCondition);
//}
//strSql = String.Format(" SELECT a.BSNO,a.BLNO,convert(char(10),a.DODATE,120) DODATE,a.GOODSNAME,a.GOODSMODEL,a.GOODSSTOCK,isnull(b.GOODSPFSL,0) GOODSPFSL,isnull(b.TRUCKNO,'') TRUCKNO,isnull(b.REMARK,'') REMARK,a.STORAGENAME "
// + " FROM wms_in a left outer join wms_out_detail b on a.bsno=b.INBSNO where 1>0 {0} {1} "
// + " ORDER BY a.BLNO,a.GOODSNAME,a.DODATE ", strAuthorityCondition, strCondition);
//strSql = String.Format(" SELECT BSNO,CLIENTNAME,BLNO,convert(char(10),DODATE,120) DODATE,GOODSNAME,GOODSMODEL,GOODSPACKSTOCK,GOODSSTOCK,0 as GOODSPACKPFSL,0 as GOODSPFSL,0 as ARFEE,0 as APFEE,' ' as TRUCKNO,' ' as REMARK,STORAGENAME,ASSOCIATEDNO,(GOODSSTOCK/GOODSPACKSTOCK) GOODSKGS,CLIENTNAMEOLD "
// + " FROM wms_in where isnull(ISDELETE,0)=0 and isnull(ISLOCK,0)=1 and GOODSPACKSTOCK<>0 and GOODSSTOCK>0 {0} {1} "
// + " ORDER BY BLNO,GOODSNAME,DODATE ", strAuthorityCondition, strCondition);
//sourceTable = WmsInDA.GetExcuteSql(strSql).Tables[0];
strSql = String.Format(" SELECT GID,CUSTOMERNAME,BLNO,convert(char(10),WMSDATE,120) WMSDATE,GOODSNAME,GOODSMODEL,GOODSPACKSTOCK,GOODSSTOCK,0 as GOODSPACKPFSL,0 as GOODSPFSL,0 as ARFEE,0 as APFEE,' ' as TRUCKNO,' ' as REMARK,STORAGENAME,ASSOCIATEDNO,convert(numeric(18,4),(GOODSSTOCK/GOODSPACKSTOCK)) as GOODSKGS,CLIENTNAMEOLD "
+ " FROM wms where isnull(ISDELETE,0)=0 and isnull(ISLOCK,0)=1 and GOODSPACKSTOCK<>0 and GOODSSTOCK>0 {0} {1} "
+ " ORDER BY BLNO,GOODSNAME,WMSDATE ", strAuthorityCondition, strCondition);
sourceTable = WmsInDA.GetExcuteSql(strSql).Tables[0];
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
for (int i = 0; i < sourceTable.Rows.Count; i++)
{
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
sourceBuilder.Append("data:[");
sourceBuilder.Append("\"0\",");
for (int j = 1; j < sourceTable.Columns.Count; j++)
{
string ls = sourceTable.Rows[i][j].ToString();
ls = ls.Replace("\r\n", " ");
ls = ls.Replace("\n", " ");
//
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
#endregion
#region 删除仓储费用Wms_out、wms_out_detail、ch_fee 修改wms_in、fee_gain 并返回删除操作结果
/// <summary>
/// 删除仓储费用Wms_out、wms_out_detail、ch_fee 修改wms_in、fee_gain 并返回删除操作结果
/// </summary>
/// <param name="tempGid">出库单GID</param>
/// <returns>值1删除成功 值小于1删除失败</returns>
public int DeleteWmsOutByGid(string tempGid)
{
int result = 0;
string Sqlstr = "";
//string tempfeeGid;
//string tempCurrency;
//int tempFeeType;
//decimal tempAmount;
//decimal tempRate;
//string tempBSNO;
//出库单信息
WmsOutEntity wmsoutentity = new WmsOutEntity();
WmsOutDA wmsoutDA = new WmsOutDA();
//ch_fee处理
IList<FeeEntity> FeeEntities = new List<FeeEntity>();
FeeDA feeDA = new FeeDA();
//入库单处理:修改
WmsInEntity wmsinentity = new WmsInEntity();
WmsOutDetailDA wmsoutdetailDA = new WmsOutDetailDA();
DataSet DsWmsOutDetail = new DataSet();
DataTable DtWmsOutDetail = new DataTable();
//string strSql = "";
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
//判断出库单相关的op_Seai是否锁定
wmsoutentity = wmsoutDA.GetModel(tempGid,"");//出库单信息
#region 删除ch_fee、fee_gain仓储费用
/*
//ch_fee处理
FeeEntities = feeDA.GetFeeByWmsOutBsno(wmsoutentity.BSNO);
foreach (FeeEntity feeEntity in FeeEntities)
{//逐行删除费用ch_fee
tempfeeGid = feeEntity.GID;
tempCurrency = feeEntity.Currency;
tempFeeType = feeEntity.FeeType;
tempAmount = feeEntity.Amount;
tempRate = feeEntity.ExchangeRate;
tempBSNO = feeEntity.BSNO;
if (feeEntity.FeeStatus == 1 || feeEntity.FeeStatus == 6)
{
//先将费用利润表中费用金额减兑
if (tempFeeType == 1)
{
if (tempCurrency == "RMB")
{
strSql = String.Format(" UPDATE fee_gain SET RMBDR = RMBDR - {0},DRTTL = DRTTL - {0},RMBPROFIT = RMBPROFIT - {0},TTLPROFIT = TTLPROFIT - {0} WHERE BSNO = '{1}' ", tempAmount, tempBSNO);
}
else
{
strSql = String.Format(" UPDATE fee_gain SET USDDR = USDDR - {0},DRTTL = DRTTL - {1},USDPROFIT = USDPROFIT - {0},TTLPROFIT = TTLPROFIT - {1} WHERE BSNO = '{2}' ", tempAmount, (tempAmount * tempRate), tempBSNO);
}
}
else
{
if (tempCurrency == "RMB")
{
strSql = String.Format(" UPDATE fee_gain SET RMBCR = RMBCR - {0},CRTTL = CRTTL - {0},RMBPROFIT = RMBPROFIT + {0},TTLPROFIT = TTLPROFIT + {0} WHERE BSNO = '{1}' ", tempAmount, tempBSNO);
}
else
{
strSql = String.Format(" UPDATE fee_gain SET USDCR = USDCR - {0},CRTTL = CRTTL - {1},USDPROFIT = USDPROFIT + {0},TTLPROFIT = TTLPROFIT + {1} WHERE BSNO = '{2}' ", tempAmount, (tempAmount * tempRate), tempBSNO);
}
}
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, null);
//重新计算百分率(利润总和/应付费用总和)
SqlParameter[] precentParms = new SqlParameter[] {
new SqlParameter(PARM_FEEPROFIT_BSNO,SqlDbType.VarChar,100)
};
precentParms[0].Value = tempBSNO;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE_PROFIT_PRECENT, precentParms);
SqlParameter parm = new SqlParameter(PARM_FEE_GID, SqlDbType.VarChar, 36);
parm.Value = tempfeeGid;
//从费用表ch_fee中将费用删除
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_DELETE_FEE_BY_GID, parm);
}
//else
//{
// result = -3;
// return result;
//}
}
*/
#endregion
//出库单明细列表
DsWmsOutDetail = wmsoutdetailDA.GetList(String.Format(" OUTBSNO='{0}' ", wmsoutentity.BSNO));
DtWmsOutDetail = DsWmsOutDetail.Tables[0];
foreach (DataRow routdetail in DtWmsOutDetail.Rows)
{
//入库单处理:修改
decimal GOODSPFSL = 0;
decimal GOODSPACKPFSL = 0;
string INBSNO = "";
GOODSPFSL= decimal.Parse(routdetail["GOODSPFSL"].ToString());
GOODSPACKPFSL = decimal.Parse(routdetail["GOODSPACKPFSL"].ToString().Equals(null) ? "0" : routdetail["GOODSPACKPFSL"].ToString());
INBSNO = routdetail["INBSNO"].ToString();
Sqlstr = String.Format("update wms set GOODSSTOCK=GOODSSTOCK+{0},GOODSPACKSTOCK=GOODSPACKSTOCK+{1} where ISDELETE=0 and ISLOCK=1 and gid='{2}' ", GOODSPFSL, GOODSPACKPFSL, INBSNO);
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
Sqlstr = "";
}
//wms_out_detail处理删除
Sqlstr = String.Format("delete wms_out_detail where OUTBSNO='{0}' ", wmsoutentity.BSNO);
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
Sqlstr = "";
//wms_out处理删除
Sqlstr = String.Format("delete wms_out where BSNO='{0}' ", wmsoutentity.BSNO);
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
result = 1;//状态为1表示删除成功
sqlTran.Commit();
}
catch (Exception execError)
{
result = -1;//有异常,插入失败
sqlTran.Rollback();
result = -2;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return result;
}
#endregion
//
}
}