Files
2026-08-21 17:03:02 +08:00

1163 lines
68 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#region 功能说明
/*
* 参数说明:
* 注意事项:
* 更新记录:
*/
#endregion
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 System.Text;
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_PUBLIC2;
using GThinking.N_MODEL.Dialog;
using GThinking.N_CONTROL;
namespace GThinking.N_XLXSBJ
{
public partial class CLHQInfo : SingleCardBase
{
XLXSCLHQ entity = new XLXSCLHQ();
XLXSCLHQ_HIS entity_his = new XLXSCLHQ_HIS();
#region Page类事件继承
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860003;
this.UMName = "线缆销售报价材料行情";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 600;
this.PageWidth = 750;
this.Master.EnableInsertBtn = false;
this.Master.EnableCopyBtn = false;
this.Master.EnableDeleteBtn = false;
txtWSJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtWSJGF.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtWSCGJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtHSJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtHSJGF.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtHSCGJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
base.InitPage();
if (txtTYBZ.Value.Trim().Equals("Y"))
this.Master.EnableEditBtn = false;
if (!IsPostBack)
ifrHistory.Attributes["src"] = "CLHQHistory.aspx?BJCLID=" + txtBJCLID.Text.Trim();
InitControls();
}
#endregion
#region 模板事件继承
protected override void SetControlState()
{
base.SetControlState();
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy )
{
txtBJCLID.Enabled = true;
}
else
{
txtBJCLID.Enabled = false;
}
txtCLMC.Enabled = false;
txtWHR.Enabled = false;
datWHSJ.Enabled = false;
txtZZSL.Enabled = false;
datYXQS.Enabled = false;
datYXQZ.Enabled = false;
btnBL.Enabled = ControlState == TControlState.ctsBrowse;
if (ControlState == TControlState.ctsEdit)
{
set_BeforeEdit();
}
/*
当设置为0|不限时,无税材料价格、含税材料价格、无税采购价格、含税采购价格都能改。
当设置为1|材料行情时,只能修改无税材料价格、含税材料价格这两项。
当设置为2|采购行情时,只能修改无税采购价格、含税采购价格这两项。
*/
string sBJU013 = GetOption("BJU013");
if (ControlState == TControlState.ctsEdit)
{
if (sBJU013.Equals("1"))
{
if (lblWSCGJG.Visible)
{
txtWSCGJG.Enabled = false;
txtHSCGJG.Enabled = false;
}
}
else if (sBJU013.Equals("2"))
{
txtWSJG.Enabled = false;
txtHSJG.Enabled = false;
}
}
if (ControlState == TControlState.ctsBrowse)
{
string sBDQK = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ ");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pRQ").Value = DateTime.Now.ToShortDateString();
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet dsCLHQ = dberp.OpenDataSet(SQL);
if (dsCLHQ.Tables[0].Rows.Count > 0)
{
sBDQK = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
if (!sBDQK.Equals(""))
{
lblWHSJ.ToolTip = sBDQK.Replace("|", "\r\n");
}
}
}
}
protected override void LoadRecord()
{
if (!IsPostBack)
{
if (string.IsNullOrEmpty(PageParam.GetRTrimString("XLXSCLHQ_BJCLID")))
{
entity.Param.Add("OLD_XLXSCLHQ_BJCLID", "");
}
else
{
entity.Param.Add("OLD_XLXSCLHQ_BJCLID", PageParam.GetRTrimString("XLXSCLHQ_BJCLID"));
}
if (string.IsNullOrEmpty(PageParam.GetRTrimString("XLXSCLHQ_YXQS")))
{
entity.Param.Add("OLD_XLXSCLHQ_YXQS", "");
}
else
{
entity.Param.Add("OLD_XLXSCLHQ_YXQS", PageParam.GetRTrimString("XLXSCLHQ_YXQS"));
}
}
else
{
entity.Param.Add("OLD_XLXSCLHQ_BJCLID", txtOLD_BJCLID.Value);
entity.Param.Add("OLD_XLXSCLHQ_YXQS", txtOLD_YXQS.Value);
}
base.LoadRecord();
txtOLD_YXQS.Value = datYXQS.Text.Trim();
txtOLD_YXQZ.Value = datYXQZ.Text.Trim();
txtOLD_BJCLID.Value = txtBJCLID.Text.Trim();
txtZT.Value = "";
txtBJCLID_TextChanged(null, null);
}
protected override void OnNewRecorder()
{
base.OnNewRecorder();
datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now);
}
protected override void OnCopyRecorder()
{
datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now);
}
protected override bool DataLogicValid()
{
if (!base.DataLogicValid()) return false;
if (txtHSJG.Value < 0)
{
ShowMessage("含税材料价格不允许小于0!");
return false;
}
if (txtWSJG.Value < 0)
{
ShowMessage("无税材料价格不允许小于0!");
return false;
}
//if (txtHSJGF.Value < 0)
//{
// ShowMessage("含税加工费不允许小于0!");
// return false;
//}
//if(txtWSJGF.Value < 0)
//{
// ShowMessage("无税加工费不允许小于0!");
// return false;
//}
if (txtHSCGJG.Value < 0)
{
ShowMessage("含税采购价格不允许小于0!");
return false;
}
if (txtWSCGJG.Value < 0)
{
ShowMessage("无税采购价格不允许小于0!");
return false;
}
if (txtZZSL.Value < 0)
{
ShowMessage("增值税率不允许小于0!");
return false;
}
if (!CMISproDataBase.ExistsRecord("DBERP", "select 1 from XLXSBJCL where XLXSBJCL_BJCLID='" + txtBJCLID.Text.Trim() + "' "))
{
ShowMessage("报价材料不存在,不允许保存!");
return false;
}
if (txtZT.Value.Equals("BL"))
{
if (CMISproConvert.StrToDateTime(datYXQS.Text) >= CMISproConvert.StrToDateTime((datYXQZ.Text)))
{
ShowMessage("有效期始必须小于有效期止!");
return false;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJCL_JGYBJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID and isnull(XLXSBJCL_JGYBJCLID,' ') <> ' ' ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim();
DataSet dsBJCL = dberp.OpenDataSet(SQL);
if (dsBJCL.Tables[0].Rows.Count > 0)
{
string sJGYLID = dsBJCL.Tables[0].Rows[0]["XLXSBJCL_JGYBJCLID"].ToString().Trim();
SQL.Clear();
SQL.Add(" select XLXSCLHQ_YXQS ");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID ");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select min(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" )");
SQL.ParamByName("pBJCLID").Value = sJGYLID;
DataSet dsJGYL = dberp.OpenDataSet(SQL);
if (dsJGYL.Tables[0].Rows.Count > 0)
{
DateTime YXQS = CMISproConvert.StrToDateTime(dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim());
if (CMISproConvert.StrToDateTime(datYXQS.Text) < YXQS)
{
ShowMessage("有效期始必须大于或等于加工原料的最小有效期始!");
return false;
}
}
}
}
return true;
}
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
{
if (!base.Master_BeforeSaveAction(sender, e)) return false;
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
if ((ControlState == TControlState.ctsInsert) || (ControlState == TControlState.ctsCopy))
{
}
return true;
}
protected override void BeforeSave(TDatabase db, ref bool ActionIsDone)
{
base.BeforeSave(db, ref ActionIsDone);
}
protected override void AfterSave(TDatabase db, ref bool ActionIsDone)
{
if (ControlState == TControlState.ctsEdit)
{
try
{
string sBDQK = "";
string sUserName = tSession.UserName;
string sHSJE = "";
string sWHSJ = DateTime.Now.ToString().Trim();
//加工料材料
string sJGLBJCL = "";
//标志,用以区分直接编辑加工料还是联动
int flag = 0;
TSQL SQL = new TSQL(db);
SQL.Clear();
SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC from XLXSBJCL where (XLXSBJCL_BJCLID = :pBJCLID or XLXSBJCL_JGYBJCLID = :pBJCLID) order by XLXSBJCL_JGYBJCLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim();
DataSet dsBJCL = db.OpenDataSet(SQL);
if (dsBJCL.Tables[0].Rows.Count > 0)
{
//判断并且先处理 加工原料 铜
for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++)
{
if (dsBJCL.Tables[0].Rows[i]["XLXSBJCL_JGYBJCLID"].ToString().Trim().Equals(""))
{
flag = 1;
SQL.Clear();
//查询是否存在当日记录
SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = db.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK);
SQL.Clear();
SQL.Add(" update XLXSCLHQ ");
SQL.Add(" set XLXSCLHQ_WSJG = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG=:XLXSCLHQ_HSJG, ");
SQL.Add(" XLXSCLHQ_WSCGJG=:XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG=:XLXSCLHQ_HSCGJG,");
SQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,");
SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ = :XLXSCLHQ_YXQZ, XLXSCLHQ_BZ = :XLXSCLHQ_BZ, XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ");
SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK;
SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text;
SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text;
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
db.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG, XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,");
SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG, :XLXSCLHQ_YXQS, :XLXSCLHQ_YXQZ,");
SQL.Add(" :XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )");
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text;
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim();
db.ExecSQL(SQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSCLHQ_YXQZ is null ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
db.ExecSQL(SQL);
}
}
}
string sJGLBJCLID = "";
string sJGLWLBJCLID = "";
for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++)
{
sJGLBJCLID = dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim();
if (!dsBJCL.Tables[0].Rows[i]["XLXSBJCL_JGYBJCLID"].ToString().Trim().Equals(""))
{
//直接编辑铜丝导致数据变更----编辑了加工费
if (0 == flag)
{
SQL.Clear();
//查询是否存在当日记录
SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = db.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK);
SQL.Clear();
SQL.Add(" update XLXSCLHQ ");
SQL.Add(" set XLXSCLHQ_WSJG = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG=:XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF=:XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF=:XLXSCLHQ_WSJGF, ");
SQL.Add(" XLXSCLHQ_WSCGJG=:XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG=:XLXSCLHQ_HSCGJG,XLXSCLHQ_HSJG1=:XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1=:XLXSCLHQ_WSJG1,");
SQL.Add(" XLXSCLHQ_JGBL1=:XLXSCLHQ_JGBL1,XLXSCLHQ_JGYBJCLID1=:XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,");
SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ = :XLXSCLHQ_YXQZ, XLXSCLHQ_BZ = :XLXSCLHQ_BZ, XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ");
SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("XLXSCLHQ_WSJGF").Value = txtWSJGF.Value;
SQL.ParamByName("XLXSCLHQ_HSJGF").Value = txtHSJGF.Value;
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG1").Value = CMISproConvert.StrToFloat(txtJGYLHSJG1.Value);
SQL.ParamByName("XLXSCLHQ_WSJG1").Value = CMISproConvert.StrToFloat(txtJGYLWSJG1.Value);
SQL.ParamByName("XLXSCLHQ_JGBL1").Value = CMISproConvert.StrToFloat(txtJGBL1.Value);
SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtJGYBJCLID1.Value.Trim();
SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK;
SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text;
SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text;
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
db.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG, XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,");
SQL.Add(" XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG, :XLXSCLHQ_WSJGF, :XLXSCLHQ_HSJGF,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG, :XLXSCLHQ_YXQS, :XLXSCLHQ_YXQZ,");
SQL.Add(" :XLXSCLHQ_HSJG1,:XLXSCLHQ_WSJG1,:XLXSCLHQ_JGBL1,:XLXSCLHQ_JGYBJCLID1,:XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )");
SQL.ParamByName("XLXSCLHQ_WSJGF").Value = txtWSJGF.Value;
SQL.ParamByName("XLXSCLHQ_HSJGF").Value = txtHSJGF.Value;
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG1").Value = CMISproConvert.StrToFloat(txtJGYLHSJG1.Value);
SQL.ParamByName("XLXSCLHQ_WSJG1").Value = CMISproConvert.StrToFloat(txtJGYLWSJG1.Value);
SQL.ParamByName("XLXSCLHQ_JGBL1").Value = CMISproConvert.StrToFloat(txtJGBL1.Value);
SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtJGYBJCLID1.Value.Trim();
SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text;
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim();
db.ExecSQL(SQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSCLHQ_YXQZ is null ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
db.ExecSQL(SQL);
}
}
//编辑铜导致铜丝数据变更
else
{
sJGLBJCL = sJGLBJCL + dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim() + "、";
SQL.Clear();
//查询是否存在当日记录
SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
DataSet ds = db.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK);
SQL.Clear();
SQL.Add(" update XLXSCLHQ ");
SQL.Add(" set XLXSCLHQ_WSJG1 = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG1=:XLXSCLHQ_HSJG, ");
SQL.Add(" XLXSCLHQ_WSCGJG = (:XLXSCLHQ_WSCGJG+XLXSCLHQ_WSJGF),XLXSCLHQ_HSCGJG=(:XLXSCLHQ_HSCGJG+XLXSCLHQ_HSJGF), ");
SQL.Add(" XLXSCLHQ_JGYBJCLID1=:XLXSCLHQ_JGYBJCLID1,");
SQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,");
SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ");
SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK;
SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text;
SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text;
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
db.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF, ");
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1,XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
SQL.Add(" SELECT :pBJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG, ");
SQL.Add(" :XLXSCLHQ_WSCGJG + isnull(XLXSCLHQ_WSJGF,0),:XLXSCLHQ_HSCGJG + isnull(XLXSCLHQ_HSJGF,0),");
SQL.Add(" isnull(XLXSCLHQ_WSJGF,0), isnull(XLXSCLHQ_HSJGF,0), ");
SQL.Add(" :XLXSCLHQ_JGYBJCLID1, isnull(XLXSCLHQ_JGBL1,0), ");
SQL.Add(" :pYXQS, :XLXSCLHQ_YXQZ,:XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ ");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,0,:pYXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSCLHQ_YXQZ is null ");
SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSCLHQ_BZ").Value = "";
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
db.ExecSQL(SQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSCLHQ_YXQZ is null ");
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
db.ExecSQL(SQL);
}
//更新或插入后处理加工料的HSJG、WSJG
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_WSJG=XLXSCLHQ_WSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_WSJGF, ");
SQL.Add(" XLXSCLHQ_HSJG=XLXSCLHQ_HSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_HSJGF ");
SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
db.ExecSQL(SQL);
// sJGLBJCLID = dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim();
//补充----同步调整对应的物料行情
SQL.Clear();
SQL.Add(" SELECT XLXSBJCLWL_WLID,XLXSBJCLWL_BJCLID,XLXSBJCL_BJCLMC FROM XLXSBJCLWL ");
SQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID ");
SQL.Add(" WHERE 1 = 1 AND isnull(XLXSBJCL_BJCLMC, ' ')<> ' ' and XLXSBJCL_BJHQ = '2' and isnull(XLXSBJCL_JGYBJCLID,' ') <> ' ' ");
DataSet dsBJCLWL = db.OpenDataSet(SQL);
if (dsBJCLWL.Tables[0].Rows.Count > 0)
{
for (int j = 0; j < dsBJCLWL.Tables[0].Rows.Count; j++)
{
if (dsBJCLWL.Tables[0].Rows[j]["XLXSBJCLWL_BJCLID"].ToString().Trim().Equals(sJGLBJCLID))
{
if (!sJGLWLBJCLID.Contains(dsBJCLWL.Tables[0].Rows[j]["XLXSBJCL_BJCLMC"].ToString().Trim()))
{
sJGLWLBJCLID = sJGLWLBJCLID + dsBJCLWL.Tables[0].Rows[j]["XLXSBJCL_BJCLMC"].ToString().Trim() + "、";
}
string sWLID = dsBJCLWL.Tables[0].Rows[j]["XLXSBJCLWL_WLID"].ToString().Trim();
SQL.Clear();
//查询是否存在插入记录
SQL.Add("select 1 from XLXSWLHQ where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pWLID").Value = sWLID;
DataSet dsWLHQ = db.OpenDataSet(SQL);
if (dsWLHQ.Tables[0].Rows.Count > 0)
{
SQL.Clear();
SQL.Add(" update XLXSWLHQ ");
SQL.Add(" set XLXSWLHQ_WSJG1 = :XLXSWLHQ_WSJG,XLXSWLHQ_HSJG1=:XLXSWLHQ_HSJG, ");
SQL.Add(" XLXSWLHQ_WSCGJG = (:XLXSWLHQ_WSCGJG + XLXSWLHQ_WSJGF),XLXSWLHQ_HSCGJG=(:XLXSWLHQ_HSCGJG + XLXSWLHQ_HSJGF), ");
SQL.Add(" XLXSWLHQ_JGYBJCLID1=:XLXSWLHQ_JGYBJCLID1,");
SQL.Add(" XLXSWLHQ_YXQS = :XLXSWLHQ_YXQS, XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ");
SQL.Add(" where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
SQL.ParamByName("XLXSWLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSWLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSWLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSWLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSWLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("XLXSWLHQ_YXQS").Value = datYXQS.Text;
SQL.ParamByName("XLXSWLHQ_WHR").Value = txtWHR.Text;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = txtWHRID.Value;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = datWHSJ.Text;
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pWLID").Value = sWLID;
db.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSWLHQ( ");
SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID, XLXSWLHQ_WSJG1,XLXSWLHQ_HSJG1, XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,");
SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_JGBL1,XLXSWLHQ_YXQS, XLXSWLHQ_YXQZ, XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ)");
SQL.Add(" SELECT ");
SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_WSJG,:XLXSWLHQ_HSJG,");
SQL.Add(" isnull(XLXSWLHQ_WSJGF,0),isnull(XLXSWLHQ_HSJGF,0), ");
SQL.Add(" :XLXSWLHQ_WSCGJG + isnull(XLXSWLHQ_WSJGF,0),:XLXSWLHQ_HSCGJG + isnull(XLXSWLHQ_HSJGF,0),");
SQL.Add(" :XLXSWLHQ_JGYBJCLID1,isnull(XLXSWLHQ_JGBL1,0), ");
SQL.Add(" :XLXSWLHQ_YXQS, :XLXSWLHQ_YXQZ,:XLXSWLHQ_BZ, :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ ");
SQL.Add(" from XLXSWLHQ ");
SQL.Add(" where XLXSWLHQ_JGBID=' '");
SQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID");
SQL.Add(" and XLXSWLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSWLHQ");
SQL.Add(" where XLXSWLHQ_JGBID=' ' ");
SQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID");
SQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,0,:XLXSWLHQ_YXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSWLHQ_YXQZ is null ");
SQL.ParamByName("XLXSWLHQ_WSJG").Value = txtWSJG.Value;
SQL.ParamByName("XLXSWLHQ_HSJG").Value = txtHSJG.Value;
SQL.ParamByName("XLXSWLHQ_WSCGJG").Value = txtWSCGJG.Value;
SQL.ParamByName("XLXSWLHQ_HSCGJG").Value = txtHSCGJG.Value;
SQL.ParamByName("XLXSWLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("XLXSWLHQ_YXQS").Value = datYXQS.Text;
if (datYXQZ.Text.Equals(""))
{
SQL.ParamByName("XLXSWLHQ_YXQZ").Clear();
}
else
{
SQL.ParamByName("XLXSWLHQ_YXQZ").Value = datYXQZ.Text;
}
SQL.ParamByName("XLXSWLHQ_WHR").Value = txtWHR.Text;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = txtWHRID.Value;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = datWHSJ.Text;
SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID;
db.ExecSQL(SQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
SQL.Clear();
SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
SQL.Add(" where XLXSWLHQ_JGBID=' '");
SQL.Add(" and XLXSWLHQ_WLID=:pWLID");
SQL.Add(" and XLXSWLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSWLHQ");
SQL.Add(" where XLXSWLHQ_JGBID=' ' ");
SQL.Add(" and XLXSWLHQ_WLID=:pWLID");
SQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
SQL.Add(" )");
SQL.Add(" and XLXSWLHQ_YXQZ is null ");
SQL.ParamByName("pWLID").Value = sWLID;
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
db.ExecSQL(SQL);
}
//更新或插入后处理加工料的HSJG、WSJG
SQL.Clear();
SQL.Add(" update XLXSWLHQ set XLXSWLHQ_WSJG=XLXSWLHQ_WSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_WSJGF, ");
SQL.Add(" XLXSWLHQ_HSJG=XLXSWLHQ_HSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_HSJGF ");
SQL.Add(" where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim();
SQL.ParamByName("pWLID").Value = sWLID;
db.ExecSQL(SQL);
}
}
}
}
}
}
sJGLBJCL = sJGLBJCL.TrimEnd('、');
sJGLWLBJCLID = sJGLWLBJCLID.TrimEnd('、');
if (!sJGLBJCL.Equals("") && !sJGLWLBJCLID.Equals(""))
{
ShowMessage("已同步调整" + sJGLBJCL + "的材料价格!" + "\r\n" + "已同步调整" + sJGLWLBJCLID + "的对应物料价格!");
}
else if (!sJGLBJCL.Equals(""))
{
ShowMessage("已同步调整" + sJGLBJCL + "的材料价格!");
}
else if (!sJGLWLBJCLID.Equals(""))
{
ShowMessage("已同步调整" + sJGLWLBJCLID + "的对应物料价格!");
}
}
}
catch (Exception ex)
{
ShowMessage("调整材料行情出现异常,请联系系统管理员!" + ex);
}
}
base.AfterSave(db, ref ActionIsDone);
}
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
{
txtOLD_YXQS.Value = datYXQS.Text.Trim();
txtOLD_YXQZ.Value = datYXQZ.Text.Trim();
txtOLD_BJCLID.Value = txtBJCLID.Text.Trim();
InitControls();
LoadRecord();
RefreshForm();
SetControlState();
FormAreaUpdate();
MenuAreaUpdate();
return base.Master_AfterSaveAction(sender, e);
}
protected override string CodeClass(string ComponentID)
{
string sResult = base.CodeClass(ComponentID);
if (ComponentID.Trim().ToUpper().Equals("TXTBJCLID"))
{
sResult += "!!select XLXSBJCL_BJCLID as CODE,"
+ " XLXSBJCL_BJCLMC as MESSAGE "
+ " from XLXSBJCL "
+ " where isnull(XLXSBJCL_BJCLMC,' ')<>' ' "
+ " order by CODE";
}
return sResult;
}
protected override bool Master_BeforeEditAction(object sender, EventArgs e)
{
string sSQL = @"select 1 from XLXSBJCL where XLXSBJCL_BJCLID = '" + txtBJCLID.Text.Trim()+ "' and XLXSBJCL_SFQR='N' ";
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("报价材料未确认,不允许编辑!");
return false;
}
return base.Master_BeforeEditAction(sender, e);
}
#endregion
#region 自定义函数
private void InitControls()
{
if (!txtBJCLID.Text.Trim().Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim();
DataSet dsBJCL = dberp.OpenDataSet(SQL);
if (dsBJCL.Tables[0].Rows.Count > 0)
{
//加工原料 铜
if (dsBJCL.Tables[0].Rows[0][0].ToString().Trim().Equals(""))
{
lblWSJGF.Visible = false;
txtWSJGF.Visible = false;
lblWSJGFRMB.Visible = false;
lblWSCGJG.Visible = true;
txtWSCGJG.Style["display"] = "block";
lblWSCGJGRMB.Visible = true;
lblHSJGF.Visible = false;
txtHSJGF.Visible = false;
lblHSJGFRMB.Visible = false;
lblHSCGJG.Visible = true;
txtHSCGJG.Style["display"] = "block";
lblHSCGJGRMB.Visible = true;
}
//加工料 铜丝
else
{
txtWSJG.Enabled = false;
txtWSJG.ReadOnly = true;
txtHSJG.Enabled = false;
txtHSJG.ReadOnly = true;
lblWSJGF.Visible = true;
txtWSJGF.Visible = true;
lblWSJGFRMB.Visible = true;
lblWSCGJG.Visible = false;
txtWSCGJG.Style["display"] = "none";
lblWSCGJGRMB.Visible = false;
lblHSJGF.Visible = true;
txtHSJGF.Visible = true;
lblHSJGFRMB.Visible = true;
lblHSCGJG.Visible = false;
txtHSCGJG.Style["display"] = "none";
lblHSCGJGRMB.Visible = false;
}
}
else
{
lblWSJGF.Visible = false;
txtWSJGF.Visible = false;
lblWSJGFRMB.Visible = false;
lblWSCGJG.Visible = true;
txtWSCGJG.Style["display"] = "block";
lblWSCGJGRMB.Visible = true;
lblHSJGF.Visible = false;
txtHSJGF.Visible = false;
lblHSJGFRMB.Visible = false;
lblHSCGJG.Visible = true;
txtHSCGJG.Style["display"] = "block";
lblHSCGJGRMB.Visible = true;
}
}
}
private void set_BeforeEdit()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim();
DataSet dsBJCL = dberp.OpenDataSet(SQL);
if (dsBJCL.Tables[0].Rows.Count > 0)
{
txtJGYBJCLID1.Value = dsBJCL.Tables[0].Rows[0][0].ToString().Trim();
//加工原料 铜
if (txtJGYBJCLID1.Value.Trim().Equals(""))
{
SQL.Clear();
SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID ");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS");
SQL.Add(" )");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtHSJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim());
txtWSJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim());
txtHSCGJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim());
txtWSCGJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim());
}
}
else
{
SQL.Clear();
SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID ");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS");
SQL.Add(" )");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString();
DataSet dsJGL = dberp.OpenDataSet(SQL);
if (dsJGL.Tables[0].Rows.Count > 0)
{
txtHSJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim());
txtWSJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim());
txtHSCGJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim());
txtWSCGJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim());
}
SQL.ParamByName("pBJCLID").Clear();
SQL.ParamByName("pYXQS").Clear();
SQL.ParamByName("pBJCLID").Value = txtJGYBJCLID1.Value.Trim();
SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString();
DataSet dsJGYL = dberp.OpenDataSet(SQL);
if (dsJGYL.Tables[0].Rows.Count > 0)
{
txtJGYLHSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
txtJGYLWSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim();
txtJGBL1.Value = "1";
txtJGYLHSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim();
txtJGYLWSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim();
}
}
}
datYXQS.Text = DateTime.Now.ToShortDateString();
datYXQZ.Text = "";
if (txtZT.Value.Equals("BL"))
{
SQL.Clear();
SQL.Add(" select XLXSCLHQ_YXQS ");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID ");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select min(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" )");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet dsBL = dberp.OpenDataSet(SQL);
if (dsBL.Tables[0].Rows.Count > 0)
{
DateTime YXQS = CMISproConvert.StrToDateTime(dsBL.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim());
YXQS = YXQS.AddDays(-1);
datYXQS.Text = "";
datYXQS.Enabled = true;
datYXQZ.Text = YXQS.ToShortDateString().Trim();
}
}
}
public static void GetBDQK(string sWHSJ, string sUserName, string sHSJE, ref string sBDQK)
{
if (sBDQK.Equals(""))
{
sBDQK = sWHSJ + " " + sUserName.PadRight(10, ' ') + " " + "含税价格:" + sHSJE;
}
else
{
sBDQK = sBDQK + "|" + sWHSJ + " " + sUserName.PadRight(10, ' ') + " " + "含税价格:" + sHSJE;
}
int lenth = System.Text.Encoding.Default.GetBytes(sBDQK.ToCharArray()).Length;
if (lenth > 1000)
{
int index = sBDQK.IndexOf("|");
sBDQK = sBDQK.Substring(index + 1);
}
}
#endregion
#region 控件事件
protected void txtBJCLID_TextChanged(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select XLXSBJCL_BJCLMC,XLXSBJCL_ZZSL from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtCLMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim();
txtZZSL.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][1].ToString().Trim());
}
else
{
txtCLMC.Text = "";
txtZZSL.Value = 0.0;
}
}
//材料价格
protected void txtWSJG_OnTextChanged(object sender, EventArgs e)
{
txtHSJG.Value = NumberUtils.RoundX(txtWSJG.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
}
protected void txtHSJG_OnTextChanged(object sender, EventArgs e)
{
txtWSJG.Value = NumberUtils.RoundX(txtHSJG.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
}
//加工费
protected void txtWSJGF_OnTextChanged(object sender, EventArgs e)
{
txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtHSJGF.Value = NumberUtils.RoundX(txtWSJGF.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
}
protected void txtHSJGF_OnTextChanged(object sender, EventArgs e)
{
txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtWSJGF.Value = NumberUtils.RoundX(txtHSJGF.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
}
protected void txtWSCGJG_OnTextChanged(object sender, EventArgs e)
{
txtHSCGJG.Value = NumberUtils.RoundX(txtWSCGJG.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
}
protected void txtHSCGJG_OnTextChanged(object sender, EventArgs e)
{
txtWSCGJG.Value = NumberUtils.RoundX(txtHSCGJG.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal);
}
protected void datYXQS_OnTextChanged(object sender, EventArgs e)
{
if (txtZT.Value.Equals("BL") && !txtJGYBJCLID1.Value.Trim().Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG");
SQL.Add(" from XLXSCLHQ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID ");
SQL.Add(" and XLXSCLHQ_YXQS=");
SQL.Add(" (");
SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSCLHQ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS");
SQL.Add(" )");
SQL.ParamByName("pBJCLID").Value = txtJGYBJCLID1.Value.Trim();
SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim();
DataSet dsJGYL = dberp.OpenDataSet(SQL);
if (dsJGYL.Tables[0].Rows.Count > 0)
{
txtJGYLHSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
txtJGYLWSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim();
txtJGBL1.Value = "1";
txtJGYLHSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim();
txtJGYLWSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim();
txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal);
txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal);
}
}
}
#endregion
}
}