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 TZYZBJAList : SingleGridBase { TZYZBJ_YZZA entity = new TZYZBJ_YZZA(); TZYZBJA_M queryentity = new TZYZBJA_M(); DataSet dsTJYS1 = new DataSet(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860041; this.UMName = "按型号规格电压等级标准调报价"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sURLTarget = "TZYZBJAInfo.aspx"; this.sQueryURLTarget = "TZYZBJAQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSBJDYZZA_JGBID", "minYZID", "XLXSBJDYZZA_XLXHID", "XLXSBJDYZZA_XLGGID", "XLXSBJDYZZA_XLBZID", "XLXSBJDYZZA_DYDJID", "TJDH" }; grdContentGrid.FindColumnByFieldName("XLXSBJDYZZA_JGBID").Visible = false; if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID"); else CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID(); CurQueryEntity.FieldByName("YZZWSZ").Value = "False"; CurQueryEntity.FieldByName("YZZYSZ").Value = "False"; CurQueryEntity.FieldByName("RDT").Value = "False"; CurQueryEntity.FieldByName("XLXHIDJQPP").Value = "True"; if (!PageParam.GetRTrimString("YCLQDCXWSZ").Equals("")) CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = PageParam.GetRTrimString("YCLQDCXWSZ"); else CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = "False"; 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("XLXSBJDYZZA_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 XLXSBJDYZZA where XLXSBJDYZZA_JGBID =:XLXSBJDYZZA_JGBID " + " and XLXSBJDYZZA_XLXHID=:XLXSBJDYZZA_XLXHID and XLXSBJDYZZA_XLGGID=:XLXSBJDYZZA_XLGGID and XLXSBJDYZZA_DYDJID=:XLXSBJDYZZA_DYDJID" + " and XLXSBJDYZZA_XLBZID=:XLXSBJDYZZA_XLBZID and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZA_YZID", sYZIDlist); entity.Param.Add("XLXSBJDYZZA_JGBID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZA_JGBID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZA_XLXHID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZA_XLXHID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZA_XLGGID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZA_XLGGID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZA_XLBZID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZA_XLBZID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZA_DYDJID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZA_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("XLXSBJDYZZA_JGBID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZA_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLXHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZA_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLGGID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZA_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLBZID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZA_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_DYDJID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZA_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_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)//首次打开需要补上这一段,否则按钮还是可用状态 { Master.RightNewBtn = false; Master.RightCopyBtn = false; Master.RightViewBtn = false; Master.RightEditBtn = false; Master.RightDeleteBtn = false; } Master.StandardNewButton.Enabled = false; Master.StandardCopyButton.Enabled = false; Master.StandardEditButton.Enabled = false; Master.StandardDeleteButton.Enabled = false; Master.StandardViewButton.Enabled = false; } else { Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; Master.StandardViewButton.Enabled = true; } } //判断模块是否存在并且是否有权限 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("TJYZID")) && (!PageParam.GetRTrimString("TJYZID").Contains(",")) && (CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim().Equals("")) && CheckModule("100860017") && !PageParam.ContainsKey("XLXHID")) btnTBSJ.Visible = true; else btnTBSJ.Visible = false; } private string GetSQL() { base.InitEntityByCondition(); InitGridView(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(" select :pJGBID as XLXSBJDYZZA_JGBID, XLXSBJDYZZA_XLXHID as XLXHID,XLXSBJDYZZA_XLGGID as XLGGID, "); sSQL.AppendLine(" RTRIM(XLXSBJDYZZA_XLBZID)|| '|' || RTRIM(XLBZ_XLBZLXMC) as XLBZID,XLXSBJDYZZA_DYDJID as DYDJID, "); sSQL.AppendLine(" XLXSBJDYZZA_XLXHID, XLXSBJDYZZA_XLGGID, "); sSQL.AppendLine(" XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_TJDH AS TJDH "); sSQL.AppendLine(" ,case when CPMLID is not null then rtrim(CPMLID)||'|'||XLXSCPML_CPMLMC else ' ' end as CPMLMC "); sSQL.AppendLine(" ,minYZID"); 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 XLXSBJDYZZA_XLXHID, XLXSBJDYZZA_XLGGID, XLXSBJDYZZA_XLBZID, XLXSBJDYZZA_DYDJID,ISNULL(XLXSBJDYZZA_TJDH,' ') AS XLXSBJDYZZA_TJDH,min(XLXSBJDYZZA_YZID) as minYZID "); sSQL.AppendLine(",case when AA.XLXSBJTJXHML_CPMLID is not null then AA.XLXSBJTJXHML_CPMLID else BB.XLXSBJTJXHML_CPMLID end as CPMLID"); for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",sum(CASE XLXSBJDYZZA_YZID WHEN '{0}' THEN XLXSBJDYZZA_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(" ,XLXSCLQD_XH as CLQDXH from ("); sSQL.AppendLine(string.Format(" select :pJGBID as XLXSBJDYZZA_JGBID,XLXSCLQD_XLXHID as XLXSBJDYZZA_XLXHID,XLXSCLQD_XLGGID as XLXSBJDYZZA_XLGGID,XLXSCLQD_XLBZID as XLXSBJDYZZA_XLBZID,XLXSCLQD_DYDJID as XLXSBJDYZZA_DYDJID,' ' AS XLXSBJDYZZA_TJDH,'{0}' as XLXSBJDYZZA_YZID,0 as XLXSBJDYZZA_YZZ,XLXSCLQD_XH", 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 XLXSBJDYZZA where XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_XLXHID=XLXSCLQD_XLXHID and XLXSBJDYZZA_XLGGID=XLXSCLQD_XLGGID"); sSQL.AppendLine(string.Format(" and XLXSBJDYZZA_YZID='{0}' ", sTJYZList[i].Split('|')[0])); sSQL.AppendLine(" and XLXSBJDYZZA_XLBZID=XLXSCLQD_XLBZID and XLXSBJDYZZA_DYDJID=XLXSCLQD_DYDJID)"); } sSQL.AppendLine(" and XLXSCLQD_WPID='ZZZZ' ) YZZA"); } #endregion #region 材料用量制定申请 else if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { sSQL.AppendLine(" ,0 as CLQDXH from ( "); sSQL.AppendLine(" select :pJGBID as XLXSBJDYZZA_JGBID,XLXSBJYLZDMX_XLXHID as XLXSBJDYZZA_XLXHID,"); sSQL.AppendLine(" XLXSBJYLZDMX_XLGGID as XLXSBJDYZZA_XLGGID,XLXSBJYLZDMX_XLBZID as XLXSBJDYZZA_XLBZID,"); sSQL.AppendLine(" XLXSBJYLZDMX_DYDJID as XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_TJDH,"); sSQL.AppendLine(string.Format(" case when isnull(XLXSBJDYZZA_YZID,' ') = ' ' then '{0}' else XLXSBJDYZZA_YZID end as XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ", txtFirstYZID.Value.Trim())); sSQL.AppendLine(" from ("); sSQL.AppendLine(" select distinct "); sSQL.AppendLine(" XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,XLXSBJDYZZA_JGBID,XLXSBJDYZZA_YZID,isnull(XLXSBJDYZZA_YZZ,0) as XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH "); sSQL.AppendLine(" from XLXSBJYLZDMX "); sSQL.AppendLine(" left join XLXSBJDYZZA on XLXSBJDYZZA_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSBJDYZZA_XLGGID = XLXSBJYLZDMX_XLGGID "); sSQL.AppendLine(" and XLXSBJDYZZA_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSBJDYZZA_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSBJDYZZA_JGBID = :pJGBID "); if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZA_YZID", sYZIDlist)); } sSQL.AppendLine(" where XLXSBJYLZDMX_SQDH = :pSQDH "); sSQL.AppendLine(" ) ab "); sSQL.AppendLine(" ) YZZA "); entity.Param.Add("pSQDH", CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()); } #endregion else sSQL.AppendLine(" ,0 as CLQDXH from XLXSBJDYZZA YZZA"); bool bUseXLXSBJXLGGTHB = XLBJDUtils.UseXLXSBJXLGGTHB(); sSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID=YZZA.XLXSBJDYZZA_XLXHID"); sSQL.AppendLine(" left join XLDYDJB on XLDYDJB_DYDJID=YZZA.XLXSBJDYZZA_DYDJID"); if (bUseXLXSBJXLGGTHB) { sSQL.AppendLine(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGID = YZZA.XLXSBJDYZZA_XLGGID"); sSQL.AppendLine(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } else { sSQL.AppendLine(" left join XLGGB on XLGGB_XLGGID=REPLACE(YZZA.XLXSBJDYZZA_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } sSQL.AppendLine(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); sSQL.AppendLine(" left join XLXSBJTJXHML AA on AA.XLXSBJTJXHML_XLXHID = YZZA.XLXSBJDYZZA_XLXHID and AA.XLXSBJTJXHML_DYDJID = isnull(YZZA.XLXSBJDYZZA_DYDJID, ' ') "); sSQL.AppendLine(" left join XLXSBJTJXHML BB on BB.XLXSBJTJXHML_XLXHID = YZZA.XLXSBJDYZZA_XLXHID and BB.XLXSBJTJXHML_DYDJID = ' ' "); if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) { sSQL.AppendLine(" where 1<>1 "); } else { sSQL.AppendLine(" where YZZA.XLXSBJDYZZA_JGBID = :pJGBID "); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" \r\n and YZZA.XLXSBJDYZZA_XLXHID like :pXLXHID "); entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"); } } else { string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); if (!string.IsNullOrEmpty(sXLXHID)) { string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL.AppendLine(" \r\n and " + CMISproDataBase.GetWhereEqual("YZZA.XLXSBJDYZZA_XLXHID", sXLXHID)); } else { sSQL.AppendLine(" \r\n and YZZA.XLXSBJDYZZA_XLXHID = :pXLXHID "); entity.Param.Add("pXLXHID", sXLXHID); } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZA.XLXSBJDYZZA_DYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.AppendLine(" and YZZA.XLXSBJDYZZA_TJDH = :pTJDH "); entity.Param.Add("pTJDH", CurQueryEntity.FieldByName("TJDH").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.AppendLine(" and XLXHB_CPYT = :pCPYT "); entity.Param.Add("pCPYT", CurQueryEntity.FieldByName("CPYT").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXHB_XLTXID", CurQueryEntity.FieldByName("XLTXID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CZCL").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXHB_KZCLID", CurQueryEntity.FieldByName("CZCL").Value.Trim())); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.AppendLine(" and XLXHB_DTCLID = :pDTCLID "); entity.Param.Add("pDTCLID", CurQueryEntity.FieldByName("DTCLID").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.AppendLine(" and XLDYDJB_DYDJFL = :pDYDJFL "); entity.Param.Add("pDYDJFL", CurQueryEntity.FieldByName("DYDJFL").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.AppendLine(" and XLGGB_XXJGID = :pXLJGID "); entity.Param.Add("pXLJGID", CurQueryEntity.FieldByName("XLJGID").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGG").Value.Trim())) { sSQL.AppendLine(" and YZZA.XLXSBJDYZZA_XLGGID like :pXLGGID "); entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGG").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim())) { sSQL.AppendLine(" and YZZA.XLXSBJDYZZA_XLBZID = :pXLBZID "); entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim()); } if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZA.XLXSBJDYZZA_YZID", sYZIDlist)); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.AppendLine(string.Format(" and XLDTJMZHB_DTJM1>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.AppendLine(string.Format(" and XLDTJMZHB_DTJM1<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); } if (CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().ToUpper().Equals("TRUE")) { if (dsTJYS1.Tables[0].Rows.Count > 0) { sSQL.AppendLine(" and ("); for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { if (i == 0) sSQL.AppendLine(string.Format(" (YZZA.XLXSBJDYZZA_YZID='{0}' and YZZA.XLXSBJDYZZA_YZZ=0) ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); else sSQL.AppendLine(string.Format(" or (YZZA.XLXSBJDYZZA_YZID='{0}' and YZZA.XLXSBJDYZZA_YZZ=0) ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" )"); } } if (CurQueryEntity.FieldByName("YZZYSZ").Value.Trim().ToUpper().Equals("TRUE")) { if (dsTJYS1.Tables[0].Rows.Count > 0) { sSQL.AppendLine(" and ("); for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { if (i == 0) sSQL.AppendLine(string.Format(" (YZZA.XLXSBJDYZZA_YZID='{0}' and YZZA.XLXSBJDYZZA_YZZ<>0) ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); else sSQL.AppendLine(string.Format(" or (YZZA.XLXSBJDYZZA_YZID='{0}' and YZZA.XLXSBJDYZZA_YZZ<>0) ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" )"); } } sSQL.AppendLine(" group by YZZA.XLXSBJDYZZA_XLXHID, YZZA.XLXSBJDYZZA_XLGGID, YZZA.XLXSBJDYZZA_XLBZID,YZZA.XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_TJDH,AA.XLXSBJTJXHML_CPMLID,BB.XLXSBJTJXHML_CPMLID "); if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" ,YZZA.XLXSCLQD_XH "); sSQL.AppendLine(" ) a "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDYZZA_XLBZID "); if (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDYZZA_XLXHID and XLXSCLQD_XLGGID=XLXSBJDYZZA_XLGGID and XLXSCLQD_XLBZID=XLXSBJDYZZA_XLBZID and XLXSCLQD_DYDJID=XLXSBJDYZZA_DYDJID"); 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 + "'"); } } if (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" order by XLXSBJDYZZA_XLXHID,XLXSCLQD_XH"); else sSQL.AppendLine(" order by XLXSBJDYZZA_XLXHID,CLQDXH"); 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 = 'BJD' and XLXSTZYZ_TJYS='A' "); 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 = 2; //查询时将 BJ01|防火(元) //加价类型的应当以金额来记,为2位小数位数, //加点扣点,以小数形式展示应当为4位,即 0.4235或者 42.35% //乘以/除以形式,应当按照加点扣点形式,但是只能以小数形式展现。 if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { sJJFSMC = "(元)"; iXSWS = int.Parse(GetOption(this.UMID, "BJU056")); } else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MX") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DX")) { sJJFSMC = "(X)"; iXSWS = 4; } else { sJJFSMC = "(%)"; iXSWS = 2; } AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC.Replace("(X)",""), 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(','); } private string GetDefaultJGBID() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("SELECT XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='BJD' and XLXSJGB_TJYS='A' 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 = "TZYZBJAInfo.aspx"; LinkPageParam.AddString("XLXSBJDYZZA_JGBID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLBZID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_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 = "TZYZBJAInfo.aspx"; LinkPageParam.AddString("XLXSBJDYZZA_JGBID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_XLBZID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_DYDJID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZA_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]["XLXSBJDYZZA_JGBID"].ToString().Trim(); string sXLXHID_CL=grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLXHID"].ToString().Trim(); string sXLGGID_CL=grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLGGID"].ToString().Trim(); string sXLBZID_CL=grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_XLBZID"].ToString().Trim(); string sDYDJID_CL=grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDYZZA_DYDJID"].ToString().Trim(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); string sSQL_CL = string.Format(@"select XLXSBJDYZZA_YZID from XLXSBJDYZZA where XLXSBJDYZZA_XLXHID = '{0}' and XLXSBJDYZZA_XLGGID = '{1}' and XLXSBJDYZZA_XLBZID = '{2}' and XLXSBJDYZZA_DYDJID ='{3}' and XLXSBJDYZZA_JGBID = '{4}' and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZA_YZID",sYZIDlist) , sXLXHID_CL, sXLGGID_CL, sXLBZID_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 ""; } private DataSet CheckTJYZJDKC(string sJGBID, string sYZID) { //若依{0}扩充{1},将会产生重复产品,比如:{1}、{2}、{3}、{4},操作终止!”, TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select top 1 TJYZJDKCB_KCQXLXHID,TJYZJDKCB_KCHXLXHID,b.XLXSBJDYZZA_XLGGID,b.XLXSBJDYZZA_XLBZID,b.XLXSBJDYZZA_DYDJID "); SQL.Add(" from TJYZJDKCB "); SQL.Add(" left join XLXSBJDYZZA a on a.XLXSBJDYZZA_JGBID=:pJGBID and a.XLXSBJDYZZA_XLXHID=TJYZJDKCB_KCQXLXHID and a.XLXSBJDYZZA_YZID=:pYZID "); SQL.Add(" left join XLXSBJDYZZA b on b.XLXSBJDYZZA_JGBID=:pJGBID and b.XLXSBJDYZZA_XLXHID=TJYZJDKCB_KCHXLXHID and b.XLXSBJDYZZA_YZID=:pYZID "); SQL.Add(" left join XLXHB on XLXHB_XLXHID=a.XLXSBJDYZZA_XLXHID "); SQL.Add(" left join XLGGB on XLGGB_XLGGID=REPLACE(a.XLXSBJDYZZA_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); SQL.Add(" where TJYZJDKCB_YZID =:pYZID and a.XLXSBJDYZZA_XLGGID=b.XLXSBJDYZZA_XLGGID "); SQL.Add(" and a.XLXSBJDYZZA_XLBZID=b.XLXSBJDYZZA_XLBZID "); SQL.Add(" and (case when (TJYZJDKCB_KCHDYDJID <>' ') then TJYZJDKCB_KCHDYDJID else a.XLXSBJDYZZA_DYDJID end )=b.XLXSBJDYZZA_DYDJID"); #region 电压等级 SQL.Add(" and ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=isnull(a.XLXSBJDYZZA_DYDJID,' ') then 1 "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and isnull(a.XLXSBJDYZZA_DYDJID,' ') <> ' ' then 2 "); SQL.Add(" else -999 end "); SQL.Add(" ) <> -999 "); #endregion #region 主芯截面区间 SQL.Add(" and TJYZJDKCB_ZXJMXX<=isnull(XLDTJMZHB_DTJM1,0) and ((TJYZJDKCB_ZXJMSX<>0 and TJYZJDKCB_ZXJMSX>=isnull(XLDTJMZHB_DTJM1,0)) or TJYZJDKCB_ZXJMSX=0)"); #endregion #region 芯线结构 SQL.Add(" and ( "); SQL.Add(" TJYZJDKCB_XXJGID=isnull(XLGGB_XXJGID,' ') or TJYZJDKCB_XXJGID=' ' "); SQL.Add(" )"); #endregion SQL.Add(" and isnull(b.XLXSBJDYZZA_JDKCBZ,'N') = 'N' "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pYZID").Value = sYZID; return dberp.OpenDataSet(SQL); } #endregion #region 控件事件 protected void ContentGrid_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.pcaEdit, "N", sYZID); else OpenInfo(TPageCallAction.pcaInsert, "Y"); } else OpenInfo(TPageCallAction.pcaBrowse, "N"); } 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])]["XLXSBJDYZZA_JGBID"].ToString().Trim(); string sXLXHID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDYZZA_XLXHID"].ToString().Trim(); string sXLGGID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDYZZA_XLGGID"].ToString().Trim(); string sXLBZID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDYZZA_XLBZID"].ToString().Trim(); string sDYDJID = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDYZZA_DYDJID"].ToString().Trim(); string sTJDH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["TJDH"].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 XLXSBJDYZZA where XLXSBJDYZZA_XLXHID = '{0}' and XLXSBJDYZZA_XLGGID = '{1}' and XLXSBJDYZZA_XLBZID = '{2}' and XLXSBJDYZZA_DYDJID ='{3}' and XLXSBJDYZZA_JGBID = '{4}' and XLXSBJDYZZA_YZID = '{5}' " , sXLXHID, sXLGGID, sXLBZID, 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 XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,:pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; 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); // 同步XLXSBJXLGGTHB表 if (!string.IsNullOrEmpty(sXLGGID) && !sXLGGID.Trim().Equals("")) { XLBJDUtils.SyncXLXSBJXLGGTHB_Single(dberp, sXLGGID, tSession); } } else { if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 { sSQL.Clear(); sSQL.Add("delete from XLXSBJDYZZA where XLXSBJDYZZA_JGBID=:pJGBID and XLXSBJDYZZA_XLXHID=:pXLXHID and XLXSBJDYZZA_XLGGID=:pXLGGID "); sSQL.Add(" and XLXSBJDYZZA_XLBZID=:pXLBZID and XLXSBJDYZZA_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSBJDYZZA_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add("insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,:pYZID,:pYZZ,:pTJDH,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; 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("pTJDH").Value = sTJDH; 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 XLXSBJDYZZA set XLXSBJDYZZA_YZZ=XLXSBJDYZZA_YZZ+:pYZZ,XLXSBJDYZZA_WHR=:pWHR,XLXSBJDYZZA_WHRID=:pWHRID,XLXSBJDYZZA_WHSJ=:pWHSJ"); sSQL.Add(" where XLXSBJDYZZA_JGBID=:pJGBID and XLXSBJDYZZA_XLXHID=:pXLXHID and XLXSBJDYZZA_XLGGID=:pXLGGID"); sSQL.Add(" and XLXSBJDYZZA_XLBZID=:pXLBZID and XLXSBJDYZZA_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSBJDYZZA_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; 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(); // 批量同步XLXSBJXLGGTHB表 XLBJDUtils.SyncXLXSBJXLGGTHB_Batch(dberp, tSession); 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 XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" select distinct :pJGBID ,XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,:pYZID, 0,XLXSBJDYZZA_TJDH,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSBJYLZDMX "); sSQL.Add(" left join XLXSBJDYZZA on XLXSBJDYZZA_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSBJDYZZA_XLGGID = XLXSBJYLZDMX_XLGGID "); sSQL.Add(" and XLXSBJDYZZA_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSBJDYZZA_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID= :pYZID"); sSQL.Add(" where XLXSBJYLZDMX_SQDH = :pSQDH and isnull(XLXSBJDYZZA_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(" XLXSBJDYZZA tar"); sSQL.Add(" using("); sSQL.Add(" select distinct XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,XLXSBJDYZZA_JGBID,XLXSBJDYZZA_YZID, isnull(XLXSBJDYZZA_YZZ,0) as XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH"); sSQL.Add(" from XLXSBJYLZDMX "); sSQL.Add(" left join XLXSBJDYZZA on XLXSBJDYZZA_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSBJDYZZA_XLGGID = XLXSBJYLZDMX_XLGGID"); sSQL.Add(" and XLXSBJDYZZA_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSBJDYZZA_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID= :pYZID "); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJYLZDMX_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSBJYLZDMX_DYDJID"); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=replace(XLXSBJYLZDMX_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); sSQL.Add(" where XLXSBJYLZDMX_SQDH = :pSQDH "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSBJYLZDMX_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSBJYLZDMX_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and XLXSBJDYZZA_TJDH = :pTJDH "); sSQL.ParamByName("pTJDH").Value = CurQueryEntity.FieldByName("TJDH").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJYLZDMX_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJYLZDMX_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_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.XLXSBJDYZZA_JGBID = :pJGBID"); sSQL.Add(" and tar.XLXSBJDYZZA_XLXHID = sor.XLXSBJYLZDMX_XLXHID"); sSQL.Add(" and tar.XLXSBJDYZZA_XLGGID = sor.XLXSBJYLZDMX_XLGGID"); sSQL.Add(" and tar.XLXSBJDYZZA_XLBZID = sor.XLXSBJYLZDMX_XLBZID"); sSQL.Add(" and tar.XLXSBJDYZZA_DYDJID = sor.XLXSBJYLZDMX_DYDJID"); sSQL.Add(" and tar.XLXSBJDYZZA_YZID = sor.XLXSBJDYZZA_YZID )"); sSQL.Add(" when matched then update set "); if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 sSQL.Add(" tar.XLXSBJDYZZA_YZZ =:pYZZ,"); else sSQL.Add(" tar.XLXSBJDYZZA_YZZ =tar.XLXSBJDYZZA_YZZ +:pYZZ,"); sSQL.Add(" tar.XLXSBJDYZZA_WHR=:pWHR,tar.XLXSBJDYZZA_WHRID=:pWHRID,tar.XLXSBJDYZZA_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") { sSQL.Clear(); sSQL.Add("insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" select :pJGBID ,XLXSCLQD_XLXHID ,XLXSCLQD_XLGGID ,XLXSCLQD_XLBZID ,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(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID "); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); sSQL.Add(" where not exists(select 1 from XLXSBJDYZZA where XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID=:pYZID and XLXSBJDYZZA_XLXHID=XLXSCLQD_XLXHID and XLXSBJDYZZA_XLGGID=XLXSCLQD_XLGGID"); sSQL.Add(" and XLXSBJDYZZA_XLBZID=XLXSCLQD_XLBZID and XLXSBJDYZZA_DYDJID=XLXSCLQD_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 (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and 1<>1 "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } 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_XLGGID ,XLXSCLQD_XLBZID ,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); } else { //先补齐记录 sSQL.Clear(); sSQL.Add("insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" select distinct :pJGBID,a.XLXSBJDYZZA_XLXHID, a.XLXSBJDYZZA_XLGGID, a.XLXSBJDYZZA_XLBZID, a.XLXSBJDYZZA_DYDJID,:pYZID,0,a.XLXSBJDYZZA_TJDH,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSBJDYZZA a"); sSQL.Add(" where a.XLXSBJDYZZA_JGBID = :pJGBID "); sSQL.Add(" and a.XLXSBJDYZZA_YZID<>:pYZID"); sSQL.Add(" and not exists(select 1 from XLXSBJDYZZA b where b.XLXSBJDYZZA_JGBID=:pJGBID and b.XLXSBJDYZZA_XLXHID=a.XLXSBJDYZZA_XLXHID and b.XLXSBJDYZZA_XLGGID=a.XLXSBJDYZZA_XLGGID "); sSQL.Add(" and b.XLXSBJDYZZA_XLBZID=a.XLXSBJDYZZA_XLBZID and b.XLXSBJDYZZA_DYDJID=a.XLXSBJDYZZA_DYDJID and b.XLXSBJDYZZA_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 XLXSBJDYZZA set "); if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 sSQL.Add(" XLXSBJDYZZA_YZZ=:pYZZ,"); else sSQL.Add(" XLXSBJDYZZA_YZZ=XLXSBJDYZZA_YZZ+:pYZZ,"); sSQL.Add(" XLXSBJDYZZA_WHR=:pWHR,XLXSBJDYZZA_WHRID=:pWHRID,XLXSBJDYZZA_WHSJ=:pWHSJ"); sSQL.Add(" from"); sSQL.Add(" (select XLXSBJDYZZA_XLXHID as XLXHID, XLXSBJDYZZA_XLGGID as XLGGID, XLXSBJDYZZA_XLBZID as XLBZID, XLXSBJDYZZA_DYDJID as DYDJID"); bool bUseXLXSBJXLGGTHB_Update = XLBJDUtils.UseXLXSBJXLGGTHB(); sSQL.Add(" from XLXSBJDYZZA"); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDYZZA_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSBJDYZZA_DYDJID"); if (bUseXLXSBJXLGGTHB_Update) { sSQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGID = XLXSBJDYZZA_XLGGID"); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } else { sSQL.Add(" left join XLGGB on XLGGB_XLGGID=replace(XLXSBJDYZZA_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } sSQL.Add(" where XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID=:pYZID "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSBJDYZZA_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSBJDYZZA_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and XLXSBJDYZZA_TJDH = :pTJDH "); sSQL.ParamByName("pTJDH").Value = CurQueryEntity.FieldByName("TJDH").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(string.Format(" and (XLXSBJDYZZA_YZID='{0}' and XLXSBJDYZZA_YZZ=0) ", sYZValue[k].Split('|')[0].Trim())); } if (CurQueryEntity.FieldByName("YZZYSZ").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(string.Format(" and (XLXSBJDYZZA_YZID='{0}' and XLXSBJDYZZA_YZZ<>0) ", sYZValue[k].Split('|')[0].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=XLXSBJDYZZA_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJDYZZA_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJDYZZA_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJDYZZA_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJDYZZA_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJDYZZA_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 XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID=:pYZID "); sSQL.Add(" and XLXSBJDYZZA_XLXHID=a.XLXHID and XLXSBJDYZZA_XLGGID=a.XLGGID and XLXSBJDYZZA_XLBZID=a.XLBZID and XLXSBJDYZZA_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(); // 批量同步XLXSBJXLGGTHB表 XLBJDUtils.SyncXLXSBJXLGGTHB_Batch(dberp, tSession); ShowMessage("设置完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } #endregion } 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 = "TZYZBJA_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","A"); pageParams.AddString("YZID", PageParam.GetRTrimString("TJYZID")); OpenDialog(pageParams); } protected void btnDRWJ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "DRBJDYZZA.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("btnRefresh1CID", btnRefresh2.ClientID); OpenDialog(pageParams); } protected void btnDRWJ_MenuItemClick(object sender, string ItemIndex) { switch (ItemIndex) { case "DRCLQD"://从材料清单导入 btnDRCLQD_Click(null,null); break; } } protected void btnRefresh2_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } protected void btnDRCLQD_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } if (txtFirstYZID.Value.Trim().Equals("")) { ShowMessage("没有适用的调价因子!"); return; } 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"); try { dberp.BeginTrans(); TSQL sSQL = new TSQL(dberp); string[] sTJYZList = txtTJYZList.Value.Split(','); for (int i = 0; i < sTJYZList.Length; i++) { sSQL.Clear(); sSQL.Add("insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); sSQL.Add(" select :pJGBID,XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,:pYZID,0,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSCLQD "); sSQL.Add(" where isnull(XLXSCLQD_WPID,'ZZZZ')='ZZZZ'"); sSQL.Add(" and not exists(select 1 from XLXSBJDYZZA where XLXSBJDYZZA_JGBID=:pJGBID and XLXSBJDYZZA_YZID=:pYZID and XLXSBJDYZZA_XLXHID=XLXSCLQD_XLXHID and XLXSBJDYZZA_XLGGID=XLXSCLQD_XLGGID"); sSQL.Add(" and XLXSBJDYZZA_XLBZID=XLXSCLQD_XLBZID and XLXSBJDYZZA_DYDJID=XLXSCLQD_DYDJID)"); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sTJYZList[i].Split('|')[0]; sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } dberp.CommitTrans(); // 批量同步XLXSBJXLGGTHB表 XLBJDUtils.SyncXLXSBJXLGGTHB_Batch(dberp, tSession); ShowMessage("导入材料清单数据完成!"); moduleGV_PageIndexChanging(null, null); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } protected void btnTBSJ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSTZYZ_JGBID,XLXSTZYZ_YZID, XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS = '1' "); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count == 0) { ShowMessage("不存在调价因素为【1|型号&规格&电压&标准】的价格表调价因子!"); return; } else if (ds.Tables[0].Rows.Count == 1) { string sTJYZID = PageParam.GetRTrimString("TJYZID"); string sTJYZMC = CLQDYZList.GetTJYZMC(sTJYZID, "BJD"); string sMsg = "将同步【" + sTJYZMC + "】报价单因子调价表数据至【" + ds.Tables[0].Rows[0]["XLXSTZYZ_YZMC"].ToString().Trim() + "】价格表因子调价表,是否确认?"; 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(); try { dberp.BeginTrans(); SQL.Clear(); SQL.Add(" delete from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_YZID = :pYZID "); SQL.ParamByName("pJGBID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_JGBID"].ToString().Trim(); SQL.ParamByName("pYZID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim(); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); SQL.Add(" select :XLXSJGBYZZ1_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_XLBZID,:XLXSJGBYZZ1_YZID,XLXSBJDYZZA_YZZ,:XLXSJGBYZZ1_WHR,:XLXSJGBYZZ1_WHRID,:XLXSJGBYZZ1_WHSJ from XLXSBJDYZZA "); SQL.Add(" where XLXSBJDYZZA_JGBID = :XLXSBJDYZZA_JGBID and XLXSBJDYZZA_YZID = :XLXSBJDYZZA_YZID "); SQL.ParamByName("XLXSJGBYZZ1_JGBID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_JGBID"].ToString().Trim(); SQL.ParamByName("XLXSJGBYZZ1_YZID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZA_JGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); SQL.ParamByName("XLXSBJDYZZA_YZID").Value = sTJYZID; SQL.ParamByName("XLXSJGBYZZ1_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSJGBYZZ1_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSJGBYZZ1_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSJGBYZZ1_Batch(dberp, tSession); dberp.CommitTrans(); ShowMessage("同步成功!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } } else if (ds.Tables[0].Rows.Count > 1) { //目标调价因素存在多个因子进入因子选择页面 string sTJYZID = PageParam.GetRTrimString("TJYZID"); string sTJYZMC = CLQDYZList.GetTJYZMC(sTJYZID, "BJD"); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "TZYZJJ_YZXZInfo.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZID", sTJYZID); pageParams.AddString("TJYZMC", sTJYZMC); pageParams.AddString("LY", "BJD"); OpenDialog(pageParams); } } protected void btnTJYZJDKC_Click(object sender, EventArgs e) { base.InitEntityByCondition(); string sJGBID = CurQueryEntity.FieldByName("JGBID").Value.Trim(); string sYZID = PageParam.GetRTrimString("TJYZID"); if (sJGBID.Equals("")) { ShowMessage("请先查询调价表!"); return; } if (sYZID.Equals("") || (sYZID.Contains(","))) { ShowMessage("请从线缆销售报价价格表调价因子模块打开!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); dberp.BeginTrans(); try { #region 校验 DataSet ds = CheckTJYZJDKC(sJGBID, sYZID); if (ds.Tables[0].Rows.Count > 0) { string sJGBXLXHID = ds.Tables[0].Rows[0]["TJYZJDKCB_KCQXLXHID"].ToString().Trim(); string sBJDXLXHID = ds.Tables[0].Rows[0]["TJYZJDKCB_KCHXLXHID"].ToString().Trim(); string sXLGGID = ds.Tables[0].Rows[0]["XLXSBJDYZZA_XLGGID"].ToString().Trim(); string sXLBZID = ds.Tables[0].Rows[0]["XLXSBJDYZZA_XLBZID"].ToString().Trim(); string sDYDJID = ds.Tables[0].Rows[0]["XLXSBJDYZZA_DYDJID"].ToString().Trim(); throw new Exception(string.Format("若依{0}扩充{1},将会产生重复产品,比如:{1}、{2}、{3}、{4},操作终止!", sJGBXLXHID, sBJDXLXHID, sXLGGID, sXLBZID, sDYDJID)); } #endregion #region 删除记录 SQL.Clear(); SQL.Add(" delete from XLXSBJDYZZA where XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_JDKCBZ='Y' and XLXSBJDYZZA_YZID=:pYZID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pYZID").Value = sYZID; dberp.ExecSQL(SQL); #endregion #region 扩充 string sJSFS = CLQDYZList.GetYZZJDKCJSFS(sYZID); SQL.Clear(); SQL.Add(" insert into XLXSBJDYZZA "); SQL.Add(" ( "); SQL.Add(" XLXSBJDYZZA_JGBID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_TJDH,XLXSBJDYZZA_JDKCBZ, "); SQL.Add(" XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_DYDJID, "); SQL.Add(" XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ "); SQL.Add(" ) "); SQL.Add(" select :pJGBID,:pYZID,YZZ,TJDH,'Y', "); SQL.Add(" XLXHID,XLGGID,XLBZID,DYDJID,"); SQL.Add(" :pWHR,:pWHRID,:pWHSJ "); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select distinct TJDH,");//distinct是因为XLGGB里存在芯线结构不同的数据,如4×6的芯线结构有2×2和4两种 SQL.Add(" TJYZJDKCB_KCHXLXHID as XLXHID,XLGGID,XLBZID,"); SQL.Add(" (case when (TJYZJDKCB_KCHDYDJID <>' ') then TJYZJDKCB_KCHDYDJID else JGBDYDJID end ) as DYDJID,"); if (sJSFS.Equals("M")) { SQL.Add(" ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" )*YZZ "); } else if (sJSFS.Equals("D")) { SQL.Add(" case when ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ) = 0 then 0 else RoundFix(YZZ/ ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ),2) end "); } else { SQL.Add(" 1*YZZ "); } SQL.Add(" as YZZ "); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select distinct XLXSBJDYZZA_XLXHID as JGBXLXHID,XLXSBJDYZZA_XLGGID as XLGGID,XLXSBJDYZZA_XLBZID as XLBZID,"); SQL.Add(" isnull(XLXSBJDYZZA_DYDJID,' ') as JGBDYDJID,isnull(XLGGB_XXJGID,' ') as XXJGID, isnull(XLDTJMZHB_DTJM1,0) as ZXJM,"); SQL.Add(" XLXSBJDYZZA_TJDH as TJDH,XLXSBJDYZZA_YZZ as YZZ "); bool bUseXLXSBJXLGGTHB_JDKC = XLBJDUtils.UseXLXSBJXLGGTHB(); SQL.Add(" from XLXSBJDYZZA"); SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDYZZA_XLXHID "); if (bUseXLXSBJXLGGTHB_JDKC) { SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGID = XLXSBJDYZZA_XLGGID"); SQL.Add(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } else { SQL.Add(" left join XLGGB on XLGGB_XLGGID=REPLACE(XLXSBJDYZZA_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); SQL.Add(" where XLXSBJDYZZA_JGBID=:pJGBID and XLXSBJDYZZA_YZID=:pYZID "); SQL.Add(" ) jgbmx"); SQL.Add(" left join TJYZJDKCB on TJYZJDKCB_YZID =:pYZID and TJYZJDKCB_KCQXLXHID=JGBXLXHID"); SQL.Add(" where 1=1"); // 电压等级 SQL.Add(" and ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then 1 "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then 2 "); SQL.Add(" else -999 end "); SQL.Add(" ) <> -999 "); // 主芯截面区间 SQL.Add(" and TJYZJDKCB_ZXJMXX<= ZXJM and ((TJYZJDKCB_ZXJMSX<>0 and TJYZJDKCB_ZXJMSX>=ZXJM) or TJYZJDKCB_ZXJMSX=0)"); // 芯线结构 SQL.Add(" and (TJYZJDKCB_XXJGID=XXJGID or TJYZJDKCB_XXJGID=' ')"); SQL.Add(" ) DZB"); SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=DYDJID"); SQL.Add(" where 1=1"); SQL.ParamByName("pYZID").Value = sYZID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); #endregion dberp.CommitTrans(); ShowMessage("按调价因子加点扩充表扩充成功!"); moduleGV_PageIndexChanging(null, null); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("按调价因子加点扩充表扩充出现异常:" + ex.Message); } } #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 } }