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

266 lines
12 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.MISPROAS;
namespace GThinking.N_XLXSBJ
{
public partial class CXBJD_XKHSQInfo : SingleCardBase
{
CXBJD_BJFK entity = new CXBJD_BJFK();
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();
}
SyncAttachControl();
}
#region 自定义事件
private void InitControl()
{
txtKHMC.Text = PageParam.GetRTrimString("KHMC");
}
private string GetBWB()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
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());
}
return sHBID;
}
private void SyncAttachControl()
{
this.altAttachList.DocGroupField = "KHSQ_DOCGRPID";
this.altAttachList.UpdCondition = "1<>1";
this.altAttachList.WorkTableName = "KHSQ";
this.altAttachList.AddAttachFromDocsVisible = false;
}
#endregion
protected void btnQR_Click(object sender, EventArgs e)
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KHXX where KHXX_MC='{0}'", txtKHMC.Text.Trim())))
{
ShowMessage("缺少同名的售前客户记录,不支持发起新客户申请!");
return;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_MC='{0}'", txtKHMC.Text.Trim())))
{
ShowMessage("已有同名客户记录,无允许发起新客户申请!");
return;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KHSQ where KHSQ_KHMC='{0}' and isnull(KHSQ_WPID,' ')<>'ZZZY'", txtKHMC.Text.Trim())))
{
ShowMessage("已有同名申请记录,不允许重复申请!");
return;
}
if (!TWorkflow.Utils.QYWFByWFVID("KH_KHSQ"))
{
ShowMessage("100432045|新客户申请模块工作流未启用!");
return;
}
string sKHSQDH = CMISproDataBase.GetYWBHByNY("DBERP", "KHSQ", "KHSQ_SQDH", 4);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
try
{
dberp.BeginTrans();
sql.Add("insert into KHSQ");
sql.Add("(KHSQ_SQDH, KHSQ_SQR, KHSQ_SQRQ, KHSQ_KHID, KHSQ_KHMC, KHSQ_JC, ");
sql.Add("KHSQ_YWMC, KHSQ_DZ, KHSQ_TEL, ");
sql.Add("KHSQ_FAX, KHSQ_EMAIL, KHSQ_YH, KHSQ_YHZH, ");
sql.Add("KHSQ_SH, KHSQ_FRDB, KHSQ_LXR, KHSQ_HBID, KHSQ_DQ, KHSQ_ABC, KHSQ_FL, ");
sql.Add("KHSQ_TXY, KHSQ_DJ, KHSQ_JGBID, KHSQ_KHLX, KHSQ_MGSID, KHSQ_XSLX, ");
sql.Add("KHSQ_YSLT, KHSQ_BZ, KHSQ_BGSM, KHSQ_ZKL, KHSQ_ZIP, KHSQ_ZJM,KHSQ_ZKFS, ");
sql.Add("KHSQ_YSQX, KHSQ_WHR, KHSQ_WHRID, KHSQ_WHSJ, ");
sql.Add("KHSQ_DOCGRPID, KHSQ_FJS, KHSQ_MOBILE, KHSQ_KPDWID, ");
sql.Add("KHSQ_HM, KHSQ_ZCZB, KHSQ_ZCRQ, KHSQ_KHDJID, ");
sql.Add("KHSQ_KHQYLX, KHSQ_HYID, KHSQ_TYSHXYDM, KHSQ_SJZB, KHSQ_JYFW, KHSQ_CBRS, KHSQ_SCFS) ");
sql.Add("select top 1 :KHSQ_SQDH,:KHSQ_SQR, :KHSQ_SQRQ, :KHSQ_KHID, :KHSQ_KHMC, :KHSQ_JC,");
sql.Add("' ', :pDZ,case when isnull(KHXX_DHQH,' ')=' ' then KHXX_ZJHM ");
sql.Add("when isnull(KHXX_DHQH,' ')<>' ' then ltrim(rtrim(KHXX_DHQH))||'-'||ltrim(rtrim(KHXX_ZJHM)) end as TEL, ");
sql.Add("KHXX_CZHM, KHXX_DZYJ, ' ', ' ', ");
sql.Add(" :pSH, ' ', ' ', :KHSQ_HBID, KHDQ_DQID, ' ',KHXX_FLID, ");
sql.Add("KHXX_FZR, 'N', ' ', 'G', :KHSQ_MGSID, 'S', ");
sql.Add("0, ' ', '根据售前客户申请', 0, KHXX_YZBM, :KHSQ_ZJM, ' ', ");
sql.Add("0, :KHSQ_WHR, :KHSQ_WHRID, :KHSQ_WHSJ, ");
sql.Add(":pDOCGRPID, :pFJS, ' ', :KHSQ_KPDWID, ");
sql.Add("' ', 0, :KHSQ_ZCRQ, ' ', ");
sql.Add("KHXX_LX, KHXX_SSHY, ' ', 0, KHXX_YWJS, 0, 'S' ");
sql.Add(" from KHXX ");
sql.Add(" left join KHDQ on KHDQ_XZQHID=KHXX_XZQH and KHDQ_MJBZ='Y' ");
sql.Add(" where KHXX_MC=:pKHMC ");
sql.ParamByName("KHSQ_SQDH").Value = sKHSQDH;
sql.ParamByName("KHSQ_SQR").Value = tSession.UserName;
sql.ParamByName("KHSQ_SQRQ").Value = DateTime.Now.ToShortDateString();
sql.ParamByName("KHSQ_KHID").Value = "";
sql.ParamByName("KHSQ_KHMC").Value = txtKHMC.Text.Trim();
sql.ParamByName("KHSQ_JC").Value = XLBJDUtils.SubStringFunc(txtKHMC.Text.Trim(), 30);
sql.ParamByName("KHSQ_HBID").Value = GetBWB();
sql.ParamByName("KHSQ_MGSID").Value = sql.ParamByName("KHSQ_KHID").Value;
sql.ParamByName("KHSQ_ZJM").Value = CMISproConvert.ConvertZJM(txtKHMC.Text.Trim());
sql.ParamByName("KHSQ_WHR").Value = tSession.UserName;
sql.ParamByName("KHSQ_WHRID").Value = tSession.UserId;
sql.ParamByName("KHSQ_WHSJ").Value = DateTime.Now;
sql.ParamByName("KHSQ_KPDWID").Value = sql.ParamByName("KHSQ_KHID").Value;
sql.ParamByName("KHSQ_ZCRQ").Value = DateTime.Now.ToShortDateString();
sql.ParamByName("pKHMC").Value = txtKHMC.Text.Trim();
sql.ParamByName("pSH").Value = txtSH.Text.Trim();
sql.ParamByName("pDZ").Value = txtDZ.Text.Trim();
double dDOCGRPID = this.altAttachList.DocGroupId;
double dFJS = 0;
if (dDOCGRPID != 0)
{
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID);
dFJS = docFileInfo.Length;
}
sql.ParamByName("pDOCGRPID").Value = dDOCGRPID;
sql.ParamByName("pFJS").Value = dFJS;
dberp.ExecSQL(sql);
//增加工作流数据
TWorkflow awf = new TWorkflow(tSession, null);
awf.UMID = 100432045;//KH8-100432045|新客户申请
awf.CurUserID = tSession.UserId;
awf.WFNewInst(awf.GetWFID("KH_KHSQ"), tSession.UserId);
dberp.ExecSQL(string.Format("update KHSQ set KHSQ_WPID='{0}', KHSQ_WFAWAITER='{1}', KHSQ_WFHANDLER='{2}' ,KHSQ_WFINST={3},KHSQ_WFID='{4}',KHSQ_ACTNAME='{5}' where KHSQ_SQDH='{6}' ",
awf.WPID, awf.Awaiter, awf.Handler, awf.WFInst, awf.WFID, awf.GetWFActionName(TWFAction.wfaNewInst), sKHSQDH));
#region 提交下一步
string sWFID = awf.WFID;
double fWFINST = awf.WFInst;
string sCurWPID = awf.WPID;
//取下一步事务号
string sNextWPID = string.Empty;
string sNextWPNAME = string.Empty;
string sNextAwaiter = string.Empty;
bool bTJBZ = false;
TStrings wfpName = new TStrings();
wfpName.Text = awf.WFGetNextWFP(sWFID, sCurWPID);
if (wfpName.Count > 1)
{
sNextWPID = wfpName.Names(1).Trim();
sNextWPNAME = wfpName.Values(sNextWPID);
}
if (!sNextWPID.Trim().Equals(""))
{
awf.CurUserID = tSession.UserId;
TWFActionParam param = new TWFActionParam();
param.sNextWFID = sWFID;
param.sNextWPID = sNextWPID;
param.sNextNotifier = "";
awf.WFInfo(sWFID, fWFINST, awf.CurUserID);
if (!sNextWPID.Trim().Equals("ZZZZ"))
{
param.sNextAwaiter = awf.WFGetNextAwaiter(sWFID, sNextWPID);
sNextAwaiter = awf.UserInfo.GetUserNames(param.sNextAwaiter);
if (param.sNextAwaiter.Trim().Equals("") || param.sNextAwaiter.Trim().Length > 250)
bTJBZ = false;
else
bTJBZ = true;
}
else
param.sNextAwaiter = "";
if (bTJBZ)
{
param.sOpinion = "";
if (!awf.WFIsStopWPID(sWFID, sNextWPID))
param.sWFState = TWorkflow.wfsRunning;
else
param.sWFState = TWorkflow.wfsDone;
if (awf.WFWorkIsDone(sWFID, fWFINST, awf.CurUserID))
{
param.sWPState = TWorkflow.wpsSubmit;
}
else
{
param.sWPState = TWorkflow.wfsRunning;
}
awf.WFSubmit(sWFID, fWFINST, awf.CurUserID, param);
dberp.ExecSQL(string.Format("update KHSQ set KHSQ_WPID='{0}', KHSQ_WFAWAITER='{1}', KHSQ_WFHANDLER='{2}' ,KHSQ_WFINST={3},KHSQ_WFID='{4}',KHSQ_ACTNAME='{5}' where KHSQ_SQDH='{6}' ",
awf.WPID, awf.Awaiter, awf.Handler, awf.WFInst, awf.WFID, awf.GetWFActionName(TWFAction.wfaNewInst), sKHSQDH));
}
}
#endregion
//dberp.ExecSQL(string.Format("update KHXX set KHXX_YKHID='{0}' where KHXX_MC='{1}'", "", txtKHMC.Text.Trim()));
dberp.CommitTrans();
if (bTJBZ)
ShowMessage("已生成【100432045|新客户申请】记录并提交给【" + sNextAwaiter + "】" + sNextWPNAME + "!");
else
ShowMessage("已生成【100432045|新客户申请】记录!");
}
catch (Exception ex)
{
ShowMessage("发起申请失败,原因:" + ex);
dberp.RollbackTrans();
return;
}
ShowMessage("申请成功!");
DialogOperationScript dos = new DialogOperationScript(this);
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
}
}