using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MODEL.Page; using GThinking.N_WORKFLOW; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using System.Text; using System.Collections.Generic; using GThinking.N_CONTROL; using System.Drawing; using GThinking.N_MISPRO.MISPROAS; namespace GThinking.N_XLXSBJ { public partial class XLBJD_WGCPBJList : SingleGridBase { XLBJD_WGCPBJ entity = new XLBJD_WGCPBJ(); int iXSWS = 5; private string sBJDID = ""; private string sWGCPTZBZ = ""; #region 页面事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860000; this.UMName = "线缆销售报价单"; this.CurMaster = Master; this.ModuleGV = grdGrid; this.CurEntity = entity; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSBJDMX_XH", "XLXSBJDMX_WGCPBZ", "XLXSBJDMX_JLDW", "XLXSBJDMX_XLXHID","XLXSBJDMX_XLGGID","XLXSBJDMX_XLBZID","XLXSBJDMX_DYDJID" }; this.Master.EnableNewBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableViewBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableQueryBtn = false; this.Master.EnableAttachBtn = false; this.Master.EnablePrintBtn = false; iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); if (iXSWS < 0) { iXSWS = 0; } else if (iXSWS > 8) { iXSWS = 8; } sBJDID = PageParam.GetRTrimString("BJDID"); sWGCPTZBZ = PageParam.GetRTrimString("WGCPTZBZ"); #region 无表价产品跳转-替换界面样式 if (sWGCPTZBZ == "N") { btnAll.Visible = false; btnClear.Visible = false; grdGrid.Columns[0].Visible = false; Page.Title = "无表价产品表价"; btnDCWGCP.Caption = "导出询价"; btnDCWGCP.Width = 82; } #endregion if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBBJBM").Equals("")) { grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJ").HeaderText = PageParam.GetRTrimString("JGBBJBM"); } } base.InitPage(); if (!IsPostBack) { txtWGCPYZZList.Value = "";//记录外购产品的因子默认值,减少后续访问数据库的次数 Dictionary dicWGCPYZZ = XLBJDUtils.GetBJDYZZ0(PageParam.GetRTrimString("BJFLID"), true, true, GetOption("BJU003"), GetOption("BJU003"), "", "", "", "", sBJDID); foreach (string sYZID in dicWGCPYZZ.Keys) { txtWGCPYZZList.Value += sYZID + "|" + dicWGCPYZZ[sYZID].ToString() + ","; } txtWGCPYZZList.Value = txtWGCPYZZList.Value.TrimEnd(','); txtFWGCPYZZList.Value = "";//记录非外购产品因子默认值,减少后续访问数据库的次数 Dictionary dicFWGCPYZZ = XLBJDUtils.GetBJDYZZ0(PageParam.GetRTrimString("BJFLID"), false, true, GetOption("BJU003"), GetOption("BJU003"), "", "", "", "", sBJDID); foreach (string sYZID in dicFWGCPYZZ.Keys) { txtFWGCPYZZList.Value += sYZID + "|" + dicFWGCPYZZ[sYZID].ToString() + ","; } txtFWGCPYZZList.Value = txtFWGCPYZZList.Value.TrimEnd(','); } grdGrid.FindColumnExByFieldName("XLXSBJDMX_JGBBJ").NumberDecimalPlace = iXSWS; this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #endregion #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.Master_OnStandardQuery(sender, e); entity.EntityTable.QuerySelSql = GetQuerySql(); entity.GridDataBind(grdGrid, tSession); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string sWGCPBZ = grdGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_WGCPBZ"].ToString().Trim(); if (sWGCPBZ.Equals("Y")) { ((CheckBox)e.Row.Cells[0].FindControl("chkWGCP")).Checked = true; } else { ((CheckBox)e.Row.Cells[0].FindControl("chkWGCP")).Checked = false; } } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = GetQuerySql(); grdGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 自定义函数 private string GetQuerySql() { //弹出表价为0、外购标记为Y的报价单明细,支持导出外购产品、导入外购产品表价 StringBuilder strSQL = new StringBuilder(); entity.Param.Clear(); strSQL.AppendLine(" select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID, "); strSQL.AppendLine(" rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZID,"); strSQL.AppendLine(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLYSID, XLXSBJDMX_CPMLMC, "); strSQL.AppendLine(" XLXSBJDMX_BJCP,' ' as XLWLXX,"); strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,"); strSQL.AppendLine(" XLXSBJDMX_BZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,isnull(XLXSBJDMX_WGCPBZ,'N') as XLXSBJDMX_WGCPBZ "); strSQL.AppendLine(" from XLXSBJDMX "); strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID "); strSQL.AppendLine(" where 1=1 "); strSQL.AppendLine(" and XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "); strSQL.AppendLine(" and not exists (select 1 from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID "); strSQL.AppendLine(" and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH ) "); strSQL.AppendLine(" and ( XLXSBJDMX_JGBBJ = 0 "); if (sWGCPTZBZ == "Y") strSQL.AppendLine(" or isnull(XLXSBJDMX_WGCPBZ,'N') = 'Y' "); strSQL.AppendLine(" )"); strSQL.AppendLine(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH "); entity.Param.Add("XLXSBJDMX_BJDID", sBJDID); return strSQL.ToString(); } private void UpdateWGCP(int iGridIndex) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sErrMsg = ""; string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ")); string sBJDXH = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XH"].ToString().Trim(); string sJLDW = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_JLDW"].ToString().Trim(); string sXLXHID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLXHID"].ToString().Trim(); string sXLGGID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLGGID"].ToString().Trim(); string sXLBZID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLBZID"].ToString().Trim(); string sDYDJID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_DYDJID"].ToString().Trim(); string sBJU003 = GetOption("BJU003"); double dHSBL = XLBJDUtils.GetHSBL(sJLDW, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID); ; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDMX where XLXSBJDMX_BJDID = '{0}' and XLXSBJDMX_XH = '{1}' " + " and exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID " + " and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='{2}' ) ", sBJDID, sBJDXH, sJGFID))) { ShowMessage("当前报价产品已记录在外购价格表中,不允许变更外购标志!"); if (((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked) { ((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked = false; } else { ((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked = true; } FormAreaUpdate(); return; } try { dberp.BeginTrans(); //此处为指定行数的数据处理 if (((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked) { SQL.Clear(); SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'Y',XLXSBJDMX_WHR=:XLXSBJDMX_WHR,XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID "); SQL.Add(" and XLXSBJDMX_XH=:XLXSBJDMX_XH "); SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH; dberp.ExecSQL(SQL); //重置外购产品因子默认值 if (!txtWGCPYZZList.Value.Trim().Equals("")) { string[] sWGCPYZZ = txtWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); SQL.Clear(); SQL.Add("update XLXSBJDYZZ0 set XLXSBJDYZZ0_XH = XLXSBJDYZZ0_XH "); for (int m = 0; m < sWGCPYZZ.Length; m++) { double dHSBLtmp=1; if (XLBJDUtils.GetYZXXByYZID(sWGCPYZZ[m].Split('|')[0].Trim()).XLXSTZYZ_JJFS == "JJ") dHSBLtmp = dHSBL; SQL.Add(string.Format(",XLXSBJDYZZ0_YZZ{0}={1} ", sWGCPYZZ[m].Split('|')[0].Trim().Replace("BJ", ""), dHSBLtmp * CMISproConvert.StrToFloat(sWGCPYZZ[m].Split('|')[1]))); } SQL.Add(" where XLXSBJDYZZ0_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDYZZ0_XH=:pBJDXH "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pBJDXH").Value = sBJDXH; dberp.ExecSQL(SQL); XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sBJDXH, false, false, false, "", DateTime.MinValue, GetOption("BJU002"), GetOption("BJU003"), tSession.UserId, tSession.UserName, ref sErrMsg); } } else { SQL.Clear(); SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'N',XLXSBJDMX_WHR=:XLXSBJDMX_WHR,XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID "); SQL.Add(" and XLXSBJDMX_XH=:XLXSBJDMX_XH "); SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH; dberp.ExecSQL(SQL); //重置非外购产品因子默认值 if (!txtFWGCPYZZList.Value.Trim().Equals("")) { string[] sFWGCPYZZ = txtFWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); SQL.Clear(); SQL.Add("update XLXSBJDYZZ0 set XLXSBJDYZZ0_XH = XLXSBJDYZZ0_XH "); for (int m = 0; m < sFWGCPYZZ.Length; m++) { double dHSBLtmp = 1; if (XLBJDUtils.GetYZXXByYZID(sFWGCPYZZ[m].Split('|')[0].Trim()).XLXSTZYZ_JJFS == "JJ") dHSBLtmp = dHSBL; SQL.Add(string.Format(",XLXSBJDYZZ0_YZZ{0}={1} ", sFWGCPYZZ[m].Split('|')[0].Trim().Replace("BJ", ""), dHSBLtmp * CMISproConvert.StrToFloat(sFWGCPYZZ[m].Split('|')[1]))); } SQL.Add(" where XLXSBJDYZZ0_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDYZZ0_XH=:pBJDXH "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pBJDXH").Value = sBJDXH; dberp.ExecSQL(SQL); XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sBJDXH, false, false, false, "", DateTime.MinValue, GetOption("BJU002"), GetOption("BJU003"), tSession.UserId, tSession.UserName, ref sErrMsg); } } dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(sErrMsg + " " + ex.Message); dberp.RollbackTrans(); } //InitGrid(); //FormAreaUpdate(); } #endregion #region 导出 protected void btnDCWGCP_Click(object sender, EventArgs e) { string sFileName = "外购产品报价.xls"; if (sWGCPTZBZ == "N") sFileName = "无表价产品报价.xls"; string m_tmpFilePath = FileService.CombineTempPath(sFileName); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJDMX_XSSX,XLXSBJDMX_XH,XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID, "); SQL.Add(" rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZID,"); SQL.Add(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLYSID, "); SQL.Add(" XLXSBJDMX_BJCP,"); SQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL , 0 as XLXSBJDMX_JGBBJ,"); SQL.Add(" ' ' as XLXSBJDMX_BZ "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); SQL.Add(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "); if (sWGCPTZBZ == "N") { SQL.Add(" and XLXSBJDMX_JGBBJ = 0 "); SQL.Add(" and not exists (select 1 from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH )"); } else SQL.Add(" and isnull(XLXSBJDMX_WGCPBZ,'N') = 'Y' "); SQL.Add(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH "); SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(SQL); DataSet dsQry = new DataSet(); DataTable dt = new DataTable(); dt.TableName = "外购产品报价"; if (sWGCPTZBZ == "N") dt.TableName = "无表价产品报价"; dt.Columns.Add("显示顺序", typeof(double)); dt.Columns.Add("型号", typeof(string)); dt.Columns.Add("规格", typeof(string)); dt.Columns.Add("标准", typeof(string)); dt.Columns.Add("电压等级", typeof(string)); dt.Columns.Add("计量单位", typeof(string)); dt.Columns.Add("颜色", typeof(string)); dt.Columns.Add("报价产品", typeof(string)); dt.Columns.Add("报价数量", typeof(double)); dt.Columns.Add("表价", typeof(double)); dt.Columns.Add("备注", typeof(string)); dt.Columns.Add("序号", typeof(double)); dsQry.Tables.Add(dt); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dtrow = dt.NewRow(); dtrow["显示顺序"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim(); dtrow["型号"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim(); dtrow["规格"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim(); dtrow["标准"] = ds.Tables[0].Rows[i]["XLBZID"].ToString().Trim(); dtrow["电压等级"] = ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim(); dtrow["计量单位"] = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim(); dtrow["颜色"] = ds.Tables[0].Rows[i]["XLYSID"].ToString().Trim(); dtrow["报价产品"] = ds.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim(); dtrow["报价数量"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()); dtrow["表价"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_JGBBJ"].ToString().Trim()); dtrow["备注"] = ds.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim(); dtrow["序号"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); dsQry.Tables[0].Rows.Add(dtrow); } string smessage = ""; // NpoiSheetData sd = new NpoiSheetData(); sd.ColumnStyle = new System.Collections.Generic.Dictionary(); NpoiColumnStyle ct = new NpoiColumnStyle(); ct.DataFormat = "@"; sd.ColumnStyle.Add("C", ct); sd.ColumnType = new System.Collections.Generic.Dictionary(); sd.ColumnType.Add("I", NpoiColumnType.Double); sd.ColumnType.Add("J", NpoiColumnType.Double); TExcelData.CreateExcel_NPOI(m_tmpFilePath, dsQry, true, null, sd, ref smessage); if (smessage.Equals("")) { System.IO.FileInfo file = new System.IO.FileInfo(m_tmpFilePath); string URL = Page.ResolveClientUrl("~") + "/N_MODEL/Dialog/TempFileDownload.ashx?TempFileName=" + file.Name + "&FileName=外购产品报价" + file.Extension; if(sWGCPTZBZ == "N") URL = Page.ResolveClientUrl("~") + "/N_MODEL/Dialog/TempFileDownload.ashx?TempFileName=" + file.Name + "&FileName=无表价产品报价" + file.Extension; string jsript = @"var JLDCDiv = document.createElement('div');JLDCDiv.style.width=0;JLDCDiv.style.height=0;JLDCDiv.id = 'DivifrDownLoad';" + " var ele=document.documentElement||document.body;ele.appendChild(JLDCDiv);var iJLDCfrm = document.createElement('iframe');iJLDCfrm.id = 'iJLDCfrmDownLoad';iJLDCfrm.src = '" + URL + "';" + "iJLDCfrm.style.width = 0;iJLDCfrm.style.height = 0; JLDCDiv.appendChild(iJLDCfrm);"; AJAXRunScript(this, "OPENJLDC", jsript); } else { ShowMessage(smessage); } } else { ShowMessage("无记录可以导出!"); } } #endregion #region 导入 protected void btnDCWGCP_MenuItemClick(object sender, string value) { switch (value) { case "1": TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WGCPBJDRInfo.aspx"; pageParams.Title = "导入Excel文件"; pageParams.AddString("BJDID", sBJDID); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); pageParams.AddString("ZDXJJCLLX", PageParam.GetRTrimString("ZDXJJCLLX")); pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS")); pageParams.AddString("JYF", PageParam.GetRTrimString("JYF"));//计运费 pageParams.AddString("YSJDID", PageParam.GetRTrimString("YSJDID"));//运输节点 pageParams.AddString("GYSID", PageParam.GetRTrimString("GYSID"));//运输单位 pageParams.AddString("YFWLID", PageParam.GetRTrimString("YFWLID"));//运费物料 pageParams.AddString("BJHYF", PageParam.GetRTrimString("BJHYF"));//报价含运费 pageParams.AddString("WGCPTZBZ", sWGCPTZBZ); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY")); pageParams.AddString("JGBIDS", PageParam.GetRTrimString("JGBIDS")); pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("JSBLFS", PageParam.GetRTrimString("JSBLFS")); pageParams.AddString("TZCLHQ", PageParam.GetRTrimString("TZCLHQ")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("JGBTJYS", PageParam.GetRTrimString("JGBTJYS")); pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID")); pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID")); pageParams.AddString("TJ", PageParam.GetRTrimString("TJ")); pageParams.AddString("LJ", PageParam.GetRTrimString("LJ")); pageParams.AddString("btnRefreshCID", btnRefresh.ClientID); OpenDialog(pageParams); break; } } #endregion #region 刷新 protected void btnRefresh_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } #endregion #region 控件事件 protected void chkWGCP_CheckedChanged(object sender, EventArgs e) { //FormAreaUpdate(); if (sWGCPTZBZ == "Y") UpdateWGCP(grdGrid.SelectedIndex); } protected void btnClear_Click(object sender, EventArgs e) { if (grdGrid.Rows.Count <= 0) { ShowMessage("没有可操作的记录!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sErrMsg = ""; try { dberp.BeginTrans(); //利用tWHSJCondition来锁定需要重算的报价单明细 DateTime tWHSJCondition = MISproUtils.GetServerTime(); string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ")); SQL.Clear(); SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'N',XLXSBJDMX_WHR=:pWHR,XLXSBJDMX_WHRID=:pWHID,XLXSBJDMX_WHSJ=:pWHSJ "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID and XLXSBJDMX_WGCPBZ = 'Y' "); SQL.Add(" and not exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID "); SQL.Add(" and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='" + sJGFID + "' ) "); SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = tWHSJCondition; SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; int updCount = dberp.ExecSQL(SQL); if (updCount > 0) { //重置非外购产品因子默认值 if (!txtFWGCPYZZList.Value.Trim().Equals("")) { string[] sFWGCPYZZ = txtFWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); Dictionary dicTJYZListFWG = new Dictionary(); for (int m = 0; m < sFWGCPYZZ.Length; m++) { if (dicTJYZListFWG.ContainsKey("sTJYSList_")) { dicTJYZListFWG["sTJYSList_"] = dicTJYZListFWG["sTJYSList_"] + "," + sFWGCPYZZ[m].Split('|')[0].Trim(); } else { dicTJYZListFWG.Add("sTJYSList_", sFWGCPYZZ[m].Split('|')[0].Trim()); } } if (dicTJYZListFWG.Keys.Count > 0) { string sBJU002 = GetOption("BJU002"); string sBJU003 = GetOption("BJU003"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZListFWG, false, "", 0, false, false, false, tWHSJCondition, ref sErrMsg); XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, "", false, false, false, "", tWHSJCondition, sBJU002, sBJU003, tSession.UserId, tSession.UserName, ref sErrMsg); } } } dberp.CommitTrans(); btnRefresh_Click(null,null); } catch (Exception ex) { ShowMessage(sErrMsg + " " + ex.Message); dberp.RollbackTrans(); } } protected void btnAll_Click(object sender, EventArgs e) { if (grdGrid.Rows.Count <= 0) { ShowMessage("没有可操作的记录!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sErrMsg = ""; try { dberp.BeginTrans(); //利用tWHSJCondition来锁定需要重算的报价单明细 DateTime tWHSJCondition = MISproUtils.GetServerTime(); string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ")); SQL.Clear(); SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'Y',XLXSBJDMX_WHR=:pWHR,XLXSBJDMX_WHRID=:pWHID,XLXSBJDMX_WHSJ=:pWHSJ "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID and XLXSBJDMX_JGBBJ = 0 and XLXSBJDMX_WGCPBZ<>'Y' "); SQL.Add(" and not exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID "); SQL.Add(" and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='" + sJGFID + "' ) "); SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = tWHSJCondition; SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; int updCount = dberp.ExecSQL(SQL); if (updCount > 0) { //重置外购产品因子默认值 if (!txtWGCPYZZList.Value.Trim().Equals("")) { string[] sWGCPYZZ = txtWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); Dictionary dicTJYZListWG = new Dictionary(); for (int m = 0; m < sWGCPYZZ.Length; m++) { if (dicTJYZListWG.ContainsKey("sTJYSList_")) { dicTJYZListWG["sTJYSList_"] = dicTJYZListWG["sTJYSList_"] + "," + sWGCPYZZ[m].Split('|')[0].Trim(); } else { dicTJYZListWG.Add("sTJYSList_", sWGCPYZZ[m].Split('|')[0].Trim()); } } if (dicTJYZListWG.Keys.Count > 0) { string sBJU002 = GetOption("BJU002"); string sBJU003 = GetOption("BJU003"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZListWG, false, "", 0, false, false, false, tWHSJCondition, ref sErrMsg); XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, "", false, false, false, "", tWHSJCondition, sBJU002, sBJU003, tSession.UserId, tSession.UserName, ref sErrMsg); } } } dberp.CommitTrans(); btnRefresh_Click(null,null); } catch (Exception ex) { ShowMessage(sErrMsg + " " + ex.Message); dberp.RollbackTrans(); } } protected void btnDCWGCP_DropDown(object sender, EventArgs e) { btnDCWGCP.Nodes.Clear(); sWGCPTZBZ = PageParam.GetRTrimString("WGCPTZBZ"); if (sWGCPTZBZ == "N") { btnDCWGCP.Nodes.Add(new gtTreeNode("1","询回导入")); } else btnDCWGCP.Nodes.Add(new gtTreeNode("1", "导入外购产品")); MenuAreaUpdate(); } #endregion } }