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_MISPRO.Utility; using GThinking.N_CONTROL; using GThinking.N_PUBLIC; namespace GThinking.N_XLXSBJ { public partial class BJYF_TLJQJInfo : OperationBase { BJYF_TLJQJ_Grid entity = new BJYF_TLJQJ_Grid(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860173; this.UMName = "按运距铜铝价区间维护运费比例"; this.CurMaster = Master; this.Tabs = Tab; this.PageHeight = 500; this.PageWidth = 700; AddListSetMap(new ListSet(pagSHD.ID, null, grdSHD, entity, UPSHD)); if (!IsPostBack) { this.Master.PnlQuery.GroupingText = "查询条件"; this.Master.PnlBill.GroupingText = "单据信息"; this.Master.PnlQuery.Visible = false; Master.BtnQueryVisible = false; InitControls(); if (!PageParam.GetRTrimString("XLXSBJDQYFB_XZQHID").Equals("")) { txtXZQHID.Value = PageParam.GetRTrimString("XLXSBJDQYFB_XZQHID"); txtOLD_XZQHID.Value = PageParam.GetRTrimString("XLXSBJDQYFB_XZQHID"); LoadXZQH(txtXZQHID.Value); btnDel.Visible = true; } else { btnDel.Visible = false; } } base.InitPage(); if (!IsPostBack) { Master_OnQuery(); GridDataBind(); } } #region 模板继承事件 protected override void Master_OnQuery() { entity.sXZQHID = txtXZQHID.Value.Trim(); base.Master_OnQuery(); } protected override void GridDataBind() { base.GridDataBind(); } protected override bool DataLogicValid() { if (cbxKHSZDPRO.SelectedValue.Trim().Equals("") && cbxKHSZDCITY.SelectedValue.Trim().Equals("") && cbxKHSZDCOUNTY.SelectedValue.Trim().Equals("")) { ShowMessage("地区--不允许为空!"); return false; } if (!cbxKHSZDCOUNTY.SelectedValue.Trim().Equals("")) txtXZQHID.Value = cbxKHSZDCOUNTY.SelectedValue.Trim(); else if (!cbxKHSZDCITY.SelectedValue.Trim().Equals("")) txtXZQHID.Value = cbxKHSZDCITY.SelectedValue.Trim(); else if (!cbxKHSZDPRO.SelectedValue.Trim().Equals("")) txtXZQHID.Value = cbxKHSZDPRO.SelectedValue.Trim(); else txtXZQHID.Value = ""; if (!txtOLD_XZQHID.Value.Trim().Equals(txtXZQHID.Value.Trim())) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID='{0}' and XLXSBJDQYFB_YFJZQH<>' ' ", txtXZQHID.Value))) { ShowMessage("所选地区已设置运费!"); return false; } } return base.DataLogicValid(); } protected override bool Master_OnOK() { TDatabase DBERP = null; try { string sXZQHID = txtXZQHID.Value.Trim(); DBERP = TContextDatabases.GetDatabase("DBERP"); DBERP.BeginTrans(); InsertXLXSBJDQYFB(DBERP); DBERP.CommitTrans(); ShowMessage("设置成功!"); DialogOperationScript dos = new DialogOperationScript(this); dos.CloseSelf(); dos.Execute(); } catch (Exception ex) { ShowMessage(ex.Message); DBERP.RollbackTrans(); return false; } return true; } #endregion #region 控件事件 protected void btnDel_Click(object sender, EventArgs e) { Confirm.Register("IsQD", "将删除当前记录,是否继续?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { Confirm.Clear(); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); dberp.BeginTrans(); TSQL SQL = new TSQL(dberp); SQL.Add("delete from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID=:pXZQHID and XLXSBJDQYFB_YFJZQH<>' '"); SQL.ParamByName("pXZQHID").Value = txtXZQHID.Value.Trim(); dberp.ExecSQL(SQL); dberp.CommitTrans(); ShowMessage("删除成功!"); CloseWindow(); } protected void cbxKHSZDPRO_OnSelectedIndexChanged(object sender, EventArgs e) { if (!IsPostBack) return; cbxKHSZDCITY.ClearItems(); cbxKHSZDCITY.SelectedValue = ""; cbxKHSZDCOUNTY.ClearItems(); cbxKHSZDCOUNTY.SelectedValue = ""; if (!cbxKHSZDPRO.SelectedValue.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XZQH_XZQHID,XZQH_CITY from XZQH where XZQH_FID = :pFID "); SQL.Add(" order by XZQH_XZQHID "); SQL.ParamByName("pFID").Value = cbxKHSZDPRO.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(SQL); cbxKHSZDCITY.Items.Add(new ListItem("", "")); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (!ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim().Equals("")) { cbxKHSZDCITY.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim(), ds.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim())); } } if (cbxKHSZDCITY.Items.Count == 2) { cbxKHSZDCITY.SelectedIndex = 1; } } } RefreshGrid(); } protected void cbxKHSZDCITY_OnSelectedIndexChanged(object sender, EventArgs e) { if (!IsPostBack) return; cbxKHSZDCOUNTY.ClearItems(); cbxKHSZDCOUNTY.SelectedValue = ""; if (!cbxKHSZDCITY.SelectedValue.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XZQH_XZQHID,XZQH_COUNTY from XZQH where XZQH_FID = :pFID "); SQL.Add(" order by XZQH_XZQHID "); SQL.ParamByName("pFID").Value = cbxKHSZDCITY.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(SQL); cbxKHSZDCOUNTY.Items.Add(new ListItem("", "")); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (!ds.Tables[0].Rows[i]["XZQH_COUNTY"].ToString().Trim().Equals("")) { cbxKHSZDCOUNTY.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XZQH_COUNTY"].ToString().Trim(), ds.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim())); } } if (cbxKHSZDCOUNTY.Items.Count == 2) { cbxKHSZDCOUNTY.SelectedIndex = 1; } } } RefreshGrid(); } protected void cbxKHSZDCOUNTY_OnSelectedIndexChanged(object sender, EventArgs e) { RefreshGrid(); } #endregion #region 自定义函数 private void InitControls() { TComboBox.SetComboBox("DBERP", cbxKHSZDPRO, "select XZQH_XZQHID,XZQH_PROVINCE from XZQH where XZQH_FID = '86' ORDER BY XZQH_XZQHID ", false); } private void LoadXZQH(string sXZQHID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XZQH_XZQHID,XZQH_FID,XZQH_PROVINCE,XZQH_CITY,XZQH_COUNTY from XZQH where XZQH_XZQHID = :pXZQHID "); SQL.ParamByName("pXZQHID").Value = sXZQHID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim().Equals("86")) { cbxKHSZDPRO.SelectedValue = ds.Tables[0].Rows[0]["XZQH_XZQHID"].ToString().Trim(); cbxKHSZDCITY.SelectedValue = ""; cbxKHSZDCOUNTY.SelectedValue = ""; } else if (ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim().EndsWith("0000")) { cbxKHSZDPRO.SelectedValue = ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim(); cbxKHSZDCITY.SelectedValue = ds.Tables[0].Rows[0]["XZQH_XZQHID"].ToString().Trim(); } else { cbxKHSZDCITY.SelectedValue = ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim(); cbxKHSZDCOUNTY.SelectedValue = ds.Tables[0].Rows[0]["XZQH_XZQHID"].ToString().Trim(); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XZQH_XZQHID,XZQH_FID from XZQH where XZQH_XZQHID = :pXZQHID "); sSQL.ParamByName("pXZQHID").Value = cbxKHSZDCITY.SelectedValue.Trim(); DataSet dsPRO = dberp.OpenDataSet(sSQL); if (dsPRO.Tables[0].Rows.Count > 0) { cbxKHSZDPRO.SelectedValue = dsPRO.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim(); } } SQL.Clear(); SQL.Add(" select XZQH_XZQHID,XZQH_CITY from XZQH where XZQH_FID = :pFID "); SQL.Add(" order by XZQH_XZQHID "); SQL.ParamByName("pFID").Value = cbxKHSZDPRO.SelectedValue.Trim(); DataSet ds1 = dberp.OpenDataSet(SQL); cbxKHSZDCITY.Items.Add(new ListItem("", "")); if (ds1.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) { if (!ds1.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim().Equals("")) { cbxKHSZDCITY.Items.Add(new ListItem(ds1.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim(), ds1.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim())); } } } SQL.Clear(); SQL.Add(" select XZQH_XZQHID,XZQH_COUNTY from XZQH where XZQH_FID = :pFID "); SQL.Add(" order by XZQH_XZQHID "); SQL.ParamByName("pFID").Value = cbxKHSZDCITY.SelectedValue.Trim(); DataSet dsCOUNTY = dberp.OpenDataSet(SQL); cbxKHSZDCOUNTY.Items.Add(new ListItem("", "")); if (dsCOUNTY.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsCOUNTY.Tables[0].Rows.Count; i++) { if (!dsCOUNTY.Tables[0].Rows[i]["XZQH_COUNTY"].ToString().Trim().Equals("")) { cbxKHSZDCOUNTY.Items.Add(new ListItem(dsCOUNTY.Tables[0].Rows[i]["XZQH_COUNTY"].ToString().Trim(), dsCOUNTY.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim())); } } } } } private void InsertXLXSBJDQYFB(TDatabase dberp) { string sXZQHID = txtXZQHID.Value.Trim(); TSQL SQL = new TSQL(dberp); SQL.Add("delete from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID=:pXZQHID and XLXSBJDQYFB_YFJZQH<>' '"); SQL.ParamByName("pXZQHID").Value = sXZQHID; dberp.ExecSQL(SQL); foreach (GridViewRow row in grdSHD.NewRows) { double dYSFL = CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("YSFL", row), 0); string sYFJZQH = grdSHD.GetValueByFieldName("XLXSBJYFJZQJ_YFJZQH", row).Trim(); if (string.IsNullOrEmpty(sYFJZQH)) continue; SQL.Clear(); SQL.Add("insert into XLXSBJDQYFB(XLXSBJDQYFB_XZQHID,XLXSBJDQYFB_YFJZQH,XLXSBJDQYFB_YSFL,XLXSBJDQYFB_WHR,XLXSBJDQYFB_WHRID,XLXSBJDQYFB_WHSJ,XLXSBJDQYFB_GCID)"); SQL.Add(string.Format("select '{0}' as XZQHID,'{1}' as YFJZQH,'{2}' AS YSFL, '{3}' as WHR,'{4}' as WHRID,'{5}' as WHSJ,' ' ", sXZQHID, sYFJZQH, dYSFL, CurSession.UserName, CurSession.UserId, DateTime.Now)); dberp.ExecSQL(SQL); } } private void RefreshGrid() { string sXZQHID = ""; if (!cbxKHSZDCOUNTY.SelectedValue.Trim().Equals("")) sXZQHID = cbxKHSZDCOUNTY.SelectedValue.Trim(); else if (!cbxKHSZDCITY.SelectedValue.Trim().Equals("")) sXZQHID = cbxKHSZDCITY.SelectedValue.Trim(); else if (!cbxKHSZDPRO.SelectedValue.Trim().Equals("")) sXZQHID = cbxKHSZDPRO.SelectedValue.Trim(); grdSHD.DataSource = GetGridTable(sXZQHID); grdSHD.DataBind(); grdSHD.SaveDataInfo.SaveDataFlag = DSaveDataFlag.sdNormal; FormAreaUpdate(); } private DataTable GetGridTable(string sXZQHID) { DataTable dt = new DataTable(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJYFJZQJ_YFJZQH,XLXSBJYFJZQJ_YFJZQJMC,isnull(XLXSBJDQYFB_YSFL,0) as YSFL "); SQL.Add(" from XLXSBJYFJZQJ"); SQL.Add(" left join (select XLXSBJDQYFB_YFJZQH,XLXSBJDQYFB_YSFL from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID=:pXZQHID and XLXSBJDQYFB_YFJZQH<>' ') a"); SQL.Add(" on a.XLXSBJDQYFB_YFJZQH=XLXSBJYFJZQJ_YFJZQH"); SQL.Add(" where XLXSBJYFJZQJ_YFJSGS = '6' "); SQL.Add("order by XLXSBJYFJZQJ_YFJZQH"); SQL.ParamByName("pXZQHID").Value = sXZQHID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } return dt; } #endregion } }