1112 lines
53 KiB
C#
1112 lines
53 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_MODEL.Page;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_WORKFLOW;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_MISPRO.TableCache;
|
|
using GThinking.N_PUBLIC2;
|
|
using GThinking.N_PUBLIC;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class XLBJDList : SingleGridBase
|
|
{
|
|
XLBJD entity = new XLBJD();
|
|
XLBJD_M queryentity = new XLBJD_M();
|
|
|
|
public static Dictionary<string, string> dicFJXSXSBZ = new Dictionary<string, string>();
|
|
public static Dictionary<string, string> dicFJXXSYBJFL = new Dictionary<string, string>();
|
|
public static Dictionary<string, string> dicZBLMBJFL = new Dictionary<string, string>();
|
|
|
|
public static string sFJXXSZ = "";
|
|
|
|
public string sYZBSPTJ = "N";
|
|
public string sYZBSPTH = "N";
|
|
|
|
|
|
#region Page类事件继承
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860000;
|
|
this.UMName = "线缆销售报价单";
|
|
this.CurMaster = Master;
|
|
this.ModuleGV = ContentGrid;
|
|
this.CurEntity = entity;
|
|
this.CurQueryEntity = queryentity;
|
|
this.PageHeight = 500;
|
|
this.PageWidth = 700;
|
|
this.sURLTarget = "XLBJDInfo.aspx";
|
|
this.sQueryURLTarget = "XLBJDQuery.aspx";
|
|
base.DataKeyNames = new string[] { "XLXSBJD_BJDID", "XLXSBJD_CLHQJGBID", "XLXSBJD_BJFLID", "XLXSBJD_XMMC", "XLXSBJD_BJRQ", "XLXSBJD_ZJE" };
|
|
//关闭编辑页是否自动刷新功能列表页
|
|
if (GetOption("BJU010").Equals("Y"))
|
|
base.sRefreshClientID = btnGRWJGRefer.ClientID;
|
|
this.Master.EnableAttachBtn = true;
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
CurQueryEntity.FieldByName("SW").Value = "W";
|
|
CurQueryEntity.FieldByName("PXFS").Value = "报价日期正序↑";
|
|
}
|
|
ContentGrid.FindColumnExByFieldName("XLXSBJD_TJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
ContentGrid.FindColumnExByFieldName("XLXSBJD_LJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
base.InitPage();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
HidLMByJS();
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
sSQL.Clear();
|
|
sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
|
|
sSQL.Add("where 1=1 ");
|
|
sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' ");
|
|
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
|
|
DataSet ds = dberp.OpenDataSet(sSQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
|
|
{
|
|
sFJXXSZ += ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim() + ",";
|
|
}
|
|
}
|
|
|
|
sSQL.Clear();
|
|
sSQL.Add(" select XLXSBJKZXXSZ_XSBZ,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
|
|
sSQL.Add(" where 1=1 ");
|
|
sSQL.Add(" and isnull(XLXSBJKZXXSZ_XSBZ,' ') <> ' '");
|
|
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
|
|
ds = dberp.OpenDataSet(sSQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
|
|
{
|
|
string sXSBZ = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
|
|
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
|
if (!dicFJXSXSBZ.ContainsKey(sDYZD))
|
|
dicFJXSXSBZ.Add(sDYZD, sXSBZ);
|
|
}
|
|
}
|
|
|
|
sSQL.Clear();
|
|
sSQL.Add(" select XLXSBJKZXXSZ_SYBJFLID,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
|
|
sSQL.Add(" where 1=1 ");
|
|
sSQL.Add(" and isnull(XLXSBJKZXXSZ_SYBJFLID,' ') <> ' '");
|
|
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
|
|
ds = dberp.OpenDataSet(sSQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
|
|
{
|
|
string sSYBJFL = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
|
|
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
|
if (!dicFJXXSYBJFL.ContainsKey(sDYZD))
|
|
dicFJXXSYBJFL.Add(sDYZD, sSYBJFL);
|
|
}
|
|
}
|
|
}
|
|
|
|
//解决复制明细、与复制主记录分开处理的情况
|
|
this.Master.StandardCopyButton.OnClientClick = "";
|
|
this.Master.StandardCopyButton.Click += new EventHandler(btnCopyEx_Click);
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnStandardQuery(null, null);
|
|
}
|
|
if (!CheckModule("100860008"))
|
|
{
|
|
int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_LRL"));
|
|
int index2 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_ZDXJJCL"));
|
|
|
|
ContentGrid.Columns[index1].Visible = false;
|
|
ContentGrid.Columns[index2].Visible = false;
|
|
}
|
|
if (!CheckModule("100860068"))
|
|
{
|
|
int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("ZDFXYQR"));
|
|
ContentGrid.Columns[index1].Visible = false;
|
|
|
|
}
|
|
if (tSession.UserId.Equals("SUPERVISOR"))
|
|
btnZBZT.Visible = true;
|
|
else
|
|
btnZBZT.Visible = false;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 模板继承事件
|
|
|
|
protected override bool CanSubmit()
|
|
{
|
|
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
string sWarningMsg = "";
|
|
string sBJFLID = "";
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID ");
|
|
SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID;
|
|
DataSet data = dberp.OpenDataSet(SQL);
|
|
if (data.Tables[0].Rows.Count > 0)
|
|
{
|
|
sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim();
|
|
}
|
|
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
|
|
|
if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Y") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("5"))
|
|
{
|
|
XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption("BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim());
|
|
if (!sWarningMsg.Equals(""))
|
|
{
|
|
ShowMessage(String.Format(("显示序号为【" + sWarningMsg + "】的相同报价产品的报价不同,不允许提交!")));
|
|
return false;
|
|
}
|
|
}
|
|
|
|
XLBJD_BDOBill.JudgeDifBJZJE(sBJDID, ref sWarningMsg);
|
|
if (!sWarningMsg.Equals(""))
|
|
{
|
|
ShowMessage(sWarningMsg);
|
|
return false;
|
|
}
|
|
return base.CanSubmit();
|
|
}
|
|
|
|
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
|
|
{
|
|
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
string sSQL = string.Format("select top 1 XLXSBJYLZD_BJDID from XLXSBJYLZD where XLXSBJYLZD_BJDID='{0}'", sBJDID);
|
|
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
|
|
{
|
|
ShowMessage("已申请材料用量制定,不允许删除!");
|
|
return false;
|
|
}
|
|
|
|
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID);
|
|
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
|
|
{
|
|
ShowMessage("报价单已反馈,不允许删除!");
|
|
return false;
|
|
}
|
|
|
|
CurEntity.Param.Add("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
|
|
XLBJDUtils.UpdateTJBZ(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(), "Delete");
|
|
|
|
return base.Master_BeforeDeleteAction(sender, e);
|
|
}
|
|
|
|
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
|
|
{
|
|
base.AfterDelete(db, ref ActionIsDone);
|
|
TSQL tSQL = new TSQL(db);
|
|
XLBJDUtils.AfterDeleteBJD(db, tSQL, ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
}
|
|
|
|
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
|
|
{
|
|
if (!base.Master_AfterDeleteAction(sender, e)) return false;
|
|
|
|
base.InitEntityByCondition();
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
entity.GridDataBind(ContentGrid, tSession);
|
|
ContentGrid.SelectedIndex = -1;
|
|
return true;
|
|
}
|
|
|
|
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
|
{
|
|
base.InitEntityByCondition();
|
|
base.Master_OnStandardQuery(sender, e);
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
entity.GridDataBind(ContentGrid, tSession);
|
|
}
|
|
|
|
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
|
{
|
|
base.InitEntityByCondition();
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
ContentGrid.SelectedIndex = -1;
|
|
base.moduleGV_PageIndexChanging(sender, e);
|
|
}
|
|
|
|
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
string sWPID = e.Row.Cells[0].Text.Trim();
|
|
string sBJFLID = ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJFLID"].ToString().Trim();
|
|
if (sBJFLID.Contains("|"))
|
|
sBJFLID = sBJFLID.Split('|')[0];
|
|
e.Row.Cells[0].Text = _curWorkFlow.GetWPName("XLXSBJ_BJD", sWPID);
|
|
e.Row.Cells[e.Row.Cells.Count - 5].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 5].Text.Trim());
|
|
e.Row.Cells[e.Row.Cells.Count - 4].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 4].Text.Trim());
|
|
if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("ZZZZZZZZ"))
|
|
{
|
|
e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",ZZZZZZZZ|基础材料行情";
|
|
}
|
|
else if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("YYYYYYYY"))
|
|
{
|
|
e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",YYYYYYYY|报价单材料行情";
|
|
}
|
|
|
|
int iKZSZStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZSZ01"));
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
string sZDM = "KZSZ" + i.ToString().PadLeft(2, '0');
|
|
if (dicFJXSXSBZ.ContainsKey(sZDM))
|
|
{
|
|
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
|
|
if (!sXSBZ.Contains("," + sWPID + ","))
|
|
{
|
|
e.Row.Cells[iKZSZStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
if (dicFJXXSYBJFL.ContainsKey(sZDM))
|
|
{
|
|
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
|
|
if (!sSYBJFL.Contains("," + sBJFLID + ","))
|
|
{
|
|
e.Row.Cells[iKZSZStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
}
|
|
|
|
int iKZZFStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZZF01"));
|
|
for (int i = 1; i < 11; i++)
|
|
{
|
|
string sZDM = "KZZF" + i.ToString().PadLeft(2, '0');
|
|
if (sFJXXSZ.Contains(sZDM))
|
|
e.Row.Cells[iKZZFStart + i - 1].Text = GetZFSelected(sZDM, e.Row.Cells[iKZZFStart + i - 1].Text.Trim());
|
|
if (dicFJXSXSBZ.ContainsKey(sZDM))
|
|
{
|
|
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
|
|
if (!sXSBZ.Contains("," + sWPID + ","))
|
|
{
|
|
e.Row.Cells[iKZZFStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
if (dicFJXXSYBJFL.ContainsKey(sZDM))
|
|
{
|
|
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
|
|
if (!sSYBJFL.Contains("," + sBJFLID + ","))
|
|
{
|
|
e.Row.Cells[iKZZFStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
}
|
|
|
|
int iKZRQStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZRQ01"));
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
string sZDM = "KZRQ" + i.ToString().PadLeft(2, '0');
|
|
if (dicFJXSXSBZ.ContainsKey(sZDM))
|
|
{
|
|
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
|
|
if (!sXSBZ.Contains("," + sWPID + ","))
|
|
{
|
|
e.Row.Cells[iKZRQStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
if (dicFJXXSYBJFL.ContainsKey(sZDM))
|
|
{
|
|
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
|
|
if (!sSYBJFL.Contains("," + sBJFLID + ","))
|
|
{
|
|
e.Row.Cells[iKZRQStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
}
|
|
|
|
int iKZWBStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZWB01"));
|
|
for (int i = 1; i < 5; i++)
|
|
{
|
|
string sZDM = "KZWB" + i.ToString().PadLeft(2, '0');
|
|
if (dicFJXSXSBZ.ContainsKey(sZDM))
|
|
{
|
|
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
|
|
if (!sXSBZ.Contains("," + sWPID + ","))
|
|
{
|
|
e.Row.Cells[iKZWBStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
if (dicFJXXSYBJFL.ContainsKey(sZDM))
|
|
{
|
|
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
|
|
if (!sSYBJFL.Contains("," + sBJFLID + ","))
|
|
{
|
|
e.Row.Cells[iKZWBStart + i - 1].Text = "";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
foreach (string sKey in dicZBLMBJFL.Keys)
|
|
{
|
|
if (("," + dicZBLMBJFL[sKey] + ",").Contains("," + sBJFLID + ","))
|
|
{
|
|
int indexLM = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName(sKey));
|
|
e.Row.Cells[indexLM].Text = "";
|
|
}
|
|
}
|
|
|
|
LinkPageParam.AddString("WFID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim());
|
|
LinkPageParam.AddString("WFINST", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFINST"].ToString().Trim());
|
|
LinkPageParam.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
|
|
}
|
|
base.moduleGV_RowDataBound(sender, e);
|
|
}
|
|
|
|
protected override void BeforeAttach()
|
|
{
|
|
attDoc.WorkTableName = "XLXSBJD";
|
|
attDoc.UpdCondition = string.Format(" XLXSBJD_BJDID='{0}'", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
|
|
base.BeforeAttach();
|
|
}
|
|
|
|
protected override void Master_BeforeAction(TWorkflow Sender, TWFAction Action, ref bool CanAction)
|
|
{
|
|
base.Master_BeforeAction(Sender, Action, ref CanAction);
|
|
string sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "生成PDF附件").ToString().Trim();
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
if (sOption.Equals("Y"))
|
|
XLBJDInfo.PDFDC(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
}
|
|
|
|
}
|
|
protected override void Master_wfAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone)
|
|
{
|
|
base.Master_wfAfterActionEvent(Sender, Action, ActionIsDone);
|
|
|
|
if (!ActionIsDone)
|
|
return;
|
|
string sWPID = "";
|
|
string sBJSQDH = "";
|
|
TSQL SQL = new TSQL(Sender.dbe);
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSBJD_WPID,XLXSBJD_BJSQDH,XLXSBJD_BJJSJD,XLXSBJD_ZB from XLXSBJD where XLXSBJD_BJDID=:pBJDID");
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
DataSet ds = Sender.dbe.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
sWPID = ds.Tables[0].Rows[0][0].ToString().Trim();
|
|
sBJSQDH = ds.Tables[0].Rows[0][1].ToString().Trim();
|
|
}
|
|
string sZDQRWPID = XLBJDUtils.GetXLXSBJPZXX(100860068).XLXSBJPZ_ZDQRWPID;
|
|
if (!sZDQRWPID.Equals(""))
|
|
{
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
if (sZDQRWPID.Contains(sWPID))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJD set XLXSBJD_ZDQRRGH=:pZDQRRGH ,XLXSBJD_ZDQRSJ=:pZDQRSJ WHERE XLXSBJD_BJDID=:pBJDID");
|
|
SQL.ParamByName("pZDQRRGH").Value = tSession.UserId;
|
|
SQL.ParamByName("pZDQRSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
}
|
|
}
|
|
}
|
|
if (!sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS())
|
|
{
|
|
string sBJJSJD = ds.Tables[0].Rows[0][2].ToString().Trim();
|
|
string sWPNAME = Sender.GetWPName(Sender.WFID, sWPID);
|
|
string sJSJD = tSession.UserName + " " + Sender.WAend.ToString().Trim() + " " + sWPNAME + " " + Sender.GetWFActionName(Action);
|
|
if (!sBJJSJD.Equals(""))
|
|
sBJJSJD += "\r\n";
|
|
sBJJSJD += sJSJD;
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJD set XLXSBJD_BJJSJD = :pJSJD where XLXSBJD_BJDID = :pBJDID ");
|
|
SQL.ParamByName("pJSJD").Value = sBJJSJD;
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
}
|
|
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJD");
|
|
SQL.Add(" set XLXSBJD_WFID = :XLXSBJD_WFID, ");
|
|
SQL.Add(" XLXSBJD_WPID = :XLXSBJD_WPID, ");
|
|
SQL.Add(" XLXSBJD_WFAWAITER = :XLXSBJD_WFAWAITER, ");
|
|
SQL.Add(" XLXSBJD_WFHANDLER = :XLXSBJD_WFHANDLER, ");
|
|
SQL.Add(" XLXSBJD_WFINST = :XLXSBJD_WFINST, ");
|
|
SQL.Add(" XLXSBJD_ACTNAME = :XLXSBJD_ACTNAME ");
|
|
SQL.Add(" where XLXSBJD_BJDID = :XLXSBJD_BJDID ");
|
|
SQL.ParamByName("XLXSBJD_WFID").Value = Sender.WFID;
|
|
SQL.ParamByName("XLXSBJD_WFINST").Value = Sender.WFInst;
|
|
SQL.ParamByName("XLXSBJD_WPID").Value = Sender.WPID;
|
|
SQL.ParamByName("XLXSBJD_WFAWAITER").Value = Sender.Awaiter;
|
|
SQL.ParamByName("XLXSBJD_WFHANDLER").Value = Sender.Handler;
|
|
SQL.ParamByName("XLXSBJD_ACTNAME").Value = Sender.GetWFActionName(Action);
|
|
SQL.ParamByName("XLXSBJD_BJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
|
|
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
string sBJFLID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJFLID"].ToString().Trim();
|
|
string sXM = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_XMMC"].ToString().Trim();
|
|
string sBJRQ = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJRQ"].ToString().Trim();
|
|
string sZJE = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_ZJE"].ToString().Trim();
|
|
|
|
string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID);
|
|
//若“100860062|销售报价业务配置”项目检索来源为“YXXM|售前项目”且XLXSBJD_XMMC不为空
|
|
if (sCurZT == "ZZZZ")
|
|
{
|
|
string sPSDH = "";
|
|
bool bINS = false;
|
|
XLBJD_BDOBill.InsBJPS(SQL, Sender.dbe, Sender, Action, sBJDID, tSession, "100860000", ref sPSDH, ref bINS);
|
|
if (bINS)
|
|
{
|
|
XLBJD_BDOBill.DispatchtoZZZZ(sPSDH, tSession);
|
|
}
|
|
|
|
}
|
|
if (!sZDQRWPID.Equals(""))
|
|
{
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
if (sZDQRWPID.Contains(Sender.WPID))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJD set XLXSBJD_ZDZDLX=:pZDZDLX WHERE XLXSBJD_BJDID=:pBJDID");
|
|
SQL.ParamByName("pZDZDLX").Value = XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (GetOption("BJU068").Equals("W"))
|
|
HLXTUtils.DataSend(Sender.WFID, Sender.WFInst.ToString(), Sender.GetWFActionName(Action), "XLBJDFS");
|
|
|
|
if (Sender.WPID.Equals("ZZZZ"))
|
|
XLBJDUtils.UpdateBJWCSJ(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
|
|
string sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "自动生成合同").ToString().Trim();
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
if (sOption.Equals("Y"))
|
|
XLBJDInfo.GeneratXSHTByBJD(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(), tSession.UserId, tSession.UserName);
|
|
}
|
|
|
|
sOption = Sender.GetWPOption(Sender.WFID, sWPID, "预中标审批").ToString().Trim();
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
if (sOption.Equals("Y"))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJD set XLXSBJD_YZBSP=:XLXSBJD_YZBSP WHERE XLXSBJD_BJDID=:pBJDID");
|
|
SQL.ParamByName("XLXSBJD_YZBSP").Value = "Y";
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
}
|
|
}
|
|
|
|
if (Action == TWFAction.wfaPullback || Action == TWFAction.wfaReturn)
|
|
{
|
|
sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "预中标审批").ToString().Trim();
|
|
if (sOption.Equals("Y"))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJD set XLXSBJD_YZBSP=:XLXSBJD_YZBSP WHERE XLXSBJD_BJDID=:pBJDID");
|
|
SQL.ParamByName("XLXSBJD_YZBSP").Value = "N";
|
|
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
Sender.dbe.ExecSQL(SQL);
|
|
|
|
XLBJCLUtils.DeleteXLZCJH("XSBJ", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
}
|
|
}
|
|
|
|
if (sCurZT == "ZZZZ" && !sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS())
|
|
{
|
|
string sZB = ds.Tables[0].Rows[0][3].ToString().Trim();
|
|
if (sZB.Equals("Y"))
|
|
XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "ZZZZ", tSession);
|
|
else
|
|
XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "0060", tSession);
|
|
}
|
|
}
|
|
|
|
protected override void OnReportUnknownFunction(string Name, string Params, ref string ValueType, ref string Value, TDatabase db)
|
|
{
|
|
string[] Param;
|
|
Param = Params.Split(',');
|
|
if (Name.Trim().ToUpper() == "GETCPBJ")
|
|
{
|
|
ValueType = "N";
|
|
if (Param.Length >= 5)
|
|
{
|
|
Value = XLBJDUtils.GetCPBJ(Param[0], Param[1], Param[2], Param[3], Param[4]).ToString();
|
|
}
|
|
else
|
|
{
|
|
Value = "0";
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void Master_wfOnGetParamName(ref List<string> ParamList)
|
|
{
|
|
base.Master_wfOnGetParamName(ref ParamList);
|
|
ParamList.Add("自动撞单");
|
|
}
|
|
|
|
protected override void Master_wfOnGetParamEvent(TWorkflow Sender, string ParamName, ref string Value, ref bool Succeess)
|
|
{
|
|
base.Master_wfOnGetParamEvent(Sender, ParamName, ref Value, ref Succeess);
|
|
if (ParamName == "自动撞单")
|
|
{
|
|
if (ParamName == "自动撞单")
|
|
{
|
|
if (XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()).Equals(""))
|
|
{
|
|
|
|
Value = "N";
|
|
}
|
|
else
|
|
{
|
|
Value = "Y";
|
|
}
|
|
Succeess = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override bool ConfirmWFAction(TWFAction Action)
|
|
{
|
|
if (Action == TWFAction.wfaSubmit)
|
|
{
|
|
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
|
|
string sWarningMsg = "";
|
|
string sBJFLID = "";
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID ");
|
|
SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID;
|
|
DataSet data = dberp.OpenDataSet(SQL);
|
|
if (data.Tables[0].Rows.Count > 0)
|
|
{
|
|
sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim();
|
|
}
|
|
|
|
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
|
if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Z") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("6"))
|
|
{
|
|
XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption("BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim());
|
|
if (!sWarningMsg.Equals(""))
|
|
{
|
|
Confirm.Register("ask", "显示序号为" + sWarningMsg + "的相同报价产品的报价不同,是否确认提交?");
|
|
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
|
if (Confirm.GetValue("ask").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("ask");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("N"))
|
|
{
|
|
Confirm.Clear();
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
|
|
{
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return base.ConfirmWFAction(Action);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 私有函数
|
|
|
|
private void HidLMByJS()
|
|
{
|
|
TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId);
|
|
string sXJYROLEID = string.Empty;
|
|
string sSJYROLEID = string.Empty;
|
|
string sHJYROLEID = string.Empty;
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID))
|
|
sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID;
|
|
|
|
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID))
|
|
sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID;
|
|
|
|
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID))
|
|
sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID;
|
|
|
|
Dictionary<string, string> dicLMID = new Dictionary<string, string>();
|
|
dicLMID.Add("txtBZ", "XLXSBJD_BZ");
|
|
|
|
bool IsXJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID));
|
|
bool IsSJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID));
|
|
bool IsHJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID));
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
sSQL.Clear();
|
|
sSQL.Add("select distinct XLXSBJFLJSLM_BJFLID,XLXSBJFLJSLM_LMID from XLXSBJFLJSLM where XLXSBJFLJSLM_YCBZ='Y' and XLXSBJFLJSLM_LMLX='W' ");
|
|
if(IsXJY||IsSJY||IsHJY)
|
|
{
|
|
sSQL.Add(" and ( 1<>1 ");
|
|
if(IsXJY)
|
|
sSQL.Add(" or XLXSBJFLJSLM_JSLX='X' ");
|
|
if (IsSJY)
|
|
sSQL.Add(" or XLXSBJFLJSLM_JSLX='S' ");
|
|
if (IsHJY)
|
|
sSQL.Add(" or XLXSBJFLJSLM_JSLX='H' ");
|
|
sSQL.Add(" ) ");
|
|
|
|
}
|
|
else
|
|
{
|
|
sSQL.Add(" and XLXSBJFLJSLM_JSLX='Q' ");
|
|
}
|
|
DataSet ds = dberp.OpenDataSet(sSQL);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
string sBJFLID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_BJFLID"].ToString().Trim();
|
|
string sLMID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_LMID"].ToString().Trim();
|
|
if (dicLMID.ContainsKey(sLMID))
|
|
{
|
|
sLMID = dicLMID[sLMID];
|
|
if (!dicZBLMBJFL.ContainsKey(sLMID))
|
|
dicZBLMBJFL.Add(sLMID, sBJFLID);
|
|
else
|
|
dicZBLMBJFL[sLMID] += "," + sBJFLID;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//设置附加信息是否显示
|
|
private void SetFJXX()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
sSQL.Clear();
|
|
sSQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y' order by XLXSBJKZXXSZ_BH");
|
|
DataSet ds = dberp.OpenDataSet(sSQL);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).Visible = true;
|
|
ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).HeaderText = ds.Tables[0].Rows[i][0].ToString().Trim();
|
|
}
|
|
}
|
|
|
|
//加载选择类型的字符数据
|
|
private string GetZFSelected(string sZDM, string sValue)
|
|
{
|
|
string sResult = sValue;
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
sSQL.Clear();
|
|
sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS from XLXSBJKZXXSZ ");
|
|
sSQL.Add("where XLXSBJKZXXSZ_DYZD = :pDYZD ");
|
|
sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' ");
|
|
sSQL.ParamByName("pDYZD").Value = sZDM.Trim();
|
|
DataSet ds = dberp.OpenDataSet(sSQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
sValue = "," + sValue + ",";
|
|
sResult = "";
|
|
string sMJSQL = ds.Tables[0].Rows[0][0].ToString().Trim();
|
|
string sSRFS = ds.Tables[0].Rows[0][1].ToString().Trim();
|
|
sSQL.Clear();
|
|
sSQL.Add(sMJSQL);
|
|
DataSet dsResult = dberp.OpenDataSet(sSQL);
|
|
if (sSRFS.Trim().Equals("B"))
|
|
{
|
|
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ","))
|
|
{
|
|
sResult += dsResult.Tables[0].Rows[i][0].ToString().Trim() + "|" + dsResult.Tables[0].Rows[i][1].ToString().Trim();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ","))
|
|
{
|
|
sResult += dsResult.Tables[0].Rows[i][1].ToString().Trim() + ",";
|
|
}
|
|
}
|
|
}
|
|
sResult = sResult.TrimEnd(',');
|
|
}
|
|
return sResult;
|
|
}
|
|
|
|
private string GetQuerySql()
|
|
{
|
|
SetFJXX();
|
|
string sSQL = " select XLXSBJD_BJDID, case when isnull(XLXSBJFL_BJFLID,' ')=' ' then XLXSBJD_BJFLID else rtrim(XLXSBJD_BJFLID)||'|'||XLXSBJFL_BJFLMC end as XLXSBJD_BJFLID,"
|
|
+ " case isnull(XLXSBJD_JGBID,' ') when ' ' then ' ' else rtrim(XLXSBJD_JGBID)||'|'||XLXSJGB_JGBMC end as XSJGB,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CLHQJGBID,";
|
|
bool bXScbxKHID = XSCBXKHID();
|
|
if (bXScbxKHID)
|
|
sSQL += " case isnull(XLXSBJD_KHID,' ') when ' ' then rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC else rtrim(XLXSBJD_KHID)||'|'||KH_MC end as XHDW,";
|
|
else
|
|
sSQL += " case isnull(XLXSBJD_SYDWID,' ') when ' ' then ' ' else rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC end as XHDW,";
|
|
|
|
sSQL += " case isnull(XLXSBJD_XSBMID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSBMID)||'|'||BM_MC end as XSBM,XLXSBJD_FKSM,"
|
|
+ " case isnull(XLXSBJD_XSQYID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSQYID)||'|'||XSQY_XSQYMC end as XSQY, "
|
|
+ " XLXSBJD_TXY, XLXSBJD_KH, XLXSBJD_KHLXR, XLXSBJD_LXDH, XLXSBJD_CZ, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_LRL, "
|
|
+ " XLXSBJD_BJRQ, XLXSBJD_XSJLMC,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_LRL,XLXSBJD_ZDXJJCL,XLXSBJD_SQR, "
|
|
+ " XLXSBJD_FKQXNR,XLXSBJD_FKRQ,case when isnull(XLXSBJD_ZDQRRGH,' ')<>' ' then 'Y' else 'N' end as ZDFXYQR,"
|
|
+ " case isnull(XLXSBJD_ZBZT,' ') when 'Y' then '全部中标' when 'P' then '部分中标' when 'N' then '未中标' when 'F' then '废标' when 'Q' then '弃标' else ' ' end as FKJG, "
|
|
+ " XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, "
|
|
+ " XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, "
|
|
+ " XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, "
|
|
+ " XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, "
|
|
+ " XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, "
|
|
+ " XLXSBJD_DOCGRPID,XLXSBJD_FJS,XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_WFID, XLXSBJD_WFINST, XLXSBJD_WPID, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME "
|
|
+ " from XLXSBJD "
|
|
+ " left join XLXSBJKZXX on XLXSBJKZXX_BJDID = XLXSBJD_BJDID "
|
|
+ " left join GS on GS_SYDWID=XLXSBJD_SYDWID"
|
|
+ " left join BM on BM_BMID=XLXSBJD_XSBMID"
|
|
+ " left join XLXSBJFL on XLXSBJD_BJFLID=XLXSBJFL_BJFLID"
|
|
+ " left join XSQY on XSQY_XSQYID=XLXSBJD_XSQYID"
|
|
+ " left join KH on KH_KHID=XLXSBJD_KHID"
|
|
+ " left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE')"
|
|
+ " where 1=1 "
|
|
+ " and isnull(XLXSBJD_YWLX,' ') = ' ' ";
|
|
switch (CurQueryEntity.FieldByName("SW").Value.Trim())
|
|
{
|
|
case "W":
|
|
sSQL += "\r\n and " + _curWorkFlow.GetWhereAgent("XLXSBJ_BJD", tSession.UserId, "XLXSBJD_WFAWAITER", "XLXSBJD_WFID", "XLXSBJD_WPID");
|
|
break;
|
|
case "H":
|
|
sSQL += "\r\n and XLXSBJD_WFHANDLER LIKE :XLXSBJD_WFHANDLER ";
|
|
entity.Param.Add("XLXSBJD_WFHANDLER", "%," + tSession.UserId + ",%");
|
|
break;
|
|
case "A":
|
|
break;
|
|
}
|
|
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("WFAWAITER").Value.Trim()))
|
|
{
|
|
sSQL += " \r\n and XLXSBJD_WFAWAITER like :pWFAWITER ";
|
|
entity.Param.Add("pWFAWITER", string.Format("%,{0},%", CurQueryEntity.FieldByName("WFAWAITER").Value.Trim()));
|
|
}
|
|
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("STATE").Value.Trim()))
|
|
{
|
|
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim());
|
|
}
|
|
if (!CurQueryEntity.FieldByName("XHDW").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and (GS_GSMC like :pXHDW or KH_MC like :pXHDW) ";
|
|
entity.Param.Add("pXHDW", "%" + CurQueryEntity.FieldByName("XHDW").Value.Trim() + "%");
|
|
}
|
|
if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", CurQueryEntity.FieldByName("XSBM").Value.Trim());
|
|
}
|
|
if (!string.IsNullOrEmpty(GetOption("HJU006").Trim()))
|
|
{
|
|
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption("HJU006").Trim());
|
|
sSQL += " or isnull(XLXSBJD_XSBMID, ' ') = ' ')";
|
|
}
|
|
if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and (XLXSBJD_TXY = :pTXY) ";
|
|
entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim());
|
|
}
|
|
if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and (XLXSBJD_KH like :pKH) ";
|
|
entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%");
|
|
}
|
|
if (!CurQueryEntity.FieldByName("SQRGH").Value.Trim().Equals(""))
|
|
{
|
|
sSQL+=" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_SQRGH", CurQueryEntity.FieldByName("SQRGH").Value.Trim());
|
|
}
|
|
if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and " + CMISproDataBase.GetWhereLike("XLXSBJD_XMMC", CurQueryEntity.FieldByName("XM").Value.Trim());
|
|
}
|
|
if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and XLXSBJD_BJDID like :pBJDID ";
|
|
entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%");
|
|
}
|
|
if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and XLXSBJD_BJFLID = :pBJFLID ";
|
|
entity.Param.Add("pBJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim());
|
|
}
|
|
if (!CurQueryEntity.FieldByName("BJBZ").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and XLXSBJD_BZ like :pBJBZ ";
|
|
entity.Param.Add("pBJBZ",'%'+CurQueryEntity.FieldByName("BJBZ").Value.Trim()+'%');
|
|
}
|
|
if (!CurQueryEntity.FieldByName("KHDH").Value.Trim().Equals(""))
|
|
{
|
|
sSQL += "\r\n and XLXSBJD_KHDH like :pKHDH ";
|
|
entity.Param.Add("pKHDH", '%' + CurQueryEntity.FieldByName("KHDH").Value.Trim() + '%');
|
|
}
|
|
//报价金额
|
|
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJES").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJES").Value.Trim().Equals("0"))
|
|
{
|
|
sSQL +="\r\n and XLXSBJD_ZJE >=:pBJZJES ";
|
|
entity.Param.Add("pBJZJES", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJES").Value.Trim(),0));
|
|
|
|
}
|
|
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJEZ").Value.Trim().Equals("0"))
|
|
{
|
|
sSQL += "\r\n and XLXSBJD_ZJE <=:pBJZJEZ ";
|
|
entity.Param.Add("pBJZJEZ", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim(), 0));
|
|
|
|
}
|
|
|
|
if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "已生成")
|
|
{
|
|
sSQL += "and exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )";
|
|
}
|
|
else if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "未生成")
|
|
{
|
|
sSQL += "and not exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )";
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(GetOption("BJU012").Trim()))
|
|
{
|
|
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", GetOption("BJU012").Trim());
|
|
sSQL += " or isnull(XLXSBJD_BJFLID, ' ') = ' ')";
|
|
}
|
|
if (CurQueryEntity.FieldByName("ZDFXYQR").Value.ToUpper().Trim().Equals("TRUE"))
|
|
{
|
|
sSQL += " and isnull(XLXSBJD_ZDQRRGH,' ')<>' ' ";
|
|
}
|
|
if (CurQueryEntity.FieldByName("JCFZCS").Value.ToUpper().Trim().Equals("TRUE"))
|
|
{
|
|
sSQL += " and isnull(XLXSBJD_FZBZ,'N') ='Y' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("FKJG").Value.Trim()))
|
|
{
|
|
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_ZBZT", CurQueryEntity.FieldByName("FKJG").Value.Trim());
|
|
}
|
|
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
|
|
CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(),
|
|
CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(),
|
|
DateTimeType.dtDate, DateTimeType.dtDate);
|
|
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_WHSJ",
|
|
CurQueryEntity.FieldByName("WHSJS").Value.ToString().Trim(),
|
|
CurQueryEntity.FieldByName("WHSJZ").Value.ToString().Trim(),
|
|
DateTimeType.dtTime, DateTimeType.dtTime);
|
|
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_FKRQ",
|
|
CurQueryEntity.FieldByName("FKRQS").Value.ToString().Trim(),
|
|
CurQueryEntity.FieldByName("FKRQZ").Value.ToString().Trim(),
|
|
DateTimeType.dtDate, DateTimeType.dtDate);
|
|
for (int i = 1; i <= 5; i++)
|
|
{
|
|
string fieldNumber = i.ToString().PadLeft(2, '0');
|
|
string fieldName = "KZSZ" + fieldNumber;
|
|
|
|
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
|
|
if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0")
|
|
{
|
|
string paramName = "pKZSZ" + fieldNumber;
|
|
sSQL+=string.Format(" and isnull(XLXSBJKZXX_KZSZ{0},0) = :{1} ",
|
|
fieldNumber,
|
|
paramName);
|
|
|
|
entity.Param.Add(paramName, CMISproConvert.StrToFloat(fieldValue));
|
|
}
|
|
}
|
|
|
|
for (int i = 1; i <= 10; i++)
|
|
{
|
|
string fieldNumber = i.ToString().PadLeft(2, '0');
|
|
string fieldName = "KZZF" + fieldNumber+"1";
|
|
|
|
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
|
|
if (!string.IsNullOrEmpty(fieldValue))
|
|
{
|
|
string paramName = "p" + fieldName;
|
|
sSQL += string.Format(" and isnull(XLXSBJKZXX_KZZF{0},' ') like :{1} ",
|
|
fieldNumber,
|
|
paramName);
|
|
|
|
entity.Param.Add(paramName, "%" + fieldValue+"%" );
|
|
}
|
|
}
|
|
|
|
for (int i = 1; i <= 10; i++)
|
|
{
|
|
string fieldNumber = i.ToString().PadLeft(2, '0');
|
|
string fieldName = "KZZF" + fieldNumber + "2";
|
|
|
|
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
|
|
if (!string.IsNullOrEmpty(fieldValue))
|
|
{
|
|
string paramName = "p" + fieldName;
|
|
sSQL += string.Format(" and ','||Rtrim(isnull(XLXSBJKZXX_KZZF{0},' '))||',' like :{1} ",
|
|
fieldNumber,
|
|
paramName);
|
|
|
|
entity.Param.Add(paramName, "%," + fieldValue + ",%");
|
|
}
|
|
}
|
|
|
|
for (int i = 1; i <= 5; i++)
|
|
{
|
|
string fieldNumber = i.ToString().PadLeft(2, '0');
|
|
string fieldName = "KZWB" + fieldNumber;
|
|
|
|
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
|
|
if (!string.IsNullOrEmpty(fieldValue))
|
|
{
|
|
string paramName = "pKZWB" + fieldNumber;
|
|
sSQL += string.Format(" and isnull(XLXSBJKZXX_KZWB{0},' ') like :{1} ",
|
|
fieldNumber,
|
|
paramName);
|
|
|
|
entity.Param.Add(paramName, "%" + fieldValue + "%");
|
|
}
|
|
}
|
|
|
|
for (int i = 1; i <= 5; i++)
|
|
{
|
|
string fieldNumber = i.ToString().PadLeft(2, '0');
|
|
string fieldName = "KZRQ" + fieldNumber;
|
|
|
|
sSQL+=CMISproDataBase.GetTimeConditionSQL("XLXSBJKZXX_KZRQ"+fieldNumber, CurQueryEntity.FieldByName(fieldName + "S").Value.Trim(), CurQueryEntity.FieldByName(fieldName+"Z").Value.Trim(), DateTimeType.dtDate, DateTimeType.dtDate);
|
|
}
|
|
|
|
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号倒序↓"))
|
|
{
|
|
sSQL += " order by XLXSBJD_BJDID desc ";
|
|
}
|
|
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号正序↑"))
|
|
{
|
|
sSQL += " order by XLXSBJD_BJDID ";
|
|
}
|
|
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓"))
|
|
{
|
|
sSQL += " order by XLXSBJD_BJRQ DESC, XLXSBJD_BJDID DESC ";
|
|
}
|
|
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑"))
|
|
{
|
|
sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID ";
|
|
}
|
|
else
|
|
{
|
|
sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID ";
|
|
}
|
|
return sSQL;
|
|
}
|
|
|
|
//判断模块是否存在并且是否有权限
|
|
private bool CheckModule(string sUMID)
|
|
{
|
|
int iUMID = CMISproConvert.StrToInt(sUMID);
|
|
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
|
|
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
|
|
}
|
|
|
|
private bool XSCBXKHID()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
//客户ID
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
|
|
//销售报价业务配置“客户检索来源”为“KH|客户”、且“新增客户要求”为“报价前维护”时,txtKHID显示,cbxKHID不显示
|
|
if (pzxx.XLXSBJPZ_KHJSLY == "KH" && pzxx.XLXSBJPZ_XZKHYQ == "Q")
|
|
return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
protected void btnCopyEx_Click(object sender, EventArgs e)
|
|
{
|
|
if (ContentGrid.SelectedIndex == -1)
|
|
{
|
|
ShowMessage("请选择处理记录!");
|
|
return;
|
|
}
|
|
TPageParams pageParams = new TPageParams();
|
|
pageParams.UrlPath = this.sURLTarget;
|
|
pageParams.CallAction = TPageCallAction.pcaCopy;
|
|
pageParams.AddString("CopyFromList", "Y");
|
|
pageParams.AddString("WFID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFID"].ToString().Trim());
|
|
pageParams.AddString("WFINST", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFINST"].ToString().Trim());
|
|
pageParams.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
|
|
OpenDialog(pageParams);
|
|
}
|
|
|
|
protected void btnGRWJGRefer_Click(object sender, EventArgs e)
|
|
{
|
|
int tmpIndex = ContentGrid.SelectedIndex;
|
|
moduleGV_PageIndexChanging(null, null);
|
|
ContentGrid.SelectedIndex = tmpIndex;
|
|
}
|
|
|
|
protected void btnZBZT_Click(object sender, EventArgs e)
|
|
{
|
|
Confirm.Register("ask", "将更新报价单反馈结果历史数据,是否确认?");
|
|
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
|
if (Confirm.GetValue("ask").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("ask");
|
|
return;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("N"))
|
|
{
|
|
Confirm.Clear();
|
|
return;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
|
|
{
|
|
Confirm.Clear();
|
|
}
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" merge into XLXSBJD tag ");
|
|
SQL.Add(" using( ");
|
|
SQL.Add(" select XLXSBJDMX_BJDID as BJDID,case when ZMXSL=ZBMXSL then 'Y' when (isnull(ZBMXSL,0)+isnull(PBMXSL,0))>0 then 'P' ");
|
|
SQL.Add(" when (ZMXSL<>isnull(FBMXSL,0) and ZMXSL<>isnull(QBMXSL,0) AND WZBMXSL = ZMXSL) then 'N' ");
|
|
SQL.Add(" when ZMXSL=FBMXSL then 'F' when ZMXSL=QBMXSL then 'Q' else ' ' end as FKJG ");
|
|
SQL.Add(" from ");
|
|
SQL.Add(" (SELECT XLXSBJDMX_BJDID,count(1) as ZMXSL,sum(case when isnull(XLXSBJDMX_ZB,' ')='Y' then 1 else 0 end) as ZBMXSL, ");
|
|
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='P' then 1 else 0 end) as PBMXSL, ");
|
|
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ') in ('N','F','Q') then 1 else 0 end) as WZBMXSL, ");
|
|
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='F' then 1 else 0 end) as FBMXSL, ");
|
|
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='Q' then 1 else 0 end) as QBMXSL ");
|
|
SQL.Add(" from XLXSBJDMX ");
|
|
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
|
|
SQL.Add(" where isnull(XLXSBJD_ZBZT,' ') = ' ' ");
|
|
SQL.Add(" group by XLXSBJDMX_BJDID) ZBA ");
|
|
SQL.Add(" ) sor ");
|
|
SQL.Add(" on(XLXSBJD_BJDID = sor.BJDID and isnull(XLXSBJD_ZBZT,' ') = ' ') ");
|
|
SQL.Add(" when matched then update set XLXSBJD_ZBZT = sor.FKJG ");
|
|
dberp.ExecSQL(SQL);
|
|
ShowMessage("更新成功!");
|
|
}
|
|
}
|
|
}
|