| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285 |
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using ZXDT.CallCenter.Model;
- using ZXDT.CallCenter.MVCWeb.Models;
- using ZXDT.Common;
- namespace ZXDT.CallCenter.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 )) )";
- 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 + "' )";
- //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_REMAINDERENDTIME>t.F_RETURNVISITTIME 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);
- //CONVERT(VARCHAR(10), F_OVERTIMES / 3600) + '时' + CONVERT(VARCHAR(10), F_OVERTIMES % 3600 / 60) + '分' + CONVERT(VARCHAR(10), F_OVERTIMES % 3600 % 60) + '秒' AS F_OVERTIME
- 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, dbo.GetConvertSecond(DATEDIFF(SECOND,F_RETURNVISITTIME,F_REMAINDERENDTIME)) 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,ISNULL(t.F_CUSTOMERNAME,[dbo].GetCusNameByUserPhone(t.F_CUSTOMERTELEPHONE)) 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 ,ISNULL(F_CUSTOMERNAME, [dbo].GetCusNameByUserPhone(F_CUSTOMERTELEPHONE)) 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 = " and F_WORKORDERTYPEID=1 and ( F_WORKORDERSTATEID=3 ";
- //处理中的工单,多单位时已处理
- sql += " or F_WORKORDERSTATEID=1";
- //不回访的工单,是待定责状态也可以撤回到已处理
- sql += " or ( F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=0 ))";
- sql += " and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID=" + F_UserID + " and ReplayTime is not null)";
- //客服处理的数据
- //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);
- string sql = " F_WORKORDERTYPEID=1 and ( F_WORKORDERSTATEID=3 ";
- //处理中的工单,多单位时已处理
- sql += " or F_WORKORDERSTATEID=1";
- //不回访的工单,是待定责状态也可以撤回到已处理
- sql += " or ( F_WORKORDERSTATEID=4 and F_RETURNVISITFLAG=0 ))";
- sql += " and F_WORKORDERID in (select F_INSTANCEID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID=1 and F_OPTUSERID=" + F_UserID + " and ReplayTime is not null)";
- 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)
- {
- ZXDT.CallCenter.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)
- {
- ZXDT.CallCenter.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);
- }
- }
- }
|