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

385 lines
17 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_PUBLIC;
using GThinking.N_MISPRO.Caching;
namespace GThinking.N_XLXSBJ
{
public partial class JGBML_SelJGBInfo : SingleCardBase
{
JGBML_SelJGB entity = new JGBML_SelJGB();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860018;
this.UMName = "线缆销售报价价格目录";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
base.InitPage();
if (PageParam.GetRTrimString("LX").Equals("JGCIDS"))
{
cbxJJ.Enabled = false;
lblJJ.Text = "基价:";
btnQR.Visible = false;
btnQX.Visible = false;
}
if (!IsPostBack)
{
cbxJJ.Width = Unit.Pixel(PageWidth - 85 - 15);
}
if (!IsPostBack)
{
InitControl();
}
}
#region 模板继承事件
#endregion
#region 自定义函数
private void InitControl()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
if (PageParam.GetRTrimString("LX").Equals("JGCIDS"))
{
SQL.Add("select XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH='JGC' ");
if (!GetOption("BJU016").Equals(""))
{
SQL.Add( " and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") ");
}
SQL.Add("order by XLXSJGB_JGBID");
}
else
{
SQL.Add(string.Format("select XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH='JGB' " +
" and isnull(XLXSJGB_JGBIDS,' ') = ' ' and XLXSJGB_TJYS='1' and XLXSJGB_JGBID<>'{0}' ", PageParam.GetRTrimString("JGBID")));
if (!GetOption("BJU016").Equals(""))
{
SQL.Add(" and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") ");
}
SQL.Add("order by XLXSJGB_YXQS desc,XLXSJGB_JGBID ");
}
DataSet ds = dberp.OpenDataSet(SQL);
cbxJJ.ClearItems();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJGBID = ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim();
string sYXQS = ds.Tables[0].Rows[i]["XLXSJGB_YXQS"].ToString().Trim();
string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGB_YXQZ"].ToString().Trim();
string sJGBMC = ds.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim();
if (sYXQS.Equals(""))
sYXQS = "--";
else
sYXQS = CMISproConvert.ConvertDate(sYXQS);
if (sYXQZ.Equals(""))
sYXQZ = "--";
else
sYXQZ = CMISproConvert.ConvertDate(sYXQZ);
if (sJGBMC.Equals(""))
cbxJJ.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ, sJGBID));
else
cbxJJ.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ + "|" + sJGBMC, sJGBID));
}
SQL.Clear();
ds.Clear();
if (PageParam.GetRTrimString("LX").Equals("JGCIDS"))
{
SQL.Add("select XLXSJGB_JGCIDS as IDS from XLXSJGB where XLXSJGB_JGBID= :pJGBID and XLXSJGB_MXBH= :pMXBH");
}
else
{
SQL.Add("select XLXSJGB_JGBIDS as IDS from XLXSJGB where XLXSJGB_JGBID= :pJGBID and XLXSJGB_MXBH= :pMXBH");
}
SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID");
SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
cbxJJ.SelectedValue = ds.Tables[0].Rows[0]["IDS"].ToString().Trim(); ;
}
}
/// <summary>
/// 按出厂价价格表行情更新现行价价格表行情
/// </summary>
/// <param name="sOLDJGBID">被单选的,因素为1的价格表ID</param>
private void UpdateXLXSCLHQ_Copy(string sOLDJGBID)
{
//因素为3的价格表ID
string sJGBID = PageParam.GetRTrimString("JGBID");
string sMXBH = PageParam.GetRTrimString("MXBH");
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID =:pNEWJGBID ");
SQL.ParamByName("pNEWJGBID").Value = sJGBID;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ, ");
SQL.Add(" XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_HSCGJG, ");
SQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG, ");
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, ");
SQL.Add(" XLXSCLHQ_BZ,XLXSCLHQ_WHR,XLXSCLHQ_WHRID,XLXSCLHQ_WHSJ");
SQL.Add(" ) ");
SQL.Add(" select ");
SQL.Add(" :pNEWJGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ, ");
SQL.Add(" XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_HSCGJG, ");
SQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG, ");
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, ");
SQL.Add(" XLXSCLHQ_BZ,:pWHR,:pWHRID,:pWHSJ");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where 1 = 1 and XLXSCLHQ_JGBID= :pOLDJGBID ");
SQL.ParamByName("pNEWJGBID").Value = sJGBID;
SQL.ParamByName("pOLDJGBID").Value = sOLDJGBID;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHRID").Value = tSession.UserId;
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
//因素为3的价格表无需记录物料行情,因为物料行情不支持修改,材料价价差只会体现在材料行情的价差上面
//if (XLJGB_CLJGTZList.NeedJGBJJFP())
//{
// SQL.Clear();
// SQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID =:pNEWJGBID ");
// SQL.ParamByName("pNEWJGBID").Value = sJGBID;
// dberp.ExecSQL(SQL);
// SQL.Clear();
// SQL.Add(" insert into XLXSWLHQ( ");
// SQL.Add(" XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ, ");
// SQL.Add(" XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_HSCGJG,XLXSWLHQ_WSCGJG, ");
// SQL.Add(" XLXSWLHQ_BZ,XLXSWLHQ_WHR,XLXSWLHQ_WHRID,XLXSWLHQ_WHSJ");
// SQL.Add(" ) ");
// SQL.Add(" select ");
// SQL.Add(" :pNEWJGBID,XLXSWLHQ_WLID,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ, ");
// SQL.Add(" XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_HSCGJG,XLXSWLHQ_WSCGJG, ");
// SQL.Add(" XLXSWLHQ_BZ,:pWHR,:pWHRID,:pWHSJ");
// SQL.Add(" from XLXSWLHQ ");
// SQL.Add(" where 1 = 1 and XLXSWLHQ_JGBID= :pOLDJGBID ");
// SQL.ParamByName("pNEWJGBID").Value = sJGBID;
// SQL.ParamByName("pOLDJGBID").Value = sOLDJGBID;
// SQL.ParamByName("pWHR").Value = tSession.UserName;
// SQL.ParamByName("pWHRID").Value = tSession.UserId;
// SQL.ParamByName("pWHSJ").Value = DateTime.Now;
// dberp.ExecSQL(SQL);
//}
}
#endregion
#region 控件事件
protected void btnQR_Click(object sender, EventArgs e)
{
string sTJYS = PageParam.GetRTrimString("TJYS");
//加载XLXSJGB_MXBH='JGB'&XLXSJGB_TJYS='1'的XLXSJGB记录,多选记录后点确认,更新字段XLXSJGB_JGBIDS
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (sTJYS.Equals("3"))
{
if (cbxJJ.SelectedValue.Trim().Equals(""))
{
ShowMessage("调价因素为3的记录必须选择一张价格表!");
return;
}
if (cbxJJ.SelectedValue.Trim().IndexOf(',') >= 0)
{
ShowMessage("调价因素为3的记录仅允许选择一张价格表!");
return;
}
else
{
string sMsg = "";
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();
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
UpdateXLXSCLHQ_Copy(cbxJJ.SelectedValue.Trim());
}
try
{
dberp.BeginTrans();
SQL.Clear();
SQL.Add("update XLXSJGB set XLXSJGB_JGBIDS= :pJGBIDS ");
SQL.Add(" where XLXSJGB_JGBID= :pJGBID ");
SQL.Add(" and XLXSJGB_MXBH= :pMXBH ");
SQL.ParamByName("pJGBIDS").Value = cbxJJ.SelectedValue.Trim();
SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID");
SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH");
dberp.ExecSQL(SQL);
dberp.CommitTrans();
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
ShowMessage("调整成功!");
}
catch (Exception ex)
{
ShowMessage("调整基价出错,请联系系统管理员!错误原因:" + ex);
dberp.RollbackTrans();
}
}
}
else if (sTJYS.Equals("2"))
{
if (cbxJJ.SelectedValue.Trim().Equals(""))
{
ShowMessage("调价因素为2的记录必须选择一张价格表!");
return;
}
if (cbxJJ.SelectedValue.Trim().IndexOf(',') >= 0)
{
ShowMessage("调价因素为2的记录仅允许选择一张价格表!");
return;
}
else
{
try
{
dberp.BeginTrans();
string sMXBH = PageParam.GetRTrimString("MXBH");
string sJGBID = PageParam.GetRTrimString("JGBID");
SQL.Clear();
SQL.Add("update XLXSJGB set XLXSJGB_JGBIDS= :pJGBIDS ");
SQL.Add(" where XLXSJGB_JGBID= :pJGBID ");
SQL.Add(" and XLXSJGB_MXBH= :pMXBH ");
SQL.ParamByName("pJGBIDS").Value = cbxJJ.SelectedValue.Trim();
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pMXBH").Value = sMXBH;
dberp.ExecSQL(SQL);
bool bDR = false;
SQL.Clear();
SQL.Add("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID ");
SQL.ParamByName("pJGBID").Value = sJGBID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
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();
}
bDR = true;
string sBJU003 = GetOption(100860000, "BJU003");
int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
string sJSBLFS = "";
SQL.Clear();
ds.Clear();
SQL.Add("select XLXSJGB_TJYS,XLXSJGB_JGBIDS,XLXSJGB_JSBLFS as JSBLFS,XLXSJGB_JJLY from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID ");
SQL.ParamByName("pMXBH").Value = sMXBH;
SQL.ParamByName("pJGBID").Value = sJGBID;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sJSBLFS = ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim();
}
dberp.ExecSQL(string.Format("delete from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", PageParam.GetRTrimString("JGBID")));
dberp.ExecSQL(string.Format("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID='{0}'", PageParam.GetRTrimString("JGBID")));
XLJGB_JGBMXList.InsertCLCB_CCJasJJ(dberp, tSession, PageParam.GetRTrimString("JGBID"), cbxJJ.SelectedValue.Trim());
XLJGB_CLJGTZList.DoCPJJ(dberp, PageParam.GetRTrimString("MXBH"), PageParam.GetRTrimString("JGBID"), true, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName,sBJU003);
}
dberp.CommitTrans();
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
if (bDR)
ShowMessage("调整成功!并按所依出厂价重新导入价格表明细!");
else
ShowMessage("调整成功!");
}
catch (Exception ex)
{
ShowMessage("调整基价出错,请联系系统管理员!错误原因:" + ex);
dberp.RollbackTrans();
}
}
}
else
{
ShowMessage(" 传入的调价因素有误,请关闭页面重试!");
}
//使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件
DialogOperationScript dos = new DialogOperationScript(this);
//dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
}
}