Files
N_XLXSBJ----MX/TZYZBJAList.aspx.cs
2026-10-09 10:30:49 +08:00

1672 lines
100 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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增加列
/// <summary>
/// 设置etCheckBox列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
/// <param name="CheckBox"></param>
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);
}
/// <summary>
/// 设置etString列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
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);
}
/// <summary>
/// 设置etNumber列的属
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
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);
}
/// <summary>
/// 设置etDateTime列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
/// <param name="Width"></param>
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
}
}