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/WMS/WmsWmsrateTestListGridSourc...

888 lines
48 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.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text;
using DSWeb.EntityDA;
using DSWeb.Models;
using System.Xml;
using System.Text.RegularExpressions;
using WebSqlHelper;
using System.Data.SqlClient;
namespace DSWeb.WMS
{
public partial class WmsWmsrateTestListGridSource : System.Web.UI.Page
{
private int iCurrentPage;
private int iShowPage;
private string strHandle;//值为"page"获取分页状态值数组 值为"list"获取日志显示JSON数据 值为"columns"获取日志显示记录 值为"rename"更新列标题
private string strType = "51";//Grid模块号
private string strOldHeader;
private string strNewHeader;
public string strgids = "";
private string strUserID;//用户GID
private string strCompanyID;//公司GID
private string strShowName;//用户显示名
private string strDeptName;//部门名称
T_ALL_DA T_ALL_DA = new T_ALL_DA();
protected void Page_Load(object sender, EventArgs e)
{
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().Trim().ToLower();
}
if (Request.QueryString["cur_page"] != null)
{
iCurrentPage = int.Parse(Request.QueryString["cur_page"].ToString().Trim());
}
if (Request.QueryString["show_page"] != null)
{
iShowPage = int.Parse(Request.QueryString["show_page"].ToString().Trim());
}
//
ViewState["hid_sel"] = "";
if (Request.QueryString["search"] != null && Request.QueryString["search"].ToString().Trim() != "")
{
UnicodeEncoding unicode = new UnicodeEncoding();
ViewState["hid_sel"] = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString())));
}
//
string strJSON = "";
if (strHandle != null)
{
if (strHandle.Equals("list"))
{
if (iCurrentPage <= 0 && iShowPage < 0)
{
strJSON = "-2";//提交页数参数错误
}
}
if (strHandle.Trim().ToLower().Equals("setting"))
{
Response.Write(GetUserSettingJson());
}
if (strHandle.Trim().ToLower().Equals("page"))
{
Response.Write(GetPageInfo().ToString());
}
if (strHandle.Trim().ToLower().Equals("list"))
{
Response.Write(GetLogContent(iShowPage, iCurrentPage));
}
if (strHandle.Trim().ToLower().Equals("rename"))
{
if (Request.QueryString["old_header"] != null && Request.QueryString["new_header"] != null)
{
UnicodeEncoding unicode = new UnicodeEncoding();
strOldHeader = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["old_header"].ToString())));
strNewHeader = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["new_header"].ToString())));
Response.Write(UpdateColumnHeader(strOldHeader, strNewHeader));
}
else
{
Response.Write("-1");//GET 参数错误
}
}
if (strHandle.Trim().ToLower().Equals("setexcel"))//导出Excel
{
Response.Write(GetExcelSQL());
}
if (strHandle.Trim().ToLower().Equals("setexcel2"))//导出Excel
{
Response.Write(GetExcelSQL2());
}
if (strHandle.Trim().ToLower().Equals("setexcel3"))//导出Excel
{
Response.Write(GetExcelSQL3());
}
}
else
{
strJSON = "-1";//GET 参数错误
}
}
private int UpdateColumnHeader(string tempOldHeader, string tempNewHeader)
{
int iResult = 0;
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
GridEntity gridEntity = null;
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Description.Equals(tempOldHeader))
{
column.Description = tempNewHeader;
break;
}
}
userSettingEntity.Xml = GetUserSettingXml(gridEntity).OuterXml;
iResult = userSettingDA.UpdateUserSetting(userSettingEntity);
}
else
{
iResult = -3;//没有相关用户Grid设置记录
}
}
else
{
iResult = -3;//没有相关用户Grid设置记录
}
return iResult;
}
private string GetUserSettingJson()
{
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
GridEntity gridEntity = null;
StringBuilder settingBuilder = new StringBuilder();
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
settingBuilder.Append("{");
settingBuilder.Append("\"show\":" + gridEntity.PagePreCount + ",");
settingBuilder.Append("\"columns\":");
int i = 0;
StringBuilder columnGroupBuilder = new StringBuilder();
while (gridEntity.Columns.Count > i)
{
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Index == i)
{
StringBuilder columnBuilder = new StringBuilder();
columnBuilder.Append("{\"name\":\"" + column.Name + "\",");
columnBuilder.Append("\"description\":\"" + column.Description + "\",");
columnBuilder.Append("\"index\":" + column.Index.ToString() + ",");
columnBuilder.Append("\"width\":" + column.Width.ToString() + ",");
columnBuilder.Append("\"visible\":" + column.VisibleState.ToString());
columnGroupBuilder.Append(columnBuilder.ToString() + "},");
break;
}
}
i++;
}
string strGroup = columnGroupBuilder.ToString().Trim();
if (strGroup.EndsWith(","))
{
strGroup = strGroup.Substring(0, strGroup.Length - 1);
}
strGroup = "[" + strGroup + "]";
settingBuilder.Append(strGroup);
settingBuilder.Append("}");
}
else
{
settingBuilder.Append("-3");//没有相关用户Grid设置记录
}
}
else
{
settingBuilder.Append("-3");//没有相关用户Grid设置记录
}
return settingBuilder.ToString();
}
private GridEntity GetSettingXml(string strXml)
{
XmlDocument xmlSettingDoc = new XmlDocument();
GridEntity gridEntity = new GridEntity();
try
{
xmlSettingDoc.LoadXml(strXml);
gridEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[0].InnerText.Trim();
gridEntity.UserID = xmlSettingDoc.ChildNodes[0].ChildNodes[1].InnerText.Trim();
gridEntity.CreateTime = DateTime.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[2].InnerText.Trim());
IList<GridColumnEntity> columnsEntities = new List<GridColumnEntity>();
int iColCount = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes.Count;
for (int i = 0; i < iColCount; i++)
{
GridColumnEntity columnEntity = new GridColumnEntity();
//columnEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[0].ToString();
columnEntity.Name = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[0].InnerText.Trim();
columnEntity.Description = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[1].InnerText.Trim();
columnEntity.Index = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[2].InnerText.Trim());
columnEntity.Width = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[3].InnerText.Trim());
columnsEntities.Add(columnEntity);
}
gridEntity.Columns = columnsEntities;
gridEntity.GroupBy = xmlSettingDoc.ChildNodes[0].ChildNodes[4].InnerText.Trim();
gridEntity.DefaultPrePageCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[0].InnerText.Trim());
gridEntity.PagePreCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[1].InnerText.Trim());
}
catch (Exception error)
{
throw (error);
}
return gridEntity;
}
private int GetPageInfo()
{
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
string strSql = " SELECT COUNT(*) FROM wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "'";
//string strSql = String.Format("SELECT COUNT(*) FROM VW_WMS_STOCKTAKE WHERE 1=1 " + ViewState["hid_sel"].ToString().Trim());
int iTotal = logDA.GetPageTotal(strSql);
return iTotal;
}
private string GetLogContent(int tempShowPage, int tempCurPage)
{
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;//是否包含已经出库的仓储费;
string strSearch = ViewState["hid_sel"].ToString().Trim();
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 w.CUSTOMERNAME = '{0}' ", strArg[1].Replace("\"", ""));
break;
case "blno"://NO
strCondition += String.Format(" AND w.BLNO like '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "customno"://NO
strCondition += String.Format(" AND w.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, "modSeaImportList");
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
//{
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
//}
if (strSearch != null)
{
#region 按计费日期计算仓储费用插入临时表
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
int iState = 0;
int result = 0;
string Sqlstr = "";
//
try
{
//
Sqlstr = "delete from wms_rate_detail where ASSOCIATEDNO in (select GID 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;
}
//
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;
}
#region 从wms中提取计费单位不等于CBM的数据
Sqlstr = String.Format("select GID,CUSTOMERNAME,STORAGENAME,BLNO,GOODSSTOCK,WMSDAYS,WMSDATE,isnull(STARTBILLINGDATE,WMSDATE) as STARTBILLINGDATE,isnull(STARTBILLINGDATEAP,WMSDATE) as STARTBILLINGDATEAP, ENDBILLINGDATE from (SELECT *,(DATEDIFF(day, convert(char(10),WMSDATE,120), '{2}') + 1) as WMSDAYS, '2013-12-07' ENDBILLINGDATE FROM wms as w where isnull(ISDELETE,0)=0 and isnull(GOODSSTOCK,0)>0 and convert(char(10),WMSDATE,120)<=convert(char(10),'{2}',120) and CHARGEUNIT<>'CBM' {0} {1} ) as a where 1=1 ORDER BY CUSTOMERNAME,BLNO ", strAuthorityCondition, strCondition, OutDate);
DataSet ds = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
if (ds != null)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
#region 计算仓储费
decimal totaloutfee = 0;//出库单的仓储费
decimal totaloutfeeap = 0;//仓储费合计
decimal sumfee = 0;
decimal sumfeeap = 0;
int feedays = 0;
int feedaysap = 0;
decimal outnums = decimal.Parse(dr["GOODSSTOCK"].ToString().Trim());//库存量
WmsOutDetailDA WmsOutDetailDA = new EntityDA.WmsOutDetailDA();
//计算应收仓储费
string getstr = WmsOutDetailDA.getWmsRate(sqlTran, dr["STARTBILLINGDATE"].ToString().Trim(), OutDate.Trim(), dr["GID"].ToString().Trim(), dr["CUSTOMERNAME"].ToString().Trim(), outnums, dr["GID"].ToString().Trim(), 1, strUserID, strShowName, "现有库存计算应收仓储费", true, false);
string[] strls = getstr.Trim().Split(new string[] { "" }, StringSplitOptions.RemoveEmptyEntries);
sumfee = Decimal.Parse(strls[0].ToString());
totaloutfee += sumfee;//仓储费合计
feedays += int.Parse(strls[1].ToString());
//计算应付仓储费
getstr = WmsOutDetailDA.getWmsRate(sqlTran, dr["STARTBILLINGDATEAP"].ToString().Trim(), OutDate.Trim(), dr["GID"].ToString().Trim(), dr["STORAGENAME"].ToString().Trim(), outnums, dr["GID"].ToString().Trim(), 2, strUserID, strShowName, "现有库存计算应付仓储费", true, false);
strls = getstr.Trim().Split(new string[] { "" }, StringSplitOptions.RemoveEmptyEntries);
sumfeeap = Decimal.Parse(strls[0].ToString());
totaloutfeeap += sumfee;//仓储费合计
feedaysap += int.Parse(strls[1].ToString());
#endregion
//
Sqlstr = String.Format("insert into wms_wmsrate_test(GID,WMSNO,INDATE,OUTDATE,ASSOCIATEDNO,BLNO,CUSTOMERNAME,STORAGENAME,GOODSNAME,GOODSMODEL,CHARGEUNIT,GOODSPACK,GOODSPACKSTOCK,GOODSRKSL,GOODSSTOCK,ARFEE,APFEE,MODIFIEDUSER,MODIFIEDTIME,ISLOCK,CORPID,CUSTOMNO,WMSDAYS,FEEDAYS,GOODSOUTFEE,FEEDAYSAP,GOODSOUTFEEAP,ISWMSOUT,CREATEUSER,CREATETIME,CORPID2,STARTBILLINGDATE,STARTBILLINGDATEAP) "
+ " select GID,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 top 1 SHOWNAME FROM [user] WHERE GID = w.MODIFIEDUSER) AS MODIFIEDUSER,getdate() as MODIFIEDTIME,ISLOCK,CORPID,CUSTOMNO,(DATEDIFF(day, convert(char(10),WMSDATE,120), '{2}') + 1) as WMSDAYS,{3} AS FEEDAYS,{4} as GOODSOUTFEE,{5} AS FEEDAYSAP,{6} as GOODSOUTFEEAP"
+ ",0 ISWMSOUT,'" + strUserID + "' as CREATEUSER,getdate() as CREATETIME,'" + strCompanyID + "' as CORPID2,'{7}'STARTBILLINGDATE,'{8}'STARTBILLINGDATEAP from wms as w 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() + "' and w.CHARGEUNIT<>'CBM' {0} {1} ", strAuthorityCondition, strCondition, OutDate, feedays, sumfee, feedaysap, sumfeeap, dr["STARTBILLINGDATE"].ToString().Trim(), dr["STARTBILLINGDATEAP"].ToString().Trim());
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
if (iState != 1)
{
sqlTran.Rollback();
result = -4;
}
}
}
#endregion
#region 从wms_in中提取计费单位等于CBM的数据
Sqlstr = String.Format("select GID,WMSGID,CUSTOMERNAME,BLNO,GOODSSTOCK,WMSDAYS from (SELECT i.GID,i.ASSOCIATEDNO as WMSGID,w.CUSTOMERNAME,w.BLNO,i.GOODSSTOCK,(DATEDIFF(day, convert(char(10),w.WMSDATE,120), '2013-09-25') + 1) as WMSDAYS FROM wms_in as i LEFT OUTER JOIN wms as w on i.ASSOCIATEDNO=w.gid where isnull(w.ISDELETE,0)=0 and isnull(i.GOODSSTOCK,0)>0 and convert(char(10),w.WMSDATE,120)<=convert(char(10),'{2}',120) and w.CHARGEUNIT='CBM' {0} {1} ) as a where 1=1 ORDER BY CUSTOMERNAME,BLNO ", strAuthorityCondition, strCondition, OutDate);
ds = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr, null);
if (ds != null)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
#region 按计费日期计算仓储费用
decimal totaloutfee = 0;//出库单的仓储费
int prescale = 0;
int nowscale = 0;
int nowgrade = 0;
decimal price = 0;
decimal gradefee = 0;
decimal sumfee = 0;
//
int iFEEDAYS = 0;//计费天数 FEEDAYS
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["WMSGID"].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;
//计算 开始计费日期和计费天数
if (price > 0)
{
iFEEDAYS = nowscale;//计费天数 FEEDAYS
}
//
prescale = nowscale;//本次收费区间
}
else
{
gradefee = outnums * price * (feedays - prescale);//出库量*收费单价*(仓储天数-上一个收费区间(0)
sumfee += gradefee;
//计算 开始计费日期和计费天数
if (price > 0)
{
iFEEDAYS = feedays - prescale;//计费天数 FEEDAYS
}
//
prescale = nowscale;//本次收费区间
break;
}
}
else if (nowgrade > 1)//收费等级
{
if (feedays > nowscale)
{
gradefee = outnums * price * (nowscale - prescale);//出库量*收费单价*(收费区间-上一个收费区间(0)
sumfee += gradefee;
//计算 开始计费日期和计费天数
if (price > 0)
{
iFEEDAYS += (nowscale - prescale);//计费天数 FEEDAYS
}
//
prescale = nowscale;//本次收费区间
}
else
{
gradefee = outnums * price * (feedays - prescale);//出库量*收费单价*(仓储天数-上一个收费区间(0)
sumfee += gradefee;
//计算 开始计费日期和计费天数
if (price > 0)
{
iFEEDAYS += (feedays - prescale);//计费天数 FEEDAYS
}
//
prescale = nowscale;//本次收费区间
break;
}
}
}
if (feedays > nowscale)
{
gradefee = outnums * price * (feedays - nowscale);//出库量*收费单价*(仓储天数-收费区间(0)
sumfee += gradefee;
//计算 开始计费日期和计费天数
if (price > 0)
{
iFEEDAYS += (feedays - nowscale);//计费天数 FEEDAYS
}
}
//
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,GOODSSLICE,GOODSGRADE,GOODSSTANDARD) "
+ " select WMSNO,convert(char(10),w.WMSDATE,120) INDATE,'{2}' OUTDATE,w.ASSOCIATEDNO,w.BLNO,w.CUSTOMERNAME,w.STORAGENAME,i.GOODSNAME,i.GOODSMODEL,w.CHARGEUNIT,isnull(i.GOODSPACK,0) as GOODSPACK,isnull(i.GOODSPACKSTOCK,0) as GOODSPACKSTOCK,isnull(i.GOODSRKSL,0) as GOODSRKSL,isnull(i.GOODSSTOCK,0) as GOODSSTOCK,isnull(i.ARFEE,0) as ARFEE,isnull(i.APFEE,0) as APFEE,(SELECT top 1 SHOWNAME FROM [user] WHERE GID = w.MODIFIEDUSER) AS MODIFIEDUSER,getdate() as MODIFIEDTIME,w.ISLOCK,w.CORPID,w.CUSTOMNO,(DATEDIFF(day, convert(char(10),w.WMSDATE,120), '{2}') + 1) as WMSDAYS,'{3}' AS FEEDAYS,{4} as GOODSOUTFEE"
+ ",0 ISWMSOUT,'" + strUserID + "' as CREATEUSER,getdate() as CREATETIME,'" + strCompanyID + "' as CORPID2,i.GOODSSLICE,i.GOODSGRADE,i.GOODSSTANDARD from wms_in as i LEFT OUTER JOIN wms as w on i.ASSOCIATEDNO=w.gid where isnull(w.ISDELETE,0)=0 and isnull(i.GOODSSTOCK,0)>0 and convert(char(10),w.WMSDATE,120)<=convert(char(10),'{2}',120) and i.GID='" + dr["GID"].ToString().Trim() + "' and w.CHARGEUNIT='CBM' {0} {1} ", strAuthorityCondition, strCondition, OutDate, iFEEDAYS, sumfee);
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
if (iState != 1)
{
sqlTran.Rollback();
result = -4;
}
}
}
#endregion
//
result = 1;//状态为1表示删除成功
sqlTran.Commit();
}
catch (Exception execError)
{
result = -10;//有异常,插入失败
sqlTran.Rollback();
result = -11;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
#endregion
}
//货主,提单号,备案清单号,入库单号,入库日期,计费日期,仓库名称,等级,品名,型号/品牌,规格,片数/件,剩余件数,剩余库存,计费单位,仓储天数,计费天数,仓储费,开单人,开单时间,进口委托单号,是否有出库单;
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),STARTBILLINGDATE,120) STARTBILLINGDATE,convert(char(10),STARTBILLINGDATEAP,120) STARTBILLINGDATEAP,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSGRADE,GOODSNAME,GOODSMODEL,GOODSSTANDARD,GOODSSLICE,GOODSPACKSTOCK,GOODSSTOCK,CHARGEUNIT,WMSDAYS,FEEDAYS,GOODSOUTFEE,FEEDAYSAP,GOODSOUTFEEAP,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),STARTBILLINGDATE,120) STARTBILLINGDATE,convert(char(10),STARTBILLINGDATEAP,120) STARTBILLINGDATEAP,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSGRADE,GOODSNAME,GOODSMODEL,GOODSSTANDARD,GOODSSLICE,GOODSPACKSTOCK,GOODSSTOCK,CHARGEUNIT,WMSDAYS,FEEDAYS,GOODSOUTFEE,FEEDAYSAP,GOODSOUTFEEAP,MODIFIEDUSER,MODIFIEDTIME,ASSOCIATEDNO,ISWMSOUT "
+ " FROM wms_wmsrate_test WHERE GID NOT IN "
+ " (SELECT {1} GID FROM wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "' ORDER BY CUSTOMERNAME,BLNO ) and CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "'"
+ " ORDER BY CUSTOMERNAME,BLNO ", strTopInclude, strTopNotInclude);
}
}
else
{
strSql = "SELECT GID,CUSTOMERNAME,BLNO,CUSTOMNO,WMSNO,convert(char(10),INDATE,120) INDATE,convert(char(10),STARTBILLINGDATE,120) STARTBILLINGDATE,convert(char(10),STARTBILLINGDATEAP,120) STARTBILLINGDATEAP,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSGRADE,GOODSNAME,GOODSMODEL,GOODSSTANDARD,GOODSSLICE,GOODSPACKSTOCK,GOODSSTOCK,CHARGEUNIT,WMSDAYS,FEEDAYS,GOODSOUTFEE,FEEDAYSAP,GOODSOUTFEEAP,MODIFIEDUSER,MODIFIEDTIME,ASSOCIATEDNO,0 as 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\",");
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();
}
private string GetSeaExPKGSInfoBusinessListGridSource()
{
//GetLogGridSource
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
StringBuilder userdateBuilder = new StringBuilder();
StringBuilder dataBuilder = new StringBuilder();
string strSql = String.Format("SELECT COUNT(*) FROM VW_WMS_STOCKTAKE WHERE 1=1 " + ViewState["hid_sel"].ToString().Trim());
DataTable sourceBuilder = logDA.GetExcuteSql(strSql).Tables[0];
logBuilder.Append("{");
logBuilder.Append("rows:[");
for (int i = 0; i < sourceBuilder.Rows.Count; i++)
{
logBuilder.Append("{id:\"" + sourceBuilder.Rows[i][0].ToString() + "\",");
userdateBuilder.Append("userdata:{");
dataBuilder.Append("data:[");
for (int j = 1; j < sourceBuilder.Columns.Count; j++)
{
if (j == sourceBuilder.Columns.Count - 1)
{
userdateBuilder.Append("\"" + sourceBuilder.Columns[j].ColumnName + "\":\"" + sourceBuilder.Rows[i][j].ToString() + "\"");
dataBuilder.Append("\"" + sourceBuilder.Rows[i][j].ToString() + "\"");
}
else
{
userdateBuilder.Append("\"" + sourceBuilder.Columns[j].ColumnName + "\":\"" + sourceBuilder.Rows[i][j].ToString() + "\",");
dataBuilder.Append("\"" + sourceBuilder.Rows[i][j].ToString() + "\",");
}
}
userdateBuilder.Append("}");
dataBuilder.Append("]");
logBuilder.Append(userdateBuilder.ToString() + ",");
logBuilder.Append(dataBuilder);
if (i == sourceBuilder.Rows.Count - 1)
{
logBuilder.Append("}");
}
else
{
logBuilder.Append("},");
}
}
logBuilder.Append("]");
logBuilder.Append("}");
return logBuilder.ToString();
//return logBuilder.ToString();
}
private DataTable GetSqlDataIndex(DataTable tempTable)
{
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
GridEntity gridEntity = null;
StringBuilder settingBuilder = new StringBuilder();
DataTable dataTable = new DataTable();
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
int i = 0;
StringBuilder columnGroupBuilder = new StringBuilder();
dataTable.Columns.Add(tempTable.Columns[0].ColumnName, tempTable.Columns[0].DataType);
for (int k = 0; k < tempTable.Rows.Count; k++)
{
DataRow newRow = dataTable.NewRow();
newRow[tempTable.Columns[0].ColumnName] = tempTable.Rows[k][tempTable.Columns[0].ColumnName].ToString();
dataTable.Rows.Add(newRow);
}
while (gridEntity.Columns.Count > i)
{
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Index == i)
{
for (int j = 1; j < tempTable.Columns.Count; j++)
{
if (tempTable.Columns[j].ColumnName.Equals(column.Name))
{
dataTable.Columns.Add(tempTable.Columns[j].ColumnName, tempTable.Columns[j].DataType);
for (int k = 0; k < tempTable.Rows.Count; k++)
{
dataTable.Rows[k][tempTable.Columns[j].ColumnName] = tempTable.Rows[k][tempTable.Columns[j].ColumnName].ToString();
}
break;
}
}
break;
}
}
i++;
}
}
else
{
return tempTable;
}
}
else
{
return tempTable;
}
return dataTable;
}
private XmlDocument GetUserSettingXml(GridEntity gridEntity)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement root = xmlDoc.CreateElement("user-settings");
//xmlDoc.AppendChild(root);
XmlElement xGID = xmlDoc.CreateElement("GID");
xGID.InnerText = gridEntity.GID;
root.AppendChild(xGID);
XmlElement xUserID = xmlDoc.CreateElement("userid");
xUserID.InnerText = gridEntity.UserID;
root.AppendChild(xUserID);
XmlElement xCreateTime = xmlDoc.CreateElement("create-time");
xCreateTime.InnerText = gridEntity.CreateTime.ToString();
root.AppendChild(xCreateTime);
XmlElement xColumns = xmlDoc.CreateElement("columns");
foreach (GridColumnEntity column in gridEntity.Columns)
{
XmlElement xColumn = xmlDoc.CreateElement("column");
XmlElement nName = xmlDoc.CreateElement("name");
nName.InnerText = column.Name;
xColumn.AppendChild(nName);
XmlElement nDescription = xmlDoc.CreateElement("description");
nDescription.InnerText = column.Description;
xColumn.AppendChild(nDescription);
XmlElement nIndex = xmlDoc.CreateElement("index");
nIndex.InnerText = column.Index.ToString();
xColumn.AppendChild(nIndex);
XmlElement nWidth = xmlDoc.CreateElement("width");
nWidth.InnerText = column.Width.ToString();
xColumn.AppendChild(nWidth);
XmlElement nVisible = xmlDoc.CreateElement("visible");
nVisible.InnerText = column.VisibleState.ToString();
xColumn.AppendChild(nVisible);
xColumns.AppendChild(xColumn);
}
root.AppendChild(xColumns);
XmlElement xGroupBy = xmlDoc.CreateElement("group-by");
xGroupBy.InnerText = gridEntity.GroupBy;
root.AppendChild(xGroupBy);
XmlElement xPage = xmlDoc.CreateElement("page");
XmlElement nPageDefault = xmlDoc.CreateElement("page-default");
nPageDefault.InnerText = gridEntity.DefaultPrePageCount.ToString();
xPage.AppendChild(nPageDefault);
XmlElement nPagePre = xmlDoc.CreateElement("page-pre");
nPagePre.InnerText = gridEntity.PagePreCount.ToString();
xPage.AppendChild(nPagePre);
root.AppendChild(xPage);
xmlDoc.AppendChild(root);
return xmlDoc;
}
/// <summary>
/// 导出Excel
/// </summary>
/// <returns></returns>
private string GetExcelSQL()
{
string strSql = " SELECT CUSTOMERNAME,BLNO,CUSTOMNO,WMSNO,convert(char(10),INDATE,120) INDATE,convert(char(10),STARTBILLINGDATE,120) STARTBILLINGDATE,convert(char(10),STARTBILLINGDATEAP,120) STARTBILLINGDATEAP,convert(char(10),OUTDATE,120) OUTDATE,STORAGENAME,GOODSGRADE,GOODSNAME,GOODSMODEL,GOODSSTANDARD,GOODSSLICE,GOODSPACKSTOCK,GOODSSTOCK,CHARGEUNIT,WMSDAYS,FEEDAYS,GOODSOUTFEE,FEEDAYSAP,GOODSOUTFEEAP,MODIFIEDUSER,MODIFIEDTIME FROM wms_wmsrate_test where CREATEUSER='" + strUserID + "' and CORPID2='" + strCompanyID + "' ORDER BY CUSTOMERNAME,BLNO ";
return strSql;
}
/// <summary>
/// 导出Excel
/// </summary>
/// <returns></returns>
private string GetExcelSQL2()
{
//货主,提单号,备案清单号,入库单号,仓库名称,等级,品名,型号/品牌,规格,片数/件,计费等级,费用类别,开始计费日期,结束计费日期,计费区间,单位,单价,出库量,仓储费,创建人,创建时间
string strSql = " SELECT W.CUSTOMERNAME,W.BLNO,W.CUSTOMNO,W.WMSNO,W.STORAGENAME"
+ ",W.GOODSGRADE,W.GOODSNAME,W.GOODSMODEL,W.GOODSSTANDARD,W.GOODSSLICE,R.FEEGRADE"
+ ",(case R.FEETYPE when 1 then '收' else '付' end) as FEETYPE"
+ ",convert(char(10),R.STARTBILLINGDATE,20) AS STARTBILLINGDATE"
+ ",convert(char(10),R.ENDBILLINGDATE,20) AS ENDBILLINGDATE"
+ ",R.FEESCALE,R.FEEUNIT,R.FEEPRICE,R.GOODSPFSL,R.OUTFEE"
+ ",MODIFIEDUSER=(select top 1 SHOWNAME from [user] where gid=R.MODIFIEDUSER),R.MODIFIEDTIME"
+ " FROM wms_wmsrate_test as W LEFT OUTER JOIN wms_rate_detail AS R on R.ASSOCIATEDNO=W.GID"
+ " where W.CREATEUSER='" + strUserID + "' and W.CORPID2='" + strCompanyID + "' and R.FEETYPE=1 "
+ " ORDER BY W.CUSTOMERNAME,W.BLNO,R.ASSOCIATEDNO,R.FEETYPE,R.FEEGRADE,R.MODIFIEDTIME";//R.GID,R.ASSOCIATEDNO,
return strSql;
}
/// <summary>
/// 导出Excel
/// </summary>
/// <returns></returns>
private string GetExcelSQL3()
{
//货主,提单号,备案清单号,入库单号,仓库名称,等级,品名,型号/品牌,规格,片数/件,计费等级,费用类别,开始计费日期,结束计费日期,计费区间,单位,单价,出库量,仓储费,创建人,创建时间
string strSql = " SELECT W.CUSTOMERNAME,W.BLNO,W.CUSTOMNO,W.WMSNO,W.STORAGENAME"
+ ",W.GOODSGRADE,W.GOODSNAME,W.GOODSMODEL,W.GOODSSTANDARD,W.GOODSSLICE,R.FEEGRADE"
+ ",(case R.FEETYPE when 1 then '收' else '付' end) as FEETYPE"
+ ",convert(char(10),R.STARTBILLINGDATE,20) AS STARTBILLINGDATE"
+ ",convert(char(10),R.ENDBILLINGDATE,20) AS ENDBILLINGDATE"
+ ",R.FEESCALE,R.FEEUNIT,R.FEEPRICE,R.GOODSPFSL,R.OUTFEE"
+ ",MODIFIEDUSER=(select top 1 SHOWNAME from [user] where gid=R.MODIFIEDUSER),R.MODIFIEDTIME"
+ " FROM wms_wmsrate_test as W LEFT OUTER JOIN wms_rate_detail AS R on R.ASSOCIATEDNO=W.GID"
+ " where W.CREATEUSER='" + strUserID + "' and W.CORPID2='" + strCompanyID + "' and R.FEETYPE=2 "
+ " ORDER BY W.CUSTOMERNAME,W.BLNO,R.ASSOCIATEDNO,R.FEETYPE,R.FEEGRADE,R.MODIFIEDTIME";//R.GID,R.ASSOCIATEDNO,
return strSql;
}
//
}
}