using System;
using System.Data;
using System.Configuration;
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_MISPROAS.Web.AjaxServices;
using GThinking.N_MISPRO.Data;
using System.Collections.Generic;
using System.Web.Script.Serialization;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Utility;
using GThinking.N_WORKFLOW;
using System.Web.Caching;
using GThinking.N_PUBLIC;
namespace GThinking.N_XLXSBJ
{
public class XSDDSCBJDService
{
#region 服务部分
///
/// 生成报价单,来源模块:100452001|销售订单维护
///
/// 销售订单号
/// 铜价
/// 铝价
/// 价格类型
/// 用户
///
[AjaxMethod(AuthRequried = false)]
public static XSDDSCBJDData CreateXLXSBJD(string sSOID, double fTJ, double fLJ, string sJGLX, string sUserID)
{
Mac.MacLog.TraceFormat(String.Format("销售订单生成报价单服务-------------------"));
Mac.MacLog.TraceFormat(String.Format("操作人:{0}---------------", sUserID + "|" + TRYXX.GetRYXXByGH(sUserID).XM));
Mac.MacLog.TraceFormat(String.Format("开始时间:{0}---------------", DateTime.Now.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("报价单号:{0}---------------", sSOID + "_" + sJGLX));
Mac.MacLog.TraceFormat(String.Format("铜价:{0}---------------", fTJ.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("铝价:{0}---------------", fLJ.ToString().Trim()));
DateTime dtBeg = DateTime.Now;
XSDDSCBJDData objOUT = new XSDDSCBJDData();
objOUT.Success = true;
objOUT.ErrorMessage = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sBJDID = "";
try
{
if (sSOID.Equals(""))
{
throw new Exception("订单号为空,不允许生成报价单记录!");
}
if (sJGLX.Equals(""))
{
throw new Exception("价格类型为空,不允许生成报价单记录!");
}
sBJDID = sSOID + "_" + sJGLX;
SQL.Clear();
SQL.Add("select XLXSBJD_BJDID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsBJD = dberp.OpenDataSet(SQL);
if (dsBJD.Tables[0].Rows.Count > 0)
{
objOUT.Success = false;
objOUT.ErrorMessage = "已存在当前报价单号的记录,不允许重复生成!";
}
else
{
GetXSDDToBJD(dberp, SQL, objOUT, sBJDID, sSOID, fTJ, fLJ, sJGLX, sUserID);
#region 校验表价为0或为负
SQL.Clear();
SQL.Add(" select XLXSBJDMX_YWXH,XLXSBJDMX_JGBBJ,XLXSBJDMX_WLID,XLXSBJDMX_JSYCBZ from XLXSBJDMX where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_JGBBJ<=0 ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsFBJ = dberp.OpenDataSet(SQL);
if (dsFBJ.Tables[0].Rows.Count > 0)
{
Dictionary dicJGBTJYZ = new Dictionary();
SQL.Clear();
SQL.Add(" select XLXSTZYZ_YZID,XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH = 'JZJ' ");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
dicJGBTJYZ.Add(trow["XLXSTZYZ_YZID"].ToString().Trim(), trow["XLXSTZYZ_YZMC"].ToString().Trim());
}
}
string sTS = "计算如下物料的价格异常:\n\r";
foreach (DataRow trow in dsFBJ.Tables[0].Rows)
{
string sJTXX = "序号" + trow["XLXSBJDMX_YWXH"].ToString().Trim() + ",【" + trow["XLXSBJDMX_WLID"].ToString().Trim() + "】";
double dJGBBJ = CMISproConvert.StrToFloat(trow["XLXSBJDMX_JGBBJ"].ToString().Trim());
if (dJGBBJ < 0)
{
string sJSYCBZ = trow["XLXSBJDMX_JSYCBZ"].ToString().Trim();
sJTXX += "\n" + XLBJD_FBJXQList.GetJSYCXQ(sJSYCBZ, dicJGBTJYZ) + "\n\r";
}
else
sJTXX += "价格为0 \n\r";
sTS += sJTXX;
}
Mac.MacLog.TraceFormat(String.Format("报价单:{0}---------------" + sTS, sBJDID));
objOUT.ErrorMessage = sTS;
}
#endregion
}
}
catch (Exception ex)
{
objOUT.Success = false;
objOUT.ErrorMessage = ex.Message.ToString().Trim();
}
DateTime dtEnd = DateTime.Now;
TimeSpan spOm = dtEnd - dtBeg;
double dTotal = spOm.TotalSeconds;
Mac.MacLog.TraceFormat(String.Format("总计耗时:{0}---------------", dTotal.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("时间1:{0}---------------", dtBeg.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("时间2:{0}---------------", dtEnd.ToString().Trim()));
return objOUT;
}
private static void GetXSDDToBJD(TDatabase dberp, TSQL SQL, XSDDSCBJDData objOUT, string sBJDID, string sSOID, double fTJ, double fLJ, string sJGLX, string sUserGH)
{
DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Now;
DateTime dt3 = DateTime.Now;
DateTime dt4 = DateTime.Now;
DateTime dt5 = DateTime.Now;
DateTime dt6 = DateTime.Now;
DateTime dt7 = DateTime.Now;
DateTime dt8 = DateTime.Now;
dt1 = DateTime.Now;
SQL.Clear();
SQL.Add(" select ");
SQL.Add(" SOMX_SOID,SOMX_SOXH,SOMX_WLID,SOMX_XQSL,SOMX_JLDW, ");
SQL.Add(" SO_DDRQ,SO_TXY,SO_BMID,SO_XSQYID,SO_LXR,SO_LXDH, ");
SQL.Add(" case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then XLXLB_XLXHID else XSBJXHTH_BJXLXHID end as XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
SQL.Add(" from SOMX ");
SQL.Add(" left join SO on SO_SOID = SOMX_SOID ");
SQL.Add(" left join XLXLB on XLXLB_WLID = SOMX_WLID ");
SQL.Add(" left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" where 1=1 ");
SQL.Add("and SO_SOID =:pSOID ");
SQL.ParamByName("pSOID").Value = sSOID;
DataSet dsSO = dberp.OpenDataSet(SQL);
Mac.MacLog.TraceFormat(String.Format("dt1:{0}---------------", dt1.ToString().Trim()));
if (dsSO.Tables[0].Rows.Count > 0)
{
try
{
dberp.BeginTrans();
dt2 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt2:{0}---------------", dt2.ToString().Trim()));
#region 主表变量初始化
string sYWLX = "SO";
string sYWDH = sSOID;
double fYWXH = 0;
CMISproSession tSession = null;
string sBJRQ = CMISproConvert.ConvertDate(dsSO.Tables[0].Rows[0]["SO_DDRQ"].ToString().Trim());
string sBJFLID = GetBJFLID();
string sXSQYID = dsSO.Tables[0].Rows[0]["SO_XSQYID"].ToString().Trim();
string sJGBID = "";
string sTXY = dsSO.Tables[0].Rows[0]["SO_TXY"].ToString().Trim();
string sXSJLMC = "";
string sXSBMID = "";
GetXSYXX(dberp, SQL, sTXY, ref sXSJLMC, ref sXSBMID);
string sSYDWID = GetSWDWID(dberp, SQL, sUserGH);
#region 报价分类校验
if (sBJFLID.Equals(""))
{
throw new Exception("报价分类为空!请至【100860062|销售报价业务配置】模块进行设置!");
}
#endregion
Dictionary dicJGBID = new Dictionary();
dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, sXSQYID);
foreach (KeyValuePair kvp in dicJGBID)
{
if (sJGBID.Equals(""))
{
sJGBID = kvp.Key;
}
}
#region 价格表校验
if (sJGBID.Equals(""))
{
throw new Exception("价格表为空!请至【100860001|线缆销售报价价格表】模块检查是否存在可用价格表!");
}
#endregion
#region 其他校验
#endregion
#endregion
dt3 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt3:{0}---------------", dt3.ToString().Trim()));
tSession = getSession();
#region 插入主表信息
SQL.Clear();
SQL.Add("insert into XLXSBJD ");
SQL.Add(" ( ");
SQL.Add(" XLXSBJD_BJDID,XLXSBJD_CLHQJGBID,");
SQL.Add(" XLXSBJD_BJFLID,XLXSBJD_XSQYID,");
SQL.Add(" XLXSBJD_SYDWID,XLXSBJD_XSJLMC,XLXSBJD_TXY,XLXSBJD_XSBMID, ");
SQL.Add(" XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_JZBJHS,");
SQL.Add(" XLXSBJD_TJ,XLXSBJD_LJ,");
SQL.Add(" XLXSBJD_SQR,XLXSBJD_SQRGH,XLXSBJD_SQRID,XLXSBJD_SQRQ,");
SQL.Add(" XLXSBJD_BJRQ, XLXSBJD_JGBID, ");
SQL.Add(" XLXSBJD_YWLX,XLXSBJD_YWDH,XLXSBJD_WPID, ");
SQL.Add(" XLXSBJD_WHRID,XLXSBJD_WHR,XLXSBJD_WHSJ ");
SQL.Add(" ) ");
SQL.Add(" values ");
SQL.Add(" ( ");
SQL.Add(" :XLXSBJD_BJDID,:XLXSBJD_CLHQJGBID,");
SQL.Add(" :XLXSBJD_BJFLID,:XLXSBJD_XSQYID,");
SQL.Add(" :XLXSBJD_SYDWID,:XLXSBJD_XSJLMC,:XLXSBJD_TXY,:XLXSBJD_XSBMID, ");
SQL.Add(" :XLXSBJD_KHLXR,:XLXSBJD_LXDH,:XLXSBJD_JZBJHS,");
SQL.Add(" :XLXSBJD_TJ,:XLXSBJD_LJ,");
SQL.Add(" :XLXSBJD_SQR,:XLXSBJD_SQRGH,:XLXSBJD_SQRID,:XLXSBJD_SQRQ,");
SQL.Add(" :XLXSBJD_BJRQ, :XLXSBJD_JGBID,");
SQL.Add(" :XLXSBJD_YWLX,:XLXSBJD_YWDH,'ZZZZ', ");
SQL.Add(" :XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ ");
SQL.Add(" ) ");
SQL.ParamByName("XLXSBJD_BJDID").Value = sBJDID;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL where XLXSBJFLBJRHQCL_BJFLID='{0}'", sJGBID)))
{
SQL.ParamByName("XLXSBJD_CLHQJGBID").Value = "ZZZZZZZZ";
}
else
{
SQL.ParamByName("XLXSBJD_CLHQJGBID").Value = sJGBID;
}
SQL.ParamByName("XLXSBJD_BJFLID").Value = sBJFLID;
SQL.ParamByName("XLXSBJD_XSQYID").Value = sXSQYID;
SQL.ParamByName("XLXSBJD_SYDWID").Value = sSYDWID;
SQL.ParamByName("XLXSBJD_XSJLMC").Value = sXSJLMC;
SQL.ParamByName("XLXSBJD_TXY").Value = sTXY;
SQL.ParamByName("XLXSBJD_XSBMID").Value = sXSBMID;
SQL.ParamByName("XLXSBJD_KHLXR").Value = dsSO.Tables[0].Rows[0]["SO_LXR"].ToString().Trim();
SQL.ParamByName("XLXSBJD_LXDH").Value = dsSO.Tables[0].Rows[0]["SO_LXDH"].ToString().Trim();
SQL.ParamByName("XLXSBJD_JZBJHS").Value = "Y";
SQL.ParamByName("XLXSBJD_TJ").Value = fTJ;
SQL.ParamByName("XLXSBJD_LJ").Value = fLJ;
SQL.ParamByName("XLXSBJD_SQR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJD_SQRGH").Value = tSession.UserId;
SQL.ParamByName("XLXSBJD_SQRID").Value = TRYXX.GetRYXXByGH(tSession.UserId).RYID;
SQL.ParamByName("XLXSBJD_SQRQ").Value = sBJRQ;
SQL.ParamByName("XLXSBJD_BJRQ").Value = sBJRQ;
SQL.ParamByName("XLXSBJD_JGBID").Value = sJGBID;
SQL.ParamByName("XLXSBJD_YWLX").Value = sYWLX;
SQL.ParamByName("XLXSBJD_YWDH").Value = sYWDH;
SQL.ParamByName("XLXSBJD_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSBJD_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJD_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
#endregion
dt4 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt4:{0}---------------", dt4.ToString().Trim()));
#region
//只加载JGE价格表,外层判断可以去除
XLXSBJFLObj objXLXSBJFL = new XLXSBJFLObj(sBJFLID);
XLBJDUtils.InsertXLXSBJDCLHQ_WLHQ(dberp, SQL, objXLXSBJFL.sBJDHQLY, sBJDID, sBJRQ, true,
objXLXSBJFL.sTBJCLID, objXLXSBJFL.sLBJCLID,
fTJ, fLJ,
tSession.UserName, tSession.UserId, sJGBID);
#endregion
dt5 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt5:{0}---------------", dt5.ToString().Trim()));
#region 明细变量初始化
string sXLXHID = "";
string sXLGGID = "";
string sXLBZID = "";
string sDYDJID = "";
string sBJDJLDW = "";
double fBJSL = 0;
string sWLID = "";
int iStartXH = 1;
string sErrorNum = "";
string sXLJGU007 = tSession.GetOption(102579000, "XLJGU007");
#endregion
SQL.Clear();
SQL.Add(" insert into XLXSBJDMX( ");
SQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, ");
SQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_BJCPSD,XLXSBJDMX_WGCPBZ, ");
SQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJSDBZ,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, ");
SQL.Add(" XLXSBJDMX_DZSC,XLXSBJDMX_WHR,XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ,");
SQL.Add(" XLXSBJDMX_YWLX,XLXSBJDMX_YWDH,XLXSBJDMX_YWXH,XLXSBJDMX_WLID, ");
SQL.Add(" XLXSBJDMX_BZ) ");
SQL.Add(" values(");
SQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID, ");
SQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_BJCPSD,:XLXSBJDMX_WGCPBZ, ");
SQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL,:XLXSBJDMX_BJSDBZ,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, ");
SQL.Add(" :XLXSBJDMX_DZSC,:XLXSBJDMX_WHR, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHSJ,");
SQL.Add(" :XLXSBJDMX_YWLX,:XLXSBJDMX_YWDH,:XLXSBJDMX_YWXH,:XLXSBJDMX_WLID, ");
SQL.Add(" :XLXSBJDMX_BZ)");
for (int i = 0; i < dsSO.Tables[0].Rows.Count; i++)
{
sXLXHID = dsSO.Tables[0].Rows[i]["XLXLB_XLXHID"].ToString().Trim();
sXLGGID = XLBJDUtils.GetStaXLGGID(dsSO.Tables[0].Rows[i]["XLXLB_XLGGID"].ToString().Trim(), sXLJGU007);
sXLBZID = dsSO.Tables[0].Rows[i]["XLXLB_XLBZID"].ToString().Trim();
sDYDJID = dsSO.Tables[0].Rows[i]["XLXLB_DYDJID"].ToString().Trim();
sBJDJLDW = dsSO.Tables[0].Rows[i]["SOMX_JLDW"].ToString().Trim();
sWLID = dsSO.Tables[0].Rows[i]["SOMX_WLID"].ToString().Trim();
fBJSL = CMISproConvert.StrToFloat(dsSO.Tables[0].Rows[i]["SOMX_XQSL"].ToString().Trim());
fYWXH = CMISproConvert.StrToFloat(dsSO.Tables[0].Rows[i]["SOMX_SOXH"].ToString().Trim());
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJDMX_XH").Value = i + 1;
SQL.ParamByName("XLXSBJDMX_XSSX").Value = i + 1;
if (sXLXHID.Equals(""))
{
SQL.ParamByName("XLXSBJDMX_XLXHID").Value = "/";
}
else
{
SQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
}
if (sXLGGID.Equals(""))
{
SQL.ParamByName("XLXSBJDMX_XLGGID").Value = "/";
}
else
{
SQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
}
if (sXLXHID.Equals("") || sXLGGID.Equals(""))
{
SQL.ParamByName("XLXSBJDMX_BZ").Value = "【" + sYWDH + "|" + fYWXH + "】" + sWLID;
}
SQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = SQL.ParamByName("XLXSBJDMX_XLXHID").Value;
SQL.ParamByName("XLXSBJDMX_XLBZID").Value = sXLBZID;
SQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sXLBZID;
SQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJID;
SQL.ParamByName("XLXSBJDMX_XLYSID").Value = dsSO.Tables[0].Rows[i]["XLXLB_XLYSID"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJCP").Value = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJID);
SQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N";
SQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = "N";
SQL.ParamByName("XLXSBJDMX_JLDW").Value = sBJDJLDW;
SQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL;
SQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N";
if (XLBJDUtils.ISDZBZ(sXLBZID))
{
SQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
}
else
{
SQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
}
SQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
SQL.ParamByName("XLXSBJDMX_YWLX").Value = sYWLX;
SQL.ParamByName("XLXSBJDMX_YWDH").Value = sYWDH;
SQL.ParamByName("XLXSBJDMX_YWXH").Value = fYWXH;
SQL.ParamByName("XLXSBJDMX_WLID").Value = sWLID;
dberp.ExecSQL(SQL);
}
dt6 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt6:{0}---------------", dt6.ToString().Trim()));
XLBJDUtils.UpdateXDXLBZID(dberp, SQL, sBJDID, "", iStartXH - 1, ref sErrorNum);
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, tSession, sBJDID);
XLBJDCalcUtils.CalcBJDMXAfterIns(dberp, SQL, sBJDID, iStartXH, tSession.GetOption(100860000, "BJU002"), tSession.GetOption(100860000, "BJU003"), tSession.GetOption(100860000, "BJU018"), tSession.UserId, tSession.UserName, ref sErrorNum);
if (!sErrorNum.Equals(""))
{
throw new Exception("计算异常!异常信息:" + sErrorNum);
}
dt7 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt7:{0}---------------", dt7.ToString().Trim()));
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
throw new Exception(ex.Message.ToString().Trim());
}
dt8 = DateTime.Now;
Mac.MacLog.TraceFormat(String.Format("dt8:{0}---------------", dt8.ToString().Trim()));
}
TimeSpan sp2 = dt2 - dt1;
TimeSpan sp3 = dt3 - dt2;
TimeSpan sp4 = dt4 - dt3;
TimeSpan sp5 = dt5 - dt4;
TimeSpan sp6 = dt6 - dt5;
TimeSpan sp7 = dt7 - dt6;
TimeSpan sp8 = dt8 - dt7;
double dTotal2 = sp2.TotalSeconds;
double dTotal3 = sp3.TotalSeconds;
double dTotal4 = sp4.TotalSeconds;
double dTotal5 = sp5.TotalSeconds;
double dTotal6 = sp6.TotalSeconds;
double dTotal7 = sp7.TotalSeconds;
double dTotal8 = sp8.TotalSeconds;
Mac.MacLog.TraceFormat(String.Format("dTotal2耗时:{0}---------------", dTotal2.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal3耗时:{0}---------------", dTotal3.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal4耗时:{0}---------------", dTotal4.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal5耗时:{0}---------------", dTotal5.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal6耗时:{0}---------------", dTotal6.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal7耗时:{0}---------------", dTotal7.ToString().Trim()));
Mac.MacLog.TraceFormat(String.Format("dTotal8耗时:{0}---------------", dTotal8.ToString().Trim()));
}
private static CMISproSession getSession()
{
return CMISproSessionManager.GetCurrentSession();
}
///
/// 获取销售报价业务配置模块100452001配置的报价分类
///
///
///
///
private static string GetBJFLID()
{
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100452001);
if(!string.IsNullOrEmpty(pzxx.XLXSBJPZ_BJFLIDS))
return pzxx.XLXSBJPZ_BJFLIDS;
return "";
}
///
/// 根据当前用户获取使用单位,如果为空,则获取第一个使用单位
///
///
///
///
///
private static string GetSWDWID(TDatabase dberp, TSQL SQL, string sUserGH)
{
string sSYDWID = "";
SQL.Clear();
SQL.Add("select RSRYJBXX_SYDWID ");
SQL.Add(" from RSRYJBXX ");
SQL.Add(" where 1=1 ");
SQL.Add(" and RSRYJBXX_GH = :pGH ");
SQL.ParamByName("pGH").Value = sUserGH;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sSYDWID = ds.Tables[0].Rows[0][0].ToString().Trim();
if (sSYDWID.Equals(""))
{
SQL.Clear();
SQL.Add(" select GS_SYDWID,GS_GSMC from GS where 1=1 order by GS_SYDWID ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sSYDWID = ds.Tables[0].Rows[0][0].ToString().Trim();
}
}
}
return sSYDWID;
}
///
/// 获取推销员的经理和部门
///
///
///
///
///
///
private static void GetXSYXX(TDatabase dberp, TSQL SQL, string sTXY, ref string sXSJLMC, ref string sXSBMID)
{
SQL.Clear();
SQL.Add(" select A.XSY_BMID,A.XSY_XSYBH,B.XSY_TXY from XSY A ");
SQL.Add(" LEFT JOIN XSY B ON B.XSY_XSYBH = A.XSY_SJXSYBH ");
SQL.Add(" WHERE A.XSY_TXY = :pXSY_TXY ");
SQL.ParamByName("pXSY_TXY").Value = sTXY;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sXSJLMC = ds.Tables[0].Rows[0]["XSY_TXY"].ToString().Trim();
sXSBMID = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
}
return;
}
///
/// 删除报价单
///
/// 报价单号
///
[AjaxMethod(AuthRequried = false)]
public static XSDDSCBJDDel DelteXLXSBJD(string sBJDID)
{
XSDDSCBJDDel objOUT = new XSDDSCBJDDel();
objOUT.Success = true;
objOUT.ErrorMessage = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
SQL.Clear();
SQL.Add("delete from XLXSBJD");
SQL.Add(" where 1=1");
SQL.Add(" and XLXSBJD_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
XLBJDUtils.AfterDeleteBJD(dberp, SQL, sBJDID);
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
objOUT.Success = false;
objOUT.ErrorMessage = ex.Message;
}
return objOUT;
}
#endregion
}
#region 报价分类
public class XLXSBJFLObj
{
public string sBJDHQLY = "";
public string sTBJCLID = "";
public string sLBJCLID = "";
public XLXSBJFLObj(string sBJFLID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSBJFL_BJDHQLY,XLXSBJFL_TBJCLID,XLXSBJFL_LBJCLID ");
SQL.Add("from XLXSBJFL ");
SQL.Add("where XLXSBJFL_BJFLID = :pXLXSBJFL_BJFLID ");
SQL.ParamByName("pXLXSBJFL_BJFLID").Value = sBJFLID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sBJDHQLY = ds.Tables[0].Rows[0]["XLXSBJFL_BJDHQLY"].ToString().Trim();
sTBJCLID = ds.Tables[0].Rows[0]["XLXSBJFL_TBJCLID"].ToString().Trim();
sLBJCLID = ds.Tables[0].Rows[0]["XLXSBJFL_LBJCLID"].ToString().Trim();
}
}
}
#endregion
#region 插入报价单明细返回类
public class XSDDSCBJDData
{
///
/// 调用情况
///
private bool _Success = true;
public bool Success
{
get { return _Success; }
set { _Success = value; }
}
///
/// 失败信息
///
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
set { _ErrorMessage = value; }
}
}
#endregion
#region 删除报价单返回类
public class XSDDSCBJDDel
{
///
/// 调用情况
///
private bool _Success = true;
public bool Success
{
get { return _Success; }
set { _Success = value; }
}
///
/// 失败信息
///
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
set { _ErrorMessage = value; }
}
}
#endregion
}