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

640 lines
29 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.
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 服务部分
/// <summary>
/// 生成报价单,来源模块:100452001|销售订单维护
/// </summary>
/// <param name="sSOID">销售订单号</param>
/// <param name="fTJ">铜价</param>
/// <param name="fLJ">铝价</param>
/// <param name="sJGLX">价格类型</param>
/// <param name="sUserID">用户</param>
/// <returns></returns>
[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<string, string> dicJGBTJYZ = new Dictionary<string, string>();
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<string, string> dicJGBID = new Dictionary<string, string>();
dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, sXSQYID);
foreach (KeyValuePair<string, string> 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();
}
/// <summary>
/// 获取销售报价业务配置模块100452001配置的报价分类
/// </summary>
/// <param name="dberp"></param>
/// <param name="SQL"></param>
/// <returns></returns>
private static string GetBJFLID()
{
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100452001);
if(!string.IsNullOrEmpty(pzxx.XLXSBJPZ_BJFLIDS))
return pzxx.XLXSBJPZ_BJFLIDS;
return "";
}
/// <summary>
/// 根据当前用户获取使用单位,如果为空,则获取第一个使用单位
/// </summary>
/// <param name="dberp"></param>
/// <param name="SQL"></param>
/// <param name="sUserGH"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取推销员的经理和部门
/// </summary>
/// <param name="dberp"></param>
/// <param name="SQL"></param>
/// <param name="sTXY"></param>
/// <param name="sXSJLMC"></param>
/// <param name="sXSBMID"></param>
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;
}
/// <summary>
/// 删除报价单
/// </summary>
/// <param name="sBJDID">报价单号</param>
/// <returns></returns>
[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
{
/// <summary>
/// 调用情况
/// </summary>
private bool _Success = true;
public bool Success
{
get { return _Success; }
set { _Success = value; }
}
/// <summary>
/// 失败信息
/// </summary>
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
set { _ErrorMessage = value; }
}
}
#endregion
#region 删除报价单返回类
public class XSDDSCBJDDel
{
/// <summary>
/// 调用情况
/// </summary>
private bool _Success = true;
public bool Success
{
get { return _Success; }
set { _Success = value; }
}
/// <summary>
/// 失败信息
/// </summary>
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
set { _ErrorMessage = value; }
}
}
#endregion
}