2026821
This commit is contained in:
@@ -0,0 +1,451 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user