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_PUBLIC; using GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using System.Text; using GThinking.N_MISPRO.TableCache; namespace GThinking.N_XLXSBJ { public partial class TZYZJJ9List : SingleGridBase { TZYZJJ_YZZ9 entity = new TZYZJJ_YZZ9(); TZYZJJ9_M queryentity = new TZYZJJ9_M(); DataSet dsTJYS1 = new DataSet(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860160; this.UMName = "按型号规格电压调表价"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sURLTarget = "TZYZJJ9Info.aspx"; this.sQueryURLTarget = "TZYZJJ9Query.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSJGBYZZ9_JGBID", "minYZID", "XLXSJGBYZZ9_XLXHID", "XLXSJGBYZZ9_XLGGID", "XLXSJGBYZZ9_DYDJID" }; try { grdContentGrid.FindColumnByFieldName("XLXSJGBYZZ9_JGBID").Visible = false; } catch { } if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID"); else CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID(); if (!PageParam.GetRTrimString("YCLQDCXWSZ").Equals("")) CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = PageParam.GetRTrimString("YCLQDCXWSZ"); else CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = "False"; if (PageParam.ContainsKey("XLXHID")) CurQueryEntity.FieldByName("XLXHID").Value = PageParam.GetRTrimString("XLXHID"); if (PageParam.ContainsKey("DYDJID")) CurQueryEntity.FieldByName("DYDJID").Value = PageParam.GetRTrimString("DYDJID"); if (!PageParam.GetRTrimString("SQDH").Equals("")) CurQueryEntity.FieldByName("CLYLZDDH").Value = PageParam.GetRTrimString("SQDH").Trim(); if (!PageParam.GetRTrimString("XLXHID").Equals("")) CurQueryEntity.FieldByName("XLXHID").Value = PageParam.GetRTrimString("XLXHID"); } CanDeleteCheckedRows = true; base.InitPage(); if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) Master_OnStandardQuery(null, null); else { if (IsDefaultExecute) Master_OnStandardQuery(null, null); else { setBtnVisibled(CurQueryEntity.FieldByName("JGBID").Value.Trim()); this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } } } } #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } else { this.Master.StandardNewButton.OnClientClick = "OpenCardForm('INSERT');return false;"; this.Master.StandardCopyButton.OnClientClick = "OpenCardForm('COPY');return false;"; } setBtnVisibled(CurQueryEntity.FieldByName("JGBID").Value.Trim()); InitControl(); TPageParams pageParams = new TPageParams(); pageParams.AddString("XLXSJGBYZZ9_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZList", txtTJYZList.Value.Trim()); pageParams.AddString("FirstYZID", txtFirstYZID.Value.Trim()); if (!PageParam.GetRTrimString("XLXHID").Equals("")) pageParams.AddString("XLXHID", PageParam.GetRTrimString("XLXHID").Trim()); SetNewFormParam(pageParams); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); entity.EntityTable.DeleteSql = " delete from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID =:XLXSJGBYZZ9_JGBID " + " and XLXSJGBYZZ9_XLXHID=:XLXSJGBYZZ9_XLXHID and XLXSJGBYZZ9_XLGGID=isnull(:XLXSJGBYZZ9_XLGGID,' ') and XLXSJGBYZZ9_DYDJID=isnull(:XLXSJGBYZZ9_DYDJID,' ') and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_YZID", sYZIDlist); entity.Param.Add("XLXSJGBYZZ9_JGBID", this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_JGBID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ9_XLXHID", this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_XLXHID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ9_XLGGID", this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_XLGGID"].ToString().Trim().Equals("") ? " " : this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_XLGGID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ9_DYDJID", this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_DYDJID"].ToString().Trim().Equals("") ? " " : this.grdContentGrid.SelectedDataKey["XLXSJGBYZZ9_DYDJID"].ToString().Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); entity.GridDataBind(grdContentGrid, tSession); grdContentGrid.SelectedIndex = -1; return true; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLXSJGBYZZ9_JGBID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ9_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLXHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ9_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLGGID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ9_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_DYDJID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ9_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_YZID", grdContentGrid.DataKeys[e.Row.RowIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("FirstYZID", txtFirstYZID.Value.Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 自定义函数 private void InitControl() { if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True" || (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()))) { if (!IsPostBack)//首次打开需要补上这一段,否则按钮还是可用状态 { if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) Master.RightNewBtn = false; Master.RightCopyBtn = false; Master.RightViewBtn = false; Master.RightEditBtn = false; Master.RightDeleteBtn = false; } if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) Master.StandardNewButton.Enabled = false; Master.StandardCopyButton.Enabled = false; Master.StandardEditButton.Enabled = false; Master.StandardDeleteButton.Enabled = false; Master.StandardViewButton.Enabled = false; GtToolButton1.Enabled = false; } else { Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; Master.StandardViewButton.Enabled = true; GtToolButton1.Enabled = true; } } private bool XSWHR() { if (!PageParam.GetRTrimString("TJYZID").Equals("") && (!PageParam.GetRTrimString("TJYZID").Contains(",")) && string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()) && (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE"))) return true; return false; } //判断模块是否存在并且是否有权限 private bool CheckModule(string sUMID) { int iUMID = CMISproConvert.StrToInt(sUMID); UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } private void setBtnVisibled(string sJGBID) { if (!string.IsNullOrEmpty(PageParam.GetRTrimString("XLJGBID")) && PageParam.GetRTrimString("JGBID").Equals(sJGBID)) btnTBZJGB.Visible = true; else btnTBZJGB.Visible = false; } private string GetSQL() { base.InitEntityByCondition(); InitGridView(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(" select :pJGBID as XLXSJGBYZZ9_JGBID, XLXSJGBYZZ9_XLXHID as XLXHID, XLXSJGBYZZ9_XLGGID as XLGGID, XLXSJGBYZZ9_DYDJID as DYDJID, "); sSQL.AppendLine(" XLXSJGBYZZ9_XLXHID, XLXSJGBYZZ9_XLGGID, XLXSJGBYZZ9_DYDJID "); sSQL.AppendLine(" ,case when CPMLID is not null then rtrim(CPMLID)||'|'||XLXSCPML_CPMLMC else ' ' end as CPMLMC "); sSQL.AppendLine(" ,minYZID"); if (XSWHR()) { sSQL.AppendLine(" , WHR, WHSJ "); } else { sSQL.AppendLine(" ,' ' as WHR, ' ' as WHSJ "); } for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" from "); sSQL.AppendLine(" ( "); sSQL.AppendLine(" select XLXSJGBYZZ9_XLXHID, XLXSJGBYZZ9_XLGGID, XLXSJGBYZZ9_DYDJID, min(XLXSJGBYZZ9_YZID) as minYZID "); sSQL.AppendLine(" ,case when AA.XLXSBJTJXHML_CPMLID is not null then AA.XLXSBJTJXHML_CPMLID else BB.XLXSBJTJXHML_CPMLID end as CPMLID "); if (XSWHR()) { sSQL.AppendLine(" ,XLXSJGBYZZ9_WHR as WHR,XLXSJGBYZZ9_WHSJ as WHSJ "); } for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",sum(CASE XLXSJGBYZZ9_YZID WHEN '{0}' THEN XLXSJGBYZZ9_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } #region 依材料清单未设置 if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) { string[] sTJYZList = txtTJYZList.Value.Split(','); sSQL.AppendLine(" from ("); sSQL.AppendLine(string.Format(" select distinct :pJGBID as XLXSJGBYZZ9_JGBID,XLXSCLQD_XLXHID as XLXSJGBYZZ9_XLXHID,XLXSCLQD_XLGGID as XLXSJGBYZZ9_XLGGID,XLXSCLQD_DYDJID as XLXSJGBYZZ9_DYDJID,'{0}' as XLXSJGBYZZ9_YZID,0 as XLXSJGBYZZ9_YZZ", txtFirstYZID.Value.Trim())); sSQL.AppendLine(" from XLXSCLQD "); sSQL.AppendLine(" where 1=1 "); for (int i = 0; i < sTJYZList.Length; i++) { sSQL.AppendLine(" and not exists(select 1 from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ9_XLGGID=XLXSCLQD_XLGGID "); sSQL.AppendLine(string.Format(" and XLXSJGBYZZ9_YZID='{0}' ", sTJYZList[i].Split('|')[0])); sSQL.AppendLine(" and XLXSJGBYZZ9_DYDJID=XLXSCLQD_DYDJID)"); sSQL.AppendLine(" and not exists(select 1 from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ9_XLGGID=' ' "); sSQL.AppendLine(string.Format(" and XLXSJGBYZZ9_YZID='{0}' ", sTJYZList[i].Split('|')[0])); sSQL.AppendLine(" and XLXSJGBYZZ9_DYDJID=' ')"); } sSQL.AppendLine(" and XLXSCLQD_WPID='ZZZZ' ) YZZ9"); } #endregion #region 材料用量制定申请 else if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { sSQL.AppendLine(" from ( "); sSQL.AppendLine(" select :pJGBID as XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID, XLXSJGBYZZ9_XLGGID, XLXSJGBYZZ9_DYDJID, XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ "); sSQL.AppendLine(" from XLXSJGBYZZ9"); sSQL.AppendLine(" where XLXSJGBYZZ9_JGBID = :pJGBID "); sSQL.AppendLine(" and exists(select 1 from XLXSBJYLZDMX where XLXSBJYLZDMX_SQDH = :pSQDH and XLXSBJYLZDMX_XLXHID = XLXSJGBYZZ9_XLXHID "); sSQL.AppendLine(" and XLXSBJYLZDMX_DYDJID = case when isnull(XLXSJGBYZZ9_DYDJID,' ') = ' ' then XLXSBJYLZDMX_DYDJID else XLXSJGBYZZ9_DYDJID end) "); if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_YZID", sYZIDlist)); } sSQL.AppendLine(" union "); sSQL.AppendLine(" select :pJGBID as XLXSJGBYZZ9_JGBID,XLXSBJYLZDMX_XLXHID as XLXSJGBYZZ9_XLXHID,' ' as XLXSJGBYZZ9_XLGGID,XLXSBJYLZDMX_DYDJID as XLXSJGBYZZ9_DYDJID, "); sSQL.AppendLine(string.Format(" case when isnull(XLXSJGBYZZ9_YZID,' ') = ' ' then '{0}' else XLXSJGBYZZ9_YZID end as XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ", txtFirstYZID.Value.Trim())); sSQL.AppendLine(" from XLXSBJYLZDMX "); sSQL.AppendLine(" left join XLXSJGBYZZ9 on XLXSBJYLZDMX_XLXHID = XLXSJGBYZZ9_XLXHID and XLXSBJYLZDMX_DYDJID = case when isnull(XLXSJGBYZZ9_DYDJID,' ') = ' ' then XLXSBJYLZDMX_DYDJID else XLXSJGBYZZ9_DYDJID end "); sSQL.AppendLine(" and XLXSJGBYZZ9_JGBID = :pJGBID "); if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_YZID", sYZIDlist)); } sSQL.AppendLine(" where XLXSBJYLZDMX_SQDH = :pSQDH and isnull(XLXSJGBYZZ9_YZID,' ') = ' '"); sSQL.AppendLine(" ) YZZ9 "); entity.Param.Add("pSQDH", CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()); } #endregion else sSQL.AppendLine(" from XLXSJGBYZZ9 YZZ9"); sSQL.AppendLine(" left join XLXSBJTJXHML AA on AA.XLXSBJTJXHML_XLXHID = YZZ9.XLXSJGBYZZ9_XLXHID and AA.XLXSBJTJXHML_DYDJID = isnull(YZZ9.XLXSJGBYZZ9_DYDJID, ' ') "); sSQL.AppendLine(" left join XLXSBJTJXHML BB on BB.XLXSBJTJXHML_XLXHID = YZZ9.XLXSJGBYZZ9_XLXHID and BB.XLXSBJTJXHML_DYDJID = ' ' "); if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) { sSQL.AppendLine(" where 1<>1 "); } else { sSQL.AppendLine(" where YZZ9.XLXSJGBYZZ9_JGBID = :pJGBID "); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" and YZZ9.XLXSJGBYZZ9_XLXHID like :pXLXHID "); entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"); } } else { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ9.XLXSJGBYZZ9_XLXHID", CurQueryEntity.FieldByName("XLXHID").Value.Trim())); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL.AppendLine(" and YZZ9.XLXSJGBYZZ9_XLGGID like :pXLGGID "); entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.AppendLine(" and YZZ9.XLXSJGBYZZ9_DYDJID = :pDYDJID "); entity.Param.Add("pDYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim()); } if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ9.XLXSJGBYZZ9_YZID", sYZIDlist)); } sSQL.AppendLine(" group by YZZ9.XLXSJGBYZZ9_XLXHID, YZZ9.XLXSJGBYZZ9_XLGGID, YZZ9.XLXSJGBYZZ9_DYDJID,AA.XLXSBJTJXHML_CPMLID,BB.XLXSBJTJXHML_CPMLID "); if (XSWHR()) { sSQL.AppendLine(" , XLXSJGBYZZ9_WHR, XLXSJGBYZZ9_WHSJ "); } sSQL.AppendLine(" ) a "); sSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = CPMLID"); sSQL.AppendLine(" where 1=1 "); if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.AppendLine("and isnull(XLXSCPML_CPMLID,' ')=' '"); } else { sSQL.AppendLine("and isnull(XLXSCPML_CPMLID,' ')='" + CurQueryEntity.FieldByName("CPMLID").Value + "'"); } } sSQL.AppendLine(" order by XLXSJGBYZZ9_XLXHID, XLXSJGBYZZ9_XLGGID, XLXSJGBYZZ9_DYDJID "); entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); return sSQL.ToString(); } private void InitGridView() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS "); SQL.Add(" from XLXSTZYZ"); SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS='9' "); SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID"); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("TJYZID"))) { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", PageParam.GetRTrimString("TJYZID").Trim())); } SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH"); SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); dsTJYS1 = ds; txtTJYZList.Value = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == 0) txtFirstYZID.Value = ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(); string sJJFSMC = ""; int iXSWS = XLBJDUtils.JGBYZZDecimal; //加价类型的基价因子小数位数按BJU002设置的来 if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { //iXSWS = CMISproConvert.StrToInt(GetOption("BJU002")); iXSWS = 5; sJJFSMC = "(元)"; } else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD")) { sJJFSMC = "(%)"; } AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC, iXSWS, 80); txtTJYZList.Value += ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC + ","; } txtTJYZList.Value = txtTJYZList.Value.TrimEnd(','); if (XSWHR()) { AddColumn("WHR", "维护人", 72); AddColumn("WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } } private string GetDefaultJGBID() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("SELECT XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='JZJ' and XLXSJGB_TJYS='9' order by XLXSJGB_JGBID"); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString().Trim(); } else return ""; } private void OpenInfo(TPageCallAction tpCallAction, string sYCLQDCXWSZ) { TPageParams LinkPageParam = new TPageParams(); LinkPageParam.UrlPath = "TZYZJJ9Info.aspx"; LinkPageParam.AddString("XLXSJGBYZZ9_JGBID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_YZID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("FirstYZID", txtFirstYZID.Value.Trim()); LinkPageParam.AddString("YCLQDCXWSZ", sYCLQDCXWSZ); LinkPageParam.CallAction = tpCallAction; OpenDialog(LinkPageParam); } private void OpenInfo(TPageCallAction tpCallAction, string sYCLQDCXWSZ,string sYZID) { TPageParams LinkPageParam = new TPageParams(); LinkPageParam.UrlPath = "TZYZJJ9Info.aspx"; LinkPageParam.AddString("XLXSJGBYZZ9_JGBID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ9_YZID", sYZID); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("FirstYZID", txtFirstYZID.Value.Trim()); LinkPageParam.AddString("YCLQDCXWSZ", sYCLQDCXWSZ); LinkPageParam.CallAction = tpCallAction; OpenDialog(LinkPageParam); } private string GetCLFirstYZ() { string sJGBID_CL = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_JGBID"].ToString().Trim(); string sXLXHID_CL = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLXHID"].ToString().Trim(); string sXLGGID_CL = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_XLGGID"].ToString().Trim(); string sDYDJID_CL = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSJGBYZZ9_DYDJID"].ToString().Trim(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); string sSQL_CL = string.Format(@"select XLXSJGBYZZ9_YZID from XLXSJGBYZZ9 where XLXSJGBYZZ9_XLXHID = '{0}' and XLXSJGBYZZ9_XLGGID = '{1}' and XLXSJGBYZZ9_DYDJID ='{2}' and XLXSJGBYZZ9_JGBID = '{3}' and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_YZID", sYZIDlist) , sXLXHID_CL, sXLGGID_CL.Equals("") ? " " : sXLGGID_CL, sDYDJID_CL, sJGBID_CL); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add(sSQL_CL); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString().Trim(); } else return ""; } #endregion #region GridView增加列 /// /// 设置etCheckBox列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etCheckBox; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etString列的属性 /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置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; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etDateTime列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etDateTime; ColumnEx.DateTimeEditKins = DateTimeKind; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } #endregion #region 控件事件 protected void btnRefresh1_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (!grdContentGrid.CheckedRowIndexs.Equals("")) { #region 勾选导入 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); try { dberp.BeginTrans(); string[] RowsArry = grdContentGrid.CheckedRowIndexs.Split(new char[] { ',' }); for (int j = 0; j < RowsArry.Length; j++) { string sJGBID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ9_JGBID"].ToString().Trim(); string sXLXHID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ9_XLXHID"].ToString().Trim(); string sXLGGID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ9_XLGGID"].ToString().Trim(); string sDYDJID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ9_DYDJID"].ToString().Trim(); string[] sYZValue = txtTJYZValue.Value.Split(',');//因子ID|因子值|是否相对值 for (int k = 0; k < sYZValue.Length; k++) { if (!sYZValue[k].Trim().Equals("")) { bool bCLYLZD = false; if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { string sSQL_CLYL = string.Format(@"select 1 from XLXSJGBYZZ9 where XLXSJGBYZZ9_XLXHID = '{0}' and XLXSJGBYZZ9_XLGGID = '{1}' and XLXSJGBYZZ9_DYDJID ='{2}' and XLXSJGBYZZ9_JGBID = '{3}' and XLXSJGBYZZ9_YZID = '{4}' " , sXLXHID, sXLGGID.Equals("") ? " " : sXLGGID, sDYDJID, sJGBID, sYZValue[k].Split('|')[0].Trim()); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL_CLYL)) bCLYLZD = true; } //依材料清单查询未设置,插入,未设置时相对值和绝对值计算结果一样 if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True"||bCLYLZD) { sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ9(XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID,XLXSJGBYZZ9_XLGGID,XLXSJGBYZZ9_DYDJID,XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ,XLXSJGBYZZ9_WHR,XLXSJGBYZZ9_WHRID,XLXSJGBYZZ9_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pDYDJID,:pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } else { if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 { sSQL.Clear(); sSQL.Add("delete from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID=:pJGBID and XLXSJGBYZZ9_XLXHID=:pXLXHID and XLXSJGBYZZ9_XLGGID=:pXLGGID and XLXSJGBYZZ9_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSJGBYZZ9_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ9(XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID,XLXSJGBYZZ9_XLGGID,XLXSJGBYZZ9_DYDJID,XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ,XLXSJGBYZZ9_WHR,XLXSJGBYZZ9_WHRID,XLXSJGBYZZ9_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pDYDJID,:pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } else//相对值 { sSQL.Clear(); sSQL.Add("update XLXSJGBYZZ9 set XLXSJGBYZZ9_YZZ=XLXSJGBYZZ9_YZZ+:pYZZ,XLXSJGBYZZ9_WHR=:pWHR,XLXSJGBYZZ9_WHRID=:pWHRID,XLXSJGBYZZ9_WHSJ=:pWHSJ"); sSQL.Add(" where XLXSJGBYZZ9_JGBID=:pJGBID and XLXSJGBYZZ9_XLXHID=:pXLXHID and XLXSJGBYZZ9_XLGGID=:pXLGGID and XLXSJGBYZZ9_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSJGBYZZ9_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } } } } } dberp.CommitTrans(); ShowMessage("设置完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } #endregion } else { #region 查询导入 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); try { dberp.BeginTrans(); string[] sYZValue = txtTJYZValue.Value.Split(',');//因子ID|因子值|是否相对值 for (int k = 0; k < sYZValue.Length; k++) { if (!sYZValue[k].Trim().Equals("")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { #region 材料用量制定申请 sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ9(XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID,XLXSJGBYZZ9_XLGGID,XLXSJGBYZZ9_DYDJID,XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ,XLXSJGBYZZ9_WHR,XLXSJGBYZZ9_WHRID,XLXSJGBYZZ9_WHSJ)"); sSQL.Add(" select distinct :pJGBID ,XLXSBJYLZDMX_XLXHID,' ' as XLGGID ,XLXSBJYLZDMX_DYDJID,:pYZID, 0,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSBJYLZDMX "); sSQL.Add(" left join XLXSJGBYZZ9 on XLXSJGBYZZ9_XLXHID = XLXSBJYLZDMX_XLXHID "); sSQL.Add(" and XLXSJGBYZZ9_XLGGID = ' ' and XLXSJGBYZZ9_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_YZID= :pYZID"); sSQL.Add(" where XLXSBJYLZDMX_SQDH = :pSQDH and isnull(XLXSJGBYZZ9_YZID,' ') = ' ' "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pSQDH").Value = CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim(); dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add(" merge into"); sSQL.Add(" XLXSJGBYZZ9 tar"); sSQL.Add(" using("); sSQL.Add(" select distinct XLXSJGBYZZ9_XLXHID, XLXSJGBYZZ9_XLGGID, XLXSJGBYZZ9_DYDJID, XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ"); sSQL.Add(" from XLXSJGBYZZ9 "); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBYZZ9_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSJGBYZZ9_DYDJID"); sSQL.Add(" where XLXSJGBYZZ9_JGBID = :pJGBID "); sSQL.Add(" and exists("); sSQL.Add(" select 1 from XLXSBJYLZDMX where XLXSBJYLZDMX_SQDH = :pSQDH and XLXSBJYLZDMX_XLXHID = XLXSJGBYZZ9_XLXHID"); sSQL.Add(" and XLXSBJYLZDMX_DYDJID = XLXSJGBYZZ9_DYDJID)"); sSQL.Add("and XLXSJGBYZZ9_YZID=:pYZID"); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } } sSQL.Add(" ) sor "); sSQL.Add(" on (tar.XLXSJGBYZZ9_JGBID = :pJGBID"); sSQL.Add(" and tar.XLXSJGBYZZ9_XLXHID = sor.XLXSJGBYZZ9_XLXHID"); sSQL.Add(" and tar.XLXSJGBYZZ9_XLGGID = sor.XLXSJGBYZZ9_XLGGID"); sSQL.Add(" and tar.XLXSJGBYZZ9_DYDJID = sor.XLXSJGBYZZ9_DYDJID"); sSQL.Add(" and tar.XLXSJGBYZZ9_YZID = sor.XLXSJGBYZZ9_YZID )"); sSQL.Add(" when matched then update set "); if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 sSQL.Add(" tar.XLXSJGBYZZ9_YZZ =:pYZZ,"); else sSQL.Add(" tar.XLXSJGBYZZ9_YZZ =tar.XLXSJGBYZZ9_YZZ +:pYZZ,"); sSQL.Add(" tar.XLXSJGBYZZ9_WHR=:pWHR,tar.XLXSJGBYZZ9_WHRID=:pWHRID,tar.XLXSJGBYZZ9_WHSJ=:pWHSJ "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pSQDH").Value = CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim(); dberp.ExecSQL(sSQL); #endregion } else if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True") { #region 依材料清单未设置 sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ9(XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID,XLXSJGBYZZ9_XLGGID,XLXSJGBYZZ9_DYDJID,XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ,XLXSJGBYZZ9_WHR,XLXSJGBYZZ9_WHRID,XLXSJGBYZZ9_WHSJ)"); sSQL.Add(" select :pJGBID ,XLXSCLQD_XLXHID ,XLXSCLQD_XLGGID ,XLXSCLQD_DYDJID ,:pYZID ,:pYZZ ,:pWHR,:pWHRID,:pWHSJ"); sSQL.Add(" from XLXSCLQD "); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSCLQD_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSCLQD_DYDJID"); sSQL.Add(" where not exists(select 1 from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_YZID=:pYZID and XLXSJGBYZZ9_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ9_XLGGID=XLXSCLQD_XLGGID "); sSQL.Add(" and XLXSJGBYZZ9_DYDJID=XLXSCLQD_DYDJID)"); sSQL.Add(" and not exists(select 1 from XLXSJGBYZZ9 where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_YZID=:pYZID and XLXSJGBYZZ9_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ9_XLGGID=' ' "); sSQL.Add(" and XLXSJGBYZZ9_DYDJID=' ')"); sSQL.Add(" and XLXSCLQD_WPID='ZZZZ'"); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } } sSQL.Add(" group by XLXSCLQD_XLXHID ,XLXSCLQD_DYDJID "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); #endregion } else { //先补齐记录 sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ9(XLXSJGBYZZ9_JGBID,XLXSJGBYZZ9_XLXHID,XLXSJGBYZZ9_XLGGID,XLXSJGBYZZ9_DYDJID,XLXSJGBYZZ9_YZID,XLXSJGBYZZ9_YZZ,XLXSJGBYZZ9_WHR,XLXSJGBYZZ9_WHRID,XLXSJGBYZZ9_WHSJ)"); sSQL.Add(" select :pJGBID,a.XLXSJGBYZZ9_XLXHID, a.XLXSJGBYZZ9_XLGGID, a.XLXSJGBYZZ9_DYDJID, :pYZID,0,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSJGBYZZ9 a"); sSQL.Add(" where a.XLXSJGBYZZ9_JGBID = :pJGBID "); sSQL.Add(" and a.XLXSJGBYZZ9_YZID<>:pYZID"); sSQL.Add(" and not exists(select 1 from XLXSJGBYZZ9 b where b.XLXSJGBYZZ9_JGBID=:pJGBID and b.XLXSJGBYZZ9_XLXHID=a.XLXSJGBYZZ9_XLXHID and b.XLXSJGBYZZ9_XLGGID=a.XLXSJGBYZZ9_XLGGID and b.XLXSJGBYZZ9_DYDJID=a.XLXSJGBYZZ9_DYDJID and b.XLXSJGBYZZ9_YZID=:pYZID)"); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add("update XLXSJGBYZZ9 set "); if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 sSQL.Add(" XLXSJGBYZZ9_YZZ=:pYZZ,"); else sSQL.Add(" XLXSJGBYZZ9_YZZ=XLXSJGBYZZ9_YZZ+:pYZZ,"); sSQL.Add(" XLXSJGBYZZ9_WHR=:pWHR,XLXSJGBYZZ9_WHRID=:pWHRID,XLXSJGBYZZ9_WHSJ=:pWHSJ"); sSQL.Add(" from"); sSQL.Add(" (select XLXSJGBYZZ9_XLXHID as XLXHID, XLXSJGBYZZ9_XLGGID as XLGGID, XLXSJGBYZZ9_DYDJID as DYDJID"); sSQL.Add(" from XLXSJGBYZZ9"); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBYZZ9_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSJGBYZZ9_DYDJID"); sSQL.Add(" where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_YZID=:pYZID "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ9_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSJGBYZZ9_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ9_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ9_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSJGBYZZ9_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ9_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } } sSQL.Add(" ) a"); sSQL.Add(" where XLXSJGBYZZ9_JGBID = :pJGBID and XLXSJGBYZZ9_YZID=:pYZID "); sSQL.Add(" and XLXSJGBYZZ9_XLXHID=a.XLXHID and XLXSJGBYZZ9_XLGGID=a.XLGGID and XLXSJGBYZZ9_DYDJID=a.DYDJID "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } } } dberp.CommitTrans(); ShowMessage("设置完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } #endregion } moduleGV_PageIndexChanging(null, null); } protected void grdContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True") OpenInfo(TPageCallAction.pcaInsert, "Y"); else if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { string sYZID = GetCLFirstYZ(); if (!sYZID.Equals("")) OpenInfo(TPageCallAction.pcaBrowse, "N", sYZID); else OpenInfo(TPageCallAction.pcaInsert, "Y"); } else OpenInfo(TPageCallAction.pcaBrowse, "N"); } protected void btnRefreshDRJGBMX_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } protected void btnPLSZ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } txtTJYZValue.Value = ""; TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "CLQDYZ_PLSZList.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("SelIndexs", grdContentGrid.CheckedRowIndexs); pageParams.AddString("TJYZValueCID", txtTJYZValue.ClientID); pageParams.AddString("btnRefresh1CID", btnRefresh1.ClientID); pageParams.AddString("TJYS", "9"); pageParams.AddString("YZID", PageParam.GetRTrimString("TJYZID")); OpenDialog(pageParams); } protected void btnSCSC_Click(object sender, EventArgs e) { string sMsg = "将删除所有当前查询结果记录,是否继续?"; Confirm.Register("IsQD", sMsg); 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(); } if (txtTJYZList.Value.Trim().Equals("")) { ShowMessage("请先查询调价表!"); return; } base.InitEntityByCondition(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("delete from XLXSJGBYZZ9"); sSQL.Add(" where 1=1 and XLXSJGBYZZ9_JGBID = :pJGBID "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_XLXHID like :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"; } } else { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_XLXHID", CurQueryEntity.FieldByName("XLXHID").Value.Trim())); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_XLGGID like :pXLGGID "); sSQL.ParamByName("pXLGGID").Value = "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ9_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ9_YZID", sYZIDlist)); } dberp.ExecSQL(sSQL); moduleGV_PageIndexChanging(null, null); } protected void btnTBZJGB_Click(object sender, EventArgs e) { string sMsg = "当前数据将同步至价格表【" + PageParam.GetRTrimString("XLJGBMC") + "】的" + PageParam.GetRTrimString("XLJGBTJYZMC") + "中,并重算表价,是否继续?"; Confirm.Register("IsQD", sMsg); 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(); } //执行完毕后关闭当前页面 DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshTBCID")); dos.CloseSelf(); dos.Execute(); } #endregion } }