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

6308 lines
322 KiB
C#
Raw 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_MODEL.ModelBase;
using GThinking.N_MISPRO.Utility;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using System.Collections.Generic;
using System.Text;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_MISPROAS;
using GThinking.N_MODEL.Dialog;
using GThinking.N_COMPRESS;
using System.IO;
using GThinking.N_MISPROAS.MISproAS;
using System.Reflection;
using GThinking.N_PUBLIC;
namespace GThinking.N_XLXSBJ
{
public class XSYBJSPModel : ModelBase
{
#region 字段属性
private string _XLXSBJD_BJDID = string.Empty;
public string XLXSBJD_BJDID
{
get
{
return _XLXSBJD_BJDID;
}
set
{
_XLXSBJD_BJDID = value;
}
}
private string _XLXSBJD_BJFLID = string.Empty;
public string XLXSBJD_BJFLID
{
get
{
return _XLXSBJD_BJFLID;
}
set
{
_XLXSBJD_BJFLID = value;
}
}
private string _BJFL = string.Empty;
public string BJFL
{
get
{
return _BJFL;
}
set
{
_BJFL = value;
}
}
private string _XLXSBJD_JGBID = string.Empty;
public string XLXSBJD_JGBID
{
get
{
return _XLXSBJD_JGBID;
}
set
{
_XLXSBJD_JGBID = value;
}
}
private string _XLXSBJD_CLHQJGBID = string.Empty;
public string XLXSBJD_CLHQJGBID
{
get
{
return _XLXSBJD_CLHQJGBID;
}
set
{
_XLXSBJD_CLHQJGBID = value;
}
}
private string _XLXSBJD_BJRQ = string.Empty;
public string XLXSBJD_BJRQ
{
get
{
return _XLXSBJD_BJRQ;
}
set
{
_XLXSBJD_BJRQ = value;
}
}
private string _XLXSBJD_SYDWID = string.Empty;
public string XLXSBJD_SYDWID
{
get
{
return _XLXSBJD_SYDWID;
}
set
{
_XLXSBJD_SYDWID = value;
}
}
private string _XSDWMC = string.Empty;
public string XSDWMC
{
get
{
return _XSDWMC;
}
set
{
_XSDWMC = value;
}
}
private string _XLXSBJD_XSBMID = string.Empty;
public string XLXSBJD_XSBMID
{
get
{
return _XLXSBJD_XSBMID;
}
set
{
_XLXSBJD_XSBMID = value;
}
}
private string _BJGSBMMC = string.Empty;
public string BJGSBMMC
{
get
{
return _BJGSBMMC;
}
set
{
_BJGSBMMC = value;
}
}
private string _XLXSBJD_KH = string.Empty;
public string XLXSBJD_KH
{
get
{
return _XLXSBJD_KH;
}
set
{
_XLXSBJD_KH = value;
}
}
private string _XLXSBJD_XMMC = string.Empty;
public string XLXSBJD_XMMC
{
get
{
return _XLXSBJD_XMMC;
}
set
{
_XLXSBJD_XMMC = value;
}
}
private string _XLXSBJD_XXDZ = string.Empty;
public string XLXSBJD_XXDZ
{
get { return _XLXSBJD_XXDZ; }
set { _XLXSBJD_XXDZ = value; }
}
private string _XLXSBJD_SQR = string.Empty;
public string XLXSBJD_SQR
{
get { return _XLXSBJD_SQR; }
set { _XLXSBJD_SQR = value; }
}
private string _XLXSBJD_FKSM = string.Empty;
public string XLXSBJD_FKSM
{
get
{
return _XLXSBJD_FKSM;
}
set
{
_XLXSBJD_FKSM = value;
}
}
private string _XLXSBJD_BZ = string.Empty;
public string XLXSBJD_BZ
{
get
{
return _XLXSBJD_BZ;
}
set
{
_XLXSBJD_BZ = value;
}
}
private string _XLXSBJD_CZJSXY = string.Empty;
public string XLXSBJD_CZJSXY
{
get
{
return _XLXSBJD_CZJSXY;
}
set
{
_XLXSBJD_CZJSXY = value;
}
}
private string _XLXSBJD_TXY = string.Empty;
public string XLXSBJD_TXY
{
get
{
return _XLXSBJD_TXY;
}
set
{
_XLXSBJD_TXY = value;
}
}
private string _XLXSBJD_BJZJE = string.Empty;
public string XLXSBJD_BJZJE
{
get
{
return _XLXSBJD_BJZJE;
}
set
{
_XLXSBJD_BJZJE = value;
}
}
private string _XLXSBJD_ZDXJZJE = string.Empty;
public string XLXSBJD_ZDXJZJE
{
get
{
return _XLXSBJD_ZDXJZJE;
}
set
{
_XLXSBJD_ZDXJZJE = value;
}
}
private string _XLXSBJD_ZDXJJCL = string.Empty;
public string XLXSBJD_ZDXJJCL
{
get
{
return _XLXSBJD_ZDXJJCL;
}
set
{
_XLXSBJD_ZDXJJCL = value;
}
}
private string _XLXSBJD_CPJJJE = string.Empty;
public string XLXSBJD_CPJJJE
{
get
{
return _XLXSBJD_CPJJJE;
}
set
{
_XLXSBJD_CPJJJE = value;
}
}
private string _XLXSBJD_BJJCL = string.Empty;
public string XLXSBJD_BJJCL
{
get
{
return _XLXSBJD_BJJCL;
}
set
{
_XLXSBJD_BJJCL = value;
}
}
private string _XLXSBJD_FKQXNR = string.Empty;
public string XLXSBJD_FKQXNR
{
get
{
return _XLXSBJD_FKQXNR;
}
set
{
_XLXSBJD_FKQXNR = value;
}
}
private string _QYBJDJC = string.Empty;
public string QYBJDJC
{
get
{
return _QYBJDJC;
}
set
{
_QYBJDJC = value;
}
}
private string _BJBM = string.Empty;
public string BJBM
{
get
{
return _BJBM;
}
set
{
_BJBM = value;
}
}
private string _XSZJE = string.Empty;
public string XSZJE
{
get
{
return _XSZJE;
}
set
{
_XSZJE = value;
}
}
private string _XSZDXJ = string.Empty;
public string XSZDXJ
{
get
{
return _XSZDXJ;
}
set
{
_XSZDXJ = value;
}
}
private string _XSZDXJJCL = string.Empty;
public string XSZDXJJCL
{
get
{
return _XSZDXJJCL;
}
set
{
_XSZDXJJCL = value;
}
}
private string _JGBBJBM = string.Empty;
public string JGBBJBM
{
get
{
return _JGBBJBM;
}
set
{
_JGBBJBM = value;
}
}
private string _XSJGBBJ = string.Empty;
public string XSJGBBJ
{
get
{
return _XSJGBBJ;
}
set
{
_XSJGBBJ = value;
}
}
private string _XSBJJCL = string.Empty;
public string XSBJJCL
{
get
{
return _XSBJJCL;
}
set
{
_XSBJJCL = value;
}
}
private string _XSDCPDF = string.Empty;
public string XSDCPDF
{
get
{
return _XSDCPDF;
}
set
{
_XSDCPDF = value;
}
}
private string _XSYZJM = string.Empty;
public string XSYZJM
{
get
{
return _XSYZJM;
}
set
{
_XSYZJM = value;
}
}
private string _XSYGSBM = string.Empty;
public string XSYGSBM
{
get
{
return _XSYGSBM;
}
set
{
_XSYGSBM = value;
}
}
private string _XSYLXFS = string.Empty;
public string XSYLXFS
{
get
{
return _XSYLXFS;
}
set
{
_XSYLXFS = value;
}
}
private string _BJMXSL = string.Empty;
public string BJMXSL
{
get
{
return _BJMXSL;
}
set
{
_BJMXSL = value;
}
}
private string _KHLY = string.Empty;
public string KHLY
{
get
{
return _KHLY;
}
set
{
_KHLY = value;
}
}
private string _XMLY = string.Empty;
public string XMLY
{
get
{
return _XMLY;
}
set
{
_XMLY = value;
}
}
//是否启用行政区域
private string _QYXZQY = string.Empty;
public string QYXZQY
{
get
{
return _QYXZQY;
}
set
{
_QYXZQY = value;
}
}
//行政区域是否控制编号
private string _XZQYBH = string.Empty;
public string XZQYBH
{
get
{
return _XZQYBH;
}
set
{
_XZQYBH = value;
}
}
private string _XLXSBJD_XZQHID = string.Empty;
public string XLXSBJD_XZQHID
{
get
{
return _XLXSBJD_XZQHID;
}
set
{
_XLXSBJD_XZQHID = value;
}
}
//省份ID
private string _SFID = string.Empty;
public string SFID
{
get
{
return _SFID;
}
set
{
_SFID = value;
}
}
//省份名称
private string _SFMC = string.Empty;
public string SFMC
{
get
{
return _SFMC;
}
set
{
_SFMC = value;
}
}
//城市ID
private string _CSID = string.Empty;
public string CSID
{
get
{
return _CSID;
}
set
{
_CSID = value;
}
}
private string _CSMC = string.Empty;
public string CSMC
{
get
{
return _CSMC;
}
set
{
_CSMC = value;
}
}
private string _XLXSBJYLZD_SQSJ = string.Empty;
public string XLXSBJYLZD_SQSJ
{
get
{
return _XLXSBJYLZD_SQSJ;
}
set
{
_XLXSBJYLZD_SQSJ = value;
}
}
private string _XLXSBJYLZD_WCSJ = string.Empty;
public string XLXSBJYLZD_WCSJ
{
get
{
return _XLXSBJYLZD_WCSJ;
}
set
{
_XLXSBJYLZD_WCSJ = value;
}
}
private string _YLDZ = string.Empty;
public string YLDZ
{
get
{
return _YLDZ;
}
set
{
_YLDZ = value;
}
}
private string _YLZDLC = string.Empty;
public string YLZDLC
{
get
{
return _YLZDLC;
}
set
{
_YLZDLC = value;
}
}
private string _QYXSHT = string.Empty;
public string QYXSHT
{
get
{
return _QYXSHT;
}
set
{
_QYXSHT = value;
}
}
private string _FJSCLX = string.Empty;
public string FJSCLX
{
get
{
return _FJSCLX;
}
set
{
_FJSCLX = value;
}
}
private string _XLXSBJD_JZBJHS = string.Empty;
public string XLXSBJD_JZBJHS
{
get
{
return _XLXSBJD_JZBJHS;
}
set
{
_XLXSBJD_JZBJHS = value;
}
}
private string _XSTLJ = string.Empty;
public string XSTLJ
{
get
{
return _XSTLJ;
}
set
{
_XSTLJ = value;
}
}
private string _TJ = string.Empty;
public string TJ
{
get
{
return _TJ;
}
set
{
_TJ = value;
}
}
private string _LJ = string.Empty;
public string LJ
{
get
{
return _LJ;
}
set
{
_LJ = value;
}
}
private string _TZL = string.Empty;
public string TZL
{
get
{
return _TZL;
}
set
{
_TZL = value;
}
}
private string _LZL = string.Empty;
public string LZL
{
get
{
return _LZL;
}
set
{
_LZL = value;
}
}
private string _MRDYYS = string.Empty;
public string MRDYYS
{
get
{
return _MRDYYS;
}
set
{
_MRDYYS = value;
}
}
private string _XLXSBJD_LBXSFJXX = string.Empty;
public string XLXSBJD_LBXSFJXX
{
get
{
return _XLXSBJD_LBXSFJXX;
}
set
{
_XLXSBJD_LBXSFJXX = value;
}
}
private bool _CanDispatch = true;
public bool CanDispatch
{
get
{
return _CanDispatch;
}
set
{
_CanDispatch = value;
}
}
private bool _CanDeliver = true;
public bool CanDeliver
{
get
{
return _CanDeliver;
}
set
{
_CanDeliver = value;
}
}
//附加信息标签名称
private string _ExistFJXX = string.Empty;
public string ExistFJXX
{
get { return _ExistFJXX; }
set { _ExistFJXX = value; }
}
private string _KZZF01 = string.Empty;
public string KZZF01
{
get { return _KZZF01; }
set { _KZZF01 = value; }
}
private string _KZZF02 = string.Empty;
public string KZZF02
{
get { return _KZZF02; }
set { _KZZF02 = value; }
}
private string _KZZF03 = string.Empty;
public string KZZF03
{
get { return _KZZF03; }
set { _KZZF03 = value; }
}
private string _KZZF04 = string.Empty;
public string KZZF04
{
get { return _KZZF04; }
set { _KZZF04 = value; }
}
private string _KZZF05 = string.Empty;
public string KZZF05
{
get { return _KZZF05; }
set { _KZZF05 = value; }
}
private string _KZZF06 = string.Empty;
public string KZZF06
{
get { return _KZZF06; }
set { _KZZF06 = value; }
}
private string _KZZF07 = string.Empty;
public string KZZF07
{
get { return _KZZF07; }
set { _KZZF07 = value; }
}
private string _KZZF08 = string.Empty;
public string KZZF08
{
get { return _KZZF08; }
set { _KZZF08 = value; }
}
private string _KZZF09 = string.Empty;
public string KZZF09
{
get { return _KZZF09; }
set { _KZZF09 = value; }
}
private string _KZZF10 = string.Empty;
public string KZZF10
{
get { return _KZZF10; }
set { _KZZF10 = value; }
}
private double _KZSZ01 = 0;
public double KZSZ01
{
get { return _KZSZ01; }
set { _KZSZ01 = value; }
}
private double _KZSZ02 = 0;
public double KZSZ02
{
get { return _KZSZ02; }
set { _KZSZ02 = value; }
}
private double _KZSZ03 = 0;
public double KZSZ03
{
get { return _KZSZ03; }
set { _KZSZ03 = value; }
}
private double _KZSZ04 = 0;
public double KZSZ04
{
get { return _KZSZ04; }
set { _KZSZ04 = value; }
}
private double _KZSZ05 = 0;
public double KZSZ05
{
get { return _KZSZ05; }
set { _KZSZ05 = value; }
}
private string _KZRQ01 = string.Empty;
public string KZRQ01
{
get { return _KZRQ01; }
set { _KZRQ01 = value; }
}
private string _KZRQ02 = string.Empty;
public string KZRQ02
{
get { return _KZRQ02; }
set { _KZRQ02 = value; }
}
private string _KZRQ03 = string.Empty;
public string KZRQ03
{
get { return _KZRQ03; }
set { _KZRQ03 = value; }
}
private string _KZRQ04 = string.Empty;
public string KZRQ04
{
get { return _KZRQ04; }
set { _KZRQ04 = value; }
}
private string _KZRQ05 = string.Empty;
public string KZRQ05
{
get { return _KZRQ05; }
set { _KZRQ05 = value; }
}
private string _KZWB01 = string.Empty;
public string KZWB01
{
get { return _KZWB01; }
set { _KZWB01 = value; }
}
private string _KZWB02 = string.Empty;
public string KZWB02
{
get { return _KZWB02; }
set { _KZWB02 = value; }
}
private string _KZWB03 = string.Empty;
public string KZWB03
{
get { return _KZWB03; }
set { _KZWB03 = value; }
}
private string _KZWB04 = string.Empty;
public string KZWB04
{
get { return _KZWB04; }
set { _KZWB04 = value; }
}
private string _KZWB05 = string.Empty;
public string KZWB05
{
get { return _KZWB05; }
set { _KZWB05 = value; }
}
#endregion
public XSYBJSPModel()
{ }
public XSYBJSPModel(string sWFID, double dWFINST)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJD_BJDID,XLXSBJD_BJFLID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJRQ,XLXSBJD_SYDWID,XLXSBJD_XSBMID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_SQR,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_CZJSXY,XLXSBJD_TXY, ");
sSQL.Add(" XLXSBJFL_BJFLMC as BJFL,GS_GSMC as XSDWMC, B.BM_MC as BJGSBMMC,XSY_ZJM as XSYZJM, A.BM_MC as XSYGSBM,XSY_SJ as XSYLXFS,(select count(XLXSBJDMX_BJDID) as SL from XLXSBJDMX where 1 = 1 and XLXSBJDMX_BJDID =XLXSBJD_BJDID) as BJMXSL, ");
sSQL.Add(" XLXSBJD_WHRID as WHRID, XLXSBJD_WHR as WHR, XLXSBJD_WHSJ as WHSJ, XLXSBJD_DOCGRPID as DOCGRPID, convert(float,XLXSBJD_FJS) as FJS, ");
sSQL.Add(" XLXSBJD_WFID as WFID, XLXSBJD_WPID, XLXSBJD_WFINST as WFINST, XLXSBJD_WFAWAITER as WFAWAITER, XLXSBJD_WFHANDLER as WFHANDLER, XLXSBJD_ACTNAME as ACTNAME ");
sSQL.Add(" from XLXSBJD ");
sSQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID");
sSQL.Add(" left join XSY on XSY_TXY = XLXSBJD_TXY");
sSQL.Add(" left join BM A on A.BM_BMID = XSY_BMID");
sSQL.Add(" left join BM B on B.BM_BMID = XLXSBJD_XSBMID");
sSQL.Add(" left join GS on GS_SYDWID = XLXSBJD_SYDWID");
sSQL.Add(" where XLXSBJD_WFID = :pWFID and XLXSBJD_WFINST = :pWFINST");
sSQL.ParamByName("pWFID").Value = sWFID;
sSQL.ParamByName("pWFINST").Value = dWFINST;
DataSet dsXLXSBJD = dberp.OpenDataSet(sSQL);
if (dsXLXSBJD.Tables[0].Rows.Count > 0)
{
_XLXSBJD_BJDID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim();
_XLXSBJD_BJFLID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
_XLXSBJD_JGBID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim();
_XLXSBJD_CLHQJGBID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_CLHQJGBID"].ToString().Trim();
_XLXSBJD_BJRQ = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
_XLXSBJD_SYDWID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_SYDWID"].ToString().Trim();
_XLXSBJD_XSBMID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_XSBMID"].ToString().Trim();
_XLXSBJD_KH = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim();
_XLXSBJD_XMMC = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim();
_XLXSBJD_XXDZ = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_XXDZ"].ToString().Trim();
_XLXSBJD_SQR = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_SQR"].ToString().Trim();
_XLXSBJD_FKSM = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_FKSM"].ToString().Trim();
_XLXSBJD_BZ = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_BZ"].ToString().Trim();
_XLXSBJD_CZJSXY = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_CZJSXY"].ToString().Trim();
_XLXSBJD_TXY = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_TXY"].ToString().Trim();
_BJFL = dsXLXSBJD.Tables[0].Rows[0]["BJFL"].ToString().Trim();
_XSDWMC = dsXLXSBJD.Tables[0].Rows[0]["XSDWMC"].ToString().Trim();
_BJGSBMMC = dsXLXSBJD.Tables[0].Rows[0]["BJGSBMMC"].ToString().Trim();
_XSYZJM = dsXLXSBJD.Tables[0].Rows[0]["XSYZJM"].ToString().Trim();
_XSYGSBM = dsXLXSBJD.Tables[0].Rows[0]["XSYGSBM"].ToString().Trim();
_XSYLXFS = dsXLXSBJD.Tables[0].Rows[0]["XSYLXFS"].ToString().Trim();
WPID = dsXLXSBJD.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
}
WFID = sWFID;
WFINST = dWFINST;
}
}
public class CodeInfo
{
private string _CodeID = string.Empty;
public string CodeID
{
get { return _CodeID; }
set { _CodeID = value; }
}
private string _CodeMC = string.Empty;
public string CodeMC
{
get { return _CodeMC; }
set { _CodeMC = value; }
}
}
public class XSYXX
{
private string _BGBZ = string.Empty;
public string BGBZ
{
get { return _BGBZ; }
set { _BGBZ = value; }
}
private string _TXY = string.Empty;
public string TXY
{
get { return _TXY; }
set { _TXY = value; }
}
private string _XSYZJM = string.Empty;
public string XSYZJM
{
get { return _XSYZJM; }
set { _XSYZJM = value; }
}
private string _LXFS = string.Empty;
public string LXFS
{
get { return _LXFS; }
set { _LXFS = value; }
}
private string _XSYGSBM = string.Empty;
public string XSYGSBM
{
get { return _XSYGSBM; }
set { _XSYGSBM = value; }
}
}
public class MNamedQuery
{
//查询方案名
private string _NQNAME = string.Empty;
public string NQNAME
{
get { return _NQNAME; }
set { _NQNAME = value; }
}
//价差汇总方式
private string _JCHZFS = string.Empty;
public string JCHZFS
{
get { return _JCHZFS; }
set { _JCHZFS = value; }
}
//价差汇总方式名称
private string _JCHZFSMC = string.Empty;
public string JCHZFSMC
{
get { return _JCHZFSMC; }
set { _JCHZFSMC = value; }
}
//显示价差明细
private string _XSJCMX = string.Empty;
public string XSJCMX
{
get { return _XSJCMX; }
set { _XSJCMX = value; }
}
//显示价差小计
private string _XSJCXJ = string.Empty;
public string XSJCXJ
{
get { return _XSJCXJ; }
set { _XSJCXJ = value; }
}
}
public class XSYBJSPMXInfo : ModelBase
{
private string _XLXSBJDMX_BJDID = string.Empty;
public string XLXSBJDMX_BJDID
{
get { return _XLXSBJDMX_BJDID; }
set { _XLXSBJDMX_BJDID = value; }
}
private string _XLXSBJDMX_XH = string.Empty;
public string XLXSBJDMX_XH
{
get { return _XLXSBJDMX_XH; }
set { _XLXSBJDMX_XH = value; }
}
private string _XLXSBJDMX_BJCP = string.Empty;
public string XLXSBJDMX_BJCP
{
get { return _XLXSBJDMX_BJCP; }
set { _XLXSBJDMX_BJCP = value; }
}
private string _XLXSBJDMX_BJSL = string.Empty;
public string XLXSBJDMX_BJSL
{
get { return _XLXSBJDMX_BJSL; }
set { _XLXSBJDMX_BJSL = value; }
}
private string _XLXSBJDMX_CPBJ = string.Empty;
public string XLXSBJDMX_CPBJ
{
get { return _XLXSBJDMX_CPBJ; }
set { _XLXSBJDMX_CPBJ = value; }
}
private string _XLXSBJDMX_TZQBJJE = string.Empty;
public string XLXSBJDMX_TZQBJJE
{
get { return _XLXSBJDMX_TZQBJJE; }
set { _XLXSBJDMX_TZQBJJE = value; }
}
private string _XLXSBJDMX_BZ = string.Empty;
public string XLXSBJDMX_BZ
{
get { return _XLXSBJDMX_BZ; }
set { _XLXSBJDMX_BZ = value; }
}
}
public class XSYBJSPJCLInfo : ModelBase
{
private string _XLXSBJDMX_BJDID = string.Empty;
public string XLXSBJDMX_BJDID
{
get { return _XLXSBJDMX_BJDID; }
set { _XLXSBJDMX_BJDID = value; }
}
private string _XLXSBJDMX_XH = string.Empty;
public string XLXSBJDMX_XH
{
get { return _XLXSBJDMX_XH; }
set { _XLXSBJDMX_XH = value; }
}
private string _HZFS = string.Empty;
public string HZFS
{
get { return _HZFS; }
set { _HZFS = value; }
}
private string _XLXSBJDMX_BJCP = string.Empty;
public string XLXSBJDMX_BJCP
{
get { return _XLXSBJDMX_BJCP; }
set { _XLXSBJDMX_BJCP = value; }
}
private string _XLXSBJDMX_BJSL = string.Empty;
public string XLXSBJDMX_BJSL
{
get { return _XLXSBJDMX_BJSL; }
set { _XLXSBJDMX_BJSL = value; }
}
private string _XLXSBJDMX_CPBJ = string.Empty;
public string XLXSBJDMX_CPBJ
{
get { return _XLXSBJDMX_CPBJ; }
set { _XLXSBJDMX_CPBJ = value; }
}
private string _XLXSBJDMX_BJJE = string.Empty;
public string XLXSBJDMX_BJJE
{
get { return _XLXSBJDMX_BJJE; }
set { _XLXSBJDMX_BJJE = value; }
}
private string _XLXSBJDMX_BZ = string.Empty;
public string XLXSBJDMX_BZ
{
get { return _XLXSBJDMX_BZ; }
set { _XLXSBJDMX_BZ = value; }
}
private string _XLXSBJDMX_JCL = string.Empty;
public string XLXSBJDMX_JCL
{
get { return _XLXSBJDMX_JCL; }
set { _XLXSBJDMX_JCL = value; }
}
}
public class XSYBJSPBO : BOBase
{
DataSet dsFJXXSZ = new DataSet();
public override ModelBase GetModel()
{
return CurMO;
}
public override void SetModel(ModelBase Model)
{
CurMO = (XSYBJSPModel)Model;
}
public List<XSYBJSPModel> GetWXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount)
{
return GetWXSYBJSPList(iStart, iNum, BJRQS, BJRQZ, BJZJES, BJZJEZ, KH, XM, BJDID, out iRowCount, null);
}
public List<XSYBJSPModel> GetWXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount, string SQR)
{
Mac.MacLog.TraceFormat(String.Format("GetWXSYBJSPList-begin"));
List<XSYBJSPModel> moList = new List<XSYBJSPModel>();
CurNameQuery = new XLBJD_M();
CurNameQuery.FieldByName("SW").Value = "W";
CurNameQuery.FieldByName("BJRQS").Value = BJRQS;
CurNameQuery.FieldByName("BJRQZ").Value = BJRQZ;
CurNameQuery.FieldByName("KH").Value = KH;
CurNameQuery.FieldByName("XM").Value = XM;
CurNameQuery.FieldByName("BJDID").Value = BJDID;
CurNameQuery.FieldByName("SQR").Value = SQR ?? "";
string sCondition = "";
if (!BJZJES.Trim().Equals("") && !BJZJES.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE >= " + BJZJES;
}
if (!BJZJEZ.Trim().Equals("") && !BJZJEZ.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE <= " + BJZJEZ;
}
Mac.MacLog.TraceFormat(String.Format("PreQuerySQL-before"));
PreQuerySQL(iStart + iNum, sCondition);
Mac.MacLog.TraceFormat(String.Format("PreQuerySQL-after"));
iRowCount = OpenQueryCountSQL();
Mac.MacLog.TraceFormat(String.Format("iRowCount-after"));
DataSet ds = OpenQueryFunctionSQL();
Mac.MacLog.TraceFormat(String.Format("ds-count:{0}", ds.Tables[0].Rows.ToString().Trim()));
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
Mac.MacLog.TraceFormat(String.Format("SetmoList-after"));
return moList;
}
public List<XSYBJSPModel> GetHXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount)
{
return GetHXSYBJSPList(iStart, iNum, BJRQS, BJRQZ, BJZJES, BJZJEZ, KH, XM, BJDID, out iRowCount, null);
}
public List<XSYBJSPModel> GetHXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount, string SQR)
{
List<XSYBJSPModel> moList = new List<XSYBJSPModel>();
CurNameQuery = new XLBJD_M();
CurNameQuery.FieldByName("SW").Value = "H";
CurNameQuery.FieldByName("BJRQS").Value = BJRQS;
CurNameQuery.FieldByName("BJRQZ").Value = BJRQZ;
CurNameQuery.FieldByName("KH").Value = KH;
CurNameQuery.FieldByName("XM").Value = XM;
CurNameQuery.FieldByName("BJDID").Value = BJDID;
CurNameQuery.FieldByName("SQR").Value = SQR ?? "";
string sCondition = "";
if (!BJZJES.Trim().Equals("") && !BJZJES.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE >= " + BJZJES;
}
if (!BJZJEZ.Trim().Equals("") && !BJZJEZ.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE <= " + BJZJEZ;
}
PreQuerySQL(iStart + iNum, sCondition);
iRowCount = OpenQueryCountSQL();
DataSet ds = OpenQueryFunctionSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public List<XSYBJSPModel> GetAXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount)
{
return GetAXSYBJSPList(iStart, iNum, BJRQS, BJRQZ, BJZJES, BJZJEZ, KH, XM, BJDID, out iRowCount, null);
}
public List<XSYBJSPModel> GetAXSYBJSPList(int iStart, int iNum, string BJRQS, string BJRQZ, string BJZJES, string BJZJEZ, string KH, string XM, string BJDID, out int iRowCount, string SQR)
{
List<XSYBJSPModel> moList = new List<XSYBJSPModel>();
CurNameQuery = new XLBJD_M();
CurNameQuery.FieldByName("SW").Value = "A";
CurNameQuery.FieldByName("BJRQS").Value = BJRQS;
CurNameQuery.FieldByName("BJRQZ").Value = BJRQZ;
CurNameQuery.FieldByName("KH").Value = KH;
CurNameQuery.FieldByName("XM").Value = XM;
CurNameQuery.FieldByName("BJDID").Value = BJDID;
CurNameQuery.FieldByName("SQR").Value = SQR ?? "";
string sCondition = "";
if (!BJZJES.Trim().Equals("") && !BJZJES.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE >= " + BJZJES;
}
if (!BJZJEZ.Trim().Equals("") && !BJZJEZ.Trim().Equals("0"))
{
sCondition += " and XLXSBJD_ZJE <= " + BJZJEZ;
}
PreQuerySQL(iStart + iNum, sCondition);
iRowCount = OpenQueryCountSQL();
DataSet ds = OpenQueryFunctionSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public List<XSYBJSPModel> GetXSYBJSPListByFA(int iStart, int iNum, int iMDID, string sNQNAME, string sNQCLASSNAME, out int iRowCount)
{
List<XSYBJSPModel> moList = new List<XSYBJSPModel>();
CurNameQuery = new XLBJD_M();
CurNameQuery.SetValueFromScheme(tSession.UserId, iMDID, sNQNAME, sNQCLASSNAME);
PreQuerySQL(iStart + iNum, "");
DataSet ds = OpenQueryFunctionSQL();
iRowCount = OpenQueryCountSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public override ModelBase GetSingleModel(string Key)
{
dsFJXXSZ = LoadFJXXSZ();
XSYBJSPModel MO = new XSYBJSPModel();
CurNameQuery = new XLBJD_M();
PreQuerySQL(1, " and XLXSBJD_BJDID = :pKey ");
Param.Add("pKey", Key);
ReplaceParams();
DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sKHLY = "";
string sXMLY = "";
string sQYXZQY = "";
string sXZQYBH = "";
string sBJFLTZM = "";
string sQYBJDJC = "";
string sQYXSHT = "";
string sFJSCLX = "";
if (DSActiveModule.IsActiveModule(100956005))
sQYXZQY = "Y";
else
sQYXZQY = "N";
if (CheckModule("100860008"))
sQYBJDJC = "Y";
else
sQYBJDJC = "N";
SetKHXMLY(ref sKHLY, ref sXMLY, ref sXZQYBH, ref sBJFLTZM, ref sFJSCLX);
ds.Tables[0].Rows[0]["KHLY"] = sKHLY;
ds.Tables[0].Rows[0]["XMLY"] = sXMLY;
ds.Tables[0].Rows[0]["QYXZQY"] = sQYXZQY;
ds.Tables[0].Rows[0]["XZQYBH"] = sXZQYBH;
ds.Tables[0].Rows[0]["QYBJDJC"] = sQYBJDJC;
ds.Tables[0].Rows[0]["FJSCLX"] = sFJSCLX;
ds.Tables[0].Rows[0]["MRDYYS"] = GetMRDYYS();
if (ds.Tables[0].Rows[0]["YLDZ"].ToString().Trim().Equals("Y"))
{
string sYLDZWPNAME = getYLDZWPNAME(ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim());
ds.Tables[0].Rows[0]["YLZDLC"] = sYLDZWPNAME;
}
string sZDXJZJE = "";
string sJGBZJE = "";
string sBJZJE = ds.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString().Trim();
string sZDXJJCL = ds.Tables[0].Rows[0]["ZDXJJCL"].ToString().Trim();
string sBJJCL = ds.Tables[0].Rows[0]["XLXSBJD_LRL"].ToString().Trim();
string sBJDID = ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim();
if (CheckXSHT(sBJDID))
sQYXSHT = "Y";
else
sQYXSHT = "N";
ds.Tables[0].Rows[0]["QYXSHT"] = sQYXSHT;
CXZJE(sBJDID, ref sZDXJZJE, ref sJGBZJE);
ds.Tables[0].Rows[0]["XLXSBJD_BJZJE"] = CMISproConvert.StrToFloat(sBJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJZJE, 0), 2)), 2);
ds.Tables[0].Rows[0]["XLXSBJD_ZDXJJCL"] = CMISproConvert.StrToFloat(sZDXJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[0]["XLXSBJD_BJJCL"] = CMISproConvert.StrToFloat(sBJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[0]["XLXSBJD_ZDXJZJE"] = CMISproConvert.StrToFloat(sZDXJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJZJE, 0), 2)), 2);
ds.Tables[0].Rows[0]["XLXSBJD_CPJJJE"] = CMISproConvert.StrToFloat(sJGBZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sJGBZJE, 0), 2)), 2);
string sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
string sXSTLJ = "";
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
string sIsXJY = "N";
string sIsSJY = "N";
string sIsHJY = "N";
SetRYJS(tSession.UserId, ref sIsXJY, ref sIsSJY, ref sIsHJY);
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, sIsXJY.Equals("Y"), sIsSJY.Equals("Y"), sIsHJY.Equals("Y"));
#region 按角色隐藏栏目
string sBJBM = bjflxx.XLXSBJFL_BJBM;
string sXSZJE = "Y";
string sXSZDXJ = "N";
string sXSZDXJJCL = "N";
if (bjflxx.XSZDXJ())
{
sXSZDXJ = "Y";
sXSZDXJJCL = "Y";
}
string sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
string sXSJGBBJ = "Y";
string sXSBJJCL = "N";
if (bjflxx.XSJCL())
sXSBJJCL = "Y";
string sXSDCPDF = "Y";
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJJE":
sXSZJE = "N";
break;
case "XLXSBJDMX_ZDXJ":
if (sXSZDXJ.Equals("Y"))
sXSZDXJ = "N";
break;
case "XLXSBJDMX_ZDXJJCL":
if (sXSZDXJJCL.Equals("Y"))
sXSZDXJJCL = "N";
break;
case "XLXSBJDMX_JGBBJ":
if (sXSJGBBJ.Equals("Y"))
sXSJGBBJ = "N";
break;
case "XLXSBJDMX_JGBBJJCL":
if (sXSBJJCL.Equals("Y"))
sXSBJJCL = "N";
break;
case "btnAPPDCPDF":
if (sXSDCPDF.Equals("Y"))
sXSDCPDF = "N";
break;
}
}
}
ds.Tables[0].Rows[0]["BJBM"] = sBJBM;
ds.Tables[0].Rows[0]["XSZJE"] = sXSZJE;
ds.Tables[0].Rows[0]["XSZDXJ"] = sXSZDXJ;
ds.Tables[0].Rows[0]["XSZDXJJCL"] = sXSZDXJJCL;
ds.Tables[0].Rows[0]["JGBBJBM"] = sJGBBJBM;
ds.Tables[0].Rows[0]["XSJGBBJ"] = sXSJGBBJ;
ds.Tables[0].Rows[0]["XSBJJCL"] = sXSBJJCL;
ds.Tables[0].Rows[0]["XSDCPDF"] = sXSDCPDF;
#endregion
if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TLJ";
else if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TJ";
else if (bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "LJ";
if (!sXSTLJ.Equals(""))
{
ds.Tables[0].Rows[0]["XSTLJ"] = sXSTLJ;
string sTJ = ds.Tables[0].Rows[0]["XLXSBJD_TJ"].ToString().Trim();
string sLJ = ds.Tables[0].Rows[0]["XLXSBJD_LJ"].ToString().Trim();
if (CMISproConvert.StrToFloat(sTJ, 0) == 0 && CMISproConvert.StrToFloat(sLJ, 0) == 0)
{
string sBJRQ = ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
string sJZBJHS = ds.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim();
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(sBJRQ, sBJFLID, sJZBJHS.Equals("Y"));
sTJ = dicTLJG["TJ"];
sLJ = dicTLJG["LJ"];
}
ds.Tables[0].Rows[0]["TJ"] = CMISproConvert.StrToFloat(sTJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sTJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
ds.Tables[0].Rows[0]["LJ"] = CMISproConvert.StrToFloat(sLJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sLJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
}
SetMO(ds.Tables[0].Rows[0], MO);
}
else
MO = null;
return MO;
}
public override ModelBase GetSingleModel(string sWFID, double dWFINST)
{
dsFJXXSZ = LoadFJXXSZ();
XSYBJSPModel MO = new XSYBJSPModel();
CurNameQuery = new XLBJD_M();
PreQuerySQL(1, " and XLXSBJD_WFID = :pWFID and XLXSBJD_WFINST = :pWFINST ");
Param.Add("pWFID", sWFID);
Param.Add("pWFINST", dWFINST);
ReplaceParams();
DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sKHLY = "";
string sXMLY = "";
string sQYXZQY = "";
string sXZQYBH = "";
string sBJFLTZM = "";
string sQYBJDJC = "";
string sQYXSHT = "";
string sFJSCLX = "";
if (DSActiveModule.IsActiveModule(100956005))
sQYXZQY = "Y";
else
sQYXZQY = "N";
if (CheckModule("100860008"))
sQYBJDJC = "Y";
else
sQYBJDJC = "N";
SetKHXMLY(ref sKHLY, ref sXMLY, ref sXZQYBH, ref sBJFLTZM, ref sFJSCLX);
ds.Tables[0].Rows[0]["KHLY"] = sKHLY;
ds.Tables[0].Rows[0]["XMLY"] = sXMLY;
ds.Tables[0].Rows[0]["QYXZQY"] = sQYXZQY;
ds.Tables[0].Rows[0]["XZQYBH"] = sXZQYBH;
ds.Tables[0].Rows[0]["QYBJDJC"] = sQYBJDJC;
ds.Tables[0].Rows[0]["FJSCLX"] = sFJSCLX;
ds.Tables[0].Rows[0]["MRDYYS"] = GetMRDYYS();
if (ds.Tables[0].Rows[0]["YLDZ"].ToString().Trim().Equals("Y"))
{
string sYLDZWPNAME = getYLDZWPNAME(ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim());
ds.Tables[0].Rows[0]["YLZDLC"] = sYLDZWPNAME;
}
string sZDXJZJE = "";
string sJGBZJE = "";
string sBJZJE = ds.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString().Trim();
string sZDXJJCL = ds.Tables[0].Rows[0]["ZDXJJCL"].ToString().Trim();
string sBJJCL = ds.Tables[0].Rows[0]["XLXSBJD_LRL"].ToString().Trim();
string sBJDID = ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim();
if (CheckXSHT(sBJDID))
sQYXSHT = "Y";
else
sQYXSHT = "N";
ds.Tables[0].Rows[0]["QYXSHT"] = sQYXSHT;
CXZJE(sBJDID, ref sZDXJZJE, ref sJGBZJE);
ds.Tables[0].Rows[0]["XLXSBJD_BJZJE"] = CMISproConvert.StrToFloat(sBJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJZJE, 0), 2)), 2);
ds.Tables[0].Rows[0]["XLXSBJD_ZDXJJCL"] = CMISproConvert.StrToFloat(sZDXJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[0]["XLXSBJD_BJJCL"] = CMISproConvert.StrToFloat(sBJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[0]["XLXSBJD_ZDXJZJE"] = CMISproConvert.StrToFloat(sZDXJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJZJE, 0), 2)), 2);
ds.Tables[0].Rows[0]["XLXSBJD_CPJJJE"] = CMISproConvert.StrToFloat(sJGBZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sJGBZJE, 0), 2)), 2);
string sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
string sXSTLJ = "";
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
string sIsXJY = "N";
string sIsSJY = "N";
string sIsHJY = "N";
SetRYJS(tSession.UserId, ref sIsXJY, ref sIsSJY, ref sIsHJY);
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, sIsXJY.Equals("Y"), sIsSJY.Equals("Y"), sIsHJY.Equals("Y"));
#region 按角色隐藏栏目
string sBJBM = bjflxx.XLXSBJFL_BJBM;
string sXSZJE = "Y";
string sXSZDXJ = "N";
string sXSZDXJJCL = "N";
if (bjflxx.XSZDXJ())
{
sXSZDXJ = "Y";
sXSZDXJJCL = "Y";
}
string sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
string sXSJGBBJ = "Y";
string sXSBJJCL = "N";
if (bjflxx.XSJCL())
sXSBJJCL = "Y";
string sXSDCPDF = "Y";
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJJE":
sXSZJE = "N";
break;
case "XLXSBJDMX_ZDXJ":
if (sXSZDXJ.Equals("Y"))
sXSZDXJ = "N";
break;
case "XLXSBJDMX_ZDXJJCL":
if (sXSZDXJJCL.Equals("Y"))
sXSZDXJJCL = "N";
break;
case "XLXSBJDMX_JGBBJ":
if (sXSJGBBJ.Equals("Y"))
sXSJGBBJ = "N";
break;
case "XLXSBJDMX_JGBBJJCL":
if (sXSBJJCL.Equals("Y"))
sXSBJJCL = "N";
break;
case "btnAPPDCPDF":
if (sXSDCPDF.Equals("Y"))
sXSDCPDF = "N";
break;
}
}
}
ds.Tables[0].Rows[0]["BJBM"] = sBJBM;
ds.Tables[0].Rows[0]["XSZJE"] = sXSZJE;
ds.Tables[0].Rows[0]["XSZDXJ"] = sXSZDXJ;
ds.Tables[0].Rows[0]["XSZDXJJCL"] = sXSZDXJJCL;
ds.Tables[0].Rows[0]["JGBBJBM"] = sJGBBJBM;
ds.Tables[0].Rows[0]["XSJGBBJ"] = sXSJGBBJ;
ds.Tables[0].Rows[0]["XSBJJCL"] = sXSBJJCL;
ds.Tables[0].Rows[0]["XSDCPDF"] = sXSDCPDF;
#endregion
if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TLJ";
else if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TJ";
else if (bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "LJ";
if (!sXSTLJ.Equals(""))
{
ds.Tables[0].Rows[0]["XSTLJ"] = sXSTLJ;
string sTJ = ds.Tables[0].Rows[0]["XLXSBJD_TJ"].ToString().Trim();
string sLJ = ds.Tables[0].Rows[0]["XLXSBJD_LJ"].ToString().Trim();
if (CMISproConvert.StrToFloat(sTJ, 0) == 0 && CMISproConvert.StrToFloat(sLJ, 0) == 0)
{
string sBJRQ = ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
string sJZBJHS = ds.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim();
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(sBJRQ, sBJFLID, sJZBJHS.Equals("Y"));
sTJ = dicTLJG["TJ"];
sLJ = dicTLJG["LJ"];
}
ds.Tables[0].Rows[0]["TJ"] = CMISproConvert.StrToFloat(sTJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sTJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
ds.Tables[0].Rows[0]["LJ"] = CMISproConvert.StrToFloat(sLJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sLJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
}
SetMO(ds.Tables[0].Rows[0], MO);
}
else
MO = null;
return MO;
}
protected override void WFAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone)
{
string Key = (CurMO as XSYBJSPModel).XLXSBJD_BJDID;
_curWorkFlow.dbe.ExecSQL(string.Format("update XLXSBJD set XLXSBJD_WFID='{0}', XLXSBJD_WPID='{1}', XLXSBJD_WFINST={2}, XLXSBJD_WFAWAITER='{3}', XLXSBJD_WFHANDLER='{4}', XLXSBJD_ACTNAME='{5}' where XLXSBJD_BJDID='{6}' ",
_curWorkFlow.WFID, _curWorkFlow.WPID, _curWorkFlow.WFInst.ToString().Trim(), _curWorkFlow.Awaiter, _curWorkFlow.Handler, _curWorkFlow.GetWFActionName(Action), Key));
CurMO.WFID = Sender.WFID;
CurMO.WFINST = Sender.WFInst;
CurMO.WFAWAITER = Sender.Awaiter;
CurMO.WFHANDLER = Sender.Handler;
CurMO.WPID = Sender.WPID;
CurMO.WPNAME = _curWorkFlow.GetWPName(CurMO.WFID, CurMO.WPID);
TSQL SQL = new TSQL(Sender.dbe);
string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID);
if (sCurZT == "ZZZZ")
{
string sPSDH = "";
bool bINS = false;
XLBJD_BDOBill.InsBJPS(SQL, Sender.dbe, Sender, Action, Key, tSession, "100860061", ref sPSDH, ref bINS);
if (bINS)
{
XLBJD_BDOBill.DispatchtoZZZZ(sPSDH, tSession);
}
}
if (Sender.WPID.Equals("ZZZZ"))
XLBJDUtils.UpdateBJWCSJ(Key);
}
protected override void PreQuerySQL(int maxRecords, string sCondition)
{
base.PreQuerySQL(maxRecords, sCondition);
QueryFunctionSQL.Add(" XLXSBJD_BJDID,XLXSBJD_BJFLID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJRQ,XLXSBJD_SYDWID,XLXSBJD_XSBMID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_SQR,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_CZJSXY,XLXSBJD_TXY, ");
QueryFunctionSQL.Add(" XLXSBJFL_BJFLMC as BJFL,GS_GSMC as XSDWMC, B.BM_MC as BJGSBMMC,XSY_ZJM as XSYZJM,case when ISNULL(A.BM_MC,' ') = ' ' then '' else rtrim(A.BM_BMID) || '|' || A.BM_MC end as XSYGSBM,case when isnull(XSY_SJ,' ') <> ' ' then isnull(XSY_SJ,' ') else isnull(XSY_DH,' ') end as XSYLXFS, ");
QueryFunctionSQL.Add(" (select count(XLXSBJDMX_BJDID) as SL from XLXSBJDMX where 1 = 1 and XLXSBJDMX_BJDID =XLXSBJD_BJDID) as BJMXSL,'' as KHLY,'' as XMLY,'' as QYXSHT,'' as FJSCLX,");
QueryFunctionSQL.Add(" case when isnull(XLXSBJYLZD_SQSJ,convert(datetime,'1900-01-01 00:00:00')) = convert(datetime,'1900-01-01 00:00:00') then 'N' else 'Y' end as YLDZ ,XLXSBJYLZD_SQSJ,XLXSBJYLZD_WCSJ,'结束' as YLZDLC,XLXSBJD_XZQHID,");
QueryFunctionSQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_XZQHID else D.XZQH_XZQHID end as SFID,case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_XZQHID end as CSID,");
QueryFunctionSQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_PROVINCE else D.XZQH_PROVINCE end as SFMC,case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_CITY end as CSMC,'N' as QYXZQY,'N' as XZQYBH,XLXSBJD_LBXSFJXX,");
QueryFunctionSQL.Add(" XLXSBJD_ZJE, ' ' as XLXSBJD_BJZJE, ' ' as XLXSBJD_ZDXJZJE ,XLXSBJD_ZDXJJCL as ZDXJJCL,' ' as XLXSBJD_ZDXJJCL,' ' as XLXSBJD_CPJJJE,XLXSBJD_LRL, ' ' as XLXSBJD_BJJCL,XLXSBJD_FKQXNR,'N' as QYBJDJC,XLXSBJD_JZBJHS,' ' as XSTLJ,' ' as TJ,' ' as LJ,' ' as TZL,' ' as LZL,XLXSBJD_TJ,XLXSBJD_LJ,");
QueryFunctionSQL.Add(" 'N' as MRDYYS,XLXSBJD_WHRID as WHRID, XLXSBJD_WHR as WHR, XLXSBJD_WHSJ as WHSJ, XLXSBJD_DOCGRPID as DOCGRPID, convert(float,XLXSBJD_FJS) as FJS, ");
QueryFunctionSQL.Add(" XLXSBJD_WFID as WFID, XLXSBJD_WPID as WPID, XLXSBJD_WFINST as WFINST, XLXSBJD_WFAWAITER as WFAWAITER, XLXSBJD_WFHANDLER as WFHANDLER, XLXSBJD_ACTNAME as ACTNAME,'N' as ExistFJXX, ");
QueryFunctionSQL.Add(" ' ' as BJBM,'Y' as XSZJE,'N' as XSZDXJ,'N' as XSZDXJJCL,' ' as JGBBJBM,'Y' as XSJGBBJ,'N' as XSBJJCL,'Y' as XSDCPDF, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05,");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05,");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05 ");
QueryFunctionSQL.Add(" from XLXSBJD ");
QueryFunctionSQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID");
QueryFunctionSQL.Add(" left join XSY on XSY_TXY = XLXSBJD_TXY");
QueryFunctionSQL.Add(" left join BM A on A.BM_BMID = XSY_BMID");
QueryFunctionSQL.Add(" left join BM B on B.BM_BMID = XLXSBJD_XSBMID");
QueryFunctionSQL.Add(" left join GS on GS_SYDWID = XLXSBJD_SYDWID");
QueryFunctionSQL.Add(" left join (select min(XLXSBJYLZD_SQDH) as YLZDSQDH,XLXSBJYLZD_BJDID from XLXSBJYLZD where 1=1 group by XLXSBJYLZD_BJDID ) YLZDSQ ");
QueryFunctionSQL.Add(" on XLXSBJYLZD_BJDID = XLXSBJD_BJDID ");
QueryFunctionSQL.Add(" left join XLXSBJYLZD on XLXSBJYLZD_SQDH = YLZDSQDH ");
QueryFunctionSQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
QueryFunctionSQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
QueryFunctionSQL.Add(" left join XLXSBJKZXX on XLXSBJKZXX_BJDID = XLXSBJD_BJDID ");
QueryFunctionSQL.Add(" left join (select WFLOG_WFID, WFLOG_WFINST, max(WFLOG_AEND) as WFLOG_MAX_AEND from WFLOG group by WFLOG_WFID, WFLOG_WFINST) WFLOG_AEND_M ");
QueryFunctionSQL.Add(" on WFLOG_AEND_M.WFLOG_WFID = XLXSBJD_WFID and WFLOG_AEND_M.WFLOG_WFINST = XLXSBJD_WFINST ");
QueryFunctionSQL.Add(" where 1=1 and isnull(XLXSBJD_YWLX,' ') = ' '");
QueryFunctionSQL.Add(sCondition);
StringBuilder sSQL = new StringBuilder();
if (maxRecords > 1)
{
switch (CurNameQuery.FieldByName("SW").Value.Trim())
{
case "W":
sSQL.AppendLine("\r\n and " + _curWorkFlow.GetWhereAgent("XLXSBJ_BJD", tSession.UserId, "XLXSBJD_WFAWAITER", "XLXSBJD_WFID", "XLXSBJD_WPID"));
break;
case "H":
sSQL.AppendLine("\r\n and XLXSBJD_WFHANDLER LIKE :XLXSBJD_WFHANDLER ");
Param.Add("XLXSBJD_WFHANDLER", "%," + tSession.UserId + ",%");
break;
case "A":
break;
}
string sGTMAF001 = GetOption("GTMAF001");
if (!sGTMAF001.Trim().Equals(""))
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WFID", sGTMAF001));
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("WFAWAITER").Value.Trim()))
{
sSQL.AppendLine(" \r\n and XLXSBJD_WFAWAITER like :pWFAWITER ");
Param.Add("pWFAWITER", string.Format("%,{0},%", CurNameQuery.FieldByName("WFAWAITER").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("STATE").Value.Trim()))
{
sSQL.AppendLine("\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurNameQuery.FieldByName("STATE").Value.Trim()));
}
if (!CurNameQuery.FieldByName("XHDW").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and (GS_GSMC like :pXHDW or KH_MC like :pXHDW) ");
Param.Add("pXHDW", "%" + CurNameQuery.FieldByName("XHDW").Value.Trim() + "%");
}
if (!CurNameQuery.FieldByName("TXY").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and (XLXSBJD_TXY = :pTXY) ");
Param.Add("pTXY", CurNameQuery.FieldByName("TXY").Value.Trim());
}
if (!CurNameQuery.FieldByName("KH").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and (XLXSBJD_KH like :pKH) ");
Param.Add("pKH", "%" + CurNameQuery.FieldByName("KH").Value.Trim() + "%");
}
if (!CurNameQuery.FieldByName("XM").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and (XLXSBJD_XMMC like :pXM) ");
Param.Add("pXM", "%" + CurNameQuery.FieldByName("XM").Value.Trim() + "%");
}
if (!CurNameQuery.FieldByName("BJDID").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and XLXSBJD_BJDID like :pBJDID ");
Param.Add("pBJDID", "%" + CurNameQuery.FieldByName("BJDID").Value.Trim() + "%");
}
if (!CurNameQuery.FieldByName("SQR").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and (isnull(XLXSBJD_SQR,' ') like :pSQRXM or isnull(XLXSBJD_SQRGH,' ') like :pSQRGH) ");
string sSQRKey = "%" + CurNameQuery.FieldByName("SQR").Value.Trim() + "%";
Param.Add("pSQRXM", sSQRKey);
Param.Add("pSQRGH", sSQRKey);
}
if (!CurNameQuery.FieldByName("BJFLID").Value.Trim().Equals(""))
{
sSQL.AppendLine("\r\n and XLXSBJD_BJFLID = :pBJFLID ");
Param.Add("pBJFLID", CurNameQuery.FieldByName("BJFLID").Value.Trim());
}
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
CurNameQuery.FieldByName("BJRQS").Value.ToString().Trim(),
CurNameQuery.FieldByName("BJRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate));
string sBJU012 = GetOption("BJU012");
if (!sBJU012.Equals(""))
{
sSQL.AppendLine("\r\n and ( " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", sBJU012));
sSQL.AppendLine(" or isnull(XLXSBJD_BJFLID, ' ') = ' ')");
}
string sKZZXU003 = GetOption("KZZXU003");
if (!sKZZXU003.Equals(""))
{
sSQL.AppendLine("\r\n and ( " + CMISproDataBase.GetWhereEqual("XLXSBJD_SYDWID", sKZZXU003));
sSQL.AppendLine(" or isnull(XLXSBJD_SYDWID, ' ') = ' ')");
}
string sHJU006 = GetOption("HJU006");
if (!sHJU006.Equals(""))
{
sSQL.AppendLine("\r\n and ( " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", sHJU006));
sSQL.AppendLine(" or isnull(XLXSBJD_XSBMID, ' ') = ' ')");
}
}
string sOrders = "";
if (CurNameQuery.FieldByName("PXFS").Value.Trim().Equals("报价单号"))
{
sOrders += " order by XLXSBJD_BJDID ";
}
else
{
sOrders += " order by isnull(WFLOG_MAX_AEND, convert(datetime,'1900-01-01 00:00:00')) DESC, XLXSBJD_BJDID ";
}
QueryFunctionSQL.Add(sSQL.ToString());
QueryFunctionSQL.Add(sOrders);
if (maxRecords > 1)
{
QueryCountSQL.Add(" from XLXSBJD ");
QueryCountSQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID");
QueryCountSQL.Add(" left join XSY on XSY_TXY = XLXSBJD_TXY");
QueryCountSQL.Add(" left join BM A on A.BM_BMID = XSY_BMID");
QueryCountSQL.Add(" left join BM B on B.BM_BMID = XLXSBJD_XSBMID");
QueryCountSQL.Add(" left join GS on GS_SYDWID = XLXSBJD_SYDWID");
QueryCountSQL.Add(" where 1=1 and isnull(XLXSBJD_YWLX,' ') = ' ' ");
QueryCountSQL.Add(sCondition);
QueryCountSQL.Add(sSQL.ToString());
}
aField = new string[] { "XLXSBJD_BJDID","XLXSBJD_BJFLID","XLXSBJD_JGBID","XLXSBJD_CLHQJGBID","XLXSBJD_BJRQ","XLXSBJD_SYDWID","XLXSBJD_XSBMID","XLXSBJD_KH",
"XLXSBJD_XMMC","XLXSBJD_XXDZ","XLXSBJD_SQR","XLXSBJD_FKSM","XLXSBJD_BZ","XLXSBJD_CZJSXY","XLXSBJD_TXY","BJFL","XSDWMC","BJGSBMMC","XSYZJM","XSYGSBM","XSYLXFS","BJMXSL","KHLY","XMLY","",
"YLDZ","XLXSBJYLZD_SQSJ","XLXSBJYLZD_WCSJ","YLZDLC","XLXSBJD_XZQHID","SFID","SFMC","CSID","CSMC","QYXZQY","XZQYBH","XLXSBJD_LBXSFJXX",
"XLXSBJD_BJZJE","XLXSBJD_ZDXJZJE","XLXSBJD_ZDXJJCL","XLXSBJD_CPJJJE","XLXSBJD_BJJCL","XLXSBJD_FKQXNR","QYBJDJC","QYXSHT","FJSCLX","XLXSBJD_JZBJHS","XSTLJ","TJ","LJ","TZL","LZL","MRDYYS",
"DOCGRPID","FJS","WHRID","WHR","WHSJ","WFID","WFINST","WPID","WFAWAITER","WFHANDLER","ACTNAME","ExistFJXX",
"BJBM","XSZJE","XSZDXJ","XSZDXJJCL","JGBBJBM","XSJGBBJ","XSBJJCL","XSDCPDF",
"KZZF01","KZZF02","KZZF03","KZZF04","KZZF05","KZZF06","KZZF07","KZZF08","KZZF09","KZZF10",
"KZSZ01","KZSZ02","KZSZ03","KZSZ04","KZSZ05","KZRQ01","KZRQ02","KZRQ03","KZRQ04","KZRQ05",
"KZWB01","KZWB02","KZWB03","KZWB04","KZWB05"};
}
protected override void PreInsertSQL()
{
base.PreInsertSQL();
string InsertSql = "INSERT INTO XLXSBJD(XLXSBJD_BJDID,XLXSBJD_BJFLID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJRQ,XLXSBJD_SYDWID,XLXSBJD_XSBMID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_CZJSXY,XLXSBJD_TXY,XLXSBJD_XZQHID, \r\n"
+ " XLXSBJD_WHRID, XLXSBJD_WHR, XLXSBJD_WHSJ, XLXSBJD_DOCGRPID, XLXSBJD_FJS) \r\n"
+ "VALUES(:XLXSBJD_BJDID,:XLXSBJD_BJFLID, :XLXSBJD_JGBID,:XLXSBJD_CLHQJGBID, :XLXSBJD_BJRQ,:XLXSBJD_SYDWID,:XLXSBJD_XSBMID,:XLXSBJD_KH,:XLXSBJD_XMMC,:XLXSBJD_XXDZ,:XLXSBJD_FKSM,:XLXSBJD_BZ,:XLXSBJD_CZJSXY,:XLXSBJD_TXY,:XLXSBJD_XZQHID, \r\n"
+ " :WHRID, :WHR, :WHSJ, :DOCGRPID, :FJS) \r\n";
InsertSQL.Add(InsertSql);
}
protected override void PreUpdateSQL()
{
base.PreUpdateSQL();
string UpdateSql = "";
UpdateSql = "UPDATE XLXSBJD "
+ "SET XLXSBJD_BJDID=:XLXSBJD_BJDID,XLXSBJD_BJFLID=:XLXSBJD_BJFLID, XLXSBJD_JGBID=:XLXSBJD_JGBID,XLXSBJD_CLHQJGBID=:XLXSBJD_CLHQJGBID, XLXSBJD_BJRQ=:XLXSBJD_BJRQ,XLXSBJD_XZQHID=:XLXSBJD_XZQHID, \r\n"
+ " XLXSBJD_SYDWID=:XLXSBJD_SYDWID,XLXSBJD_XSBMID=:XLXSBJD_XSBMID,XLXSBJD_KH=:XLXSBJD_KH,XLXSBJD_XMMC=:XLXSBJD_XMMC,XLXSBJD_XXDZ=:XLXSBJD_XXDZ,XLXSBJD_FKSM=:XLXSBJD_FKSM, \r\n"
+ " XLXSBJD_BZ=:XLXSBJD_BZ,XLXSBJD_CZJSXY=:XLXSBJD_CZJSXY,XLXSBJD_TXY=:XLXSBJD_TXY, \r\n"
+ " XLXSBJD_WHRID=:WHRID, XLXSBJD_WHR=:WHR, XLXSBJD_WHSJ=:WHSJ, XLXSBJD_DOCGRPID=:DOCGRPID, XLXSBJD_FJS=:FJS \r\n"
+ "WHERE XLXSBJD_BJDID = :XLXSBJD_BJDID \r\n";
UpdateSQL.Add(UpdateSql);
}
protected override bool BeforeSaveAction()
{
CurMO.WHR = tSession.UserName;
CurMO.WHRID = tSession.UserId;
CurMO.WHSJ = DateTime.Now.ToString();
//项目所在地---如果只维护了省、没有选择市,则XLXSBJD_XZQHID应记录下省的区划代码
if (!(CurMO as XSYBJSPModel).CSID.Trim().Equals(""))
(CurMO as XSYBJSPModel).XLXSBJD_XZQHID = (CurMO as XSYBJSPModel).CSID;
else if (!(CurMO as XSYBJSPModel).SFID.Trim().Equals(""))
(CurMO as XSYBJSPModel).XLXSBJD_XZQHID = (CurMO as XSYBJSPModel).SFID;
else
(CurMO as XSYBJSPModel).XLXSBJD_XZQHID = "";
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
{
TLogicContext lgc = TLogicContext.Current;
_curWorkFlow.UMID = lgc.RefUmId;
CurMO.WFID = _curWorkFlow.GetWFID("XLXSBJ_BJD");
string sXZQHID = string.Empty;
string sBJFLID = string.Empty;
string sSYDWID = string.Empty;
if ((CurMO as XSYBJSPModel).XZQYBH.Equals("Y"))
{
sXZQHID = (CurMO as XSYBJSPModel).XLXSBJD_XZQHID;
}
if (getBJFLBMYS().Equals("Y"))
{
sBJFLID = (CurMO as XSYBJSPModel).XLXSBJD_BJFLID;
}
sSYDWID = (CurMO as XSYBJSPModel).XLXSBJD_SYDWID;
string sError = string.Empty;
string sBJDID = string.Empty;
XLBJDUtils.GetBJDID(sXZQHID, sBJFLID, sSYDWID, 100860061, ref sBJDID, ref sError);
if (!string.IsNullOrEmpty(sError))
{
StateMessage.Message = sError;
return false;
}
(CurMO as XSYBJSPModel).XLXSBJD_BJDID = sBJDID;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL where XLXSBJFLBJRHQCL_BJFLID='{0}'", (CurMO as XSYBJSPModel).XLXSBJD_BJFLID)))
{
(CurMO as XSYBJSPModel).XLXSBJD_CLHQJGBID = "ZZZZZZZZ";
}
else
{
(CurMO as XSYBJSPModel).XLXSBJD_CLHQJGBID = (CurMO as XSYBJSPModel).XLXSBJD_JGBID;
}
return base.BeforeSaveAction();
}
protected override bool AfterSaveAction()
{
XSYBJSPModel MO = CurMO as XSYBJSPModel;
string sBJDID = MO.XLXSBJD_BJDID;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select 1 from XLXSBJD where XLXSBJD_BJDID =:pBJDID and isnull(XLXSBJD_SQRID,' ') = ' ' ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
SQL.Clear();
SQL.Add("update XLXSBJD set XLXSBJD_SQR =:XLXSBJD_SQR,XLXSBJD_SQRID=:XLXSBJD_SQRID,XLXSBJD_SQRGH=:XLXSBJD_SQRGH,XLXSBJD_SQRQ=:XLXSBJD_SQRQ where XLXSBJD_BJDID =:pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJD_SQR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJD_SQRID").Value = tSession.RYID;
SQL.ParamByName("XLXSBJD_SQRGH").Value = tSession.UserId;
SQL.ParamByName("XLXSBJD_SQRQ").Value = DateTime.Now.ToString().Trim();
dberp.ExecSQL(SQL);
}
if (MO.ExistFJXX.Equals("Y"))
{
SQL.Clear();
SQL.Add("select 1 from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsKZXX = dberp.OpenDataSet(SQL);
if (dsKZXX.Tables[0].Rows.Count > 0)
{
dsFJXXSZ = LoadFJXXSZ();
string sWPID = MO.WPID;
if (dsFJXXSZ.Tables[0].Rows.Count > 0)
{
SQL.Clear();
SQL.Add(" update XLXSBJKZXX set XLXSBJKZXX_WHRID = :pWHRID, XLXSBJKZXX_WHR = :pWHR, XLXSBJKZXX_WHSJ = :pWHSJ ");
for (int i = 0; i < dsFJXXSZ.Tables[0].Rows.Count; i++)
{
string sXSBZ = dsFJXXSZ.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
continue;
string sDYZD = dsFJXXSZ.Tables[0].Rows[i]["DYZD"].ToString().Trim();
if (sDYZD.Equals("KZSZ01"))
{
SQL.Add(" ,XLXSBJKZXX_KZSZ01 = :XLXSBJKZXX_KZSZ01 ");
SQL.ParamByName("XLXSBJKZXX_KZSZ01").Value = MO.KZSZ01;
}
if (sDYZD.Equals("KZSZ02"))
{
SQL.Add(" ,XLXSBJKZXX_KZSZ02 = :XLXSBJKZXX_KZSZ02 ");
SQL.ParamByName("XLXSBJKZXX_KZSZ02").Value = MO.KZSZ02;
}
if (sDYZD.Equals("KZSZ03"))
{
SQL.Add(" ,XLXSBJKZXX_KZSZ03 = :XLXSBJKZXX_KZSZ03 ");
SQL.ParamByName("XLXSBJKZXX_KZSZ03").Value = MO.KZSZ03;
}
if (sDYZD.Equals("KZSZ04"))
{
SQL.Add(" ,XLXSBJKZXX_KZSZ04 = :XLXSBJKZXX_KZSZ04 ");
SQL.ParamByName("XLXSBJKZXX_KZSZ04").Value = MO.KZSZ04;
}
if (sDYZD.Equals("KZSZ05"))
{
SQL.Add(" ,XLXSBJKZXX_KZSZ05 = :XLXSBJKZXX_KZSZ05 ");
SQL.ParamByName("XLXSBJKZXX_KZSZ05").Value = MO.KZSZ05;
}
if (sDYZD.Equals("KZRQ01"))
{
SQL.Add(" ,XLXSBJKZXX_KZRQ01 = :XLXSBJKZXX_KZRQ01 ");
if (string.IsNullOrEmpty(MO.KZRQ01))
SQL.ParamByName("XLXSBJKZXX_KZRQ01").Value = null;
else
SQL.ParamByName("XLXSBJKZXX_KZRQ01").Value = MO.KZRQ01;
}
if (sDYZD.Equals("KZRQ02"))
{
SQL.Add(" ,XLXSBJKZXX_KZRQ02 = :XLXSBJKZXX_KZRQ02 ");
if (string.IsNullOrEmpty(MO.KZRQ02))
SQL.ParamByName("XLXSBJKZXX_KZRQ02").Value = null;
else
SQL.ParamByName("XLXSBJKZXX_KZRQ02").Value = MO.KZRQ02;
}
if (sDYZD.Equals("KZRQ03"))
{
SQL.Add(" ,XLXSBJKZXX_KZRQ03 = :XLXSBJKZXX_KZRQ03 ");
if (string.IsNullOrEmpty(MO.KZRQ03))
SQL.ParamByName("XLXSBJKZXX_KZRQ03").Value = null;
else
SQL.ParamByName("XLXSBJKZXX_KZRQ03").Value = MO.KZRQ03;
}
if (sDYZD.Equals("KZRQ04"))
{
SQL.Add(" ,XLXSBJKZXX_KZRQ04 = :XLXSBJKZXX_KZRQ04 ");
if (string.IsNullOrEmpty(MO.KZRQ04))
SQL.ParamByName("XLXSBJKZXX_KZRQ04").Value = null;
else
SQL.ParamByName("XLXSBJKZXX_KZRQ04").Value = MO.KZRQ04;
}
if (sDYZD.Equals("KZRQ05"))
{
SQL.Add(" ,XLXSBJKZXX_KZRQ05 = :XLXSBJKZXX_KZRQ05 ");
if (string.IsNullOrEmpty(MO.KZRQ05))
SQL.ParamByName("XLXSBJKZXX_KZRQ05").Value = null;
else
SQL.ParamByName("XLXSBJKZXX_KZRQ05").Value = MO.KZRQ05;
}
if (sDYZD.Equals("KZZF01"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF01 = :XLXSBJKZXX_KZZF01 ");
SQL.ParamByName("XLXSBJKZXX_KZZF01").Value = MO.KZZF01;
}
if (sDYZD.Equals("KZZF02"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF02 = :XLXSBJKZXX_KZZF02 ");
SQL.ParamByName("XLXSBJKZXX_KZZF02").Value = MO.KZZF02;
}
if (sDYZD.Equals("KZZF03"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF03 = :XLXSBJKZXX_KZZF03 ");
SQL.ParamByName("XLXSBJKZXX_KZZF03").Value = MO.KZZF03;
}
if (sDYZD.Equals("KZZF04"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF04 = :XLXSBJKZXX_KZZF04 ");
SQL.ParamByName("XLXSBJKZXX_KZZF04").Value = MO.KZZF04;
}
if (sDYZD.Equals("KZZF05"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF05 = :XLXSBJKZXX_KZZF05 ");
SQL.ParamByName("XLXSBJKZXX_KZZF05").Value = MO.KZZF05;
}
if (sDYZD.Equals("KZZF06"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF06 = :XLXSBJKZXX_KZZF06 ");
SQL.ParamByName("XLXSBJKZXX_KZZF06").Value = MO.KZZF06;
}
if (sDYZD.Equals("KZZF07"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF07 = :XLXSBJKZXX_KZZF07 ");
SQL.ParamByName("XLXSBJKZXX_KZZF07").Value = MO.KZZF07;
}
if (sDYZD.Equals("KZZF08"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF08 = :XLXSBJKZXX_KZZF08 ");
SQL.ParamByName("XLXSBJKZXX_KZZF08").Value = MO.KZZF08;
}
if (sDYZD.Equals("KZZF09"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF09 = :XLXSBJKZXX_KZZF09 ");
SQL.ParamByName("XLXSBJKZXX_KZZF09").Value = MO.KZZF09;
}
if (sDYZD.Equals("KZZF10"))
{
SQL.Add(" ,XLXSBJKZXX_KZZF10 = :XLXSBJKZXX_KZZF10 ");
SQL.ParamByName("XLXSBJKZXX_KZZF10").Value = MO.KZZF10;
}
if (sDYZD.Equals("KZWB01"))
{
SQL.Add(" ,XLXSBJKZXX_KZWB01 = :XLXSBJKZXX_KZWB01 ");
SQL.ParamByName("XLXSBJKZXX_KZWB01").Value = MO.KZWB01;
}
if (sDYZD.Equals("KZWB02"))
{
SQL.Add(" ,XLXSBJKZXX_KZWB02 = :XLXSBJKZXX_KZWB02 ");
SQL.ParamByName("XLXSBJKZXX_KZWB02").Value = MO.KZWB02;
}
if (sDYZD.Equals("KZWB03"))
{
SQL.Add(" ,XLXSBJKZXX_KZWB03 = :XLXSBJKZXX_KZWB03 ");
SQL.ParamByName("XLXSBJKZXX_KZWB03").Value = MO.KZWB03;
}
if (sDYZD.Equals("KZWB04"))
{
SQL.Add(" ,XLXSBJKZXX_KZWB04 = :XLXSBJKZXX_KZWB04 ");
SQL.ParamByName("XLXSBJKZXX_KZWB04").Value = MO.KZWB04;
}
if (sDYZD.Equals("KZWB05"))
{
SQL.Add(" ,XLXSBJKZXX_KZWB05 = :XLXSBJKZXX_KZWB05 ");
SQL.ParamByName("XLXSBJKZXX_KZWB05").Value = MO.KZWB05;
}
}
SQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pWHRID").Value = tSession.UserId; ;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); ;
dberp.ExecSQL(SQL);
}
}
else
{
SQL.Clear();
SQL.Add("insert into XLXSBJKZXX");
SQL.Add("(XLXSBJKZXX_BJDID,");
SQL.Add(" XLXSBJKZXX_KZSZ01, XLXSBJKZXX_KZSZ02, XLXSBJKZXX_KZSZ03, XLXSBJKZXX_KZSZ04, XLXSBJKZXX_KZSZ05,");
if (!string.IsNullOrEmpty(MO.KZRQ01))
SQL.Add(" XLXSBJKZXX_KZRQ01,");
if (!string.IsNullOrEmpty(MO.KZRQ02))
SQL.Add(" XLXSBJKZXX_KZRQ02,");
if (!string.IsNullOrEmpty(MO.KZRQ03))
SQL.Add(" XLXSBJKZXX_KZRQ03,");
if (!string.IsNullOrEmpty(MO.KZRQ04))
SQL.Add(" XLXSBJKZXX_KZRQ04,");
if (!string.IsNullOrEmpty(MO.KZRQ05))
SQL.Add(" XLXSBJKZXX_KZRQ05,");
SQL.Add(" XLXSBJKZXX_KZZF01, XLXSBJKZXX_KZZF02, XLXSBJKZXX_KZZF03, XLXSBJKZXX_KZZF04, XLXSBJKZXX_KZZF05,");
SQL.Add(" XLXSBJKZXX_KZZF06, XLXSBJKZXX_KZZF07, XLXSBJKZXX_KZZF08, XLXSBJKZXX_KZZF09, XLXSBJKZXX_KZZF10,");
SQL.Add(" XLXSBJKZXX_KZWB01, XLXSBJKZXX_KZWB02, XLXSBJKZXX_KZWB03, XLXSBJKZXX_KZWB04, XLXSBJKZXX_KZWB05,");
SQL.Add(" XLXSBJKZXX_WHRID, XLXSBJKZXX_WHR, XLXSBJKZXX_WHSJ)");
SQL.Add("values");
SQL.Add("(:XLXSBJKZXX_BJDID,");
SQL.Add(" :XLXSBJKZXX_KZSZ01, :XLXSBJKZXX_KZSZ02, :XLXSBJKZXX_KZSZ03, :XLXSBJKZXX_KZSZ04, :XLXSBJKZXX_KZSZ05,");
if (!string.IsNullOrEmpty(MO.KZRQ01))
{
SQL.Add(" :XLXSBJKZXX_KZRQ01,");
SQL.ParamByName("XLXSBJKZXX_KZRQ01").Value = MO.KZRQ01;
}
if (!string.IsNullOrEmpty(MO.KZRQ02))
{
SQL.Add(" :XLXSBJKZXX_KZRQ02,");
SQL.ParamByName("XLXSBJKZXX_KZRQ02").Value = MO.KZRQ02;
}
if (!string.IsNullOrEmpty(MO.KZRQ03))
{
SQL.Add(" :XLXSBJKZXX_KZRQ03,");
SQL.ParamByName("XLXSBJKZXX_KZRQ03").Value = MO.KZRQ03;
}
if (!string.IsNullOrEmpty(MO.KZRQ04))
{
SQL.Add(" :XLXSBJKZXX_KZRQ04,");
SQL.ParamByName("XLXSBJKZXX_KZRQ04").Value = MO.KZRQ04;
}
if (!string.IsNullOrEmpty(MO.KZRQ05))
{
SQL.Add(" :XLXSBJKZXX_KZRQ05,");
SQL.ParamByName("XLXSBJKZXX_KZRQ05").Value = MO.KZRQ05;
}
SQL.Add(" :XLXSBJKZXX_KZZF01, :XLXSBJKZXX_KZZF02, :XLXSBJKZXX_KZZF03, :XLXSBJKZXX_KZZF04, :XLXSBJKZXX_KZZF05,");
SQL.Add(" :XLXSBJKZXX_KZZF06, :XLXSBJKZXX_KZZF07, :XLXSBJKZXX_KZZF08, :XLXSBJKZXX_KZZF09, :XLXSBJKZXX_KZZF10,");
SQL.Add(" :XLXSBJKZXX_KZWB01, :XLXSBJKZXX_KZWB02, :XLXSBJKZXX_KZWB03, :XLXSBJKZXX_KZWB04, :XLXSBJKZXX_KZWB05,");
SQL.Add(" :XLXSBJKZXX_WHRID, :XLXSBJKZXX_WHR, :XLXSBJKZXX_WHSJ)");
SQL.ParamByName("XLXSBJKZXX_KZSZ01").Value = MO.KZSZ01;
SQL.ParamByName("XLXSBJKZXX_KZSZ02").Value = MO.KZSZ02;
SQL.ParamByName("XLXSBJKZXX_KZSZ03").Value = MO.KZSZ03;
SQL.ParamByName("XLXSBJKZXX_KZSZ04").Value = MO.KZSZ04;
SQL.ParamByName("XLXSBJKZXX_KZSZ05").Value = MO.KZSZ05;
SQL.ParamByName("XLXSBJKZXX_KZZF01").Value = MO.KZZF01;
SQL.ParamByName("XLXSBJKZXX_KZZF02").Value = MO.KZZF02;
SQL.ParamByName("XLXSBJKZXX_KZZF03").Value = MO.KZZF03;
SQL.ParamByName("XLXSBJKZXX_KZZF04").Value = MO.KZZF04;
SQL.ParamByName("XLXSBJKZXX_KZZF05").Value = MO.KZZF05;
SQL.ParamByName("XLXSBJKZXX_KZZF06").Value = MO.KZZF06;
SQL.ParamByName("XLXSBJKZXX_KZZF07").Value = MO.KZZF07;
SQL.ParamByName("XLXSBJKZXX_KZZF08").Value = MO.KZZF08;
SQL.ParamByName("XLXSBJKZXX_KZZF09").Value = MO.KZZF09;
SQL.ParamByName("XLXSBJKZXX_KZZF10").Value = MO.KZZF10;
SQL.ParamByName("XLXSBJKZXX_KZWB01").Value = MO.KZWB01;
SQL.ParamByName("XLXSBJKZXX_KZWB02").Value = MO.KZWB02;
SQL.ParamByName("XLXSBJKZXX_KZWB03").Value = MO.KZWB03;
SQL.ParamByName("XLXSBJKZXX_KZWB04").Value = MO.KZWB04;
SQL.ParamByName("XLXSBJKZXX_KZWB05").Value = MO.KZWB05;
SQL.ParamByName("XLXSBJKZXX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJKZXX_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSBJKZXX_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJKZXX_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
dberp.ExecSQL(SQL);
}
}
XLXSBJFJXX.UpdateLBXSFJXX(sBJDID);
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(MO.XLXSBJD_BJFLID);
if (XLBJDUtils.IsJGEJGB(MO.XLXSBJD_JGBID))
{
XLBJDUtils.InsertXLXSBJDCLHQ_WLHQ(dberp, SQL, bjflxx.XLXSBJFL_BJDHQLY, sBJDID, MO.XLXSBJD_BJRQ, MO.XLXSBJD_JZBJHS.Equals("Y"),
bjflxx.XLXSBJFL_TBJCLID, bjflxx.XLXSBJFL_LBJCLID,
CMISproConvert.StrToFloat(MO.TJ), CMISproConvert.StrToFloat(MO.LJ),
tSession.UserName, tSession.UserId, MO.XLXSBJD_JGBID);
}
else
{
//JGB价格表判断是否勾选记录报价单行情
if (bjflxx.JLBJDHQChecked())
{
XLBJDUtils.InsertXLXSBJDCLHQ_WLHQ_WithJGBHQ(dberp, SQL, bjflxx.XLXSBJFL_BJDHQLY, sBJDID, MO.XLXSBJD_BJRQ, tSession.UserName, tSession.UserId, MO.XLXSBJD_JGBID);
XLBJDUtils.UpdateBJDHQByTLJ(dberp, SQL, sBJDID, bjflxx.XLXSBJFL_TBJCLID, bjflxx.XLXSBJFL_LBJCLID,
CMISproConvert.StrToFloat(MO.TJ), CMISproConvert.StrToFloat(MO.LJ), MO.XLXSBJD_JZBJHS.Equals("Y"), tSession.UserId, tSession.UserName);
}
}
}
return base.AfterSaveAction();
}
protected override void PreDeleteSQL()
{
base.PreDeleteSQL();
DeleteSQL.Add("delete from XLXSBJD where XLXSBJD_BJDID = :XLXSBJD_BJDID ");
}
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
{
base.AfterDelete(db, ref ActionIsDone);
string sBJDID = (CurMO as XSYBJSPModel).XLXSBJD_BJDID;
TSQL tSQL = new TSQL(db);
XLBJDUtils.AfterDeleteBJD(db, tSQL, sBJDID);
}
protected override bool BeforeDeleteAction()
{
string sBJDID = (CurMO as XSYBJSPModel).XLXSBJD_BJDID;
string sSQL = string.Format("select top 1 XLXSBJYLZD_BJDID from XLXSBJYLZD where XLXSBJYLZD_BJDID='{0}'", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
StateMessage.Message = "已申请材料用量制定,不允许删除!";
return false;
}
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
StateMessage.Message = "报价单已反馈,不允许删除!";
return false;
}
XLBJDUtils.UpdateTJBZ(sBJDID, "Delete");
return base.BeforeDeleteAction();
}
protected override bool DataLogicValid()
{
XSYBJSPModel MO = CurMO as XSYBJSPModel;
if (MO.XLXSBJD_BJFLID.Trim().Equals(""))
{
StateMessage.Message = "报价分类不允许为空!";
return false;
}
if (MO.XLXSBJD_BJRQ.Trim().Equals(""))
{
StateMessage.Message = "报价日期不允许为空!";
return false;
}
//if (MO.XLXSBJD_SYDWID.Trim().Equals(""))
//{
// StateMessage.Message = "销售单位不允许为空!";
// return false;
//}
if (MO.XLXSBJD_XSBMID.Trim().Equals(""))
{
StateMessage.Message = "销售部门不允许为空!";
return false;
}
//if (MO.XLXSBJD_TXY.Trim().Equals(""))
//{
// StateMessage.Message = "销售员不允许为空!";
// return false;
//}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
if (pzxx.XLXSBJPZ_KHBT == "Y")
{
if (MO.XLXSBJD_KH.Trim().Equals(""))
{
StateMessage.Message = "客户不允许为空!";
return false;
}
}
if (pzxx.XLXSBJPZ_XMBT == "Y")
{
if (MO.XLXSBJD_XMMC.Trim().Equals(""))
{
StateMessage.Message = "项目不允许为空!";
return false;
}
}
if (!MO.XLXSBJD_KH.Trim().Equals("") && pzxx.XLXSBJPZ_XZKHYQ == "Q")
{
if (pzxx.XLXSBJPZ_KHJSLY == "KH")
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_MC='{0}' and ISNULL(KH_TYBZ,'N') <> 'Y' ", MO.XLXSBJD_KH.Trim())))
{
StateMessage.Message = "客户不存在或已停用!";
return false;
}
}
else if (pzxx.XLXSBJPZ_KHJSLY == "KHXX")
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KHXX where KHXX_MC = '{0}' ", MO.XLXSBJD_KH.Trim())))
{
StateMessage.Message = "客户不存在!";
return false;
}
}
}
if (!MO.XLXSBJD_XMMC.Trim().Equals("") && pzxx.XLXSBJPZ_XZXMYQ == "Q")
{
if (pzxx.XLXSBJPZ_XMJSLY == "YXXM")
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from YXXM where YXXM_MC='{0}' ", MO.XLXSBJD_XMMC.Trim())))
{
StateMessage.Message = "项目不存在!";
return false;
}
if (!MO.XLXSBJD_KH.Trim().Equals("") && pzxx.XLXSBJPZ_KHJSLY == "KHXX")
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from YXXM left join KHXX on KHXX_CRMKHID = YXXM_CRMKHID where YXXM_MC = '{0}' and KHXX_MC ='{1}' ", MO.XLXSBJD_XMMC.Trim(), MO.XLXSBJD_KH.Trim())))
{
StateMessage.Message = "项目不属于当前客户!";
return false;
}
}
}
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sWPID = MO.WPID.Equals("") ? "0010" : MO.WPID;
string sBJFLID = MO.XLXSBJD_BJFLID.Trim();
SQL.Clear();
SQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_SJLX, XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_XSBZ as XSBZ,XLXSBJKZXXSZ_WHBZ as WHBZ,XLXSBJKZXXSZ_SYBJFLID ");
SQL.Add("from XLXSBJKZXXSZ ");
SQL.Add("where isnull(XLXSBJKZXXSZ_BT,'N') = 'Y' ");
SQL.Add("order by XLXSBJKZXXSZ_BJSX, XLXSBJKZXXSZ_BH ");
SQL.ParamByName("pBJDID").Value = MO.XLXSBJD_BJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sSZJYXX = "";
Dictionary<string, int> dicBTXX = new Dictionary<string, int>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sXSBZ = ds.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
continue;
string sSYBJFLID = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sSYBJFLIDC = "," + sSYBJFLID + ",";
if (!sSYBJFLID.Equals("") && !sSYBJFLIDC.Contains("," + sBJFLID + ","))
continue;
string sWHBZ = ds.Tables[0].Rows[i]["WHBZ"].ToString().Trim();
string sWHBZC = "," + sWHBZ + ",";
if (!sWHBZ.Equals("") && !sWHBZC.Contains("," + sWPID + ","))
continue;
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
if (!dicBTXX.ContainsKey(sDYZD))
dicBTXX.Add(sDYZD, i);
}
Type T = MO.GetType();
PropertyInfo[] PropertyList = T.GetProperties();
foreach (PropertyInfo item in PropertyList)
{
string sName = item.Name;
if (dicBTXX.ContainsKey(sName))
{
string sSJLX = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_SJLX"].ToString().Trim();
if (sSJLX.Equals("A"))
{
double dValue = (double)item.GetValue(MO, null);
if (dValue == 0)
{
if (!sSZJYXX.Equals(""))
sSZJYXX += "、";
sSZJYXX += ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim();
}
}
else
{
string sValue = (string)item.GetValue(MO, null);
if (sValue.Equals(""))
{
string ssMC = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim();
StateMessage.Message = ssMC + "不允许为空!";
return false;
}
}
}
}
if (!sSZJYXX.Equals(""))
StateMessage.Message = sSZJYXX + "存入0值!";
}
return true;
}
public XSYBJSPModel OnNewRecorder()
{
XSYBJSPModel newXSYBJSP = new XSYBJSPModel();
string sKHLY = "";
string sXMLY = "";
string sQYXZQY = "";
string sXZQYBH = "";
string sBJFLTZM = "";
string sQYBJDJC = "";
string sFJSCLX = "";
string sBJU012 = GetOption("BJU012");
string sKZZXU003 = GetOption("KZZXU003");
string sHJU006 = GetOption("HJU006");
if (DSActiveModule.IsActiveModule(100956005))
sQYXZQY = "Y";
else
sQYXZQY = "N";
if (CheckModule("100860008"))
sQYBJDJC = "Y";
else
sQYBJDJC = "N";
SetKHXMLY(ref sKHLY, ref sXMLY, ref sXZQYBH, ref sBJFLTZM, ref sFJSCLX);
newXSYBJSP.KHLY = sKHLY;
newXSYBJSP.XMLY = sXMLY;
newXSYBJSP.QYXZQY = sQYXZQY;
newXSYBJSP.XZQYBH = sXZQYBH;
newXSYBJSP.QYBJDJC = sQYBJDJC;
newXSYBJSP.FJSCLX = sFJSCLX;
newXSYBJSP.MRDYYS = GetMRDYYS();
newXSYBJSP.XLXSBJD_LBXSFJXX = "";
newXSYBJSP.QYXSHT = "N";
newXSYBJSP.XLXSBJD_BJRQ = DateTime.Now.ToShortDateString().Trim();
newXSYBJSP.XLXSBJD_JZBJHS = "Y";
List<CodeInfo> rEntity = GetBJFLList();
if (rEntity.Count > 0)
{
newXSYBJSP.XLXSBJD_BJFLID = rEntity[0].CodeID;
newXSYBJSP.BJFL = rEntity[0].CodeMC;
string sXSTLJ = "";
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(newXSYBJSP.XLXSBJD_BJFLID);
string sIsXJY = "N";
string sIsSJY = "N";
string sIsHJY = "N";
SetRYJS(tSession.UserId, ref sIsXJY, ref sIsSJY, ref sIsHJY);
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(newXSYBJSP.XLXSBJD_BJFLID, sIsXJY.Equals("Y"), sIsSJY.Equals("Y"), sIsHJY.Equals("Y"));
#region 按角色隐藏栏目
string sBJBM = bjflxx.XLXSBJFL_BJBM;
string sXSZJE = "Y";
string sXSZDXJ = "N";
string sXSZDXJJCL = "N";
if (bjflxx.XSZDXJ())
{
sXSZDXJ = "Y";
sXSZDXJJCL = "Y";
}
string sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
string sXSJGBBJ = "Y";
string sXSBJJCL = "N";
if (bjflxx.XSJCL())
sXSBJJCL = "Y";
string sXSDCPDF = "Y";
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJJE":
sXSZJE = "N";
break;
case "XLXSBJDMX_ZDXJ":
if (sXSZDXJ.Equals("Y"))
sXSZDXJ = "N";
break;
case "XLXSBJDMX_ZDXJJCL":
if (sXSZDXJJCL.Equals("Y"))
sXSZDXJJCL = "N";
break;
case "XLXSBJDMX_JGBBJ":
if (sXSJGBBJ.Equals("Y"))
sXSJGBBJ = "N";
break;
case "XLXSBJDMX_JGBBJJCL":
if (sXSBJJCL.Equals("Y"))
sXSBJJCL = "N";
break;
case "btnAPPDCPDF":
if (sXSDCPDF.Equals("Y"))
sXSDCPDF = "N";
break;
}
}
}
newXSYBJSP.BJBM = sBJBM;
newXSYBJSP.XSZJE = sXSZJE;
newXSYBJSP.XSZDXJ = sXSZDXJ;
newXSYBJSP.XSZDXJJCL = sXSZDXJJCL;
newXSYBJSP.JGBBJBM = sJGBBJBM;
newXSYBJSP.XSJGBBJ = sXSJGBBJ;
newXSYBJSP.XSBJJCL = sXSBJJCL;
newXSYBJSP.XSDCPDF = sXSDCPDF;
#endregion
if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TLJ";
else if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TJ";
else if (bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "LJ";
if (!sXSTLJ.Equals(""))
{
newXSYBJSP.XSTLJ = sXSTLJ;
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(newXSYBJSP.XLXSBJD_BJRQ, newXSYBJSP.XLXSBJD_BJFLID, true);
string sTJ = dicTLJG["TJ"];
string sLJ = dicTLJG["LJ"];
newXSYBJSP.TJ = CMISproConvert.StrToFloat(sTJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sTJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
newXSYBJSP.LJ = CMISproConvert.StrToFloat(sLJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sLJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
}
}
newXSYBJSP.XLXSBJD_JGBID = GetJGBID(newXSYBJSP.XLXSBJD_BJFLID, newXSYBJSP.XLXSBJD_BJRQ);
string sXSYXX = GetXSYXX();
if (sXSYXX.Split(',').Length > 4)
{
newXSYBJSP.XLXSBJD_TXY = sXSYXX.Split(',')[0];
newXSYBJSP.XSYZJM = sXSYXX.Split(',')[1];
newXSYBJSP.XSYLXFS = sXSYXX.Split(',')[2];
newXSYBJSP.XSYGSBM = sXSYXX.Split(',')[3];
newXSYBJSP.XLXSBJD_SYDWID = sXSYXX.Split(',')[4];
newXSYBJSP.XSDWMC = sXSYXX.Split(',')[5];
if (!sKZZXU003.Equals(""))
{
if (!("," + sKZZXU003 + ",").Contains("," + newXSYBJSP.XLXSBJD_SYDWID + ","))
{
newXSYBJSP.XLXSBJD_SYDWID = "";
newXSYBJSP.XSDWMC = "";
}
}
newXSYBJSP.XLXSBJD_XSBMID = sXSYXX.Split(',')[3].Split('|')[0];
if (sXSYXX.Split(',')[3].Split('|').Length > 1)
newXSYBJSP.BJGSBMMC = sXSYXX.Split(',')[3].Split('|')[1];
if (!sHJU006.Equals(""))
{
if (!("," + sHJU006 + ",").Contains("," + newXSYBJSP.XLXSBJD_XSBMID + ","))
{
newXSYBJSP.XLXSBJD_XSBMID = "";
newXSYBJSP.BJGSBMMC = "";
}
}
}
dsFJXXSZ = LoadFJXXSZ();
string sExistFJXX = "N";
if (dsFJXXSZ.Tables[0].Rows.Count > 0)
{
string sWPID = "0010";
for (int i = 0; i < dsFJXXSZ.Tables[0].Rows.Count; i++)
{
bool bXSFJXX = true;
string sXSBZ = dsFJXXSZ.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
bXSFJXX = false;
string sSYBJFL = dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sSYBJFLC = "," + sSYBJFL + ",";
if (!sSYBJFL.Equals("") && !sSYBJFLC.Contains("," + newXSYBJSP.XLXSBJD_BJFLID + ","))
bXSFJXX = false;
if (sExistFJXX.Equals("N") && bXSFJXX)
sExistFJXX = "Y";
}
}
newXSYBJSP.ExistFJXX = sExistFJXX;
TLogicContext lgc = TLogicContext.Current;
_curWorkFlow.UMID = lgc.RefUmId;
newXSYBJSP.WFID = _curWorkFlow.GetWFID("XLXSBJ_BJD");
newXSYBJSP.FJS = 0;
newXSYBJSP.DOCGRPID = 0;
newXSYBJSP.WHR = tSession.UserName;
newXSYBJSP.WHRID = tSession.UserId;
newXSYBJSP.WHSJ = CMISproConvert.ConvertTime(DateTime.Now);
return newXSYBJSP;
}
private void SetmoList(DataSet ds, int iStart, int iNum, int iRowCount, ref List<XSYBJSPModel> moList)
{
Mac.MacLog.TraceFormat(String.Format("SetmoList-begin"));
dsFJXXSZ = LoadFJXXSZ();
Mac.MacLog.TraceFormat(String.Format("dsFJXXSZ-after"));
int iMax = Math.Min(iStart + iNum, iRowCount);
string sKHLY = "";
string sXMLY = "";
string sQYXZQY = "";
string sXZQYBH = "";
string sBJFLTZM = "";
string sQYBJDJC = "";
string sQYXSHT = "";
string sFJSCLX = "";
if (DSActiveModule.IsActiveModule(100956005))
sQYXZQY = "Y";
else
sQYXZQY = "N";
Mac.MacLog.TraceFormat(String.Format("IsActiveModule(100956005)-after"));
if (CheckModule("100860008"))
sQYBJDJC = "Y";
else
sQYBJDJC = "N";
Mac.MacLog.TraceFormat(String.Format("CheckModule(100860008)-after"));
SetKHXMLY(ref sKHLY, ref sXMLY, ref sXZQYBH, ref sBJFLTZM, ref sFJSCLX);
string sIsXJY = "N";
string sIsSJY = "N";
string sIsHJY = "N";
SetRYJS(tSession.UserId, ref sIsXJY, ref sIsSJY, ref sIsHJY);
Mac.MacLog.TraceFormat(String.Format("SetKHXMLY-after"));
for (int i = iStart; i < iMax; i++)
{
if (ds.Tables[0].Rows[i]["YLDZ"].ToString().Trim().Equals("Y"))
{
string sYLDZWPNAME = getYLDZWPNAME(ds.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim());
ds.Tables[0].Rows[i]["YLZDLC"] = sYLDZWPNAME;
Mac.MacLog.TraceFormat(String.Format("sYLDZWPNAME-after{0}", i.ToString().Trim()));
}
ds.Tables[0].Rows[i]["KHLY"] = sKHLY;
ds.Tables[0].Rows[i]["XMLY"] = sXMLY;
ds.Tables[0].Rows[i]["QYXZQY"] = sQYXZQY;
ds.Tables[0].Rows[i]["XZQYBH"] = sXZQYBH;
ds.Tables[0].Rows[i]["QYBJDJC"] = sQYBJDJC;
ds.Tables[0].Rows[i]["FJSCLX"] = sFJSCLX;
ds.Tables[0].Rows[i]["MRDYYS"] = GetMRDYYS();
Mac.MacLog.TraceFormat(String.Format("XSYBJSPModel-before"));
XSYBJSPModel MO = new XSYBJSPModel();
Mac.MacLog.TraceFormat(String.Format("XSYBJSPModel-after"));
string sZDXJZJE = "";
string sJGBZJE = "";
string sBJZJE = ds.Tables[0].Rows[i]["XLXSBJD_ZJE"].ToString().Trim();
string sZDXJJCL = ds.Tables[0].Rows[i]["ZDXJJCL"].ToString().Trim();
string sBJJCL = ds.Tables[0].Rows[i]["XLXSBJD_LRL"].ToString().Trim();
string sBJDID = ds.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim();
if (CheckXSHT(sBJDID))
sQYXSHT = "Y";
else
sQYXSHT = "N";
Mac.MacLog.TraceFormat(String.Format("CheckXSHT-after"));
ds.Tables[0].Rows[i]["QYXSHT"] = sQYXSHT;
CXZJE(sBJDID, ref sZDXJZJE, ref sJGBZJE);
Mac.MacLog.TraceFormat(String.Format("CXZJE-after"));
ds.Tables[0].Rows[i]["XLXSBJD_BJZJE"] = CMISproConvert.StrToFloat(sBJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJZJE, 0), 2)), 2);
ds.Tables[0].Rows[i]["XLXSBJD_ZDXJJCL"] = CMISproConvert.StrToFloat(sZDXJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[i]["XLXSBJD_BJJCL"] = CMISproConvert.StrToFloat(sBJJCL, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sBJJCL, 0), 2)), 2) + "%";
ds.Tables[0].Rows[i]["XLXSBJD_ZDXJZJE"] = CMISproConvert.StrToFloat(sZDXJZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sZDXJZJE, 0), 2)), 2);
ds.Tables[0].Rows[i]["XLXSBJD_CPJJJE"] = CMISproConvert.StrToFloat(sJGBZJE, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sJGBZJE, 0), 2)), 2);
string sBJFLID = ds.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim();
string sXSTLJ = "";
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, sIsXJY.Equals("Y"), sIsSJY.Equals("Y"), sIsHJY.Equals("Y"));
#region 按角色隐藏栏目
string sBJBM = bjflxx.XLXSBJFL_BJBM;
string sXSZJE = "Y";
string sXSZDXJ = "N";
string sXSZDXJJCL = "N";
if (bjflxx.XSZDXJ())
{
sXSZDXJ = "Y";
sXSZDXJJCL = "Y";
}
string sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
string sXSJGBBJ = "Y";
string sXSBJJCL = "N";
if (bjflxx.XSJCL())
sXSBJJCL = "Y";
string sXSDCPDF = "Y";
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int j = 0; j < sHidJSLMs.Length; j++)
{
string sLMID = sHidJSLMs[j].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJJE":
sXSZJE = "N";
break;
case "XLXSBJDMX_ZDXJ":
if (sXSZDXJ.Equals("Y"))
sXSZDXJ = "N";
break;
case "XLXSBJDMX_ZDXJJCL":
if (sXSZDXJJCL.Equals("Y"))
sXSZDXJJCL = "N";
break;
case "XLXSBJDMX_JGBBJ":
if (sXSJGBBJ.Equals("Y"))
sXSJGBBJ = "N";
break;
case "XLXSBJDMX_JGBBJJCL":
if (sXSBJJCL.Equals("Y"))
sXSBJJCL = "N";
break;
case "btnAPPDCPDF":
if (sXSDCPDF.Equals("Y"))
sXSDCPDF = "N";
break;
}
}
}
ds.Tables[0].Rows[i]["BJBM"] = sBJBM;
ds.Tables[0].Rows[i]["XSZJE"] = sXSZJE;
ds.Tables[0].Rows[i]["XSZDXJ"] = sXSZDXJ;
ds.Tables[0].Rows[i]["XSZDXJJCL"] = sXSZDXJJCL;
ds.Tables[0].Rows[i]["JGBBJBM"] = sJGBBJBM;
ds.Tables[0].Rows[i]["XSJGBBJ"] = sXSJGBBJ;
ds.Tables[0].Rows[i]["XSBJJCL"] = sXSBJJCL;
ds.Tables[0].Rows[i]["XSDCPDF"] = sXSDCPDF;
#endregion
Mac.MacLog.TraceFormat(String.Format("GetBJFLXX-after"));
if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TLJ";
else if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TJ";
else if (bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "LJ";
if (!sXSTLJ.Equals(""))
{
ds.Tables[0].Rows[i]["XSTLJ"] = sXSTLJ;
string sTJ = ds.Tables[0].Rows[i]["XLXSBJD_TJ"].ToString().Trim();
string sLJ = ds.Tables[0].Rows[i]["XLXSBJD_LJ"].ToString().Trim();
if (CMISproConvert.StrToFloat(sTJ, 0) == 0 && CMISproConvert.StrToFloat(sLJ, 0) == 0)
{
string sBJRQ = ds.Tables[0].Rows[i]["XLXSBJD_BJRQ"].ToString().Trim();
string sJZBJHS = ds.Tables[0].Rows[i]["XLXSBJD_JZBJHS"].ToString().Trim();
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(sBJRQ, sBJFLID, sJZBJHS.Equals("Y"));
Mac.MacLog.TraceFormat(String.Format("GetTLJByRQ-after"));
sTJ = dicTLJG["TJ"];
sLJ = dicTLJG["LJ"];
}
ds.Tables[0].Rows[i]["TJ"] = CMISproConvert.StrToFloat(sTJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sTJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
ds.Tables[0].Rows[i]["LJ"] = CMISproConvert.StrToFloat(sLJ, 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(sLJ, 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
}
Mac.MacLog.TraceFormat(String.Format("SetMO-before"));
SetMO(ds.Tables[0].Rows[i], MO);
Mac.MacLog.TraceFormat(String.Format("SetMO-after"));
moList.Add(MO);
Mac.MacLog.TraceFormat(String.Format("moList.Add(MO);-after"));
}
}
protected override void SetMO(DataRow dr, ModelBase MO)
{
base.SetMO(dr, MO);
string sBJDID = dr["XLXSBJD_BJDID"].ToString().Trim();
string sWPID = dr["WPID"].ToString().Trim();
string sBJFLID = dr["XLXSBJD_BJFLID"].ToString().Trim();
string sExistFJXX = "N";
if (dsFJXXSZ.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < dsFJXXSZ.Tables[0].Rows.Count; i++)
{
bool bXSFJXX = true;
string sXSBZ = dsFJXXSZ.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
bXSFJXX = false;
string sSYBJFL = dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sSYBJFLC = "," + sSYBJFL + ",";
if (!sSYBJFL.Equals("") && !sSYBJFLC.Contains("," + sBJFLID + ","))
bXSFJXX = false;
if (dsFJXXSZ.Tables[0].Rows[i]["SJLX"].ToString().Trim().Equals("A"))//数值
{
for (int k = 1; k <= 5; k++)
{
if (dsFJXXSZ.Tables[0].Rows[i]["DYZD"].ToString().Trim().IndexOf("KZSZ" + k.ToString().PadLeft(2, '0').Trim()) >= 0)
{
if (!bXSFJXX)
MO.GetType().GetProperty("KZSZ" + k.ToString().PadLeft(2, '0').Trim()).SetValue(MO, 0, null);
}
}
}
else if (dsFJXXSZ.Tables[0].Rows[i]["SJLX"].ToString().Trim().Equals("B"))//字符
{
for (int k = 1; k <= 10; k++)
{
if (dsFJXXSZ.Tables[0].Rows[i]["DYZD"].ToString().Trim().IndexOf("KZZF" + k.ToString().PadLeft(2, '0').Trim()) >= 0)
{
if (!bXSFJXX)
MO.GetType().GetProperty("KZZF" + k.ToString().PadLeft(2, '0').Trim()).SetValue(MO, "", null);
}
}
}
else if (dsFJXXSZ.Tables[0].Rows[i]["SJLX"].ToString().Trim().Equals("C"))//日期
{
for (int k = 1; k <= 5; k++)
{
if (dsFJXXSZ.Tables[0].Rows[i]["DYZD"].ToString().Trim().IndexOf("KZRQ" + k.ToString().PadLeft(2, '0').Trim()) >= 0)
{
if (!bXSFJXX)
MO.GetType().GetProperty("KZRQ" + k.ToString().PadLeft(2, '0').Trim()).SetValue(MO, "", null);
}
}
}
else if (dsFJXXSZ.Tables[0].Rows[i]["SJLX"].ToString().Trim().Equals("D"))//文本
{
for (int k = 1; k <= 5; k++)
{
if (dsFJXXSZ.Tables[0].Rows[i]["DYZD"].ToString().Trim().IndexOf("KZWB" + k.ToString().PadLeft(2, '0').Trim()) >= 0)
{
if (!bXSFJXX)
MO.GetType().GetProperty("KZWB" + k.ToString().PadLeft(2, '0').Trim()).SetValue(MO, "", null);
}
}
}
if (sExistFJXX.Equals("N") && bXSFJXX)
sExistFJXX = "Y";
}
}
MO.GetType().GetProperty("ExistFJXX").SetValue(MO, sExistFJXX, null);
string sTZL = "0";
string sLZL = "0";
CXTLLWeight(sBJDID, ref sTZL, ref sLZL);
MO.GetType().GetProperty("TZL").SetValue(MO, sTZL, null);
MO.GetType().GetProperty("LZL").SetValue(MO, sLZL, null);
}
public static string FJXXBTJY(string sBJDID)
{
string sMessage = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sWPID = "";
string sBJFLID = "";
SQL.Clear();
SQL.Add(" select XLXSBJD_WPID,XLXSBJD_BJFLID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
}
SQL.Clear();
SQL.Add(" select XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_MC,XLXSBJKZXXSZ_SJLX,XLXSBJKZXXSZ_XSBZ as XSBZ,XLXSBJKZXXSZ_WHBZ as WHBZ,XLXSBJKZXXSZ_SYBJFLID from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_BT,'N') = 'Y' order by XLXSBJKZXXSZ_BJSX ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
SQL.Clear();
SQL.Add(" select XLXSBJKZXX_BJDID");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
SQL.Add(",XLXSBJKZXX_" + ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim());
}
SQL.Add(" from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsKZXX = dberp.OpenDataSet(SQL);
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
string sXSBZ = ds.Tables[0].Rows[j]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
continue;
string sSYBJFL = ds.Tables[0].Rows[j]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sSYBJFLC = "," + sSYBJFL + ",";
if (!sSYBJFL.Equals("") && !sSYBJFLC.Contains("," + sBJFLID + ","))
continue;
string sMC = ds.Tables[0].Rows[j]["XLXSBJKZXXSZ_MC"].ToString().Trim();
string sSJLX = ds.Tables[0].Rows[j]["XLXSBJKZXXSZ_SJLX"].ToString().Trim();
if (dsKZXX.Tables[0].Rows.Count > 0)
{
string sValue = dsKZXX.Tables[0].Rows[0][j + 1].ToString().Trim();
if (sSJLX.Equals("A"))//数值型
{
double dValue = CMISproConvert.StrToFloat(sValue);
if (dValue == 0)
{
sMessage = sMC + "不允许为0!";
return sMessage;
}
}
else
{
if (sValue.Equals(""))
{
sMessage = sMC + "不允许为空!";
return sMessage;
}
}
}
else
{
if (sSJLX.Equals("A"))//数值型
{
sMessage = sMC + "不允许为0!";
return sMessage;
}
else
{
sMessage = sMC + "不允许为空!";
return sMessage;
}
}
}
}
return sMessage;
}
private string getYLDZWPNAME(string sBJDID)
{
string sYLDZWPNAME = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add(" select XLXSBJYLZD_WPID,XLXSBJYLZD_WFID,XLXSBJYLZD_WFAWAITER from XLXSBJD ");
sSQL.Add(" left join (select min(XLXSBJYLZD_SQDH) as YLZDSQDH,XLXSBJYLZD_BJDID from XLXSBJYLZD where 1=1 group by XLXSBJYLZD_BJDID ) YLZDSQ ");
sSQL.Add(" on XLXSBJYLZD_BJDID = XLXSBJD_BJDID ");
sSQL.Add(" left join XLXSBJYLZD on XLXSBJYLZD_SQDH = YLZDSQDH ");
sSQL.Add(" where XLXSBJD_BJDID = :pBJDID ");
sSQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sWPID = ds.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim();
string sWFID = ds.Tables[0].Rows[0]["XLXSBJYLZD_WFID"].ToString().Trim();
string sWFAWAITER = ds.Tables[0].Rows[0]["XLXSBJYLZD_WFAWAITER"].ToString().Trim();
if (sWPID.Equals("ZZZZ") || sWPID.Equals("ZZZY"))
sYLDZWPNAME = _curWorkFlow.GetWPName(sWFID, sWPID);
else
sYLDZWPNAME = "待【" + _curWorkFlow.UserInfo.GetUserNames(sWFAWAITER) + "】" + _curWorkFlow.GetWPName(sWFID, sWPID);
}
return sYLDZWPNAME;
}
private string strPadRight(string s, int x)
{
string str = s;
if (str.Split('.').Length == 2)
{
str = str.Split('.')[0] + "." + str.Split('.')[1].PadRight(x, '0');
}
else
{
string tmp = "0";
if (x > 0)
{
tmp = tmp.PadRight(x, '0');
str = str + "." + tmp;
}
}
return str;
}
private void CXZJE(string sBJDID, ref string sZDXJZJE, ref string sJGBZJE)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("select sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as ZDXJZJE ");
sql.Add("from XLXSBJDMX ");
sql.Add("where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
sql.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
sJGBZJE = ds.Tables[0].Rows[0]["CPJJJE"].ToString().Trim();
sZDXJZJE = ds.Tables[0].Rows[0]["ZDXJZJE"].ToString().Trim();
}
}
//客户项目来源,报价单编码要素,附件上传类型
private void SetKHXMLY(ref string sKHLY, ref string sXMLY, ref string sXZQYBH, ref string sBJFLTZM, ref string sFJSCLX)
{
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
sKHLY = pzxx.XLXSBJPZ_KHJSLY;
sXMLY = pzxx.XLXSBJPZ_XMJSLY;
sXZQYBH = pzxx.XLXSBJPZ_BMYSLIST.Contains("XZQHID") ? "Y" : "N";
sBJFLTZM = pzxx.XLXSBJPZ_BMYSLIST.Contains("BJFLTZM") ? "Y" : "N";
sFJSCLX = pzxx.XLXSBJPZ_FJSCGS;
}
private void SetRYJS(string sGH, ref string sIsXJY, ref string sIsSJY, ref string sIsHJY)
{
TYGXX tRYXX = TRYXX.GetRYXXByGH(sGH);
string sXJYROLEID = string.Empty;
string sSJYROLEID = string.Empty;
string sHJYROLEID = string.Empty;
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID))
sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID))
sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID))
sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID)))
{
sIsXJY = "Y";
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID)))
{
sIsSJY = "Y";
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID)))
{
sIsHJY = "Y";
}
}
private string getBJFLBMYS()
{
string sBJFLBMYS = "N";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_BMYSLIST))
{
sBJFLBMYS = pzxx.XLXSBJPZ_BMYSLIST.Contains("BJFLTZM") ? "Y" : "N";
}
return sBJFLBMYS;
}
//报价分类名称
private string getBJFLMC(string sBJFLID)
{
string sResult = string.Empty;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
DataSet ds = dberp.OpenDataSet(string.Format("select XLXSBJFL_BJFLMC from XLXSBJFL where XLXSBJFL_BJFLID = '{0}'", sBJFLID));
if (ds.Tables[0].Rows.Count > 0)
{
sResult = ds.Tables[0].Rows[0][0].ToString().Trim();
}
return sResult;
}
//获取销售员信息
public string GetXSYXX()
{
string sRstr = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Add(" select XSY_TXY,XSY_ZJM,XSY_SJ,XSY_DH,XSY_BMID,BM_MC,isnull(BM_SYDWID,'ZZZZ') as BM_SYDWID,GS_GSMC from XSY ");
sSQL.Add(" left join BM on BM_BMID = XSY_BMID ");
sSQL.Add(" left join GS on GS_SYDWID = BM_SYDWID ");
sSQL.Add(" where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_GH ='" + tSession.UserId + "'");
sSQL.Add(" order by BM_SYDWID ");
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
sRstr = ds.Tables[0].Rows[0]["XSY_TXY"].ToString().Trim() + "," + ds.Tables[0].Rows[0]["XSY_ZJM"].ToString().Trim();
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim()))
sRstr += "," + ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim() + ",";
else if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim()))
sRstr += "," + ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim() + ",";
else
sRstr += ",,";
if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim()))
sRstr += ",";
else
sRstr += ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["BM_MC"].ToString().Trim() + ",";
if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim()) || ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim().Equals("ZZZZ"))
sRstr += ",";
else
sRstr += ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim() + "," + ds.Tables[0].Rows[0]["GS_GSMC"].ToString().Trim();
}
return sRstr;
}
//通过报价分类获取价格表ID
public string GetJGBID(string sBJFLID, string sBJRQ)
{
string rstr = "";
Dictionary<string, string> myDiction = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, "");
foreach (string item in myDiction.Keys)
{
rstr = item;
break;
}
return rstr;
}
public string BJFLCHanged(string sBJFLID, string sBJRQ, string sJZBJHS)
{
string rstr = "";
Dictionary<string, string> myDiction = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, "");
foreach (string item in myDiction.Keys)
{
rstr = item;
break;
}
string sXSTLJ = "";
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TLJ";
else if (!bjflxx.XLXSBJFL_TBJCLID.Equals("") && bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "TJ";
else if (bjflxx.XLXSBJFL_TBJCLID.Equals("") && !bjflxx.XLXSBJFL_LBJCLID.Equals(""))
sXSTLJ = "LJ";
if (!sXSTLJ.Equals(""))
{
if (rstr.Trim().Equals(""))
{
rstr += "XXX," + sXSTLJ;
}
else
rstr += "," + sXSTLJ;
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(sBJRQ, sBJFLID, sJZBJHS.Equals("Y"));
string sTJ = CMISproConvert.StrToFloat(dicTLJG["TJ"], 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(dicTLJG["TJ"], 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
string sLJ = CMISproConvert.StrToFloat(dicTLJG["LJ"], 0) == 0 ? "" : strPadRight(Convert.ToString(NumberUtils.RoundX(CMISproConvert.StrToFloat(dicTLJG["LJ"], 0), XLBJDUtils.BJCLPriceDecimal)), XLBJDUtils.BJCLPriceDecimal);
rstr += "," + sTJ + "," + sLJ;
}
return rstr;
}
//销售报价审批明细
public InfoList<XSYBJSPMXInfo> GetXSBJSPMXInfoList(string sBJDID)
{
InfoList<XSYBJSPMXInfo> bjspmxList = new InfoList<XSYBJSPMXInfo>();
string sSQL = "select XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_BJCP, XLXSBJDMX_BJSL, XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_JLDW,XLXSBJDMX_BZ "
+ "from XLXSBJDMX "
+ "where XLXSBJDMX_BJDID ='" + sBJDID + "'"
+ "order by XLXSBJDMX_XSSX,XLXSBJDMX_XH";
string sFields = @"XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_BJCP,XLXSBJDMX_BJSL,XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_BZ";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(sSQL);
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
XSYBJSPMXInfo bjspmxinfo = new XSYBJSPMXInfo();
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
string sJLDW = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
string FieidValues = ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim();
if (Field.Trim().Equals("XLXSBJDMX_BJSL"))
{
FieidValues = Mround(FieidValues, 3) + sJLDW;
}
else if (Field.Trim().Equals("XLXSBJDMX_CPBJ"))
{
FieidValues = Mround(FieidValues, 4);
}
else if (Field.Trim().Equals("XLXSBJDMX_TZQBJJE"))
{
FieidValues = Mround(FieidValues, 2);
}
bjspmxinfo.GetType().GetProperty(Field.Trim()).SetValue(bjspmxinfo, FieidValues, null);
}
bjspmxList.Infos.Add(bjspmxinfo);
}
return bjspmxList;
}
//销售报价审批价差率
public InfoList<XSYBJSPJCLInfo> GetXSBJSPJCLInfoList(string sBJDID, string sBJFL, string sHZFS, string sXSMX, string sXSXJ)
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFL);
string sIsXJY = "N";
string sIsSJY = "N";
string sIsHJY = "N";
SetRYJS(tSession.UserId, ref sIsXJY, ref sIsSJY, ref sIsHJY);
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFL, sIsXJY.Equals("Y"), sIsSJY.Equals("Y"), sIsHJY.Equals("Y"));
string sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
string sLJBM = bjflxx.XLXSBJFL_BJDHQLJBM;
string sXSJCL = "N";
if (bjflxx.XSJCL())
sXSJCL = "Y";
string sJCLLX = bjflxx.XLXSBJFL_BJJCLLX;
string sXSLJJCL = "N";
if (bjflxx.XSLJJCL())
sXSLJJCL = "Y";
string sLJJCLLX = bjflxx.XLXSBJFL_LJJCLLX;
string sBJLJJCLLX = bjflxx.XLXSBJFL_BJLJJCLLX;
string sXSZDXJ = "N";
if (bjflxx.XSZDXJ())
sXSZDXJ = "Y";
string sZDXJJCLLX = bjflxx.XLXSBJFL_ZDXJJCLLX;
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_ZDXJJCL":
if (sXSZDXJ.Equals("Y"))
sXSZDXJ = "N";
break;
case "XLXSBJDMX_JGBBJJCL":
if (sXSJCL.Equals("Y"))
sXSJCL = "N";
break;
case "XLXSBJDMX_CLCBJCL":
if (sXSLJJCL.Equals("Y"))
sXSLJJCL = "N";
break;
}
}
}
InfoList<XSYBJSPJCLInfo> bjspjclList = new InfoList<XSYBJSPJCLInfo>();
string sFields = @"XLXSBJDMX_BJDID,XLXSBJDMX_XH,HZFS,XLXSBJDMX_BJCP,XLXSBJDMX_BJSL,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BZ";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
#region 产品目录汇总
if (sHZFS.Equals("1"))
{
SQL.Add("select 0 as px0, 0 as px1,XLXSBJDMX_BZ, rtrim(XLXSCLQD_CPMLID) || '|' || rtrim(XLXSCPML_CPMLMC) as HZFS,");
SQL.Add(" XLXSBJDMX_BJDID,XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
SQL.Add(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,");
SQL.Add(" XLXSBJDMX_JGBBJ, XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ as CPJJJE,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE, ");
SQL.Add(" XLXSBJDMX_CLCB,XLXSBJDMX_BJSL*XLXSBJDMX_CLCB as CLCBJE, XLXSBJDMX_BJDHQCLCB, XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, XLXSBJDMX_JGBBJJCL, XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_ZDXJ,XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ as XLXSBJDMX_ZDXJZJE,XLXSBJDMX_ZDXJJCL ");
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(" LEFT JOIN XLXSCLQD on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
if (!sXSMX.Equals("Y"))
{
SQL.Add(" and 1 <> 1 ");
}
SQL.Add(" union all ");
SQL.Add(" select 0 as px0, 1 as px1,' ' AS XLXSBJDMX_BZ,rtrim(isnull(XLXSCLQD_CPMLID,' ')) || '|' || rtrim(isnull(XLXSCPML_CPMLMC,' ')) ||'(小计)' as HZFS,' ' as XLXSBJDMX_BJDID, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
SQL.Add(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
if (sJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD b on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(b.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD b on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(b.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD b on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(b.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" 0 as XLXSBJDMX_JGBBJJCE, ");
}
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE) / sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
if (sBJLJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as XLXSBJDMX_JGBBJLJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJLJJCL, ");
}
else
{
SQL.Add(" 0 as XLXSBJDMX_JGBBJLJJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 - 100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD c on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCLQD_CPMLID,' ') = ISNULL(c.XLXSCLQD_CPMLID,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else
SQL.Add(" 0 as XLXSBJDMX_ZDXJJCL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD a on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
if (!sXSXJ.Equals("Y"))
{
SQL.Add(" and 1 <> 1 ");
}
SQL.Add(" group by XLXSCLQD_CPMLID,XLXSCPML_CPMLMC");
SQL.Add(" union all ");
SQL.Add(" select 1 as px0, 1 as px1,' ' AS XLXSBJDMX_BZ,'合计:' as HZFS,' ' as XLXSBJDMX_BJDID, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
SQL.Add(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
if (sJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" 0 as XLXSBJDMX_JGBBJJCE, ");
}
if (sLJJCLLX.Equals("1"))
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_CLCBJCL, ");
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
if (sBJLJJCLLX.Equals("1"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as XLXSBJDMX_JGBBJLJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID) as XLXSBJDMX_JGBBJLJJCL, ");
else
{
SQL.Add(" 0 as XLXSBJDMX_JGBBJLJJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
if (sZDXJJCLLX.Equals("1"))
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("2"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/27 18:00:00
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("4"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("5"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else
SQL.Add(" 0 as XLXSBJDMX_ZDXJJCL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXSCLQD on XLXSCLQD_XLXHID =XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID = XLXSBJDMX_XLGGID AND XLXSCLQD_XLBZID = XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID ");
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSCLQD_CPMLID ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
SQL.Add(" order by px0,HZFS, px1, XLXSBJDMX_XH ");
}
#endregion
#region 产品用途汇总
else
{
SQL.Add("select 0 as px0, 0 as px1,XLXSBJDMX_BZ, rtrim(XLCPYT_CPYT) || '|' || rtrim(XLCPYT_CPYTMC) as HZFS,");
SQL.Add(" XLXSBJDMX_BJDID,XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
SQL.Add(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,");
SQL.Add(" XLXSBJDMX_JGBBJ, XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ as CPJJJE,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE, ");
SQL.Add(" XLXSBJDMX_CLCB,XLXSBJDMX_BJSL*XLXSBJDMX_CLCB as CLCBJE, XLXSBJDMX_BJDHQCLCB, XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, XLXSBJDMX_JGBBJJCL, XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_ZDXJ,XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ as XLXSBJDMX_ZDXJZJE,XLXSBJDMX_ZDXJJCL ");
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(" LEFT JOIN XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
if (!sXSMX.Equals("Y"))
{
SQL.Add(" and 1 <> 1 ");
}
SQL.Add(" union all ");
SQL.Add(" select 0 as px0, 1 as px1,' ' AS XLXSBJDMX_BZ,rtrim(isnull(XLXHB_CPYT,' ')) || '|' || rtrim(isnull(XLCPYT_CPYTMC,' ')) ||'(小计)' as HZFS,' ' as XLXSBJDMX_BJDID, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
SQL.Add(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
if (sJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" 0 as XLXSBJDMX_JGBBJJCE, ");
}
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100-100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_CLCBJCL, ");
}
if (sBJLJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as XLXSBJDMX_JGBBJLJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_JGBBJLJJCL, ");
}
else
{
SQL.Add(" 0 as XLXSBJDMX_JGBBJLJJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/27 18:00:00
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
SQL.Add(" ) as XLXSBJDMX_ZDXJJCL ");
}
else
SQL.Add(" 0 as XLXSBJDMX_ZDXJJCL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB a on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
if (!sXSXJ.Equals("Y"))
{
SQL.Add(" and 1 <> 1 ");
}
SQL.Add(" group by XLXHB_CPYT,XLCPYT_CPYTMC");
SQL.Add(" union all ");
SQL.Add(" select 1 as px0, 1 as px1,' ' AS XLXSBJDMX_BZ,'合计:' as HZFS,' ' as XLXSBJDMX_BJDID, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
SQL.Add(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
if (sJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" 0 as XLXSBJDMX_JGBBJJCE, ");
}
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
}
if (sBJLJJCLLX.Equals("1"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as XLXSBJDMX_JGBBJLJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ) as XLXSBJDMX_JGBBJLJJCL, ");
else
{
SQL.Add(" 0 as XLXSBJDMX_JGBBJLJJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
if (sZDXJJCLLX.Equals("1"))
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("2"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
SQL.Add(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("4"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else if (sZDXJJCLLX.Equals("5"))
SQL.Add(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
else
SQL.Add(" 0 as XLXSBJDMX_ZDXJJCL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" LEFT JOIN XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
SQL.Add(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ");
SQL.Add(" order by px0,HZFS, px1, XLXSBJDMX_XH ");
}
#endregion
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
XSYBJSPJCLInfo bjspjclinfo = new XSYBJSPJCLInfo();
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
string sJLDW = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
string FieidValues = ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim();
if (Field.Trim().Equals("XLXSBJDMX_BJSL"))
{
FieidValues = Mround(FieidValues, 3) + sJLDW;
}
else if (Field.Trim().Equals("XLXSBJDMX_CPBJ"))
{
if (ds.Tables[0].Rows[i]["HZFS"].ToString().Trim().Contains("小计") || ds.Tables[0].Rows[i]["HZFS"].ToString().Trim().Contains("合计"))
{
FieidValues = "";
}
else
{
FieidValues = Mround(FieidValues, 4);
}
}
else if (Field.Trim().Equals("XLXSBJDMX_BJJE"))
{
FieidValues = Mround(FieidValues, 2);
}
bjspjclinfo.GetType().GetProperty(Field.Trim()).SetValue(bjspjclinfo, FieidValues, null);
}
string sJCL = "";
if (sXSJCL.Equals("Y"))
{
string sJCLBT = "表价价差率:";
if (!sJGBBJBM.Equals(""))
sJCLBT = sJCLBT.Replace("表价", sJGBBJBM);
sJCL += sJCLBT + ds.Tables[0].Rows[i]["XLXSBJDMX_JGBBJJCL"].ToString().Trim();
}
if (sXSLJJCL.Equals("Y"))
{
string sLJJCLBT = "料价价差率:";
if (!sLJBM.Equals(""))
sLJJCLBT = sLJJCLBT.Replace("料价", sLJBM);
if (!sJCL.Equals(""))
sJCL += " ";
sJCL += sLJJCLBT + ds.Tables[0].Rows[i]["XLXSBJDMX_CLCBJCL"].ToString().Trim();
}
if (sXSZDXJ.Equals("Y"))
{
if (!sJCL.Equals(""))
sJCL += " ";
sJCL += "限价价差率:" + ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJJCL"].ToString().Trim();
}
bjspjclinfo.GetType().GetProperty("XLXSBJDMX_JCL").SetValue(bjspjclinfo, sJCL, null);
bjspjclList.Infos.Add(bjspjclinfo);
}
return bjspjclList;
}
//获取默认查询条件
public MNamedQuery GetMNamedQuery(int NMDID, string sNQCLASSNAME)
{
MNamedQuery DefaultQR = new MNamedQuery();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select NQNAME,NQCONDITION,case when ISNULL(NQPUBLIC,'N') = 'Y' then 2 else 1 end as PX,case when ISNULL(NQDEFAULT,'N') = 'Y' then 1 else 2 end as MR,NQXH ");
SQL.Add(" from NAMEDQUERY ");
SQL.Add(" where (NQUSRID = :pUSERID or ISNULL(NQPUBLIC,'N') = 'Y' ) ");
SQL.Add(" and NQMDID = :pMDID ");
SQL.Add(" and NQCLASSNAME = :pClassName ");
SQL.Add(" union all ");
SQL.Add(" select NAMEDQUERY.NQNAME,NQCONDITION,case when ISNULL(NAMEDQUERY.NQPUBLIC,'N') = 'Y' then 2 else 1 end as PX,case when ISNULL(NAMEDQUERY.NQDEFAULT,'N') = 'Y' then 1 else 2 end as MR,NQXH ");
SQL.Add(" from NAMEDQUERY,NAMEDQUERYMX,USERROLE ");
SQL.Add(" where NAMEDQUERY.NQCLASSNAME = NAMEDQUERYMX.NQCLASSNAME and NAMEDQUERY.NQMDID = NAMEDQUERYMX.NQMDID and NAMEDQUERY.NQNAME =NAMEDQUERYMX.NQNAME and URROLEID = ROID ");
SQL.Add(" and URUSERID = :pRYID ");
SQL.Add(" and NAMEDQUERY.NQMDID = :pMDID ");
SQL.Add(" and NAMEDQUERY.NQCLASSNAME = :pClassName ");
SQL.Add(" order by MR,PX,NQXH ");
SQL.ParamByName("pUSERID").Value = tSession.UserId.Trim();
SQL.ParamByName("pMDID").Value = NMDID;
SQL.ParamByName("pClassName").Value = sNQCLASSNAME;
SQL.ParamByName("pRYID").Value = tSession.RYID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["MR"].ToString().Trim().Equals("1"))
{
DefaultQR.NQNAME = ds.Tables[0].Rows[0]["NQNAME"].ToString().Trim();
string sNQCONDITION = ds.Tables[0].Rows[0]["NQCONDITION"].ToString().Trim();
if (sNQCONDITION.Contains("HZFS=1^产品目录"))
{
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
}
else if (sNQCONDITION.Contains("HZFS=2^产品用途"))
{
DefaultQR.JCHZFS = "2";
DefaultQR.JCHZFSMC = "产品用途";
}
else
{
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
}
if (sNQCONDITION.Contains("XSMX=False^N"))
DefaultQR.XSJCMX = "N";
else if (sNQCONDITION.Contains("XSMX=True^Y"))
DefaultQR.XSJCMX = "Y";
else
DefaultQR.XSJCMX = "Y";
if (sNQCONDITION.Contains("XSXJ=False^N"))
DefaultQR.XSJCXJ = "N";
else if (sNQCONDITION.Contains("XSXJ=True^Y"))
DefaultQR.XSJCXJ = "Y";
else
DefaultQR.XSJCXJ = "Y";
}
else
{
DefaultQR.NQNAME = "";
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
DefaultQR.XSJCMX = "Y";
DefaultQR.XSJCXJ = "Y";
}
}
else
{
DefaultQR.NQNAME = "";
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
DefaultQR.XSJCMX = "Y";
DefaultQR.XSJCXJ = "Y";
}
return DefaultQR;
}
public MNamedQuery GetMNamedQueryByNQNAME(int NMDID, string sNQCLASSNAME, string sNQNAME)
{
MNamedQuery DefaultQR = new MNamedQuery();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select NQNAME,NQCONDITION,case when ISNULL(NQPUBLIC,'N') = 'Y' then 2 else 1 end as PX,case when ISNULL(NQDEFAULT,'N') = 'Y' then 1 else 2 end as MR,NQXH ");
SQL.Add(" from NAMEDQUERY ");
SQL.Add(" where (NQUSRID = :pUSERID or ISNULL(NQPUBLIC,'N') = 'Y' ) ");
SQL.Add(" and NQMDID = :pMDID ");
SQL.Add(" and NQCLASSNAME = :pClassName ");
SQL.Add(" and NQNAME = :pNQNAME ");
SQL.Add(" union all ");
SQL.Add(" select NAMEDQUERY.NQNAME,NQCONDITION,case when ISNULL(NAMEDQUERY.NQPUBLIC,'N') = 'Y' then 2 else 1 end as PX,case when ISNULL(NAMEDQUERY.NQDEFAULT,'N') = 'Y' then 1 else 2 end as MR,NQXH ");
SQL.Add(" from NAMEDQUERY,NAMEDQUERYMX,USERROLE ");
SQL.Add(" where NAMEDQUERY.NQCLASSNAME = NAMEDQUERYMX.NQCLASSNAME and NAMEDQUERY.NQMDID = NAMEDQUERYMX.NQMDID and NAMEDQUERY.NQNAME =NAMEDQUERYMX.NQNAME and URROLEID = ROID ");
SQL.Add(" and URUSERID = :pRYID ");
SQL.Add(" and NAMEDQUERY.NQMDID = :pMDID ");
SQL.Add(" and NAMEDQUERY.NQCLASSNAME = :pClassName ");
SQL.Add(" and NAMEDQUERY.NQNAME = :pNQNAME ");
SQL.Add(" order by MR,PX,NQXH ");
SQL.ParamByName("pUSERID").Value = tSession.UserId.Trim();
SQL.ParamByName("pMDID").Value = NMDID;
SQL.ParamByName("pClassName").Value = sNQCLASSNAME;
SQL.ParamByName("pNQNAME").Value = sNQNAME;
SQL.ParamByName("pRYID").Value = tSession.RYID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
DefaultQR.NQNAME = ds.Tables[0].Rows[0]["NQNAME"].ToString().Trim();
string sNQCONDITION = ds.Tables[0].Rows[0]["NQCONDITION"].ToString().Trim();
if (sNQCONDITION.Contains("HZFS=1^产品目录"))
{
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
}
else if (sNQCONDITION.Contains("HZFS=2^产品用途"))
{
DefaultQR.JCHZFS = "2";
DefaultQR.JCHZFSMC = "产品用途";
}
else
{
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
}
if (sNQCONDITION.Contains("XSMX=False^N"))
DefaultQR.XSJCMX = "N";
else if (sNQCONDITION.Contains("XSMX=True^Y"))
DefaultQR.XSJCMX = "Y";
else
DefaultQR.XSJCMX = "Y";
if (sNQCONDITION.Contains("XSXJ=False^N"))
DefaultQR.XSJCXJ = "N";
else if (sNQCONDITION.Contains("XSXJ=True^Y"))
DefaultQR.XSJCXJ = "Y";
else
DefaultQR.XSJCXJ = "Y";
}
else
{
DefaultQR.NQNAME = "";
DefaultQR.JCHZFS = "1";
DefaultQR.JCHZFSMC = "产品目录";
DefaultQR.XSJCMX = "Y";
DefaultQR.XSJCXJ = "Y";
}
return DefaultQR;
}
private string Mround(string str, int lenth)
{
double num = CMISproConvert.StrToFloat(str);
num = NumberUtils.RoundX(num, lenth);
string rstr = num.ToString().Trim();
int index = 1;
string str1 = "";
string str2 = "";
foreach (string tempstr in rstr.Split('.'))
{
if (index == 1)
str1 = tempstr;
else
str2 = tempstr;
index++;
}
str2 = str2.PadRight(lenth, '0');
rstr = str1 + "." + str2;
return rstr;
}
//获取报价分类
public List<CodeInfo> GetBJFLList()
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select rtrim(XLXSBJFL_BJFLID) as CodeID ,rtrim(XLXSBJFL_BJFLMC) as CodeMC from XLXSBJFL where 1=1 and isnull(XLXSBJFL_TYBZ,'N') <> 'Y' ";
sSQL += " and not exists(select 1 from XLXSBJFLKH where XLXSBJFLKH_BJFLID=XLXSBJFL_BJFLID) ";
string sBJU012 = GetOption("BJU012");
if (!sBJU012.Equals(""))
{
sSQL += "and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", sBJU012);
}
sSQL += "order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ";
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取销售单位
public List<CodeInfo> GetXSDWList()
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select rtrim(GS_SYDWID) as CodeID,rtrim(GS_GSMC) as CodeMC from GS where 1=1 and isnull(GS_TYBZ,'N')<>'Y' ";
string sKZZXU003 = GetOption("KZZXU003");
if (!sKZZXU003.Equals(""))
{
sSQL += "and " + CMISproDataBase.GetWhereEqual("GS_SYDWID", sKZZXU003);
}
sSQL += "order by GS_SYDWID ";
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取报价归属部门
public List<CodeInfo> GetBJGSBMList(string sSYDWID)
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select distinct rtrim(BM_BMID) as CodeID, BM_MC as CodeMC from BM ";
sSQL += " where 1=1 and isnull(BM_TYBZ,'N')<>'Y' ";
string sHJU006 = GetOption("HJU006");
if (!sHJU006.Equals(""))
{
sSQL += "and " + CMISproDataBase.GetWhereEqual("BM_BMID", sHJU006);
}
if (!string.IsNullOrEmpty(sSYDWID))
sSQL += " and BM_SYDWID = '" + sSYDWID.Trim() + "'";
sSQL += " order by rtrim(BM_BMID) ";
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取客户
public List<CodeInfo> GetKHList(string sKH, string sKHLY)
{
string sFW = GetOption("HJU038").Trim();
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "";
if (sKHLY.Equals("KHXX"))
{
sSQL = "select rtrim(KHXX_CRMKHID) as CodeID , KHXX_MC as CodeMC from KHXX ";
sSQL += " where 1=1 ";
if (sFW.Trim().Equals("ZJ"))
{
sSQL += string.Format(" and KHXX_FZR='{0}'", tSession.UserName.Trim());
}
else if (sFW.Trim().Equals("BM"))
{
sSQL += string.Format(" and KHXX_FZR in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId);
}
if (!sKH.Equals(""))
{
sSQL += "and KHXX_MC like '%" + sKH + "%' ";
}
sSQL += " order by KHXX_CRMKHID ";
}
else
{
sSQL = "select rtrim(KH_KHID) as CodeID , KH_MC as CodeMC from KH ";
sSQL += " where 1=1 and isnull(KH_TYBZ,'N') <> 'Y' ";
if (sFW.Trim().Equals("ZJ"))
{
sSQL += string.Format(" and KH_TXY='{0}'", tSession.UserName.Trim());
}
else if (sFW.Trim().Equals("BM"))
{
sSQL += string.Format(" and KH_TXY in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId);
}
if (!sKH.Equals(""))
{
sSQL += "and KH_MC like '%" + sKH + "%' ";
}
sSQL += " order by KH_KHID ";
}
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取项目
public List<CodeInfo> GetXMList(string sXM, string sXMLY)
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "";
if (sXMLY.Equals("YXXM"))
{
sSQL = "select rtrim(YXXM_XMID) as CodeID , YXXM_MC as CodeMC from YXXM ";
sSQL += " where 1=1 ";
if (!sXM.Equals(""))
{
sSQL += "and YXXM_MC like '%" + sXM + "%' ";
}
sSQL += " order by YXXM_XMID ";
}
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取项目所在地省份
public List<CodeInfo> GetXMSZDSFList()
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select rtrim(XZQH_XZQHID) as CodeID ,rtrim(XZQH_PROVINCE) as CodeMC from XZQH where 1=1 and XZQH_FID = '86' ";
sSQL += "order by rtrim(XZQH_XZQHID)";
CodeInfo emptycdinfo = new CodeInfo();
codeList.Add(emptycdinfo);
setCodeList(sSQL, ref codeList);
return codeList;
}
//获取项目所在地城市
public List<CodeInfo> GetXMSZDCSList(string sFID)
{
List<CodeInfo> codeList = new List<CodeInfo>();
if (!sFID.Trim().Equals(""))
{
string sSQL = "select rtrim(XZQH_XZQHID) as CodeID ,rtrim(XZQH_CITY) as CodeMC from XZQH where 1=1 and XZQH_FID = '" + sFID + "' ";
sSQL += "order by rtrim(XZQH_XZQHID)";
CodeInfo emptycdinfo = new CodeInfo();
codeList.Add(emptycdinfo);
setCodeList(sSQL, ref codeList);
}
return codeList;
}
//获取默认项目所在地城市
public CodeInfo GetMRXMSZCS(string sFID)
{
CodeInfo newCodeInfo = new CodeInfo();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Add("select rtrim(XZQH_XZQHID) as CodeID ,rtrim(XZQH_CITY) as CodeMC from XZQH where 1=1 and XZQH_FID = '" + sFID + "' ");
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows.Count == 1)
{
newCodeInfo.CodeID = ds.Tables[0].Rows[0]["CodeID"].ToString().Trim();
newCodeInfo.CodeMC = ds.Tables[0].Rows[0]["CodeMC"].ToString().Trim();
}
}
return newCodeInfo;
}
//获取销售员
public List<CodeInfo> GetXSYList()
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select XSY_ZJM as CodeID ,XSY_TXY as CodeMC from XSY left join BM on BM_BMID = XSY_BMID left join GS on GS_SYDWID = BM_SYDWID ";
sSQL += " where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_GH ='" + tSession.UserId + "'";
sSQL += " order by rtrim(BM_BMID) ";
setCodeList(sSQL, ref codeList);
return codeList;
}
//依据客户自动变更销售员
public XSYXX GetXSYXXbyKH(string sKH, string sOldKH, string sTXY)
{
XSYXX XSY = new XSYXX();
XSY.BGBZ = "N";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
string sKHJSLY = "";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY))
sKHJSLY = pzxx.XLXSBJPZ_KHJSLY;
string sFW = GetOption("HJU038").Trim();
if (sKHJSLY.Equals("KHXX"))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KHXX where KHXX_FZR = '{0}' and KHXX_MC = '{1}' ", sTXY, sOldKH))
|| sOldKH.Equals(""))
{
sSQL.Clear();
sSQL.Add(" select KHXX_FZR as KH_TXY,XSY_ZJM from KHXX ");
sSQL.Add(" left join XSY on XSY_TXY = KHXX_FZR ");
sSQL.Add(" where KHXX_MC = :pKHMC ");
if (sFW.Trim().Equals("ZJ"))
{
sSQL.Add(string.Format(" and KHXX_FZR='{0}'", tSession.UserName.Trim()));
}
else if (sFW.Trim().Equals("BM"))
{
sSQL.Add(string.Format(" and KHXX_FZR in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId));
}
sSQL.Add(" order by ISNULL(XSY_TYBZ,'N'),KHXX_CRMKHID ");
sSQL.ParamByName("pKHMC").Value = sKH;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sKHTXY = ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim();
string sZJM = ds.Tables[0].Rows[0]["XSY_ZJM"].ToString().Trim();
XSY.TXY = sKHTXY;
XSY.XSYZJM = sZJM;
if (!sKHTXY.Equals(""))
{
XSY.BGBZ = "Y";
CodeInfo newCodeInfo = GetXSYBMLXFS(sKHTXY);
XSY.LXFS = newCodeInfo.CodeID;
XSY.XSYGSBM = newCodeInfo.CodeMC;
}
}
}
}
else
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_TXY = '{0}' and KH_MC = '{1}' ", sTXY, sOldKH))
|| sOldKH.Equals(""))
{
sSQL.Clear();
sSQL.Add(" select KH_TXY,XSY_ZJM from KH ");
sSQL.Add(" left join XSY on XSY_TXY = KH_TXY ");
sSQL.Add(" where KH_MC=:pKHMC and isnull(KH_TYBZ,'N') <> 'Y' ");
if (sFW.Trim().Equals("ZJ"))
{
sSQL.Add(string.Format(" and KH_TXY='{0}'", tSession.UserName.Trim()));
}
else if (sFW.Trim().Equals("BM"))
{
sSQL.Add(string.Format(" and KH_TXY in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId));
}
sSQL.Add(" order by ISNULL(XSY_TYBZ,'N') ");
sSQL.ParamByName("pKHMC").Value = sKH;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sKHTXY = ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim();
string sZJM = ds.Tables[0].Rows[0]["XSY_ZJM"].ToString().Trim();
XSY.TXY = sKHTXY;
XSY.XSYZJM = sZJM;
if (!sKHTXY.Equals(""))
{
XSY.BGBZ = "Y";
CodeInfo newCodeInfo = GetXSYBMLXFS(sKHTXY);
XSY.LXFS = newCodeInfo.CodeID;
XSY.XSYGSBM = newCodeInfo.CodeMC;
}
}
}
}
return XSY;
}
//获取销售员归属部门和联系方式
public CodeInfo GetXSYBMLXFS(string sTXY)
{
CodeInfo newCodeInfo = new CodeInfo();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Add(" select XSY_SJ,XSY_DH,XSY_BMID,BM_MC from XSY ");
sSQL.Add(" left join BM on BM_BMID = XSY_BMID ");
sSQL.Add(" where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_TXY ='" + sTXY + "'");
sSQL.Add(" order by BM_SYDWID ");
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim()))
newCodeInfo.CodeID = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
else if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim()))
newCodeInfo.CodeID = ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim();
else
newCodeInfo.CodeID = "";
if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim()))
newCodeInfo.CodeMC = "";
else
newCodeInfo.CodeMC = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["BM_MC"].ToString().Trim();
}
return newCodeInfo;
}
private void setCodeList(string sSQL, ref List<CodeInfo> codeList)
{
string sFields = @"CodeID, CodeMC ";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(sSQL);
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
CodeInfo cdinfo = new CodeInfo();
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
cdinfo.GetType().GetProperty(Field.Trim()).SetValue(cdinfo, ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim(), null);
}
codeList.Add(cdinfo);
}
}
//判断模块是否存在并且是否有权限
private bool CheckModule(string sUMID)
{
int iUMID = CMISproConvert.StrToInt(sUMID);
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
//判断模块是否存在并且是否有新增权限
private bool CheckModuleNew(string sUMID)
{
int iUMID = CMISproConvert.StrToInt(sUMID);
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Insert);
}
//判断能否派生销售合同登记
private bool CheckXSHT(string sBJDID)
{
bool Rb = false;
string sHTBJDKZ = GetHTBJDKZ(sBJDID);
if (sHTBJDKZ.Equals("1"))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select BJD_BJDID from BJD where exists(select 1 from TBBJFK where TBBJFK_BJDID=BJD_BJDID) and BJD_BJDID = :pBJID");
SQL.ParamByName("pBJID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (CheckModuleNew("101008001"))
{
Rb = true;
}
}
}
else if (sHTBJDKZ.Equals("2"))
Rb = true;
else
Rb = false;
return Rb;
}
//线缆销售报价单再次报价
public string CopyXLBJD(string BJDID)
{
string sNewBJDID = "";
string sYBJDID = XLBJDUtils.GetYBJDID(BJDID);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select max(XLXSBJD_BJDID) from XLXSBJD where XLXSBJD_BJDID like :pBJDID");
sql.ParamByName("pBJDID").Value = sYBJDID + "-%";
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
string maxBJDID = ds.Tables[0].Rows[0][0].ToString().Trim();
if (maxBJDID.Equals(""))
sNewBJDID = sYBJDID + "-01";
else
sNewBJDID = sYBJDID + "-" + Convert.ToString(CMISproConvert.StrToFloat(maxBJDID.Substring(maxBJDID.LastIndexOf('-') + 1)) + 1).PadLeft(2, '0');
}
else
{
sNewBJDID = sYBJDID + "-01";
}
//根据BJDID获取BJFLID
sql.Clear();
string BJFLID = "";
sql.Add("select XLXSBJD_BJFLID from XLXSBJD where XLXSBJD_BJDID =:pBJD");
sql.ParamByName("pBJD").Value = BJDID;
DataSet dsFL = dberp.OpenDataSet(sql);
if (dsFL.Tables[0].Rows.Count > 0)
{
BJFLID = dsFL.Tables[0].Rows[0][0].ToString().Trim();
}
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(BJFLID);
string rstr = sNewBJDID;
try
{
dberp.BeginTrans();
#region 复制主表
sql.Clear();
sql.Add(" merge into XLXSBJD TAG ");
sql.Add(" using ( ");
sql.Add(" select XLXSBJD_BJDID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJFLID, XLXSBJD_KHID, XLXSBJD_XSQYID, XLXSBJD_SYDWID, XLXSBJD_BJRQ, XLXSBJD_XSJLMC, ");
sql.Add(" XLXSBJD_TXY, XLXSBJD_XSBMID, XLXSBJD_KH, XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ, XLXSBJD_PJLX, XLXSBJD_JZBJHS, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_FKSM, XLXSBJD_BZ, ");
sql.Add(" XLXSBJD_ZJE,XLXSBJD_ZZL,XLXSBJD_LRL,XLXSBJD_ZDXJJCL,XLXSBJD_CLCBJCL,XLXSBJD_FKQXNR,XLXSBJD_BJSM,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH, ");
sql.Add(" XLXSBJD_XZQHID,XLXSBJD_ZDQRRGH,XLXSBJD_ZDQRSJ,XLXSBJD_XMID,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,XLXSBJD_JGBBJLJJCL,XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_DOCGRPID, XLXSBJD_FJS ");
sql.Add(" from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJD_BJDID = :pNBJDID ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJD_BJDID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJFLID, XLXSBJD_KHID, XLXSBJD_XSQYID, XLXSBJD_SYDWID, XLXSBJD_BJRQ, XLXSBJD_XSJLMC,XLXSBJD_SQR,XLXSBJD_SQRID,XLXSBJD_SQRGH,XLXSBJD_SQRQ, ");
sql.Add(" XLXSBJD_TXY, XLXSBJD_XSBMID, XLXSBJD_KH, XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ, XLXSBJD_PJLX, XLXSBJD_JZBJHS, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_FKSM, XLXSBJD_BZ, ");
sql.Add(" XLXSBJD_ZJE,XLXSBJD_ZZL,XLXSBJD_LRL,XLXSBJD_ZDXJJCL,XLXSBJD_CLCBJCL,XLXSBJD_FKQXNR,XLXSBJD_BJSM,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_YBJDIDS,XLXSBJD_ZT, ");
sql.Add(" XLXSBJD_XZQHID,XLXSBJD_ZDQRRGH,XLXSBJD_ZDQRSJ,XLXSBJD_XMID,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,XLXSBJD_JGBBJLJJCL,XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_DOCGRPID, XLXSBJD_FJS ");
sql.Add(" ) ");
sql.Add(" values ( ");
sql.Add(" :pNBJDID, SOR.XLXSBJD_JGBID,SOR.XLXSBJD_CLHQJGBID, SOR.XLXSBJD_BJFLID, SOR.XLXSBJD_KHID, SOR.XLXSBJD_XSQYID, SOR.XLXSBJD_SYDWID, :XLXSBJD_BJRQ, SOR.XLXSBJD_XSJLMC,:XLXSBJD_SQR,:XLXSBJD_SQRID,:XLXSBJD_SQRGH,:XLXSBJD_SQRQ, ");
sql.Add(" SOR.XLXSBJD_TXY, SOR.XLXSBJD_XSBMID, SOR.XLXSBJD_KH, SOR.XLXSBJD_KHLXR,SOR.XLXSBJD_LXDH,SOR.XLXSBJD_CZ, SOR.XLXSBJD_PJLX, SOR.XLXSBJD_JZBJHS, SOR.XLXSBJD_XMMC, SOR.XLXSBJD_XXDZ, SOR.XLXSBJD_FKSM, SOR.XLXSBJD_BZ, ");
sql.Add(" SOR.XLXSBJD_ZJE,SOR.XLXSBJD_ZZL,SOR.XLXSBJD_LRL,SOR.XLXSBJD_ZDXJJCL,SOR.XLXSBJD_CLCBJCL,SOR.XLXSBJD_FKQXNR,SOR.XLXSBJD_BJSM,SOR.XLXSBJD_TJ,SOR.XLXSBJD_LJ,SOR.XLXSBJD_CZJSXY,SOR.XLXSBJD_KHDH,:pYBJDID,'Z', ");
sql.Add(" SOR.XLXSBJD_XZQHID,SOR.XLXSBJD_ZDQRRGH,SOR.XLXSBJD_ZDQRSJ,SOR.XLXSBJD_XMID,SOR.XLXSBJD_YSJDID,SOR.XLXSBJD_GYSID,SOR.XLXSBJD_YSFY,SOR.XLXSBJD_JGBBJLJJCL,:pWHR, :pWHRID, :pWHSJ, 0, 0 ");
sql.Add(" )");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
sql.ParamByName("pYBJDID").Value = sYBJDID;
sql.ParamByName("XLXSBJD_BJRQ").Value = DateTime.Now.ToShortDateString().Trim();
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
sql.ParamByName("XLXSBJD_SQR").Value = tSession.UserName;
sql.ParamByName("XLXSBJD_SQRID").Value = tSession.RYID;
sql.ParamByName("XLXSBJD_SQRGH").Value = tSession.UserId;
sql.ParamByName("XLXSBJD_SQRQ").Value = DateTime.Now.ToString().Trim();
dberp.ExecSQL(sql);
TLogicContext lgc = TLogicContext.Current;
TWorkflow wf = new TWorkflow(tSession, new System.Web.Caching.Cache());
wf.Enabled = true;
wf.UMID = lgc.RefUmId;
wf.WFNewInst(wf.GetWFID("XLXSBJ_BJD"), tSession.UserId);
dberp.ExecSQL(string.Format(@"update XLXSBJD set XLXSBJD_WPID='{0}', XLXSBJD_WFAWAITER='{1}', XLXSBJD_WFHANDLER='{2}',
XLXSBJD_WFINST='{3}',XLXSBJD_WFID='{4}',XLXSBJD_ACTNAME='{5}'
where XLXSBJD_BJDID = '{6}' ",
wf.WPID, wf.Awaiter, wf.Handler, wf.WFInst, wf.WFID, wf.GetWFActionName(TWFAction.wfaNewInst), sNewBJDID));
#endregion
#region 复制明细表
sql.Clear();
sql.Add(" merge into XLXSBJDMX TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDMX_BJDID, XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XDXLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP, ");
sql.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_GYKH, ");
sql.Add(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,XLXSBJDMX_CLZL,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL, ");
sql.Add(" XLXSBJDMX_BZ,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_WLID,XLXSBJDMX_BJCPSD,XLXSBJDMX_CPMLMC,XLXSBJDMX_WGCPBZ,XLXSBJDMX_JGBBJGXSJ, ");
sql.Add(" XLXSBJDMX_JMBGS,XLXSBJDMX_YXJG,XLXSBJDMX_BJDHQCLCBTZ,XLXSBJDMX_JGBBJTZ,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH ");
sql.Add(" from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDMX_BJDID = :pNBJDID and TAG.XLXSBJDMX_XH = SOR.XLXSBJDMX_XH ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XDXLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP, ");
sql.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_GYKH, ");
sql.Add(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,XLXSBJDMX_CLZL,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL, ");
sql.Add(" XLXSBJDMX_BZ,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_WLID,XLXSBJDMX_BJCPSD,XLXSBJDMX_CPMLMC,XLXSBJDMX_WGCPBZ,XLXSBJDMX_JGBBJGXSJ, ");
sql.Add(" XLXSBJDMX_JMBGS,XLXSBJDMX_YXJG,XLXSBJDMX_BJDHQCLCBTZ,XLXSBJDMX_JGBBJTZ,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDMX_XH,SOR.XLXSBJDMX_XSSX,SOR.XLXSBJDMX_XLXHID,SOR.XLXSBJDMX_XDXLXHID,SOR.XLXSBJDMX_XLGGID,SOR.XLXSBJDMX_XLBZID,SOR.XLXSBJDMX_XDXLBZID,SOR.XLXSBJDMX_DYDJID,SOR.XLXSBJDMX_XLYSID,SOR.XLXSBJDMX_BJCP, ");
sql.Add(" SOR.XLXSBJDMX_JLDW,SOR.XLXSBJDMX_BJSL,SOR.XLXSBJDMX_BJDHQCLCB,SOR.XLXSBJDMX_CLCB,SOR.XLXSBJDMX_JGBJJ,SOR.XLXSBJDMX_JGBBJ,SOR.XLXSBJDMX_TZQCPBJ,SOR.XLXSBJDMX_TZCPBJ,SOR.XLXSBJDMX_CPBJ,SOR.XLXSBJDMX_GYKH, ");
sql.Add(" SOR.XLXSBJDMX_TZQBJJE,SOR.XLXSBJDMX_TZBJJE,SOR.XLXSBJDMX_BJJE,SOR.XLXSBJDMX_CLZL,SOR.XLXSBJDMX_CLCBJCL,SOR.XLXSBJDMX_JGBBJJCL,SOR.XLXSBJDMX_JGBBJJCE,SOR.XLXSBJDMX_ZDXJ,SOR.XLXSBJDMX_ZDXJJCL, ");
sql.Add(" SOR.XLXSBJDMX_BZ,SOR.XLXSBJDMX_BJSDBZ,SOR.XLXSBJDMX_CLCBJCLSDBZ,:pWHRID,:pWHR,:pWHSJ,SOR.XLXSBJDMX_JGBBJLJJCL,SOR.XLXSBJDMX_WLID,SOR.XLXSBJDMX_BJCPSD,SOR.XLXSBJDMX_CPMLMC,SOR.XLXSBJDMX_WGCPBZ,SOR.XLXSBJDMX_JGBBJGXSJ, ");
sql.Add(" SOR.XLXSBJDMX_JMBGS,SOR.XLXSBJDMX_YXJG,SOR.XLXSBJDMX_BJDHQCLCBTZ,SOR.XLXSBJDMX_JGBBJTZ,SOR.XLXSBJDMX_ZDXJBJDID,SOR.XLXSBJDMX_ZDXJBJDXH ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sql);
#endregion
#region 复制报价单因子值
sql.Clear();
sql.Add(" merge into XLXSBJDYZZ0 TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDYZZ0_BJDID,XLXSBJDYZZ0_XH,XLXSBJDYZZ0_YZZ01,XLXSBJDYZZ0_YZZ02,XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04,XLXSBJDYZZ0_YZZ05, ");
sql.Add(" XLXSBJDYZZ0_YZZ06,XLXSBJDYZZ0_YZZ07,XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09,XLXSBJDYZZ0_YZZ10, ");
sql.Add(" XLXSBJDYZZ0_YZZ11,XLXSBJDYZZ0_YZZ12,XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14,XLXSBJDYZZ0_YZZ15, ");
sql.Add(" XLXSBJDYZZ0_YZZ16,XLXSBJDYZZ0_YZZ17,XLXSBJDYZZ0_YZZ18,XLXSBJDYZZ0_YZZ19,XLXSBJDYZZ0_YZZ20 ");
sql.Add(" from XLXSBJDYZZ0 where XLXSBJDYZZ0_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDYZZ0_BJDID = :pNBJDID and TAG.XLXSBJDYZZ0_XH = SOR.XLXSBJDYZZ0_XH ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDYZZ0_BJDID,XLXSBJDYZZ0_XH,XLXSBJDYZZ0_YZZ01,XLXSBJDYZZ0_YZZ02,XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04,XLXSBJDYZZ0_YZZ05, ");
sql.Add(" XLXSBJDYZZ0_YZZ06,XLXSBJDYZZ0_YZZ07,XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09,XLXSBJDYZZ0_YZZ10, ");
sql.Add(" XLXSBJDYZZ0_YZZ11,XLXSBJDYZZ0_YZZ12,XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14,XLXSBJDYZZ0_YZZ15, ");
sql.Add(" XLXSBJDYZZ0_YZZ16,XLXSBJDYZZ0_YZZ17,XLXSBJDYZZ0_YZZ18,XLXSBJDYZZ0_YZZ19,XLXSBJDYZZ0_YZZ20 ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDYZZ0_XH,SOR.XLXSBJDYZZ0_YZZ01,SOR.XLXSBJDYZZ0_YZZ02,SOR.XLXSBJDYZZ0_YZZ03,SOR.XLXSBJDYZZ0_YZZ04,SOR.XLXSBJDYZZ0_YZZ05, ");
sql.Add(" SOR.XLXSBJDYZZ0_YZZ06,SOR.XLXSBJDYZZ0_YZZ07,SOR.XLXSBJDYZZ0_YZZ08,SOR.XLXSBJDYZZ0_YZZ09,SOR.XLXSBJDYZZ0_YZZ10, ");
sql.Add(" SOR.XLXSBJDYZZ0_YZZ11,SOR.XLXSBJDYZZ0_YZZ12,SOR.XLXSBJDYZZ0_YZZ13,SOR.XLXSBJDYZZ0_YZZ14,SOR.XLXSBJDYZZ0_YZZ15, ");
sql.Add(" SOR.XLXSBJDYZZ0_YZZ16,SOR.XLXSBJDYZZ0_YZZ17,SOR.XLXSBJDYZZ0_YZZ18,SOR.XLXSBJDYZZ0_YZZ19,SOR.XLXSBJDYZZ0_YZZ20 ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
dberp.ExecSQL(sql);
#endregion
#region 复制报价单材料成本
sql.Clear();
sql.Add(" merge into XLXSBJDCLCB TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDCLCB_BJDID,XLXSBJDCLCB_XH,XLXSBJDCLCB_BJCP,XLXSBJDCLCB_JLDW,XLXSBJDCLCB_BJSL, ");
sql.Add(" XLXSBJDCLCB_CLSL01,XLXSBJDCLCB_CLSL02,XLXSBJDCLCB_CLSL03,XLXSBJDCLCB_CLSL04,XLXSBJDCLCB_CLSL05,XLXSBJDCLCB_CLSL06,XLXSBJDCLCB_CLSL07,XLXSBJDCLCB_CLSL08,XLXSBJDCLCB_CLSL09,XLXSBJDCLCB_CLSL10,");
sql.Add(" XLXSBJDCLCB_CLSL11,XLXSBJDCLCB_CLSL12,XLXSBJDCLCB_CLSL13,XLXSBJDCLCB_CLSL14,XLXSBJDCLCB_CLSL15,XLXSBJDCLCB_CLSL16,XLXSBJDCLCB_CLSL17,XLXSBJDCLCB_CLSL18,XLXSBJDCLCB_CLSL19,XLXSBJDCLCB_CLSL20,");
sql.Add(" XLXSBJDCLCB_CLSL21,XLXSBJDCLCB_CLSL22,XLXSBJDCLCB_CLSL23,XLXSBJDCLCB_CLSL24,XLXSBJDCLCB_CLSL25,XLXSBJDCLCB_CLSL26,XLXSBJDCLCB_CLSL27,XLXSBJDCLCB_CLSL28,XLXSBJDCLCB_CLSL29,XLXSBJDCLCB_CLSL30,");
sql.Add(" XLXSBJDCLCB_CLSL31,XLXSBJDCLCB_CLSL32,XLXSBJDCLCB_CLSL33,XLXSBJDCLCB_CLSL34,XLXSBJDCLCB_CLSL35,XLXSBJDCLCB_CLSL36,XLXSBJDCLCB_CLSL37,XLXSBJDCLCB_CLSL38,XLXSBJDCLCB_CLSL39,XLXSBJDCLCB_CLSL40,");
sql.Add(" XLXSBJDCLCB_CLSL41,XLXSBJDCLCB_CLSL42,XLXSBJDCLCB_CLSL43,XLXSBJDCLCB_CLSL44,XLXSBJDCLCB_CLSL45,XLXSBJDCLCB_CLSL46,XLXSBJDCLCB_CLSL47,XLXSBJDCLCB_CLSL48,XLXSBJDCLCB_CLSL49,XLXSBJDCLCB_CLSL50,");
sql.Add(" XLXSBJDCLCB_CLSL51,XLXSBJDCLCB_CLSL52,XLXSBJDCLCB_CLSL53,XLXSBJDCLCB_CLSL54,XLXSBJDCLCB_CLSL55,XLXSBJDCLCB_CLSL56,XLXSBJDCLCB_CLSL57,XLXSBJDCLCB_CLSL58,XLXSBJDCLCB_CLSL59,XLXSBJDCLCB_CLSL60,");
sql.Add(" XLXSBJDCLCB_CLSL61,XLXSBJDCLCB_CLSL62,XLXSBJDCLCB_CLSL63,XLXSBJDCLCB_CLSL64,XLXSBJDCLCB_CLSL65,XLXSBJDCLCB_CLSL66,XLXSBJDCLCB_CLSL67,XLXSBJDCLCB_CLSL68,XLXSBJDCLCB_CLSL69,XLXSBJDCLCB_CLSL70,");
sql.Add(" XLXSBJDCLCB_CLSL71,XLXSBJDCLCB_CLSL72,XLXSBJDCLCB_CLSL73,XLXSBJDCLCB_CLSL74,XLXSBJDCLCB_CLSL75,XLXSBJDCLCB_CLSL76,XLXSBJDCLCB_CLSL77,XLXSBJDCLCB_CLSL78,XLXSBJDCLCB_CLSL79,XLXSBJDCLCB_CLSL80,");
sql.Add(" XLXSBJDCLCB_CLDJ01,XLXSBJDCLCB_CLDJ02,XLXSBJDCLCB_CLDJ03,XLXSBJDCLCB_CLDJ04,XLXSBJDCLCB_CLDJ05,XLXSBJDCLCB_CLDJ06,XLXSBJDCLCB_CLDJ07,XLXSBJDCLCB_CLDJ08,XLXSBJDCLCB_CLDJ09,XLXSBJDCLCB_CLDJ10,");
sql.Add(" XLXSBJDCLCB_CLDJ11,XLXSBJDCLCB_CLDJ12,XLXSBJDCLCB_CLDJ13,XLXSBJDCLCB_CLDJ14,XLXSBJDCLCB_CLDJ15,XLXSBJDCLCB_CLDJ16,XLXSBJDCLCB_CLDJ17,XLXSBJDCLCB_CLDJ18,XLXSBJDCLCB_CLDJ19,XLXSBJDCLCB_CLDJ20,");
sql.Add(" XLXSBJDCLCB_CLDJ21,XLXSBJDCLCB_CLDJ22,XLXSBJDCLCB_CLDJ23,XLXSBJDCLCB_CLDJ24,XLXSBJDCLCB_CLDJ25,XLXSBJDCLCB_CLDJ26,XLXSBJDCLCB_CLDJ27,XLXSBJDCLCB_CLDJ28,XLXSBJDCLCB_CLDJ29,XLXSBJDCLCB_CLDJ30,");
sql.Add(" XLXSBJDCLCB_CLDJ31,XLXSBJDCLCB_CLDJ32,XLXSBJDCLCB_CLDJ33,XLXSBJDCLCB_CLDJ34,XLXSBJDCLCB_CLDJ35,XLXSBJDCLCB_CLDJ36,XLXSBJDCLCB_CLDJ37,XLXSBJDCLCB_CLDJ38,XLXSBJDCLCB_CLDJ39,XLXSBJDCLCB_CLDJ40,");
sql.Add(" XLXSBJDCLCB_CLDJ41,XLXSBJDCLCB_CLDJ42,XLXSBJDCLCB_CLDJ43,XLXSBJDCLCB_CLDJ44,XLXSBJDCLCB_CLDJ45,XLXSBJDCLCB_CLDJ46,XLXSBJDCLCB_CLDJ47,XLXSBJDCLCB_CLDJ48,XLXSBJDCLCB_CLDJ49,XLXSBJDCLCB_CLDJ50,");
sql.Add(" XLXSBJDCLCB_CLDJ51,XLXSBJDCLCB_CLDJ52,XLXSBJDCLCB_CLDJ53,XLXSBJDCLCB_CLDJ54,XLXSBJDCLCB_CLDJ55,XLXSBJDCLCB_CLDJ56,XLXSBJDCLCB_CLDJ57,XLXSBJDCLCB_CLDJ58,XLXSBJDCLCB_CLDJ59,XLXSBJDCLCB_CLDJ60,");
sql.Add(" XLXSBJDCLCB_CLDJ61,XLXSBJDCLCB_CLDJ62,XLXSBJDCLCB_CLDJ63,XLXSBJDCLCB_CLDJ64,XLXSBJDCLCB_CLDJ65,XLXSBJDCLCB_CLDJ66,XLXSBJDCLCB_CLDJ67,XLXSBJDCLCB_CLDJ68,XLXSBJDCLCB_CLDJ69,XLXSBJDCLCB_CLDJ70,");
sql.Add(" XLXSBJDCLCB_CLDJ71,XLXSBJDCLCB_CLDJ72,XLXSBJDCLCB_CLDJ73,XLXSBJDCLCB_CLDJ74,XLXSBJDCLCB_CLDJ75,XLXSBJDCLCB_CLDJ76,XLXSBJDCLCB_CLDJ77,XLXSBJDCLCB_CLDJ78,XLXSBJDCLCB_CLDJ79,XLXSBJDCLCB_CLDJ80,");
sql.Add(" XLXSBJDCLCB_CLID01,XLXSBJDCLCB_CLID02,XLXSBJDCLCB_CLID03,XLXSBJDCLCB_CLID04,XLXSBJDCLCB_CLID05,XLXSBJDCLCB_CLID06,XLXSBJDCLCB_CLID07,XLXSBJDCLCB_CLID08,XLXSBJDCLCB_CLID09,XLXSBJDCLCB_CLID10,");
sql.Add(" XLXSBJDCLCB_CLID11,XLXSBJDCLCB_CLID12,XLXSBJDCLCB_CLID13,XLXSBJDCLCB_CLID14,XLXSBJDCLCB_CLID15,XLXSBJDCLCB_CLID16,XLXSBJDCLCB_CLID17,XLXSBJDCLCB_CLID18,XLXSBJDCLCB_CLID19,XLXSBJDCLCB_CLID20,");
sql.Add(" XLXSBJDCLCB_CLID21,XLXSBJDCLCB_CLID22,XLXSBJDCLCB_CLID23,XLXSBJDCLCB_CLID24,XLXSBJDCLCB_CLID25,XLXSBJDCLCB_CLID26,XLXSBJDCLCB_CLID27,XLXSBJDCLCB_CLID28,XLXSBJDCLCB_CLID29,XLXSBJDCLCB_CLID30,");
sql.Add(" XLXSBJDCLCB_CLID31,XLXSBJDCLCB_CLID32,XLXSBJDCLCB_CLID33,XLXSBJDCLCB_CLID34,XLXSBJDCLCB_CLID35,XLXSBJDCLCB_CLID36,XLXSBJDCLCB_CLID37,XLXSBJDCLCB_CLID38,XLXSBJDCLCB_CLID39,XLXSBJDCLCB_CLID40,");
sql.Add(" XLXSBJDCLCB_CLID41,XLXSBJDCLCB_CLID42,XLXSBJDCLCB_CLID43,XLXSBJDCLCB_CLID44,XLXSBJDCLCB_CLID45,XLXSBJDCLCB_CLID46,XLXSBJDCLCB_CLID47,XLXSBJDCLCB_CLID48,XLXSBJDCLCB_CLID49,XLXSBJDCLCB_CLID50,");
sql.Add(" XLXSBJDCLCB_CLID51,XLXSBJDCLCB_CLID52,XLXSBJDCLCB_CLID53,XLXSBJDCLCB_CLID54,XLXSBJDCLCB_CLID55,XLXSBJDCLCB_CLID56,XLXSBJDCLCB_CLID57,XLXSBJDCLCB_CLID58,XLXSBJDCLCB_CLID59,XLXSBJDCLCB_CLID60,");
sql.Add(" XLXSBJDCLCB_CLID61,XLXSBJDCLCB_CLID62,XLXSBJDCLCB_CLID63,XLXSBJDCLCB_CLID64,XLXSBJDCLCB_CLID65,XLXSBJDCLCB_CLID66,XLXSBJDCLCB_CLID67,XLXSBJDCLCB_CLID68,XLXSBJDCLCB_CLID69,XLXSBJDCLCB_CLID70,");
sql.Add(" XLXSBJDCLCB_CLID71,XLXSBJDCLCB_CLID72,XLXSBJDCLCB_CLID73,XLXSBJDCLCB_CLID74,XLXSBJDCLCB_CLID75,XLXSBJDCLCB_CLID76,XLXSBJDCLCB_CLID77,XLXSBJDCLCB_CLID78,XLXSBJDCLCB_CLID79,XLXSBJDCLCB_CLID80,");
sql.Add(" XLXSBJDCLCB_XLXHID,XLXSBJDCLCB_XLGGID,XLXSBJDCLCB_XLBZID,XLXSBJDCLCB_DYDJID,XLXSBJDCLCB_XLYSID,XLXSBJDCLCB_BZ,XLXSBJDCLCB_HSJGBBJ,XLXSBJDCLCB_WSJGBBJ,XLXSBJDCLCB_HSJGBJJ,XLXSBJDCLCB_WSJGBJJ,");
sql.Add(" XLXSBJDCLCB_JGBBJGXSJ,XLXSBJDCLCB_WHR,XLXSBJDCLCB_WHRID,XLXSBJDCLCB_WHSJ ");
sql.Add(" from XLXSBJDCLCB where XLXSBJDCLCB_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDCLCB_BJDID = :pNBJDID and TAG.XLXSBJDCLCB_XH = SOR.XLXSBJDCLCB_XH ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDCLCB_BJDID,XLXSBJDCLCB_XH,XLXSBJDCLCB_BJCP,XLXSBJDCLCB_JLDW,XLXSBJDCLCB_BJSL, ");
sql.Add(" XLXSBJDCLCB_CLSL01,XLXSBJDCLCB_CLSL02,XLXSBJDCLCB_CLSL03,XLXSBJDCLCB_CLSL04,XLXSBJDCLCB_CLSL05,XLXSBJDCLCB_CLSL06,XLXSBJDCLCB_CLSL07,XLXSBJDCLCB_CLSL08,XLXSBJDCLCB_CLSL09,XLXSBJDCLCB_CLSL10,");
sql.Add(" XLXSBJDCLCB_CLSL11,XLXSBJDCLCB_CLSL12,XLXSBJDCLCB_CLSL13,XLXSBJDCLCB_CLSL14,XLXSBJDCLCB_CLSL15,XLXSBJDCLCB_CLSL16,XLXSBJDCLCB_CLSL17,XLXSBJDCLCB_CLSL18,XLXSBJDCLCB_CLSL19,XLXSBJDCLCB_CLSL20,");
sql.Add(" XLXSBJDCLCB_CLSL21,XLXSBJDCLCB_CLSL22,XLXSBJDCLCB_CLSL23,XLXSBJDCLCB_CLSL24,XLXSBJDCLCB_CLSL25,XLXSBJDCLCB_CLSL26,XLXSBJDCLCB_CLSL27,XLXSBJDCLCB_CLSL28,XLXSBJDCLCB_CLSL29,XLXSBJDCLCB_CLSL30,");
sql.Add(" XLXSBJDCLCB_CLSL31,XLXSBJDCLCB_CLSL32,XLXSBJDCLCB_CLSL33,XLXSBJDCLCB_CLSL34,XLXSBJDCLCB_CLSL35,XLXSBJDCLCB_CLSL36,XLXSBJDCLCB_CLSL37,XLXSBJDCLCB_CLSL38,XLXSBJDCLCB_CLSL39,XLXSBJDCLCB_CLSL40,");
sql.Add(" XLXSBJDCLCB_CLSL41,XLXSBJDCLCB_CLSL42,XLXSBJDCLCB_CLSL43,XLXSBJDCLCB_CLSL44,XLXSBJDCLCB_CLSL45,XLXSBJDCLCB_CLSL46,XLXSBJDCLCB_CLSL47,XLXSBJDCLCB_CLSL48,XLXSBJDCLCB_CLSL49,XLXSBJDCLCB_CLSL50,");
sql.Add(" XLXSBJDCLCB_CLSL51,XLXSBJDCLCB_CLSL52,XLXSBJDCLCB_CLSL53,XLXSBJDCLCB_CLSL54,XLXSBJDCLCB_CLSL55,XLXSBJDCLCB_CLSL56,XLXSBJDCLCB_CLSL57,XLXSBJDCLCB_CLSL58,XLXSBJDCLCB_CLSL59,XLXSBJDCLCB_CLSL60,");
sql.Add(" XLXSBJDCLCB_CLSL61,XLXSBJDCLCB_CLSL62,XLXSBJDCLCB_CLSL63,XLXSBJDCLCB_CLSL64,XLXSBJDCLCB_CLSL65,XLXSBJDCLCB_CLSL66,XLXSBJDCLCB_CLSL67,XLXSBJDCLCB_CLSL68,XLXSBJDCLCB_CLSL69,XLXSBJDCLCB_CLSL70,");
sql.Add(" XLXSBJDCLCB_CLSL71,XLXSBJDCLCB_CLSL72,XLXSBJDCLCB_CLSL73,XLXSBJDCLCB_CLSL74,XLXSBJDCLCB_CLSL75,XLXSBJDCLCB_CLSL76,XLXSBJDCLCB_CLSL77,XLXSBJDCLCB_CLSL78,XLXSBJDCLCB_CLSL79,XLXSBJDCLCB_CLSL80,");
sql.Add(" XLXSBJDCLCB_CLDJ01,XLXSBJDCLCB_CLDJ02,XLXSBJDCLCB_CLDJ03,XLXSBJDCLCB_CLDJ04,XLXSBJDCLCB_CLDJ05,XLXSBJDCLCB_CLDJ06,XLXSBJDCLCB_CLDJ07,XLXSBJDCLCB_CLDJ08,XLXSBJDCLCB_CLDJ09,XLXSBJDCLCB_CLDJ10,");
sql.Add(" XLXSBJDCLCB_CLDJ11,XLXSBJDCLCB_CLDJ12,XLXSBJDCLCB_CLDJ13,XLXSBJDCLCB_CLDJ14,XLXSBJDCLCB_CLDJ15,XLXSBJDCLCB_CLDJ16,XLXSBJDCLCB_CLDJ17,XLXSBJDCLCB_CLDJ18,XLXSBJDCLCB_CLDJ19,XLXSBJDCLCB_CLDJ20,");
sql.Add(" XLXSBJDCLCB_CLDJ21,XLXSBJDCLCB_CLDJ22,XLXSBJDCLCB_CLDJ23,XLXSBJDCLCB_CLDJ24,XLXSBJDCLCB_CLDJ25,XLXSBJDCLCB_CLDJ26,XLXSBJDCLCB_CLDJ27,XLXSBJDCLCB_CLDJ28,XLXSBJDCLCB_CLDJ29,XLXSBJDCLCB_CLDJ30,");
sql.Add(" XLXSBJDCLCB_CLDJ31,XLXSBJDCLCB_CLDJ32,XLXSBJDCLCB_CLDJ33,XLXSBJDCLCB_CLDJ34,XLXSBJDCLCB_CLDJ35,XLXSBJDCLCB_CLDJ36,XLXSBJDCLCB_CLDJ37,XLXSBJDCLCB_CLDJ38,XLXSBJDCLCB_CLDJ39,XLXSBJDCLCB_CLDJ40,");
sql.Add(" XLXSBJDCLCB_CLDJ41,XLXSBJDCLCB_CLDJ42,XLXSBJDCLCB_CLDJ43,XLXSBJDCLCB_CLDJ44,XLXSBJDCLCB_CLDJ45,XLXSBJDCLCB_CLDJ46,XLXSBJDCLCB_CLDJ47,XLXSBJDCLCB_CLDJ48,XLXSBJDCLCB_CLDJ49,XLXSBJDCLCB_CLDJ50,");
sql.Add(" XLXSBJDCLCB_CLDJ51,XLXSBJDCLCB_CLDJ52,XLXSBJDCLCB_CLDJ53,XLXSBJDCLCB_CLDJ54,XLXSBJDCLCB_CLDJ55,XLXSBJDCLCB_CLDJ56,XLXSBJDCLCB_CLDJ57,XLXSBJDCLCB_CLDJ58,XLXSBJDCLCB_CLDJ59,XLXSBJDCLCB_CLDJ60,");
sql.Add(" XLXSBJDCLCB_CLDJ61,XLXSBJDCLCB_CLDJ62,XLXSBJDCLCB_CLDJ63,XLXSBJDCLCB_CLDJ64,XLXSBJDCLCB_CLDJ65,XLXSBJDCLCB_CLDJ66,XLXSBJDCLCB_CLDJ67,XLXSBJDCLCB_CLDJ68,XLXSBJDCLCB_CLDJ69,XLXSBJDCLCB_CLDJ70,");
sql.Add(" XLXSBJDCLCB_CLDJ71,XLXSBJDCLCB_CLDJ72,XLXSBJDCLCB_CLDJ73,XLXSBJDCLCB_CLDJ74,XLXSBJDCLCB_CLDJ75,XLXSBJDCLCB_CLDJ76,XLXSBJDCLCB_CLDJ77,XLXSBJDCLCB_CLDJ78,XLXSBJDCLCB_CLDJ79,XLXSBJDCLCB_CLDJ80,");
sql.Add(" XLXSBJDCLCB_CLID01,XLXSBJDCLCB_CLID02,XLXSBJDCLCB_CLID03,XLXSBJDCLCB_CLID04,XLXSBJDCLCB_CLID05,XLXSBJDCLCB_CLID06,XLXSBJDCLCB_CLID07,XLXSBJDCLCB_CLID08,XLXSBJDCLCB_CLID09,XLXSBJDCLCB_CLID10,");
sql.Add(" XLXSBJDCLCB_CLID11,XLXSBJDCLCB_CLID12,XLXSBJDCLCB_CLID13,XLXSBJDCLCB_CLID14,XLXSBJDCLCB_CLID15,XLXSBJDCLCB_CLID16,XLXSBJDCLCB_CLID17,XLXSBJDCLCB_CLID18,XLXSBJDCLCB_CLID19,XLXSBJDCLCB_CLID20,");
sql.Add(" XLXSBJDCLCB_CLID21,XLXSBJDCLCB_CLID22,XLXSBJDCLCB_CLID23,XLXSBJDCLCB_CLID24,XLXSBJDCLCB_CLID25,XLXSBJDCLCB_CLID26,XLXSBJDCLCB_CLID27,XLXSBJDCLCB_CLID28,XLXSBJDCLCB_CLID29,XLXSBJDCLCB_CLID30,");
sql.Add(" XLXSBJDCLCB_CLID31,XLXSBJDCLCB_CLID32,XLXSBJDCLCB_CLID33,XLXSBJDCLCB_CLID34,XLXSBJDCLCB_CLID35,XLXSBJDCLCB_CLID36,XLXSBJDCLCB_CLID37,XLXSBJDCLCB_CLID38,XLXSBJDCLCB_CLID39,XLXSBJDCLCB_CLID40,");
sql.Add(" XLXSBJDCLCB_CLID41,XLXSBJDCLCB_CLID42,XLXSBJDCLCB_CLID43,XLXSBJDCLCB_CLID44,XLXSBJDCLCB_CLID45,XLXSBJDCLCB_CLID46,XLXSBJDCLCB_CLID47,XLXSBJDCLCB_CLID48,XLXSBJDCLCB_CLID49,XLXSBJDCLCB_CLID50,");
sql.Add(" XLXSBJDCLCB_CLID51,XLXSBJDCLCB_CLID52,XLXSBJDCLCB_CLID53,XLXSBJDCLCB_CLID54,XLXSBJDCLCB_CLID55,XLXSBJDCLCB_CLID56,XLXSBJDCLCB_CLID57,XLXSBJDCLCB_CLID58,XLXSBJDCLCB_CLID59,XLXSBJDCLCB_CLID60,");
sql.Add(" XLXSBJDCLCB_CLID61,XLXSBJDCLCB_CLID62,XLXSBJDCLCB_CLID63,XLXSBJDCLCB_CLID64,XLXSBJDCLCB_CLID65,XLXSBJDCLCB_CLID66,XLXSBJDCLCB_CLID67,XLXSBJDCLCB_CLID68,XLXSBJDCLCB_CLID69,XLXSBJDCLCB_CLID70,");
sql.Add(" XLXSBJDCLCB_CLID71,XLXSBJDCLCB_CLID72,XLXSBJDCLCB_CLID73,XLXSBJDCLCB_CLID74,XLXSBJDCLCB_CLID75,XLXSBJDCLCB_CLID76,XLXSBJDCLCB_CLID77,XLXSBJDCLCB_CLID78,XLXSBJDCLCB_CLID79,XLXSBJDCLCB_CLID80,");
sql.Add(" XLXSBJDCLCB_XLXHID,XLXSBJDCLCB_XLGGID,XLXSBJDCLCB_XLBZID,XLXSBJDCLCB_DYDJID,XLXSBJDCLCB_XLYSID,XLXSBJDCLCB_BZ,XLXSBJDCLCB_HSJGBBJ,XLXSBJDCLCB_WSJGBBJ,XLXSBJDCLCB_HSJGBJJ,XLXSBJDCLCB_WSJGBJJ,");
sql.Add(" XLXSBJDCLCB_JGBBJGXSJ,XLXSBJDCLCB_WHR,XLXSBJDCLCB_WHRID,XLXSBJDCLCB_WHSJ ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDCLCB_XH,SOR.XLXSBJDCLCB_BJCP,SOR.XLXSBJDCLCB_JLDW,SOR.XLXSBJDCLCB_BJSL, ");
sql.Add(" SOR.XLXSBJDCLCB_CLSL01,SOR.XLXSBJDCLCB_CLSL02,SOR.XLXSBJDCLCB_CLSL03,SOR.XLXSBJDCLCB_CLSL04,SOR.XLXSBJDCLCB_CLSL05,SOR.XLXSBJDCLCB_CLSL06,SOR.XLXSBJDCLCB_CLSL07,SOR.XLXSBJDCLCB_CLSL08,SOR.XLXSBJDCLCB_CLSL09,SOR.XLXSBJDCLCB_CLSL10,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL11,SOR.XLXSBJDCLCB_CLSL12,SOR.XLXSBJDCLCB_CLSL13,SOR.XLXSBJDCLCB_CLSL14,SOR.XLXSBJDCLCB_CLSL15,SOR.XLXSBJDCLCB_CLSL16,SOR.XLXSBJDCLCB_CLSL17,SOR.XLXSBJDCLCB_CLSL18,SOR.XLXSBJDCLCB_CLSL19,SOR.XLXSBJDCLCB_CLSL20,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL21,SOR.XLXSBJDCLCB_CLSL22,SOR.XLXSBJDCLCB_CLSL23,SOR.XLXSBJDCLCB_CLSL24,SOR.XLXSBJDCLCB_CLSL25,SOR.XLXSBJDCLCB_CLSL26,SOR.XLXSBJDCLCB_CLSL27,SOR.XLXSBJDCLCB_CLSL28,SOR.XLXSBJDCLCB_CLSL29,SOR.XLXSBJDCLCB_CLSL30,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL31,SOR.XLXSBJDCLCB_CLSL32,SOR.XLXSBJDCLCB_CLSL33,SOR.XLXSBJDCLCB_CLSL34,SOR.XLXSBJDCLCB_CLSL35,SOR.XLXSBJDCLCB_CLSL36,SOR.XLXSBJDCLCB_CLSL37,SOR.XLXSBJDCLCB_CLSL38,SOR.XLXSBJDCLCB_CLSL39,SOR.XLXSBJDCLCB_CLSL40,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL41,SOR.XLXSBJDCLCB_CLSL42,SOR.XLXSBJDCLCB_CLSL43,SOR.XLXSBJDCLCB_CLSL44,SOR.XLXSBJDCLCB_CLSL45,SOR.XLXSBJDCLCB_CLSL46,SOR.XLXSBJDCLCB_CLSL47,SOR.XLXSBJDCLCB_CLSL48,SOR.XLXSBJDCLCB_CLSL49,SOR.XLXSBJDCLCB_CLSL50,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL51,SOR.XLXSBJDCLCB_CLSL52,SOR.XLXSBJDCLCB_CLSL53,SOR.XLXSBJDCLCB_CLSL54,SOR.XLXSBJDCLCB_CLSL55,SOR.XLXSBJDCLCB_CLSL56,SOR.XLXSBJDCLCB_CLSL57,SOR.XLXSBJDCLCB_CLSL58,SOR.XLXSBJDCLCB_CLSL59,SOR.XLXSBJDCLCB_CLSL60,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL61,SOR.XLXSBJDCLCB_CLSL62,SOR.XLXSBJDCLCB_CLSL63,SOR.XLXSBJDCLCB_CLSL64,SOR.XLXSBJDCLCB_CLSL65,SOR.XLXSBJDCLCB_CLSL66,SOR.XLXSBJDCLCB_CLSL67,SOR.XLXSBJDCLCB_CLSL68,SOR.XLXSBJDCLCB_CLSL69,SOR.XLXSBJDCLCB_CLSL70,");
sql.Add(" SOR.XLXSBJDCLCB_CLSL71,SOR.XLXSBJDCLCB_CLSL72,SOR.XLXSBJDCLCB_CLSL73,SOR.XLXSBJDCLCB_CLSL74,SOR.XLXSBJDCLCB_CLSL75,SOR.XLXSBJDCLCB_CLSL76,SOR.XLXSBJDCLCB_CLSL77,SOR.XLXSBJDCLCB_CLSL78,SOR.XLXSBJDCLCB_CLSL79,SOR.XLXSBJDCLCB_CLSL80,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ01,SOR.XLXSBJDCLCB_CLDJ02,SOR.XLXSBJDCLCB_CLDJ03,SOR.XLXSBJDCLCB_CLDJ04,SOR.XLXSBJDCLCB_CLDJ05,SOR.XLXSBJDCLCB_CLDJ06,SOR.XLXSBJDCLCB_CLDJ07,SOR.XLXSBJDCLCB_CLDJ08,SOR.XLXSBJDCLCB_CLDJ09,SOR.XLXSBJDCLCB_CLDJ10,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ11,SOR.XLXSBJDCLCB_CLDJ12,SOR.XLXSBJDCLCB_CLDJ13,SOR.XLXSBJDCLCB_CLDJ14,SOR.XLXSBJDCLCB_CLDJ15,SOR.XLXSBJDCLCB_CLDJ16,SOR.XLXSBJDCLCB_CLDJ17,SOR.XLXSBJDCLCB_CLDJ18,SOR.XLXSBJDCLCB_CLDJ19,SOR.XLXSBJDCLCB_CLDJ20,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ21,SOR.XLXSBJDCLCB_CLDJ22,SOR.XLXSBJDCLCB_CLDJ23,SOR.XLXSBJDCLCB_CLDJ24,SOR.XLXSBJDCLCB_CLDJ25,SOR.XLXSBJDCLCB_CLDJ26,SOR.XLXSBJDCLCB_CLDJ27,SOR.XLXSBJDCLCB_CLDJ28,SOR.XLXSBJDCLCB_CLDJ29,SOR.XLXSBJDCLCB_CLDJ30,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ31,SOR.XLXSBJDCLCB_CLDJ32,SOR.XLXSBJDCLCB_CLDJ33,SOR.XLXSBJDCLCB_CLDJ34,SOR.XLXSBJDCLCB_CLDJ35,SOR.XLXSBJDCLCB_CLDJ36,SOR.XLXSBJDCLCB_CLDJ37,SOR.XLXSBJDCLCB_CLDJ38,SOR.XLXSBJDCLCB_CLDJ39,SOR.XLXSBJDCLCB_CLDJ40,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ41,SOR.XLXSBJDCLCB_CLDJ42,SOR.XLXSBJDCLCB_CLDJ43,SOR.XLXSBJDCLCB_CLDJ44,SOR.XLXSBJDCLCB_CLDJ45,SOR.XLXSBJDCLCB_CLDJ46,SOR.XLXSBJDCLCB_CLDJ47,SOR.XLXSBJDCLCB_CLDJ48,SOR.XLXSBJDCLCB_CLDJ49,SOR.XLXSBJDCLCB_CLDJ50,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ51,SOR.XLXSBJDCLCB_CLDJ52,SOR.XLXSBJDCLCB_CLDJ53,SOR.XLXSBJDCLCB_CLDJ54,SOR.XLXSBJDCLCB_CLDJ55,SOR.XLXSBJDCLCB_CLDJ56,SOR.XLXSBJDCLCB_CLDJ57,SOR.XLXSBJDCLCB_CLDJ58,SOR.XLXSBJDCLCB_CLDJ59,SOR.XLXSBJDCLCB_CLDJ60,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ61,SOR.XLXSBJDCLCB_CLDJ62,SOR.XLXSBJDCLCB_CLDJ63,SOR.XLXSBJDCLCB_CLDJ64,SOR.XLXSBJDCLCB_CLDJ65,SOR.XLXSBJDCLCB_CLDJ66,SOR.XLXSBJDCLCB_CLDJ67,SOR.XLXSBJDCLCB_CLDJ68,SOR.XLXSBJDCLCB_CLDJ69,SOR.XLXSBJDCLCB_CLDJ70,");
sql.Add(" SOR.XLXSBJDCLCB_CLDJ71,SOR.XLXSBJDCLCB_CLDJ72,SOR.XLXSBJDCLCB_CLDJ73,SOR.XLXSBJDCLCB_CLDJ74,SOR.XLXSBJDCLCB_CLDJ75,SOR.XLXSBJDCLCB_CLDJ76,SOR.XLXSBJDCLCB_CLDJ77,SOR.XLXSBJDCLCB_CLDJ78,SOR.XLXSBJDCLCB_CLDJ79,SOR.XLXSBJDCLCB_CLDJ80,");
sql.Add(" SOR.XLXSBJDCLCB_CLID01,SOR.XLXSBJDCLCB_CLID02,SOR.XLXSBJDCLCB_CLID03,SOR.XLXSBJDCLCB_CLID04,SOR.XLXSBJDCLCB_CLID05,SOR.XLXSBJDCLCB_CLID06,SOR.XLXSBJDCLCB_CLID07,SOR.XLXSBJDCLCB_CLID08,SOR.XLXSBJDCLCB_CLID09,SOR.XLXSBJDCLCB_CLID10,");
sql.Add(" SOR.XLXSBJDCLCB_CLID11,SOR.XLXSBJDCLCB_CLID12,SOR.XLXSBJDCLCB_CLID13,SOR.XLXSBJDCLCB_CLID14,SOR.XLXSBJDCLCB_CLID15,SOR.XLXSBJDCLCB_CLID16,SOR.XLXSBJDCLCB_CLID17,SOR.XLXSBJDCLCB_CLID18,SOR.XLXSBJDCLCB_CLID19,SOR.XLXSBJDCLCB_CLID20,");
sql.Add(" SOR.XLXSBJDCLCB_CLID21,SOR.XLXSBJDCLCB_CLID22,SOR.XLXSBJDCLCB_CLID23,SOR.XLXSBJDCLCB_CLID24,SOR.XLXSBJDCLCB_CLID25,SOR.XLXSBJDCLCB_CLID26,SOR.XLXSBJDCLCB_CLID27,SOR.XLXSBJDCLCB_CLID28,SOR.XLXSBJDCLCB_CLID29,SOR.XLXSBJDCLCB_CLID30,");
sql.Add(" SOR.XLXSBJDCLCB_CLID31,SOR.XLXSBJDCLCB_CLID32,SOR.XLXSBJDCLCB_CLID33,SOR.XLXSBJDCLCB_CLID34,SOR.XLXSBJDCLCB_CLID35,SOR.XLXSBJDCLCB_CLID36,SOR.XLXSBJDCLCB_CLID37,SOR.XLXSBJDCLCB_CLID38,SOR.XLXSBJDCLCB_CLID39,SOR.XLXSBJDCLCB_CLID40,");
sql.Add(" SOR.XLXSBJDCLCB_CLID41,SOR.XLXSBJDCLCB_CLID42,SOR.XLXSBJDCLCB_CLID43,SOR.XLXSBJDCLCB_CLID44,SOR.XLXSBJDCLCB_CLID45,SOR.XLXSBJDCLCB_CLID46,SOR.XLXSBJDCLCB_CLID47,SOR.XLXSBJDCLCB_CLID48,SOR.XLXSBJDCLCB_CLID49,SOR.XLXSBJDCLCB_CLID50,");
sql.Add(" SOR.XLXSBJDCLCB_CLID51,SOR.XLXSBJDCLCB_CLID52,SOR.XLXSBJDCLCB_CLID53,SOR.XLXSBJDCLCB_CLID54,SOR.XLXSBJDCLCB_CLID55,SOR.XLXSBJDCLCB_CLID56,SOR.XLXSBJDCLCB_CLID57,SOR.XLXSBJDCLCB_CLID58,SOR.XLXSBJDCLCB_CLID59,SOR.XLXSBJDCLCB_CLID60,");
sql.Add(" SOR.XLXSBJDCLCB_CLID61,SOR.XLXSBJDCLCB_CLID62,SOR.XLXSBJDCLCB_CLID63,SOR.XLXSBJDCLCB_CLID64,SOR.XLXSBJDCLCB_CLID65,SOR.XLXSBJDCLCB_CLID66,SOR.XLXSBJDCLCB_CLID67,SOR.XLXSBJDCLCB_CLID68,SOR.XLXSBJDCLCB_CLID69,SOR.XLXSBJDCLCB_CLID70,");
sql.Add(" SOR.XLXSBJDCLCB_CLID71,SOR.XLXSBJDCLCB_CLID72,SOR.XLXSBJDCLCB_CLID73,SOR.XLXSBJDCLCB_CLID74,SOR.XLXSBJDCLCB_CLID75,SOR.XLXSBJDCLCB_CLID76,SOR.XLXSBJDCLCB_CLID77,SOR.XLXSBJDCLCB_CLID78,SOR.XLXSBJDCLCB_CLID79,SOR.XLXSBJDCLCB_CLID80,");
sql.Add(" SOR.XLXSBJDCLCB_XLXHID,SOR.XLXSBJDCLCB_XLGGID,SOR.XLXSBJDCLCB_XLBZID,SOR.XLXSBJDCLCB_DYDJID,SOR.XLXSBJDCLCB_XLYSID,SOR.XLXSBJDCLCB_BZ,SOR.XLXSBJDCLCB_HSJGBBJ,SOR.XLXSBJDCLCB_WSJGBBJ,SOR.XLXSBJDCLCB_HSJGBJJ,SOR.XLXSBJDCLCB_WSJGBJJ,");
sql.Add(" SOR.XLXSBJDCLCB_JGBBJGXSJ,:pWHR,:pWHRID,:pWHSJ ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sql);
#endregion
#region 复制BJDCLYLBL
if (bjflxx.XLXSBJFL_TZYLBL.Equals("Y"))
{
sql.Clear();
sql.Add(" insert into BJDCLYLBL( ");
sql.Add(" BJDCLYLBL_BJDID,BJDCLYLBL_XH,BJDCLYLBL_BBID,BJDCLYLBL_XLXHID,BJDCLYLBL_XLGGID, ");
sql.Add(" BJDCLYLBL_XLBZID,BJDCLYLBL_DYDJID,BJDCLYLBL_XLYSID,BJDCLYLBL_YLBL01,");
sql.Add(" BJDCLYLBL_YLBL02,BJDCLYLBL_YLBL03,BJDCLYLBL_YLBL04,BJDCLYLBL_YLBL05,BJDCLYLBL_YLBL06,BJDCLYLBL_YLBL07,BJDCLYLBL_YLBL08,BJDCLYLBL_YLBL09,BJDCLYLBL_YLBL10,BJDCLYLBL_YLBL11,");
sql.Add(" BJDCLYLBL_YLBL12,BJDCLYLBL_YLBL13,BJDCLYLBL_YLBL14,BJDCLYLBL_YLBL15,BJDCLYLBL_YLBL16,BJDCLYLBL_YLBL17,BJDCLYLBL_YLBL18,BJDCLYLBL_YLBL19,BJDCLYLBL_YLBL20,BJDCLYLBL_YLBL21,");
sql.Add(" BJDCLYLBL_YLBL22,BJDCLYLBL_YLBL23,BJDCLYLBL_YLBL24,BJDCLYLBL_YLBL25,BJDCLYLBL_YLBL26,BJDCLYLBL_YLBL27,BJDCLYLBL_YLBL28,BJDCLYLBL_YLBL29,BJDCLYLBL_YLBL30,BJDCLYLBL_YLBL31,");
sql.Add(" BJDCLYLBL_YLBL32,BJDCLYLBL_YLBL33,BJDCLYLBL_YLBL34,BJDCLYLBL_YLBL35,BJDCLYLBL_YLBL36,BJDCLYLBL_YLBL37,BJDCLYLBL_YLBL38,BJDCLYLBL_YLBL39,BJDCLYLBL_YLBL40,BJDCLYLBL_YLBL41,");
sql.Add(" BJDCLYLBL_YLBL42,BJDCLYLBL_YLBL43,BJDCLYLBL_YLBL44,BJDCLYLBL_YLBL45,BJDCLYLBL_YLBL46,BJDCLYLBL_YLBL47,BJDCLYLBL_YLBL48,BJDCLYLBL_YLBL49,BJDCLYLBL_YLBL50,BJDCLYLBL_YLBL51,");
sql.Add(" BJDCLYLBL_YLBL52,BJDCLYLBL_YLBL53,BJDCLYLBL_YLBL54,BJDCLYLBL_YLBL55,BJDCLYLBL_YLBL56,BJDCLYLBL_YLBL57,BJDCLYLBL_YLBL58,BJDCLYLBL_YLBL59,BJDCLYLBL_YLBL60,BJDCLYLBL_YLBL61,");
sql.Add(" BJDCLYLBL_YLBL62,BJDCLYLBL_YLBL63,BJDCLYLBL_YLBL64,BJDCLYLBL_YLBL65,BJDCLYLBL_YLBL66,BJDCLYLBL_YLBL67,BJDCLYLBL_YLBL68,BJDCLYLBL_YLBL69,BJDCLYLBL_YLBL70,BJDCLYLBL_YLBL71,");
sql.Add(" BJDCLYLBL_YLBL72,BJDCLYLBL_YLBL73,BJDCLYLBL_YLBL74,BJDCLYLBL_YLBL75,BJDCLYLBL_YLBL76,BJDCLYLBL_YLBL77,BJDCLYLBL_YLBL78,BJDCLYLBL_YLBL79,BJDCLYLBL_YLBL80");
sql.Add(" ) ");
sql.Add(" select :pBJDID,BJDCLYLBL_XH,BJDCLYLBL_BBID,BJDCLYLBL_XLXHID,BJDCLYLBL_XLGGID, ");
sql.Add(" BJDCLYLBL_XLBZID,BJDCLYLBL_DYDJID,BJDCLYLBL_XLYSID,BJDCLYLBL_YLBL01,");
sql.Add(" BJDCLYLBL_YLBL02,BJDCLYLBL_YLBL03,BJDCLYLBL_YLBL04,BJDCLYLBL_YLBL05,BJDCLYLBL_YLBL06,BJDCLYLBL_YLBL07,BJDCLYLBL_YLBL08,BJDCLYLBL_YLBL09,BJDCLYLBL_YLBL10,BJDCLYLBL_YLBL11,");
sql.Add(" BJDCLYLBL_YLBL12,BJDCLYLBL_YLBL13,BJDCLYLBL_YLBL14,BJDCLYLBL_YLBL15,BJDCLYLBL_YLBL16,BJDCLYLBL_YLBL17,BJDCLYLBL_YLBL18,BJDCLYLBL_YLBL19,BJDCLYLBL_YLBL20,BJDCLYLBL_YLBL21,");
sql.Add(" BJDCLYLBL_YLBL22,BJDCLYLBL_YLBL23,BJDCLYLBL_YLBL24,BJDCLYLBL_YLBL25,BJDCLYLBL_YLBL26,BJDCLYLBL_YLBL27,BJDCLYLBL_YLBL28,BJDCLYLBL_YLBL29,BJDCLYLBL_YLBL30,BJDCLYLBL_YLBL31,");
sql.Add(" BJDCLYLBL_YLBL32,BJDCLYLBL_YLBL33,BJDCLYLBL_YLBL34,BJDCLYLBL_YLBL35,BJDCLYLBL_YLBL36,BJDCLYLBL_YLBL37,BJDCLYLBL_YLBL38,BJDCLYLBL_YLBL39,BJDCLYLBL_YLBL40,BJDCLYLBL_YLBL41,");
sql.Add(" BJDCLYLBL_YLBL42,BJDCLYLBL_YLBL43,BJDCLYLBL_YLBL44,BJDCLYLBL_YLBL45,BJDCLYLBL_YLBL46,BJDCLYLBL_YLBL47,BJDCLYLBL_YLBL48,BJDCLYLBL_YLBL49,BJDCLYLBL_YLBL50,BJDCLYLBL_YLBL51,");
sql.Add(" BJDCLYLBL_YLBL52,BJDCLYLBL_YLBL53,BJDCLYLBL_YLBL54,BJDCLYLBL_YLBL55,BJDCLYLBL_YLBL56,BJDCLYLBL_YLBL57,BJDCLYLBL_YLBL58,BJDCLYLBL_YLBL59,BJDCLYLBL_YLBL60,BJDCLYLBL_YLBL61,");
sql.Add(" BJDCLYLBL_YLBL62,BJDCLYLBL_YLBL63,BJDCLYLBL_YLBL64,BJDCLYLBL_YLBL65,BJDCLYLBL_YLBL66,BJDCLYLBL_YLBL67,BJDCLYLBL_YLBL68,BJDCLYLBL_YLBL69,BJDCLYLBL_YLBL70,BJDCLYLBL_YLBL71,");
sql.Add(" BJDCLYLBL_YLBL72,BJDCLYLBL_YLBL73,BJDCLYLBL_YLBL74,BJDCLYLBL_YLBL75,BJDCLYLBL_YLBL76,BJDCLYLBL_YLBL77,BJDCLYLBL_YLBL78,BJDCLYLBL_YLBL79,BJDCLYLBL_YLBL80");
sql.Add(" from BJDCLYLBL");
sql.Add(" where BJDCLYLBL_BJDID=:pOLDBJDID");
sql.ParamByName("pBJDID").Value = sNewBJDID;
sql.ParamByName("pOLDBJDID").Value = BJDID;
dberp.ExecSQL(sql);
}
#endregion
#region 复制报价单基价因子值
sql.Clear();
sql.Add(" merge into XLXSBJDJJYZ TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDJJYZ_BJDID,XLXSBJDJJYZ_XH,XLXSBJDJJYZ_YZZ01,XLXSBJDJJYZ_YZZ02,XLXSBJDJJYZ_YZZ03,XLXSBJDJJYZ_YZZ04,XLXSBJDJJYZ_YZZ05, ");
sql.Add(" XLXSBJDJJYZ_YZZ06,XLXSBJDJJYZ_YZZ07,XLXSBJDJJYZ_YZZ08,XLXSBJDJJYZ_YZZ09,XLXSBJDJJYZ_YZZ10,XLXSBJDJJYZ_YSJDZ ");
sql.Add(" from XLXSBJDJJYZ where XLXSBJDJJYZ_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDJJYZ_BJDID = :pNBJDID and TAG.XLXSBJDJJYZ_XH = SOR.XLXSBJDJJYZ_XH ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDJJYZ_BJDID,XLXSBJDJJYZ_XH,XLXSBJDJJYZ_YZZ01,XLXSBJDJJYZ_YZZ02,XLXSBJDJJYZ_YZZ03,XLXSBJDJJYZ_YZZ04,XLXSBJDJJYZ_YZZ05, ");
sql.Add(" XLXSBJDJJYZ_YZZ06,XLXSBJDJJYZ_YZZ07,XLXSBJDJJYZ_YZZ08,XLXSBJDJJYZ_YZZ09,XLXSBJDJJYZ_YZZ10,XLXSBJDJJYZ_YSJDZ ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDJJYZ_XH,SOR.XLXSBJDJJYZ_YZZ01,SOR.XLXSBJDJJYZ_YZZ02,SOR.XLXSBJDJJYZ_YZZ03,SOR.XLXSBJDJJYZ_YZZ04,SOR.XLXSBJDJJYZ_YZZ05, ");
sql.Add(" SOR.XLXSBJDJJYZ_YZZ06,SOR.XLXSBJDJJYZ_YZZ07,SOR.XLXSBJDJJYZ_YZZ08,SOR.XLXSBJDJJYZ_YZZ09,SOR.XLXSBJDJJYZ_YZZ10,SOR.XLXSBJDJJYZ_YSJDZ ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
dberp.ExecSQL(sql);
#endregion
#region 复制报价单材料行情
sql.Clear();
sql.Add(" merge into XLXSBJDCLHQ TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDCLHQ_BJDID,XLXSBJDCLHQ_BJCLID,XLXSBJDCLHQ_HSJG,XLXSBJDCLHQ_HSJGF,XLXSBJDCLHQ_WSJG,XLXSBJDCLHQ_WSJGF, ");
sql.Add(" XLXSBJDCLHQ_WHR,XLXSBJDCLHQ_WHRID,XLXSBJDCLHQ_WHSJ,XLXSBJDCLHQ_JGYBJCLID1,XLXSBJDCLHQ_HSJG1,XLXSBJDCLHQ_WSJG1,XLXSBJDCLHQ_JGBL1 ");
sql.Add(" from XLXSBJDCLHQ where XLXSBJDCLHQ_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDCLHQ_BJDID = :pNBJDID and TAG.XLXSBJDCLHQ_BJCLID = SOR.XLXSBJDCLHQ_BJCLID ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDCLHQ_BJDID,XLXSBJDCLHQ_BJCLID,XLXSBJDCLHQ_HSJG,XLXSBJDCLHQ_HSJGF,XLXSBJDCLHQ_WSJG,XLXSBJDCLHQ_WSJGF, ");
sql.Add(" XLXSBJDCLHQ_WHR,XLXSBJDCLHQ_WHRID,XLXSBJDCLHQ_WHSJ,XLXSBJDCLHQ_JGYBJCLID1,XLXSBJDCLHQ_HSJG1,XLXSBJDCLHQ_WSJG1,XLXSBJDCLHQ_JGBL1 ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDCLHQ_BJCLID,SOR.XLXSBJDCLHQ_HSJG,SOR.XLXSBJDCLHQ_HSJGF,SOR.XLXSBJDCLHQ_WSJG,SOR.XLXSBJDCLHQ_WSJGF, ");
sql.Add(" :pWHR,:pWHRID,:pWHSJ,SOR.XLXSBJDCLHQ_JGYBJCLID1,SOR.XLXSBJDCLHQ_HSJG1,SOR.XLXSBJDCLHQ_WSJG1,SOR.XLXSBJDCLHQ_JGBL1 ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sql);
#endregion
#region 复制报价单物料行情
sql.Clear();
sql.Add(" merge into XLXSBJDWLHQ TAG ");
sql.Add(" using( ");
sql.Add(" select XLXSBJDWLHQ_BJDID,XLXSBJDWLHQ_WLID,XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG,XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF, ");
sql.Add(" XLXSBJDWLHQ_WHR,XLXSBJDWLHQ_WHRID,XLXSBJDWLHQ_WHSJ,XLXSBJDWLHQ_JGYBJCLID1,XLXSBJDWLHQ_HSJG1,XLXSBJDWLHQ_WSJG1,XLXSBJDWLHQ_JGBL1 ");
sql.Add(" from XLXSBJDWLHQ where XLXSBJDWLHQ_BJDID = :pBJDID ");
sql.Add(" ) SOR ");
sql.Add(" on ( TAG.XLXSBJDWLHQ_BJDID = :pNBJDID and TAG.XLXSBJDWLHQ_WLID = SOR.XLXSBJDWLHQ_WLID ) ");
sql.Add(" when not matched then insert ( ");
sql.Add(" XLXSBJDWLHQ_BJDID,XLXSBJDWLHQ_WLID,XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG,XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF, ");
sql.Add(" XLXSBJDWLHQ_WHR,XLXSBJDWLHQ_WHRID,XLXSBJDWLHQ_WHSJ,XLXSBJDWLHQ_JGYBJCLID1,XLXSBJDWLHQ_HSJG1,XLXSBJDWLHQ_WSJG1,XLXSBJDWLHQ_JGBL1 ");
sql.Add(" ) ");
sql.Add(" values( ");
sql.Add(" :pNBJDID,SOR.XLXSBJDWLHQ_WLID,SOR.XLXSBJDWLHQ_WSJG,SOR.XLXSBJDWLHQ_HSJG,SOR.XLXSBJDWLHQ_WSJGF,SOR.XLXSBJDWLHQ_HSJGF, ");
sql.Add(" :pWHR,:pWHRID,:pWHSJ,SOR.XLXSBJDWLHQ_JGYBJCLID1,SOR.XLXSBJDWLHQ_HSJG1,SOR.XLXSBJDWLHQ_WSJG1,SOR.XLXSBJDWLHQ_JGBL1 ");
sql.Add(" ) ");
sql.ParamByName("pBJDID").Value = BJDID;
sql.ParamByName("pNBJDID").Value = sNewBJDID;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sql);
#endregion
XLBJDUtils.UpdateTJBZ(dberp, sNewBJDID, "Insert");
dberp.CommitTrans();
}
catch (Exception ex)
{
rstr = "Error###" + ex.Message;
dberp.RollbackTrans();
}
return rstr;
}
//获取签约合同登记单号
public string GetBJQYJJDID(string sBJDID)
{
string sJJDID = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select HT_JJDID from HT,(select max(HT_JJDID)as maxJJDID from HT where HT_WPID<>'ZZZY' group by ISNULL(HT_HTBH, ' '))A ");
SQL.Add(" where maxJJDID=HT_JJDID and ((HT_BGQBJDID=:pBJDID and ISNULL(HT_WPID,'ZZZZ')<>'ZZZZ') or (HT_BJDID=:pBJDID) ) ");
SQL.ParamByName("pBJDID").Value = sBJDID.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sJJDID = ds.Tables[0].Rows[0]["HT_JJDID"].ToString().Trim();
}
else
{
SQL.Clear();
SQL.Add(" select XSHTFL_XSHTFLID,XSHTFL_XSHTFLMC from XSHTFL where 1=1 order by XSHTFL_XSHTFLID ");
DataSet dsHTFL = dberp.OpenDataSet(SQL);
if (dsHTFL.Tables[0].Rows.Count > 0)
{
//New BJFL#分别为需要新增销售合同登记的标志和默认报价分类标志
sJJDID = "NewBJFL#" + dsHTFL.Tables[0].Rows[0]["XSHTFL_XSHTFLID"].ToString().Trim() + "," + dsHTFL.Tables[0].Rows[0]["XSHTFL_XSHTFLMC"].ToString().Trim();
}
else
{
sJJDID = "New";
}
}
return sJJDID;
}
//获取销售合同分类
public List<CodeInfo> GetXSHTFL()
{
List<CodeInfo> codeList = new List<CodeInfo>();
string sSQL = "select rtrim(XSHTFL_XSHTFLID)as CodeID, rtrim(XSHTFL_XSHTFLMC) as CodeMC from XSHTFL where 1=1 order by XSHTFL_XSHTFLID";
CodeInfo emptycdinfo = new CodeInfo();
setCodeList(sSQL, ref codeList);
return codeList;
}
private string GetKHMC(string sKHID)
{
string sKHMC = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select KH_MC from KH where KH_KHID=:pKHID order by isnull(KH_TYBZ,'N'),KH_KHID");
SQL.ParamByName("pKHID").Value = sKHID;
DataSet dsKH = dberp.OpenDataSet(SQL);
if (dsKH.Tables[0].Rows.Count > 0)
{
sKHMC = dsKH.Tables[0].Rows[0]["KH_MC"].ToString().Trim();
}
return sKHMC;
}
private string GetKHID(string sKHMC)
{
string sKHID = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select KH_KHID from KH where KH_MC=:pKHMC order by isnull(KH_TYBZ,'N'),KH_KHID");
SQL.ParamByName("pKHMC").Value = sKHMC;
DataSet dsKH = dberp.OpenDataSet(SQL);
if (dsKH.Tables[0].Rows.Count > 0)
{
sKHID = dsKH.Tables[0].Rows[0]["KH_KHID"].ToString().Trim();
}
return sKHID;
}
//插入销售合同登记
public string InsertXSHT(string sBJDID, string sXSHTFLID)
{
string sRestr = "";
string sHTBJDKZ = GetHTBJDKZ(sBJDID);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select BJD_BJDID,BJD_KHID,BJD_KHMC,BJD_BJRQ,BJD_BMID,BJD_TXY,ISNULL(HTJE,0) as ZBZJE,BJD_TBID,convert(char(100),BJD_KHMC) as HTMC, BJD_XMID,BJD_XMJC,BM_SYDWID, ");
SQL.Add(" BJD_FKFS, XLXSBJD_XZQHID,BJD_SHDD,BJD_LXR,BJD_TEL,BJD_YSFS,BJD_DOCGRPID,BJD_FJS ");
SQL.Add(" from BJD ");
SQL.Add(" left join BM on BM_BMID = BJD_BMID ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID= BJD_BJDID ");
SQL.Add(" left join (select BJDMX_BJDID,sum(BJDMX_ZBJE) as HTJE ");
SQL.Add(" from BJDMX where 1=1 group by BJDMX_BJDID)A on BJDMX_BJDID=BJD_BJDID ");
SQL.Add(" where BJD_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sKHID = ds.Tables[0].Rows[0]["BJD_KHID"].ToString().Trim();
string sBMID = ds.Tables[0].Rows[0]["BJD_BMID"].ToString().Trim();
string sTXY = ds.Tables[0].Rows[0]["BJD_TXY"].ToString().Trim();
string sHTMC = ds.Tables[0].Rows[0]["HTMC"].ToString().Trim();
if (sKHID.Equals(""))
{
sRestr = "Error###客户编码不允许为空!";//Error###为插入失败的标志,返回客户端后,客户端依据是否存在此字符串判断插入是否成功并给出提示。
return sRestr;
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_KHID = '{0}' and isnull(KH_TYBZ,'N') <> 'Y'", sKHID)))
{
sRestr = "Error###客户已停用或不存在,不允许确定!";
return sRestr;
}
if (sBMID.Equals(""))
{
sRestr = "Error###销售部门不允许为空!";
return sRestr;
}
if (sTXY.Equals(""))
{
sRestr = "Error###销售员不允许为空!";
return sRestr;
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XSY where XSY_TXY = '{0}'", sTXY)))
{
sRestr = "Error###销售员不存在,不允许确认!";
return sRestr;
}
if (sHTMC.Equals(""))
{
sRestr = "Error###合同名称不允许为空!";
return sRestr;
}
string sJJDID = GetJJDH();
string sMessage = "";
string sHTBH = N_PUBLIC2.XSHTUtils.GetNewHTBH(sXSHTFLID, "", "", sTXY, sKHID, DateTime.Now.Date, sBMID, "", out sMessage);
if (!sMessage.Equals(""))
{
throw new Exception(sMessage);
}
double dDOCGRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["BJD_DOCGRPID"].ToString().Trim());
double dFJS = 0;
double dDOCID = 0;
if (dDOCGRPID > 0)
{
dFJS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["BJD_FJS"].ToString().Trim());
List<double> fileIdList = new List<double>();
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID);
for (int i = 0; i < dFJS; i++)
{
fileIdList.Add(docFileInfo[i].FileId);
}
DocFileResult docGR = FileService.CopyFiles(fileIdList.ToArray(), 0);
dDOCID = docGR.GroupId;
}
#region 插入销售合同登记
dberp.BeginTrans();
try
{
SQL.Clear();
SQL.Add("insert into HT ");
SQL.Add("(HT_JJDID, HT_XSHTFLID, HT_HTBH, HT_TBID,HT_SYDWID, ");
SQL.Add("HT_KHIDE, HT_MC, HT_HTJE, HT_HTYF, HT_XSBMID, ");
SQL.Add("HT_DLRQ, HT_GDRQ, HT_HTBZ, HT_FJS, HT_WHR,");
SQL.Add("HT_WHSJ, HT_KHHTBH, HT_DABH, HT_DLBMID, ");
SQL.Add("HT_XSZRR, HT_GD, HT_DOCGRPID, HT_WHRID, HT_DLRGH, ");
SQL.Add("HT_DLR, HT_DLRID, HT_HTFLBM, HT_HYID, HT_XMMC, ");
SQL.Add("HT_XKXH, HT_BZHT, HT_SCDL,HT_BJDID,HT_HTBG, ");
SQL.Add("HT_FKFS, HT_XZQHID, HT_HTBDLX, HT_DJRQ, ");
SQL.Add("HT_SHDD,HT_LXR,HT_LXDH,HT_YSFS,HT_KGRQ,HT_WGRQ) ");
SQL.Add("values( ");
SQL.Add(":HT_JJDID,:HT_XSHTFLID,:HT_HTBH,:HT_TBID,:pSYDWID, ");
SQL.Add(":HT_KHIDE,:HT_MC,:HT_HTJE,0,:HT_XSBMID, ");
SQL.Add(":HT_DLRQ,NULL,NULL,:HT_FJS,:HT_WHR, ");
SQL.Add(":HT_WHSJ,NULL,NULL, ' ', ");
SQL.Add(":HT_XSZRR,'N',:HT_DOCGRPID,:HT_WHRID,:HT_DLRGH, ");
SQL.Add(":HT_DLR,:HT_DLRID,' ',NULL,:HT_XMMC, ");
SQL.Add(" 'N','N','N',:HT_BJDID,'N', ");
SQL.Add(" :pFKFS, :pXZQHID,'1',:HT_DJRQ, ");
SQL.Add(":HT_SHDD, :HT_LXR, :HT_LXDH, :HT_YSFS, :HT_KGRQ, :HT_WGRQ ) ");
SQL.ParamByName("HT_JJDID").Value = sJJDID;
SQL.ParamByName("HT_XSHTFLID").Value = sXSHTFLID.Trim();
SQL.ParamByName("HT_HTBH").Value = sHTBH;
SQL.ParamByName("HT_TBID").Value = ds.Tables[0].Rows[0]["BJD_TBID"].ToString().Trim();
SQL.ParamByName("pSYDWID").Value = ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim();
SQL.ParamByName("HT_KHIDE").Value = sKHID;
SQL.ParamByName("HT_MC").Value = sHTMC;
SQL.ParamByName("HT_HTJE").Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["ZBZJE"].ToString().Trim());
SQL.ParamByName("HT_XSBMID").Value = sBMID;
SQL.ParamByName("HT_XSZRR").Value = sTXY;
SQL.ParamByName("HT_XMMC").Value = ds.Tables[0].Rows[0]["BJD_XMJC"].ToString().Trim();
SQL.ParamByName("HT_BJDID").Value = sBJDID;
SQL.ParamByName("HT_SHDD").Value = ds.Tables[0].Rows[0]["BJD_SHDD"].ToString().Trim();
SQL.ParamByName("HT_LXR").Value = ds.Tables[0].Rows[0]["BJD_LXR"].ToString().Trim();
SQL.ParamByName("HT_LXDH").Value = ds.Tables[0].Rows[0]["BJD_TEL"].ToString().Trim();
SQL.ParamByName("HT_YSFS").Value = ds.Tables[0].Rows[0]["BJD_YSFS"].ToString().Trim();
SQL.ParamByName("HT_KGRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_WGRQ").Value = DateTime.Now.AddMonths(1).ToShortDateString().Trim();
SQL.ParamByName("pFKFS").Value = ds.Tables[0].Rows[0]["BJD_FKFS"].ToString().Trim();
SQL.ParamByName("pXZQHID").Value = ds.Tables[0].Rows[0]["XLXSBJD_XZQHID"].ToString().Trim();
SQL.ParamByName("HT_DLRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_DJRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_DLRGH").Value = tSession.UserId;
SQL.ParamByName("HT_DLR").Value = tSession.UserName;
SQL.ParamByName("HT_DLRID").Value = tSession.RYID;
SQL.ParamByName("HT_WHR").Value = tSession.UserName;
SQL.ParamByName("HT_WHRID").Value = tSession.UserId;
SQL.ParamByName("HT_WHSJ").Value = DateTime.Now;
SQL.ParamByName("HT_DOCGRPID").Value = dDOCID;
SQL.ParamByName("HT_FJS").Value = dFJS;
dberp.ExecSQL(SQL);
#region 插入明细
SQL.Clear();
SQL.Add("insert into HTMX ");
SQL.Add("(HTMX_JJDID,HTMX_ZHTBH, HTMX_XH, HTMX_WLID, HTMX_JLDW, ");
SQL.Add("HTMX_HSXS,HTMX_XQSL,HTMX_ZZSL, ");
SQL.Add("HTMX_BJDID,HTMX_BJDXH,HTMX_DZSC, ");
SQL.Add("HTMX_HSJG, HTMX_HSJE, HTMX_WSJG, HTMX_WSJE, ");
SQL.Add("HTMX_BZ, HTMX_WHR,HTMX_WHRID,HTMX_WHSJ) ");
SQL.Add("select ");
SQL.Add(":pJJDID,:pHTBH,ROW_NUMBER() over(order by BJDMX_BJDXH),BJDMX_WLID,BJDMX_JLDW, ");
SQL.Add("BJDMX_HSXS,BJDMX_ZBSL,WL_ZZSL, ");
SQL.Add("BJDMX_BJDID,BJDMX_BJDXH,BJDMX_DZSC, ");
SQL.Add("case when BJDMX_BJWS<>'Y' then BJDMX_JG else BJDMX_JG*(1+WL_ZZSL/100) end ,BJDMX_ZBJE,case when BJDMX_BJWS<>'Y' then BJDMX_JG/(1+WL_ZZSL/100) else BJDMX_JG end,round(BJDMX_ZBJE/(1+WL_ZZSL/100),2), ");
SQL.Add(":BJDMX_BZ,:XSHTBD_WHR, :XSHTBD_WHRID, :XSHTBD_WHSJ ");
SQL.Add("from BJDMX,WL ");
SQL.Add("where BJDMX_BJDID=:pBJDID and BJDMX_WLID=WL_WLID and NE(BJDMX_ZBSL,0) ");
SQL.ParamByName("pJJDID").Value = sJJDID;
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("BJDMX_BZ").Value = "";
SQL.ParamByName("XSHTBD_WHR").Value = tSession.UserName;
SQL.ParamByName("XSHTBD_WHRID").Value = tSession.UserId;
SQL.ParamByName("XSHTBD_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
#endregion
TWorkflow wf = new TWorkflow(tSession, new System.Web.Caching.Cache());
wf.Enabled = true;
wf.WFNewInst(wf.GetWFID("XSHTDJ"), tSession.UserId);
dberp.ExecSQL(string.Format(@"update HT set HT_WFID = '{0}', HT_WPID = '{1}', HT_WFAWAITER= '{2}',HT_WFHANDLER = '{3}',HT_WFINST = {4}, HT_ACTNAME = '{5}' where HT_JJDID='{6}' ",
wf.WFID, wf.WPID, wf.Awaiter, wf.Handler, wf.WFInst, wf.GetWFActionName(TWFAction.wfaNewInst), sJJDID));
dberp.CommitTrans();
sRestr = sJJDID;
}
catch (Exception ex)
{
dberp.RollbackTrans();
sRestr = "Error###" + ex.Message;
}
#endregion
}
else
{
if (sHTBJDKZ.Equals("1"))
sRestr = "Error###当前线缆销售报价单未进行报价反馈!";
else
{
SQL.Clear();
SQL.Add(" select XLXSBJD_KHID,XLXSBJD_KH,convert(char(100),XLXSBJD_KH) as HTMC,XLXSBJD_XSBMID,XLXSBJD_TXY,XLXSBJD_XZQHID,XLXSBJD_DOCGRPID,XLXSBJD_FJS from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID.Trim();
ds = dberp.OpenDataSet(SQL);
string sKHID = ds.Tables[0].Rows[0]["XLXSBJD_KHID"].ToString().Trim();
string sKH = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim();
string sBMID = ds.Tables[0].Rows[0]["XLXSBJD_XSBMID"].ToString().Trim();
string sTXY = ds.Tables[0].Rows[0]["XLXSBJD_TXY"].ToString().Trim();
string sHTMC = ds.Tables[0].Rows[0]["HTMC"].ToString().Trim();
if (sKHID.Equals(""))
{
if (!sKH.Equals(""))
{
sKHID = GetKHID(sKH);
}
}
if (sKH.Equals(""))
{
if (!sKHID.Equals(""))
{
sKH = GetKHMC(sKHID);
}
}
if (sHTMC.Equals(""))
{
if (sKH.Length > 100)
sHTMC = sKH.Substring(0, 100);
else
sHTMC = sKH;
}
if (sKHID.Equals(""))
{
sRestr = "Error###客户编码不允许为空!";//Error###为插入失败的标志,返回客户端后,客户端依据是否存在此字符串判断插入是否成功并给出提示。
return sRestr;
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_KHID = '{0}' and isnull(KH_TYBZ,'N') <> 'Y'", sKHID)))
{
sRestr = "Error###客户已停用或不存在,不允许确定!";
return sRestr;
}
if (sBMID.Equals(""))
{
sRestr = "Error###销售部门不允许为空!";
return sRestr;
}
if (sTXY.Equals(""))
{
sRestr = "Error###销售员不允许为空!";
return sRestr;
}
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XSY where XSY_TXY = '{0}'", sTXY)))
{
sRestr = "Error###销售员不存在,不允许确认!";
return sRestr;
}
if (sHTMC.Equals(""))
{
sRestr = "Error###客户名称不允许为空!";
return sRestr;
}
string sJJDID = GetJJDH();
string sMessage = "";
string sHTBH = N_PUBLIC2.XSHTUtils.GetNewHTBH(sXSHTFLID, "", "", sTXY, sKHID, DateTime.Now.Date, sBMID, "", out sMessage);
if (!sMessage.Equals(""))
{
throw new Exception(sMessage);
}
double dDOCGRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_DOCGRPID"].ToString().Trim());
double dFJS = 0;
double dDOCID = 0;
if (dDOCGRPID > 0)
{
dFJS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_FJS"].ToString().Trim());
List<double> fileIdList = new List<double>();
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID);
for (int i = 0; i < dFJS; i++)
{
fileIdList.Add(docFileInfo[i].FileId);
}
DocFileResult docGR = FileService.CopyFiles(fileIdList.ToArray(), 0);
dDOCID = docGR.GroupId;
}
#region 插入销售合同登记
dberp.BeginTrans();
try
{
SQL.Clear();
SQL.Add("insert into HT ");
SQL.Add("(HT_JJDID, HT_XSHTFLID, HT_HTBH,HT_KHIDE,HT_MC,HT_XSBMID,HT_XSZRR,HT_BJDID,HT_KGRQ,HT_WGRQ,HT_XZQHID,HT_DLRQ,HT_DJRQ,");
SQL.Add("HT_DLRGH,HT_DLR,HT_DLRID,HT_WHR,HT_WHRID,HT_WHSJ,HT_DOCGRPID,HT_FJS) ");
SQL.Add("values( ");
SQL.Add(":HT_JJDID,:HT_XSHTFLID,:HT_HTBH,:HT_KHIDE,:HT_MC,:HT_XSBMID,:HT_XSZRR,:HT_BJDID,:HT_KGRQ,:HT_WGRQ,:HT_XZQHID,:HT_DLRQ,:HT_DJRQ,");
SQL.Add(":HT_DLRGH,:HT_DLR,:HT_DLRID,:HT_WHR,:HT_WHRID,:HT_WHSJ,:HT_DOCGRPID,:HT_FJS) ");
SQL.ParamByName("HT_JJDID").Value = sJJDID;
SQL.ParamByName("HT_XSHTFLID").Value = sXSHTFLID.Trim();
SQL.ParamByName("HT_HTBH").Value = sHTBH;
SQL.ParamByName("HT_KHIDE").Value = sKHID;
SQL.ParamByName("HT_MC").Value = sHTMC;
SQL.ParamByName("HT_XSBMID").Value = sBMID;
SQL.ParamByName("HT_XSZRR").Value = sTXY;
SQL.ParamByName("HT_BJDID").Value = sBJDID;
SQL.ParamByName("HT_KGRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_WGRQ").Value = DateTime.Now.AddMonths(1).ToShortDateString().Trim();
SQL.ParamByName("pXZQHID").Value = ds.Tables[0].Rows[0]["XLXSBJD_XZQHID"].ToString().Trim();
SQL.ParamByName("HT_DLRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_DJRQ").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("HT_DLRGH").Value = tSession.UserId;
SQL.ParamByName("HT_DLR").Value = tSession.UserName;
SQL.ParamByName("HT_DLRID").Value = tSession.RYID;
SQL.ParamByName("HT_WHR").Value = tSession.UserName;
SQL.ParamByName("HT_WHRID").Value = tSession.UserId;
SQL.ParamByName("HT_WHSJ").Value = DateTime.Now;
SQL.ParamByName("HT_DOCGRPID").Value = dDOCID;
SQL.ParamByName("HT_FJS").Value = dFJS;
dberp.ExecSQL(SQL);
TWorkflow wf = new TWorkflow(tSession, new System.Web.Caching.Cache());
wf.Enabled = true;
wf.WFNewInst(wf.GetWFID("XSHTDJ"), tSession.UserId);
dberp.ExecSQL(string.Format(@"update HT set HT_WFID = '{0}', HT_WPID = '{1}', HT_WFAWAITER= '{2}',HT_WFHANDLER = '{3}',HT_WFINST = {4}, HT_ACTNAME = '{5}' where HT_JJDID='{6}' ",
wf.WFID, wf.WPID, wf.Awaiter, wf.Handler, wf.WFInst, wf.GetWFActionName(TWFAction.wfaNewInst), sJJDID));
dberp.CommitTrans();
sRestr = sJJDID;
}
catch (Exception ex)
{
dberp.RollbackTrans();
sRestr = "Error###" + ex.Message;
}
#endregion
}
}
return sRestr;
}
private string GetJJDH()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSql = new TSQL(dberp);
sSql.Clear();
sSql.Add("select MAX(HT_JJDID) as ID from HT ");
sSql.Add("where HT_JJDID like '" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + "%'");
sSql.Add(" and len(HT_JJDID)=10");
DataSet ds = dberp.OpenDataSet(sSql);
if (ds.Tables[0].Rows.Count > 0 && !ds.Tables[0].Rows[0]["ID"].ToString().Trim().Equals(""))
{
int sXH = N_MISPRO.Utility.CMISproConvert.StrToInt(ds.Tables[0].Rows[0]["ID"].ToString().Trim().Substring(6)) + 1;
return DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + sXH.ToString().PadLeft(4, '0');
}
else
{
return DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + "0001";
}
}
private string GetTXYZJM(string sTXY)
{
string sRzjm = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Add("select XSY_ZJM from XSY where XSY_TXY = :pTXY");
sSQL.ParamByName("pTXY").Value = sTXY.Trim();
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
sRzjm = ds.Tables[0].Rows[0]["XSY_ZJM"].ToString().Trim();
}
return sRzjm;
}
private string GetMRDYYS()
{
string sRstr = "N";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860060);
if (!(pzxx.XLXSBJPZ_BBYSXH == "0") && !string.IsNullOrEmpty(pzxx.XLXSBJPZ_BBYSXH))
sRstr = "Y";
return sRstr;
}
private string GetDWMC(string sSYDWID)
{
string sDWMC = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Add("select GS_GSMC from GS where GS_SYDWID = :pSYDWID");
sSQL.ParamByName("pSYDWID").Value = sSYDWID.Trim();
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
sDWMC = ds.Tables[0].Rows[0]["GS_GSMC"].ToString().Trim();
}
return sDWMC;
}
private DataSet LoadFJXXSZ()
{
string sSQL = @"select XLXSBJKZXXSZ_BH as BH, XLXSBJKZXXSZ_MC as MC, XLXSBJKZXXSZ_SJLX as SJLX, XLXSBJKZXXSZ_DYZD as DYZD, isnull(XLXSBJKZXXSZ_BT,'N') as BT,
XLXSBJKZXXSZ_SRFS as SRFS, XLXSBJKZXXSZ_WIDTH as KZXXWIDTH,XLXSBJKZXXSZ_ROWS as KZXXROWS, XLXSBJKZXXSZ_JLDW as JLDW,
XLXSBJKZXXSZ_XSBZ as XSBZ,XLXSBJKZXXSZ_WHBZ as WHBZ,XLXSBJKZXXSZ_SYBJFLID
from XLXSBJKZXXSZ
where 1=1 order by XLXSBJKZXXSZ_BJSX, XLXSBJKZXXSZ_BH ";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(sSQL);
DataSet ds = dberp.OpenDataSet(SQL);
return ds;
}
private DataSet GetDs_XLXSBJDMX(string sBJDID)
{
string sBJU002 = tSession.GetOption(100860000, "BJU002");
int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002);
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add(string.Format(@"select XLXSBJDMX_BJDID,XLXSBJDMX_XH, OLD_XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,
XLXSBJDMX_XLYSID,XLXSBJDMX_WLID, XLXSBJDMX_CPMLMC,HasCPMLID,XLXSBJDMX_BJCP,XLWLXX,
XLXSBJDMX_WGCPBZ,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,
TZYZ_BJ01,TZYZ_BJ02,TZYZ_BJ03,TZYZ_BJ04,TZYZ_BJ05,TZYZ_BJ06,TZYZ_BJ07,TZYZ_BJ08,TZYZ_BJ09,TZYZ_BJ10,
XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,
TZHDJ, XLXSBJDMX_CLZL,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,
XLXSBJDMX_BZ,XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,
HasCLQD,HasYLDZSQ,UpdJJYZList,XLXSBJDMX_BJLY,XLXSBJDMX_BJTJCZ,'N' as PFYSQKBZ,HasFDJL
from
(select ROW_NUMBER()over(order by XLXSBJDMX_XSSX,XLXSBJDMX_XH) as RNum,
XLXSBJDMX_BJDID,XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,
rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,
rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLXSBJDMX_XLYSID,XLXSBJDMX_WLID, XLXSBJDMX_CPMLMC,
case
(case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end)
when ' ' then ' ' else
rtrim(case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end) || '|'|| rtrim(XLXSCPML_CPMLMC) end as HasCPMLID,
XLXSBJDMX_BJCP,' ' as XLWLXX,
ISNULL(XLXSBJDMX_WGCPBZ,'N') as XLXSBJDMX_WGCPBZ,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,XLXSBJDMX_JGBBJ,
XLXSBJDYZZ0_YZZ01 as TZYZ_BJ01,XLXSBJDYZZ0_YZZ02 as TZYZ_BJ02,XLXSBJDYZZ0_YZZ03 as TZYZ_BJ03,XLXSBJDYZZ0_YZZ04 as TZYZ_BJ04,XLXSBJDYZZ0_YZZ05 as TZYZ_BJ05,
XLXSBJDYZZ0_YZZ06 as TZYZ_BJ06,XLXSBJDYZZ0_YZZ07 as TZYZ_BJ07,XLXSBJDYZZ0_YZZ08 as TZYZ_BJ08,XLXSBJDYZZ0_YZZ09 as TZYZ_BJ09,XLXSBJDYZZ0_YZZ10 as TZYZ_BJ10,
XLXSBJDYZZ0_YZZ11 as TZYZ_BJ11,XLXSBJDYZZ0_YZZ12 as TZYZ_BJ12,XLXSBJDYZZ0_YZZ13 as TZYZ_BJ13,XLXSBJDYZZ0_YZZ14 as TZYZ_BJ14,XLXSBJDYZZ0_YZZ15 as TZYZ_BJ15,
XLXSBJDYZZ0_YZZ16 as TZYZ_BJ16,XLXSBJDYZZ0_YZZ17 as TZYZ_BJ17,XLXSBJDYZZ0_YZZ18 as TZYZ_BJ18,XLXSBJDYZZ0_YZZ19 as TZYZ_BJ19,XLXSBJDYZZ0_YZZ20 as TZYZ_BJ20,
XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,
case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,{0}) end as TZHDJ, XLXSBJDMX_CLZL,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,
XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,
XLXSBJDMX_BZ,XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,
case when isnull(XLXSCLQD_WPID,' ')='ZZZZ' then 'Y' else 'N' end as HasCLQD,
case when ((ISNULL(XLXSBJYLZD_WPID,' ')= '0060' or ISNULL(XLXSBJYLZD_WPID,' ')= 'ZZZZ') and isnull(XLXSBJYLZDMX_BZDBZ,'N') ='Y' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'N'
when (ISNULL(XLXSBJYLZD_WPID,' ')<> ' ' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'Y'
else 'N' end as HasYLDZSQ,
case when isnull(XLXSJGB_MXBH,' ')='JGB' then ' ' else rtrim(convert(char,XLXSBJDJJYZ_YZZ01))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ02))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ03))
||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ04))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ05))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ06))
||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ07))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ08))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ09))
||'|'||rtrim(convert(char,XLXSBJDJJYZ_YZZ10))||'|'||rtrim(convert(char,XLXSBJDJJYZ_YSJDZ)) end as UpdJJYZList,XLXSBJDMX_BJLY,XLXSBJDMX_BJTJCZ,case when isnull(XLXSBJDMXFD_BJDID,' ') = ' ' then 'N' else 'Y' end as HasFDJL
from XLXSBJDMX
left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID
left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID
left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH=XLXSBJDMX_XH
left join XLXSBJDJJYZ on XLXSBJDJJYZ_BJDID=XLXSBJDMX_BJDID and XLXSBJDJJYZ_XH=XLXSBJDMX_XH
left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID
left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID
left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=isnull(XLXSBJDMX_DYDJID,' ')
left join ( select XLXSBJYLZD_BJDID,XLXSBJYLZD_SQDH,XLXSBJYLZD_WPID,XLXSBJYLZDMX_BJDXH,XLXSBJYLZDMX_BZDBZ
from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where 1=1 ) YLZDMX on XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH
left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ')
left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' '
left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end
left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH
where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID ) BJD where 1=1 order by RNum ", iXSWS.ToString()));
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
return dberp.OpenDataSet(SQL);
}
private DataSet GetDs_XLXSBJD(string sBJDID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add(@" select XLXSBJD_BJDID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJFLID, XLXSBJD_KHID, XLXSBJD_XSQYID, XLXSBJD_WPID,XLXSBJD_SYDWID, XLXSBJD_BJRQ, XLXSBJD_XSJLMC,
XLXSBJD_TXY, XLXSBJD_XSBMID, XLXSBJD_KH, XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ, XLXSBJD_PJLX, XLXSBJD_JZBJHS, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_FKSM, XLXSBJD_BZ,
XLXSBJD_ZJE,XLXSBJD_ZZL,XLXSBJD_LRL,XLXSBJD_SQR,XLXSBJD_SQRGH,XLXSBJD_SQRID,XLXSBJD_FKQXNR,XLXSBJD_BJSM,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_SQRQ,
XLXSBJD_XZQHID,XLXSBJD_XMID,XLXSBJD_YBJDIDS,XLXSBJD_ZT,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,XLXSBJD_ZB,XLXSBJD_ZBJE, XLXSBJD_WHR, XLXSBJD_WHSJ, XLXSBJD_FJS
from XLXSBJD
where XLXSBJD_BJDID = :pBJDID
order by XLXSBJD_BJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
return dberp.OpenDataSet(SQL);
}
private string GetHTBJDKZ(string sBJDID)
{
string sHTBJDKZ = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSql = new TSQL(dberp);
sSql.Clear();
sSql.Add(" select XSHTKZ_HTBJDKZ from XLXSBJD ");
sSql.Add(" left join XSHTKZ on XSHTKZ_SYDWID = XLXSBJD_SYDWID ");
sSql.Add(" where XLXSBJD_BJDID = :pBJDID ");
sSql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sSql);
if (ds.Tables[0].Rows.Count > 0)
{
sHTBJDKZ = ds.Tables[0].Rows[0]["XSHTKZ_HTBJDKZ"].ToString().Trim();
}
return sHTBJDKZ;
}
public double ReportPDF(string sBJDID)
{
double dDOCGRPID = 0;
double dDYYSXH = 0;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJD_BBYSDOCID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
dDOCGRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_BBYSDOCID"].ToString().Trim());
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860060);
dDYYSXH = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_BBYSXH, 0);
dDOCGRPID = Report2Pdf(GetBBNR(sBJDID, dDYYSXH), dDOCGRPID, sBJDID);
SQL.Clear();
SQL.Add(" update XLXSBJD set XLXSBJD_BBYSDOCID = :pDOCGRPID where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pDOCGRPID").Value = dDOCGRPID;
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
return dDOCGRPID;
}
public double ReportPDFByBBYSXH(string sBJDID, string sBBYSXH)
{
double dDOCGRPID = 0;
double dDYYSXH = 0;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJD_BBYSDOCID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
dDOCGRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_BBYSDOCID"].ToString().Trim());
}
dDYYSXH = CMISproConvert.StrToFloat(sBBYSXH, 0);
dDOCGRPID = Report2Pdf(GetBBNR(sBJDID, dDYYSXH), dDOCGRPID, sBJDID);
SQL.Clear();
SQL.Add(" update XLXSBJD set XLXSBJD_BBYSDOCID = :pDOCGRPID where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pDOCGRPID").Value = dDOCGRPID;
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
return dDOCGRPID;
}
public static double Report2Pdf(string sReportXML, double dDOCGRPID, string sBJDID)
{
string strPath = System.AppDomain.CurrentDomain.BaseDirectory + "\\work\\" + "temp";
if (!Directory.Exists(strPath))
Directory.CreateDirectory(strPath);
string pdfPath = strPath + "\\" + "[" + Guid.NewGuid().ToString() + "]" + ".pdf";
FileStream fsPdf = new FileStream(pdfPath, FileMode.OpenOrCreate);
try
{
//将xml字符串转化为流
//byte[] array = Encoding.Default.GetBytes(sReportXML);
//MemoryStream fsXml = new MemoryStream(array);
//调用服务将报表XML文件流转化为EXCEL文件流
ReportService.Rpt2Pdf(sReportXML, fsPdf);
double dFileID = 0;
if (dDOCGRPID != 0)
{
Mac.MacLog.TraceFormat("工号:{0},报价单号:{1},传入文档组号:{2}", CMISproSessionManager.GetCurrentSession().UserId, sBJDID, dDOCGRPID.ToString());
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID);
if (docFileInfo.Length > 0)
{
dFileID = docFileInfo[0].FileId;
}
}
if (dFileID != 0)
{
FileService.DeleteFile(dDOCGRPID, dFileID);
Mac.MacLog.TraceFormat("工号:{0},报价单号:{1},删除文件ID:{2}", CMISproSessionManager.GetCurrentSession().UserId, sBJDID, dFileID.ToString());
}
DocFileInfo tempDOCInfo = FileService.AddFile(fsPdf, Guid.NewGuid().ToString() + ".pdf", dDOCGRPID);
fsPdf.Close();
dDOCGRPID = tempDOCInfo.GroupId;
Mac.MacLog.TraceFormat("工号:{0},报价单号:{1},返回文档组号:{2}", CMISproSessionManager.GetCurrentSession().UserId, sBJDID, dDOCGRPID.ToString());
Mac.MacLog.TraceFormat("工号:{0},报价单号:{1},返回文件ID:{2}", CMISproSessionManager.GetCurrentSession().UserId, sBJDID, tempDOCInfo.FileId.ToString());
Mac.MacLog.TraceFormat("工号:{0},报价单号:{1},返回文件名称:{2}", CMISproSessionManager.GetCurrentSession().UserId, sBJDID, tempDOCInfo.FileName);
}
finally
{
fsPdf.Close();
}
return dDOCGRPID;
}
//获取默认打印样式报表内容
public string GetBBNR(string sBJDID, double dXH)
{
string sYSNR = string.Empty;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select BBYS_NR from BBYS where BBYS_UMID = 100860000 and BBYS_FORMID = 'XLBJDInfo' and BBYS_XH = :pXH ");
SQL.ParamByName("pXH").Value = dXH;
DataSet dsYS = dberp.OpenDataSet(SQL);
if (dsYS.Tables[0].Rows.Count > 0)
{
string sYSMB = dsYS.Tables[0].Rows[0][0].ToString().Trim();
if (sYSMB.Equals(""))
throw new Exception("报表样式内容为空,无法导出pdf!");
byte[] b = new byte[0];
byte[] c = new byte[0];
byte[] zipbuf = new byte[0];
b = (byte[])dsYS.Tables[0].Rows[0][0];
if (IsZlib(b))
{
zipbuf = ZlibCompress.DecompressBytes(b);
}
else
{
zipbuf = ZipCompress.DecompressBytes(b);
}
sYSMB = System.Text.Encoding.Default.GetString(zipbuf, 0, zipbuf.Length);
sYSMB = sYSMB.Replace("\'", "\"");
TReportComClass Report = new TReportComClass(CMISproSessionManager.GetCurrentSession(), TContextDatabases.GetDatabase("DBERP"));
Report.OnReportUnknownFunction += ReportOnUnknownFunction;
Report.OnReportUnknownVariable += ReportOnUnknownVariable;
DataSet dsXLXSBJDMX = GetDs_XLXSBJDMX(sBJDID);
DataSet dsXLXSBJD = GetDs_XLXSBJD(sBJDID);
//添加明细数据集及字段
if (dsXLXSBJDMX.Tables[0].Rows.Count > 0)
{
Report.AddUserReportDataSet("XLXSBJDMX", dsXLXSBJDMX);
Report.ReportRecordSetAdd();
//添加明细字段值
for (int i = 0; i < dsXLXSBJDMX.Tables[0].Columns.Count; i++)
{
Report.AllVariableValue.Add(dsXLXSBJDMX.Tables[0].Columns[i].ColumnName, new TReportComClass.StrMap(dsXLXSBJDMX.Tables[0].Columns[i].ColumnName, dsXLXSBJDMX.Tables[0].Rows[0][i].ToString().Trim(), "S"));
}
}
//添加主表数据集及字段
if (dsXLXSBJD.Tables[0].Rows.Count > 0)
{
Report.AddUserReportDataSet("XLXSBJD", dsXLXSBJD);
Report.ReportRecordSetAdd();
//Report.AddReportField("XLXSBJD", "XLXSBJD_BJDID", "报价单号", "S");
//添加字段值
for (int i = 0; i < dsXLXSBJD.Tables[0].Columns.Count; i++)
{
Report.AllVariableValue.Add(dsXLXSBJD.Tables[0].Columns[i].ColumnName, new TReportComClass.StrMap(dsXLXSBJD.Tables[0].Columns[i].ColumnName, dsXLXSBJD.Tables[0].Rows[0][i].ToString().Trim(), "S"));
}
}
sYSNR = Report.GetReportResult(sYSMB);
}
return sYSNR;
}
#region 报表样式转化方法
private bool IsZlib(byte[] SourceBytes)
{
bool bZlib = false;
if (SourceBytes.Length > 2)
{
if (SourceBytes[0].Equals(120) && SourceBytes[1].Equals(156))
{
bZlib = true;
}
else if (SourceBytes[0].Equals(80) && SourceBytes[1].Equals(75))
{
bZlib = false;
}
}
return bZlib;
}
private void ReportOnUnknownFunction(string Name, string Params, ref string ValueType, ref string Value, TDatabase db)
{
int _Year = 0;
string _DWID = string.Empty;
string _BBID = string.Empty;
DateTime _End = new DateTime();
DateTime _Start = new DateTime();
int _Month = 0;
int _BBQH = 0;
bool _Exist = false;
TLogicContext.Current.SetContextVar("BBYear", _Year.ToString());
TLogicContext.Current.SetContextVar("BBDWID", _DWID);
TLogicContext.Current.SetContextVar("BBID", _BBID);
TLogicContext.Current.SetContextVar("END", _End.ToString());
TLogicContext.Current.SetContextVar("START", _Start.ToString());
TLogicContext.Current.SetContextVar("BBMonth", _Month.ToString());
TLogicContext.Current.SetContextVar("BBQH", _BBQH.ToString());
TLogicContext.Current.SetContextVar("SYBBQJ", _Exist ? "Y" : "N");//使用报表期间
ReportOnUnknownFunction(Name, Params, ref ValueType, ref Value);
}
private void ReportOnUnknownFunction(string Name, string Params, ref string ValueType, ref string Value)
{//Params: CS1,CS2,CS3
//OnReportUnknownFunction(Name, Params, ref ValueType, ref Value);
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
if (Name.ToUpper() == "GETN")
{
ValueType = "N";
string[] par = Params.Split(',');
if (par.Length > 0)
{
if (par.Length == 1)
{
Value = tSession.GetN(N_MISPRO.Utility.CMISproConvert.StrToInt(par[0]), "").ToString();
}
else
{
Value = tSession.GetN(N_MISPRO.Utility.CMISproConvert.StrToInt(par[0]), Params.Substring(Params.IndexOf(',') + 1)).ToString();
}
}
else
{
Value = tSession.GetN(0, Params).ToString();
}
}
else if (Name.ToUpper() == "GETS")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length > 0)
{
if (par.Length == 1)
{
Value = tSession.GetS(N_MISPRO.Utility.CMISproConvert.StrToInt(par[0]), "");
}
else
{
Value = tSession.GetS(N_MISPRO.Utility.CMISproConvert.StrToInt(par[0]), Params.Substring(Params.IndexOf(',') + 1));
}
}
else
{
Value = tSession.GetS(0, Params);
}
}
else if (Name.ToUpper() == "DATEDIFF")
{
ValueType = "N";
string[] par = Params.Split(',');
if (par.Length != 2)
{
Value = "0";
}
else
{
TimeSpan spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[1]) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[0]);
Value = spart.Days.ToString();
}
}
else if (Name.ToUpper() == "DATEADD")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length != 3)
{
Value = "";
}
else
{
string sDateKind = par[0].ToUpper();
int number = N_MISPRO.Utility.CMISproConvert.StrToInt(par[1]);
string CustomKind = "";
if (par[2].Trim().Length > 10)
{
CustomKind = "Time";
}
else
{
CustomKind = "Date";
}
DateTime dDest = N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[2]);
switch (sDateKind)
{
case ("HOUR"):
Value = dDest.AddHours(number).ToString("yyyy-MM-dd HH:mm:ss");
break;
case ("MINUTE"):
Value = dDest.AddMinutes(number).ToString("yyyy-MM-dd HH:mm:ss");
break;
case ("SECOND"):
Value = dDest.AddSeconds(number).ToString("yyyy-MM-dd HH:mm:ss");
break;
case ("DAY"):
if (CustomKind == "Time")
Value = dDest.AddDays(number).ToString("yyyy-MM-dd HH:mm:ss");
else
Value = dDest.AddDays(number).ToString("yyyy-MM-dd");
break;
case ("WEEK"):
if (CustomKind == "Time")
Value = dDest.AddDays(number * 7).ToString("yyyy-MM-dd HH:mm:ss");
else
Value = dDest.AddDays(number * 7).ToString("yyyy-MM-dd");
break;
case ("MONTH"):
if (CustomKind == "Time")
Value = dDest.AddMonths(number).ToString("yyyy-MM-dd HH:mm:ss");
else
Value = dDest.AddMonths(number).ToString("yyyy-MM-dd");
break;
case ("QUARTER"):
if (CustomKind == "Time")
Value = dDest.AddMonths(number * 3).ToString("yyyy-MM-dd HH:mm:ss");
else
Value = dDest.AddMonths(number * 3).ToString("yyyy-MM-dd");
break;
case ("YEAR"):
if (CustomKind == "Time")
Value = dDest.AddYears(number).ToString("yyyy-MM-dd HH:mm:ss");
else
Value = dDest.AddYears(number).ToString("yyyy-MM-dd");
break;
default:
Value = "";
break;
}
}
}
else if (Name.ToUpper() == "ADDTIME")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length != 2)
{
Value = "";
}
else
{
string sH1 = par[0].Trim().Split(':').GetValue(0).ToString().Trim();
string sMI1 = par[0].Trim().Split(':').GetValue(1).ToString().Trim();
string sH2 = par[1].Trim().Split(':').GetValue(0).ToString().Trim();
string sMI2 = par[1].Trim().Split(':').GetValue(1).ToString().Trim();
int iModMin = (N_MISPRO.Utility.CMISproConvert.StrToInt(sMI1) + N_MISPRO.Utility.CMISproConvert.StrToInt(sMI2)) % 60;
int iModH = Convert.ToInt32(Math.Floor(Convert.ToDouble((N_MISPRO.Utility.CMISproConvert.StrToInt(sMI1) + N_MISPRO.Utility.CMISproConvert.StrToInt(sMI2)) / 60)));
Value = Convert.ToString(N_MISPRO.Utility.CMISproConvert.StrToInt(sH1) + N_MISPRO.Utility.CMISproConvert.StrToInt(sH2) + iModH) + ":" + iModMin.ToString().PadLeft(2, '0');
}
}
else if (Name.ToUpper() == "TIMEDIFF")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length != 3)
{
Value = "";
}
else
{
bool bNeedAdd1 = false;
string sDateB = par[0].Trim();
string sDateE = par[1].Trim();
if (sDateE.Trim().Equals("24:00"))
{
bNeedAdd1 = true;
sDateE = "23:59";
}
string sReturnType = par[2].Trim();
TimeSpan spart;
bool bDownZ = false;
if (sDateB.Trim().Length > 5)
{
spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateE) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateB);
if (N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateE) < N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateB))
{
bDownZ = true;
}
}
else
{
if (N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateE) < N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateB))
{
spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateE).AddHours(24) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateB);
}
else
{
spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateE) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(sDateB);
}
}
switch (sReturnType)
{
case "HH":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)) : "-" + Convert.ToString(Math.Abs(spart.Hours));
}
else
{
if (Math.Abs(spart.Minutes) + 1 >= 60)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours) + 1) : "-" + Convert.ToString(Math.Abs(spart.Hours) + 1);
}
else
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)) : "-" + Convert.ToString(Math.Abs(spart.Hours));
}
}
break;
case "MI":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes)) : "-" + Convert.ToString(Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes));
}
else
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes) + 1) : "-" + Convert.ToString(Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes) + 1);
}
break;
case "SS":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString((Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes)) * 60 + Math.Abs(spart.Seconds)) : "-" + Convert.ToString((Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes)) * 60 + Math.Abs(spart.Seconds));
}
else
{
Value = bDownZ == false ? Convert.ToString((Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes) + 1) * 60 + Math.Abs(spart.Seconds)) : "-" + Convert.ToString((Math.Abs(spart.Hours) * 60 + Math.Abs(spart.Minutes) + 1) * 60 + Math.Abs(spart.Seconds));
}
break;
case "HH:MI:SS":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
else
{
if (Math.Abs(spart.Minutes) + 1 >= 60)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
else
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
}
break;
case "HH:MI":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0');
}
else
{
if (Math.Abs(spart.Minutes) + 1 >= 60)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0');
}
else
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Hours)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0');
}
}
break;
case "MI:SS":
if (!bNeedAdd1)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Minutes)).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
else
{
if (Math.Abs(spart.Minutes) + 1 >= 60)
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Minutes) - 59).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
else
{
Value = bDownZ == false ? Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0') : "-" + Convert.ToString(Math.Abs(spart.Minutes) + 1).PadLeft(2, '0') + ":" + Convert.ToString(Math.Abs(spart.Seconds)).PadLeft(2, '0');
}
}
break;
}
}
}
else if (Name.ToUpper() == "FORMATMINUTETOHHMM")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length > 0)
{
if (par.Length == 1)
{
int iMM = 0;
try
{
iMM = Convert.ToInt32(par[0].Trim());
}
catch
{
Value = "";
}
int iRHH = iMM / 60;
int iRMM = iMM % 60;
string sHHMM = (iRHH == 0 ? "" : (Convert.ToString(iRHH) + "小时")) + (iRMM == 0 ? "" : (Convert.ToString(iRMM) + "分钟"));
Value = sHHMM;
}
else
{
Value = "";
}
}
else
{
Value = "";
}
}
else if (Name.ToUpper() == "FORMATHHMMTOMINUTE")
{
ValueType = "S";
string[] par = Params.Split(',');
if (par.Length > 0)
{
if (par.Length == 1)
{
string sParam = par[0].Trim();
bool bHasHour = false;
bool bHasMinute = false;
try
{
if (sParam.IndexOf("小时") >= 0)
bHasHour = true;
if (sParam.IndexOf("分钟") >= 0)
bHasMinute = true;
if (bHasHour && !bHasMinute) //仅仅有小时没有分钟
{
string sHour = sParam.Substring(0, sParam.IndexOf("小时"));
Value = Convert.ToString(N_MISPRO.Utility.CMISproConvert.StrToInt(sHour) * 60);
}
else if (!bHasHour && bHasMinute) //仅仅有分钟没有小时
{
string sMinute = sParam.Substring(0, sParam.IndexOf("分钟"));
Value = sMinute;
}
else if (bHasHour && bHasMinute) //既有分钟也有小时
{
string sHour = sParam.Substring(0, sParam.IndexOf("小时"));
string sMinuteAll = sParam.Replace(sHour + "小时", "");
string sMinute = sMinuteAll.Substring(0, sMinuteAll.IndexOf("分钟"));
Value = Convert.ToString(N_MISPRO.Utility.CMISproConvert.StrToInt(sHour) * 60 + N_MISPRO.Utility.CMISproConvert.StrToInt(sMinute));
}
}
catch
{
Value = "";
}
}
else
{
Value = "";
}
}
else
{
Value = "";
}
}
else if (Name.ToUpper() == "HOURDIFF")
{
ValueType = "N";
string[] par = Params.Split(',');
if (par.Length != 2)
{
Value = "0";
}
else
{
TimeSpan spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[1]) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[0]);
Value = spart.TotalHours.ToString();
}
}
else if (Name.ToUpper() == "MINUTEDIFF")
{
ValueType = "N";
string[] par = Params.Split(',');
if (par.Length != 2)
{
Value = "0";
}
else
{
TimeSpan spart = N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[1]) - N_MISPRO.Utility.CMISproConvert.StrToDateTime(par[0]);
Value = spart.TotalMinutes.ToString();
}
}
else if (Name.ToUpper() == "EXP")
{
ValueType = "N";
string[] par = Params.Split(',');
if (par.Length != 1)
{
Value = "0";
}
else
{
Value = Math.Pow(Math.E, CMISproConvert.StrToFloat(par[0])).ToString();
}
}
else if (Name.ToUpper() == "SORT")
{
Value = Sort(Params);
ValueType = "N";
}
else if (Name.ToUpper() == "INVERTEDSORT")
{
Value = InvertedSort(Params);
ValueType = "N";
}
else if (Name.ToUpper() == "GETWFLOGXX")
{
Value = "";
ValueType = "S";
}
else if (Name.ToUpper() == "GETUSERQM")
{
string[] par = Params.Split(',');
if (par.Length != 1)
{
ValueType = "S";
Value = "";
}
else
{
string sGH = par[0].Trim();
if (sGH.Trim() != "")
{
byte[] bbImage = new byte[0];
bbImage = GetUserQM(sGH);
if (bbImage.Length == 0) //空图片
{
ValueType = "S";
Value = "";
}
else
{
MemoryStream oMy = null;
oMy = new MemoryStream(bbImage);
ValueType = "S";
Value = GetPhoto(oMy);
}
}
else
{
ValueType = "S";
Value = "";
}
}
}
else
{
List<int> lstAMID = GetAMIDByAMNAME(Name);
if (lstAMID.Count == 0) return;
if (lstAMID.Count > 1)
{
ValueType = "S";
Value = "错误:模块名为[" + Name + "]的模块存在多个,不允许计算!";
}
int iAMID = lstAMID[0];
object obj = tSession.DataAgentGetValue(iAMID, Params);
if (obj is double)
{
ValueType = "N";
}
else if (obj is string)
{
ValueType = "S";
}
Value = obj.ToString();
}
}
private void ReportOnUnknownVariable(string Name, ref string ValueType, ref string Value, TDatabase db)
{
int _Year = 0;
string _DWID = string.Empty;
string _BBID = string.Empty;
DateTime _End = new DateTime();
DateTime _Start = new DateTime();
int _Month = 0;
int _BBQH = 0;
bool _Exist = false;
TLogicContext.Current.SetContextVar("BBYear", _Year.ToString());
TLogicContext.Current.SetContextVar("BBDWID", _DWID);
TLogicContext.Current.SetContextVar("BBID", _BBID);
TLogicContext.Current.SetContextVar("END", _End.ToString());
TLogicContext.Current.SetContextVar("START", _Start.ToString());
TLogicContext.Current.SetContextVar("BBMonth", _Month.ToString());
TLogicContext.Current.SetContextVar("BBQH", _BBQH.ToString());
TLogicContext.Current.SetContextVar("SYBBQJ", _Exist ? "Y" : "N");//使用报表期间
ReportOnUnknownVariable("", Name, ref ValueType, ref Value);
}
private void ReportOnUnknownVariable(string sSQL, string Name, ref string ValueType, ref string Value)
{
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
string _DWID = string.Empty;
string _BBID = string.Empty;
DateTime _End = new DateTime();
DateTime _Start = new DateTime();
if (Name.ToUpper() == "USERID")
{
ValueType = "S";
Value = tSession.UserId;
}
if (Name.ToUpper() == "DEPTNAME")
{
ValueType = "S";
User user = UserUtils.GetUser(tSession.UserId);
if (user != null)
{
string sBMID = user.RzBmId.Trim();
Value = GetBMMC(sBMID);
}
else
{
Value = "";
}
}
if (Name.ToUpper() == "KJDWMC")
{
ValueType = "S";
Value = GetKJDW(_DWID);
}
if (Name.ToUpper() == "START")
{
ValueType = "S";
Value = _Start.ToString("yyyy-MM-dd");
}
if (Name.ToUpper() == "END")
{
ValueType = "S";
Value = _End.ToString("yyyy-MM-dd");
}
}
public string Sort(string sValue)
{
List<double> dValue = new List<double>();
double dStartValue = 0;
string[] aValue = sValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < aValue.Length; i++)
{
double ddValue = 0;
if (i == 0)
{
if (!double.TryParse(aValue[i], out dStartValue))
return dStartValue.ToString();
}
else
{
if (double.TryParse(aValue[i], out ddValue) && !dValue.Contains(ddValue))
dValue.Add(ddValue);
}
}
dValue.Sort();
return Convert.ToString(dValue.IndexOf(dStartValue) + 1);
}
public string InvertedSort(string sValue)
{
List<double> dValue = new List<double>();
double dStartValue = 0;
string[] aValue = sValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < aValue.Length; i++)
{
double ddValue = 0;
if (i == 0)
{
if (!double.TryParse(aValue[i], out dStartValue))
return dStartValue.ToString();
}
else
{
if (double.TryParse(aValue[i], out ddValue) && !dValue.Contains(ddValue))
dValue.Add(ddValue);
}
}
dValue.Sort();
if (dValue.IndexOf(dStartValue) != -1)
return Convert.ToString(dValue.Count - dValue.IndexOf(dStartValue));
else
return "0";
}
public byte[] GetUserQM(string sUserID)
{
byte[] bImage = new byte[0];
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
try
{
string sSQLText = string.Format(" select YHQMTP_QMTP from YHQMTP where YHQMTP_GH='{0}' ", sUserID);
DataSet ds = dberp.OpenDataSet(sSQLText);
if (ds.Tables[0].Rows.Count > 0)
{
bImage = (byte[])ds.Tables[0].Rows[0]["YHQMTP_QMTP"];
}
}
catch
{
}
return bImage;
}
public string GetPhoto(MemoryStream pPhoto)
{
Random iRa = new Random();
int iResult;
string sTemp = "", sPath = "", TempSavePath = "";
CMISproSession tSession = CMISproApp.GetSession();
string sUsrID = tSession.UserId;
if (string.IsNullOrEmpty(sUsrID))
{
sUsrID = "XXXX";
}
do //防止产生的随机数相同导致打印图片相同
{
iResult = iRa.Next(); //产生随机数
sTemp = "TempOA" + CMISproConvert.ConvertDate(DateTime.Now) + Convert.ToString(iResult) + "-" + sUsrID + ".bmp";
sPath = System.Web.Hosting.HostingEnvironment.MapPath("~/UploadFile");
TempSavePath = sPath + "\\" + sTemp;
}
while (File.Exists(TempSavePath));
FileStream copyToFile = new FileStream(TempSavePath, FileMode.Append, FileAccess.Write);
MemoryStream oMy = null;
try
{
oMy = pPhoto;
byte[] buffer = new byte[oMy.Length];
oMy.Read(buffer, 0, (int)oMy.Length);
oMy.Flush();
copyToFile.Write(buffer, 0, (int)oMy.Length);
copyToFile.Flush();
}
catch
{
}
finally
{
if (oMy != null)
{
oMy.Close();
}
copyToFile.Close();
}
return TempSavePath;
}
public string GetBMMC(string sBMID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSql = new TSQL(dberp);
sSql.Add("select BM_MC from BM where BM_BMID=:pBMID ");
sSql.ParamByName("pBMID").Value = sBMID;
DataSet ds = dberp.OpenDataSet(sSql);
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0]["BM_MC"].ToString().Trim();
}
else
{
return "";
}
}
public List<int> GetAMIDByAMNAME(string sAMNAME)
{
List<int> lstAMID = new List<int>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select AMID from ACTIVEMODULE");
SQL.Add(" where AMNAME = :pAMNAME");
SQL.Add(" and AMTYPE = 'D'");
SQL.Add(" and AMPLATFORM = 'N'");
SQL.ParamByName("pAMNAME").Value = sAMNAME;
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
lstAMID.Add(CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["AMID"].ToString().Trim()));
}
return lstAMID;
}
private string GetKJDW(string sDWID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add(" select BBDW_KJDWID, isnull(KJDW_QC,' ') as KJDW_QC from BBDW");
sSQL.Add(" left join KJDW on KJDW_KJDWID=BBDW_KJDWID");
sSQL.Add(" where BBDW_DWID=:pDWID");
sSQL.ParamByName("pDWID").Value = sDWID;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0]["KJDW_QC"].ToString().Trim();
}
else
{
return "";
}
}
#endregion
public List<CodeInfo> GetListBBYS()
{
List<CodeInfo> lst = new List<CodeInfo>();
string sBBYSXH = XLBJDUtils.GetXLXSBJPZXX(100860060).XLXSBJPZ_BBYSXH;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select BBYS_XH,BBYS_SM from BBYS where BBYS_UMID = 100860000 and BBYS_FORMID = 'XLBJDInfo'");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("BBYS_XH", sBBYSXH));
SQL.Add(" order by BBYS_XH ");
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
CodeInfo codeInfo = new CodeInfo();
codeInfo.CodeID = ds.Tables[0].Rows[i]["BBYS_XH"].ToString().Trim();
codeInfo.CodeMC = ds.Tables[0].Rows[i]["BBYS_SM"].ToString().Trim();
lst.Add(codeInfo);
}
return lst;
}
/// <summary>
/// 查询铜/铝重量(按报价单汇总)
/// </summary>
public static void CXTLLWeight(string sBJDID, ref string sTZL, ref string sLZL)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("SELECT ISNULL(SUM(CASE WHEN XLXSCLQD_CLZL=0 THEN 0 ELSE XLXSBJDMX_CLZL*XLXSCLQD_TZL/XLXSCLQD_CLZL END),0) AS TZL,");
sql.Add(" ISNULL(SUM(CASE WHEN XLXSCLQD_CLZL=0 THEN 0 ELSE XLXSBJDMX_CLZL*XLXSCLQD_LZL/XLXSCLQD_CLZL END),0) AS LZL");
sql.Add(" FROM XLXSBJDMX");
sql.Add(" LEFT JOIN XLXSCLQD ON XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID AND XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID AND");
sql.Add(" XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID AND XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID");
sql.Add(" WHERE XLXSBJDMX_BJDID=:pBJDID");
sql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
sTZL = ds.Tables[0].Rows[0]["TZL"].ToString().Trim();
sLZL = ds.Tables[0].Rows[0]["LZL"].ToString().Trim();
}
else
{
sTZL = "0";
sLZL = "0";
}
}
}
}