Files
N_XLXSBJ----MX/TZYZJJ9List.aspx.cs
T
2026-08-21 17:03:02 +08:00

1112 lines
62 KiB
C#

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