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("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(" )");
}
}
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("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
}
}