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_CONTROL; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Caching; using GThinking.N_MISPRO.Utility; using System.Collections.Generic; namespace GThinking.N_XLXSBJ { public partial class BJCPFZGX_SZFZFInfo : SingleCardBase { BJCPFZGX_SZFZF entity = new BJCPFZGX_SZFZF(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860122; this.UMName = "报价产品工艺工序"; base.CurMaster = Master; base.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(); } } #region 模板 #endregion #region 自定义函数 private void InitControl() { txtHasYZJL.Value = "N"; string sXLXHID = PageParam.GetRTrimString("XLXHID"); string sXLGGID = PageParam.GetRTrimString("XLGGID").Replace('*', '×'); string sXLBZID = PageParam.GetRTrimString("XLBZID"); string sDYDJID = PageParam.GetRTrimString("DYDJID"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSTZYZ_JGBID,XLXSTZYZ_YZID,XLXSTZYZ_TJYS,XLXSTZYZ_YZMC,XLXSTZYZ_JJFS FROM XLXSTZYZ WHERE XLXSTZYZ_MXBH='BJD' AND XLXSTZYZ_TJYS='A' AND ISNULL(XLXSTZYZ_QYGYGXXD,'N')='Y' "); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { lblYZID.Text = ds.Tables[0].Rows[0]["XLXSTZYZ_YZMC"].ToString().Trim(); string sJJFS = ds.Tables[0].Rows[0]["XLXSTZYZ_JJFS"].ToString().Trim(); string sYZID = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim(); txtYZJGBID.Value = ds.Tables[0].Rows[0]["XLXSTZYZ_JGBID"].ToString().Trim(); txtTJYS.Value = ds.Tables[0].Rows[0]["XLXSTZYZ_TJYS"].ToString().Trim(); txtYZID.Value = sYZID; if (sJJFS.Equals("JD") || sJJFS.Equals("KD") || sJJFS.Equals("SX") || sJJFS.Equals("DD") || sJJFS.Equals("MD")) { lblDW.Text = "%"; } else if (sJJFS.Equals("JJ")) { if (XLBJDUtils.GetYZXXByYZID(sYZID).XLXSTZYZ_TJLX == "1") lblDW.Text = "元"; else lblDW.Text = ""; } else if (sJJFS.Equals("MX") || sJJFS.Equals("DX")) { //乘以系数/除以系数 lblDW.Text = ""; txtYZZ.DecimalPlaces = 4; } bool bUseXLXSBJXLGGTHB = XLBJDUtils.UseXLXSBJXLGGTHB(); SQL.Clear(); SQL.Add(" select XLXSBJDYZZA_YZZ from XLXSBJDYZZA "); if (bUseXLXSBJXLGGTHB) { SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGID = XLXSBJDYZZA_XLGGID "); } SQL.Add(" where XLXSBJDYZZA_JGBID=:pJGBID AND XLXSBJDYZZA_YZID=:pYZID AND XLXSBJDYZZA_XLXHID=:pXLXHID "); if (bUseXLXSBJXLGGTHB) { SQL.Add(" AND isnull(XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH,' ')=:pXLGGID "); } else { SQL.Add(" AND REPLACE(XLXSBJDYZZA_XLGGID,'*','×')=:pXLGGID "); } SQL.Add(" AND XLXSBJDYZZA_XLBZID=:pXLBZID AND XLXSBJDYZZA_DYDJID=:pDYDJID "); SQL.ParamByName("pJGBID").Value = txtYZJGBID.Value; SQL.ParamByName("pYZID").Value = sYZID; SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pXLGGID").Value = sXLGGID; SQL.ParamByName("pXLBZID").Value = sXLBZID; SQL.ParamByName("pDYDJID").Value = sDYDJID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtYZZ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDYZZA_YZZ"].ToString().Trim()); txtHasYZJL.Value = "Y"; } } } #endregion #region 自定义按钮 protected void btnOK_Click(object sender, EventArgs e) { string sBJDID = PageParam.GetRTrimString("BJDID"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); string sXLXHID = PageParam.GetRTrimString("XLXHID"); string sXLGGID = PageParam.GetRTrimString("XLGGID").Replace('*','×'); string sXLBZID = PageParam.GetRTrimString("XLBZID"); string sDYDJID = PageParam.GetRTrimString("DYDJID"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); bool bUseXLXSBJXLGGTHB = XLBJDUtils.UseXLXSBJXLGGTHB(); if (txtHasYZJL.Value.Equals("Y")) { SQL.Add("UPDATE XLXSBJDYZZA SET XLXSBJDYZZA_YZZ=:pYZZ,XLXSBJDYZZA_WHR=:pWHR,XLXSBJDYZZA_WHRID=:pWHRID,XLXSBJDYZZA_WHSJ=:pWHSJ "); SQL.Add(" where XLXSBJDYZZA_JGBID=:pJGBID AND XLXSBJDYZZA_YZID=:pYZID AND XLXSBJDYZZA_XLXHID=:pXLXHID "); if (bUseXLXSBJXLGGTHB) { SQL.Add(" AND exists(select 1 from XLXSBJXLGGTHB where XLXSBJXLGGTHB_XLGGID = XLXSBJDYZZA_XLGGID and XLXSBJXLGGTHB_XLGGIDCH=:pXLGGID) "); } else { SQL.Add(" AND REPLACE(XLXSBJDYZZA_XLGGID,'*','×')=:pXLGGID "); } SQL.Add(" AND XLXSBJDYZZA_XLBZID=:pXLBZID AND XLXSBJDYZZA_DYDJID=:pDYDJID "); SQL.ParamByName("pJGBID").Value = txtYZJGBID.Value; SQL.ParamByName("pYZID").Value = txtYZID.Value; SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pXLGGID").Value = sXLGGID; SQL.ParamByName("pXLBZID").Value = sXLBZID; SQL.ParamByName("pDYDJID").Value = sDYDJID; SQL.ParamByName("pYZZ").Value = txtYZZ.Value; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); // 同步XLXSBJXLGGTHB表 if (!string.IsNullOrEmpty(sXLGGID) && !sXLGGID.Trim().Equals("")) { XLBJDUtils.SyncXLXSBJXLGGTHB_Single(dberp, sXLGGID, tSession); } } else { SQL.Add("insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); SQL.Add(" VALUES(:XLXSBJDYZZA_JGBID,:XLXSBJDYZZA_YZID,:XLXSBJDYZZA_XLXHID,:XLXSBJDYZZA_XLGGID,:XLXSBJDYZZA_XLBZID,:XLXSBJDYZZA_DYDJID,:XLXSBJDYZZA_YZZ,:XLXSBJDYZZA_WHR,:XLXSBJDYZZA_WHRID,:XLXSBJDYZZA_WHSJ) "); SQL.ParamByName("XLXSBJDYZZA_JGBID").Value = txtYZJGBID.Value; SQL.ParamByName("XLXSBJDYZZA_YZID").Value = txtYZID.Value; SQL.ParamByName("XLXSBJDYZZA_XLXHID").Value = sXLXHID; SQL.ParamByName("XLXSBJDYZZA_XLGGID").Value = sXLGGID; SQL.ParamByName("XLXSBJDYZZA_XLBZID").Value = sXLBZID; SQL.ParamByName("XLXSBJDYZZA_DYDJID").Value = sDYDJID; SQL.ParamByName("XLXSBJDYZZA_YZZ").Value = txtYZZ.Value; SQL.ParamByName("XLXSBJDYZZA_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDYZZA_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDYZZA_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); // 同步XLXSBJXLGGTHB表 if (!string.IsNullOrEmpty(sXLGGID) && !sXLGGID.Trim().Equals("")) { XLBJDUtils.SyncXLXSBJXLGGTHB_Single(dberp, sXLGGID, tSession); } } string sBJDXHList = ""; SQL.Clear(); SQL.Add(" select XLXSBJDMX_XH from XLXSBJDMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID"); SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XLXHID=:pXLXHID AND XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH =:pXLGGID "); SQL.Add(" AND XLXSBJDMX_XLBZID=:pXLBZID AND XLXSBJDMX_DYDJID=:pDYDJID "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pXLGGID").Value = sXLGGID; SQL.ParamByName("pXLBZID").Value = sXLBZID; SQL.ParamByName("pDYDJID").Value = sDYDJID; DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sBJDXHList += ds.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim() + ","; } sBJDXHList = sBJDXHList.TrimEnd(','); string sErrorMsg = ""; try { Dictionary dicTJYZList = new Dictionary(); dicTJYZList.Add("sTJYSList" + txtTJYS.Value.Trim(),txtYZID.Value.Trim()); dberp.BeginTrans(); XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, GetOption(100860000, "BJU003"), dicTJYZList, false, sBJDXHList, 0, false, false, false, ref sErrorMsg); XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sBJDXHList, false, false, false, "", DateTime.MinValue, GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), tSession.UserId, tSession.UserName, ref sErrorMsg); if (!sErrorMsg.Trim().Equals("")) { throw new Exception(sErrorMsg); } dberp.CommitTrans(); } catch (Exception eX) { dberp.RollbackTrans(); ShowMessage(eX.Message); return; } DialogOperationScript dos = new DialogOperationScript(this); dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE"); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion #region 控件事件 #endregion } }