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 columnsEntities = new List(); 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; } /// /// 导出Excel /// /// 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; } /// /// 导出Excel /// /// 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; } /// /// 导出Excel /// /// 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; } // } }