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_MISPRO.Utility; using GThinking.N_MISPRO.Data; using GThinking.N_CONTROL; namespace GThinking.N_XLXSBJ { public partial class TZYZBJ7_PLSZInfo : SingleCardBase { TZYZBJ7_PLSZ entity = new TZYZBJ7_PLSZ(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860031; this.UMName = "按型号电压芯线结构主芯截面范围调报价"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; this.Master.EnableCopyBtn = false; this.Master.EnableInsertBtn = false; this.Master.EnableAttachBtn = false; this.Master.EnableCancelBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableSaveBtn = false; this.Master.EnablePrintBtn = false; if (!this.IsPostBack) { InitControls(); } base.InitPage(); } #region 模板事件继承 protected override void SetControlState() { base.SetControlState(); } protected override void OnNewRecorder() { base.OnNewRecorder(); txtJGBID.Value = PageParam.GetRTrimString("XLXSBJDYZZ7_JGBID"); if (!PageParam.GetRTrimString("TJYZList").Contains(",")) cbxTJYZ.SelectedValue = PageParam.GetRTrimString("TJYZList").Split('|')[0]; } protected override void SetComboxItems() { TComboBox.SetComboBox("DBERP", cbxXLXHID, "select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID ", false); TComboBox.SetComboBox("DBERP", cbxDYDJID, "select XLDYDJB_DYDJID as ID,XLDYDJB_DYDJID as Name from XLDYDJB where isnull(XLDYDJB_TYBZ,'N')<>'Y' order by XLDYDJB_XH ", true); cbxTJYZ.Items.Clear(); string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(','); for (int i = 0; i < sTJYZList.Length; i++) { cbxTJYZ.Items.Add(new ListItem(sTJYZList[i], sTJYZList[i].Split('|')[0])); } cbxTJYZ.ShowValue = false; base.SetComboxItems(); } #endregion #region 自定义函数 private void InitControls() { } #endregion #region 控件事件 protected void btnOK_Click(object sender, EventArgs e) { //DialogOperationScript dos = new DialogOperationScript(this); if (txtJGBID.Value.Trim().Equals("")) { ShowMessage("请先进行查询!"); return; } if (cbxXLXHID.SelectedValue.Trim().Equals("")) { ShowMessage("型号不允许为空!"); return; } if (cbxTJYZ.SelectedValue.Trim().Equals("")) { ShowMessage("调价因子不允许为空!"); return; } if (txtYZZ.Text.Trim().Equals("")) { ShowMessage("主芯截面范围|因子值不允许为空!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); try { string[] sYZZList = txtYZZ.Text.Split('\n'); dberp.BeginTrans(); for (int i = 0; i < sYZZList.Length; i++) { sYZZList[i] = sYZZList[i].Replace("\n", ""); sYZZList[i] = sYZZList[i].Replace("\r", ""); if (string.IsNullOrEmpty(sYZZList[i])) continue; if (sYZZList[i].Split('|').Length < 2) { ShowMessage("主芯截面范围|因子值格式不正确!"); dberp.RollbackTrans(); return; } string sZXJMFW = sYZZList[i].Split('|')[0]; if (string.IsNullOrEmpty(sZXJMFW) || !sZXJMFW.Contains(",")) { ShowMessage("主芯截面范围|因子值格式不正确!"); dberp.RollbackTrans(); return; } double dZXJMXX = CMISproConvert.StrToFloat(sZXJMFW.Split(',')[0]); double dZXJMSX = CMISproConvert.StrToFloat(sZXJMFW.Split(',')[1]); double dYZZ = CMISproConvert.StrToFloat(sYZZList[i].Split('|')[1]); if (dZXJMXX < 0) { ShowMessage("主芯截面下限--不允许为负数!"); dberp.RollbackTrans(); return; } if (dZXJMSX < 0) { ShowMessage("主芯截面上限--不允许为负数!"); dberp.RollbackTrans(); return; } if (dZXJMSX != 0) { if (dZXJMXX > dZXJMSX) { ShowMessage("主芯截面下限不允许超过主芯截面上限!"); dberp.RollbackTrans(); return; } } TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select 1 from XLXSBJDYZZ7 where XLXSBJDYZZ7_JGBID= :pJGBID and XLXSBJDYZZ7_XLXHID= :pXLXHID "); sql.Add(" and XLXSBJDYZZ7_DYDJID= :pDYDJID and XLXSBJDYZZ7_XXJGID = :pXXJGID and XLXSBJDYZZ7_ZXJMSX=:pZXJMSX "); sql.Add(" and XLXSBJDYZZ7_ZXJMXX = :pZXJMXX and XLXSBJDYZZ7_YZID = :pYZID "); sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); sql.ParamByName("pYZID").Value = cbxTJYZ.SelectedValue.Trim(); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim().Equals("") ? " " : cbxDYDJID.SelectedValue.Trim(); sql.ParamByName("pXXJGID").Value = txtXXJGID.Text.Trim().Equals("") ? " " : txtXXJGID.Text.Trim(); sql.ParamByName("pZXJMXX").Value = dZXJMXX; sql.ParamByName("pZXJMSX").Value = dZXJMSX; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count <= 0) { sql.Clear(); sql.Add("select XLXSBJDYZZ7_XLXHID, XLXSBJDYZZ7_DYDJID, XLXSBJDYZZ7_XXJGID, XLXSBJDYZZ7_ZXJMXX,XLXSBJDYZZ7_ZXJMSX "); sql.Add("from XLXSBJDYZZ7 "); sql.Add("where XLXSBJDYZZ7_JGBID=:pJGBID and XLXSBJDYZZ7_YZID=:pYZID "); sql.Add(" and XLXSBJDYZZ7_XLXHID=:pXLXHID and XLXSBJDYZZ7_DYDJID=:pDYDJID "); sql.Add(" and XLXSBJDYZZ7_XXJGID=:pXXJGID "); sql.Add(" and ((XLXSBJDYZZ7_ZXJMXX>=:pZXJMXX "); if (dZXJMSX != 0) { sql.Add(" and XLXSBJDYZZ7_ZXJMXX<=:pZXJMSX "); } sql.Add(" ) "); sql.Add(" or ("); if (dZXJMSX != 0) { sql.Add(" XLXSBJDYZZ7_ZXJMSX>0 and XLXSBJDYZZ7_ZXJMSX>=:pZXJMXX and XLXSBJDYZZ7_ZXJMSX<=:pZXJMSX "); } else { sql.Add(" (XLXSBJDYZZ7_ZXJMSX>0 and XLXSBJDYZZ7_ZXJMSX>=:pZXJMXX) or (XLXSBJDYZZ7_ZXJMSX=0) "); } sql.Add(" ) "); sql.Add(" or (XLXSBJDYZZ7_ZXJMXX<=:pZXJMXX and (XLXSBJDYZZ7_ZXJMSX=0 or XLXSBJDYZZ7_ZXJMSX>=:pZXJMSX))"); sql.Add(" ) "); sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); sql.ParamByName("pYZID").Value = cbxTJYZ.SelectedValue.Trim(); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim().Equals("") ? " " : cbxDYDJID.SelectedValue.Trim(); sql.ParamByName("pXXJGID").Value = txtXXJGID.Text.Trim().Equals("") ? " " : txtXXJGID.Text.Trim(); sql.ParamByName("pZXJMXX").Value = dZXJMXX; if (dZXJMSX != 0) { sql.ParamByName("pZXJMSX").Value = dZXJMSX; } ds.Clear(); ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { string sZXJMQJ = ""; string sXZXJMQJ=""; string sResult = "(型号:" + ds.Tables[0].Rows[0]["XLXSBJDYZZ7_XLXHID"].ToString().Trim() + ",电压等级:" + ds.Tables[0].Rows[0]["XLXSBJDYZZ7_DYDJID"].ToString().Trim() + ",芯线结构:" + ds.Tables[0].Rows[0]["XLXSBJDYZZ7_XXJGID"].ToString().Trim() + ")"; if (CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDYZZ7_ZXJMSX"].ToString()) != 0) sZXJMQJ = ds.Tables[0].Rows[0]["XLXSBJDYZZ7_ZXJMXX"].ToString().Trim() + "~" + ds.Tables[0].Rows[0]["XLXSBJDYZZ7_ZXJMSX"].ToString().Trim(); else sZXJMQJ = ds.Tables[0].Rows[0]["XLXSBJDYZZ7_ZXJMXX"].ToString().Trim() + "~" + "--"; if (dZXJMSX != 0) sXZXJMQJ = dZXJMXX.ToString().Trim() + "~" + dZXJMSX.ToString().Trim(); else sXZXJMQJ = dZXJMXX.ToString().Trim() + "~" + "--"; ShowMessage(string.Format("因子{1}的主芯截面区间【{3}】与已有主芯截面区间【{0}】{2}的记录有交集!", sZXJMQJ, cbxTJYZ.SelectedItem.Text.Trim(), sResult, sXZXJMQJ)); dberp.RollbackTrans(); return; } } sql.Clear(); sql.Add(" merge into XLXSBJDYZZ7 a using "); sql.Add(" (select top 1 :pJGBID as JGBID,:pXLXHID as XLXHID,:pDYDJID as DYDJID, "); sql.Add(" :pXXJGID as XXJGID, :pZXJMSX as ZXJMSX ,:pZXJMXX as ZXJMXX ,:pYZID as YZID from XLXSBJDYZZ7 b) c "); sql.Add(" on(a.XLXSBJDYZZ7_JGBID = c.JGBID "); sql.Add(" and a.XLXSBJDYZZ7_XLXHID = c.XLXHID "); sql.Add(" and a.XLXSBJDYZZ7_DYDJID = c.DYDJID "); sql.Add(" and a.XLXSBJDYZZ7_XXJGID = c.XXJGID "); sql.Add(" and a.XLXSBJDYZZ7_ZXJMSX = c.ZXJMSX "); sql.Add(" and a.XLXSBJDYZZ7_ZXJMXX = c.ZXJMXX "); sql.Add(" and a.XLXSBJDYZZ7_YZID = c.YZID) "); sql.Add(" when matched then update set XLXSBJDYZZ7_YZZ = :pYZZ,XLXSBJDYZZ7_WHR = :pWHR,XLXSBJDYZZ7_WHRID =:pWHRID,XLXSBJDYZZ7_WHSJ =:pWHSJ "); sql.Add(" when not matched then insert "); sql.Add(" (XLXSBJDYZZ7_JGBID,XLXSBJDYZZ7_XLXHID,XLXSBJDYZZ7_DYDJID,XLXSBJDYZZ7_XXJGID,XLXSBJDYZZ7_ZXJMSX,XLXSBJDYZZ7_ZXJMXX, "); sql.Add(" XLXSBJDYZZ7_YZID,XLXSBJDYZZ7_YZZ,XLXSBJDYZZ7_WHR,XLXSBJDYZZ7_WHRID,XLXSBJDYZZ7_WHSJ) values "); sql.Add(" (:pJGBID,:pXLXHID,:pDYDJID,:pXXJGID,:pZXJMSX,:pZXJMXX, "); sql.Add(" :pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ) "); sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); sql.ParamByName("pYZID").Value = cbxTJYZ.SelectedValue.Trim(); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim().Equals("") ? " " : cbxDYDJID.SelectedValue.Trim(); sql.ParamByName("pXXJGID").Value = txtXXJGID.Text.Trim().Equals("") ? " " : txtXXJGID.Text.Trim(); sql.ParamByName("pZXJMXX").Value = dZXJMXX; sql.ParamByName("pZXJMSX").Value = dZXJMSX; sql.ParamByName("pYZZ").Value = dYZZ; sql.ParamByName("pWHR").Value = tSession.UserName; sql.ParamByName("pWHRID").Value = tSession.UserId; sql.ParamByName("pWHSJ").Value = DateTime.Now.ToString().Trim(); dberp.ExecSQL(sql); } dberp.CommitTrans(); ShowMessage("批量设置成功!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } } protected void btnQX_Click(object sender, EventArgs e) { DialogOperationScript dos = new DialogOperationScript(this); dos.CloseSelf(); dos.Execute(); } #endregion } }