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; using GThinking.N_MISPRO; using GThinking.N_CONTROL; using GThinking.N_MODEL.Dialog; namespace GThinking.N_XLXSBJ { public partial class XSYBJSQFJXXInfo : SingleCardBase { XSYBJSQFJXX entity = new XSYBJSQFJXX(); #region Page类事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860082; this.UMName = "线缆销售报价附加信息"; base.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 500; this.PageWidth = 700; base.InitPage(); } #endregion #region 模板继承事件 protected override void LoadRecord() { if (!IsPostBack) { this.entity.Param.Add("XLXSBJKZXXSZ_BH", PageParam.GetRTrimString("XLXSBJKZXXSZ_BH")); } else { this.entity.Param.Add("XLXSBJKZXXSZ_BH", txtBH.Value.Trim()); } base.LoadRecord(); if (cbxSJLX.SelectedValue.Trim().Equals("A")) { txtSZXQSZ.Text = txtQSZ_hid.Value.ToString().Trim(); } else if (cbxSJLX.SelectedValue.Trim().Equals("B") || cbxSJLX.SelectedValue.Trim().Equals("D")) { txtZFXQSZ.Text = txtQSZ_hid.Value.ToString().Trim(); } else { datRQXQSZ.Text = txtQSZ_hid.Value.ToString().Trim(); } } protected override void OnNewRecorder() { base.OnNewRecorder(); txtZFXQSZ.Style["display"] = "none"; datRQXQSZ.Style["display"] = "none"; txtKZZD.Value = ""; cbxSJLX.SelectedValue = "A"; cbxSRFS.SelectedValue = "A"; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now); } protected override void OnCopyRecorder() { base.OnCopyRecorder(); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Value = Convert.ToString(System.DateTime.Now); } protected override void SetControlState() { base.SetControlState(); txtWHR.Enabled = false; datWHSJ.Enabled = false; if (ControlState != TControlState.ctsBrowse && ControlState != TControlState.ctsNull) { cbxSJLX.Enabled = true; cbxSRFS.Enabled = cbxSJLX.SelectedValue.Trim().Equals("B"); txtJLDW.Enabled = cbxSJLX.SelectedValue.Trim().Equals("A"); txtROWS.Enabled = cbxSJLX.SelectedValue.Trim().Equals("D"); txtWIDTH.Enabled = !cbxSJLX.SelectedValue.Trim().Equals("A") && !cbxSJLX.SelectedValue.Trim().Equals("C"); txtMJLB.Enabled = !cbxSRFS.SelectedValue.Trim().Equals("A") && txtMJSQL.Text.Trim().Equals(""); txtMJSQL.Enabled = !cbxSRFS.SelectedValue.Trim().Equals("A") && txtMJLB.Text.Trim().Equals(""); if (ControlState == TControlState.ctsEdit) { cbxSJLX.Enabled = false; } } } protected override bool DataLogicValid() { if (txtWIDTH.Value < 0) { ShowMessage("显示宽度不允许小于零!"); return false; } if (txtROWS.Value < 0) { ShowMessage("显示行数不允许小于零!"); return false; } if (txtBJSX.Value < 0) { ShowMessage("编辑顺序不允许小于零!"); return false; } if (!cbxSRFS.SelectedValue.Trim().Equals("A")) { if (txtMJSQL.Text.Trim().Equals("") && txtMJLB.Text.Trim().Equals("")) { ShowMessage("枚举列表与SQL命令不允许同时为空!"); return false; } if (!txtMJLB.Text.Trim().Equals("") && !txtZFXQSZ.Text.Trim().Equals("")) { string[] array = txtMJLB.Text.Trim().Replace("\r\n", ",").Split(','); ArrayList list = new ArrayList(array); if (cbxSRFS.SelectedValue.Trim().Equals("C")) { string[] arrayQSZ = txtZFXQSZ.Text.Trim().Replace("\r\n", ",").Split(','); ArrayList QSZlist = new ArrayList(arrayQSZ); for (int i = 0; i < QSZlist.Count; i++) { if (!list.Contains(QSZlist[i].ToString().Trim())) { ShowMessage("缺省值不在枚举的值域中!"); return false; } } } else if (cbxSRFS.SelectedValue.Trim().Equals("B")) { if (!list.Contains(txtZFXQSZ.Text.Trim())) { ShowMessage("缺省值不在枚举的值域中!"); return false; } } } } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJKZXXSZ where XLXSBJKZXXSZ_MC = '{0}' and XLXSBJKZXXSZ_BH <> '{1}'", txtKZXXMC.Text.Trim(), txtBH.Value.Trim()))) { ShowMessage("已存在名称相同的附加信息,不允许保存!"); return false; } if (txtKZZD.Value.Trim().Equals("溢出")) { if (cbxSJLX.SelectedValue.Trim().Equals("A")) { ShowMessage("数值型附加信息已超过五个!"); return false; } else if (cbxSJLX.SelectedValue.Trim().Equals("B")) { ShowMessage("字符型附加信息已超过十个!"); return false; } else if (cbxSJLX.SelectedValue.Trim().Equals("C")) { ShowMessage("日期型附加信息已超过五个!"); return false; } else if (cbxSJLX.SelectedValue.Trim().Equals("D")) { ShowMessage("文本型附加信息已超过五个!"); return false; } } return base.DataLogicValid(); } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { txtBH.Value = CMISproDataBase.GetYWBHByN("DBERP", "XLXSBJKZXXSZ", "XLXSBJKZXXSZ_BH", 6); LoadKZZD(cbxSJLX.SelectedValue.Trim()); } if (cbxSJLX.SelectedValue.Trim().Equals("A")) { txtQSZ_hid.Value = txtSZXQSZ.Text; } else if (cbxSJLX.SelectedValue.Trim().Equals("B") || cbxSJLX.SelectedValue.Trim().Equals("D")) { txtQSZ_hid.Value = txtZFXQSZ.Text; } else { txtQSZ_hid.Value = datRQXQSZ.Text; } return base.Master_BeforeSaveAction(sender, e); } protected override bool CanDelete() { if (XSYBJSQFJXX.bUsed(txtBH.Value.Trim())) { return false; } return base.CanDelete(); } protected override void SetComboxItems() { base.SetComboxItems(); cbxSJLX.Items.Add(new ListItem("数值型", "A")); cbxSJLX.Items.Add(new ListItem("字符型", "B")); cbxSJLX.Items.Add(new ListItem("日期型", "C")); cbxSJLX.Items.Add(new ListItem("文本型", "D")); cbxSJLX.ShowValue = false; cbxSRFS.Items.Add(new ListItem("直接输入", "A")); cbxSRFS.Items.Add(new ListItem("单选", "B")); cbxSRFS.Items.Add(new ListItem("多选", "C")); cbxSRFS.ShowValue = false; WorkFlowUtils.SetCheckedDropDownList_WFPROC("XLXSBJ_BJD", cbxWHBZ); WorkFlowUtils.SetCheckedDropDownList_WFPROC("XLXSBJ_BJD", cbxXSBZ); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); if (ControlState == TControlState.ctsBrowse) SQL.Add(" select XLXSBJFL_BJFLID,case isnull(XLXSBJFL_TYBZ,'N') when 'Y' then rtrim(XLXSBJFL_BJFLMC)||'(停用)' else XLXSBJFL_BJFLMC end as BJFLMC from XLXSBJFL where 1=1 order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID "); else SQL.Add(" select XLXSBJFL_BJFLID, XLXSBJFL_BJFLMC from XLXSBJFL where 1=1 and isnull(XLXSBJFL_TYBZ,'N') <> 'Y' order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID "); DataSet ds = dberp.OpenDataSet(SQL); cbxSYBJFL.ClearItems(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxSYBJFL.Items.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim())); } } } #endregion #region 控件事件 protected void cbxSRFS_SelectedIndexChanged(object sender, EventArgs e) { if (cbxSRFS.SelectedValue.Trim().Equals("A")) { txtMJLB.Text = ""; txtMJSQL.Text = ""; txtMJLB.Enabled = false; txtMJSQL.Enabled = false; } else { txtROWS.Value = 0; txtMJLB.Enabled = txtMJSQL.Text.Trim().Equals(""); txtMJSQL.Enabled = txtMJLB.Text.Trim().Equals(""); } txtROWS.Enabled = cbxSJLX.SelectedValue.Trim().Equals("D") && cbxSRFS.SelectedValue.Trim().Equals("A"); } protected void cbxSJLX_SelectedIndexChanged(object sender, EventArgs e) { if (!cbxSJLX.SelectedValue.Trim().Equals("A")) { txtJLDW.Enabled = false; txtJLDW.Text = ""; } else { txtJLDW.Enabled = true; txtWIDTH.Enabled = true; } if (cbxSJLX.SelectedValue.Trim().Equals("B")) { cbxSRFS.Enabled = true; txtWIDTH.Enabled = true; txtROWS.Enabled = false; } else if (cbxSJLX.SelectedValue.Trim().Equals("D")) { cbxSRFS.SelectedValue = "A"; txtMJLB.Text = ""; txtMJSQL.Text = ""; txtMJLB.Enabled = false; txtMJSQL.Enabled = false; cbxSRFS.Enabled = false; txtWIDTH.Enabled = false; txtROWS.Enabled = cbxSRFS.SelectedValue.Trim().Equals("A"); } else { cbxSRFS.SelectedValue = "A"; cbxSRFS.Enabled = false; txtMJLB.Text = ""; txtMJSQL.Text = ""; txtMJLB.Enabled = false; txtMJSQL.Enabled = false; if (cbxSJLX.SelectedValue.Trim().Equals("C")) { txtWIDTH.Value = 72; txtWIDTH.Enabled = false; } txtROWS.Enabled = false; } if (cbxSJLX.SelectedValue.Trim().Equals("A")) { txtSZXQSZ.Style["display"] = "block"; txtZFXQSZ.Style["display"] = "none"; datRQXQSZ.Style["display"] = "none"; txtZFXQSZ.Text = ""; datRQXQSZ.Text = ""; } else if (cbxSJLX.SelectedValue.Trim().Equals("B") || cbxSJLX.SelectedValue.Trim().Equals("D")) { txtSZXQSZ.Style["display"] = "none"; txtZFXQSZ.Style["display"] = "block"; datRQXQSZ.Style["display"] = "none"; txtSZXQSZ.Text = ""; datRQXQSZ.Text = ""; } else { txtSZXQSZ.Style["display"] = "none"; txtZFXQSZ.Style["display"] = "none"; datRQXQSZ.Style["display"] = "block"; txtZFXQSZ.Text = ""; txtSZXQSZ.Text = ""; } } protected void txtMJLB_TextChanged(object sender, EventArgs e) { if (txtMJLB.Text.Trim().Equals("")) { txtMJSQL.Enabled = true; } else { txtMJSQL.Text = ""; txtMJSQL.Enabled = false; } } protected void txtMJSQL_TextChanged(object sender, EventArgs e) { if (txtMJSQL.Text.Trim().Equals("")) { if (cbxSJLX.SelectedValue.Trim().Equals("B")) txtMJLB.Enabled = true; } else { txtMJLB.Text = ""; txtMJLB.Enabled = false; } } #endregion #region 自定义事件 private void LoadKZZD(string sSJLX) { string sKZZDList = GetKZZD(sSJLX).Trim(); string sResult = ""; if (sSJLX.Trim().Equals("A")) { if (sKZZDList.Trim().Equals("")) { sResult = "KZSZ01"; } else { sKZZDList = "," + sKZZDList.Trim() + ","; if (!sKZZDList.Contains(",KZSZ01,")) { sResult = "KZSZ01"; } else if (!sKZZDList.Contains(",KZSZ02,")) { sResult = "KZSZ02"; } else if (!sKZZDList.Contains(",KZSZ03,")) { sResult = "KZSZ03"; } else if (!sKZZDList.Contains(",KZSZ04,")) { sResult = "KZSZ04"; } else if (!sKZZDList.Contains(",KZSZ05,")) { sResult = "KZSZ05"; } else { sResult = "溢出"; } } } else if (sSJLX.Trim().Equals("B")) { if (sKZZDList.Trim().Equals("")) { sResult = "KZZF01"; } else { sKZZDList = "," + sKZZDList.Trim() + ","; if (!sKZZDList.Contains(",KZZF01,")) { sResult = "KZZF01"; } else if (!sKZZDList.Contains(",KZZF02,")) { sResult = "KZZF02"; } else if (!sKZZDList.Contains(",KZZF03,")) { sResult = "KZZF03"; } else if (!sKZZDList.Contains(",KZZF04,")) { sResult = "KZZF04"; } else if (!sKZZDList.Contains(",KZZF05,")) { sResult = "KZZF05"; } else if (!sKZZDList.Contains(",KZZF06,")) { sResult = "KZZF06"; } else if (!sKZZDList.Contains(",KZZF07,")) { sResult = "KZZF07"; } else if (!sKZZDList.Contains(",KZZF08,")) { sResult = "KZZF08"; } else if (!sKZZDList.Contains(",KZZF09,")) { sResult = "KZZF09"; } else if (!sKZZDList.Contains(",KZZF10,")) { sResult = "KZZF10"; } else { sResult = "溢出"; } } } else if (sSJLX.Trim().Equals("C")) { if (sKZZDList.Trim().Equals("")) { sResult = "KZRQ01"; } else { sKZZDList = "," + sKZZDList.Trim() + ","; if (!sKZZDList.Contains(",KZRQ01,")) { sResult = "KZRQ01"; } else if (!sKZZDList.Contains(",KZRQ02,")) { sResult = "KZRQ02"; } else if (!sKZZDList.Contains(",KZRQ03,")) { sResult = "KZRQ03"; } else if (!sKZZDList.Contains(",KZRQ04,")) { sResult = "KZRQ04"; } else if (!sKZZDList.Contains(",KZRQ05,")) { sResult = "KZRQ05"; } else { sResult = "溢出"; } } } else if (sSJLX.Trim().Equals("D")) { if (sKZZDList.Trim().Equals("")) { sResult = "KZWB01"; } else { sKZZDList = "," + sKZZDList.Trim() + ","; if (!sKZZDList.Contains(",KZWB01,")) { sResult = "KZWB01"; } else if (!sKZZDList.Contains(",KZWB02,")) { sResult = "KZWB02"; } else if (!sKZZDList.Contains(",KZWB03,")) { sResult = "KZWB03"; } else if (!sKZZDList.Contains(",KZWB04,")) { sResult = "KZWB04"; } else if (!sKZZDList.Contains(",KZWB05,")) { sResult = "KZWB05"; } else { sResult = "溢出"; } } } txtKZZD.Value = sResult; } private string GetKZZD(string sSJLX) { string sKZZD = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ where XLXSBJKZXXSZ_SJLX = :pSJLX "); sSQL.ParamByName("pSJLX").Value = sSJLX; DataSet ds = dberp.OpenDataSet(sSQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sKZZD += ds.Tables[0].Rows[i][0].ToString().Trim() + ","; } return sKZZD.TrimEnd(','); } #endregion } public class XLXSBJFJXX { //标签单元格 public static void createLabel(TableRow parentControl, string sDYZD, string sMC, int iRow) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; if (iRow > 1) { CellFJXX.Attributes.Add("align", "right"); CellFJXX.Attributes.Add("valign", "top"); } else CellFJXX.Attributes.Add("align", "right"); //CellFJXX.Style.Add("width", "12%"); gtLabel lblMC = new gtLabel(); lblMC.ID = "lbl" + sDYZD; lblMC.Text = sMC + ":"; lblMC.Width = 100; CellFJXX.Controls.Add(lblMC); parentControl.Cells.Add(CellFJXX); } //数值框控件 public static void createNumTextBox(TableRow parentControl, string sDYZD, bool bBT, double fValue, string sJLDW) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; CellFJXX.Attributes.Add("align", "left"); gtNumTextBox txtKZSZ = new gtNumTextBox(); txtKZSZ.ID = "txt" + sDYZD; txtKZSZ.DecimalPlaces = 2; txtKZSZ.Value = fValue; txtKZSZ.Width = 100; if (bBT) txtKZSZ.Tag = gtNumTextBox.DTagStates.Star; CellFJXX.Controls.Add(txtKZSZ); if (!sJLDW.Trim().Equals("")) { gtLabel lblJLDW = new gtLabel(); lblJLDW.ID = "txtJLDW" + sDYZD; lblJLDW.Text = sJLDW; CellFJXX.Controls.Add(lblJLDW); } parentControl.Cells.Add(CellFJXX); } //编辑框控件 public static void createTextBox(TableRow parentControl, string sDYZD, bool bBT, string sValue, int iRow, int iWidth, int iColumnSpan,int itotalWidth) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; CellFJXX.Attributes.Add("align", "left"); gtTextBox txtKZZF = new gtTextBox(); txtKZZF.ID = "txt" + sDYZD; txtKZZF.Text = sValue; if(iRow>0) txtKZZF.MaxLength = 4000; else txtKZZF.MaxLength = 250; if (bBT) txtKZZF.Tag = gtTextBox.DTagStates.Star; if (iRow > 0) { txtKZZF.TextMode = TextBoxMode.MultiLine; txtKZZF.Rows = iRow > 6 ? 6 : iRow; if (itotalWidth > 0) { txtKZZF.Width = itotalWidth - 150; } else { txtKZZF.Style.Add("width", "90%"); } CellFJXX.ColumnSpan = iColumnSpan; } else { if (iWidth == 0) txtKZZF.Width = 120; else txtKZZF.Width = iWidth; } CellFJXX.Controls.Add(txtKZZF); parentControl.Cells.Add(CellFJXX); } //下拉单选 public static void createComboBox(TableRow parentControl, string sDYZD, bool bBT, string sValue, string sMJLB, string sMJSQL, int iWidth) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; CellFJXX.Attributes.Add("align", "left"); gtComboBox cbxKZZF = new gtComboBox(); cbxKZZF.ID = "cbx" + sDYZD; if (iWidth == 0) cbxKZZF.Width = 120; else cbxKZZF.Width = iWidth; if (bBT) cbxKZZF.Tag = gtComboBox.DTagStates.Star; if (!sMJLB.Trim().Equals("")) { string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(','); if (!bBT) cbxKZZF.Items.Add(new ListItem("", "")); foreach (string sItem in array) { cbxKZZF.Items.Add(new ListItem(sItem, sItem)); } cbxKZZF.ShowValue = false; } else if (!sMJSQL.Trim().Equals("")) TComboBox.SetComboBox("DBERP", cbxKZZF, sMJSQL.Trim(), !bBT); cbxKZZF.SelectedValue = sValue; CellFJXX.Controls.Add(cbxKZZF); parentControl.Cells.Add(CellFJXX); } //下拉多选 public static void createCheckedDropDownList(TableRow parentControl, string sDYZD, bool bBT, string sValue, string sMJLB, string sMJSQL, int iWidth) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; CellFJXX.Attributes.Add("align", "left"); gtCheckedDropDownList cbxKZZF = new gtCheckedDropDownList(); cbxKZZF.ID = "cbx" + sDYZD; if (iWidth == 0) cbxKZZF.Width = 120; else cbxKZZF.Width = iWidth; if (bBT) cbxKZZF.Tag = gtCheckedDropDownList.DTagStates.Star; if (!sMJLB.Trim().Equals("")) { string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(','); foreach (string sItem in array) { cbxKZZF.Items.Add(new ListItem(sItem, sItem)); } cbxKZZF.ShowValue = false; } else if (!sMJSQL.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add(sMJSQL); DataSet dsSQL = dberp.OpenDataSet(sSQL); for (int j = 0; j < dsSQL.Tables[0].Rows.Count; j++) { cbxKZZF.Items.Add(new ListItem(dsSQL.Tables[0].Rows[j][1].ToString().Trim(), dsSQL.Tables[0].Rows[j][0].ToString().Trim())); } } cbxKZZF.SelectedValue = sValue; CellFJXX.Controls.Add(cbxKZZF); parentControl.Cells.Add(CellFJXX); } //日期控件 public static void createDateTimeTextBox(TableRow parentControl, string sDYZD, bool bBT, string sValue) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = 1; CellFJXX.Attributes.Add("align", "left"); gtDateTimeTextBox datKZRQ = new gtDateTimeTextBox(); datKZRQ.ID = "dat" + sDYZD; datKZRQ.Width = 72; if (bBT) datKZRQ.Tag = gtDateTimeTextBox.DTagStates.Star; datKZRQ.Text = CMISproConvert.ConvertDate(sValue); CellFJXX.Controls.Add(datKZRQ); parentControl.Cells.Add(CellFJXX); } //空白单元格 public static void createTableCell(TableRow parentControl, int iColumnSpan, int irow) { TableCell CellFJXX = new TableCell(); CellFJXX.ColumnSpan = iColumnSpan; gtLabel lblMC = new gtLabel(); lblMC.ID = "lblKZXXKBG" + irow.ToString().Trim(); lblMC.Text = ""; lblMC.Width = 100 * iColumnSpan; CellFJXX.Controls.Add(lblMC); parentControl.Cells.Add(CellFJXX); } public static void UpdateLBXSFJXX(string sBJDID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_MC,XLXSBJKZXXSZ_SJLX,XLXSBJKZXXSZ_SRFS,XLXSBJKZXXSZ_MJLB,XLXSBJKZXXSZ_MJSQL "); SQL.Add(" from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y' order by XLXSBJKZXXSZ_BJSX,XLXSBJKZXXSZ_BH "); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sLBXSFJXX = ""; SQL.Clear(); SQL.Add(" select XLXSBJKZXX_BJDID "); for (int i = 1; i <= 5; i++) { SQL.Add(" ,XLXSBJKZXX_KZSZ" + i.ToString().PadLeft(2, '0')); } for (int j = 1; j <= 10; j++) { SQL.Add(" ,XLXSBJKZXX_KZZF" + j.ToString().PadLeft(2, '0')); } for (int k = 1; k <= 5; k++) { SQL.Add(" ,XLXSBJKZXX_KZRQ" + k.ToString().PadLeft(2, '0')); } for (int l = 1; l <= 5; l++) { SQL.Add(" ,XLXSBJKZXX_KZWB" + l.ToString().PadLeft(2, '0')); } SQL.Add(" from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsKZXX = dberp.OpenDataSet(SQL); if (dsKZXX.Tables[0].Rows.Count > 0) { foreach (DataRow trow in ds.Tables[0].Rows) { if (!sLBXSFJXX.Equals("")) sLBXSFJXX += "\r\n"; string sDYZD = trow["XLXSBJKZXXSZ_DYZD"].ToString().Trim(); string sMC = trow["XLXSBJKZXXSZ_MC"].ToString().Trim(); string sSJLX = trow["XLXSBJKZXXSZ_SJLX"].ToString().Trim(); string sSRFS = trow["XLXSBJKZXXSZ_SRFS"].ToString().Trim(); string sValues = dsKZXX.Tables[0].Rows[0]["XLXSBJKZXX_" + sDYZD].ToString().Trim(); if (sSJLX.Equals("A")) { if (sValues.Equals("") || sValues.Equals("0")) sValues = ""; else sValues = strPadRight(sValues, 2); } else if (sSJLX.Equals("B")) { if (!sSRFS.Equals("A")) { string sMJLB = trow["XLXSBJKZXXSZ_MJLB"].ToString().Trim(); if (sMJLB.Equals("")) { string sMJSQL = trow["XLXSBJKZXXSZ_MJSQL"].ToString().Trim(); SQL.Clear(); SQL.Add(sMJSQL); DataSet dsMJ = dberp.OpenDataSet(SQL); if (dsMJ.Tables[0].Rows.Count > 0) { string sMJNAME = ""; string sMJValue = "," + sValues + ","; foreach (DataRow mjROW in dsMJ.Tables[0].Rows) { string sMJID = mjROW[0].ToString().Trim(); string sMJMC = mjROW[1].ToString().Trim(); if (sMJValue.Contains("," + sMJID + ",")) { if (!sMJNAME.Equals("")) sMJNAME += ","; sMJNAME += sMJMC; } } sValues = sMJNAME; } } } } else if (sSJLX.Equals("C")) { if (!sValues.Equals("")) sValues = CMISproConvert.StrToDateTime(sValues).ToShortDateString().Trim(); } sLBXSFJXX += sMC + ":" + sValues; } } SQL.Clear(); SQL.Add(" update XLXSBJD set XLXSBJD_LBXSFJXX = :pLBXSFJXX where XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pLBXSFJXX").Value = sLBXSFJXX; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); } } public static string strPadRight(string s, int x) { string str = s; if (str.Split('.').Length == 2) { str = str.Split('.')[0] + "." + str.Split('.')[1].PadRight(x, '0'); } else { string tmp = "0"; if (x > 0) { tmp = tmp.PadRight(x, '0'); str = str + "." + tmp; } } return str; } } }