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

512 lines
28 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_PUBLIC;
using GThinking.N_WORKFLOW;
using System.Text;
using GThinking.N_MISPRO.MISPROAS;
using System.Collections.Generic;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO.TableCache;
namespace GThinking.N_XLXSBJ
{
public partial class WXXLCJDMXList : SingleGridBase
{
WXXLCJDMX entity = new WXXLCJDMX();
int iXSWS = 5;
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860099;
this.UMName = "线缆销售价格表查价单";
this.CurMaster = Master;
this.ModuleGV = grdWXXLCJD;
this.CurEntity = entity;
this.PageHeight = 600;
this.PageWidth = 750;
base.DataKeyNames = new string[] { "WXXLCJDMX_CJBH" };
this.Master.EnableAttachBtn = false;
this.Master.EnableCopyBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableNewBtn = false;
this.Master.EnableQueryBtn = false;
this.Master.EnableViewBtn = false;
iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
if (!IsPostBack)
{
if (PageParam.GetRTrimString("BJDID").Equals(""))
btnDR.Visible = false;
}
grdWXXLCJD.FindColumnExByFieldName("WXXLCJDMX_JGBBJ").NumberDecimalPlace = iXSWS;
grdWXXLCJD.FindColumnExByFieldName("WXXLCJDMX_FDHJG").NumberDecimalPlace = iXSWS;
base.InitPage();
this.ModuleGV.OnClientDblClick = "return false;";
if (!IsPostBack)
{
InitControl();
Master_OnStandardQuery(null, null);
}
}
#region 模板继承事件
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
entity.EntityTable.QuerySelSql = GetQuerySQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdWXXLCJD, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
entity.EntityTable.QuerySelSql = GetQuerySQL();
grdWXXLCJD.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
return base.Master_BeforeDeleteAction(sender, e);
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e)) { return false; }
entity.EntityTable.QuerySelSql = GetQuerySQL();
entity.GridDataBind(grdWXXLCJD, tSession);
grdWXXLCJD.SelectedIndex = -1;
return true;
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义事件
private string GetQuerySQL()
{
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine("select WXXLCJDMX_CJBH ,WXXLCJDMX_XH,WXXLCJDMX_XLXHID,WXXLCJDMX_XLGGID,WXXLCJDMX_DYDJID,WXXLCJDMX_JLDW,WXXLCJDMX_CJSL,WXXLCJDMX_JGBBJ,WXXLCJDMX_FDBL,");
sSQL.AppendLine(" CASE ISNULL(WXXLCJDMX_XLBZID,' ') WHEN ' ' THEN ' ' ELSE rtrim(WXXLCJDMX_XLBZID) || '|' || XLBZ_XLBZLXMC END AS WXXLCJDMX_XLBZID,WXXLCJDMX_FDHJG,WXXLCJDMX_FDHJE");
sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ01,XLXSCJDYZZ0_YZZ02,XLXSCJDYZZ0_YZZ03,XLXSCJDYZZ0_YZZ04,XLXSCJDYZZ0_YZZ05 ");
sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ06,XLXSCJDYZZ0_YZZ07,XLXSCJDYZZ0_YZZ08,XLXSCJDYZZ0_YZZ09,XLXSCJDYZZ0_YZZ10 ");
sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ11,XLXSCJDYZZ0_YZZ12,XLXSCJDYZZ0_YZZ13,XLXSCJDYZZ0_YZZ14,XLXSCJDYZZ0_YZZ15 ");
sSQL.AppendLine(" ,XLXSCJDYZZ0_YZZ16,XLXSCJDYZZ0_YZZ17,XLXSCJDYZZ0_YZZ18,XLXSCJDYZZ0_YZZ19,XLXSCJDYZZ0_YZZ20 ");
sSQL.AppendLine(" from WXXLCJDMX ");
sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = WXXLCJDMX_XLBZID ");
sSQL.AppendLine(" left join XLXSCJDYZZ0 on XLXSCJDYZZ0_CJBH = WXXLCJDMX_CJBH and XLXSCJDYZZ0_XH=WXXLCJDMX_XH ");
sSQL.AppendLine(" where WXXLCJDMX_CJBH=:WXXLCJDMX_CJBH ");
entity.Param.Add("WXXLCJDMX_CJBH", PageParam.GetRTrimString("CJBH"));
sSQL.AppendLine(" order by WXXLCJDMX_CJBH,WXXLCJDMX_XH");
return sSQL.ToString();
}
protected void btnDR_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sErrorNum = "";
SQL.Clear();
SQL.Add(" SELECT WXXLCJDMX_XLXHID,WXXLCJDMX_XLGGID,WXXLCJDMX_DYDJID,WXXLCJDMX_XLBZID,WXXLCJDMX_CJSL,WXXLCJDMX_JLDW ");
SQL.Add(" ,XLXSCJDYZZ0_YZZ01,XLXSCJDYZZ0_YZZ02,XLXSCJDYZZ0_YZZ03,XLXSCJDYZZ0_YZZ04,XLXSCJDYZZ0_YZZ05 ");
SQL.Add(" ,XLXSCJDYZZ0_YZZ06,XLXSCJDYZZ0_YZZ07,XLXSCJDYZZ0_YZZ08,XLXSCJDYZZ0_YZZ09,XLXSCJDYZZ0_YZZ10 ");
SQL.Add(" ,XLXSCJDYZZ0_YZZ11,XLXSCJDYZZ0_YZZ12,XLXSCJDYZZ0_YZZ13,XLXSCJDYZZ0_YZZ14,XLXSCJDYZZ0_YZZ15 ");
SQL.Add(" ,XLXSCJDYZZ0_YZZ16,XLXSCJDYZZ0_YZZ17,XLXSCJDYZZ0_YZZ18,XLXSCJDYZZ0_YZZ19,XLXSCJDYZZ0_YZZ20 ");
SQL.Add(" FROM WXXLCJDMX ");
SQL.Add(" left join XLXSCJDYZZ0 on XLXSCJDYZZ0_CJBH = WXXLCJDMX_CJBH and XLXSCJDYZZ0_XH=WXXLCJDMX_XH ");
SQL.Add(" WHERE 1=1 AND WXXLCJDMX_CJBH = :pCJBH ");
SQL.ParamByName("pCJBH").Value = PageParam.GetRTrimString("CJBH");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
try
{
string sBJDID = PageParam.GetRTrimString("BJDID");
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + PageParam.GetRTrimString("BJDID") + "'");
int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + PageParam.GetRTrimString("BJDID") + "'");
string sXLXHID = "", sXLGGID = "", sST = "", sDYDJ = "";
string sJLDW = "";//计量单位
string sBJCP = "";
TSQL sSQL = new TSQL(dberp);
int iStartXH = 0;
string sBJU003 = GetOption(100860000, "BJU003");
dberp.BeginTrans();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sXLXHID = ds.Tables[0].Rows[i]["WXXLCJDMX_XLXHID"].ToString().Trim();
sXLGGID = ds.Tables[0].Rows[i]["WXXLCJDMX_XLGGID"].ToString().Trim();
sJLDW = ds.Tables[0].Rows[i]["WXXLCJDMX_JLDW"].ToString().Trim();
if (sJLDW.Equals(""))
{
sJLDW = sBJU003;
}
if (sXLXHID.Equals(""))
sXLXHID = "/";
if (sXLGGID.Equals(""))
sXLGGID = "/";
sSQL.Clear();
sSQL.Add(" insert into XLXSBJDMX( ");
sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_BJCPSD,XLXSBJDMX_WGCPBZ, ");
sSQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_YXJG,XLXSBJDMX_YZ,XLXSBJDMX_YSCP,XLXSBJDMX_BJSDBZ, ");
sSQL.Add(" XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB, XLXSBJDMX_JGBBJ,XLXSBJDMX_DZSC,XLXSBJDMX_WHR,XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ,");
sSQL.Add(" XLXSBJDMX_BJJE,XLXSBJDMX_TZQBJJE,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_CLZL,");
sSQL.Add(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_WBBJDID,XLXSBJDMX_DRHH,XLXSBJDMX_WLID,XLXSBJDMX_BZ,XLXSBJDMX_CJDID) ");
sSQL.Add(" values(");
sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_BJCPSD,:XLXSBJDMX_WGCPBZ, ");
sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ,:XLXSBJDMX_YXJG,:XLXSBJDMX_YZ,:XLXSBJDMX_YSCP,:XLXSBJDMX_BJSDBZ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_JGBBJ, ");
sSQL.Add(" :XLXSBJDMX_DZSC, :XLXSBJDMX_WHR, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHSJ,:XLXSBJDMX_BJJE,:XLXSBJDMX_TZQBJJE,:XLXSBJDMX_JGBBJJCE,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_CLZL,");
sSQL.Add(" :XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL,:XLXSBJDMX_WBBJDID,:XLXSBJDMX_DRHH,:XLXSBJDMX_WLID,:XLXSBJDMX_BZ,:XLXSBJDMX_CJDID)");
iXH = iXH + 1;
iXSSX = iXSSX + 1;
if (i == 0)
{
iStartXH = iXH;
}
sST = ds.Tables[0].Rows[i]["WXXLCJDMX_XLBZID"].ToString().Trim();
sDYDJ = ds.Tables[0].Rows[i]["WXXLCJDMX_DYDJID"].ToString().Trim().Replace('K', 'k').Replace('v', 'V');
sDYDJ = sDYDJ.Equals("") ? " " : sDYDJ;
double fBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["WXXLCJDMX_CJSL"].ToString().Trim());
sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH;
sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX;
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST;
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sST;
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJ;
sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW;
sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N";
sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJ);
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP;
sSQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL;
sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0;
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N";
sSQL.ParamByName("XLXSBJDMX_YXJG").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2);
sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = NumberUtils.RoundX(fBJSL * Convert.ToDouble(sSQL.ParamByName("XLXSBJDMX_CPBJ").Value), 2);
sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CJDID").Value = PageParam.GetRTrimString("CJBH");
sSQL.ParamByName("XLXSBJDMX_WBBJDID").Value = "";
sSQL.ParamByName("XLXSBJDMX_DRHH").Value = 0;
sSQL.ParamByName("XLXSBJDMX_WLID").Value = "";
sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = "N";
sSQL.ParamByName("XLXSBJDMX_YZ").Value = "";
sSQL.ParamByName("XLXSBJDMX_YSCP").Value = "";
sSQL.ParamByName("XLXSBJDMX_BZ").Value = "";
if (XLBJDUtils.ISDZBZ(sST))
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
}
else
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
}
sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add(@"INSERT INTO XLXSBJDYZZ0
(XLXSBJDYZZ0_BJDID,XLXSBJDYZZ0_XH,XLXSBJDYZZ0_YZZ01 ,XLXSBJDYZZ0_YZZ02,XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04,XLXSBJDYZZ0_YZZ05,
XLXSBJDYZZ0_YZZ06,XLXSBJDYZZ0_YZZ07,XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09,XLXSBJDYZZ0_YZZ10,
XLXSBJDYZZ0_YZZ11,XLXSBJDYZZ0_YZZ12,XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14,XLXSBJDYZZ0_YZZ15,
XLXSBJDYZZ0_YZZ16,XLXSBJDYZZ0_YZZ17,XLXSBJDYZZ0_YZZ18 ,XLXSBJDYZZ0_YZZ19,XLXSBJDYZZ0_YZZ20)
VALUES( :XLXSBJDYZZ0_BJDID,:XLXSBJDYZZ0_XH,:XLXSBJDYZZ0_YZZ01 ,:XLXSBJDYZZ0_YZZ02,:XLXSBJDYZZ0_YZZ03,:XLXSBJDYZZ0_YZZ04,:XLXSBJDYZZ0_YZZ05,
:XLXSBJDYZZ0_YZZ06,:XLXSBJDYZZ0_YZZ07,:XLXSBJDYZZ0_YZZ08,:XLXSBJDYZZ0_YZZ09,:XLXSBJDYZZ0_YZZ10,
:XLXSBJDYZZ0_YZZ11,:XLXSBJDYZZ0_YZZ12,:XLXSBJDYZZ0_YZZ13,:XLXSBJDYZZ0_YZZ14,:XLXSBJDYZZ0_YZZ15,
:XLXSBJDYZZ0_YZZ16,:XLXSBJDYZZ0_YZZ17,:XLXSBJDYZZ0_YZZ18 ,:XLXSBJDYZZ0_YZZ19,:XLXSBJDYZZ0_YZZ20)");
sSQL.ParamByName("XLXSBJDYZZ0_BJDID").Value = sBJDID;
sSQL.ParamByName("XLXSBJDYZZ0_XH").Value = iXH;
for (int z = 1; z <= 20; z++)
{
string sYZ = z.ToString().PadLeft(2, '0');
sSQL.ParamByName("XLXSBJDYZZ0_YZZ" + sYZ).Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSCJDYZZ0_YZZ" + sYZ].ToString().Trim(), 0);
}
dberp.ExecSQL(sSQL);
}
XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, sBJDID, "", iStartXH - 1, ref sErrorNum);
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, tSession, sBJDID, "", iStartXH - 1);
CalcBJDMXAfterIns(dberp, sSQL, sBJDID, iStartXH, GetOption(100860000, "BJU002"), sBJU003, GetOption(100860000, "BJU018"), tSession.UserId, tSession.UserName, ref sErrorNum);
sSQL.Clear();
sSQL.Add(" update WXXLCJD set WXXLCJD_YDRBJD='Y' where WXXLCJD_CJBH = :pCJBH ");
sSQL.ParamByName("pCJBH").Value = PageParam.GetRTrimString("CJBH");
dberp.ExecSQL(sSQL);
dberp.CommitTrans();
DialogOperationScript dos = new DialogOperationScript(this);
ShowMessage("导入成功!");
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtOpen"), "CLOSE");
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage("导入出现异常情况:" + ex.Message);
return;
}
}
else
{
ShowMessage("导入明细数量为0,请重新选择!");
CloseWindow();
}
}
private void InitControl()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
string sXCXSYYZIDLIST = GetsXCXSYYZIDLIST();
if (!sXCXSYYZIDLIST.Equals(""))
{
grdWXXLCJD.FindColumnByFieldName("WXXLCJDMX_FDBL").Visible = false;
sql.Clear();
sql.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC,XLXSTZYZ_JJFS ");
sql.Add(" from XLXSTZYZ");
sql.Add(" where XLXSTZYZ_MXBH = 'BJD' and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", sXCXSYYZIDLIST));
sql.Add(" order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID ");
DataSet ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJJFS = ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim();
string sJJ = sJJFS.Equals("JJ") ? "(元)" : (sJJFS.Equals("") ? "" : "(%)");
string sYZMC = ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJ;
string sYZID = "XLXSCJDYZZ0_YZZ" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim().Replace("BJ","");
int iDecimal = XLBJDUtils.JGBYZZDecimal;
if (sJJFS.Equals("JJ"))
iDecimal = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2);
AddColumn(sYZID, sYZMC, iDecimal, 80);
}
}
}
/// <summary>
/// 设置etNumber列的属
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdWXXLCJD.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdWXXLCJD.ColumnsEx.Insert(0, ColumnEx);
}
public static void CalcBJDMXAfterIns(TDatabase dberp, TSQL SQL, string sBJDID, int startBJDXH, string sBJU002, string sBJU003, string sBJU018, string sWHRID, string sWHR, ref string sErrMsg)
{
try
{
#region 配置信息
SQL.Clear();
SQL.Add("select XLXSBJD_JGBID,XLXSJGB_MXBH,XLXSJGB_JGBIDS,XLXSJGB_JGCIDS,XLXSJGB_BJLY,XLXSJGB_TJYS,XLXSJGB_JSBLFS, ");
SQL.Add(" XLXSBJD_BJFLID,XLXSBJFL_BJDHQLY,XLXSBJFL_TZCLHQ,XLXSBJFL_JGBTJYSS,XLXSBJFL_BJJCLLX,XLXSBJFL_LJJCLLX,XLXSBJFL_CPBJMRXSWS,XLXSBJFL_ZDXJJCLLX,XLXSBJFL_JYF,XLXSBJFL_YFWLID,XLXSBJFL_BJHYF,");
SQL.Add(" XLXSBJD_JZBJHS,XLXSBJD_BJRQ,XLXSBJFL_TZYLBL ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID ");
SQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID=XLXSBJD_BJFLID");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsBJD = dberp.OpenDataSet(SQL);
if (dsBJD.Tables[0].Rows.Count == 0)
{
throw new Exception("报价单记录不存在!");
}
int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002);
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
bool bHSBZ = dsBJD.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim().Equals("Y");
string sBJRQ = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
string sJGBID = dsBJD.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim();
string sMXBH = dsBJD.Tables[0].Rows[0]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim();
string sJGCIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
string sBJLY = dsBJD.Tables[0].Rows[0]["XLXSJGB_BJLY"].ToString().Trim();
string sTJYS = dsBJD.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim();
string sJSBLFS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JSBLFS"].ToString().Trim();
string sBJFLID = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
string sBJDHQLY = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJDHQLY"].ToString().Trim();//1|价格表行情、2|报价日行情
string sTZCLHQ = dsBJD.Tables[0].Rows[0]["XLXSBJFL_TZCLHQ"].ToString().Trim();//允许调整材料行情
string sJGBTJYSS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JGBTJYSS"].ToString().Trim();//价格表调价因素
string sJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJJCLLX"].ToString().Trim();
string sLJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_LJJCLLX"].ToString().Trim();
string sCPBJMRXSWS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_CPBJMRXSWS"].ToString().Trim();
string sZDXJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_ZDXJJCLLX"].ToString().Trim();
string sJYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JYF"].ToString().Trim();
string sYFWLID = dsBJD.Tables[0].Rows[0]["XLXSBJFL_YFWLID"].ToString().Trim();
string sBJHYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJHYF"].ToString().Trim();
string sTZCLYLBL = dsBJD.Tables[0].Rows[0]["XLXSBJFL_TZYLBL"].ToString().Trim();
#endregion
if (sTZCLYLBL.Equals("Y"))
XLBJDUtils.InsertIntoBJDCLYLBL(dberp, sBJDID, sBJFLID);
XLBJDCalcUtils.CalcBJDHQCLCB_CLCB_JGBJJ_JGBBJ(dberp, SQL, sBJDID, startBJDXH, bHSBZ, sBJRQ,
sJGBID, sMXBH, sJGBIDS, sJGCIDS, sBJLY, sTJYS, sJSBLFS,
sBJFLID, sBJDHQLY, sTZCLHQ, sJGBTJYSS,
sBJU002, sBJU003, sBJU018, sWHRID, sWHR, CalcAction.Insert, ref sErrMsg);
if (!sErrMsg.Equals(""))
{
throw new Exception(sErrMsg);
}
string sXCXSYYZIDLIST = GetsXCXSYYZIDLIST();
Dictionary<string, string> dicTJYZList = new Dictionary<string, string>();
XLBJDUtils.GetDicTJYZList(dberp, SQL, sBJFLID, "", ref dicTJYZList);
if (dicTJYZList.ContainsKey("sTJYSList_"))
{
string[] sTJYZ = dicTJYZList["sTJYSList_"].Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
string sTJZYList = "";
for (int i = 0; i < sTJYZ.Length; i++)
{
if (!sXCXSYYZIDLIST.Contains(sTJYZ[i]))
{
sTJZYList = sTJZYList + sTJYZ[i] + ",";
}
}
dicTJYZList["sTJYSList_"] = sTJZYList.TrimEnd(',');
}
XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZList, true, "", startBJDXH - 1, ref sErrMsg);
if (!sErrMsg.Equals(""))
{
throw new Exception(sErrMsg);
}
//同步报价单明细记录插入XLXSBJDCLCB、XLXSBJDJJYZ
XLBJDInfo.InsertCLCBandJJYZ(dberp, SQL, TControlState.ctsEdit, sBJDID, sJGBID, sBJRQ, sWHRID, sWHR, sBJU003, bHSBZ);
if (dberp.DriverName == "ORACLE")
{
if (dberp.InTransaction)
{
dberp.CommitTrans();
dberp.BeginTrans();
}
}
XLBJDUtils.UpdateBJDMX(dberp, SQL, sBJFLID, sBJDID, iXSWS, sJCLLX, sLJJCLLX, sCPBJMRXSWS, "", startBJDXH);
//同步补充插入XLXSCLQD、XLXSJGBMX中没有的记录,改方法已边缘化,若要保留执行需修改传入的参数tSession等,不执行无碍
//XLBJDInfo.InsertCLQDorJGBMX(dberp, SQL, txtBJDID.Value.Trim(), PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), tSession);
//更新产品目录
if (XLBJDUtils.ExistXSCPML())
{
XLBJDUtils.UpdateBJDMX_CPMLMC(sBJDID, "", startBJDXH - 1, true, ref sErrMsg);
if (!sErrMsg.Equals(""))
{
throw new Exception(sErrMsg);
}
}
if (dberp.DriverName == "ORACLE")
{
if (dberp.InTransaction)
{
dberp.CommitTrans();
dberp.BeginTrans();
}
}
XLBJDUtils.UpdateZDXJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", startBJDXH);
XLBJDUtils.UpdateJSJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", startBJDXH);
XLBJDCalcUtils.Check_UpdBJSLYZZ(dberp, SQL, sBJDID, sBJFLID, sBJU002, sBJU003);
XLBJDUtils.UpdateXLXSBJD(dberp, SQL, sBJDID, sJCLLX, sLJJCLLX, sZDXJJCLLX, sJYF, "", "", sYFWLID, sBJHYF);
}
catch (Exception ex)
{
sErrMsg = ex.Message;
throw new Exception(sErrMsg);
}
}
public static string GetsXCXSYYZIDLIST()
{
string sXCXSYYZIDLIST = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("select XLXSBJPZ_XCXSYYZIDLIST from XLXSBJPZ where XLXSBJPZ_MDID=102373000 ");
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
sXCXSYYZIDLIST = ds.Tables[0].Rows[0][0].ToString().Trim();
}
return sXCXSYYZIDLIST;
}
#endregion
}
}