452 lines
23 KiB
C#
452 lines
23 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_MISPRO.Data;
|
|
using GThinking.N_MODEL.Page;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using GThinking.N_CONTROL;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class XLBJD_WLHQTZList : OperationBase
|
|
{
|
|
XLBJD_WLHQTZ entity = new XLBJD_WLHQTZ();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860000;
|
|
this.UMName = "线缆销售报价单";
|
|
this.CurMaster = Master;
|
|
this.Tabs = Tab;
|
|
this.PageHeight = 600;
|
|
this.PageWidth = 850;
|
|
CurMaster.BtnQueryVisible = false;
|
|
CurMaster.BtnReportVisible = false;
|
|
AddListSetMap(new ListSet(pagSHD2.ID, null, grdSHD2, entity, UPSHD2));
|
|
|
|
base.InitPage();
|
|
grdSHD2.EnabledToolBar = false;
|
|
CurMaster.PnlBill.Visible = false;
|
|
CurMaster.PnlQuery.Visible = false;
|
|
|
|
//若当前选择的报价材料设置有加工原料,则只允许维护加工费;否则,直接维护价格
|
|
/*
|
|
if (!PageParam.GetRTrimString("JGYBJCLID").Equals(""))
|
|
{
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLXX").Visible = true;
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").Visible = true;
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").Visible = true;
|
|
|
|
grdSHD2.FindColumnByFieldName("WSJGF").Visible = true;
|
|
grdSHD2.FindColumnByFieldName("HSJGF").Visible = true;
|
|
grdSHD2.FindColumnByFieldName("WSJG").ReadOnly = true;
|
|
grdSHD2.FindColumnByFieldName("HSJG").ReadOnly = true;
|
|
}
|
|
else
|
|
{
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLXX").Visible = false;
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").Visible = false;
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").Visible = false;
|
|
|
|
grdSHD2.FindColumnByFieldName("WSJGF").Visible = false;
|
|
grdSHD2.FindColumnByFieldName("HSJGF").Visible = false;
|
|
grdSHD2.FindColumnByFieldName("WSJG").ReadOnly = false;
|
|
grdSHD2.FindColumnByFieldName("HSJG").ReadOnly = false;
|
|
}
|
|
*/
|
|
/*
|
|
//若当前选择的报价材料设置有加工原料,则“更新自采购行情”不可见,因为调整材料行情界面的“更新自采购行情”会按报价材料的采购价格+物料的加工费作为物料的采购价格的
|
|
if (!PageParam.GetRTrimString("JGYBJCLID").Equals(""))
|
|
{
|
|
btnCGHQ.Visible = false;
|
|
btnWLHQ.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
btnCGHQ.Visible = true;
|
|
btnWLHQ.Visible = true;
|
|
}
|
|
*/
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnQuery();
|
|
GridDataBind();
|
|
}
|
|
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
grdSHD2.FindColumnByFieldName("WSJGF").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
grdSHD2.FindColumnByFieldName("HSJGF").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
grdSHD2.FindColumnByFieldName("WSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
grdSHD2.FindColumnByFieldName("HSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
|
|
}
|
|
|
|
#region 模板继承事件
|
|
|
|
protected override void Master_OnQuery()
|
|
{
|
|
entity.sBJDID = PageParam.GetRTrimString("BJDID");
|
|
entity.sWLVID = PageParam.GetRTrimString("WLVID");
|
|
entity.sCLVID = PageParam.GetRTrimString("CLVID");
|
|
entity.sRYID = CurSession.RYID;
|
|
entity.sBJRQ = PageParam.GetRTrimString("BJRQ");
|
|
|
|
base.Master_OnQuery();
|
|
grdSHD2.SelectedIndex = -1;
|
|
}
|
|
|
|
protected override bool Master_OnOK()
|
|
{
|
|
bool bResult = base.Master_OnOK();
|
|
if (!bResult) return false;
|
|
if (grdSHD2.Rows.Count <= 0)
|
|
{
|
|
CloseWindow();
|
|
return false;//这里返回false是为了解决关闭当前页面会同时关闭“调整材料行情”页面的问题
|
|
}
|
|
|
|
|
|
TDatabase DBERP = TContextDatabases.GetDatabase("DBERP");
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
string sVWLID = PageParam.GetRTrimString("WLVID");
|
|
string sRYID = CurSession.RYID;
|
|
if (!sBJDID.Equals(""))
|
|
{
|
|
try
|
|
{
|
|
DBERP.BeginTrans();
|
|
//先删物料行情
|
|
for (int i = 0; i < grdSHD2.NewRows.Count; i++)
|
|
{
|
|
DBERP.ExecSQL(string.Format("delete from V_XLXSBJDWLHQ where V_XLXSBJDWLHQ_BJDID='{0}' and V_XLXSBJDWLHQ_WLID='{1}'"
|
|
+ " and V_XLXSBJDWLHQ_ID='{2}' and V_XLXSBJDWLHQ_TZRYID='{3}'", sBJDID, grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", grdSHD2.NewRows[i]).ToString().Trim(), sVWLID, sRYID));
|
|
}
|
|
//再据界面输入构造,插入物料行情
|
|
TSQL tmpSQL = new TSQL(DBERP);
|
|
tmpSQL.Clear();
|
|
tmpSQL.Add("insert into V_XLXSBJDWLHQ(V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHSJ,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,");
|
|
tmpSQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP) ");
|
|
for (int i = 0; i < grdSHD2.NewRows.Count; i++)
|
|
{
|
|
if (i != 0)
|
|
{
|
|
tmpSQL.Add(" union all ");
|
|
}
|
|
tmpSQL.Add(string.Format("select '{0}' as BJDID,'{1}' as WLID,{2} as WSJG,{3} as HSJG,'{4}' as WHRID,'{5}' as WHR,'{6}' as WHSJ,{7} as WSJGF,{8} as HSJGF,{9} as ID, "
|
|
+ " '{10}' as RYID,'{11}' as RYGH,'{12}' as RYMC,'{13}' as TIMESTAMP ",
|
|
sBJDID,
|
|
grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", grdSHD2.NewRows[i]).ToString().Trim(),
|
|
CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("WSJG", grdSHD2.NewRows[i]).ToString().Trim()),
|
|
CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("HSJG", grdSHD2.NewRows[i]).ToString().Trim()),
|
|
grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHRID", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? CurSession.UserId : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHRID", grdSHD2.NewRows[i]).ToString().Trim(),
|
|
grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHR", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? CurSession.UserName : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHR", grdSHD2.NewRows[i]).ToString().Trim(),
|
|
grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHSJ", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? DateTime.Now.ToString().Trim() : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHSJ", grdSHD2.NewRows[i]).ToString().Trim(),
|
|
CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("WSJGF", grdSHD2.NewRows[i]).ToString().Trim()),
|
|
CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("HSJGF", grdSHD2.NewRows[i]).ToString().Trim()),
|
|
sVWLID, CurSession.RYID, CurSession.UserId, CurSession.UserName, MISproUtils.GetServerTime().ToString().Trim()));
|
|
}
|
|
DBERP.ExecSQL(tmpSQL);
|
|
|
|
DBERP.CommitTrans();
|
|
|
|
CloseWindow();
|
|
return false;//这里返回false是为了解决关闭当前页面会同时关闭“调整材料行情”页面的问题
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(ex.Message);
|
|
DBERP.RollbackTrans();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
protected void grdSHD2_CalculateField(object sender, CalculateFieldEventArgs e)
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
string sWLID = e.RowData["XLXSBJCLWL_WLID"].ToString().Trim();
|
|
|
|
if (e.EventFieldName.Equals("WSJG"))
|
|
{
|
|
double dHSJG = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) * (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal);
|
|
|
|
e.ResultPairs.Add("HSJG", dHSJG.ToString());
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim());
|
|
}
|
|
else if (e.EventFieldName.Equals("HSJG"))
|
|
{
|
|
double dWSJG = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) / (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal);
|
|
|
|
e.ResultPairs.Add("WSJG", dWSJG.ToString());
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim());
|
|
}
|
|
else if (e.EventFieldName.Equals("WSJGF"))
|
|
{
|
|
double dHSJGF = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) * (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal);
|
|
double dWSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_WSJG"].ToString().Trim(), 0) + CMISproConvert.StrToFloat(e.EventFieldValue);
|
|
double dHSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_HSJG"].ToString().Trim(), 0) + dHSJGF;
|
|
|
|
e.ResultPairs.Add("HSJGF", dHSJGF.ToString());
|
|
e.ResultPairs.Add("WSJG", dWSJG.ToString());
|
|
e.ResultPairs.Add("HSJG", dHSJG.ToString());
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim());
|
|
}
|
|
else if (e.EventFieldName.Equals("HSJGF"))
|
|
{
|
|
double dWSJGF = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) / (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal);
|
|
double dWSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_WSJG"].ToString().Trim(), 0) + dWSJGF;
|
|
double dHSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_HSJG"].ToString().Trim(), 0) + CMISproConvert.StrToFloat(e.EventFieldValue);
|
|
|
|
e.ResultPairs.Add("WSJGF", dWSJGF.ToString());
|
|
e.ResultPairs.Add("WSJG", dWSJG.ToString());
|
|
e.ResultPairs.Add("HSJG", dHSJG.ToString());
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId);
|
|
e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim());
|
|
}
|
|
|
|
//SQL.Clear();
|
|
//SQL.Add(" select 1 from XLXSBJDWLHQ where XLXSBJCLWL_WLID = :pWLID and XLXSBJDWLHQ_BJDID = :pBJDID ");
|
|
//SQL.ParamByName("pBJCLID").Value = sWLID;
|
|
//SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
//DataSet dsBJDWLHQ = dberp.OpenDataSet(SQL);
|
|
//if (dsBJDWLHQ.Tables[0].Rows.Count > 0)
|
|
//{
|
|
// SQL.Clear();
|
|
// SQL.Add(" update XLXSBJDWLHQ ");
|
|
// SQL.Add(" set XLXSBJDWLHQ_WSJG = :XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG=:XLXSBJDWLHQ_HSJG, ");
|
|
// SQL.Add(" XLXSBJDWLHQ_WSJGF=:XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF=:XLXSBJDWLHQ_HSJGF,");
|
|
// SQL.Add(" XLXSBJDWLHQ_WHRID = :XLXSBJDWLHQ_WHRID, XLXSBJDWLHQ_WHR = :XLXSBJDWLHQ_WHR, XLXSBJDWLHQ_WHSJ = :XLXSBJDWLHQ_WHSJ");
|
|
// SQL.Add(" where XLXSBJDWLHQ_BJDID =:pBJDID and XLXSBJDWLHQ_WLID = :pWLID ");
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WSJG").Value = sWSJG;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_HSJG").Value = sHSJG;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WSJGF").Value = sWSJGF;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_HSJGF").Value = sHSJGF;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHR").Value = CurSession.UserName;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHRID").Value = CurSession.UserId;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHSJ").Value = DateTime.Now;
|
|
// SQL.ParamByName("pWLID").Value = sWLID;
|
|
// SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
// dberp.ExecSQL(SQL);
|
|
//}
|
|
//else
|
|
//{
|
|
// //插入
|
|
// SQL.Clear();
|
|
// SQL.Add(" insert into XLXSBJDWLHQ( ");
|
|
// SQL.Add(" XLXSBJDWLHQ_WLID,XLXSBJDWLHQ_BJDID, XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG, XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF, ");
|
|
// SQL.Add(" XLXSBJDWLHQ_WHRID, XLXSBJDWLHQ_WHR, XLXSBJDWLHQ_WHSJ )");
|
|
// SQL.Add(" values(");
|
|
// SQL.Add(" :XLXSBJDWLHQ_WLID, :XLXSBJDWLHQ_BJDID, :XLXSBJDWLHQ_WSJG,:XLXSBJDWLHQ_HSJG, :XLXSBJDWLHQ_WSJGF, :XLXSBJDWLHQ_HSJGF,");
|
|
// SQL.Add(" :XLXSBJDWLHQ_WHRID, :XLXSBJDWLHQ_WHR, :XLXSBJDWLHQ_WHSJ )");
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WLID").Value = sWLID;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_BJDID").Value = sBJDID;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WSJG").Value = sWSJG;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_HSJG").Value = sHSJG;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WSJGF").Value = sWSJGF;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_HSJGF").Value = sHSJGF;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHR").Value = CurSession.UserName;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHRID").Value = CurSession.UserId;
|
|
// SQL.ParamByName("XLXSBJDWLHQ_WHSJ").Value = DateTime.Now;
|
|
// dberp.ExecSQL(SQL);
|
|
//}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 自定义函数
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
|
|
protected void btnCGHQ_OnClick(object sender, EventArgs e)
|
|
{
|
|
Confirm.Register("IsQD", "将使用今天最新的物料采购价格进行更新,是否继续?");
|
|
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();
|
|
}
|
|
|
|
string sWLIDList = "";
|
|
foreach (GridViewRow row in grdSHD2.NewRows)
|
|
{
|
|
if (grdSHD2.GetValueByFieldName("JGYBJCLXX", row).Trim().Equals(""))
|
|
{
|
|
sWLIDList += grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", row).Trim() + ",";
|
|
}
|
|
}
|
|
sWLIDList = sWLIDList.TrimEnd(',');
|
|
|
|
//用物料采购价格进行更新,只更新没有加工关系的物料
|
|
//差异#2021030856-两个按钮不用考虑报价单日期,直接取当天最新行情
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("merge into V_XLXSBJDWLHQ ");
|
|
SQL.Add("using ");
|
|
SQL.Add("( ");
|
|
SQL.Add("select :pBJDID as BJDID,XLXSBJCLWL_WLID as WLID, ");
|
|
SQL.Add("isnull(XLXSWLHQ_WSCGJG,0) as WSJG, ");
|
|
SQL.Add("isnull(XLXSWLHQ_HSCGJG,0) as HSJG ");
|
|
SQL.Add("from XLXSBJCLWL ");
|
|
SQL.Add("left join ");
|
|
SQL.Add(" (select XLXSWLHQ_WLID,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG");
|
|
SQL.Add(" from XLXSWLHQ,");
|
|
SQL.Add(" (");
|
|
SQL.Add(" select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS) as maxYXQS");
|
|
SQL.Add(" from XLXSWLHQ");
|
|
SQL.Add(" where XLXSWLHQ_JGBID=' '");
|
|
SQL.Add(" and XLXSWLHQ_YXQS<=:pBJRQ and(XLXSWLHQ_YXQZ>=:pBJRQ or XLXSWLHQ_YXQZ is null)");
|
|
SQL.Add(" group by XLXSWLHQ_WLID");
|
|
SQL.Add(" ) a ");
|
|
SQL.Add(" where XLXSWLHQ_JGBID=' ' ");
|
|
SQL.Add(" and XLXSWLHQ_WLID=WLID ");
|
|
SQL.Add(" and XLXSWLHQ_YXQS=maxYXQS ");
|
|
SQL.Add(" ) c on XLXSWLHQ_WLID=XLXSBJCLWL_WLID ");
|
|
SQL.Add("where " + CMISproDataBase.GetWhereEqual("XLXSBJCLWL_WLID", sWLIDList));
|
|
SQL.Add(") B on (V_XLXSBJDWLHQ_BJDID=B.BJDID and V_XLXSBJDWLHQ_WLID=B.WLID and V_XLXSBJDWLHQ_ID=:pWLVID and V_XLXSBJDWLHQ_TZRYID=:pRYID ) ");
|
|
SQL.Add("when matched then ");
|
|
SQL.Add("update set V_XLXSBJDWLHQ_WSJG=B.WSJG,V_XLXSBJDWLHQ_HSJG=B.HSJG, ");
|
|
SQL.Add(" V_XLXSBJDWLHQ_WHR=:pWHR,V_XLXSBJDWLHQ_WHRID=:pWHRID,V_XLXSBJDWLHQ_WHSJ=:pWHSJ ");
|
|
SQL.Add("when not matched then ");
|
|
SQL.Add("insert (V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,");
|
|
SQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHSJ) ");
|
|
SQL.Add("values (B.BJDID,B.WLID,B.WSJG,B.HSJG,0,0,:pWLVID,:pRYID,:pRYGH,:pRYMC,:pTIMESTAMP,:pWHR,:pWHRID,:pWHSJ) ");
|
|
SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
|
|
SQL.ParamByName("pWLVID").Value = PageParam.GetRTrimString("WLVID");
|
|
SQL.ParamByName("pRYID").Value = CurSession.RYID;
|
|
SQL.ParamByName("pRYGH").Value = CurSession.UserId;
|
|
SQL.ParamByName("pRYMC").Value = CurSession.UserName;
|
|
SQL.ParamByName("pTIMESTAMP").Value = MISproUtils.GetServerTime();
|
|
SQL.ParamByName("pBJRQ").Value = CMISproConvert.ConvertDate(DateTime.Now);
|
|
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
|
SQL.ParamByName("pWHRID").Value = CurSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//刷新
|
|
Master_OnQuery();
|
|
GridDataBind();
|
|
FormAreaUpdate();
|
|
ShowMessage("更新完成!");
|
|
}
|
|
|
|
protected void btnWLHQ_OnClick(object sender, EventArgs e)
|
|
{
|
|
Confirm.Register("IsQD", "将使用今天最新的物料价格进行更新,是否继续?");
|
|
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();
|
|
}
|
|
|
|
string sWLIDList = "";
|
|
foreach (GridViewRow row in grdSHD2.NewRows)
|
|
{
|
|
if (grdSHD2.GetValueByFieldName("JGYBJCLXX", row).Trim().Equals(""))
|
|
{
|
|
sWLIDList += grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", row).Trim() + ",";
|
|
}
|
|
}
|
|
sWLIDList = sWLIDList.TrimEnd(',');
|
|
|
|
//用物料材料价格进行更新,只更新没有加工关系的物料
|
|
//差异#2021030856-两个按钮不用考虑报价单日期,直接取当天最新行情
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("merge into V_XLXSBJDWLHQ ");
|
|
SQL.Add("using ");
|
|
SQL.Add("( ");
|
|
SQL.Add("select :pBJDID as BJDID,XLXSBJCLWL_WLID as WLID, ");
|
|
SQL.Add("isnull(XLXSWLHQ_WSJG,0) as WSJG, ");
|
|
SQL.Add("isnull(XLXSWLHQ_HSJG,0) as HSJG ");
|
|
SQL.Add("from XLXSBJCLWL ");
|
|
SQL.Add("left join ");
|
|
SQL.Add(" (select XLXSWLHQ_WLID,XLXSWLHQ_WSJG,XLXSWLHQ_HSJG");
|
|
SQL.Add(" from XLXSWLHQ,");
|
|
SQL.Add(" (");
|
|
SQL.Add(" select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS) as maxYXQS");
|
|
SQL.Add(" from XLXSWLHQ");
|
|
SQL.Add(" where XLXSWLHQ_JGBID=' '");
|
|
SQL.Add(" and XLXSWLHQ_YXQS<=:pBJRQ and(XLXSWLHQ_YXQZ>=:pBJRQ or XLXSWLHQ_YXQZ is null)");
|
|
SQL.Add(" group by XLXSWLHQ_WLID");
|
|
SQL.Add(" ) a ");
|
|
SQL.Add(" where XLXSWLHQ_JGBID=' ' ");
|
|
SQL.Add(" and XLXSWLHQ_WLID=WLID ");
|
|
SQL.Add(" and XLXSWLHQ_YXQS=maxYXQS ");
|
|
SQL.Add(" ) c on XLXSWLHQ_WLID=XLXSBJCLWL_WLID ");
|
|
SQL.Add("where " + CMISproDataBase.GetWhereEqual("XLXSBJCLWL_WLID", sWLIDList));
|
|
SQL.Add(") B on (V_XLXSBJDWLHQ_BJDID=B.BJDID and V_XLXSBJDWLHQ_WLID=B.WLID and V_XLXSBJDWLHQ_ID=:pWLVID and V_XLXSBJDWLHQ_TZRYID=:pRYID ) ");
|
|
SQL.Add("when matched then ");
|
|
SQL.Add("update set V_XLXSBJDWLHQ_WSJG=B.WSJG,V_XLXSBJDWLHQ_HSJG=B.HSJG, ");
|
|
SQL.Add(" V_XLXSBJDWLHQ_WHR=:pWHR,V_XLXSBJDWLHQ_WHRID=:pWHRID,V_XLXSBJDWLHQ_WHSJ=:pWHSJ ");
|
|
SQL.Add("when not matched then ");
|
|
SQL.Add("insert (V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,");
|
|
SQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHSJ) ");
|
|
SQL.Add("values (B.BJDID,B.WLID,B.WSJG,B.HSJG,0,0,:pWLVID,:pRYID,:pRYGH,:pRYMC,:pTIMESTAMP,:pWHR,:pWHRID,:pWHSJ) ");
|
|
SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
|
|
SQL.ParamByName("pWLVID").Value = PageParam.GetRTrimString("WLVID");
|
|
SQL.ParamByName("pRYID").Value = CurSession.RYID;
|
|
SQL.ParamByName("pRYGH").Value = CurSession.UserId;
|
|
SQL.ParamByName("pRYMC").Value = CurSession.UserName;
|
|
SQL.ParamByName("pTIMESTAMP").Value = MISproUtils.GetServerTime();
|
|
SQL.ParamByName("pBJRQ").Value = CMISproConvert.ConvertDate(DateTime.Now);
|
|
SQL.ParamByName("pWHR").Value = CurSession.UserName;
|
|
SQL.ParamByName("pWHRID").Value = CurSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//刷新
|
|
Master_OnQuery();
|
|
GridDataBind();
|
|
FormAreaUpdate();
|
|
ShowMessage("更新完成!");
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|