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_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using GThinking.N_WORKFLOW; using System.Text; using GThinking.N_MISPRO.MISPROAS; using System.Collections.Generic; using GThinking.N_CONTROL; using GThinking.N_MISPRO.TableCache; namespace GThinking.U20261363_N_XLXSBJ { public partial class WXXLCJDMXList : SingleGridBase { WXXLCJDMX entity = new WXXLCJDMX(); int iXSWS = 5; protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860174; this.UMName = "线缆销售价格表查价单"; this.CurMaster = Master; this.ModuleGV = grdWXXLCJD; this.CurEntity = entity; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "WXXLCJDMX_CJBH" }; this.Master.EnableAttachBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableNewBtn = false; this.Master.EnableQueryBtn = false; this.Master.EnableViewBtn = false; iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; if (!IsPostBack) { if (PageParam.GetRTrimString("BJDID").Equals("")) btnDR.Visible = false; } grdWXXLCJD.FindColumnExByFieldName("WXXLCJDMX_JGBBJ").NumberDecimalPlace = iXSWS; grdWXXLCJD.FindColumnExByFieldName("WXXLCJDMX_FDHJG").NumberDecimalPlace = iXSWS; base.InitPage(); this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { InitControl(); Master_OnStandardQuery(null, null); } } #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = GetQuerySQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdWXXLCJD, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = GetQuerySQL(); grdWXXLCJD.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { return base.Master_BeforeDeleteAction(sender, e); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } entity.EntityTable.QuerySelSql = GetQuerySQL(); entity.GridDataBind(grdWXXLCJD, tSession); grdWXXLCJD.SelectedIndex = -1; return true; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义事件 private string GetQuerySQL() { StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select WXXLCJDMX_CJBH ,WXXLCJDMX_XH,WXXLCJDMX_XLXHID,WXXLCJDMX_XLGGID,WXXLCJDMX_DYDJID,WXXLCJDMX_JLDW,WXXLCJDMX_CJSL,WXXLCJDMX_JGBBJ,WXXLCJDMX_FDBL,"); sSQL.AppendLine(" CASE ISNULL(WXXLCJDMX_XLBZID,' ') WHEN ' ' THEN ' ' ELSE rtrim(WXXLCJDMX_XLBZID) || '|' || XLBZ_XLBZLXMC END AS WXXLCJDMX_XLBZID,WXXLCJDMX_FDHJG,WXXLCJDMX_FDHJE"); sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ01,XLXSCJDYZZ0_YZZ02,XLXSCJDYZZ0_YZZ03,XLXSCJDYZZ0_YZZ04,XLXSCJDYZZ0_YZZ05 "); sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ06,XLXSCJDYZZ0_YZZ07,XLXSCJDYZZ0_YZZ08,XLXSCJDYZZ0_YZZ09,XLXSCJDYZZ0_YZZ10 "); sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ11,XLXSCJDYZZ0_YZZ12,XLXSCJDYZZ0_YZZ13,XLXSCJDYZZ0_YZZ14,XLXSCJDYZZ0_YZZ15 "); sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ16,XLXSCJDYZZ0_YZZ17,XLXSCJDYZZ0_YZZ18,XLXSCJDYZZ0_YZZ19,XLXSCJDYZZ0_YZZ20 "); sSQL.AppendLine(" from WXXLCJDMX "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = WXXLCJDMX_XLBZID "); sSQL.AppendLine(" left join XLXSCJDYZZ0 on XLXSCJDYZZ0_CJBH = WXXLCJDMX_CJBH and XLXSCJDYZZ0_XH=WXXLCJDMX_XH "); sSQL.AppendLine(" where WXXLCJDMX_CJBH=:WXXLCJDMX_CJBH "); entity.Param.Add("WXXLCJDMX_CJBH", PageParam.GetRTrimString("CJBH")); sSQL.AppendLine(" order by WXXLCJDMX_CJBH,WXXLCJDMX_XH"); return sSQL.ToString(); } protected void btnDR_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sErrorNum = ""; SQL.Clear(); SQL.Add(" SELECT WXXLCJDMX_XLXHID,WXXLCJDMX_XLGGID,WXXLCJDMX_DYDJID,WXXLCJDMX_XLBZID,WXXLCJDMX_CJSL,WXXLCJDMX_JLDW "); SQL.Add(" ,XLXSCJDYZZ0_YZZ01,XLXSCJDYZZ0_YZZ02,XLXSCJDYZZ0_YZZ03,XLXSCJDYZZ0_YZZ04,XLXSCJDYZZ0_YZZ05 "); SQL.Add(" ,XLXSCJDYZZ0_YZZ06,XLXSCJDYZZ0_YZZ07,XLXSCJDYZZ0_YZZ08,XLXSCJDYZZ0_YZZ09,XLXSCJDYZZ0_YZZ10 "); SQL.Add(" ,XLXSCJDYZZ0_YZZ11,XLXSCJDYZZ0_YZZ12,XLXSCJDYZZ0_YZZ13,XLXSCJDYZZ0_YZZ14,XLXSCJDYZZ0_YZZ15 "); SQL.Add(" ,XLXSCJDYZZ0_YZZ16,XLXSCJDYZZ0_YZZ17,XLXSCJDYZZ0_YZZ18,XLXSCJDYZZ0_YZZ19,XLXSCJDYZZ0_YZZ20 "); SQL.Add(" FROM WXXLCJDMX "); SQL.Add(" left join XLXSCJDYZZ0 on XLXSCJDYZZ0_CJBH = WXXLCJDMX_CJBH and XLXSCJDYZZ0_XH=WXXLCJDMX_XH "); SQL.Add(" WHERE 1=1 AND WXXLCJDMX_CJBH = :pCJBH "); SQL.ParamByName("pCJBH").Value = PageParam.GetRTrimString("CJBH"); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { try { string sBJDID = PageParam.GetRTrimString("BJDID"); int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + PageParam.GetRTrimString("BJDID") + "'"); int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + PageParam.GetRTrimString("BJDID") + "'"); string sXLXHID = "", sXLGGID = "", sST = "", sDYDJ = ""; string sJLDW = "";//计量单位 string sBJCP = ""; TSQL sSQL = new TSQL(dberp); int iStartXH = 0; string sBJU003 = GetOption(100860000, "BJU003"); dberp.BeginTrans(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sXLXHID = ds.Tables[0].Rows[i]["WXXLCJDMX_XLXHID"].ToString().Trim(); sXLGGID = ds.Tables[0].Rows[i]["WXXLCJDMX_XLGGID"].ToString().Trim(); sJLDW = ds.Tables[0].Rows[i]["WXXLCJDMX_JLDW"].ToString().Trim(); if (sJLDW.Equals("")) { sJLDW = sBJU003; } if (sXLXHID.Equals("")) sXLXHID = "/"; if (sXLGGID.Equals("")) sXLGGID = "/"; sSQL.Clear(); sSQL.Add(" insert into XLXSBJDMX( "); sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, "); sSQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_BJCPSD,XLXSBJDMX_WGCPBZ, "); sSQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_YXJG,XLXSBJDMX_YZ,XLXSBJDMX_YSCP,XLXSBJDMX_BJSDBZ, "); sSQL.Add(" XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB, XLXSBJDMX_JGBBJ,XLXSBJDMX_DZSC,XLXSBJDMX_WHR,XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ,"); sSQL.Add(" XLXSBJDMX_BJJE,XLXSBJDMX_TZQBJJE,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_CLZL,"); sSQL.Add(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_WBBJDID,XLXSBJDMX_DRHH,XLXSBJDMX_WLID,XLXSBJDMX_BZ,XLXSBJDMX_CJDID) "); sSQL.Add(" values("); sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, "); sSQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_BJCPSD,:XLXSBJDMX_WGCPBZ, "); sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ,:XLXSBJDMX_YXJG,:XLXSBJDMX_YZ,:XLXSBJDMX_YSCP,:XLXSBJDMX_BJSDBZ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_JGBBJ, "); sSQL.Add(" :XLXSBJDMX_DZSC, :XLXSBJDMX_WHR, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHSJ,:XLXSBJDMX_BJJE,:XLXSBJDMX_TZQBJJE,:XLXSBJDMX_JGBBJJCE,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_CLZL,"); sSQL.Add(" :XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL,:XLXSBJDMX_WBBJDID,:XLXSBJDMX_DRHH,:XLXSBJDMX_WLID,:XLXSBJDMX_BZ,:XLXSBJDMX_CJDID)"); iXH = iXH + 1; iXSSX = iXSSX + 1; if (i == 0) { iStartXH = iXH; } sST = ds.Tables[0].Rows[i]["WXXLCJDMX_XLBZID"].ToString().Trim(); sDYDJ = ds.Tables[0].Rows[i]["WXXLCJDMX_DYDJID"].ToString().Trim().Replace('K', 'k').Replace('v', 'V'); sDYDJ = sDYDJ.Equals("") ? " " : sDYDJ; double fBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["WXXLCJDMX_CJSL"].ToString().Trim()); sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH; sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX; sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID; sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID; sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST; sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID; sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sST; sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJ; sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW; sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID); sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N"; sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJ); sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP; sSQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL; sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0; sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N"; sSQL.ParamByName("XLXSBJDMX_YXJG").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_BJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2); sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2); sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0.0; sSQL.ParamByName("XLXSBJDMX_CJDID").Value = PageParam.GetRTrimString("CJBH"); sSQL.ParamByName("XLXSBJDMX_WBBJDID").Value = ""; sSQL.ParamByName("XLXSBJDMX_DRHH").Value = 0; sSQL.ParamByName("XLXSBJDMX_WLID").Value = ""; sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = "N"; sSQL.ParamByName("XLXSBJDMX_YZ").Value = ""; sSQL.ParamByName("XLXSBJDMX_YSCP").Value = ""; sSQL.ParamByName("XLXSBJDMX_BZ").Value = ""; if (XLBJDUtils.ISDZBZ(sST)) { sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y"; } else { sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N"; } sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add(@"INSERT INTO XLXSBJDYZZ0 (XLXSBJDYZZ0_BJDID,XLXSBJDYZZ0_XH,XLXSBJDYZZ0_YZZ01 ,XLXSBJDYZZ0_YZZ02,XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04,XLXSBJDYZZ0_YZZ05, XLXSBJDYZZ0_YZZ06,XLXSBJDYZZ0_YZZ07,XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09,XLXSBJDYZZ0_YZZ10, XLXSBJDYZZ0_YZZ11,XLXSBJDYZZ0_YZZ12,XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14,XLXSBJDYZZ0_YZZ15, XLXSBJDYZZ0_YZZ16,XLXSBJDYZZ0_YZZ17,XLXSBJDYZZ0_YZZ18 ,XLXSBJDYZZ0_YZZ19,XLXSBJDYZZ0_YZZ20) VALUES( :XLXSBJDYZZ0_BJDID,:XLXSBJDYZZ0_XH,:XLXSBJDYZZ0_YZZ01 ,:XLXSBJDYZZ0_YZZ02,:XLXSBJDYZZ0_YZZ03,:XLXSBJDYZZ0_YZZ04,:XLXSBJDYZZ0_YZZ05, :XLXSBJDYZZ0_YZZ06,:XLXSBJDYZZ0_YZZ07,:XLXSBJDYZZ0_YZZ08,:XLXSBJDYZZ0_YZZ09,:XLXSBJDYZZ0_YZZ10, :XLXSBJDYZZ0_YZZ11,:XLXSBJDYZZ0_YZZ12,:XLXSBJDYZZ0_YZZ13,:XLXSBJDYZZ0_YZZ14,:XLXSBJDYZZ0_YZZ15, :XLXSBJDYZZ0_YZZ16,:XLXSBJDYZZ0_YZZ17,:XLXSBJDYZZ0_YZZ18 ,:XLXSBJDYZZ0_YZZ19,:XLXSBJDYZZ0_YZZ20)"); sSQL.ParamByName("XLXSBJDYZZ0_BJDID").Value = sBJDID; sSQL.ParamByName("XLXSBJDYZZ0_XH").Value = iXH; for (int z = 1; z <= 20; z++) { string sYZ = z.ToString().PadLeft(2, '0'); sSQL.ParamByName("XLXSBJDYZZ0_YZZ" + sYZ).Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSCJDYZZ0_YZZ" + sYZ].ToString().Trim(), 0); } dberp.ExecSQL(sSQL); } XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, sBJDID, "", iStartXH - 1, ref sErrorNum); XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, tSession, sBJDID, "", iStartXH - 1); CalcBJDMXAfterIns(dberp, sSQL, sBJDID, iStartXH, GetOption(100860000, "BJU002"), sBJU003, GetOption(100860000, "BJU018"), tSession.UserId, tSession.UserName, ref sErrorNum); sSQL.Clear(); sSQL.Add(" update WXXLCJD set WXXLCJD_YDRBJD='Y' where WXXLCJD_CJBH = :pCJBH "); sSQL.ParamByName("pCJBH").Value = PageParam.GetRTrimString("CJBH"); dberp.ExecSQL(sSQL); dberp.CommitTrans(); DialogOperationScript dos = new DialogOperationScript(this); ShowMessage("导入成功!"); dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE"); dos.CloseSelf(); dos.Execute(); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("导入出现异常情况:" + ex.Message); return; } } else { ShowMessage("导入明细数量为0,请重新选择!"); CloseWindow(); } } private void InitControl() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); string sXCXSYYZIDLIST = GetsXCXSYYZIDLIST(); if (!sXCXSYYZIDLIST.Equals("")) { grdWXXLCJD.FindColumnByFieldName("WXXLCJDMX_FDBL").Visible = false; sql.Clear(); sql.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC,XLXSTZYZ_JJFS "); sql.Add(" from XLXSTZYZ"); sql.Add(" where XLXSTZYZ_MXBH = 'BJD' and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", sXCXSYYZIDLIST)); sql.Add(" order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID "); DataSet ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJJFS = ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim(); string sJJ = sJJFS.Equals("JJ") ? "(元)" : (sJJFS.Equals("") ? "" : "(%)"); string sYZMC = ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJ; string sYZID = "XLXSCJDYZZ0_YZZ" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim().Replace("BJ", ""); int iDecimal = XLBJDUtils.JGBYZZDecimal; if (sJJFS.Equals("JJ")) iDecimal = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2); AddColumn(sYZID, sYZMC, iDecimal, 80); } } } /// /// 设置etNumber列的属 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right; grdWXXLCJD.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; grdWXXLCJD.ColumnsEx.Insert(0, ColumnEx); } public static void CalcBJDMXAfterIns(TDatabase dberp, TSQL SQL, string sBJDID, int startBJDXH, string sBJU002, string sBJU003, string sBJU018, string sWHRID, string sWHR, ref string sErrMsg) { try { #region 配置信息 SQL.Clear(); SQL.Add("select XLXSBJD_JGBID,XLXSJGB_MXBH,XLXSJGB_JGBIDS,XLXSJGB_JGCIDS,XLXSJGB_BJLY,XLXSJGB_TJYS,XLXSJGB_JSBLFS, "); SQL.Add(" XLXSBJD_BJFLID,XLXSBJFL_BJDHQLY,XLXSBJFL_TZCLHQ,XLXSBJFL_JGBTJYSS,XLXSBJFL_BJJCLLX,XLXSBJFL_LJJCLLX,XLXSBJFL_CPBJMRXSWS,XLXSBJFL_ZDXJJCLLX,XLXSBJFL_JYF,XLXSBJFL_YFWLID,XLXSBJFL_BJHYF,"); SQL.Add(" XLXSBJD_JZBJHS,XLXSBJD_BJRQ,XLXSBJFL_TZYLBL "); SQL.Add(" from XLXSBJD "); SQL.Add(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID "); SQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID=XLXSBJD_BJFLID"); SQL.Add(" where XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsBJD = dberp.OpenDataSet(SQL); if (dsBJD.Tables[0].Rows.Count == 0) { throw new Exception("报价单记录不存在!"); } int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; bool bHSBZ = dsBJD.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim().Equals("Y"); string sBJRQ = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim(); string sJGBID = dsBJD.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim(); string sMXBH = dsBJD.Tables[0].Rows[0]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim(); string sJGCIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim(); string sBJLY = dsBJD.Tables[0].Rows[0]["XLXSJGB_BJLY"].ToString().Trim(); string sTJYS = dsBJD.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim(); string sJSBLFS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JSBLFS"].ToString().Trim(); string sBJFLID = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim(); string sBJDHQLY = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJDHQLY"].ToString().Trim();//1|价格表行情、2|报价日行情 string sTZCLHQ = dsBJD.Tables[0].Rows[0]["XLXSBJFL_TZCLHQ"].ToString().Trim();//允许调整材料行情 string sJGBTJYSS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JGBTJYSS"].ToString().Trim();//价格表调价因素 string sJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJJCLLX"].ToString().Trim(); string sLJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_LJJCLLX"].ToString().Trim(); string sCPBJMRXSWS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_CPBJMRXSWS"].ToString().Trim(); string sZDXJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_ZDXJJCLLX"].ToString().Trim(); string sJYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JYF"].ToString().Trim(); string sYFWLID = dsBJD.Tables[0].Rows[0]["XLXSBJFL_YFWLID"].ToString().Trim(); string sBJHYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJHYF"].ToString().Trim(); string sTZCLYLBL = dsBJD.Tables[0].Rows[0]["XLXSBJFL_TZYLBL"].ToString().Trim(); #endregion XLBJDCalcUtils.CalcBJDHQCLCB_CLCB_JGBJJ_JGBBJ(dberp, SQL, sBJDID, startBJDXH, bHSBZ, sBJRQ, sJGBID, sMXBH, sJGBIDS, sJGCIDS, sBJLY, sTJYS, sJSBLFS, sBJFLID, sBJDHQLY, sTZCLHQ, sJGBTJYSS, sBJU002, sBJU003, sBJU018, sWHRID, sWHR, CalcAction.Insert, ref sErrMsg); if (!sErrMsg.Equals("")) { throw new Exception(sErrMsg); } string sXCXSYYZIDLIST = GetsXCXSYYZIDLIST(); Dictionary dicTJYZList = new Dictionary(); XLBJDUtils.GetDicTJYZList(dberp, SQL, sBJFLID, "", ref dicTJYZList); if (dicTJYZList.ContainsKey("sTJYSList_")) { string[] sTJYZ = dicTJYZList["sTJYSList_"].Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string sTJZYList = ""; for (int i = 0; i < sTJYZ.Length; i++) { if (!sXCXSYYZIDLIST.Contains(sTJYZ[i])) { sTJZYList = sTJZYList + sTJYZ[i] + ","; } } dicTJYZList["sTJYSList_"] = sTJZYList.TrimEnd(','); } XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZList, true, "", startBJDXH - 1, ref sErrMsg); if (!sErrMsg.Equals("")) { throw new Exception(sErrMsg); } //同步报价单明细记录插入XLXSBJDCLCB、XLXSBJDJJYZ XLBJDInfo.InsertCLCBandJJYZ(dberp, SQL, TControlState.ctsEdit, sBJDID, sJGBID, sBJRQ, sWHRID, sWHR, sBJU003, bHSBZ); if (dberp.DriverName == "ORACLE") { if (dberp.InTransaction) { dberp.CommitTrans(); dberp.BeginTrans(); } } XLBJDUtils.UpdateBJDMX(dberp, SQL, sBJFLID, sBJDID, iXSWS, sJCLLX, sLJJCLLX, sCPBJMRXSWS, "", startBJDXH); //同步补充插入XLXSCLQD、XLXSJGBMX中没有的记录,改方法已边缘化,若要保留执行需修改传入的参数tSession等,不执行无碍 //XLBJDInfo.InsertCLQDorJGBMX(dberp, SQL, txtBJDID.Value.Trim(), PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), tSession); XLBJDUtils.UpdateZDXJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", startBJDXH); XLBJDUtils.UpdateJSJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", startBJDXH); XLBJDCalcUtils.Check_UpdBJSLYZZ(dberp, SQL, sBJDID, sBJFLID, sBJU002, sBJU003); XLBJDUtils.UpdateXLXSBJD(dberp, SQL, sBJDID, sJCLLX, sLJJCLLX, sZDXJJCLLX, sJYF, "", "", sYFWLID, sBJHYF); } catch (Exception ex) { sErrMsg = ex.Message; throw new Exception(sErrMsg); } } public static string GetsXCXSYYZIDLIST() { string sXCXSYYZIDLIST = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select XLXSBJPZ_XCXSYYZIDLIST from XLXSBJPZ where XLXSBJPZ_MDID=102373000 "); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { sXCXSYYZIDLIST = ds.Tables[0].Rows[0][0].ToString().Trim(); } return sXCXSYYZIDLIST; } #endregion } }