| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269 |
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using YTSoft.BaseCallCenter.Model;
- using YTSoft.BaseCallCenter.MVCWeb.Models;
- using YTSoft.Common;
- namespace YTSoft.BaseCallCenter.MVCWeb.Controllers
- {
- public class OrderController : BaseController
- {
- BLL.T_Call_CallRecords recordBLL = new BLL.T_Call_CallRecords();
- //工单信息
- BLL.T_Wo_WorkOrderBase orderBLL = new BLL.T_Wo_WorkOrderBase();
- //客户信息
- BLL.T_Cus_CustomerBase cusBLL = new BLL.T_Cus_CustomerBase();
- //部门表
- BLL.T_Sys_Department deptBll = new BLL.T_Sys_Department();
- //转单通知
- BLL.T_Wo_WorkOrderNotice noticeBLL = new BLL.T_Wo_WorkOrderNotice();
- //用户表
- BLL.T_Sys_UserAccount userBll = new BLL.T_Sys_UserAccount();
- //历史工单表
- BLL.T_Wo_WorkOrderHistory historyBll = new BLL.T_Wo_WorkOrderHistory();
- int rxzhj = 0;
- int wxzhj = 0;
- int wbzhj = 0;
- #region 待处理
- /// <summary>
- /// 获取待办工单 新
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderWaitList(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 我的待办工单
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyWaitData")]
- [HttpGet]
- public string WorkOrderMyWaitData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- // string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID={0} AND F_OPTDATE= (select TOP 1 F_OPTDATE from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) )", F_UserID);
- string sql = "";
- //9.29注释
- //sql = " and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and ( F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID='" + F_UserID + "' AND CONVERT(CHAR(20), F_OPTDATE, 120)= (select TOP 1 CONVERT(CHAR(20), F_OPTDATE, 120) from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) OR F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID = 1 and F_OPTUSERID = '" + F_UserID + "' AND ReplayTime IS NOT NULL )) )";
- sql = " and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and ( F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_StateName='未处理' and F_OPTUSERID='" + F_UserID + "' OR F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID = 1 and F_OPTUSERID = '" + F_UserID + "' AND ReplayTime IS NOT NULL )) )";
- //datatype = "可撤回";
- //if (datatype != "可撤回")
- //{
- //9.2号注释 sql = " and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and ( F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID='" + F_UserID + "' AND F_OPTDATE= (select TOP 1 F_OPTDATE from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) OR F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID = 1 and F_OPTUSERID = '" + F_UserID + "' AND ReplayTime IS NOT NULL )) )";
- //}
- //else
- //{
- // sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=3 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID={0})", F_UserID);
- //}
- // string sql = " and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and ( F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID='"+F_UserID+ "' AND F_OPTDATE= (select TOP 1 F_OPTDATE from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) OR F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID = 1 and F_OPTUSERID = '"+F_UserID+"' AND ReplayTime IS NOT NULL )) )";
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + string.Format(",(select top 1 F_HISTORYID from T_Wo_WorkOrderHistory where F_INSTANCEID=F_WORKORDERID and F_WORKORDERSTATEID=0 and F_OPTUSERID={0} Order by F_OPTDATE desc) AS F_HISTORYID", F_UserID)
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 二级单位处理完成提交处理信息
- /// </summary>
- /// <param name="workOrderBaseModel"></param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Post)]
- public bool SubmitOrder(T_Wo_WorkOrderHistory workOrderBaseModel )
- {
- AddAction("t_wo_workorderhistory", workOrderBaseModel.F_HISTORYID.ToMyString(), "提交工单", "数据:" + JsonConvert.SerializeObject(workOrderBaseModel), "关键信息");
- AddAction("t_wo_workorderhistory", workOrderBaseModel.F_HISTORYID.ToMyString(), "部门提交工单", workOrderBaseModel.F_INSTANCEID.ToMyString());
- return orderBLL.SubmitOrder(workOrderBaseModel);
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="workOrderBaseModel"></param>
- /// <returns></returns>
- public int WorkOrderMyWaitDataCount()
- {
- string sql = string.Format(" F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=0 and F_OPTUSERID={0})", F_UserID);
- return orderBLL.GetRecordCount(sql);
- }
- #endregion
- #region 待回访
- /// <summary>
- /// 获取待回访工单
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyListHF(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 全媒体客服处理回访
- /// </summary>
- /// <param name="workOrderBaseModel"></param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Post)]
- public bool SubmitOrderHF(T_Wo_WorkOrderBase workOrderBaseModel)
- {
- AddAction("t_wo_workorderbase", workOrderBaseModel.F_WORKORDERID.ToMyString(), "回访提交工单", workOrderBaseModel.F_CODE);
- AddAction("t_wo_workorderbase", workOrderBaseModel.F_WORKORDERID.ToMyString(), "回访提交工单", "数据:" + JsonConvert.SerializeObject(workOrderBaseModel), "关键信息");
- return orderBLL.SubmitOrderHF(workOrderBaseModel);
- }
- /// <summary>
- /// 待回访工单
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataHF")]
- [HttpGet]
- public string WorkOrderMyDataHF(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=0 and F_OPTUSERID={0})", F_UserID);
- string sql = string.Format(" and F_WORKORDERSTATEID=3 and F_UserId={0}", F_UserID);
-
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- public int WorkOrderMyDataHFCount()
- {
- string sql = string.Format(" F_WORKORDERSTATEID=3 and F_UserId={0}", F_UserID);
- return orderBLL.GetRecordCount(sql);
- }
- #endregion
- #region 待定责
- public string DZDeptList(int workid)
- {
- DataTable dt = null;
- DataSet ds = historyBll.GetListDZ(string.Format(" F_INSTANCEID={0} ", workid));
- if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
- {
- dt = ds.Tables[0];
- }
- ResponseData dataModel = new ResponseData();
- dataModel.code = 0;
- dataModel.count = 0;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 定责视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyListDZ(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 录入定责结果
- /// </summary>
- /// <param name="workOrderBaseModel"></param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Post)]
- public bool SubmitOrderDZ(T_Wo_WorkOrderNoticeInput modelinput)
- {
- if (modelinput.orderid == 0)
- {
- return false;
- }
- #region 处理工单事件分类
- Model.T_Wo_WorkOrderBase modelorder =orderBLL.GetModel(modelinput.orderid);
- modelorder.F_PROVINCE = modelinput.ClassName1;
- modelorder.F_CITY = modelinput.ClassName2;
- modelorder.F_AREA = modelinput.ClassName3;
- modelorder.F_SERVICENATURE = modelinput.F_SERVICENATURE;
- modelorder.F_SERVICETYPE = modelinput.F_SERVICETYPE;
- #endregion
- int DZNumber=noticeBLL.updatenum(modelinput.orderid);
- if (string.IsNullOrEmpty(modelinput.DeptIds)&&false)
- {
- #region 通知 定责相关处理部门
- if (modelorder.F_WORKORDERTYPEID == 1)
- {
- List<T_Wo_WorkOrderHistory> modelhisList = historyBll.GetModelList(string.Format(" F_INSTANCEID={0}", modelinput.orderid));
- if (modelhisList.Count > 0)
- {
- Dictionary<int, string> dict = new Dictionary<int, string>() { };
- foreach (T_Wo_WorkOrderHistory modelhis in modelhisList)
- {
- if (dict.ContainsKey(modelhis.F_OPTBTNID.ToInt32()))
- {
- continue;
- }
- T_Wo_WorkOrderNotice modeladd = new T_Wo_WorkOrderNotice();
- modeladd.OrderId = modelinput.orderid;
- modeladd.DealAdvise = modelinput.F_SERVICETYPE;
- modeladd.DealResult = modelinput.F_SERVICENATURE;
- modeladd.Class1 = modelorder.F_PROVINCE;
- modeladd.Class2 = modelorder.F_CITY;
- modeladd.Class3 = modelorder.F_AREA;
- modeladd.DZNumber = DZNumber;
- modeladd.NoticeState = 1;
- modeladd.NoticeType = 1;
- modeladd.Userid = F_UserID;
- modeladd.Username = F_UserName;
- modeladd.NoticeUserid = modelhis.F_OPTUSERID.ToInt32();
- modeladd.NoticeUsername = modelhis.F_UserName;
- modeladd.NoticeDeptId = modelhis.F_OPTBTNID.ToInt32();
- modeladd.NoticeDeptName = modelhis.F_NEXTOWNERARRID;
- modeladd.NoticeDeptContent = modelhis.F_NEXTOWNERARRID + " 调查情况:\n";
- modeladd.NoticeDeptAdvise = modelhis.F_NEXTOWNERARRID + " 处理意见和整改措施:\n";
- foreach (T_Wo_WorkOrderHistory modelhistemp in modelhisList)
- {
- if (string.IsNullOrEmpty(modelhistemp.F_REMARK))
- {
- continue;
- }
- int tempint = modelhistemp.F_REMARK.IndexOf("|");
- if (tempint == -1)
- {
- modeladd.NoticeDeptContent += modelhistemp.F_REMARK;
- modeladd.NoticeDeptAdvise += modelhistemp.F_REMARK;
- }
- else
- {
- string[] arrystr = modelhistemp.F_REMARK.Split('|');
- modeladd.NoticeDeptContent += arrystr[0];
- modeladd.NoticeDeptContent += "\n";
- modeladd.NoticeDeptAdvise += arrystr[1];
- modeladd.NoticeDeptAdvise += "\n";
- }
- }
- dict.Add(modelhis.F_OPTBTNID.ToInt32(), "1");
- noticeBLL.Add(modeladd);
- }
- }
- }
- else
- {
- T_Wo_WorkOrderNotice modeladd = new T_Wo_WorkOrderNotice();
- modeladd.OrderId = modelinput.orderid;
- modeladd.DealAdvise = modelinput.F_SERVICETYPE;
- modeladd.DealResult = modelinput.F_SERVICENATURE;
- modeladd.Class1 = modelorder.F_PROVINCE;
- modeladd.Class2 = modelorder.F_CITY;
- modeladd.Class3 = modelorder.F_AREA;
- modeladd.DZNumber = DZNumber;
- modeladd.NoticeState = 1;
- modeladd.NoticeType = 1;
- modeladd.Userid = F_UserID;
- modeladd.Username = F_UserName;
- modeladd.NoticeUserid = modelorder.F_USERID.ToInt32();
- modeladd.NoticeUsername = modelorder.F_USERNAME;
- modeladd.NoticeDeptId = modelorder.F_DEPTID.ToInt32();
- modeladd.NoticeDeptName = modelorder.F_DEPTCODE;
- modeladd.NoticeDeptContent = modelorder.F_DEPTCODE + " 调查情况:\n";
- modeladd.NoticeDeptAdvise = modelorder.F_DEPTCODE + " 处理意见和整改措施:\n";
- if (!string.IsNullOrEmpty(modelorder.F_RETURNVISITCONTENT))
- {
- int tempint = modelorder.F_RETURNVISITCONTENT.IndexOf("|");
- if (tempint == -1)
- {
- modeladd.NoticeDeptContent += modelorder.F_RETURNVISITCONTENT;
- modeladd.NoticeDeptAdvise += modelorder.F_RETURNVISITCONTENT;
- }
- else
- {
- string[] arrystr = modelorder.F_RETURNVISITCONTENT.Split('|');
- modeladd.NoticeDeptContent += arrystr[0];
- modeladd.NoticeDeptContent += "\n";
- modeladd.NoticeDeptAdvise += arrystr[1];
- modeladd.NoticeDeptAdvise += "\n";
- }
- }
- noticeBLL.Add(modeladd);
- }
- #endregion
- }
- #region 通知 自选部门
- if (!string.IsNullOrEmpty(modelinput.DeptIds))
- {
- List<T_Sys_Department> modelhisList = deptBll.GetModelList(string.Format(" F_DeptId in ({0})", modelinput.DeptIds));
- if (modelhisList.Count > 0)
- {
- foreach (T_Sys_Department modeldept in modelhisList)
- {
- T_Wo_WorkOrderNotice modeladd = new T_Wo_WorkOrderNotice();
- modeladd.OrderId = modelinput.orderid;
- modeladd.DealAdvise = modelinput.F_SERVICETYPE;
- modeladd.DealResult = modelinput.F_SERVICENATURE;
- modeladd.Class1 = modelorder.F_PROVINCE;
- modeladd.Class2 = modelorder.F_CITY;
- modeladd.Class3 = modelorder.F_AREA;
- modeladd.DZNumber = DZNumber + 1;
- modeladd.NoticeState = 1;
- modeladd.NoticeType = 1;
- modeladd.Userid = F_UserID;
- modeladd.Username = F_UserName;
- modeladd.NoticeUserid = 0;
- modeladd.NoticeUsername = "";
- modeladd.NoticeDeptId = modeldept.F_DeptId;
- modeladd.NoticeDeptName = modeldept.F_DeptName;
- modeladd.NoticeDeptContent = "";
- modeladd.NoticeDeptAdvise = "";
- //modeladd.NoticeDeptContent = modelhis.F_NEXTOWNERARRID + " 调查情况:\n";
- //modeladd.NoticeDeptAdvise = modelhis.F_NEXTOWNERARRID + " 处理意见和整改措施:\n";
- noticeBLL.Add(modeladd);
- }
- }
- }
- #endregion
- AddAction("t_wo_workorderbase", modelorder.F_WORKORDERID.ToMyString(), "提交定责工单", modelorder.F_CODE);
- AddAction("t_wo_workorderbase", modelorder.F_WORKORDERID.ToMyString(), "提交定责工单", "数据:" + JsonConvert.SerializeObject(modelorder), "关键信息");
- return orderBLL.UpdateDZClass(modelorder);
- }
- /// <summary>
- /// 待定责列表
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataDZ")]
- [HttpGet]
- public string WorkOrderMyDataDZ(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content, int? F_RETURNVISITRESULT)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=0 and F_OPTUSERID={0})", F_UserID);
- //因为yanyanfei和马岭娜调整权限了,所以待定责和已定责改成 展示所有的
- // string sql = string.Format(" and F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL) and (F_ROAD='{0}' Or F_ROAD='' Or F_ROAD IS NULL)", F_UserID);
- string sql = string.Format(" and F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL)");
- if (F_RETURNVISITRESULT != null && F_RETURNVISITRESULT > 0)
- {
- sql += " and F_RETURNVISITRESULT =" + F_RETURNVISITRESULT;
-
- }
- //if (F_UserID == 8000)
- //{
- // sql = string.Format(" and F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL)");
- //}
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- [AcceptVerbs(HttpVerbs.Post)]
- public bool canDZ(int workid)
- {
- int n = orderBLL.GetRecordCount(string.Format("F_ROAD='{0}' AND F_WORKORDERID={1}", F_UserID, workid));
- if (n > 0)
- return true;
- else
- {
- Model.T_Wo_WorkOrderBase model = new T_Wo_WorkOrderBase();
- model.F_WORKORDERID = workid;
- model.F_ROAD = F_UserID.ToMyString();
- return orderBLL.UpdateDZuser(model);
- }
- }
- public int WorkOrderMyDataDZCount()
- {
- // string sql = string.Format(" F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL) and (F_ROAD='{0}' Or F_ROAD='' Or F_ROAD IS NULL)", F_UserID);
- string sql = " F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL)";
- return orderBLL.GetRecordCount(sql);
- }
- #endregion
- #region 已定责
- /// <summary>
- /// 已定责视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyListDZ1(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- #region
- ///// <summary>
- ///// 录入定责结果
- ///// </summary>
- ///// <param name="workOrderBaseModel"></param>
- ///// <returns></returns>
- //[AcceptVerbs(HttpVerbs.Post)]
- //public bool SubmitOrderDZ1(T_Wo_WorkOrderNoticeInput modelinput)
- //{
- // if (modelinput.orderid == 0)
- // {
- // return false;
- // }
- // #region 处理工单事件分类
- // Model.T_Wo_WorkOrderBase modelorder = new T_Wo_WorkOrderBase();
- // modelorder.F_WORKORDERID = modelinput.orderid;
- // modelorder.F_PROVINCE = modelinput.ClassName1;
- // modelorder.F_CITY = modelinput.ClassName2;
- // modelorder.F_AREA = modelinput.ClassName3;
- // #endregion
- // if (modelinput.Noticelist != null)
- // {
- // noticeBLL.updatenum(modelinput.orderid);
- // foreach (T_Wo_WorkOrderNotice model in modelinput.Noticelist)
- // {
- // T_Wo_WorkOrderNotice modeladd = new T_Wo_WorkOrderNotice();
- // #region 前端传入参数
- // modeladd.OrderId = modelinput.orderid;
- // modeladd.DealAdvise = model.DealAdvise;
- // modeladd.DealResult = model.DealResult;
- // modeladd.NoticeDeptId = model.NoticeDeptId;
- // modeladd.NoticeDeptName = model.NoticeDeptName;
- // #endregion
- // modeladd.NoticeState = 1;
- // modeladd.NoticeType = 1;
- // modeladd.Userid = F_UserID;
- // modeladd.Username = F_UserName;
- // List<T_Wo_WorkOrderHistory> modelhisList = historyBll.GetModelList(string.Format(" F_INSTANCEID={0} AND F_OPTBTNID={1}", model.OrderId, model.NoticeDeptId));
- // foreach (T_Wo_WorkOrderHistory modelhis in modelhisList)
- // {
- // modeladd.NoticeDeptContent += modelhis.F_REMARK;
- // modeladd.NoticeDeptAdvise += modelhis.F_REMARK;
- // modeladd.NoticeUserid = modelhis.F_OPTUSERID.ToInt32();
- // modeladd.NoticeUsername = modelhis.F_UserName;
- // }
- // noticeBLL.Add(modeladd);
- // }
- // }
- // return orderBLL.UpdateDZClass(modelorder);
- //}
- #endregion
- /// <summary>
- /// 已定责列表
- /// </summary>
- /// <param name="F_RETURNVISITRESULT">满意度</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataDZ1")]
- [HttpGet]
- public string WorkOrderMyDataDZ1(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content,int? F_RETURNVISITRESULT)
- {
- bussType = 3;
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=0 and F_OPTUSERID={0})", F_UserID);
- string sql = "";
- //if (F_RoleID != 17)
- //{
- // sql = string.Format(" and F_WORKORDERSTATEID=5 and F_HOUSING='投诉' and F_REPAIRREQUEST='已定责' and F_ROAD='{0}' ", F_UserID);
- //}
- //else
- //{
- sql = string.Format(" and F_WORKORDERSTATEID=5 and F_HOUSING='投诉' and F_REPAIRREQUEST='已定责'");
- //}
- //满意度
- if (F_RETURNVISITRESULT>0)
- {
- sql += " and F_RETURNVISITRESULT ="+ F_RETURNVISITRESULT ;
- }
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 已处理建议
- /// <summary>
- /// 已处理建议视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyListJY(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 获取建议工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataJY")]
- [HttpGet]
- public string WorkOrderMyDataJY(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber, string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = " and F_WORKORDERSTATEID=5 and F_HOUSING='建议' ";
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and t.F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- #region
- //状态 F_WORKORDERSTATEID 0未处理 1处理中 2已办结(结束) 3待回访 4待定责 5已定责
- //if (status != null)
- //{
- // sql += " and t.F_WORKORDERSTATEID =" + status;
- //}
- #endregion
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and t.F_CONTENT like '%" + Content.Trim() + "%'";
- }
- #region
- ////处理方式 F_WORKORDERTYPEID 处理方式 1转单 3客服处理
- //if (GoType != null && GoType > 0)
- //{
- // sql += " and t.F_WORKORDERTYPEID =" + GoType;
- //}
- ////接入渠道 1语音 2留言 3微信 4微博
- //if (FromType != null && FromType > 0)
- //{
- // sql += " and t.F_REPAIRMANID =" + FromType;
- //}
- #endregion
- //查询按钮
- if (types == 0 || types == null)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- //string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- //string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- //sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- //sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //一天按钮
- else if (types == 4)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- string tableNew = "(select DISTINCT t.* from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId ) as t";
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- tableNew,
- "F_WORKORDERID",
- " t.*,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 相关通知
- /// <summary>
- /// 已定责视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyListNotice(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 相关表扬
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataNotice")]
- [HttpGet]
- public string WorkOrderMyDataNotice(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content, int NoticeType)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=0 and F_OPTUSERID={0})", F_UserID);
- string sql = string.Format(" and F_WORKORDERTYPEID=3 and F_WORKORDERSTATEID in (2,5) and T2.NoticeDeptId={0} AND NoticeType={1} AND NoticeState=1", F_DeptId, NoticeType);
- if (NoticeType == 1)
- {
- sql = string.Format(" and F_HOUSING='投诉' and F_WORKORDERSTATEID=5 and T2.NoticeDeptId={0} AND NoticeType={1} AND NoticeState=1", F_DeptId, NoticeType);
- }
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- //if (F_UserName == "闫艳飞")
- //{
- // sql += " and F_CREATEDATE>=' 2021-06-21 00:00:00'";
- //}
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- //if (F_UserName == "闫艳飞")
- //{
- // sql += " and F_CREATEDATE>=' 2021-06-21 00:00:00'";
- //}
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- //if (F_UserName == "闫艳飞")
- //{
- // sql += " and F_CREATEDATE>=' 2021-06-21 00:00:00'";
- //}
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- //if (F_UserName == "闫艳飞")
- //{
- // sql += " and F_CREATEDATE>=' 2021-06-21 00:00:00'";
- //}
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetTableList(
- " T_Wo_WorkOrderBase T1 Inner join T_Wo_WorkOrderNotice T2 On T1.F_WORKORDERID=T2.OrderId ",
- "F_WORKORDERID",
- "T1.*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew,NoticeDeptId,NoticeDeptName"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- " F_CREATEDATE desc",
- limit,
- page,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 超时工单
- /// <summary>
- /// 视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult OverOrderView(int dtype=0)
- {
- CallScreenModel callScreenModel = new CallScreenModel();
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- //业务类型字典表
- callScreenModel.GoTypeModelList = GetCodeType("CLFS");
- //话务标志
- callScreenModel.SeatFlag = F_SeatFlag;
- //1、所有工单页面2、工单编辑页面
- callScreenModel.OrderType = 1;
- return View(callScreenModel);
- }
- /// <summary>
- /// 超时工单列表 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("OverOrderData")]
- [HttpGet]
- public string OverOrderData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber, string userInfo, int? status, int? bussType, int? detailType, string Content, int? GoType, int? FromType,int? overtime)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = " AND t.F_OVERTIMES>0 AND t.F_HOUSING IN ('投诉','建议','咨询')";
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and t.F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //状态 F_WORKORDERSTATEID 0未处理 1处理中 2已办结
- if (status != null)
- {
- sql += " and t.F_WORKORDERSTATEID =" + status;
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + detailType;
- }
- #region
- //定责次数
- //if (F_HASTENCOUNTS != null)
- //{
- // if (F_HASTENCOUNTS == 0)
- // {
- // sql += " AND (t.F_HASTENCOUNTS is null OR t.F_HASTENCOUNTS =0) ";
- // }
- // else
- // {
- // sql += " AND t.F_HASTENCOUNTS >0 ";
- // }
- //}
- #endregion
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and t.F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //处理方式 F_WORKORDERTYPEID 处理方式 1转单 3客服处理
- if (GoType != null && GoType > 0)
- {
- sql += " and t.F_WORKORDERTYPEID =" + GoType;
- }
- //接入渠道 1语音 2留言 3微信 4微博
- if (FromType != null && FromType > 0)
- {
- sql += " and t.F_REPAIRMANID =" + FromType;
- }
- //查询按钮
- if (types == 0 || types == null)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //一天按钮
- else if (types == 4)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- // string tableNew = string.Format("(select DISTINCT t.* from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId where (u.F_DeptId={0} OR h.F_OPTBTNID={0})) as t", F_DeptId);
-
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase as t",
- // tableNew,
- "F_WORKORDERID",
- " t.*,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew,CONVERT(VARCHAR(10),F_OVERTIMES/3600)+'时'+CONVERT(VARCHAR(10),F_OVERTIMES%3600/60)+'分'+CONVERT(VARCHAR(10),F_OVERTIMES%3600%60)+'秒' AS F_OVERTIME"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 全部工单
- /// <summary>
- /// 获取所有工单信息
- /// </summary>
- /// <returns></returns>
- public ActionResult WorkOrderAllList(int? orderType)
- {
- CallScreenModel callScreenModel = new CallScreenModel();
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- //业务类型字典表
- callScreenModel.GoTypeModelList = GetCodeType("CLFS");
- //话务标志
- callScreenModel.SeatFlag = F_SeatFlag;
- //1、所有工单页面2、工单编辑页面
- if (orderType != null && orderType > 0)
- {
- callScreenModel.OrderType = int.Parse(orderType.ToString());
- }
- else
- {
- callScreenModel.OrderType = 1;
- }
- return View(callScreenModel);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderAllData")]
- [HttpGet]
- public string WorkOrderAllList(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber, string userInfo, int? status, int? bussType, int? detailType, string Content, int? GoType, int? FromType, int? F_HASTENCOUNTS,int? turnout)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = "";
- //未按时转出
- if (turnout.ToInt32() > 0)
- {
- sql += " and t.turntime =0 ";
- }
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and t.F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //状态 F_WORKORDERSTATEID 0未处理 1处理中 2已办结(结束) 3待回访 4待定责 5已定责
- if (status != null)
- {
- if (status == 6)
- {
- sql += " and t.F_WORKORDERSTATEID =5 and t.F_REPAIRREQUEST='已定责'";
- }
- else if (status == 5)
- {
- sql += " and t.F_WORKORDERSTATEID =5 and t.F_REPAIRREQUEST='已处理'";
- }
- else
- {
- sql += " and t.F_WORKORDERSTATEID =" + status;
- }
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + detailType;
- }
- #region
- //定责次数
- //if (F_HASTENCOUNTS != null)
- //{
- // if (F_HASTENCOUNTS == 0)
- // {
- // sql += " AND (t.F_HASTENCOUNTS is null OR t.F_HASTENCOUNTS =0) ";
- // }
- // else
- // {
- // sql += " AND t.F_HASTENCOUNTS >0 ";
- // }
- //}
- #endregion
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and t.F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //处理方式 F_WORKORDERTYPEID 处理方式 1转单 3客服处理
- if (GoType != null && GoType > 0)
- {
- sql += " and t.F_WORKORDERTYPEID =" + GoType;
- }
- //接入渠道 1语音 2留言 3微信 4微博
- if (FromType != null && FromType > 0)
- {
- sql += " and t.F_REPAIRMANID =" + FromType;
- }
- //查询按钮
- if (types == 0 || types == null)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一年按钮
- else if (types == 3)
- {
-
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //一天按钮
- else if (types == 4)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //string tableNew = "(select DISTINCT t.* ";
- //tableNew += ", case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END AS turntime ";
- //tableNew += " from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId";
- //tableNew += " ) as t";
- //string tableNew = "(select t.F_WORKORDERID ,t.F_RETURNVISITCONTENT as oldF_RETURNVISITCONTENT,t. F_WORKORDERTYPEID,t. F_WORKORDERSTATEID,t. F_CODE,t. F_WORKORDERNAME,t. F_NUMBER,t. F_CUSTOMERNAME,t. F_CUSTOMERTELEPHONE,t. F_LINKMAN,t. F_LINKMANTELEPHONE,t. F_ADSLACCOUNT,t. F_BANDWIDTH,t. F_STANDARDADDRESS,t. F_INSTALLADDRESS,t. F_KSHADDRESSCODE,t. F_PROVINCE,t. F_CITY,t. F_AREA,t. F_ROAD,t. F_HOUSING,t. F_WORKORDERFROM,t. F_WORKORDERLEVELID,t. F_FILEFLAG,t. F_CONTENT,t. F_CREATEBY,t. F_CREATEDATE,t. F_DEPTCODE,t. F_EMPCODE,t. F_DEPTID,t. F_USERID,t. F_USERNAME,t. F_RETURNVISITFLAG,t. F_RETURNVISITSTATE,t. F_RETURNVISITRESULT ,t. F_DELETEFLAG,t. F_ALLUSETIMES,t. F_STARTTIME,t. F_ENDTIME,t. F_REMAINDERTIME,t. F_REMAINDERENDTIME,t. F_SUBSCRIBETIME1,t. F_SUBSCRIBETIME2,t. F_ACCEPTTIMELIMIT,t. F_ASKFINISHTIME,t. F_OVERTIMES,t. F_FORMID,t. F_HASTENCOUNTS,t. F_RANGEID,t. F_RANGEX,t. F_RANGEY,t. F_INSTANCEID,t. F_CUSTOMERID,t. F_REPAIRMANID,t. F_REPAIRMANNAME,t. F_REPAIRMANPHONE,t. F_REPAIRREQUEST,t. F_REPAIRCLOSEMANID,t. F_REPAIRCLOSEMANNAME,t. F_REPAIRCLOSEREASONS,t. F_REPAIRCLOSEREPTID,t. F_REPAIRCLOSEREPT,t. F_REPAIRLEVEL,t. F_REPAIRLEVELNAME,t. F_SENTORDERTIME,t. F_USERPHONE,t. F_RETURNVISITTIME,t. F_REQUESTSERVICETIME,t. F_SERVICETYPE,t. F_DECLARATIONTIME,t. F_SERVICENATURE,t. F_SERVICEWAY,t. F_RETURNVISITMAN,t. F_RETURNVISITID,t. F_RETURNVISITOPINION,t. F_RETURNVISITPROBLEM,t. F_CallId,t. F_CREATEBYids ";
- //tableNew += ",(case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END) AS turntime ";
- //tableNew += " from T_Wo_WorkOrderBase t ";
- //tableNew += " ) as t";
- string tableNew = "(select t.F_WORKORDERID ,t.F_RETURNVISITCONTENT ,t. F_WORKORDERTYPEID,t. F_WORKORDERSTATEID,t. F_CODE,t. F_WORKORDERNAME,t. F_NUMBER,t. F_CUSTOMERNAME,t. F_CUSTOMERTELEPHONE,t. F_LINKMAN,t. F_LINKMANTELEPHONE,t. F_ADSLACCOUNT,t. F_BANDWIDTH,t. F_STANDARDADDRESS,t. F_INSTALLADDRESS,t. F_KSHADDRESSCODE,t. F_PROVINCE,t. F_CITY,t. F_AREA,t. F_ROAD,t. F_HOUSING,t. F_WORKORDERFROM,t. F_WORKORDERLEVELID,t. F_FILEFLAG,t. F_CONTENT,t. F_CREATEBY,t. F_CREATEDATE,t. F_DEPTCODE,t. F_EMPCODE,t. F_DEPTID,t. F_USERID,t. F_USERNAME,t. F_RETURNVISITFLAG,t. F_RETURNVISITSTATE,t. F_RETURNVISITRESULT ,t. F_DELETEFLAG,t. F_ALLUSETIMES,t. F_STARTTIME,t. F_ENDTIME,t. F_REMAINDERTIME,t. F_REMAINDERENDTIME,t. F_SUBSCRIBETIME1,t. F_SUBSCRIBETIME2,t. F_ACCEPTTIMELIMIT,t. F_ASKFINISHTIME,t. F_OVERTIMES,t. F_FORMID,t. F_HASTENCOUNTS,t. F_RANGEID,t. F_RANGEX,t. F_RANGEY,t. F_INSTANCEID,t. F_CUSTOMERID,t. F_REPAIRMANID,t. F_REPAIRMANNAME,t. F_REPAIRMANPHONE,t. F_REPAIRREQUEST,t. F_REPAIRCLOSEMANID,t. F_REPAIRCLOSEMANNAME,t. F_REPAIRCLOSEREASONS,t. F_REPAIRCLOSEREPTID,t. F_REPAIRCLOSEREPT,t. F_REPAIRLEVEL,t. F_REPAIRLEVELNAME,t. F_SENTORDERTIME,t. F_USERPHONE,t. F_RETURNVISITTIME,t. F_REQUESTSERVICETIME,t. F_SERVICETYPE,t. F_DECLARATIONTIME,t. F_SERVICENATURE,t. F_SERVICEWAY,t. F_RETURNVISITMAN,t. F_RETURNVISITID,t. F_RETURNVISITOPINION,t. F_RETURNVISITPROBLEM,t. F_CallId,t. F_CREATEBYids ";
- tableNew += ",(case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END) AS turntime ";
- tableNew += " from T_Wo_WorkOrderBase t ";
- tableNew += " ) as t";
- #region
- //if (F_RoleID == 17)
- //{
- // tableNew += " ) as t";
- //}
- //else
- //{
- // tableNew += string.Format(" where (u.F_DeptId ={0} OR h.F_OPTBTNID ={0})) as t", F_DeptId);
- //}
- #endregion
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- tableNew,
- "F_WORKORDERID",
- " t.*,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew"
-
- // + @" ( case WHEN t.F_WORKORDERTYPEID =1 then(select top 1 T_Wo_WorkOrderHistory.F_REMARK from T_Wo_WorkOrderHistory where T_Wo_WorkOrderHistory.F_StateName = '已处理' and T_Wo_WorkOrderHistory.F_INSTANCEID = t.F_workorderid order by T_Wo_WorkOrderHistory.F_optdate desc) WHEN t.F_WORKORDERTYPEID = 3 then t.oldF_RETURNVISITCONTENT ELSE '' end ) as F_RETURNVISITCONTENT"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
-
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 公共
- /// <summary>
- /// 获取二级业务类型
- /// </summary>
- /// <param name="deptId">业务类别</param>
- /// <returns></returns>
- public string GetBussType(int? bussnessType)
- {
- try
- {
- if (bussnessType != null && bussnessType > 0)
- {
- List<Model.T_Wo_WorkOrderType> modelList = GetWorkTypeModelList();
- return JsonConvert.SerializeObject(modelList.Where(t => t.F_WorkOrderTypeId == bussnessType).ToList()[0].WorkTypeModelList);
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- }
- return null;
- }
- /// <summary>
- /// 导出数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Post)]
- public string ExToExcel(ExToExcel paramModel)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = "";
- //工单编号
- if (!string.IsNullOrEmpty(paramModel.workorderNum))
- {
- sql += " and t.F_CODE like '%" + paramModel.workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(paramModel.cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + paramModel.cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(paramModel.phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + paramModel.phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(paramModel.userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + paramModel.userInfo.Trim() + "%'";
- }
- //状态
- if (paramModel.status != null)
- {
- sql += " and t.F_WORKORDERSTATEID =" + paramModel.status;
- }
- //业务类别
- if (paramModel.bussType != null && paramModel.bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + paramModel.bussType;
- }
- //业务类型
- if (paramModel.detailType != null && paramModel.detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + paramModel.detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(paramModel.Content))
- {
- sql += " and t.F_CONTENT like '%" + paramModel.Content.Trim() + "%'";
- }
- //处理方式
- if (paramModel.GoType != null && paramModel.GoType > 0)
- {
- sql += " and t.F_WORKORDERTYPEID =" + paramModel.GoType;
- }
- //渠道
- if (paramModel.FromType != null && paramModel.FromType > 0)
- {
- sql += " and t.F_REPAIRMANID =" + paramModel.FromType;
- }
- //查询按钮
- if (!string.IsNullOrEmpty(paramModel.dateParty))
- {
- string startDate = paramModel.dateParty.Substring(0, 10);
- string endDate = paramModel.dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //string tableNew = "(select DISTINCT t.* ";
- //tableNew += ", case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END AS turntime ";
- //tableNew += " from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId";
- //tableNew += " ) as t";
- string tableNew = "(select DISTINCT F_WORKORDERID ,F_RETURNVISITCONTENT , F_WORKORDERTYPEID , F_WORKORDERSTATEID , F_CODE , F_WORKORDERNAME , F_NUMBER , F_CUSTOMERNAME , F_CUSTOMERTELEPHONE , F_LINKMAN , F_LINKMANTELEPHONE , F_ADSLACCOUNT , F_BANDWIDTH , F_STANDARDADDRESS , F_INSTALLADDRESS , F_KSHADDRESSCODE , F_PROVINCE , F_CITY , F_AREA , F_ROAD , F_HOUSING , F_WORKORDERFROM , F_WORKORDERLEVELID , F_FILEFLAG , F_CONTENT , F_CREATEBY , F_CREATEDATE , F_DEPTCODE , F_EMPCODE , F_DEPTID , F_USERID , F_USERNAME , F_RETURNVISITFLAG , F_RETURNVISITSTATE , F_RETURNVISITRESULT , F_DELETEFLAG , F_ALLUSETIMES , F_STARTTIME , F_ENDTIME , F_REMAINDERTIME , F_REMAINDERENDTIME , F_SUBSCRIBETIME1 , F_SUBSCRIBETIME2 , F_ACCEPTTIMELIMIT , F_ASKFINISHTIME , F_OVERTIMES , F_FORMID , F_HASTENCOUNTS , F_RANGEID , F_RANGEX , F_RANGEY , F_INSTANCEID , F_CUSTOMERID , F_REPAIRMANID , F_REPAIRMANNAME , F_REPAIRMANPHONE , F_REPAIRREQUEST , F_REPAIRCLOSEMANID , F_REPAIRCLOSEMANNAME , F_REPAIRCLOSEREASONS , F_REPAIRCLOSEREPTID , F_REPAIRCLOSEREPT , F_REPAIRLEVEL , F_REPAIRLEVELNAME , F_SENTORDERTIME , F_USERPHONE , F_RETURNVISITTIME , F_REQUESTSERVICETIME , F_SERVICETYPE , F_DECLARATIONTIME , F_SERVICENATURE , F_SERVICEWAY , F_RETURNVISITMAN , F_RETURNVISITID , F_RETURNVISITOPINION , F_RETURNVISITPROBLEM , F_CallId , F_CREATEBYids ";
- tableNew += ", case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END AS turntime ";
- tableNew += " from T_Wo_WorkOrderBase t ";
- tableNew += " ) as t";
- // string tableNew = string.Format("(select DISTINCT t.* from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId where (u.F_DeptId={0} OR h.F_OPTBTNID={0})) as t", F_DeptId);
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- tableNew,
- "F_WORKORDERID",
- " t.F_CODE as 工单编号"
- + ",F_CUSTOMERNAME as 客户姓名"
- + ",F_CUSTOMERTELEPHONE as 客户电话"
- + ",F_LINKMAN as 坐席工号"
- + ",F_REPAIRMANNAME as 坐席姓名"
- + ",F_WORKORDERFROM as 接入渠道"
- + " , CONVERT(varchar, t.F_CREATEDATE, 120) as 受理时间"
- + ",F_REPAIRREQUEST as 业务状态"
- + ",F_CONTENT as 内容"
- + ",F_RETURNVISITCONTENT as 处理回复内容"
- // + ",( case WHEN t.F_WORKORDERTYPEID =1 then(select top 1 T_Wo_WorkOrderHistory.F_REMARK from T_Wo_WorkOrderHistory where T_Wo_WorkOrderHistory.F_StateName = '已处理' and T_Wo_WorkOrderHistory.F_INSTANCEID = t.F_workorderid order by T_Wo_WorkOrderHistory.F_optdate desc) WHEN t.F_WORKORDERTYPEID = 3 then t.oldF_RETURNVISITCONTENT ELSE '' end ) as 处理回复内容"
- + ",F_HOUSING as 业务类型"
- + ",F_ADSLACCOUNT as 业务明细"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- 100000,
- 1,
- true,
- out recordCount);
- ResponseDataModel NewData = new ResponseDataModel();
- ExcelReadWrite erw = new ExcelReadWrite();
- byte[] Filebyte = erw.GetExcelByte(dt, "sheet1", true);
- int officeVersion = erw.OfficeType();
- if (officeVersion == 1 || officeVersion == 2)
- {
- NewData.Message = DateTime.Now.ToString("yyyy-MM-dd") + "工单数据.xls";
- }
- else
- {
- NewData.Message = DateTime.Now.ToString("yyyy-MM-dd") + "工单数据.xlsx";
- }
- NewData.Code = "0";
- NewData.Data = JsonConvert.SerializeObject(Filebyte);
- return JsonConvert.SerializeObject(NewData);
- }
- /// <summary>
- /// 导出数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Post)]
- public string ExToExcelDZ(ExToExcel paramModel)
- {
- string sql = " and F_WORKORDERSTATEID=5 and F_HOUSING='投诉' and F_REPAIRREQUEST='已定责' ";
- //工单编号
- if (!string.IsNullOrEmpty(paramModel.workorderNum))
- {
- sql += " and F_CODE like '%" + paramModel.workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(paramModel.cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + paramModel.cusName.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(paramModel.cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + paramModel.cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(paramModel.phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + paramModel.phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(paramModel.userInfo))
- {
- sql += " and F_LINKMAN like '%" + paramModel.userInfo.Trim() + "%'";
- }
- //状态
- if (paramModel.status != null)
- {
- sql += " and F_WORKORDERSTATEID =" + paramModel.status;
- }
- //业务类别
- if (paramModel.bussType != null && paramModel.bussType > 0)
- {
- sql += " and F_FILEFLAG =" + paramModel.bussType;
- }
- //业务类型
- if (paramModel.detailType != null && paramModel.detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + paramModel.detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(paramModel.Content))
- {
- sql += " and F_CONTENT like '%" + paramModel.Content.Trim() + "%'";
- }
- //处理方式
- if (paramModel.GoType != null && paramModel.GoType > 0)
- {
- sql += " and F_WORKORDERTYPEID =" + paramModel.GoType;
- }
-
- //渠道
- if (paramModel.FromType != null && paramModel.FromType > 0)
- {
- sql += " and F_REPAIRMANID =" + paramModel.FromType;
- }
- if (paramModel.F_RETURNVISITRESULT != null && paramModel.F_RETURNVISITRESULT > 0)
- {
- sql += " and F_RETURNVISITRESULT =" + paramModel.F_RETURNVISITRESULT;
- }
- //处理方式
- if (paramModel.F_HASTENCOUNTS != null && paramModel.F_HASTENCOUNTS > -1)
- {
- if (paramModel.F_HASTENCOUNTS == 0)
- {
- sql += " and F_HASTENCOUNTS =0";
- }
- else
- {
- sql += " and F_HASTENCOUNTS >0";
- }
- }
- //查询按钮
- if (!string.IsNullOrEmpty(paramModel.dateParty))
- {
- string startDate = paramModel.dateParty.Substring(0, 10);
- string endDate = paramModel.dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- " F_WORKORDERID",
- " F_WORKORDERID as 序号"
- + ", F_CODE as 工单编号"
- + ", F_UserName as 受理人"
- + ",CONVERT(varchar, F_CREATEDATE, 120) as 受理时间"
- + ", F_WORKORDERFROM as 事件来源"
- + ", F_RETURNVISITPROBLEM as 事件概况"
- + ", F_CONTENT as 事件内容"
- + ", F_PROVINCE as 一级内容分类"
- + " , F_CITY as 二级内容分类"
- + ", F_AREA as 三级内容分类"
- + ", '' as 责任部门"
- + ", '' as 责任部门调查情况"
- + ", '' as 责任部门处理意见和整改措施"
- + ", F_SERVICETYPE as 计划经营部处理意见"
- + ", F_SERVICENATURE as 定性定责结果"
- + ",case when F_WORKORDERSTATEID=0 then '未处理' when F_WORKORDERSTATEID=1 then '处理中' else '已处理' END AS 办理状态"
- + " ,'-' as 风险点"
- + ",'-' as 风险等级"
- + ",'-' as 风险概率"
- + ",'-' as 风险评估"
- + ",case when F_WORKORDERTYPEID=1 then '转单处理' else '客服处理' END AS 处理方式"
- + ",F_RETURNVISITCONTENT"
- + ",case when F_RETURNVISITRESULT=1 then '满意' when F_RETURNVISITRESULT=2 then '一般' when F_RETURNVISITRESULT=3 then '不满意' else '空' END AS 满意度"
- ,
- sql,
- "ORDER BY F_CREATEDATE desc",
- 100000,
- 1,
- true,
- out recordCount);
- if (recordCount > 0)
- {
- int tempn = 0;
- foreach (DataRow dr in dt.Rows)
- {
- string temp1 = "";
- string temp2 = "";
- string temp3 = "";
- #region 责任部门
- List<T_Wo_WorkOrderNotice> modellistnotice = noticeBLL.GetModelList(string.Format(" orderid={0} and NoticeType=1 AND NoticeState=1", dr["序号"].ToInt32()));
- if (modellistnotice.Count > 0)
- {
- foreach (T_Wo_WorkOrderNotice modelnotice in modellistnotice)
- {
- temp1 += modelnotice.NoticeDeptName + "\n";
- }
- }
- dr["责任部门"] = temp1;
- #endregion
- if (dr["处理方式"].ToMyString() == "转单处理")
- {
- List<T_Wo_WorkOrderHistory> modelhisList = historyBll.GetModelList(string.Format(" F_INSTANCEID={0} and F_StateName='已处理' AND NeedReplayTime IS NOT NULL ", dr["序号"].ToInt32()));
- if (modelhisList.Count > 0)
- {
- foreach (T_Wo_WorkOrderHistory modelhistemp in modelhisList)
- {
- temp2 += modelhistemp.F_NEXTOWNERARRID + " 调查情况:\n";
- temp3 += modelhistemp.F_NEXTOWNERARRID + " 处理意见和整改措施:\n";
-
- if (string.IsNullOrEmpty(modelhistemp.F_REMARK))
- {
- continue;
- }
- int tempint = modelhistemp.F_REMARK.IndexOf("|");
- if (tempint == -1)
- {
- temp2 += modelhistemp.F_REMARK;
- temp3 += modelhistemp.F_REMARK;
- }
- else
- {
- string[] arrystr = modelhistemp.F_REMARK.Split('|');
- temp2 += arrystr[0];
- temp2 += "\n";
- temp3 += arrystr[1];
- temp3 += "\n";
- }
- }
- }
- }
- else
- {
- temp2 += dr["F_RETURNVISITCONTENT"].ToMyString();
- temp3 += "客服即时处理工单";
- }
- dr["责任部门调查情况"] = temp2;
- dr["责任部门处理意见和整改措施"] = temp3;
- tempn += 1;
- dr["序号"] = tempn;
- //tempCode = dr["工单编号"].ToMyString();
- }
- }
- DataTable dataTable = dt.Copy();
- foreach (DataColumn dc in dataTable.Columns)
- {
- if (dc.ColumnName.Equals("F_RETURNVISITCONTENT"))
- dt.Columns.Remove(dc.ColumnName);
- if (dc.ColumnName.Equals("F_WORKORDERTYPEID"))
- dt.Columns.Remove(dc.ColumnName);
- }
- ResponseDataModel NewData = new ResponseDataModel();
- ExcelReadWrite erw = new ExcelReadWrite();
- byte[] Filebyte = erw.GetExcelByte(dt, "sheet1", true);
- int officeVersion = erw.OfficeType();
- if (officeVersion == 1 || officeVersion == 2)
- {
- NewData.Message = DateTime.Now.ToString("yyyy-MM-dd") + "全媒体客服转办及化解投诉定性定责情况汇总表.xls";
- }
- else
- {
- NewData.Message = DateTime.Now.ToString("yyyy-MM-dd") + "全媒体客服转办及化解投诉定性定责情况汇总表.xlsx";
- }
- NewData.Code = "0";
- NewData.Data = JsonConvert.SerializeObject(Filebyte);
- return JsonConvert.SerializeObject(NewData);
- }
- #endregion
- #region 工单详情
- public ActionResult ViewMyOrder(int orderKeyId)
- {
- //实例化基础信息表
- CallScreenModel callScreenModel = new CallScreenModel();
- //获取业务工单信息
- if (orderKeyId > 0)
- {
- callScreenModel.WorkOrderBaseModel = orderBLL.GetModel(orderKeyId);
- //如果电话号码不为空
- if (callScreenModel.WorkOrderBaseModel != null && !string.IsNullOrEmpty(callScreenModel.WorkOrderBaseModel.F_CUSTOMERTELEPHONE))
- {
- T_Cus_CustomerBase baseCusModel = cusBLL.GetCusInfoModel(callScreenModel.WorkOrderBaseModel.F_CUSTOMERTELEPHONE);
- if (baseCusModel != null && baseCusModel.F_CustomerId > 0)
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = baseCusModel;
- }
- else
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = new T_Cus_CustomerBase();
- }
- }
- else
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = new T_Cus_CustomerBase();
- }
- //获取客户基本信息
- if (!string.IsNullOrEmpty(callScreenModel.WorkOrderBaseModel.F_EMPCODE))
- {
- T_Cus_CustomerBase baseCusModel = cusBLL.GetCusInfoModel(1, callScreenModel.WorkOrderBaseModel.F_EMPCODE);
- if (baseCusModel != null && baseCusModel.F_CustomerId > 0)
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = baseCusModel;
- }
- else
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = new T_Cus_CustomerBase();
- }
- }
- }
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- //获取处理方式字典表
- callScreenModel.GoTypeModelList = GetCodeType("CLFS");
- //获取部门列表
- callScreenModel.DepartmentList = deptBll.GetModelList("F_ParentId=0");
- callScreenModel.HistoryOrderList = historyBll.GetModelList("F_INSTANCEID=" + orderKeyId);
- callScreenModel.Noticelist = noticeBLL.GetModelList(" Orderid=" + orderKeyId + " Order by DZNumber ASC");
- callScreenModel.F_RoleID = F_RoleID;
- return View(callScreenModel);
- }
- /// <summary>
- /// 处理历史工单
- /// </summary>
- /// <param name="orderKeyId">主键</param>
- /// <returns></returns>
- public ActionResult EditMyOrder(int dtype = 0, int orderKeyId = 0)
- {
- //实例化基础信息表
- CallScreenModel callScreenModel = new CallScreenModel();
- //工单类型
- callScreenModel.DType = dtype;
- //话务标志
- callScreenModel.SeatFlag = F_SeatFlag;
- //获取业务工单信息
- if (orderKeyId > 0)
- {
- callScreenModel.WorkOrderBaseModel = orderBLL.GetModel(orderKeyId);
- //如果电话号码不为空
- if (callScreenModel.WorkOrderBaseModel != null && callScreenModel.WorkOrderBaseModel.F_CUSTOMERID > 1)
- {
- T_Cus_CustomerBase baseCusModel = cusBLL.GetModel((int)callScreenModel.WorkOrderBaseModel.F_CUSTOMERID);
- if (baseCusModel != null && baseCusModel.F_CustomerId > 1)
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = baseCusModel;
- }
- else
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = new T_Cus_CustomerBase();
- }
- }
- else
- {
- callScreenModel.WorkOrderBaseModel.CustomerBaseModel = new T_Cus_CustomerBase();
- }
- if (callScreenModel.WorkOrderBaseModel.F_WORKORDERTYPEID == 1)
- { callScreenModel.HistoryOrderList = historyBll.GetModelList("F_INSTANCEID=" + orderKeyId); }
- else
- { callScreenModel.HistoryOrderList = null; }
- }
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- //获取处理方式字典表
- callScreenModel.GoTypeModelList = GetCodeType("CLFS");
- //回访满意度
- callScreenModel.MYdModelList = GetCodeType("khyjfl");
- //获取部门列表
- callScreenModel.DepartmentList = deptBll.GetModelList("F_ParentId=0");
-
- callScreenModel.Noticelist = noticeBLL.GetModelList(" Orderid=" + orderKeyId + " Order by DZNumber ASC");
- return View(callScreenModel);
- }
- #endregion
- #region 已定责
- /// <summary>
- /// 超时答复视图
- /// </summary>
- /// <param name="dtype">工单类型 1、所有待办工单 2、代办结工单</param>
- /// <returns></returns>
- public ActionResult WorkOrderMyDataOverAnswer(int dtype)
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- model.DType = dtype;
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- /// <summary>
- /// 超时答复数据
- /// </summary>
- /// <param name="F_RETURNVISITRESULT">满意度</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderMyDataOverAnswerData")]
- [HttpGet]
- public string WorkOrderMyDataOverAnswerData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content, int? F_RETURNVISITRESULT, int? turnout)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = " and t.F_WORKORDERSTATEID>0 and t.F_WORKORDERTYPEID=1 ";
- //未按时转出
- if (turnout.ToInt32() > 0)
- {
- sql += " and t.turntime =0 ";
- }
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and t.F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + detailType;
- }
- #region
- //定责次数
- //if (F_HASTENCOUNTS != null)
- //{
- // if (F_HASTENCOUNTS == 0)
- // {
- // sql += " AND (t.F_HASTENCOUNTS is null OR t.F_HASTENCOUNTS =0) ";
- // }
- // else
- // {
- // sql += " AND t.F_HASTENCOUNTS >0 ";
- // }
- //}
- #endregion
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and t.F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0 || types == null)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //一天按钮
- else if (types == 4)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- string tableNew = "(select DISTINCT t.* ";
- tableNew += ", case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END AS turntime ";
- tableNew += " from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId";
- tableNew += " where h.NeedReplayTime is not null AND F_StateName NOT LIKE '%撤回%' AND F_StateName NOT LIKE '%驳回%' and ((h.ReplayTime IS NULL AND DATEDIFF(second, GETDATE(), h.NeedReplayTime)<0) OR (h.ReplayTime IS NOT NULL AND DATEDIFF(second, h.ReplayTime, h.NeedReplayTime)<0))) as t";
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- tableNew,
- "F_WORKORDERID",
- " t.*,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + ",dbo.GetOverReplayTime(t.F_WORKORDERID) as F_OVERTIME"
- // + ", CONVERT(VARCHAR(10),ISNULL(CASE WHEN F_REMAINDERTIME IS NULL THEN DATEDIFF(SECOND,F_REQUESTSERVICETIME,GETDATE()) "
- //+ " ELSE DATEDIFF(SECOND,F_REQUESTSERVICETIME,F_REMAINDERTIME) END ,0)/3600)+'时'+CONVERT(VARCHAR(10),ISNULL(CASE WHEN F_REMAINDERTIME IS NULL THEN DATEDIFF(SECOND,F_REQUESTSERVICETIME,GETDATE()) "
- // + " ELSE DATEDIFF(SECOND,F_REQUESTSERVICETIME,F_REMAINDERTIME) END ,0)%3600/60)+'分'+CONVERT(VARCHAR(10),ISNULL(CASE WHEN F_REMAINDERTIME IS NULL THEN DATEDIFF(SECOND,F_REQUESTSERVICETIME,GETDATE()) "
- // + " ELSE DATEDIFF(SECOND,F_REQUESTSERVICETIME,F_REMAINDERTIME) END ,0)%3600%60)+'秒' AS F_OVERTIME"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- //string tableNew = "( SELECT * FROM dbo.T_Wo_WorkOrderBase WHERE F_WORKORDERID IN ( SELECT DISTINCT a.F_WORKORDERID FROM dbo.T_Wo_WorkOrderBase a LEFT JOIN dbo.T_Wo_WorkOrderHistory h ON a.F_WORKORDERID = h.F_INSTANCEID WHERE F_WORKORDERTYPEID = 1 AND h.NeedReplayTime is not null AND F_StateName NOT LIKE '%撤回%' AND F_StateName NOT LIKE '%驳回%' and((h.ReplayTime IS NULL AND DATEDIFF(second, GETDATE(), h.NeedReplayTime) < 0) OR(h.ReplayTime IS NOT NULL AND DATEDIFF(second, h.ReplayTime, h.NeedReplayTime) < 0)) ) )as t";
- //DataTable dt = new DataTable();
- //int recordCount = 0;
- //Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- //dt = BLL.PagerBLL.GetListPager(
- // tableNew,
- // "F_WORKORDERID",
- // "t.*,dbo.GetOverReplayTime(t.F_WORKORDERID) as F_OVERTIME,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew"
- // + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- // , sql,
- // "ORDER BY t.F_CREATEDATE desc",
- // limit,
- // page,
- // true,
- // out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
-
- public ActionResult WorkOrderDealedList()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- //已处理可撤回的列表
- [ActionName("WorkOrderDealedData")]
- [HttpGet]
- public string WorkOrderDealedData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 ,4 待定责status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- // string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID={0} AND F_OPTDATE= (select TOP 1 F_OPTDATE from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) )", F_UserID);
- string sql = string.Format(" and ( F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=3 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID={0}))", F_UserID);
- //不回访的工单,是待定责状态也可以撤回到已处理
- sql += string.Format(" or ( F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=0 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID={0}))", F_UserID);
- //客服处理的数据
- //sql += " or (F_WORKORDERTYPEID=3 and F_WORKORDERSTATEID=3 and F_LINKMAN='"+F_UserCode+"' ) ";
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + string.Format(",(select top 1 F_HISTORYID from T_Wo_WorkOrderHistory where F_INSTANCEID=F_WORKORDERID and F_WORKORDERSTATEID=0 and F_OPTUSERID={0} Order by F_OPTDATE desc) AS F_HISTORYID", F_UserID)
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 待处理工单总数
- /// </summary>
- /// <returns></returns>
- public int WorkOrderMyDealedDataCount()
- {
- string sql = string.Format(" (F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=3 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID={0}))", F_UserID);
- sql += string.Format(" or ( F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=0 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID={0}))", F_UserID);
- return orderBLL.GetRecordCount(sql);
- }
- public ActionResult WorkOrderVisitedList()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- //已回访 即待定责的列表(只有登录人的数据)待定责可以撤回
-
- [ActionName("WorkOrderVisitedData")]
- [HttpGet]
- public string WorkOrderVisitedData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //F_RETURNVISITFLAG 1 是要回访 0 是不回访
- // string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1 and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory A where F_WORKORDERSTATEID=0 and F_OPTUSERID={0} AND F_OPTDATE= (select TOP 1 F_OPTDATE from T_Wo_WorkOrderHistory WHERE F_INSTANCEID = A.F_INSTANCEID ORDER BY F_OPTDATE DESC) )", F_UserID);
- string sql = string.Format(" and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=1 and F_LINKMAN={0}", F_UserCode);
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + string.Format(",(select top 1 F_HISTORYID from T_Wo_WorkOrderHistory where F_INSTANCEID=F_WORKORDERID and F_WORKORDERSTATEID=0 and F_OPTUSERID={0} Order by F_OPTDATE desc) AS F_HISTORYID", F_UserID)
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- public int WorkOrderMyVisitedDataCount()
- {
- string sql = string.Format(" F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=1 and F_LINKMAN={0}", F_UserCode);
- return orderBLL.GetRecordCount(sql);
- }
- /// <summary>
- /// 处理人撤回自己处理的,工单状态是待回访的工单
- /// </summary>
- /// <param name="workOrderBaseModel"></param>
- /// <returns></returns>
- [AcceptVerbs(HttpVerbs.Get)]
- public bool ResetDealedWorkOrder(int workOrderId,string reason)
- {
- string F_UserCode = "";
- if (Request.Cookies["BaseCallCenter_T_User"] != null)
- {
- F_UserCode = Request.Cookies["BaseCallCenter_T_User"]["F_UserCode"];
- }
-
- bool result = false;
- string bycode = F_UserCode;
- string byname = F_UserName;
- int bmid = F_DeptId;
- string bmmc = "";
- if (F_UserID > 0)
- {
- YTSoft.BaseCallCenter.BLL.T_Sys_Department depBll = new BLL.T_Sys_Department();
- List<Model.T_Sys_Department> list = new List<T_Sys_Department>();
- list = depBll.GetModelList("F_DeptId=" + bmid);
- if (list.Count > 0)
- {
- bmmc = list[0].F_DeptName.ToString();
- result = orderBLL.CheHuiYCLWorkOrder(workOrderId, F_UserID, F_UserName, F_DeptId, bmmc,reason);
- }
- }
- return result;
-
- }
- /// 回访人撤回自己回访的,工单状态是待定责的工单 ;客服角色的回访列表里
- [AcceptVerbs(HttpVerbs.Get)]
- public bool ResetVisitedWorkOrder(int workOrderId,string reason)
- {
- string F_UserCode = "";
- if (Request.Cookies["BaseCallCenter_T_User"] != null)
- {
- F_UserCode = Request.Cookies["BaseCallCenter_T_User"]["F_UserCode"];
- }
- bool result = false; ;
- string bycode = F_UserCode;
- string byname = F_UserName;
- int bmid = F_DeptId;
- string bmmc = "";
- if (F_UserID > 0)
- {
- YTSoft.BaseCallCenter.BLL.T_Sys_Department depBll = new BLL.T_Sys_Department();
- List<Model.T_Sys_Department> list = new List<T_Sys_Department>();
- list = depBll.GetModelList("F_DeptId=" + bmid);
- if (list.Count > 0)
- {
- bmmc = list[0].F_DeptName.ToString();
- result = orderBLL.CheHuiDDZWorkOrder(workOrderId, F_UserID, F_UserName, F_DeptId, bmmc,reason);
- }
- }
- return result;
- }
- public ActionResult DepartmentWorkOrderList()
- {
- CallScreenModel callScreenModel = new CallScreenModel();
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- //业务类型字典表
- callScreenModel.GoTypeModelList = GetCodeType("CLFS");
- //话务标志
- callScreenModel.SeatFlag = F_SeatFlag;
- return View(callScreenModel);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("ReassignmentDeparmentWorkOrderAllData")]
- [HttpGet]
- public string DepartmentWorkOrderList(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber, string userInfo, int? status, int? bussType, int? detailType, string Content, int? GoType, int? FromType, int? F_HASTENCOUNTS, int? turnout)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string sql = "";
- //未按时转出
- if (turnout.ToInt32() > 0)
- {
- sql += " and t.turntime =0 ";
- }
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and t.F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and t.F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and t.F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and t.F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //状态 F_WORKORDERSTATEID 0未处理 1处理中 2已办结(结束) 3待回访 4待定责 5已定责
- if (status != null)
- {
- sql += " and t.F_WORKORDERSTATEID =" + status;
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and t.F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and t.F_REPAIRLEVEL =" + detailType;
- }
-
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and t.F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //处理方式 F_WORKORDERTYPEID 处理方式 1转单 3客服处理
- if (GoType != null && GoType > 0)
- {
- sql += " and t.F_WORKORDERTYPEID =" + GoType;
- }
- //接入渠道 1语音 2留言 3微信 4微博
- if (FromType != null && FromType > 0)
- {
- sql += " and t.F_REPAIRMANID =" + FromType;
- }
- //查询按钮
- if (types == 0 || types == null)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- else
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //一天按钮
- else if (types == 4)
- {
- string endDate = DateTime.Now.ToString("yyyy-MM-dd");
- string startDate = DateTime.Now.ToString("yyyy-MM-dd");
- sql += " and t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- //string tableNew = "(select DISTINCT t.* ";
- //tableNew += ", case WHEN F_SENTORDERTIME IS NULL AND DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), GETDATE())> 0 THEN 0 WHEN F_SENTORDERTIME IS NULL THEN 1 WHEN DATEDIFF(minute, DATEADD(day,1,F_CREATEDATE), F_SENTORDERTIME)> 0 THEN 0 ELSE 1 END AS turntime ";
- //tableNew += " from T_Wo_WorkOrderBase t LEFT JOIN T_Wo_WorkOrderHistory h ON t.F_WORKORDERID=h.F_INSTANCEID LEFT JOIN T_Sys_UserAccount u ON t.F_USERID= u.F_UserId";
- //tableNew += " ) as t";
- string tableNew = " (select * from T_Wo_WorkOrderBase WHERE F_WORKORDERID in (SELECT DISTINCT F_WORKORDERID FROM dbo.T_Wo_WorkOrderBase a LEFT JOIN t_wo_workorderhistory b ON a.F_WORKORDERID = b.F_INSTANCEID WHERE a.F_WORKORDERTYPEID = 1 AND b.F_StateName != '已撤回' AND b.F_StateName != '已驳回' AND b.F_OPTUSERID IN( SELECT F_UserId FROM t_sys_useraccount WHERE F_DeptId = " + F_DeptId + "))) as t";
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- tableNew,
- "F_WORKORDERID",
- " t.*,CONVERT(varchar,t.F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=t.F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=t.F_KSHADDRESSCODE) ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath"
- ,
- sql,
- "ORDER BY t.F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- //审批撤回的工单的页面
- public ActionResult WorkOrderShenPiList()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- //审批撤回的工单的列表
- [ActionName("WorkOrderShenPiData")]
- [HttpGet]
- public string WorkOrderShenPiData(DateTime? NowDateTime, int page, int limit, int? types, string dateParty,
- string workorderNum, string cusName, string phoneNumber,
- string userInfo, int? bussType, int? detailType, string Content)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- //F_FILEFLAG 业务类型ID
- //F_WORKORDERSTATEID 0未处理 1处理中 2已办结 status
- //F_WORKORDERTYPEID 处理方式 1转单 3客服处理 GoType
- //F_REPAIRMANID 接入渠道 1语音 2留言 3微信 4微博 FromType
- //F_RETURNVISITFLAG 1 是要回访 0 是不回访
-
- // 撤回审批的工单状态是8,9,10
- string sql = " and F_WORKORDERSTATEID in(8,9,10)";
- //工单编号
- if (!string.IsNullOrEmpty(workorderNum))
- {
- sql += " and F_CODE like '%" + workorderNum.Trim() + "%'";
- }
- //客户姓名
- if (!string.IsNullOrEmpty(cusName))
- {
- sql += " and F_CUSTOMERNAME like '%" + cusName.Trim() + "%'";
- }
- //客户电话
- if (!string.IsNullOrEmpty(phoneNumber))
- {
- sql += " and F_CUSTOMERTELEPHONE like '%" + phoneNumber.Trim() + "%'";
- }
- //坐席工号
- if (!string.IsNullOrEmpty(userInfo))
- {
- sql += " and F_LINKMAN like '%" + userInfo.Trim() + "%'";
- }
- //业务类别
- if (bussType != null && bussType > 0)
- {
- sql += " and F_FILEFLAG =" + bussType;
- }
- //业务类型
- if (detailType != null && detailType > 0)
- {
- sql += " and F_REPAIRLEVEL =" + detailType;
- }
- //内容
- if (!string.IsNullOrEmpty(Content))
- {
- sql += " and F_CONTENT like '%" + Content.Trim() + "%'";
- }
- //查询按钮
- if (types == 0)
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- string startDate = dateParty.Substring(0, 10);
- string endDate = dateParty.Substring(12);
- sql += " and F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
- sql += " and F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
- }
- }//一周按钮
- else if (types == 1)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddDays(-7).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一月按钮
- else if (types == 2)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddMonths(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }//一年按钮
- else if (types == 3)
- {
- string endDate = DateTime.Now.ToString();
- string startDate = DateTime.Now.AddYears(-1).ToString();
- sql += " and F_CREATEDATE>= '" + startDate + "'";
- sql += " and F_CREATEDATE<= '" + endDate + "'";
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Wo_WorkOrderBase> pageModel = new Model.PageData<Model.T_Wo_WorkOrderBase>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Wo_WorkOrderBase",
- "F_WORKORDERID",
- "*,CONVERT(varchar,F_CREATEDATE, 120 ) as F_CREATEDATENew"
- + string.Format(",(select top 1 F_HISTORYID from T_Wo_WorkOrderHistory where F_INSTANCEID=F_WORKORDERID and F_WORKORDERSTATEID=0 and F_OPTUSERID={0} Order by F_OPTDATE desc) AS F_HISTORYID", F_UserID)
- + @" , replace(replace(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT top 1 F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT top 1 FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END,'\','/'),'" + GetSysconfig("newFilePath") + "','" + GetSysconfig("newPlayPath") + "') as FilePath",
- //+ " ,(CASE F_WORKORDERFROM WHEN '留言工单' THEN (SELECT F_RecFileUrl FROM dbo.T_Call_LeaveRecord WHERE F_CallId=F_KSHADDRESSCODE) WHEN '语音工单' THEN (SELECT FilePath FROM dbo.T_Call_CallRecords WHERE CallId=F_KSHADDRESSCODE AND FilePath!='') ELSE NULL END ) as FilePath",
- sql,
- "ORDER BY F_CREATEDATE desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- [AcceptVerbs(HttpVerbs.Post)]
- public bool SubmiShenPiYJ(int workorderid, int shenpiresult, string shenpiopinion)
- {
- //int workorderid, int shenpiresult,string shenpiopinion,int byid,string byname,int bmid )
- //AddAction("t_wo_workorderhistory", workOrderBaseModel.F_HISTORYID.ToMyString(), "提交工单", "数据:" + JsonConvert.SerializeObject(workOrderBaseModel), "关键信息");
- //AddAction("t_wo_workorderhistory", workOrderBaseModel.F_HISTORYID.ToMyString(), "部门提交工单", workOrderBaseModel.F_INSTANCEID.ToMyString());
-
- return orderBLL.SubmitShenPiYj(workorderid, shenpiresult, shenpiopinion,F_UserID,F_UserName,F_DeptId);
- }
- //审批工单弹框 页面
- public ActionResult OrderShenPiTanKuangList()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- //业务类型字典表
- model.WorkOrderTypeModelList = GetWorkTypeModelList();
- //话务标志
- model.SeatFlag = F_SeatFlag;
- return View(model);
- }
- public int WorkOrderShenPiCount()
- {
- // string sql = string.Format(" F_WORKORDERSTATEID=4 and (F_HASTENCOUNTS=0 OR F_HASTENCOUNTS IS NULL) and (F_ROAD='{0}' Or F_ROAD='' Or F_ROAD IS NULL)", F_UserID);
- string sql = " F_WORKORDERSTATEID in(8,9,10) ";
- return orderBLL.GetRecordCount(sql);
- }
- }
- }
|