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_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Caching; namespace GThinking.N_XLXSBJ { public partial class JGBML_SelJGBInfo : SingleCardBase { JGBML_SelJGB entity = new JGBML_SelJGB(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860018; this.UMName = "线缆销售报价价格目录"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 180; this.PageWidth = 420; Master.EnableAttachBtn = false; Master.EnableCancelBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableEditBtn = false; Master.EnableInsertBtn = false; Master.EnablePrintBtn = false; Master.EnableRefreshBtn = false; Master.EnableSaveBtn = false; base.InitPage(); if (PageParam.GetRTrimString("LX").Equals("JGCIDS")) { cbxJJ.Enabled = false; lblJJ.Text = "基价:"; btnQR.Visible = false; btnQX.Visible = false; } if (!IsPostBack) { cbxJJ.Width = Unit.Pixel(PageWidth - 85 - 15); } if (!IsPostBack) { InitControl(); } } #region 模板继承事件 #endregion #region 自定义函数 private void InitControl() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); if (PageParam.GetRTrimString("LX").Equals("JGCIDS")) { SQL.Add("select XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH='JGC' "); if (!GetOption("BJU016").Equals("")) { SQL.Add( " and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") "); } SQL.Add("order by XLXSJGB_JGBID"); } else { SQL.Add(string.Format("select XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH='JGB' " + " and isnull(XLXSJGB_JGBIDS,' ') = ' ' and XLXSJGB_TJYS='1' and XLXSJGB_JGBID<>'{0}' ", PageParam.GetRTrimString("JGBID"))); if (!GetOption("BJU016").Equals("")) { SQL.Add(" and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") "); } SQL.Add("order by XLXSJGB_YXQS desc,XLXSJGB_JGBID "); } DataSet ds = dberp.OpenDataSet(SQL); cbxJJ.ClearItems(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGBID = ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(); string sYXQS = ds.Tables[0].Rows[i]["XLXSJGB_YXQS"].ToString().Trim(); string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGB_YXQZ"].ToString().Trim(); string sJGBMC = ds.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim(); if (sYXQS.Equals("")) sYXQS = "--"; else sYXQS = CMISproConvert.ConvertDate(sYXQS); if (sYXQZ.Equals("")) sYXQZ = "--"; else sYXQZ = CMISproConvert.ConvertDate(sYXQZ); if (sJGBMC.Equals("")) cbxJJ.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ, sJGBID)); else cbxJJ.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ + "|" + sJGBMC, sJGBID)); } SQL.Clear(); ds.Clear(); if (PageParam.GetRTrimString("LX").Equals("JGCIDS")) { SQL.Add("select XLXSJGB_JGCIDS as IDS from XLXSJGB where XLXSJGB_JGBID= :pJGBID and XLXSJGB_MXBH= :pMXBH"); } else { SQL.Add("select XLXSJGB_JGBIDS as IDS from XLXSJGB where XLXSJGB_JGBID= :pJGBID and XLXSJGB_MXBH= :pMXBH"); } SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { cbxJJ.SelectedValue = ds.Tables[0].Rows[0]["IDS"].ToString().Trim(); ; } } /// /// 按出厂价价格表行情更新现行价价格表行情 /// /// 被单选的,因素为1的价格表ID private void UpdateXLXSCLHQ_Copy(string sOLDJGBID) { //因素为3的价格表ID string sJGBID = PageParam.GetRTrimString("JGBID"); string sMXBH = PageParam.GetRTrimString("MXBH"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID =:pNEWJGBID "); SQL.ParamByName("pNEWJGBID").Value = sJGBID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ, "); SQL.Add(" XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_HSCGJG, "); SQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_BZ,XLXSCLHQ_WHR,XLXSCLHQ_WHRID,XLXSCLHQ_WHSJ"); SQL.Add(" ) "); SQL.Add(" select "); SQL.Add(" :pNEWJGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ, "); SQL.Add(" XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_HSCGJG, "); SQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_BZ,:pWHR,:pWHRID,:pWHSJ"); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where 1 = 1 and XLXSCLHQ_JGBID= :pOLDJGBID "); SQL.ParamByName("pNEWJGBID").Value = sJGBID; SQL.ParamByName("pOLDJGBID").Value = sOLDJGBID; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); //因素为3的价格表无需记录物料行情,因为物料行情不支持修改,材料价价差只会体现在材料行情的价差上面 //if (XLJGB_CLJGTZList.NeedJGBJJFP()) //{ // SQL.Clear(); // SQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID =:pNEWJGBID "); // SQL.ParamByName("pNEWJGBID").Value = sJGBID; // dberp.ExecSQL(SQL); // SQL.Clear(); // SQL.Add(" insert into XLXSWLHQ( "); // SQL.Add(" XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ, "); // SQL.Add(" XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_HSCGJG,XLXSWLHQ_WSCGJG, "); // SQL.Add(" XLXSWLHQ_BZ,XLXSWLHQ_WHR,XLXSWLHQ_WHRID,XLXSWLHQ_WHSJ"); // SQL.Add(" ) "); // SQL.Add(" select "); // SQL.Add(" :pNEWJGBID,XLXSWLHQ_WLID,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ, "); // SQL.Add(" XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_HSCGJG,XLXSWLHQ_WSCGJG, "); // SQL.Add(" XLXSWLHQ_BZ,:pWHR,:pWHRID,:pWHSJ"); // SQL.Add(" from XLXSWLHQ "); // SQL.Add(" where 1 = 1 and XLXSWLHQ_JGBID= :pOLDJGBID "); // SQL.ParamByName("pNEWJGBID").Value = sJGBID; // SQL.ParamByName("pOLDJGBID").Value = sOLDJGBID; // SQL.ParamByName("pWHR").Value = tSession.UserName; // SQL.ParamByName("pWHRID").Value = tSession.UserId; // SQL.ParamByName("pWHSJ").Value = DateTime.Now; // dberp.ExecSQL(SQL); //} } #endregion #region 控件事件 protected void btnQR_Click(object sender, EventArgs e) { string sTJYS = PageParam.GetRTrimString("TJYS"); //加载XLXSJGB_MXBH='JGB'&XLXSJGB_TJYS='1'的XLXSJGB记录,多选记录后点确认,更新字段XLXSJGB_JGBIDS TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); if (sTJYS.Equals("3")) { if (cbxJJ.SelectedValue.Trim().Equals("")) { ShowMessage("调价因素为3的记录必须选择一张价格表!"); return; } if (cbxJJ.SelectedValue.Trim().IndexOf(',') >= 0) { ShowMessage("调价因素为3的记录仅允许选择一张价格表!"); return; } else { string sMsg = ""; sMsg = "主辅材是否按所依价格表行情更新?"; Confirm.Register("IsQD", sMsg); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,不处理 Confirm.Clear(); } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); UpdateXLXSCLHQ_Copy(cbxJJ.SelectedValue.Trim()); } try { dberp.BeginTrans(); SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_JGBIDS= :pJGBIDS "); SQL.Add(" where XLXSJGB_JGBID= :pJGBID "); SQL.Add(" and XLXSJGB_MXBH= :pMXBH "); SQL.ParamByName("pJGBIDS").Value = cbxJJ.SelectedValue.Trim(); SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); dberp.ExecSQL(SQL); dberp.CommitTrans(); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); ShowMessage("调整成功!"); } catch (Exception ex) { ShowMessage("调整基价出错,请联系系统管理员!错误原因:" + ex); dberp.RollbackTrans(); } } } else if (sTJYS.Equals("2")) { if (cbxJJ.SelectedValue.Trim().Equals("")) { ShowMessage("调价因素为2的记录必须选择一张价格表!"); return; } if (cbxJJ.SelectedValue.Trim().IndexOf(',') >= 0) { ShowMessage("调价因素为2的记录仅允许选择一张价格表!"); return; } else { try { dberp.BeginTrans(); string sMXBH = PageParam.GetRTrimString("MXBH"); string sJGBID = PageParam.GetRTrimString("JGBID"); SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_JGBIDS= :pJGBIDS "); SQL.Add(" where XLXSJGB_JGBID= :pJGBID "); SQL.Add(" and XLXSJGB_MXBH= :pMXBH "); SQL.ParamByName("pJGBIDS").Value = cbxJJ.SelectedValue.Trim(); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; dberp.ExecSQL(SQL); bool bDR = false; SQL.Clear(); SQL.Add("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID "); SQL.ParamByName("pJGBID").Value = sJGBID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sMsg = "已有数据将清空,按所依出厂价重新导入,是否继续?"; Confirm.Register("IsQD", sMsg); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } bDR = true; string sBJU003 = GetOption(100860000, "BJU003"); int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); string sJSBLFS = ""; SQL.Clear(); ds.Clear(); SQL.Add("select XLXSJGB_TJYS,XLXSJGB_JGBIDS,XLXSJGB_JSBLFS as JSBLFS,XLXSJGB_JJLY from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID "); SQL.ParamByName("pMXBH").Value = sMXBH; SQL.ParamByName("pJGBID").Value = sJGBID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sJSBLFS = ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim(); } dberp.ExecSQL(string.Format("delete from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", PageParam.GetRTrimString("JGBID"))); dberp.ExecSQL(string.Format("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID='{0}'", PageParam.GetRTrimString("JGBID"))); XLJGB_JGBMXList.InsertCLCB_CCJasJJ(dberp, tSession, PageParam.GetRTrimString("JGBID"), cbxJJ.SelectedValue.Trim()); XLJGB_CLJGTZList.DoCPJJ(dberp, PageParam.GetRTrimString("MXBH"), PageParam.GetRTrimString("JGBID"), true, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName,sBJU003); } dberp.CommitTrans(); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); if (bDR) ShowMessage("调整成功!并按所依出厂价重新导入价格表明细!"); else ShowMessage("调整成功!"); } catch (Exception ex) { ShowMessage("调整基价出错,请联系系统管理员!错误原因:" + ex); dberp.RollbackTrans(); } } } else { ShowMessage(" 传入的调价因素有误,请关闭页面重试!"); } //使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件 DialogOperationScript dos = new DialogOperationScript(this); //dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID")); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion } }