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(); } } }