637 lines
32 KiB
C#
637 lines
32 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_MODEL.Page;
|
|
using GThinking.N_WORKFLOW;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using System.Text;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_CONTROL;
|
|
using System.Drawing;
|
|
using GThinking.N_MISPRO.MISPROAS;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class XLBJD_WGCPBJList : SingleGridBase
|
|
{
|
|
XLBJD_WGCPBJ entity = new XLBJD_WGCPBJ();
|
|
|
|
int iXSWS = 5;
|
|
private string sBJDID = "";
|
|
private string sWGCPTZBZ = "";
|
|
#region 页面事件
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860000;
|
|
this.UMName = "线缆销售报价单";
|
|
this.CurMaster = Master;
|
|
this.ModuleGV = grdGrid;
|
|
this.CurEntity = entity;
|
|
|
|
this.PageHeight = 600;
|
|
this.PageWidth = 750;
|
|
|
|
base.DataKeyNames = new string[] { "XLXSBJDMX_XH", "XLXSBJDMX_WGCPBZ", "XLXSBJDMX_JLDW", "XLXSBJDMX_XLXHID","XLXSBJDMX_XLGGID","XLXSBJDMX_XLBZID","XLXSBJDMX_DYDJID" };
|
|
this.Master.EnableNewBtn = false;
|
|
this.Master.EnableEditBtn = false;
|
|
this.Master.EnableCopyBtn = false;
|
|
this.Master.EnableViewBtn = false;
|
|
this.Master.EnableDeleteBtn = false;
|
|
this.Master.EnableQueryBtn = false;
|
|
this.Master.EnableAttachBtn = false;
|
|
this.Master.EnablePrintBtn = false;
|
|
|
|
iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
|
|
if (iXSWS < 0)
|
|
{
|
|
iXSWS = 0;
|
|
}
|
|
else if (iXSWS > 8)
|
|
{
|
|
iXSWS = 8;
|
|
}
|
|
|
|
sBJDID = PageParam.GetRTrimString("BJDID");
|
|
sWGCPTZBZ = PageParam.GetRTrimString("WGCPTZBZ");
|
|
#region 无表价产品跳转-替换界面样式
|
|
if (sWGCPTZBZ == "N")
|
|
{
|
|
btnAll.Visible = false;
|
|
btnClear.Visible = false;
|
|
grdGrid.Columns[0].Visible = false;
|
|
Page.Title = "无表价产品表价";
|
|
btnDCWGCP.Caption = "导出询价";
|
|
btnDCWGCP.Width = 82;
|
|
|
|
}
|
|
#endregion
|
|
if (!IsPostBack)
|
|
{
|
|
if (!PageParam.GetRTrimString("JGBBJBM").Equals(""))
|
|
{
|
|
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJ").HeaderText = PageParam.GetRTrimString("JGBBJBM");
|
|
}
|
|
}
|
|
base.InitPage();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
txtWGCPYZZList.Value = "";//记录外购产品的因子默认值,减少后续访问数据库的次数
|
|
Dictionary<string, double> dicWGCPYZZ = XLBJDUtils.GetBJDYZZ0(PageParam.GetRTrimString("BJFLID"), true, true, GetOption("BJU003"), GetOption("BJU003"), "", "", "", "", sBJDID);
|
|
foreach (string sYZID in dicWGCPYZZ.Keys)
|
|
{
|
|
txtWGCPYZZList.Value += sYZID + "|" + dicWGCPYZZ[sYZID].ToString() + ",";
|
|
}
|
|
txtWGCPYZZList.Value = txtWGCPYZZList.Value.TrimEnd(',');
|
|
|
|
txtFWGCPYZZList.Value = "";//记录非外购产品因子默认值,减少后续访问数据库的次数
|
|
Dictionary<string, double> dicFWGCPYZZ = XLBJDUtils.GetBJDYZZ0(PageParam.GetRTrimString("BJFLID"), false, true, GetOption("BJU003"), GetOption("BJU003"), "", "", "", "", sBJDID);
|
|
foreach (string sYZID in dicFWGCPYZZ.Keys)
|
|
{
|
|
txtFWGCPYZZList.Value += sYZID + "|" + dicFWGCPYZZ[sYZID].ToString() + ",";
|
|
}
|
|
txtFWGCPYZZList.Value = txtFWGCPYZZList.Value.TrimEnd(',');
|
|
}
|
|
|
|
grdGrid.FindColumnExByFieldName("XLXSBJDMX_JGBBJ").NumberDecimalPlace = iXSWS;
|
|
this.ModuleGV.OnClientDblClick = "return false;";
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnStandardQuery(null, null);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 模板继承事件
|
|
|
|
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
|
{
|
|
base.Master_OnStandardQuery(sender, e);
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
entity.GridDataBind(grdGrid, tSession);
|
|
}
|
|
|
|
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
string sWGCPBZ = grdGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_WGCPBZ"].ToString().Trim();
|
|
if (sWGCPBZ.Equals("Y"))
|
|
{
|
|
((CheckBox)e.Row.Cells[0].FindControl("chkWGCP")).Checked = true;
|
|
}
|
|
else
|
|
{
|
|
((CheckBox)e.Row.Cells[0].FindControl("chkWGCP")).Checked = false;
|
|
}
|
|
|
|
}
|
|
base.moduleGV_RowDataBound(sender, e);
|
|
}
|
|
|
|
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
|
{
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
grdGrid.SelectedIndex = -1;
|
|
base.moduleGV_PageIndexChanging(sender, e);
|
|
}
|
|
#endregion
|
|
|
|
#region 自定义函数
|
|
|
|
private string GetQuerySql()
|
|
{
|
|
|
|
//弹出表价为0、外购标记为Y的报价单明细,支持导出外购产品、导入外购产品表价
|
|
StringBuilder strSQL = new StringBuilder();
|
|
entity.Param.Clear();
|
|
strSQL.AppendLine(" select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID, ");
|
|
strSQL.AppendLine(" rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZID,");
|
|
strSQL.AppendLine(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLYSID, XLXSBJDMX_CPMLMC, ");
|
|
strSQL.AppendLine(" XLXSBJDMX_BJCP,' ' as XLWLXX,");
|
|
strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,");
|
|
strSQL.AppendLine(" XLXSBJDMX_BZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,isnull(XLXSBJDMX_WGCPBZ,'N') as XLXSBJDMX_WGCPBZ ");
|
|
strSQL.AppendLine(" from XLXSBJDMX ");
|
|
strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
|
strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID ");
|
|
strSQL.AppendLine(" where 1=1 ");
|
|
strSQL.AppendLine(" and XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
|
|
strSQL.AppendLine(" and not exists (select 1 from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID ");
|
|
strSQL.AppendLine(" and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH ) ");
|
|
strSQL.AppendLine(" and ( XLXSBJDMX_JGBBJ = 0 ");
|
|
if (sWGCPTZBZ == "Y")
|
|
strSQL.AppendLine(" or isnull(XLXSBJDMX_WGCPBZ,'N') = 'Y' ");
|
|
strSQL.AppendLine(" )");
|
|
strSQL.AppendLine(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
|
|
entity.Param.Add("XLXSBJDMX_BJDID", sBJDID);
|
|
return strSQL.ToString();
|
|
}
|
|
|
|
private void UpdateWGCP(int iGridIndex)
|
|
{
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sErrMsg = "";
|
|
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
|
string sBJDXH = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XH"].ToString().Trim();
|
|
string sJLDW = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_JLDW"].ToString().Trim();
|
|
string sXLXHID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
|
string sXLGGID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
|
string sXLBZID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
|
string sDYDJID = grdGrid.DataKeys[iGridIndex]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
|
string sBJU003 = GetOption("BJU003");
|
|
double dHSBL = XLBJDUtils.GetHSBL(sJLDW, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID); ;
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDMX where XLXSBJDMX_BJDID = '{0}' and XLXSBJDMX_XH = '{1}' "
|
|
+ " and exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID "
|
|
+ " and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='{2}' ) ", sBJDID, sBJDXH, sJGFID)))
|
|
{
|
|
ShowMessage("当前报价产品已记录在外购价格表中,不允许变更外购标志!");
|
|
if (((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked)
|
|
{
|
|
((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked = false;
|
|
}
|
|
else
|
|
{
|
|
((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked = true;
|
|
}
|
|
FormAreaUpdate();
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
//此处为指定行数的数据处理
|
|
|
|
if (((CheckBox)grdGrid.Rows[iGridIndex].Cells[0].FindControl("chkWGCP")).Checked)
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'Y',XLXSBJDMX_WHR=:XLXSBJDMX_WHR,XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ ");
|
|
SQL.Add(" where 1=1 ");
|
|
SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID ");
|
|
SQL.Add(" and XLXSBJDMX_XH=:XLXSBJDMX_XH ");
|
|
SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
|
|
SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
|
SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//重置外购产品因子默认值
|
|
if (!txtWGCPYZZList.Value.Trim().Equals(""))
|
|
{
|
|
string[] sWGCPYZZ = txtWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJDYZZ0 set XLXSBJDYZZ0_XH = XLXSBJDYZZ0_XH ");
|
|
for (int m = 0; m < sWGCPYZZ.Length; m++)
|
|
{
|
|
double dHSBLtmp=1;
|
|
if (XLBJDUtils.GetYZXXByYZID(sWGCPYZZ[m].Split('|')[0].Trim()).XLXSTZYZ_JJFS == "JJ")
|
|
dHSBLtmp = dHSBL;
|
|
SQL.Add(string.Format(",XLXSBJDYZZ0_YZZ{0}={1} ", sWGCPYZZ[m].Split('|')[0].Trim().Replace("BJ", ""), dHSBLtmp * CMISproConvert.StrToFloat(sWGCPYZZ[m].Split('|')[1])));
|
|
}
|
|
SQL.Add(" where XLXSBJDYZZ0_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDYZZ0_XH=:pBJDXH ");
|
|
SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
SQL.ParamByName("pBJDXH").Value = sBJDXH;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sBJDXH, false, false, false, "", DateTime.MinValue, GetOption("BJU002"), GetOption("BJU003"), tSession.UserId, tSession.UserName, ref sErrMsg);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'N',XLXSBJDMX_WHR=:XLXSBJDMX_WHR,XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ ");
|
|
SQL.Add(" where 1=1 ");
|
|
SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID ");
|
|
SQL.Add(" and XLXSBJDMX_XH=:XLXSBJDMX_XH ");
|
|
SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
|
|
SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
|
SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//重置非外购产品因子默认值
|
|
if (!txtFWGCPYZZList.Value.Trim().Equals(""))
|
|
{
|
|
string[] sFWGCPYZZ = txtFWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSBJDYZZ0 set XLXSBJDYZZ0_XH = XLXSBJDYZZ0_XH ");
|
|
for (int m = 0; m < sFWGCPYZZ.Length; m++)
|
|
{
|
|
double dHSBLtmp = 1;
|
|
if (XLBJDUtils.GetYZXXByYZID(sFWGCPYZZ[m].Split('|')[0].Trim()).XLXSTZYZ_JJFS == "JJ")
|
|
dHSBLtmp = dHSBL;
|
|
SQL.Add(string.Format(",XLXSBJDYZZ0_YZZ{0}={1} ", sFWGCPYZZ[m].Split('|')[0].Trim().Replace("BJ", ""), dHSBLtmp * CMISproConvert.StrToFloat(sFWGCPYZZ[m].Split('|')[1])));
|
|
}
|
|
SQL.Add(" where XLXSBJDYZZ0_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDYZZ0_XH=:pBJDXH ");
|
|
SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
SQL.ParamByName("pBJDXH").Value = sBJDXH;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sBJDXH, false, false, false, "", DateTime.MinValue, GetOption("BJU002"), GetOption("BJU003"), tSession.UserId, tSession.UserName, ref sErrMsg);
|
|
}
|
|
}
|
|
|
|
dberp.CommitTrans();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(sErrMsg + " " + ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
//InitGrid();
|
|
//FormAreaUpdate();
|
|
}
|
|
#endregion
|
|
|
|
#region 导出
|
|
protected void btnDCWGCP_Click(object sender, EventArgs e)
|
|
{
|
|
string sFileName = "外购产品报价.xls";
|
|
if (sWGCPTZBZ == "N")
|
|
sFileName = "无表价产品报价.xls";
|
|
string m_tmpFilePath = FileService.CombineTempPath(sFileName);
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" select XLXSBJDMX_XSSX,XLXSBJDMX_XH,XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID, ");
|
|
SQL.Add(" rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZID,");
|
|
SQL.Add(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLYSID, ");
|
|
SQL.Add(" XLXSBJDMX_BJCP,");
|
|
SQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL , 0 as XLXSBJDMX_JGBBJ,");
|
|
SQL.Add(" ' ' as XLXSBJDMX_BZ ");
|
|
SQL.Add(" from XLXSBJDMX ");
|
|
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
|
SQL.Add(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID ");
|
|
SQL.Add(" where 1=1 ");
|
|
SQL.Add(" and XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
|
|
if (sWGCPTZBZ == "N")
|
|
{
|
|
SQL.Add(" and XLXSBJDMX_JGBBJ = 0 ");
|
|
SQL.Add(" and not exists (select 1 from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH )");
|
|
}
|
|
else
|
|
SQL.Add(" and isnull(XLXSBJDMX_WGCPBZ,'N') = 'Y' ");
|
|
SQL.Add(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
|
|
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
DataSet dsQry = new DataSet();
|
|
|
|
DataTable dt = new DataTable();
|
|
dt.TableName = "外购产品报价";
|
|
if (sWGCPTZBZ == "N")
|
|
dt.TableName = "无表价产品报价";
|
|
dt.Columns.Add("显示顺序", typeof(double));
|
|
dt.Columns.Add("型号", typeof(string));
|
|
dt.Columns.Add("规格", typeof(string));
|
|
dt.Columns.Add("标准", typeof(string));
|
|
dt.Columns.Add("电压等级", typeof(string));
|
|
dt.Columns.Add("计量单位", typeof(string));
|
|
dt.Columns.Add("颜色", typeof(string));
|
|
dt.Columns.Add("报价产品", typeof(string));
|
|
|
|
dt.Columns.Add("报价数量", typeof(double));
|
|
dt.Columns.Add("表价", typeof(double));
|
|
dt.Columns.Add("备注", typeof(string));
|
|
dt.Columns.Add("序号", typeof(double));
|
|
dsQry.Tables.Add(dt);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
DataRow dtrow = dt.NewRow();
|
|
dtrow["显示顺序"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim();
|
|
dtrow["型号"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
|
dtrow["规格"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
|
dtrow["标准"] = ds.Tables[0].Rows[i]["XLBZID"].ToString().Trim();
|
|
dtrow["电压等级"] = ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
|
|
|
dtrow["计量单位"] = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
|
|
dtrow["颜色"] = ds.Tables[0].Rows[i]["XLYSID"].ToString().Trim();
|
|
dtrow["报价产品"] = ds.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
|
|
dtrow["报价数量"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim());
|
|
dtrow["表价"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_JGBBJ"].ToString().Trim());
|
|
dtrow["备注"] = ds.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
|
|
dtrow["序号"] = ds.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
|
|
dsQry.Tables[0].Rows.Add(dtrow);
|
|
}
|
|
string smessage = "";
|
|
//
|
|
NpoiSheetData sd = new NpoiSheetData();
|
|
sd.ColumnStyle = new System.Collections.Generic.Dictionary<string, NpoiColumnStyle>();
|
|
NpoiColumnStyle ct = new NpoiColumnStyle();
|
|
ct.DataFormat = "@";
|
|
sd.ColumnStyle.Add("C", ct);
|
|
|
|
sd.ColumnType = new System.Collections.Generic.Dictionary<string, NpoiColumnType>();
|
|
sd.ColumnType.Add("I", NpoiColumnType.Double);
|
|
sd.ColumnType.Add("J", NpoiColumnType.Double);
|
|
|
|
TExcelData.CreateExcel_NPOI(m_tmpFilePath, dsQry, true, null, sd, ref smessage);
|
|
if (smessage.Equals(""))
|
|
{
|
|
System.IO.FileInfo file = new System.IO.FileInfo(m_tmpFilePath);
|
|
string URL = Page.ResolveClientUrl("~") + "/N_MODEL/Dialog/TempFileDownload.ashx?TempFileName=" + file.Name + "&FileName=外购产品报价" + file.Extension;
|
|
if(sWGCPTZBZ == "N")
|
|
URL = Page.ResolveClientUrl("~") + "/N_MODEL/Dialog/TempFileDownload.ashx?TempFileName=" + file.Name + "&FileName=无表价产品报价" + file.Extension;
|
|
string jsript = @"var JLDCDiv = document.createElement('div');JLDCDiv.style.width=0;JLDCDiv.style.height=0;JLDCDiv.id = 'DivifrDownLoad';"
|
|
+ " var ele=document.documentElement||document.body;ele.appendChild(JLDCDiv);var iJLDCfrm = document.createElement('iframe');iJLDCfrm.id = 'iJLDCfrmDownLoad';iJLDCfrm.src = '" + URL + "';"
|
|
+ "iJLDCfrm.style.width = 0;iJLDCfrm.style.height = 0; JLDCDiv.appendChild(iJLDCfrm);";
|
|
AJAXRunScript(this, "OPENJLDC", jsript);
|
|
}
|
|
else
|
|
{
|
|
ShowMessage(smessage);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ShowMessage("无记录可以导出!");
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region 导入
|
|
protected void btnDCWGCP_MenuItemClick(object sender, string value)
|
|
{
|
|
switch (value)
|
|
{
|
|
case "1":
|
|
TPageParams pageParams = new TPageParams();
|
|
pageParams.UrlPath = "XLBJD_WGCPBJDRInfo.aspx";
|
|
pageParams.Title = "导入Excel文件";
|
|
pageParams.AddString("BJDID", sBJDID);
|
|
pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID"));
|
|
pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX"));
|
|
pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX"));
|
|
pageParams.AddString("ZDXJJCLLX", PageParam.GetRTrimString("ZDXJJCLLX"));
|
|
pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS"));
|
|
pageParams.AddString("JYF", PageParam.GetRTrimString("JYF"));//计运费
|
|
pageParams.AddString("YSJDID", PageParam.GetRTrimString("YSJDID"));//运输节点
|
|
pageParams.AddString("GYSID", PageParam.GetRTrimString("GYSID"));//运输单位
|
|
pageParams.AddString("YFWLID", PageParam.GetRTrimString("YFWLID"));//运费物料
|
|
pageParams.AddString("BJHYF", PageParam.GetRTrimString("BJHYF"));//报价含运费
|
|
pageParams.AddString("WGCPTZBZ", sWGCPTZBZ);
|
|
pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID"));
|
|
pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID"));
|
|
pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY"));
|
|
pageParams.AddString("JGBIDS", PageParam.GetRTrimString("JGBIDS"));
|
|
pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ"));
|
|
pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ"));
|
|
pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY"));
|
|
pageParams.AddString("JSBLFS", PageParam.GetRTrimString("JSBLFS"));
|
|
pageParams.AddString("TZCLHQ", PageParam.GetRTrimString("TZCLHQ"));
|
|
pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS"));
|
|
pageParams.AddString("JGBTJYS", PageParam.GetRTrimString("JGBTJYS"));
|
|
pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID"));
|
|
pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID"));
|
|
pageParams.AddString("TJ", PageParam.GetRTrimString("TJ"));
|
|
pageParams.AddString("LJ", PageParam.GetRTrimString("LJ"));
|
|
|
|
|
|
pageParams.AddString("btnRefreshCID", btnRefresh.ClientID);
|
|
OpenDialog(pageParams);
|
|
break;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 刷新
|
|
protected void btnRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
moduleGV_PageIndexChanging(null, null);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
protected void chkWGCP_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
//FormAreaUpdate();
|
|
if (sWGCPTZBZ == "Y")
|
|
UpdateWGCP(grdGrid.SelectedIndex);
|
|
}
|
|
|
|
protected void btnClear_Click(object sender, EventArgs e)
|
|
{
|
|
if (grdGrid.Rows.Count <= 0)
|
|
{
|
|
ShowMessage("没有可操作的记录!");
|
|
return;
|
|
}
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sErrMsg = "";
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
|
|
//利用tWHSJCondition来锁定需要重算的报价单明细
|
|
DateTime tWHSJCondition = MISproUtils.GetServerTime();
|
|
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'N',XLXSBJDMX_WHR=:pWHR,XLXSBJDMX_WHRID=:pWHID,XLXSBJDMX_WHSJ=:pWHSJ ");
|
|
SQL.Add(" where 1=1 ");
|
|
SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID and XLXSBJDMX_WGCPBZ = 'Y' ");
|
|
SQL.Add(" and not exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID ");
|
|
SQL.Add(" and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='" + sJGFID + "' ) ");
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = tWHSJCondition;
|
|
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
|
int updCount = dberp.ExecSQL(SQL);
|
|
|
|
if (updCount > 0)
|
|
{
|
|
//重置非外购产品因子默认值
|
|
if (!txtFWGCPYZZList.Value.Trim().Equals(""))
|
|
{
|
|
string[] sFWGCPYZZ = txtFWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
Dictionary<string, string> dicTJYZListFWG = new Dictionary<string, string>();
|
|
for (int m = 0; m < sFWGCPYZZ.Length; m++)
|
|
{
|
|
if (dicTJYZListFWG.ContainsKey("sTJYSList_"))
|
|
{
|
|
dicTJYZListFWG["sTJYSList_"] = dicTJYZListFWG["sTJYSList_"] + "," + sFWGCPYZZ[m].Split('|')[0].Trim();
|
|
}
|
|
else
|
|
{
|
|
dicTJYZListFWG.Add("sTJYSList_", sFWGCPYZZ[m].Split('|')[0].Trim());
|
|
}
|
|
}
|
|
|
|
if (dicTJYZListFWG.Keys.Count > 0)
|
|
{
|
|
string sBJU002 = GetOption("BJU002");
|
|
string sBJU003 = GetOption("BJU003");
|
|
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
|
XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZListFWG, false, "", 0, false, false, false, tWHSJCondition, ref sErrMsg);
|
|
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, "", false, false, false, "", tWHSJCondition, sBJU002, sBJU003, tSession.UserId, tSession.UserName, ref sErrMsg);
|
|
}
|
|
}
|
|
}
|
|
|
|
dberp.CommitTrans();
|
|
btnRefresh_Click(null,null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(sErrMsg + " " + ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
}
|
|
|
|
|
|
protected void btnAll_Click(object sender, EventArgs e)
|
|
{
|
|
if (grdGrid.Rows.Count <= 0)
|
|
{
|
|
ShowMessage("没有可操作的记录!");
|
|
return;
|
|
}
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sErrMsg = "";
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
|
|
//利用tWHSJCondition来锁定需要重算的报价单明细
|
|
DateTime tWHSJCondition = MISproUtils.GetServerTime();
|
|
string sJGFID = XLBJDUtils.GetJGFID(PageParam.GetRTrimString("BJRQ"));
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_WGCPBZ= 'Y',XLXSBJDMX_WHR=:pWHR,XLXSBJDMX_WHRID=:pWHID,XLXSBJDMX_WHSJ=:pWHSJ ");
|
|
SQL.Add(" where 1=1 ");
|
|
SQL.Add(" and XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID and XLXSBJDMX_JGBBJ = 0 and XLXSBJDMX_WGCPBZ<>'Y' ");
|
|
SQL.Add(" and not exists (select 1 from XLXSJGBMX left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLXHID=XLXSBJDMX_XLXHID and XLXSBJXLGGTHB_XLGGID=XLXSBJDMX_XLGGID ");
|
|
SQL.Add(" and XLXSJGBMX_XLBZID=XLXSBJDMX_XLBZID and XLXSJGBMX_DYDJID = XLXSBJDMX_DYDJID and XLXSJGBMX_JGBID ='" + sJGFID + "' ) ");
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = tWHSJCondition;
|
|
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
|
int updCount = dberp.ExecSQL(SQL);
|
|
|
|
if (updCount > 0)
|
|
{
|
|
//重置外购产品因子默认值
|
|
if (!txtWGCPYZZList.Value.Trim().Equals(""))
|
|
{
|
|
string[] sWGCPYZZ = txtWGCPYZZList.Value.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
Dictionary<string, string> dicTJYZListWG = new Dictionary<string, string>();
|
|
for (int m = 0; m < sWGCPYZZ.Length; m++)
|
|
{
|
|
if (dicTJYZListWG.ContainsKey("sTJYSList_"))
|
|
{
|
|
dicTJYZListWG["sTJYSList_"] = dicTJYZListWG["sTJYSList_"] + "," + sWGCPYZZ[m].Split('|')[0].Trim();
|
|
}
|
|
else
|
|
{
|
|
dicTJYZListWG.Add("sTJYSList_", sWGCPYZZ[m].Split('|')[0].Trim());
|
|
}
|
|
}
|
|
|
|
if (dicTJYZListWG.Keys.Count > 0)
|
|
{
|
|
string sBJU002 = GetOption("BJU002");
|
|
string sBJU003 = GetOption("BJU003");
|
|
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
|
XLBJDUtils.AddXLXSBJDYZZ0(dberp, sBJDID, sBJFLID, sBJU003, dicTJYZListWG, false, "", 0, false, false, false, tWHSJCondition, ref sErrMsg);
|
|
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, "", false, false, false, "", tWHSJCondition, sBJU002, sBJU003, tSession.UserId, tSession.UserName, ref sErrMsg);
|
|
}
|
|
}
|
|
}
|
|
|
|
dberp.CommitTrans();
|
|
btnRefresh_Click(null,null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(sErrMsg + " " + ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
}
|
|
|
|
protected void btnDCWGCP_DropDown(object sender, EventArgs e)
|
|
{
|
|
btnDCWGCP.Nodes.Clear();
|
|
sWGCPTZBZ = PageParam.GetRTrimString("WGCPTZBZ");
|
|
if (sWGCPTZBZ == "N")
|
|
{
|
|
btnDCWGCP.Nodes.Add(new gtTreeNode("1","询回导入"));
|
|
|
|
}
|
|
else
|
|
btnDCWGCP.Nodes.Add(new gtTreeNode("1", "导入外购产品"));
|
|
|
|
MenuAreaUpdate();
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|