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

1645 lines
97 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Utility;
using GThinking.N_PUBLIC;
using System.Collections.Generic;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_MISPRO.MISPROAS;
namespace GThinking.N_XLXSBJ
{
public partial class CXBJD_QRInfo : SingleCardBase
{
CXBJD_QR entity = new CXBJD_QR();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860046;
this.UMName = "线缆销售报价反馈";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 400;
this.PageWidth = 500;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
protected override string CodeClass(string ComponentID)
{
string SQL = base.CodeClass(ComponentID);
if (ComponentID.ToUpper().Equals("TXTGCXM"))
{
SQL += "!!select GCXM_XMID AS CODE, GCXM_XMMC AS MESSAGE from GCXM where 1=1 order by CODE ";
}
else if (ComponentID.ToUpper().Equals("TXTKHID"))
{
SQL += "!!select KH_KHID as CODE, KH_MC as MESSAGE from KH where 1=1 order by CODE ";
}
return SQL;
}
#region 模板继承事件
#endregion
#region 自定义函数
private void InitControl()
{
string sHJU006 = GetOption("HJU006").Trim();
if (!sHJU006.Equals(""))
{
string sSQL = " SELECT BM_BMID,BM_MC FROM BM where isnull(BM_TYBZ,' ')<>'Y'";
sSQL += " and " + CMISproDataBase.GetWhereEqual("BM_BMID", sHJU006);
sSQL += " order by BM_BMID";
TComboBox.SetComboBox("DBERP", cbxXSBMID, sSQL, false);
}
else
{
TComboBox.SetComboBox("DBERP", cbxXSBMID, " SELECT BM_BMID,BM_MC FROM BM where isnull(BM_TYBZ,' ')<>'Y' order by BM_BMID", false);
}
string sBJDID = PageParam.GetRTrimString("BJDID");
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSBJD_TXY,XLXSBJD_XSBMID,XSY_SJ,XLXSBJD_KHID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ");
SQL.Add(" from XLXSBJD");
SQL.Add(" left join XSY on XSY_TXY=XLXSBJD_TXY");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sTXY = ds.Tables[0].Rows[0]["XLXSBJD_TXY"].ToString().Trim();
string sXSBMID = ds.Tables[0].Rows[0]["XLXSBJD_XSBMID"].ToString().Trim();
string sKHID = ds.Tables[0].Rows[0]["XLXSBJD_KHID"].ToString().Trim();
string sKHMC = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim();
string sXMMC = ds.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim();
txtTXY.Text = sTXY;
cbxXSBMID.SelectedValue = sXSBMID;
txtKHID.Text = sKHID;
txtKHMC.Text = sKHMC;
txtXMMC.Text = sXMMC;
txtLXR.Text = ds.Tables[0].Rows[0]["XLXSBJD_KHLXR"].ToString().Trim();
txtLXRDH.Text = ds.Tables[0].Rows[0]["XLXSBJD_LXDH"].ToString().Trim();
txtLXRCZ.Text = ds.Tables[0].Rows[0]["XLXSBJD_CZ"].ToString().Trim();
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
if (!sKHMC.Equals("") && sKHID.Equals(""))
{
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)
{
txtKHID.Text = dsKH.Tables[0].Rows[0]["KH_KHID"].ToString().Trim();
}
if (txtKHID.Text.Trim().Equals(""))
{
SQL.Clear();
SQL.Add("select KHXX_YKHID from KHXX where KHXX_MC = :pKHMC order by KHXX_YKHID");
SQL.ParamByName("pKHMC").Value = sKHMC;
DataSet dsKHXX = dberp.OpenDataSet(SQL);
if (dsKHXX.Tables[0].Rows.Count > 0)
{
txtKHID.Text = dsKHXX.Tables[0].Rows[0]["KHXX_YKHID"].ToString().Trim();
}
}
}
if (!sXMMC.Equals(""))
{
SQL.Clear();
SQL.Add("select GCXM_XMID from GCXM where GCXM_XMMC=:pXMMC order by GCXM_XMID");
SQL.ParamByName("pXMMC").Value = sXMMC;
DataSet dsXM = dberp.OpenDataSet(SQL);
if (dsXM.Tables[0].Rows.Count > 0)
{
txtGCXM.Text = dsXM.Tables[0].Rows[0]["GCXM_XMID"].ToString().Trim();
txtXMMC.ReadOnly = true;
}
}
}
//KH8-100432045|新客户申请
if (CheckModule(100432045))
{
//报价客户配置为售前客户、新增客户要求配置为报价前维护
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (pzxx.XLXSBJPZ_KHJSLY == "KHXX" && pzxx.XLXSBJPZ_XZKHYQ == "Q")
{
lblKHID.Visible = false;
linkKHID.Visible = true;
lbllinkKHIDMH.Visible = true;
}
else
{
lblKHID.Visible = true;
linkKHID.Visible = false;
lbllinkKHIDMH.Visible = false;
}
}
else
{
lblKHID.Visible = true;
linkKHID.Visible = false;
lbllinkKHIDMH.Visible = false;
}
}
//判断模块是否存在并且是否有权限
private bool CheckModule(int iUMID)
{
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
#endregion
#region 控件事件
protected void btnQR_Click(object sender, EventArgs e)
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sBJU048 = GetOption("BJU048");
if (sBJU048 == "Y")
{
if (txtKHID.Text.Trim().Equals(""))
{
ShowMessage("客户编码--不允许为空!");
return;
}
}
if (!txtKHID.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_KHID='{0}' and isnull(KH_TYBZ,' ')<>'Y'", txtKHID.Text.Trim())))
{
ShowMessage("客户编码不存在或已经停用!");
return;
}
}
if (sBJU048 == "Y")
{
if (txtTXY.Text.Trim().Equals(""))
{
ShowMessage("销售员--不允许为空!");
return;
}
if (cbxXSBMID.SelectedValue.Trim().Equals(""))
{
ShowMessage("销售部门--不允许为空!");
return;
}
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJDMX_XSSX from XLXSBJDMX ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" and RoundFix(XLXSBJDMX_ZBJE,2) <> RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) and (isnull(XLXSBJDMX_ZB,'N') = 'Y' or isnull(XLXSBJDMX_ZB,'N') = 'P') ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsZBJE = dberp.OpenDataSet(SQL);
if (dsZBJE.Tables[0].Rows.Count > 0)
{
string sZBJEXSSX = "";
foreach (DataRow trow in dsZBJE.Tables[0].Rows)
{
sZBJEXSSX += "[" + trow["XLXSBJDMX_XSSX"].ToString().Trim() + "],";
}
sZBJEXSSX = sZBJEXSSX.TrimEnd(',');
SQL.Clear();
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_ZBJE = RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" and RoundFix(XLXSBJDMX_ZBJE,2) <> RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) and (isnull(XLXSBJDMX_ZB,'N') = 'Y' or isnull(XLXSBJDMX_ZB,'N') = 'P') ");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
ShowMessage("如下显示序号中标金额被校正!\r\n" + sZBJEXSSX);
DialogOperationScript dos = new DialogOperationScript(this);
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("RefreshCtrlID")))
dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
return;
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046);
if (pzxx.XLXSBJPZ_FKSZDSCGCXM == "Y")
{
if (!txtXMMC.Text.Trim().Equals(""))
{
string sWarning = "";
SQL.Clear();
SQL.Add(" select 1 from MISPRONAME where MISPRONAME_TZM = 'GCXM_XMID' and MISPRONAME_QYRQ <= :pDate and ISNULL(MISPRONAME_TYRQ,GETDATE()) > :pDate ");
SQL.ParamByName("pDate").Value = DateTime.Now.Date;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)//存在工程项目编号规则
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}'", txtGCXM.Text.Trim())) || txtGCXM.Text.Trim().Equals(""))
{
sWarning = "是否按系统设置的工程项目号编码规则、项目名称自动生成工程项目记录?";
Confirm.Register("IsQD", sWarning);
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMMC='{0}'", txtXMMC.Text.Trim())))
{
ShowMessage("已存在同名工程项目!");
return;
}
string sXMID = CMISproDataBase.NewDH("GCXM_XMID", DateTime.Now.Date);
SQL.Clear();
SQL.Add(" insert into GCXM(GCXM_XMID,GCXM_XMMC,GCXM_XMJC,GCXM_JSHB,GCXM_HL,GCXM_XMRQ,GCXM_XSBM,GCXM_XSY,GCXM_QYRQ,GCXM_TYBZ,GCXM_WPID,GCXM_YWLX,GCXM_KHID,GCXM_WHR,GCXM_WHRID,GCXM_WHSJ) ");
SQL.Add(" values(:GCXM_XMID,:GCXM_XMMC,:GCXM_XMJC,'CNY',1,:GCXM_XMRQ,:GCXM_XSBM,:GCXM_XSY,:GCXM_QYRQ,'N','ZZZZ','XM',:GCXM_KHID,:GCXM_WHR,:GCXM_WHRID,:GCXM_WHSJ) ");
SQL.ParamByName("GCXM_XMID").Value = sXMID;
SQL.ParamByName("GCXM_XMMC").Value = txtXMMC.Text.Trim();
SQL.ParamByName("GCXM_XMJC").Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60);
SQL.ParamByName("GCXM_XMRQ").Value = DateTime.Now.Date;
SQL.ParamByName("GCXM_XSBM").Value = cbxXSBMID.SelectedValue.Trim();
SQL.ParamByName("GCXM_XSY").Value = txtTXY.Text.Trim();
SQL.ParamByName("GCXM_QYRQ").Value = DateTime.Now.Date;
SQL.ParamByName("GCXM_KHID").Value = txtKHID.Text.Trim();
SQL.ParamByName("GCXM_WHR").Value = tSession.UserName;
SQL.ParamByName("GCXM_WHRID").Value = tSession.UserId;
SQL.ParamByName("GCXM_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
txtGCXM.Text = sXMID;
txtXMJC.Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60);
TWorkflow xmdjWF = new TWorkflow(tSession, new System.Web.Caching.Cache());
xmdjWF.UMID = 100458011;
bool bISWF = TWorkflow.Utils.QYWFByWFVID("XM_XMDJ");
if (bISWF)
{
xmdjWF.WFNewInst(xmdjWF.GetWFID("XM_XMDJ"), tSession.UserId);
dberp.ExecSQL(string.Format("update GCXM set GCXM_WFID='{0}',GCXM_WPID='{1}', "
+ "GCXM_WFAWAITER='{2}',GCXM_WFHANDLER='{3}',GCXM_WFINST=isnull({4},0),GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ",
xmdjWF.WFID, xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.GetWFActionName(TWFAction.wfaNewInst), txtGCXM.Text.Trim()));
int flag = 1;
//提交下一步
#region 自动提交下一步
string sWFID = xmdjWF.WFID;
double WFINST = xmdjWF.WFInst;
string sAWaiter = xmdjWF.Awaiter;
string sNextAwaiter = "";
//提交下一步
xmdjWF.Enabled = true;
string sUser;
sUser = tSession.UserId;
xmdjWF.CurUserID = sUser;
xmdjWF.WFInfo(sWFID, WFINST, sUser);
TWFActionParam param = new TWFActionParam();
param.sOpinion = "";
param.sNextWFID = sWFID;
string sNWPID = "";
//---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法
TStrings wfpName = new TStrings();
wfpName.Text = xmdjWF.WFGetNextWFP(sWFID, xmdjWF.WFGetStartWPID(sWFID));
try
{
if (wfpName.Count > 1)
{
sNWPID = wfpName.Names(1).Trim();
}
}
catch
{
flag = 2;
}
//-----
if (flag == 1)
{
param.sNextWPID = sNWPID;
param.sNextNotifier = "";
if (!sNWPID.Trim().Equals("ZZZZ"))
{
sNextAwaiter = xmdjWF.WFGetNextAwaiter(sWFID, sNWPID);
if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250)
{
flag = 3;
}
}
else
{
flag = 4;
}
if (flag == 1)
{
param.sNextAwaiter = "," + sNextAwaiter + ",";
if (!xmdjWF.WFIsStopWPID(sWFID, sNWPID))
param.sWFState = TWorkflow.wfsRunning;
else
param.sWFState = TWorkflow.wfsDone;
if (xmdjWF.WFWorkIsDone(sWFID, WFINST, sUser))
{
param.sWPState = TWorkflow.wpsSubmit;
}
else
{
param.sWPState = TWorkflow.wfsRunning;
}
xmdjWF.WFSubmit(sWFID, WFINST, sUser, param);
xmdjWF.dbe.ExecSQL(string.Format("update GCXM set GCXM_WPID='{0}', GCXM_WFAWAITER='{1}', GCXM_WFHANDLER='{2}' ,GCXM_WFINST={3},GCXM_WFID='{4}',GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ",
xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.WFID, xmdjWF.GetWFActionName(TWFAction.wfaSubmit), txtGCXM.Text.Trim()));
}
}
#endregion
}
}
}
else
{
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
}
else
{
if (!txtGCXM.Text.Trim().Equals("") && !CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}'", txtGCXM.Text.Trim())))
{
sWarning = "是否按所填工程项目号、项目名称自动生成工程项目记录?";
Confirm.Register("IsQD", sWarning);
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMMC='{0}'", txtXMMC.Text.Trim())))
{
ShowMessage("已存在同名工程项目!");
return;
}
SQL.Clear();
SQL.Add(" insert into GCXM(GCXM_XMID,GCXM_XMMC,GCXM_XMJC,GCXM_JSHB,GCXM_HL,GCXM_XMRQ,GCXM_XSBM,GCXM_XSY,GCXM_QYRQ,GCXM_TYBZ,GCXM_WPID,GCXM_YWLX,GCXM_KHID,GCXM_WHR,GCXM_WHRID,GCXM_WHSJ) ");
SQL.Add(" values(:GCXM_XMID,:GCXM_XMMC,:GCXM_XMJC,'CNY',1,:GCXM_XMRQ,:GCXM_XSBM,:GCXM_XSY,:GCXM_QYRQ,'N','ZZZZ','XM',:GCXM_KHID,:GCXM_WHR,:GCXM_WHRID,:GCXM_WHSJ) ");
SQL.ParamByName("GCXM_XMID").Value = txtGCXM.Text.Trim();
SQL.ParamByName("GCXM_XMMC").Value = txtXMMC.Text.Trim();
SQL.ParamByName("GCXM_XMJC").Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60);
SQL.ParamByName("GCXM_XMRQ").Value = DateTime.Now.Date;
SQL.ParamByName("GCXM_XSBM").Value = cbxXSBMID.SelectedValue.Trim();
SQL.ParamByName("GCXM_XSY").Value = txtTXY.Text.Trim();
SQL.ParamByName("GCXM_QYRQ").Value = DateTime.Now.Date;
SQL.ParamByName("GCXM_KHID").Value = txtKHID.Text.Trim();
SQL.ParamByName("GCXM_WHR").Value = tSession.UserName;
SQL.ParamByName("GCXM_WHRID").Value = tSession.UserId;
SQL.ParamByName("GCXM_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
txtXMJC.Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60);
TWorkflow xmdjWF = new TWorkflow(tSession, new System.Web.Caching.Cache());
xmdjWF.UMID = 100458011;
bool bISWF = TWorkflow.Utils.QYWFByWFVID("XM_XMDJ");
if (bISWF)
{
xmdjWF.WFNewInst(xmdjWF.GetWFID("XM_XMDJ"), tSession.UserId);
dberp.ExecSQL(string.Format("update GCXM set GCXM_WFID='{0}',GCXM_WPID='{1}', "
+ "GCXM_WFAWAITER='{2}',GCXM_WFHANDLER='{3}',GCXM_WFINST=isnull({4},0),GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ",
xmdjWF.WFID, xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.GetWFActionName(TWFAction.wfaNewInst), txtGCXM.Text.Trim()));
int flag = 1;
//提交下一步
#region 自动提交下一步
string sWFID = xmdjWF.WFID;
double WFINST = xmdjWF.WFInst;
string sAWaiter = xmdjWF.Awaiter;
string sNextAwaiter = "";
//提交下一步
xmdjWF.Enabled = true;
string sUser;
string[] sStr = sAWaiter.Split(',');
try
{
sUser = sStr[1];
}
catch
{
sUser = tSession.UserId;
}
xmdjWF.CurUserID = sUser;
xmdjWF.WFInfo(sWFID, WFINST, sUser);
TWFActionParam param = new TWFActionParam();
param.sOpinion = "";
param.sNextWFID = sWFID;
string sNWPID = "";
//---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法
TStrings wfpName = new TStrings();
wfpName.Text = xmdjWF.WFGetNextWFP(sWFID, xmdjWF.WFGetStartWPID(sWFID));
try
{
if (wfpName.Count > 1)
{
sNWPID = wfpName.Names(1).Trim();
}
}
catch
{
flag = 2;
}
//-----
if (flag == 1)
{
param.sNextWPID = sNWPID;
param.sNextNotifier = "";
if (!sNWPID.Trim().Equals("ZZZZ"))
{
sNextAwaiter = xmdjWF.WFGetNextAwaiter(sWFID, sNWPID);
if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250)
{
flag = 3;
}
}
else
{
flag = 4;
}
if (flag == 1)
{
param.sNextAwaiter = "," + sNextAwaiter + ",";
if (!xmdjWF.WFIsStopWPID(sWFID, sNWPID))
param.sWFState = TWorkflow.wfsRunning;
else
param.sWFState = TWorkflow.wfsDone;
if (xmdjWF.WFWorkIsDone(sWFID, WFINST, sUser))
{
param.sWPState = TWorkflow.wpsSubmit;
}
else
{
param.sWPState = TWorkflow.wfsRunning;
}
xmdjWF.WFSubmit(sWFID, WFINST, sUser, param);
xmdjWF.dbe.ExecSQL(string.Format("update GCXM set GCXM_WPID='{0}', GCXM_WFAWAITER='{1}', GCXM_WFHANDLER='{2}' ,GCXM_WFINST={3},GCXM_WFID='{4}',GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ",
xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.WFID, xmdjWF.GetWFActionName(TWFAction.wfaSubmit), txtGCXM.Text.Trim()));
}
}
#endregion
}
}
}
else
{
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
}
}
else
{
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
}
else
{
if (!txtGCXM.Text.Trim().Equals(""))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim())))
{
ShowMessage("工程项目号不存在或已经停用!");
return;
}
}
}
string sHBID = "";
double fHL = 0;
SQL.Clear();
SQL.Add("select HB_HBID,HB_HL from HB where HB_BWB='Y'");//获取本位币
DataSet dsHB = dberp.OpenDataSet(SQL);
if (dsHB.Tables[0].Rows.Count > 0)
{
sHBID = dsHB.Tables[0].Rows[0]["HB_HBID"].ToString().Trim();
fHL = CMISproConvert.StrToFloat(dsHB.Tables[0].Rows[0]["HB_HL"].ToString());
}
else
{
ShowMessage("未设置本位币,请至【100734003|货币维护】功能维护!");
return;
}
Dictionary<string, string> DicTYWL = new Dictionary<string, string>();
SQL.Clear();
SQL.Add(" select WL_WLID from WL where isnull(WL_TYBZ,'N') = 'Y' ");
DataSet dsTYWL = dberp.OpenDataSet(SQL);
if (dsTYWL.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in dsTYWL.Tables[0].Rows)
{
string sTYWLID = dsTYWL.Tables[0].Rows[0]["WL_WLID"].ToString().Trim();
if (!DicTYWL.ContainsKey(sTYWLID))
DicTYWL.Add(sTYWLID, sTYWLID);
}
}
bool ExistsBJCPYS = false;//是否设置了报价产品颜色
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1"))
{
ExistsBJCPYS = true;
}
string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim();
SQL.Clear();
SQL.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BZ,XLXSBJDMX_ZDXJ,XLXSBJDMX_JGBBJ,XLXSBJDMX_JSJG, ");
SQL.Add(" XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||XLBZ_XLBZLXMC end as XLBZ,XLXSBJDMX_DZSC,XLXSBJDMX_BJWS,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE,");
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW ");
else
SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW ");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL.Add(" ,isnull(XLXSBJFKCFMX_CFXH,XLXSBJDMX_XH) as XLXSBJFKCFMX_CFXH ");
}
else
{
SQL.Add(" ,0 as XLXSBJFKCFMX_CFXH ");
}
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL.Add(" from (select XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,");
SQL.Add(" XLXSBJDMX_BZ,XLXSBJDMX_ZDXJ,XLXSBJDMX_JGBBJ,XLXSBJDMX_JSJG,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID,XLXSBJDMX_DZSC,");
SQL.Add(" XLXSBJDMX_BJWS,XLXSBJDMX_ZB,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_BJDID, ");
SQL.Add(" XLXSBJFKCFMX_CFXH,CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END AS XLXSBJDMX_XLYSID, ");
SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_WLID,' ')=' ' THEN XLXSBJDMX_WLID ELSE XLXSBJFKCFMX_WLID END AS XLXSBJDMX_WLID, ");
SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBSL,-1)=-1 THEN XLXSBJDMX_ZBSL ELSE XLXSBJFKCFMX_ZBSL END as XLXSBJDMX_ZBSL,");
SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBJE,-1)=-1 THEN XLXSBJDMX_ZBJE ELSE XLXSBJFKCFMX_ZBJE END as XLXSBJDMX_ZBJE, ");
SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_CFSL,-1)=-1 THEN XLXSBJDMX_BJSL ELSE XLXSBJFKCFMX_CFSL END AS XLXSBJDMX_BJSL ");
SQL.Add(" FROM XLXSBJDMX LEFT JOIN XLXSBJFKCFMX ON XLXSBJFKCFMX_BJDID=XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH=XLXSBJDMX_XH ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" ) XLXSBJDMX");
}
else
{
SQL.Add(" from XLXSBJDMX ");
}
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
SQL.Add("left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
if (sYXQBJWL == "Z" || sYXQBJWL == "X")
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID ");
}
else
{
if (ExistsBJCPYS)
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID= XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID ");
}
else
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID ");
}
}
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end)");
else
SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end)");
//SQL.Add(" left join JLDWTD b on upper(b.JLDWTD_JLDW)=:pJLDW and upper(b.JLDWTD_TDJLDW)=:pTDJLDW and isnull(b.JLDWTD_WLID,' ')=' ' ");
//SQL.Add(" left join JLDWTD c on upper(c.JLDWTD_JLDW)=:pTDJLDW and upper(c.JLDWTD_TDJLDW)=:pJLDW and isnull(c.JLDWTD_WLID,' ')=' ' ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID");
//仅下达能关联到物料编码的记录
//SQL.Add(" and isnull(a.minWLID,' ')<>' '");
SQL.Add(" order by XLXSBJDMX_XSSX");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
SQL.Add(" ,XLXSBJFKCFMX_CFXH ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsMX = dberp.OpenDataSet(SQL);
//记录报价产品计量单位与对应线缆物料计量单位的换算系数
Dictionary<string, double> dicHSXS = new Dictionary<string, double>();
Dictionary<string, string> dicDRXH = new Dictionary<string, string>();
//反馈物料匹配提醒
if (pzxx.XLXSBJPZ_FKWLPPTX.Equals("Y"))
{
string sXHList = "";
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (!dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim().Equals(dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim()))
{
sXHList = sXHList + dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ",";
}
}
if (!sXHList.Equals(""))
{
Confirm.Register("IsQD", string.Format("显示序号为{0}的明细记录报价产品与物料规格不一致,是否继续?", sXHList.TrimEnd(',')));
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
}
}
}
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
string sXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
string sXSXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim();
if (!dicDRXH.ContainsKey(sXH))
dicDRXH.Add(sXH, "1");
else
{
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
continue;
string sSYS = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLBZ"].ToString().Trim();
ShowMessage(string.Format("将导入重复明细【{0}】【{1}】,请检查是否存在相同产品对应多个物料!", sXH, sSYS));
return;
}
string sWLID = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
if (sWLID.Equals(""))
continue;
if (DicTYWL.Count > 0)
{
if (DicTYWL.ContainsKey(sWLID))
{
ShowMessage(string.Format("显示序号为[{0}]的明细记录对应物料已停用!", sXSXH));
return;
}
}
string sBJCPJLDW = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
string sWLJLDW = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
if (sWLJLDW.Equals("") || sBJCPJLDW.ToUpper().Equals(sWLJLDW.ToUpper()))
{
dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), 1);
}
else
{
Dictionary<string, double> dicJLWD = new Dictionary<string, double>();
GetJLDWList(dicJLWD, sWLID, sWLJLDW);
if (!dicJLWD.ContainsKey(sBJCPJLDW))
{
ShowMessage(string.Format("报价计量单位【{0}】与物料计量单位【{1}】未维护替代关系,请至【100812012|替代计量单位维护】模块维护!", sBJCPJLDW, sWLJLDW));
return;
}
else
{
dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), dicJLWD[sBJCPJLDW]);
}
}
}
SQL.Clear();
SQL.Add("select XLXSBJD_BJSM,XLXSBJD_BJRQ,XLXSBJD_ZJE,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_WHRID,XLXSBJD_WHR,XLXSBJD_WHSJ,XLXSBJD_BJFLID,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER,XLXSBJD_DOCGRPID,XLXSBJD_FJS ");
SQL.Add(" from XLXSBJD");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsBJD = dberp.OpenDataSet(SQL);
string sNextWPName = "";
try
{
dberp.BeginTrans();
if (dsBJD.Tables[0].Rows.Count > 0)
{
#region 插入主表
SQL.Clear();
SQL.Add("insert into BJD(BJD_BJDID,BJD_TBID,BJD_BJDMS,BJD_KHID,BJD_LXR,BJD_BJRQ,BJD_BMID,BJD_TXY,BJD_FKFS,");
SQL.Add(" BJD_ZJE,BJD_HBID,BJD_HL,BJD_QRRQ,BJD_BZ,BJD_ZT,BJD_WHRID,BJD_WHR,BJD_WHSJ,");
SQL.Add(" BJD_XMID,BJD_WPID,BJD_KHMC,BJD_QRR,BJD_SJ,BJD_TEL,BJD_FAX,BJD_XSYFAX,BJD_XMJC,BJD_XMMC,BJD_BJLXID,BJD_DOCGRPID,BJD_FJS)");
SQL.Add(" values(:XLXSBJD_BJDID,:XLXSBJD_BJDID,:XLXSBJD_BJSM,:KHID,:KHLXR,:XLXSBJD_BJRQ,:XSBMID,:TSY,:FKFS,");
SQL.Add(" :XLXSBJD_ZJE,:HBID,:HL,:QRRQ,:XLXSBJD_BZ,:ZT,:XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ,");
SQL.Add(" :XMID,'ZZZZ',:KHMC,:QRR,:TXYDH,:LXRDH,:LXRCZ,:TXYCZ,:XMJC,:XMMC,:BJLXID,:DOCGRPID,:FJS )");
double dDOCGRPID = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_DOCGRPID"].ToString().Trim());
double dFJS = 0;
double dDOCID = 0;
if (dDOCGRPID > 0)
{
dFJS = CMISproConvert.StrToFloat(dsBJD.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;
}
SQL.ParamByName("XLXSBJD_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJD_BJSM").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BJSM"].ToString().Trim(), 40);
SQL.ParamByName("KHID").Value = txtKHID.Text.Trim();
SQL.ParamByName("KHLXR").Value = txtLXR.Text.Trim();
SQL.ParamByName("XLXSBJD_BJRQ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
SQL.ParamByName("XSBMID").Value = cbxXSBMID.SelectedValue.Trim();
SQL.ParamByName("TSY").Value = txtTXY.Text.Trim();
SQL.ParamByName("FKFS").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_FKSM"].ToString().Trim(), 250);
SQL.ParamByName("XLXSBJD_ZJE").Value = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString());
SQL.ParamByName("HBID").Value = sHBID;
SQL.ParamByName("HL").Value = fHL;
SQL.ParamByName("QRRQ").Value = DateTime.Now.ToShortDateString();
SQL.ParamByName("XLXSBJD_BZ").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BZ"].ToString().Trim(), 250);
SQL.ParamByName("ZT").Value = "F";//F|反馈
SQL.ParamByName("XLXSBJD_WHRID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHRID"].ToString().Trim();
SQL.ParamByName("XLXSBJD_WHR").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHR"].ToString().Trim();
SQL.ParamByName("XLXSBJD_WHSJ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHSJ"].ToString().Trim();
SQL.ParamByName("XMID").Value = txtGCXM.Text.Trim();
SQL.ParamByName("KHMC").Value = txtKHMC.Text.Trim();
SQL.ParamByName("QRR").Value = tSession.UserName;
SQL.ParamByName("TXYDH").Value = txtTXYDH.Text.Trim();
SQL.ParamByName("LXRDH").Value = txtLXRDH.Text.Trim();
SQL.ParamByName("LXRCZ").Value = txtLXRCZ.Text.Trim();
SQL.ParamByName("TXYCZ").Value = txtTXYCZ.Text.Trim();
SQL.ParamByName("XMJC").Value = txtXMJC.Value.Trim();
SQL.ParamByName("XMMC").Value = txtXMMC.Text.Trim();
SQL.ParamByName("BJLXID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
SQL.ParamByName("DOCGRPID").Value = dDOCID;
SQL.ParamByName("FJS").Value = dFJS;
dberp.ExecSQL(SQL);
#endregion
#region 插入明细
int iCFXH = 0;
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
SQL.Clear();
SQL.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_XLXSBJXSSX,BJDMX_WLID,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,");
SQL.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC,BJDMX_WLMCGG, ");
SQL.Add(" BJDMX_DZSC,BJDMX_BJWS,BJDMX_JG,BJDMX_KHJG,BJDMX_KHJE,BJDMX_JGBJG) ");
SQL.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:XLXSBJDMX_XSSX,:WLID,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,");
SQL.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP,:WLMCGG, ");
SQL.Add(" :DZSC,:BJWS,:JG,:KHJG,:KHJE,:JGBJG) ");
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
iCFXH++;
SQL.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
}
else
SQL.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_XSSX").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim();
SQL.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper())
SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
else
SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
SQL.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim();
SQL.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim().Equals(""))
SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim();
else
SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim();
SQL.ParamByName("DZSC").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_DZSC"].ToString().Trim();
SQL.ParamByName("BJWS").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJWS"].ToString().Trim();
if (!pzxx.XLXSBJPZ_JGFKZD.Equals(""))
SQL.ParamByName("JG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_JGFKZD].ToString().Trim()), 4);
else
SQL.ParamByName("JG").Value = 0;
if (!pzxx.XLXSBJPZ_KHJFKZD.Equals(""))
{
SQL.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_KHJFKZD].ToString().Trim()), 4);
SQL.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_KHJFKZD].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2);
}
else
{
SQL.ParamByName("KHJG").Value = 0;
SQL.ParamByName("KHJE").Value = 0;
}
if (!pzxx.XLXSBJPZ_JGBJGFKZD.Equals(""))
SQL.ParamByName("JGBJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_JGBJGFKZD].ToString().Trim()), 4);
else
SQL.ParamByName("JGBJG").Value = 0;
dberp.ExecSQL(SQL);
}
#endregion
#region 回填XLXSBJDMX_WLID
if (!XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL.Clear();
SQL.Add(" merge into XLXSBJDMX tar ");
SQL.Add(" using ( ");
SQL.Add(" select BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID from BJDMX ");
SQL.Add(" where BJDMX_BJDID = :pBJDID ");
SQL.Add(" ) sor ");
SQL.Add(" on ( ");
SQL.Add(" sor.BJDMX_BJDID = XLXSBJDMX_BJDID ");
SQL.Add(" and sor.BJDMX_BJDXH = XLXSBJDMX_XH ");
SQL.Add(" and XLXSBJDMX_BJDID = :pBJDID ");
SQL.Add(" ) ");
SQL.Add(" when matched then update set ");
SQL.Add(" XLXSBJDMX_WLID = sor.BJDMX_WLID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" merge into XLXSBJFKCFMX tar ");
SQL.Add(" using ( ");
SQL.Add(" select BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID from BJDMX ");
SQL.Add(" where BJDMX_BJDID = :pBJDID ");
SQL.Add(" ) sor ");
SQL.Add(" on ( ");
SQL.Add(" sor.BJDMX_BJDID = XLXSBJFKCFMX_BJDID ");
SQL.Add(" and sor.BJDMX_BJDXH = XLXSBJFKCFMX_CFXH ");
SQL.Add(" and XLXSBJFKCFMX_BJDID = :pBJDID ");
SQL.Add(" ) ");
SQL.Add(" when matched then update set ");
SQL.Add(" XLXSBJFKCFMX_WLID = sor.BJDMX_WLID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
}
#endregion
#region 发送消息提醒
if (!string.IsNullOrEmpty(XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_JGPSTZRGHS))
{
SQL.Clear();
SQL.Add(@"select XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR,
XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,max(XLXSBJDMX_XH) as XLXSBJDMX_XH
from XLXSBJDMX
left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID
left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID = XLXSCLQD_JGCZBID and XLXHJGCZBML_JGCZBXH = XLXSCLQD_JGCZBXH
left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID
left join
(select min(XLGYBOM_PSSJ) as PSSJ,XLGYBOM_WLID,XLGYBOM_GYFLBM from XLGYBOM
where exists(select 1 from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_WLID = XLGYBOM_WLID)
group by XLGYBOM_WLID,XLGYBOM_GYFLBM) GYBOM
on GYBOM.XLGYBOM_WLID = XLXSBJDMX_WLID and GYBOM.XLGYBOM_GYFLBM = XLJGCZBML_GYFLBM
where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_ZB in('P','Y') and (XLJGCZBML_CZBLX = 'C' or XLJGCZBML_CZBLX = 'G')
and (isnull(PSSJ,' ') = ' ' or XLXSCLQD_WHSJ > PSSJ)
group by XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,isnull(XLJGCZBML_FZR,' ')
order by XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsJGPS = dberp.OpenDataSet(SQL);
if (dsJGPS.Tables[0].Rows.Count > 0)
{
int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_BJCPJGPS", "V_BJCPJGPS_ID", "") + 1;
SQL.Clear();
SQL.Add(@"insert into V_BJCPJGPS
(V_BJCPJGPS_ID,V_BJCPJGPS_JGCZBID,V_BJCPJGPS_JGCZBBBID,V_BJCPJGPS_JGCZBXH,V_BJCPJGPS_DRHH,V_BJCPJGPS_TIMESTAMP,V_BJCPJGPS_BJDID,V_BJCPJGPS_BJDXH,V_BJCPJGPS_WHR,V_BJCPJGPS_WHRID,V_BJCPJGPS_WHSJ)
values(:ID,:JGCZBID,:JGCZBBBID,:JGCZBXH,:DRHH,:TIMESTAMP,:BJDID,:BJDXH,:WHR,:WHRID,:WHSJ)");
string sJGCZBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBID"].ToString().Trim();
string sJGCZBBBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBBBID"].ToString().Trim();
string sXLXHIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLXHID"].ToString().Trim();
string sDYDJIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_DYDJID"].ToString().Trim();
string sXLBZIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLBZID"].ToString().Trim();
for (int i = 0; i < dsJGPS.Tables[0].Rows.Count; i++)
{
string sJGCZBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBID"].ToString().Trim();
string sJGCZBBBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBBBID"].ToString().Trim();
string sXLXHID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLXHID"].ToString().Trim();
string sDYDJID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_DYDJID"].ToString().Trim();
string sXLBZID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLBZID"].ToString().Trim();
if (!(sJGCZBIDLast.Equals(sJGCZBID) && sJGCZBBBIDLast.Equals(sJGCZBBBID) && sXLXHIDLast.Equals(sXLXHID) && sDYDJIDLast.Equals(sDYDJID) && sXLBZIDLast.Equals(sXLBZID)))
{
string sTZR = pzxx.XLXSBJPZ_JGPSTZRGHS;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXTZCZBFZR == "Y")
{
string sCZBFZR = dsJGPS.Tables[0].Rows[i]["XLJGCZBML_FZR"].ToString().Trim();
string sCZBFZRGH = TRYXX.GetRYByRYMC(sCZBFZR).GH;
string sJGPSTZRGHS = "," + pzxx.XLXSBJPZ_JGPSTZRGHS + ",";
if (!sJGCZBID.Equals("") && (sJGPSTZRGHS.Contains("," + sCZBFZRGH + ",")))
{
sTZR = sCZBFZRGH;
}
}
TMsg msg = new TMsg();
msg.MsgClass = "BJFK_JGPS";
msg.UMID = "100860046";
msg.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast);
msg.MsgUmid = 101202010;
msg.ReceiveUsers = sTZR;
msg.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]";
msg.SendMsg(tSession, tSession.UserName);
sJGCZBIDLast = sJGCZBID;
sJGCZBBBIDLast = sJGCZBBBID;
sXLXHIDLast = sXLXHID;
sDYDJIDLast = sDYDJID;
sXLBZIDLast = sXLBZID;
}
int iJGCZBXH =CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBXH"].ToString().Trim(),0);
int iDRHH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_DRHH"].ToString().Trim(),0);
int iXH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim());
SQL.ParamByName("ID").Value = VnewID;
SQL.ParamByName("JGCZBID").Value = sJGCZBID;
SQL.ParamByName("JGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("JGCZBXH").Value = iJGCZBXH;
SQL.ParamByName("DRHH").Value = iDRHH;
SQL.ParamByName("TIMESTAMP").Value = MISproUtils.GetServerTime();
SQL.ParamByName("BJDID").Value = sBJDID;
SQL.ParamByName("BJDXH").Value = iXH;
SQL.ParamByName("WHR").Value = tSession.UserName;
SQL.ParamByName("WHRID").Value = tSession.UserId;
SQL.ParamByName("WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
TMsg msg2 = new TMsg();
msg2.MsgClass = "BJFK_JGPS";
msg2.UMID = "100860046";
msg2.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast);
msg2.MsgUmid = 101202010;
msg2.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]";
msg2.ReceiveUsers = pzxx.XLXSBJPZ_JGPSTZRGHS;
msg2.SendMsg(tSession, tSession.UserName);
}
}
#endregion
#region 同步生成CS投标报价反馈记录
SQL.Clear();
SQL.Add("insert into TBBJFK(TBBJFK_TBSID, TBBJFK_BJDID, TBBJFK_BZ, TBBJFK_WHR, TBBJFK_WHRID, TBBJFK_WHSJ,TBBJFK_TBID, TBBJFK_FKRQ)");
SQL.Add(" values(' ', :pBJDID,NULL,:pWHR,:pWHRID,:pWHSJ,:pBJDID,:pFKRQ)");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHRID").Value = tSession.UserId;
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
SQL.ParamByName("pFKRQ").Value = DateTime.Now.ToShortDateString();
dberp.ExecSQL(SQL);
if (!XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL.Clear();
SQL.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE) ");
SQL.Add("select ' ',BJDMX_BJDID,row_number() over(order by BJDMX_BJDXH) as XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE ");
SQL.Add(" from BJDMX,XLXSBJDMX");
SQL.Add(" where BJDMX_BJDID=:pBJDID");
SQL.Add(" and XLXSBJDMX_BJDID=:pBJDID");
SQL.Add(" and XLXSBJDMX_XH=BJDMX_BJDXH");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
}
else
{
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
SQL.Clear();
SQL.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE) ");//TBBJFKMX_BJDH--TBBJFKMX_BJDID
SQL.Add("values ( ' ',:pBJDID,:pXH,:BJDMX_BJDXH,:XLXSBJDMX_ZB,:XLXSBJDMX_ZBSL,:XLXSBJDMX_ZBJE ) ");
SQL.ParamByName("pBJDID").Value = sBJDID;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
SQL.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
}
else
{
SQL.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
}
SQL.ParamByName("XLXSBJDMX_ZB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZB"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_ZBSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBSL"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_ZBJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBJE"].ToString().Trim();
dberp.ExecSQL(SQL);
}
}
#endregion
#region 增加XSBJLX数据表记录
string tSQL = String.Format(@"insert into XSBJLX(XSBJLX_LXID,XSBJLX_LXMC,XSBJLX_QYRQ,XSBJLX_TYRQ,XSBJLX_TYBZ,
XSBJLX_WHRID,XSBJLX_WHR,XSBJLX_WHSJ,XSBJLX_BZ)
select XLXSBJFL_BJFLID,XLXSBJFL_BJFLMC,XLXSBJFL_QYRQ,XLXSBJFL_TYRQ,XLXSBJFL_TYBZ,
'SUPERVISOR','超级用户',convert(datetime,'{0}'),'线缆销售报价同步设置'
from XLXSBJFL
where XLXSBJFL_BJFLID='{1}'
and not exists(select 1 from XSBJLX where XSBJLX_LXID=XLXSBJFL_BJFLID) ",
DateTime.Now.ToString(),
dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim());
dberp.ExecSQL(tSQL);
#endregion
#region 自动提交XLXSBJD至下一步
TWorkflow BJDWF = new TWorkflow(tSession, new System.Web.Caching.Cache());
string sWFID = dsBJD.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim();
string sWPID = dsBJD.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
double WFINST = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString());
string sAWaiter = dsBJD.Tables[0].Rows[0]["XLXSBJD_WFAWAITER"].ToString().Trim();
string sNextAwaiter = "";
int flag = 1;
//提交下一步
BJDWF.Enabled = true;
string sUser = tSession.UserId;
BJDWF.CurUserID = sUser;
BJDWF.WFInfo(sWFID, WFINST, sUser);
TWFActionParam param = new TWFActionParam();
param.sOpinion = "报价反馈自动提交";
param.sNextWFID = sWFID;
string sNWPID = "";
//---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法
TStrings wfpName = new TStrings();
wfpName.Text = BJDWF.WFGetNextWFP(sWFID, sWPID);
try
{
if (wfpName.Count > 1)
{
sNWPID = wfpName.Names(1).Trim();
}
}
catch
{
flag = 2;
}
param.sNextWPID = sNWPID;
param.sNextNotifier = "";
if (!sNWPID.Trim().Equals("ZZZZ"))
{
sNextAwaiter = BJDWF.WFGetNextAwaiter(sWFID, sNWPID);
if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250)
{
flag = 3;
}
}
else
{
//flag = 4;
sNextAwaiter = "";
}
if (flag == 1)
{
if (!sNWPID.Trim().Equals("ZZZZ"))
{
param.sNextAwaiter = "," + sNextAwaiter + ",";
}
else
{
param.sNextAwaiter = "";
}
if (!BJDWF.WFIsStopWPID(sWFID, sNWPID))
param.sWFState = TWorkflow.wfsRunning;
else
param.sWFState = TWorkflow.wfsDone;
if (BJDWF.WFWorkIsDone(sWFID, WFINST, sUser))
{
param.sWPState = TWorkflow.wpsSubmit;
}
else
{
param.sWPState = TWorkflow.wfsRunning;
}
BJDWF.WFSubmit(sWFID, WFINST, sUser, param);
BJDWF.dbe.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}' ",
BJDWF.WPID, BJDWF.Awaiter, BJDWF.Handler, BJDWF.WFInst, BJDWF.WFID, BJDWF.GetWFActionName(TWFAction.wfaSubmit), sBJDID));
sNextWPName = BJDWF.GetWPName(BJDWF.WFID, BJDWF.WPID);
}
#endregion
#region 更新报价单统计状态
XLBJDUtils.UpdateTJBZ(sBJDID, "DoBJFK");
#endregion
}
dberp.CommitTrans();
if (GetOption("BJU068").Equals("W"))
GThinking.N_PUBLIC2.HLXTUtils.DataSend(sBJDID, sBJDID, "I", "XLBJDFS");
}
catch (Exception ex)
{
ShowMessage("反馈操作出错,错误原因:" + ex);
dberp.RollbackTrans();
}
if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y")
{
#region 同步插入3版本BJD数据表
TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3");
TSQL SQL3 = new TSQL(dberp3);
try
{
dberp3.BeginTrans();
if (dsBJD.Tables[0].Rows.Count > 0)
{
#region 插入主表
SQL3.Clear();
SQL3.Add("insert into BJD(BJD_BJDID,BJD_BJDMS,BJD_KHID,BJD_LXR,BJD_BJRQ,BJD_BMID,BJD_TXY,BJD_FKFS,");
SQL3.Add(" BJD_ZJE,BJD_HBID,BJD_HL,BJD_QRRQ,BJD_BZ,BJD_ZT,BJD_WHRID,BJD_WHR,BJD_WHSJ,");
SQL3.Add(" BJD_XMID,BJD_WPID,BJD_KHMC)");
SQL3.Add(" values(:XLXSBJD_BJDID,:XLXSBJD_BJSM,:KHID,:KHLXR,:XLXSBJD_BJRQ,:XSBMID,:TSY,:FKFS,");
SQL3.Add(" :XLXSBJD_ZJE,:HBID,:HL,:QRRQ,:XLXSBJD_BZ,:ZT,:XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ,");
SQL3.Add(" :XMID,'ZZZZ',:KHMC)");
SQL3.ParamByName("XLXSBJD_BJDID").Value = sBJDID;
SQL3.ParamByName("XLXSBJD_BJSM").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BJSM"].ToString().Trim(), 40);
SQL3.ParamByName("KHID").Value = txtKHID.Text.Trim();
SQL3.ParamByName("KHLXR").Value = txtLXR.Text.Trim();
SQL3.ParamByName("XLXSBJD_BJRQ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
SQL3.ParamByName("XSBMID").Value = cbxXSBMID.SelectedValue.Trim();
SQL3.ParamByName("TSY").Value = txtTXY.Text.Trim();
SQL3.ParamByName("FKFS").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_FKSM"].ToString().Trim(), 250);
SQL3.ParamByName("XLXSBJD_ZJE").Value = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString());
SQL3.ParamByName("HBID").Value = sHBID;
SQL3.ParamByName("HL").Value = fHL;
SQL3.ParamByName("QRRQ").Value = DateTime.Now.ToShortDateString();
SQL3.ParamByName("XLXSBJD_BZ").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BZ"].ToString().Trim(), 250);
SQL3.ParamByName("ZT").Value = "F";//F|反馈
SQL3.ParamByName("XLXSBJD_WHRID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHRID"].ToString().Trim();
SQL3.ParamByName("XLXSBJD_WHR").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHR"].ToString().Trim();
SQL3.ParamByName("XLXSBJD_WHSJ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHSJ"].ToString().Trim();
SQL3.ParamByName("XMID").Value = txtGCXM.Text.Trim();
SQL3.ParamByName("KHMC").Value = txtKHMC.Text.Trim();
SQL3.ParamByName("XMJC").Value = txtXMJC.Value.Trim();
SQL3.ParamByName("XMMC").Value = txtXMMC.Text.Trim();
dberp3.ExecSQL(SQL3);
#endregion
#region 插入明细
int iCFXH = 0;
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
SQL3.Clear();
SQL3.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID,BJDMX_JG,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,");
SQL3.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC, ");
SQL3.Add(" BJDMX_KHJG,BJDMX_KHJE,BJDMX_ZBDJ) ");
SQL3.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:WLID,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,");
SQL3.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP, ");
SQL3.Add(" :KHJG,:KHJE,:XLXSBJDMX_CPBJ) ");
SQL3.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
iCFXH++;
SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
}
else
SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
//SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL3.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_CPBJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper())
SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
else
SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
SQL3.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL3.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim();
SQL3.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL3.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
SQL3.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4);
SQL3.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2);
dberp3.ExecSQL(SQL3);
}
#endregion
#region 同步生成CS投标报价反馈记录
SQL3.Clear();
SQL3.Add("insert into TBBJFK(TBBJFK_TBSID, TBBJFK_BJDH, TBBJFK_BZ, TBBJFK_WHR, TBBJFK_WHRID, TBBJFK_WHSJ)");//TBBJFK_BJDH--TBBJFK_BJDID
SQL3.Add(" values(' ', :pBJDID,NULL,:pWHR,:pWHRID,:pWHSJ)");
SQL3.ParamByName("pBJDID").Value = sBJDID;
SQL3.ParamByName("pWHR").Value = tSession.UserName;
SQL3.ParamByName("pWHRID").Value = tSession.UserId;
SQL3.ParamByName("pWHSJ").Value = DateTime.Now;
dberp3.ExecSQL(SQL3);
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
SQL3.Clear();
SQL3.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDH, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE,TBBJFKMX_ZBDJ) ");//TBBJFKMX_BJDH--TBBJFKMX_BJDID
SQL3.Add("values ( ' ',:pBJDID,:pXH,:BJDMX_BJDXH,:XLXSBJDMX_ZB,:XLXSBJDMX_ZBSL,:XLXSBJDMX_ZBJE,:TBBJFKMX_ZBDJ ) ");
SQL3.ParamByName("pBJDID").Value = sBJDID;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
SQL3.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
SQL3.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
}
else
{
SQL3.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL3.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
}
SQL3.ParamByName("XLXSBJDMX_ZB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZB"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_ZBSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBSL"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_ZBJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBJE"].ToString().Trim();
SQL3.ParamByName("TBBJFKMX_ZBDJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
dberp3.ExecSQL(SQL3);
}
#endregion
}
dberp3.CommitTrans();
}
catch (Exception ex)
{
ShowMessage("反馈操作出错,错误原因:" + ex);
dberp3.RollbackTrans();
}
#endregion
}
if (!sNextWPName.Equals(""))
ShowMessage(string.Format("报价单【{0}】反馈完成,并已自动提交至【{1}】!", sBJDID, sNextWPName));
else
ShowMessage(string.Format("报价单【{0}】反馈完成!", sBJDID));
string sJSRList = "";
SQL.Clear();
SQL.Add("SELECT DISTINCT MSGTAKEIN_USRID FROM MSGTAKEIN WHERE MSGTAKEIN_MSGCLASS = 'BJFK_WCTX' ");
DataSet dsJSR = dberp.OpenDataSet(SQL);
for (int i = 0; i < dsJSR.Tables[0].Rows.Count; i++)
{
sJSRList = sJSRList + dsJSR.Tables[0].Rows[i]["MSGTAKEIN_USRID"].ToString().Trim() + ",";
}
TMsg msg3 = new TMsg();
msg3.MsgClass = "BJFK_WCTX";
msg3.UMID = "100860046";
msg3.MsgUmid = 100384008;
msg3.MsgNumid = 100860046;
msg3.MsgContent = string.Format("报价单【{0}】反馈完成,请下单!", sBJDID);
msg3.MsgYWID = "[XLXSBJD_BJDID=" + sBJDID.Trim() + "]";
msg3.ReceiveUsers = sJSRList;
msg3.SendMsg(tSession, tSession.UserName);
if (PageParam.GetRTrimString("FromXLXSBJD").Equals("Y"))
{
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,进行连续关闭,回到报价单主界面
DialogOperationScript dos = new DialogOperationScript(this);
dos.SetCallbackArgument("WindowClose");
dos.CloseOwner();
dos.CloseSelf();
dos.Execute();
}
else
{
//使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件
DialogOperationScript dos = new DialogOperationScript(this);
//dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
}
}
//计量单位,换算系数
public static void GetJLDWList(Dictionary<string, double> sStr, string sWLID, string sWLJLDW)
{
if (!sWLJLDW.Trim().Equals(""))
{
sStr.Add(sWLJLDW.Trim(), 1);//标准计量单位,换算系数=1
DoFindJLDW(sStr, sWLID, sWLJLDW, 1);
}
}
public static void DoFindJLDW(Dictionary<string, double> sStr, string sWLID, string sJLDW, double fHSXS)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select JLDWTD_TDJLDW as JLDW,JLDWTD_HSXS as HSXS,JLDWTD_WLID from JLDWTD");
SQL.Add(" where JLDWTD_JLDW=:pJLDW");
SQL.Add(" and (JLDWTD_WLID=:pWLID or isnull(JLDWTD_WLID,' ')=' ')");
SQL.Add(" union all");
SQL.Add(" select JLDWTD_JLDW as JLDW,");
SQL.Add(" case when JLDWTD_HSXS > 0 then 1/JLDWTD_HSXS else 0 end as HSXS,");
SQL.Add(" JLDWTD_WLID from JLDWTD");
SQL.Add(" where JLDWTD_TDJLDW=:pJLDW");
SQL.Add(" and (JLDWTD_WLID=:pWLID or isnull(JLDWTD_WLID,' ')=' ')");
SQL.Add(" order by JLDW, JLDWTD_WLID desc");
SQL.ParamByName("pJLDW").Value = sJLDW;
SQL.ParamByName("pWLID").Value = sWLID;
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
//若获取的计量单位在sStr中不存在,则继续进行递归操作,否则结束,避免死循环
if (!sStr.ContainsKey(ds.Tables[0].Rows[i]["JLDW"].ToString().Trim()))
{
sStr.Add(ds.Tables[0].Rows[i]["JLDW"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["HSXS"].ToString()) * fHSXS);
DoFindJLDW(sStr, sWLID, ds.Tables[0].Rows[i]["JLDW"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["HSXS"].ToString()) * fHSXS);
}
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
protected void txtKHID_TextChanged(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select KH_MC,KH_LXR,KH_TXY");
SQL.Add(" from KH");
SQL.Add(" where KH_KHID=:pKHID");
SQL.ParamByName("pKHID").Value = txtKHID.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtKHMC.Text = ds.Tables[0].Rows[0]["KH_MC"].ToString().Trim();
if (txtLXR.Text.Trim().Equals(""))
txtLXR.Text = ds.Tables[0].Rows[0]["KH_LXR"].ToString().Trim();
if (txtTXY.Text.Trim().Equals(""))
txtTXY.Text = ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim();
}
else
txtKHMC.Text = "";
}
protected void txtLXR_TextChanged(object sender, EventArgs e)
{
if (!txtLXR.Text.Trim().Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select KH_TEL,KH_FAX");
SQL.Add(" from KH");
SQL.Add(" where KH_LXR=:pLXR");
if (!txtKHID.Text.Trim().Equals(""))
{
SQL.Add(" and KH_KHID=:pKHID");
SQL.ParamByName("pKHID").Value = txtKHID.Text.Trim();
}
SQL.Add(" order by KH_KHID");
SQL.ParamByName("pLXR").Value = txtLXR.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (txtLXRDH.Text.Trim().Equals(""))
txtLXRDH.Text = ds.Tables[0].Rows[0]["KH_TEL"].ToString().Trim();
if (txtLXRCZ.Text.Trim().Equals(""))
txtLXRCZ.Text = ds.Tables[0].Rows[0]["KH_FAX"].ToString().Trim();
}
}
}
protected void txtGCXM_TextChanged(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select GCXM_XMJC,GCXM_XMMC ");
SQL.Add(" from GCXM");
SQL.Add(" where GCXM_XMID=:pXMID");
SQL.ParamByName("pXMID").Value = txtGCXM.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtXMJC.Value = ds.Tables[0].Rows[0]["GCXM_XMJC"].ToString().Trim();
txtXMMC.Text = ds.Tables[0].Rows[0]["GCXM_XMMC"].ToString().Trim();
txtXMMC.ReadOnly = true;
}
else
{
txtXMMC.ReadOnly = false;
txtXMMC.Text = "";
txtXMJC.Value = "";
}
}
protected void txtTXY_TextChanged(object sender, EventArgs e)
{
if (!txtTXY.Text.Trim().Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XSY_BMID,XSY_SJ");
SQL.Add(" from XSY");
SQL.Add(" where XSY_TXY=:pTXY");
SQL.ParamByName("pTXY").Value = txtTXY.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
cbxXSBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
}
}
}
protected void linkKHID_Click(object sender, EventArgs e)
{
//if (!CPWLCLLYHZList.SayYes("将按当前客户名称发起新客户申请,是否继续?", txtInfo, linkKHID.ClientID, this))
// return;
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_XKHSQInfo.aspx";
tpp.AddString("KHMC", txtKHMC.Text.Trim());
OpenDialog(tpp);
}
//获取本位币
#endregion
}
}