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.Data; using GThinking.N_MISPRO.Utility; namespace GThinking.N_XLXSBJ { public partial class CXBJD_PLBJFKInfo : SingleCardBase { CXBJD_BJFK entity = new CXBJD_BJFK(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860046; 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 (!IsPostBack) { InitControl(); } } protected override void SetControlState() { base.SetControlState(); } #region 自定义事件 private void InitControl() { txtBJDID.Value = PageParam.GetRTrimString("BJDID"); txtBJDXHList.Value = PageParam.GetRTrimString("BJDXHList"); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { string[] TmpXHList = txtBJDXHList.Value.Split(','); string XHList = ""; string CFXHList = ""; string CFMXXHList = ""; for (int i = 0; i < TmpXHList.Length; i++) { XHList += TmpXHList[i].Trim().Split('|')[0].Trim() + ","; if (TmpXHList[i].Trim().Split('|').Length>1) if (CMISproConvert.StrToInt(TmpXHList[i].Trim().Split('|')[1],0) > 0) { CFXHList += TmpXHList[i].Trim().Split('|')[1].Trim() + ","; CFMXXHList += TmpXHList[i].Trim().Split('|')[0].Trim() + ","; } } XHList = XHList.TrimEnd(','); CFXHList = CFXHList.TrimEnd(','); CFMXXHList = CFMXXHList.TrimEnd(','); txtBJDXHList.Value = XHList; txtCFXHList.Value = CFXHList; txtCFMXXHList.Value = CFMXXHList; } cbxSZFW.ClearItems(); cbxSZFW.Items.Add(new ListItem("勾选记录", "C")); cbxSZFW.Items.Add(new ListItem("整单记录", "A")); if (!txtBJDXHList.Value.Trim().Equals("")) cbxSZFW.SelectedValue = "C"; else cbxSZFW.SelectedValue = "A"; cbxSZFW.Enabled = false; cbxZB.ClearItems(); cbxZB.Items.Add(new ListItem("全部中标", "Y")); cbxZB.Items.Add(new ListItem("部分中标", "P")); cbxZB.Items.Add(new ListItem("未中标", "N")); cbxZB.Items.Add(new ListItem("废标", "F")); cbxZB.Items.Add(new ListItem("弃标", "Q")); cbxZB.SelectedValue = "Y"; chkBJWS.Visible = false; bool IsFKZ3BB = false; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y") IsFKZ3BB = true; if ((!IsFKZ3BB)) { chkBJWS.Visible = true; string sBJWS = string.Empty; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select top 1 XLXSBJDMX_BJWS,XLXSBJD_JZBJHS from XLXSBJDMX left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID where XLXSBJDMX_BJDID=:pBJDID "); SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID"); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) sBJWS = ds.Tables[0].Rows[0][0].ToString().Trim(); chkBJWS.Checked = !ds.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim().Equals("Y"); } } private void UpdateBJWS(TDatabase dberp,string sBJDID) { TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("update XLXSBJDMX set XLXSBJDMX_BJWS=:pBJWS where XLXSBJDMX_BJDID=:pBJDID "); SQL.ParamByName("pBJWS").Value = chkBJWS.Checked ? "Y" : "N"; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); } #endregion protected void btnQR_Click(object sender, EventArgs e) { if (cbxZB.SelectedValue.Trim().Equals("")) { ShowMessage("中标--不允许为空!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { if (!txtCFXHList.Value.Trim().Equals("")) { //更新勾选拆分明细 SQL.Clear(); SQL.Add(" merge into XLXSBJFKCFMX tar "); SQL.Add(" using( select "); if (cbxZB.SelectedValue.Trim().Equals("Y") || cbxZB.SelectedValue.Trim().Equals("P")) SQL.Add(" XLXSBJFKCFMX_CFSL as ZBSL,roundfix(XLXSBJDMX_CPBJ*XLXSBJFKCFMX_CFSL,2) as ZBJE ,"); else SQL.Add(" 0 as ZBSL,0 as ZBJE ,"); SQL.Add(" XLXSBJFKCFMX_BJDXH ,XLXSBJFKCFMX_BJDID,XLXSBJFKCFMX_CFSL,XLXSBJFKCFMX_CFXH "); SQL.Add(" from XLXSBJDMX LEFT JOIN XLXSBJFKCFMX ON XLXSBJFKCFMX_BJDID=XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH=XLXSBJDMX_XH where XLXSBJDMX_BJDID = :pBJDID "); if (!txtCFXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJFKCFMX_CFXH in (" + txtCFXHList.Value.Trim() + ") "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJFKCFMX_BJDID = sor.XLXSBJFKCFMX_BJDID and tar.XLXSBJFKCFMX_BJDXH = sor.XLXSBJFKCFMX_BJDXH AND tar.XLXSBJFKCFMX_CFXH = sor.XLXSBJFKCFMX_CFXH "); SQL.Add(" and tar.XLXSBJFKCFMX_BJDID = :pBJDID "); if (!txtCFXHList.Value.Trim().Equals("")) SQL.Add(" and tar.XLXSBJFKCFMX_CFXH in (" + txtCFXHList.Value.Trim() + ") "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJFKCFMX_ZBZT=:pZB, "); SQL.Add(" tar.XLXSBJFKCFMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJFKCFMX_ZBJE = sor.ZBJE ,"); SQL.Add(" tar.XLXSBJFKCFMX_WHR=:XLXSBJFKCFMX_WHR, "); SQL.Add(" tar.XLXSBJFKCFMX_WHRID=:XLXSBJFKCFMX_WHRID, "); SQL.Add(" tar.XLXSBJFKCFMX_WHSJ=:XLXSBJFKCFMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("XLXSBJFKCFMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJFKCFMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJFKCFMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = txtBJDID.Value; dberp.ExecSQL(SQL); //根据拆分明细更新报价单明细 SQL.Clear(); SQL.Add("MERGE INTO XLXSBJDMX tar"); SQL.Add(" using( "); SQL.Add(" SELECT XLXSBJFKCFMX_BJDID,XLXSBJFKCFMX_BJDXH,SUM(XLXSBJFKCFMX_ZBSL) AS ZBSL,SUM(XLXSBJFKCFMX_ZBJE) AS ZBJE "); SQL.Add(" FROM XLXSBJFKCFMX "); SQL.Add(" where XLXSBJFKCFMX_BJDID=:pBJDID "); if (!txtCFMXXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJFKCFMX_BJDXH in (" + txtCFMXXHList.Value.Trim() + ") "); else SQL.Add(" and 1<>1 "); SQL.Add(" GROUP BY XLXSBJFKCFMX_BJDID,XLXSBJFKCFMX_BJDXH "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJDMX_BJDID = sor.XLXSBJFKCFMX_BJDID and tar.XLXSBJDMX_XH = sor.XLXSBJFKCFMX_BJDXH "); SQL.Add(" and tar.XLXSBJDMX_BJDID = :pBJDID "); if (!txtCFMXXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJDMX_XH in (" + txtCFMXXHList.Value.Trim() + ") "); else SQL.Add(" and 1<>1 "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJDMX_ZB=:pZB, "); SQL.Add(" tar.XLXSBJDMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJDMX_ZBJE = sor.ZBJE, "); SQL.Add(" tar.XLXSBJDMX_WHR=:XLXSBJDMX_WHR, "); SQL.Add(" tar.XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID, "); SQL.Add(" tar.XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("pBJDID").Value = txtBJDID.Value; SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); //更新勾选未拆分明细 SQL.Clear(); SQL.Add(" merge into XLXSBJDMX tar "); SQL.Add(" using( select "); if (cbxZB.SelectedValue.Trim().Equals("Y") || cbxZB.SelectedValue.Trim().Equals("P")) SQL.Add(" XLXSBJDMX_BJSL as ZBSL,roundfix(XLXSBJDMX_CPBJ*XLXSBJDMX_BJSL,2) as ZBJE ,"); else SQL.Add(" 0 as ZBSL,0 as ZBJE ,"); SQL.Add(" XLXSBJDMX_XH ,XLXSBJDMX_BJDID "); SQL.Add(" from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); if (!txtCFMXXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJDMX_XH not in (" + txtCFMXXHList.Value.Trim() + ") "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJDMX_XH = sor.XLXSBJDMX_XH and tar.XLXSBJDMX_BJDID = sor.XLXSBJDMX_BJDID "); SQL.Add(" and tar.XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and tar.XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); if (!txtCFMXXHList.Value.Trim().Equals("")) SQL.Add(" and tar.XLXSBJDMX_XH not in (" + txtCFMXXHList.Value.Trim() + ") "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJDMX_ZB=:pZB, "); SQL.Add(" tar.XLXSBJDMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJDMX_ZBJE = sor.ZBJE ,"); SQL.Add(" tar.XLXSBJDMX_WHR=:XLXSBJDMX_WHR, "); SQL.Add(" tar.XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID, "); SQL.Add(" tar.XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = txtBJDID.Value; dberp.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" merge into XLXSBJFKCFMX tar "); SQL.Add(" using( select XLXSBJFKCFMX_CFXH,"); if (cbxZB.SelectedValue.Trim().Equals("Y") || cbxZB.SelectedValue.Trim().Equals("P")) SQL.Add(" XLXSBJFKCFMX_CFSL as ZBSL,roundfix(XLXSBJDMX_CPBJ*XLXSBJFKCFMX_CFSL,2) as ZBJE ,"); else SQL.Add(" 0 as ZBSL,0 as ZBJE ,"); SQL.Add(" XLXSBJDMX_XH ,XLXSBJDMX_BJDID "); SQL.Add(" from XLXSBJDMX LEFT JOIN XLXSBJFKCFMX ON XLXSBJFKCFMX_BJDID=XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH=XLXSBJDMX_XH where XLXSBJDMX_BJDID = :pBJDID "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJFKCFMX_CFXH = sor.XLXSBJFKCFMX_CFXH and tar.XLXSBJFKCFMX_BJDID = sor.XLXSBJDMX_BJDID AND tar.XLXSBJFKCFMX_BJDXH=sor.XLXSBJDMX_XH "); SQL.Add(" and tar.XLXSBJFKCFMX_BJDID = :pBJDID "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJFKCFMX_ZBZT=:pZB, "); SQL.Add(" tar.XLXSBJFKCFMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJFKCFMX_ZBJE = sor.ZBJE ,"); SQL.Add(" tar.XLXSBJFKCFMX_WHR=:XLXSBJFKCFMX_WHR, "); SQL.Add(" tar.XLXSBJFKCFMX_WHRID=:XLXSBJFKCFMX_WHRID, "); SQL.Add(" tar.XLXSBJFKCFMX_WHSJ=:XLXSBJFKCFMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("XLXSBJFKCFMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJFKCFMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJFKCFMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = txtBJDID.Value; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" merge into XLXSBJDMX tar "); SQL.Add(" using( select "); if (cbxZB.SelectedValue.Trim().Equals("Y") || cbxZB.SelectedValue.Trim().Equals("P")) SQL.Add(" XLXSBJDMX_BJSL as ZBSL,roundfix(XLXSBJDMX_CPBJ*XLXSBJDMX_BJSL,2) as ZBJE ,"); else SQL.Add(" 0 as ZBSL,0 as ZBJE ,"); SQL.Add(" XLXSBJDMX_XH ,XLXSBJDMX_BJDID "); SQL.Add(" from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJDMX_XH = sor.XLXSBJDMX_XH and tar.XLXSBJDMX_BJDID = sor.XLXSBJDMX_BJDID "); SQL.Add(" and tar.XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and tar.XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJDMX_ZB=:pZB, "); SQL.Add(" tar.XLXSBJDMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJDMX_ZBJE = sor.ZBJE ,"); SQL.Add(" tar.XLXSBJDMX_WHR=:XLXSBJDMX_WHR, "); SQL.Add(" tar.XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID, "); SQL.Add(" tar.XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = txtBJDID.Value; dberp.ExecSQL(SQL); } } else { SQL.Clear(); SQL.Add(" merge into XLXSBJDMX tar "); SQL.Add(" using( select "); if (cbxZB.SelectedValue.Trim().Equals("Y") || cbxZB.SelectedValue.Trim().Equals("P")) SQL.Add(" XLXSBJDMX_BJSL as ZBSL,roundfix(XLXSBJDMX_CPBJ*XLXSBJDMX_BJSL,2) as ZBJE ,"); else SQL.Add(" 0 as ZBSL,0 as ZBJE ,"); SQL.Add(" XLXSBJDMX_XH ,XLXSBJDMX_BJDID "); SQL.Add(" from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); SQL.Add(" ) sor "); SQL.Add(" on (tar.XLXSBJDMX_XH = sor.XLXSBJDMX_XH and tar.XLXSBJDMX_BJDID = sor.XLXSBJDMX_BJDID "); SQL.Add(" and tar.XLXSBJDMX_BJDID = :pBJDID "); if (!txtBJDXHList.Value.Trim().Equals("")) SQL.Add(" and tar.XLXSBJDMX_XH in (" + txtBJDXHList.Value.Trim() + ") "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" tar.XLXSBJDMX_ZB=:pZB, "); SQL.Add(" tar.XLXSBJDMX_ZBSL = sor.ZBSL ,"); SQL.Add(" tar.XLXSBJDMX_ZBJE = sor.ZBJE ,"); SQL.Add(" tar.XLXSBJDMX_WHR=:XLXSBJDMX_WHR, "); SQL.Add(" tar.XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID, "); SQL.Add(" tar.XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ "); SQL.ParamByName("pZB").Value = cbxZB.SelectedValue.Trim(); SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = txtBJDID.Value; dberp.ExecSQL(SQL); } //更新报价单主表中标状态和中标金额 XLBJDUtils.UpdateBJDZBZT(dberp, txtBJDID.Value); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } if (chkBJWS.Visible) { UpdateBJWS(dberp, txtBJDID.Value); } DialogOperationScript dos = new DialogOperationScript(this); if (txtBJDXHList.Value.Trim().Equals(""))//整单操作 { dos.SetOwnerControlValue(PageParam.GetRTrimString("NeedQRCID"), "Y"); } else { dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID")); } dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { DialogOperationScript dos = new DialogOperationScript(this); if (txtBJDXHList.Value.Trim().Equals(""))//整单操作 { dos.SetOwnerControlValue(PageParam.GetRTrimString("NeedQRCID"), "N"); } dos.CloseSelf(); dos.Execute(); } } }