No Description

thirdController.cs 182KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166
  1. using CallCenter.Utility;
  2. using CallCenterApi.Common;
  3. using CallCenterApi.DB;
  4. using CallCenterApi.Interface.Controllers.Base;
  5. using CallCenterApi.Interface.Models.Common;
  6. using CallCenterApi.Model;
  7. using Newtonsoft.Json;
  8. using Newtonsoft.Json.Linq;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Collections.Specialized;
  12. using System.Data;
  13. using System.IO;
  14. using System.Linq;
  15. using System.Net;
  16. using System.Net.Http;
  17. using System.Net.Http.Headers;
  18. using System.Net.Security;
  19. using System.Security.Cryptography.X509Certificates;
  20. using System.Text;
  21. using System.Text.RegularExpressions;
  22. using System.Threading.Tasks;
  23. using System.Transactions;
  24. using System.Web;
  25. using System.Web.Mvc;
  26. namespace CallCenterApi.Interface.Controllers
  27. {
  28. public class thirdController : BaseController
  29. {
  30. private information.InternalMessagesController msg = new information.InternalMessagesController();
  31. private BLL.T_Sys_UserAccount userBLL = new BLL.T_Sys_UserAccount();
  32. private BLL.T_Bus_WorkOrder workorderBLL = new BLL.T_Bus_WorkOrder();
  33. private BLL.T_Bus_AssignedInfo assignBLL = new BLL.T_Bus_AssignedInfo();
  34. private BLL.T_Bus_AssignedItemInfo assignItemBLL = new BLL.T_Bus_AssignedItemInfo();
  35. private BLL.T_Bus_Operation operBLL = new BLL.T_Bus_Operation();
  36. private BLL.T_Sys_SystemConfig configBll = new BLL.T_Sys_SystemConfig();
  37. private BLL.T_Bus_RemindRecord remindBLL = new BLL.T_Bus_RemindRecord();
  38. private BLL.T_Bus_Feedback feedbackBLL = new BLL.T_Bus_Feedback();
  39. //http://218.29.107.66:9999
  40. string thirdUrl = Configs.GetValue("thirdUrl");
  41. /// <summary>
  42. /// NameValueCollection 转换为json格式
  43. /// </summary>
  44. /// <param name="source"></param>
  45. /// <returns></returns>
  46. public static IDictionary<string, string> NameVlueToDictionary(NameValueCollection source)
  47. {
  48. return source.AllKeys.ToDictionary(k => k, k => source[k]);
  49. }
  50. public class Login
  51. {
  52. public string code { set; get; }
  53. public string token { set; get; }
  54. public string msg { set; get; }
  55. public string cUserName { set; get; }
  56. public string cName { set; get; }
  57. public string gh { set; get; }
  58. public string curUnitCode { set; get; }
  59. }
  60. private string token = "", curUnitCode="";
  61. public ActionResult Log()
  62. {
  63. NameValueCollection log = new NameValueCollection();
  64. log.Add("Clieng_Id", "gy02");
  65. log.Add("Client_secret", "000000");
  66. var keyDict = NameVlueToDictionary(log);
  67. string strJSON = JsonConvert.SerializeObject(keyDict);
  68. NameValueCollection values = new NameValueCollection();
  69. values.Add("jsonStr", strJSON);
  70. var url = $"{thirdUrl}/api/dock/login";
  71. try
  72. {
  73. string ret = HttpPostMultipartFormData(url, values);
  74. Login login = JsonConvert.DeserializeObject<Login>(ret);
  75. token = login.token;
  76. curUnitCode = login.curUnitCode;
  77. return Success (token);
  78. }
  79. catch (Exception e)
  80. {
  81. return Success(e.Message );
  82. }
  83. }
  84. public string Logins()
  85. {
  86. NameValueCollection log = new NameValueCollection();
  87. log.Add("Clieng_Id", "gy02");
  88. log.Add("Client_secret", "000000");
  89. var keyDict = NameVlueToDictionary(log);
  90. string strJSON = JsonConvert.SerializeObject(keyDict);
  91. NameValueCollection values = new NameValueCollection();
  92. values.Add("jsonStr", strJSON);
  93. var url = $"{thirdUrl}/api/dock/login";
  94. try
  95. {
  96. string ret = HttpPostMultipartFormData(url, values);
  97. Login login = JsonConvert.DeserializeObject<Login>(ret);
  98. token = login.token;
  99. curUnitCode = login.curUnitCode;
  100. return token;
  101. }
  102. catch (Exception e)
  103. {
  104. return "";
  105. }
  106. }
  107. public class didAddWorders
  108. { /// <summary>
  109. /// 案件id(int)
  110. /// </summary>
  111. public int problemCode { set; get; }
  112. /// <summary>
  113. /// 标题
  114. /// </summary>
  115. public string problemTitle { set; get; }
  116. /// <summary>
  117. /// 类别(varchar)
  118. /// </summary>
  119. public string problemType { set; get; }
  120. /// <summary>
  121. /// 类别(varchar)
  122. /// </summary>
  123. public string problemSmallType { set; get; }
  124. /// <summary>
  125. /// 类别(varchar)经纬度(lng,lat),由逗号间隔
  126. /// </summary>
  127. public string problemLocation { set; get; }
  128. /// <summary>
  129. ///诉求方式(varchar)(电话,手机采集也就是app,人民网,省平台交办)
  130. /// </summary>
  131. public string problemWay { set; get; }
  132. /// <summary>
  133. /// 诉求类别
  134. /// </summary>
  135. public string ptype { set; get; }
  136. /// <summary>
  137. ///内容描述 类型为text
  138. /// </summary>
  139. public string problemDescription { set; get; }
  140. /// <summary>
  141. ///详细地址 varchar(100)
  142. /// </summary>
  143. public string problemSite { set; get; }
  144. /// <summary>
  145. ///限定期限(年月日时分秒格式)
  146. /// </summary>
  147. public string timeLimit { set; get; }
  148. /// <summary>
  149. ///来电人(varchar)
  150. /// </summary>
  151. public string reporter { set; get; }
  152. /// <summary>
  153. ///来电人手机号码(varchar)
  154. /// </summary>
  155. public string reporterContactInfo { set; get; }
  156. /// <summary>
  157. ///来电时间(年月日时分秒格式)
  158. /// </summary>
  159. public string reportTime { set; get; }
  160. /// <summary>
  161. ///登记人(varchar)
  162. /// </summary>
  163. public string forwarder { set; get; }
  164. /// <summary>
  165. ///登记日期(年月日时分秒格式)
  166. /// </summary>
  167. public string forwardTime { set; get; }
  168. /// <summary>
  169. /// 三级单位编码(可由此判断是否为一旦直达三级)
  170. /// </summary>
  171. public string threeunitid { set; get; }
  172. /// <summary>
  173. ///案件编码(热线系统的案件编码,varchar)
  174. /// </summary>
  175. public string code { set; get; }
  176. /// <summary>
  177. ///转办记录唯一id(int)
  178. /// </summary>
  179. public int did { set; get; }
  180. /// <summary>
  181. /// 四级分类编码
  182. /// </summary>
  183. public string fourClassification { set; get; }
  184. }
  185. private information.InternalMessagesController InternalMessages = new information.InternalMessagesController();
  186. /// <summary>
  187. /// 催单
  188. /// </summary>
  189. /// <param name="woid"></param>
  190. /// <returns></returns>
  191. public ActionResult Reminders(string code,string msg)
  192. {
  193. var workorder = workorderBLL.GetModelList("F_OldWorkOrderId='" +
  194. code + "'" +
  195. "and F_IsDelete=0");
  196. var user = new BLL.T_Sys_UserAccount().GetModelList("F_RoleId=6 and F_DeleteFlag=0");
  197. if (user != null)
  198. {
  199. foreach (var item in user)
  200. {
  201. InternalMessages.AddInternalMessagesInfo
  202. ("催单消息", "工单" + workorder.FirstOrDefault ().F_WorkOrderId + "收到郑州市催办,请及时处理!",
  203. item.F_UserCode, "郑州市", (int)EnumSmsType.additional);
  204. }
  205. workorder.FirstOrDefault().ReminderNum += 1;
  206. bool t = new BLL.T_Bus_WorkOrder().Update(workorder.FirstOrDefault());
  207. #region 插入操作记录
  208. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  209. oper.F_WorkOrderId = workorder.FirstOrDefault().F_WorkOrderId;
  210. oper.F_State = workorder.FirstOrDefault().F_WorkState;
  211. string userinfo = "郑州市";
  212. oper.F_Message = userinfo + " 催办工单";
  213. oper.F_CreateUser = "郑州市";
  214. oper.F_CreateTime = DateTime.Now;
  215. oper.F_IsDelete = 0;
  216. operBLL.Add(oper);
  217. #endregion
  218. }
  219. return Success("操作成功");
  220. }
  221. /// <summary>
  222. /// 服务工单交办接口
  223. /// </summary>
  224. /// <param name="info"></param>
  225. /// <returns></returns>
  226. [HttpPost]
  227. public ActionResult pushcase(didAddWorders info)
  228. {
  229. if (info == null)
  230. return Error("内容为空");
  231. try
  232. {
  233. LogFactory.GetLogger("1123").Warn(info.ToJson());
  234. using (TransactionScope trans = new TransactionScope())
  235. {
  236. #region 保存工单信息
  237. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  238. modelT_Bus_WorkOrder.F_OldWorkOrderId = info.code;
  239. var workorder = workorderBLL.GetModelList("F_OldWorkOrderId='" +
  240. modelT_Bus_WorkOrder.F_OldWorkOrderId + "'" +
  241. "and F_IsDelete=0");
  242. if (workorder != null && workorder.Count > 0)
  243. {
  244. return Error("工单已交办");
  245. }
  246. else
  247. {
  248. modelT_Bus_WorkOrder.F_WorkState = 1;
  249. modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID("8000");
  250. }
  251. modelT_Bus_WorkOrder.F_InfoConBigType = 1;
  252. //if (info.ideliverprogress == 11)
  253. // modelT_Bus_WorkOrder.F_Backreason = info.backreason;
  254. modelT_Bus_WorkOrder.F_Caseid = info.problemCode;
  255. modelT_Bus_WorkOrder.F_InfoSource = 2;//信息来源
  256. if (info.problemType == "信箱案件承办")
  257. modelT_Bus_WorkOrder.F_InfoSource = 2;//信息来源
  258. else if (info.problemType == "APP")
  259. modelT_Bus_WorkOrder.F_InfoSource = 89;//信息来源
  260. else
  261. modelT_Bus_WorkOrder.F_InfoSource = 3;//信息来源
  262. try
  263. {
  264. modelT_Bus_WorkOrder.F_InfoConSmallType = int.Parse
  265. (DbHelperSQL.GetSingle($"select[dbo].[GetDictionaryID]('{ info.problemSmallType}')").ToString());
  266. }
  267. catch
  268. {
  269. }
  270. modelT_Bus_WorkOrder.F_Files = "";
  271. if (!string.IsNullOrEmpty(info.problemLocation))
  272. modelT_Bus_WorkOrder.F_Longitude = decimal .Parse(info.problemLocation.Split(',')[0]);
  273. if (!string .IsNullOrEmpty (info.problemLocation))
  274. modelT_Bus_WorkOrder.F_Latitude = decimal.Parse ( info.problemLocation.Split(',')[1]);
  275. try
  276. {
  277. modelT_Bus_WorkOrder.F_Mode = int.Parse
  278. (DbHelperSQL.GetSingle($"select[dbo].[GetDictionaryID]('{ info.ptype}')").ToString());
  279. }
  280. catch
  281. {
  282. }
  283. if (!string .IsNullOrEmpty(info.timeLimit))
  284. modelT_Bus_WorkOrder.F_LimitTime =Convert .ToDateTime ( info.timeLimit);
  285. modelT_Bus_WorkOrder.requirementFinishDay = info.timeLimit;
  286. modelT_Bus_WorkOrder.F_CusAddress = info.problemSite;
  287. modelT_Bus_WorkOrder.F_CusName = info.reporter;
  288. // modelT_Bus_WorkOrder.F_NewRemarks = info.workorderremark;
  289. modelT_Bus_WorkOrder.F_ConName = info.reporter; ;//联系人姓名
  290. modelT_Bus_WorkOrder.F_CusPhone = info.reporterContactInfo;//
  291. modelT_Bus_WorkOrder.F_ConPhone = info.reporterContactInfo;//联系人
  292. try
  293. {
  294. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(info.forwardTime);
  295. }
  296. catch
  297. {
  298. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  299. }
  300. // modelT_Bus_WorkOrder.F_Event = info.ismallcategory;//事件类别
  301. modelT_Bus_WorkOrder.F_Transferor = info.forwarder;//转办人
  302. modelT_Bus_WorkOrder.F_TransferTime = DateTime.Now;
  303. modelT_Bus_WorkOrder.F_ComTitle = info.problemTitle;
  304. // modelT_Bus_WorkOrder.F_Transferunit = info.transferunit;//转办单位
  305. modelT_Bus_WorkOrder.F_ComContent = info.problemDescription;//
  306. modelT_Bus_WorkOrder.F_Did = info.did;
  307. // modelT_Bus_WorkOrder.F_ResultRemarks = info.advice;//拟办意见
  308. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfos = new Model.T_Bus_AssignedInfo();
  309. //if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_ResultRemarks))
  310. //{
  311. // try
  312. // {
  313. // string[] limtim = modelT_Bus_WorkOrder.F_ResultRemarks.Split('于', '月', '日', '前');
  314. // DateTime limittime = DateTime.Parse(DateTime.Now.ToString("yyyy") + "年" + limtim[1] + "月" + limtim[2] + "日" + " 23:59:59");
  315. // if (limittime < DateTime.Now && limittime.Month == 1)
  316. // {
  317. // limittime = limittime.AddYears(1);
  318. // }
  319. // modelT_Bus_WorkOrder.F_LimitTime = limittime;
  320. // }
  321. // catch
  322. // {
  323. // }
  324. //}
  325. // modelT_Bus_WorkOrder.F_FinalOpinion = info.result;//处理结果
  326. // modelT_Bus_WorkOrder.F_Result = info.remark;//回访情况
  327. modelT_Bus_WorkOrder.F_Remarks = "★以上登记信息仅供市长热线平台及承办人员查阅,未经许可不得向外提供";//
  328. modelT_Bus_WorkOrder.F_IsDelete = 0;
  329. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  330. string msgss = "";
  331. try
  332. {
  333. if (!string.IsNullOrEmpty(info.threeunitid) && info.threeunitid != "null")
  334. {
  335. var deptList =
  336. new BLL.T_Sys_Department().GetModelList($"F_DeptNameSpell= '{info.threeunitid}'"); ;
  337. if (deptList != null && deptList.Count() > 0)
  338. {
  339. var dept = deptList.FirstOrDefault();
  340. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = new Model.T_Bus_AssignedInfo();
  341. modelT_Bus_AssignedInfo.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  342. DateTime limittime = DateTime.Now;
  343. try
  344. {
  345. limittime = DateTime.Parse(info.timeLimit);
  346. }
  347. catch
  348. {
  349. LogFactory.GetLogger("1123").Error(info.code + "限定期限错误");
  350. return Error("限定期限错误");
  351. }
  352. modelT_Bus_AssignedInfo.F_LimitTime = limittime;//办理时限
  353. modelT_Bus_AssignedInfo.F_MainDeptId = dept.F_DeptId;//主办单位id
  354. modelT_Bus_AssignedInfo.F_OtherDeptIds = "";//协办单位id
  355. modelT_Bus_AssignedInfo.F_AssignedOpinion = "郑州市交办";//交办意见
  356. modelT_Bus_AssignedInfo.F_State = 1;//0草稿 1正式
  357. modelT_Bus_AssignedInfo.F_CreateUser = "8000";
  358. modelT_Bus_AssignedInfo.F_CreateTime = DateTime.Now;
  359. modelT_Bus_AssignedInfo.F_IsDelete = 0;
  360. modelT_Bus_AssignedInfo.F_IsOverdue = 0;
  361. modelT_Bus_AssignedInfo.F_IsSure = 0;
  362. modelT_Bus_AssignedInfo.F_IsReload = 0;
  363. modelT_Bus_AssignedInfo.F_IsNext = 0;
  364. modelT_Bus_AssignedInfo.F_TimeResp = assignBLL.GetRepTimly(DateTime.Now);//及时查收时间点
  365. int aid = assignBLL.Add(modelT_Bus_AssignedInfo);
  366. if (modelT_Bus_AssignedInfo != null && modelT_Bus_AssignedInfo.F_State == 1)
  367. {
  368. #region 保存工单信息
  369. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.receive;//待查收
  370. modelT_Bus_WorkOrder.F_LimitTime = limittime;
  371. modelT_Bus_WorkOrder.F_Scanning = limittime.AddDays(3);
  372. modelT_Bus_WorkOrder.F_MainDeptId = dept.F_DeptId;
  373. modelT_Bus_WorkOrder.F_IsEnabled = 2;
  374. modelT_Bus_WorkOrder.F_OtherDeptIds = "";
  375. modelT_Bus_WorkOrder.F_AssignUser = "8000";
  376. modelT_Bus_WorkOrder.F_AssignTime = DateTime.Now;
  377. workorderBLL.Update(modelT_Bus_WorkOrder);
  378. #endregion
  379. #region 删除草稿信息
  380. var cglist = assignBLL.GetModelList(" F_IsDelete=0 and F_State=0 " +
  381. "and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
  382. foreach (var cg in cglist)
  383. {
  384. cg.F_IsDelete = 1;
  385. cg.F_DeleteUser = "8000";
  386. cg.F_DeleteTime = DateTime.Now;
  387. assignBLL.Update(cg);
  388. }
  389. #endregion
  390. #region 插入操作记录
  391. msgss = "郑州市" + " 交办了工单,主办单位:" + dept.F_DeptName;
  392. //推送消息表
  393. var users = userBLL.GetModelList(" F_DeptId='" + dept.F_DeptId + "' ");
  394. foreach (var u in users)
  395. {
  396. msg.AddInternalMessagesInfo("工单消息", msgss + ",工单编号:" +
  397. modelT_Bus_WorkOrder.F_WorkOrderId, u.F_UserCode, "8000", (int)EnumSmsType.workorder);
  398. if (!string.IsNullOrEmpty(u.F_Mobile))
  399. {
  400. string count = "你有新的工单,工单号" + modelT_Bus_WorkOrder.F_WorkOrderId + ",请及时查收。";
  401. string[] mag = { modelT_Bus_WorkOrder.F_WorkOrderId };
  402. bool n = new SMSController().AddSmS(1963450, 133, count, mag, u.F_Mobile);
  403. }
  404. if (!string.IsNullOrEmpty(u.F_Telephone))
  405. {
  406. var userlist = u.F_Telephone.Split(',');
  407. if (userlist != null)
  408. {
  409. string count = "你有新的工单,工单号" + modelT_Bus_WorkOrder.
  410. F_WorkOrderId + ",请及时查收。";
  411. string[] mag = { modelT_Bus_WorkOrder.F_WorkOrderId };
  412. bool n = new SMSController().AddSmSGroup(1963450, 133,
  413. count, mag, userlist, u.F_Telephone);
  414. }
  415. }
  416. }
  417. #endregion
  418. }
  419. }
  420. }
  421. }
  422. catch
  423. {
  424. }
  425. if (modelT_Bus_WorkOrder.F_Id > 0)
  426. {
  427. workorderBLL.Update(modelT_Bus_WorkOrder);
  428. }
  429. else
  430. {
  431. // BLL.T_Bus_WorkOrderNew newbll = new BLL.T_Bus_WorkOrderNew();
  432. // Model.T_Bus_WorkOrder model = new T_Bus_WorkOrder();
  433. // model = modelT_Bus_WorkOrder;
  434. //// model.F_ComTitle= info.title;
  435. // newbll.Add(model);
  436. // modelT_Bus_WorkOrder.F_ComTitle = "";
  437. workorderBLL.Add(modelT_Bus_WorkOrder);
  438. updateYJProgress(modelT_Bus_WorkOrder.F_WorkOrderId);
  439. }
  440. #endregion
  441. #region 插入操作记录
  442. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  443. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  444. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  445. string userinfo = "郑州市系统";
  446. if (modelT_Bus_WorkOrder.F_WorkState == 0 || modelT_Bus_WorkOrder.F_WorkState == 1)
  447. {
  448. oper.F_Message = userinfo + " 登记了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  449. }
  450. else if (modelT_Bus_WorkOrder.F_WorkState ==2)
  451. {
  452. oper.F_Message = msgss ;
  453. }
  454. else
  455. {
  456. oper.F_Message = userinfo + " 提交重办了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  457. }
  458. oper.F_CreateUser = info .forwarder;
  459. oper.F_CreateTime = DateTime.Now;
  460. oper.F_IsDelete = 0;
  461. operBLL.Add(oper);
  462. #endregion
  463. trans.Complete();
  464. }
  465. return Success("操作成功");
  466. }
  467. catch (Exception ex)
  468. {
  469. return Error("操作失败" + ex.Message);
  470. }
  471. }
  472. /// <summary>
  473. /// 服务工单交办接口
  474. /// </summary>
  475. /// <param name="info"></param>
  476. /// <returns></returns>
  477. [HttpPost]
  478. public ActionResult pushcase1()
  479. {
  480. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  481. var postString = reader.ReadToEnd();
  482. JObject paras = null;
  483. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  484. var info = Newtonsoft.Json.JsonConvert.DeserializeObject<didAddWorders>(paras.ToJson ());
  485. if (info == null)
  486. return Error("内容为空");
  487. try
  488. {
  489. LogFactory.GetLogger("1123").Warn(info.ToJson());
  490. using (TransactionScope trans = new TransactionScope())
  491. {
  492. #region 保存工单信息
  493. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  494. modelT_Bus_WorkOrder.F_OldWorkOrderId = info.code;
  495. var workorder = workorderBLL.GetModelList("F_OldWorkOrderId='" +
  496. modelT_Bus_WorkOrder.F_OldWorkOrderId + "'" +
  497. "and F_IsDelete=0");
  498. if (workorder != null && workorder.Count > 0)
  499. {
  500. return Error("工单已交办");
  501. }
  502. else
  503. {
  504. modelT_Bus_WorkOrder.F_WorkState = 1;
  505. modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID("8000");
  506. }
  507. modelT_Bus_WorkOrder.F_InfoConBigType = 1;
  508. //if (info.ideliverprogress == 11)
  509. // modelT_Bus_WorkOrder.F_Backreason = info.backreason;
  510. modelT_Bus_WorkOrder.F_Caseid = info.problemCode;
  511. modelT_Bus_WorkOrder.F_InfoSource = 2;//信息来源
  512. if (info.problemType == "信箱案件承办")
  513. modelT_Bus_WorkOrder.F_InfoSource = 2;//信息来源
  514. else if (info.problemType == "APP")
  515. modelT_Bus_WorkOrder.F_InfoSource = 89;//信息来源
  516. else
  517. modelT_Bus_WorkOrder.F_InfoSource = 3;//信息来源
  518. try
  519. {
  520. modelT_Bus_WorkOrder.F_InfoConSmallType = int.Parse
  521. (DbHelperSQL.GetSingle($"select[dbo].[GetDictionaryID]('{ info.problemSmallType}')").ToString());
  522. }
  523. catch
  524. {
  525. }
  526. modelT_Bus_WorkOrder.F_Files = "";
  527. if (!string.IsNullOrEmpty(info.problemLocation))
  528. modelT_Bus_WorkOrder.F_Longitude = decimal.Parse(info.problemLocation.Split(',')[0]);
  529. if (!string.IsNullOrEmpty(info.problemLocation))
  530. modelT_Bus_WorkOrder.F_Latitude = decimal.Parse(info.problemLocation.Split(',')[1]);
  531. try
  532. {
  533. modelT_Bus_WorkOrder.F_Mode = int.Parse
  534. (DbHelperSQL.GetSingle($"select[dbo].[GetDictionaryID]('{ info.ptype}')").ToString());
  535. }
  536. catch
  537. {
  538. }
  539. if (!string.IsNullOrEmpty(info.timeLimit))
  540. modelT_Bus_WorkOrder.F_LimitTime = Convert.ToDateTime(info.timeLimit);
  541. modelT_Bus_WorkOrder.requirementFinishDay = info.timeLimit;
  542. modelT_Bus_WorkOrder.F_CusAddress = info.problemSite;
  543. modelT_Bus_WorkOrder.F_CusName = info.reporter;
  544. // modelT_Bus_WorkOrder.F_NewRemarks = info.workorderremark;
  545. modelT_Bus_WorkOrder.F_ConName = info.reporter; ;//联系人姓名
  546. modelT_Bus_WorkOrder.F_CusPhone = info.reporterContactInfo;//
  547. modelT_Bus_WorkOrder.F_ConPhone = info.reporterContactInfo;//联系人
  548. try
  549. {
  550. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(info.forwardTime);
  551. }
  552. catch
  553. {
  554. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  555. }
  556. // modelT_Bus_WorkOrder.F_Event = info.ismallcategory;//事件类别
  557. modelT_Bus_WorkOrder.F_Transferor = info.forwarder;//转办人
  558. modelT_Bus_WorkOrder.F_TransferTime = DateTime.Now;
  559. modelT_Bus_WorkOrder.F_ComTitle = info.problemTitle;
  560. // modelT_Bus_WorkOrder.F_Transferunit = info.transferunit;//转办单位
  561. modelT_Bus_WorkOrder.F_ComContent = info.problemDescription;//
  562. modelT_Bus_WorkOrder.F_Did = info.did;
  563. // modelT_Bus_WorkOrder.F_ResultRemarks = info.advice;//拟办意见
  564. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfos = new Model.T_Bus_AssignedInfo();
  565. modelT_Bus_WorkOrder.F_Remarks = "★以上登记信息仅供市长热线平台及承办人员查阅,未经许可不得向外提供";//
  566. modelT_Bus_WorkOrder.F_IsDelete = 0;
  567. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  568. string msgss = "";
  569. try
  570. {
  571. if (!string.IsNullOrEmpty(info.threeunitid) && info.threeunitid != "null")
  572. {
  573. var deptList =
  574. new BLL.T_Sys_Department().GetModelList($"F_DeptNameSpell= '{info.threeunitid}'"); ;
  575. if (deptList != null && deptList.Count() > 0)
  576. {
  577. var dept = deptList.FirstOrDefault();
  578. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = new Model.T_Bus_AssignedInfo();
  579. modelT_Bus_AssignedInfo.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  580. DateTime limittime = DateTime.Now;
  581. try
  582. {
  583. limittime = DateTime.Parse(info.timeLimit);
  584. }
  585. catch
  586. {
  587. LogFactory.GetLogger("1123").Error(info.code + "限定期限错误");
  588. return Error("限定期限错误");
  589. }
  590. modelT_Bus_AssignedInfo.F_LimitTime = limittime;//办理时限
  591. modelT_Bus_AssignedInfo.F_MainDeptId = dept.F_DeptId;//主办单位id
  592. modelT_Bus_AssignedInfo.F_OtherDeptIds = "";//协办单位id
  593. modelT_Bus_AssignedInfo.F_AssignedOpinion = "郑州市交办";//交办意见
  594. modelT_Bus_AssignedInfo.F_State = 1;//0草稿 1正式
  595. modelT_Bus_AssignedInfo.F_CreateUser = "8000";
  596. modelT_Bus_AssignedInfo.F_CreateTime = DateTime.Now;
  597. modelT_Bus_AssignedInfo.F_IsDelete = 0;
  598. modelT_Bus_AssignedInfo.F_IsOverdue = 0;
  599. modelT_Bus_AssignedInfo.F_IsSure = 0;
  600. modelT_Bus_AssignedInfo.F_IsReload = 0;
  601. modelT_Bus_AssignedInfo.F_IsNext = 0;
  602. modelT_Bus_AssignedInfo.F_TimeResp = assignBLL.GetRepTimly(DateTime.Now);//及时查收时间点
  603. int aid = assignBLL.Add(modelT_Bus_AssignedInfo);
  604. if (modelT_Bus_AssignedInfo != null && modelT_Bus_AssignedInfo.F_State == 1)
  605. {
  606. #region 保存工单信息
  607. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.receive;//待查收
  608. modelT_Bus_WorkOrder.F_LimitTime = limittime;
  609. modelT_Bus_WorkOrder.F_Scanning = limittime.AddDays(3);
  610. modelT_Bus_WorkOrder.F_MainDeptId = dept.F_DeptId;
  611. modelT_Bus_WorkOrder.F_IsEnabled = 2;
  612. modelT_Bus_WorkOrder.F_OtherDeptIds = "";
  613. modelT_Bus_WorkOrder.F_AssignUser = "8000";
  614. modelT_Bus_WorkOrder.F_AssignTime = DateTime.Now;
  615. workorderBLL.Update(modelT_Bus_WorkOrder);
  616. #endregion
  617. #region 删除草稿信息
  618. var cglist = assignBLL.GetModelList(" F_IsDelete=0 and F_State=0 " +
  619. "and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
  620. foreach (var cg in cglist)
  621. {
  622. cg.F_IsDelete = 1;
  623. cg.F_DeleteUser = "8000";
  624. cg.F_DeleteTime = DateTime.Now;
  625. assignBLL.Update(cg);
  626. }
  627. #endregion
  628. #region 插入操作记录
  629. msgss = "郑州市" + " 交办了工单,主办单位:" + dept.F_DeptName;
  630. //推送消息表
  631. var users = userBLL.GetModelList(" F_DeptId='" + dept.F_DeptId + "' ");
  632. foreach (var u in users)
  633. {
  634. msg.AddInternalMessagesInfo("工单消息", msgss + ",工单编号:" +
  635. modelT_Bus_WorkOrder.F_WorkOrderId, u.F_UserCode, "8000", (int)EnumSmsType.workorder);
  636. if (!string.IsNullOrEmpty(u.F_Mobile))
  637. {
  638. string count = "你有新的工单,工单号" + modelT_Bus_WorkOrder.F_WorkOrderId + ",请及时查收。";
  639. string[] mag = { modelT_Bus_WorkOrder.F_WorkOrderId };
  640. bool n = new SMSController().AddSmS(1963450, 133, count, mag, u.F_Mobile);
  641. }
  642. if (!string.IsNullOrEmpty(u.F_Telephone))
  643. {
  644. var userlist = u.F_Telephone.Split(',');
  645. if (userlist != null)
  646. {
  647. string count = "你有新的工单,工单号" + modelT_Bus_WorkOrder.
  648. F_WorkOrderId + ",请及时查收。";
  649. string[] mag = { modelT_Bus_WorkOrder.F_WorkOrderId };
  650. bool n = new SMSController().AddSmSGroup(1963450, 133,
  651. count, mag, userlist, u.F_Telephone);
  652. }
  653. }
  654. }
  655. #endregion
  656. }
  657. }
  658. }
  659. }
  660. catch
  661. {
  662. }
  663. if (modelT_Bus_WorkOrder.F_Id > 0)
  664. {
  665. workorderBLL.Update(modelT_Bus_WorkOrder);
  666. }
  667. else
  668. {
  669. // BLL.T_Bus_WorkOrderNew newbll = new BLL.T_Bus_WorkOrderNew();
  670. // Model.T_Bus_WorkOrder model = new T_Bus_WorkOrder();
  671. // model = modelT_Bus_WorkOrder;
  672. //// model.F_ComTitle= info.title;
  673. // newbll.Add(model);
  674. // modelT_Bus_WorkOrder.F_ComTitle = "";
  675. workorderBLL.Add(modelT_Bus_WorkOrder);
  676. updateYJProgress(modelT_Bus_WorkOrder.F_WorkOrderId);
  677. }
  678. #endregion
  679. #region 插入操作记录
  680. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  681. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  682. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  683. string userinfo = "郑州市系统";
  684. if (modelT_Bus_WorkOrder.F_WorkState == 0 || modelT_Bus_WorkOrder.F_WorkState == 1)
  685. {
  686. oper.F_Message = userinfo + " 登记了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  687. }
  688. else if (modelT_Bus_WorkOrder.F_WorkState == 2)
  689. {
  690. oper.F_Message = msgss;
  691. }
  692. else
  693. {
  694. oper.F_Message = userinfo + " 提交重办了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  695. }
  696. oper.F_CreateUser = info.forwarder;
  697. oper.F_CreateTime = DateTime.Now;
  698. oper.F_IsDelete = 0;
  699. operBLL.Add(oper);
  700. #endregion
  701. trans.Complete();
  702. }
  703. return Success("操作成功");
  704. }
  705. catch (Exception ex)
  706. {
  707. return Error("操作失败" + ex.Message);
  708. }
  709. }
  710. public class eidAddWorders
  711. { /// <summary>
  712. /// 案件id(int)
  713. /// </summary>
  714. public int eid { set; get; }
  715. /// <summary>
  716. /// 标题
  717. /// </summary>
  718. public string title { set; get; }
  719. /// <summary>
  720. ///内容描述 类型为text
  721. /// </summary>
  722. public string content { set; get; }
  723. /// <summary>
  724. ///限定期限(年月日时分秒格式)
  725. /// </summary>
  726. public string requirementFinishDay { set; get; }
  727. /// <summary>
  728. ///来电人(varchar)
  729. /// </summary>
  730. public string caller { set; get; }
  731. /// <summary>
  732. ///来电人手机号码(varchar)
  733. /// </summary>
  734. public string callerPhone { set; get; }
  735. /// <summary>
  736. ///来电时间(年月日时分秒格式)
  737. /// </summary>
  738. public string registerTime { set; get; }
  739. /// <summary>
  740. ///登记人(varchar)
  741. /// </summary>
  742. public string forwarder { set; get; }
  743. /// <summary>
  744. /// 单位编码(varchar)
  745. /// </summary>
  746. public string unitCode { set; get; }
  747. /// <summary>
  748. ///登记日期(年月日时分秒格式)
  749. /// </summary>
  750. public string forwardTime { set; get; }
  751. /// <summary>
  752. ///案件编码(热线系统的案件编码,varchar)
  753. /// </summary>
  754. public string code { set; get; }
  755. /// <summary>
  756. /// 转办时间(年月日时分秒格式)
  757. /// </summary>
  758. public string operationTime { set; get; }
  759. /// <summary>
  760. ///转办记录唯一id(int)
  761. /// </summary>
  762. public int did { set; get; }
  763. }
  764. /// <summary>
  765. /// 即办工单
  766. /// </summary>
  767. /// <param name="info"></param>
  768. /// <returns></returns>
  769. [HttpPost]
  770. public ActionResult transferSend(eidAddWorders info)
  771. {
  772. if (info == null)
  773. return Error("内容为空");
  774. try
  775. {
  776. LogFactory.GetLogger("1123").Warn(info.ToJson());
  777. using (TransactionScope trans = new TransactionScope())
  778. {
  779. #region 保存工单信息
  780. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  781. modelT_Bus_WorkOrder.F_OldWorkOrderId = info.code;
  782. var workorder = workorderBLL.GetModelList("F_OldWorkOrderId='" +
  783. modelT_Bus_WorkOrder.F_OldWorkOrderId + "'" +
  784. "and F_IsDelete=0");
  785. if (workorder != null && workorder.Count > 0)
  786. {
  787. return Error("工单已交办");
  788. }
  789. else
  790. {
  791. modelT_Bus_WorkOrder.F_WorkState = 1;
  792. modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID("8000");
  793. }
  794. modelT_Bus_WorkOrder.F_Files = "";
  795. modelT_Bus_WorkOrder.F_InfoConBigType = 0;
  796. modelT_Bus_WorkOrder.F_Caseid = info.eid;
  797. modelT_Bus_WorkOrder.F_InfoSource = 1;//信息来源
  798. modelT_Bus_WorkOrder.F_NoticeDeptIds = info.unitCode;
  799. modelT_Bus_WorkOrder.F_LimitTime = Convert.ToDateTime(info.requirementFinishDay);
  800. modelT_Bus_WorkOrder.requirementFinishDay = info.requirementFinishDay;
  801. modelT_Bus_WorkOrder.F_CusName = info.caller;
  802. modelT_Bus_WorkOrder.F_ConName = info.caller; ;//联系人姓名
  803. modelT_Bus_WorkOrder.F_CusPhone = info.callerPhone;//
  804. modelT_Bus_WorkOrder.F_ConPhone = info.callerPhone;//联系人
  805. try
  806. {
  807. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(info.forwardTime);
  808. }
  809. catch
  810. {
  811. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  812. }
  813. modelT_Bus_WorkOrder.F_Transferor = info.forwarder;//转办人
  814. modelT_Bus_WorkOrder.F_TransferTime = Convert.ToDateTime(info.operationTime);
  815. modelT_Bus_WorkOrder.F_ComTitle = info.title;
  816. modelT_Bus_WorkOrder.F_ComContent = info.content;//
  817. modelT_Bus_WorkOrder.F_Did = info.did;
  818. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfos = new Model.T_Bus_AssignedInfo();
  819. modelT_Bus_WorkOrder.F_Remarks = "★以上登记信息仅供市长热线平台及承办人员查阅,未经许可不得向外提供";//
  820. modelT_Bus_WorkOrder.F_IsDelete = 0;
  821. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  822. if (modelT_Bus_WorkOrder.F_Id > 0)
  823. {
  824. workorderBLL.Update(modelT_Bus_WorkOrder);
  825. updateYJProgress(modelT_Bus_WorkOrder.F_WorkOrderId);
  826. }
  827. else
  828. {
  829. workorderBLL.Add(modelT_Bus_WorkOrder);
  830. }
  831. #endregion
  832. #region 插入操作记录
  833. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  834. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  835. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  836. string userinfo = "郑州市系统";
  837. if (modelT_Bus_WorkOrder.F_WorkState == 0 || modelT_Bus_WorkOrder.F_WorkState == 1)
  838. {
  839. oper.F_Message = userinfo + " 登记了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  840. }
  841. else
  842. {
  843. oper.F_Message = userinfo + " 提交重办了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  844. }
  845. oper.F_CreateUser = info.forwarder;
  846. oper.F_CreateTime = DateTime.Now;
  847. oper.F_IsDelete = 0;
  848. operBLL.Add(oper);
  849. #endregion
  850. trans.Complete();
  851. }
  852. return Success("操作成功");
  853. }
  854. catch (Exception ex)
  855. {
  856. return Error("操作失败" + ex.Message);
  857. }
  858. }
  859. public class returnvalue
  860. {
  861. public string code { set; get; }
  862. public string msg { set; get; }
  863. }
  864. public class returnvalue1
  865. {
  866. public string code { set; get; }
  867. public string message { set; get; }
  868. }
  869. /// <summary>
  870. /// 服务工单受理
  871. /// </summary>
  872. /// <returns></returns>
  873. public string updateProgress(string workorderid)
  874. {
  875. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  876. if (modelT_Bus_WorkOrder != null )
  877. {
  878. var dept =
  879. new BLL.T_Sys_Department().GetModel (modelT_Bus_WorkOrder.F_MainDeptId.Value ) ;
  880. NameValueCollection log = new NameValueCollection();
  881. log.Add("token", Logins());
  882. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  883. log.Add("curUnitCode", dept.F_DeptNameSpell);
  884. var keyDict = NameVlueToDictionary(log);
  885. string strJSON = JsonConvert.SerializeObject(keyDict);
  886. NameValueCollection values = new NameValueCollection();
  887. values.Add("jsonStr", strJSON);
  888. var url = $"{thirdUrl}/api/dockthree/updateProgress";
  889. try
  890. {
  891. string ret = HttpPostMultipartFormData(url, values);
  892. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  893. if (jo.code != "0")
  894. return jo.message ;
  895. }
  896. catch (Exception e)
  897. {
  898. LogFactory.GetLogger("受理").Error(e.Message);
  899. return e.Message;
  900. }
  901. return "";
  902. }
  903. else
  904. {
  905. return "该工单不存在";
  906. }
  907. }
  908. /// <summary>
  909. /// 服务工单受理
  910. /// </summary>
  911. /// <returns></returns>
  912. public string updateYJProgress(string workorderid)
  913. {
  914. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  915. if (modelT_Bus_WorkOrder != null)
  916. {
  917. NameValueCollection log = new NameValueCollection();
  918. log.Add("token", Logins());
  919. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  920. log.Add("curUnitCode", curUnitCode);
  921. var keyDict = NameVlueToDictionary(log);
  922. string strJSON = JsonConvert.SerializeObject(keyDict);
  923. NameValueCollection values = new NameValueCollection();
  924. values.Add("jsonStr", strJSON);
  925. var url = $"{thirdUrl}/api/dock/updateProgress";
  926. try
  927. {
  928. string ret = HttpPostMultipartFormData(url, values);
  929. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  930. if (jo.code != "0")
  931. return jo.message;
  932. }
  933. catch (Exception e)
  934. {
  935. LogFactory.GetLogger("受理").Error(e.Message);
  936. return e.Message;
  937. }
  938. return "";
  939. }
  940. else
  941. {
  942. return "该工单不存在";
  943. }
  944. }
  945. /// <summary>
  946. /// 申请延时
  947. /// </summary>
  948. /// <returns></returns>
  949. public string DWDelayWorkOrder(string workorderid,
  950. string reason, string files, DateTime newlimittime, DateTime OldTime)
  951. {
  952. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  953. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workorderid);
  954. if (modelT_Bus_WorkOrder != null && modelT_Bus_AssignedInfo != null)
  955. {
  956. if (modelT_Bus_AssignedInfo.F_IsSure == 1)
  957. {
  958. string F_DeptNameSpell = curUnitCode;
  959. if (modelT_Bus_WorkOrder.F_MainDeptId > 0)
  960. {
  961. var dept =
  962. new BLL.T_Sys_Department().GetModel(modelT_Bus_WorkOrder.F_MainDeptId.Value);
  963. F_DeptNameSpell = dept.F_DeptNameSpell;
  964. }
  965. string token = Logins();
  966. NameValueCollection log = new NameValueCollection();
  967. log.Add("token", token);
  968. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  969. log.Add("daynum", newlimittime.Subtract(OldTime).TotalDays.ToString());
  970. log.Add("reason", reason);
  971. log.Add("curUnitCode", F_DeptNameSpell);
  972. var keyDict = NameVlueToDictionary(log);
  973. string strJSON = JsonConvert.SerializeObject(keyDict);
  974. NameValueCollection values = new NameValueCollection();
  975. values.Add("jsonStr", strJSON);
  976. var url = $"{thirdUrl}/api/dockthree/increasetime";
  977. try
  978. {
  979. string ret = HttpPostMultipartFormData(url, values);
  980. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  981. if (jo.code != "0")
  982. return jo.message ;
  983. }
  984. catch (Exception e)
  985. {
  986. LogFactory.GetLogger("延期").Error(e.Message);
  987. return e.Message;
  988. }
  989. Processing(token, modelT_Bus_WorkOrder.F_Caseid.ToString(), F_DeptNameSpell
  990. , modelT_Bus_WorkOrder.F_WorkOrderId, "办理中", "申请延期工单", 1);
  991. return "";
  992. }
  993. else
  994. {
  995. return "该工单暂未交办";
  996. }
  997. }
  998. else
  999. {
  1000. return "该工单不存在";
  1001. }
  1002. }
  1003. /// <summary>
  1004. /// 申请延时
  1005. /// </summary>
  1006. /// <returns></returns>
  1007. public string DelayWorkOrder(string workorderid,string reason,string files,
  1008. DateTime newlimittime, DateTime OldTime)
  1009. {
  1010. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  1011. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workorderid);
  1012. if (modelT_Bus_WorkOrder != null && modelT_Bus_AssignedInfo != null )
  1013. {
  1014. if (modelT_Bus_AssignedInfo.F_IsSure == 1)
  1015. {
  1016. if (modelT_Bus_WorkOrder .F_InfoConBigType ==0)
  1017. {
  1018. NameValueCollection log = new NameValueCollection();
  1019. log.Add("token", Logins());
  1020. log.Add("eid", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1021. log.Add("delayTime", newlimittime.ToString("yyyy-MM-dd") );
  1022. log.Add("value", reason);
  1023. log.Add("unitCode", curUnitCode);
  1024. var keyDict = NameVlueToDictionary(log);
  1025. string strJSON = JsonConvert.SerializeObject(keyDict);
  1026. NameValueCollection values = new NameValueCollection();
  1027. values.Add("jsonStr", strJSON);
  1028. var url = $"{thirdUrl}/api/dock/delaytransfer";
  1029. try
  1030. {
  1031. string ret = HttpPostMultipartFormData(url, values);
  1032. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1033. if (jo.code != "0")
  1034. return jo.message ;
  1035. }
  1036. catch (Exception e)
  1037. {
  1038. LogFactory.GetLogger("延期").Error(e.Message);
  1039. return e.Message;
  1040. }
  1041. }
  1042. else
  1043. {
  1044. NameValueCollection log = new NameValueCollection();
  1045. log.Add("token", Logins());
  1046. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1047. log.Add("daynum", newlimittime.Subtract(OldTime).TotalDays.ToString());
  1048. log.Add("reason", reason);
  1049. log.Add("curUnitCode", curUnitCode);
  1050. var keyDict = NameVlueToDictionary(log);
  1051. string strJSON = JsonConvert.SerializeObject(keyDict);
  1052. NameValueCollection values = new NameValueCollection();
  1053. values.Add("jsonStr", strJSON);
  1054. var url = $"{thirdUrl}/api/dock/increasetime";
  1055. try
  1056. {
  1057. string ret = HttpPostMultipartFormData(url, values);
  1058. returnvalue jo = JsonConvert.DeserializeObject<returnvalue>(ret);
  1059. if (jo.code != "0")
  1060. return jo.msg;
  1061. }
  1062. catch (Exception e)
  1063. {
  1064. LogFactory.GetLogger("延期").Error(e.Message);
  1065. return e.Message;
  1066. }
  1067. }
  1068. return "";
  1069. }
  1070. else
  1071. {
  1072. return "该工单暂未交办";
  1073. }
  1074. }
  1075. else
  1076. {
  1077. return "该工单不存在";
  1078. }
  1079. }
  1080. /// <summary>
  1081. /// 审核延时工单
  1082. /// </summary>
  1083. /// <returns></returns>
  1084. [HttpPost ]
  1085. public ActionResult pushoverduecase(int problemCode,string tfinishday,bool flag,string reason,string processman)
  1086. {
  1087. var list = workorderBLL.GetModelList ($"F_Caseid='{problemCode}' and F_IsDelete=0");
  1088. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1089. if (list != null && list.Count > 0)
  1090. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1091. Model.T_Bus_DelayTime modelT_Bus_DelayTime = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1092. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1093. if (modelT_Bus_WorkOrder != null && modelT_Bus_DelayTime != null )
  1094. {
  1095. using (TransactionScope trans = new TransactionScope())
  1096. {
  1097. #region 保存工单信息
  1098. TimeSpan ts =Convert .ToDateTime ( tfinishday).Subtract(modelT_Bus_WorkOrder.F_LimitTime.Value);
  1099. int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
  1100. if (modelT_Bus_WorkOrder.F_Scanning != null)
  1101. modelT_Bus_WorkOrder.F_Scanning = modelT_Bus_WorkOrder.F_Scanning.Value.AddHours(tss);
  1102. // modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
  1103. modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1104. workorderBLL.Update(modelT_Bus_WorkOrder);
  1105. #endregion
  1106. #region 保存审核信息
  1107. if (flag)
  1108. modelT_Bus_DelayTime.F_IsAudit = 1;//审核
  1109. else
  1110. modelT_Bus_DelayTime.F_IsAudit = 2;//审核
  1111. modelT_Bus_DelayTime.F_AuditUser = processman;
  1112. modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
  1113. modelT_Bus_DelayTime.F_RefuseReason = reason;
  1114. modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1115. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
  1116. #endregion
  1117. string type = "同意"; string des = "";
  1118. if (modelT_Bus_DelayTime.F_IsAudit == 1)
  1119. {
  1120. #region 修改交办记录
  1121. if (modelT_Bus_AssignedInfo!=null )
  1122. {
  1123. modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
  1124. assignBLL.Update(modelT_Bus_AssignedInfo);
  1125. }
  1126. #endregion
  1127. #region 处理协办单位
  1128. var xblist = assignItemBLL.GetModelList(" F_IsDelete=0 and F_State=1 and ISNULL(F_FeedbackTime, '')='' and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
  1129. foreach (var xb in xblist)
  1130. {
  1131. //xb.F_LimitTime = DateTime.Now;
  1132. xb.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
  1133. assignItemBLL.Update(xb);
  1134. }
  1135. #endregion
  1136. des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1137. }
  1138. else
  1139. {
  1140. type = "拒绝";
  1141. }
  1142. #region 插入操作记录
  1143. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1144. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1145. oper.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;
  1146. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1147. string userinfo = processman;
  1148. oper.F_Message = userinfo + " " + type + "了工单延时申请" + des;
  1149. oper.F_CreateUser = processman;
  1150. oper.F_CreateTime = DateTime.Now;
  1151. oper.F_IsDelete = 0;
  1152. operBLL.Add(oper);
  1153. //推送消息表
  1154. msg.AddInternalMessagesInfo("工单消息", oper.F_Message + ",工单编号:" + oper.F_WorkOrderId, modelT_Bus_DelayTime.F_CreateUser, processman, (int)EnumSmsType.workorder);
  1155. #endregion
  1156. trans.Complete();
  1157. }
  1158. return Success("操作成功");
  1159. }
  1160. else
  1161. {
  1162. return Error("操作失败");
  1163. }
  1164. }
  1165. /// <summary>
  1166. /// 即办件延期审核通过
  1167. /// </summary>
  1168. /// <returns></returns>
  1169. [HttpPost]
  1170. public ActionResult transferDelayAdopt(int eid, string requirementFinishDay, bool flag, string processman)
  1171. {
  1172. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  1173. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1174. if (list != null && list.Count > 0)
  1175. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1176. Model.T_Bus_DelayTime modelT_Bus_DelayTime = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1177. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1178. if (modelT_Bus_WorkOrder != null && modelT_Bus_DelayTime != null && modelT_Bus_AssignedInfo != null)
  1179. {
  1180. using (TransactionScope trans = new TransactionScope())
  1181. {
  1182. #region 保存工单信息
  1183. TimeSpan ts = Convert.ToDateTime(requirementFinishDay).Subtract(modelT_Bus_WorkOrder.F_LimitTime.Value);
  1184. int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
  1185. if (modelT_Bus_WorkOrder.F_Scanning != null)
  1186. modelT_Bus_WorkOrder.F_Scanning = modelT_Bus_WorkOrder.F_Scanning.Value.AddHours(tss);
  1187. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
  1188. modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1189. workorderBLL.Update(modelT_Bus_WorkOrder);
  1190. #endregion
  1191. #region 保存审核信息
  1192. if (flag)
  1193. modelT_Bus_DelayTime.F_IsAudit = 1;//审核
  1194. else
  1195. modelT_Bus_DelayTime.F_IsAudit = 0;//审核
  1196. modelT_Bus_DelayTime.F_AuditUser = processman;
  1197. modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
  1198. modelT_Bus_DelayTime.F_RefuseReason = "";
  1199. modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1200. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
  1201. #endregion
  1202. string type = "同意"; string des = "";
  1203. if (modelT_Bus_DelayTime.F_IsAudit == 1)
  1204. {
  1205. #region 修改交办记录
  1206. modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
  1207. assignBLL.Update(modelT_Bus_AssignedInfo);
  1208. #endregion
  1209. #region 处理协办单位
  1210. var xblist = assignItemBLL.GetModelList(" F_IsDelete=0 and F_State=1 and ISNULL(F_FeedbackTime, '')='' and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
  1211. foreach (var xb in xblist)
  1212. {
  1213. //xb.F_LimitTime = DateTime.Now;
  1214. xb.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
  1215. assignItemBLL.Update(xb);
  1216. }
  1217. #endregion
  1218. des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_WorkOrder.F_LimitTime.Value.AddHours(tss);
  1219. }
  1220. else
  1221. {
  1222. type = "拒绝";
  1223. }
  1224. #region 插入操作记录
  1225. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1226. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1227. oper.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;
  1228. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1229. string userinfo = processman;
  1230. oper.F_Message = userinfo + " " + type + "了工单延时申请" + des;
  1231. oper.F_CreateUser = processman;
  1232. oper.F_CreateTime = DateTime.Now;
  1233. oper.F_IsDelete = 0;
  1234. operBLL.Add(oper);
  1235. //推送消息表
  1236. msg.AddInternalMessagesInfo("工单消息", oper.F_Message + ",工单编号:" + oper.F_WorkOrderId, modelT_Bus_DelayTime.F_CreateUser, processman, (int)EnumSmsType.workorder);
  1237. #endregion
  1238. trans.Complete();
  1239. }
  1240. return Success("操作成功");
  1241. }
  1242. else
  1243. {
  1244. return Error("操作失败");
  1245. }
  1246. }
  1247. /// <summary>
  1248. /// 即办件延期审核不通过
  1249. /// </summary>
  1250. /// <returns></returns>
  1251. [HttpPost]
  1252. public ActionResult transferDelayFail(int eid, string value, bool flag, string processman)
  1253. {
  1254. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  1255. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1256. if (list != null && list.Count > 0)
  1257. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1258. Model.T_Bus_DelayTime modelT_Bus_DelayTime = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1259. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  1260. if (modelT_Bus_WorkOrder != null && modelT_Bus_DelayTime != null && modelT_Bus_AssignedInfo != null)
  1261. {
  1262. using (TransactionScope trans = new TransactionScope())
  1263. {
  1264. #region 保存审核信息
  1265. if (flag)
  1266. modelT_Bus_DelayTime.F_IsAudit = 1;//审核
  1267. else
  1268. modelT_Bus_DelayTime.F_IsAudit = 2;//审核
  1269. modelT_Bus_DelayTime.F_AuditUser = processman;
  1270. modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
  1271. modelT_Bus_DelayTime.F_RefuseReason = value;
  1272. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
  1273. #endregion
  1274. string type = "同意"; string des = "";
  1275. type = "拒绝";
  1276. // modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
  1277. workorderBLL.Update(modelT_Bus_WorkOrder);
  1278. #region 插入操作记录
  1279. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1280. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1281. oper.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;
  1282. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1283. string userinfo = processman;
  1284. oper.F_Message = userinfo + " " + type + "了工单延时申请" + des;
  1285. oper.F_CreateUser = processman;
  1286. oper.F_CreateTime = DateTime.Now;
  1287. oper.F_IsDelete = 0;
  1288. operBLL.Add(oper);
  1289. //推送消息表
  1290. msg.AddInternalMessagesInfo("工单消息",
  1291. oper.F_Message + ",工单编号:" + oper.F_WorkOrderId,
  1292. modelT_Bus_DelayTime.F_CreateUser, processman, (int)EnumSmsType.workorder);
  1293. #endregion
  1294. trans.Complete();
  1295. }
  1296. return Success("操作成功");
  1297. }
  1298. else
  1299. {
  1300. return Error("操作失败");
  1301. }
  1302. }
  1303. /// <summary>
  1304. /// 单位处理记录
  1305. /// </summary>
  1306. /// <returns></returns>
  1307. public string Processing(string token,string eid,string F_DeptNameSpell
  1308. ,string workorderid,
  1309. string progress,string operate
  1310. ,int flag=1)
  1311. {
  1312. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  1313. NameValueCollection log = new NameValueCollection();
  1314. log.Add("token", token);
  1315. log.Add("eid", eid);
  1316. log.Add("progress", progress);
  1317. log.Add("unitCode", F_DeptNameSpell);
  1318. log.Add("operate", operate);
  1319. log.Add("remark", "");
  1320. log.Add("flag", flag.ToString ());
  1321. var keyDict = NameVlueToDictionary(log);
  1322. string strJSON = JsonConvert.SerializeObject(keyDict);
  1323. NameValueCollection values = new NameValueCollection();
  1324. values.Add("jsonStr", strJSON);
  1325. var url = $"{thirdUrl}/api/dock/threeFinishResult";
  1326. try
  1327. {
  1328. string ret = HttpPostMultipartFormData(url, values);
  1329. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1330. if (jo.code != "0")
  1331. return jo.message ;
  1332. }
  1333. catch (Exception e)
  1334. {
  1335. LogFactory.GetLogger("工单处理记录").Error(e.Message);
  1336. return e.Message;
  1337. }
  1338. return "";
  1339. }
  1340. /// <summary>
  1341. /// 单位退回工单
  1342. /// </summary>
  1343. /// <returns></returns>
  1344. public string DWBackWorkOrder(string workorderid,string reason,string username,string usercode)
  1345. {
  1346. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  1347. string F_DeptNameSpell = curUnitCode;
  1348. var dept =
  1349. new BLL.T_Sys_Department().GetModel(modelT_Bus_WorkOrder.F_MainDeptId.Value);
  1350. F_DeptNameSpell = dept.F_DeptNameSpell;
  1351. NameValueCollection log = new NameValueCollection();
  1352. string token = Logins();
  1353. log.Add("token", token);
  1354. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1355. log.Add("reason", reason);
  1356. log.Add("curUnitCode", F_DeptNameSpell);
  1357. var keyDict = NameVlueToDictionary(log);
  1358. string strJSON = JsonConvert.SerializeObject(keyDict);
  1359. NameValueCollection values = new NameValueCollection();
  1360. values.Add("jsonStr", strJSON);
  1361. var url = $"{thirdUrl}/api/dockthree/applysendback";
  1362. try
  1363. {
  1364. string ret = HttpPostMultipartFormData(url, values);
  1365. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1366. if (jo.code != "0")
  1367. return jo.message ;
  1368. }
  1369. catch (Exception e)
  1370. {
  1371. LogFactory.GetLogger("申请退回工单").Error(e.Message);
  1372. return e.Message;
  1373. }
  1374. Processing(token, modelT_Bus_WorkOrder.F_Caseid.ToString(), F_DeptNameSpell
  1375. , modelT_Bus_WorkOrder.F_WorkOrderId, "办理中", "申请退回工单", 2);
  1376. return "";
  1377. }
  1378. /// <summary>
  1379. /// 申请退回工单 这个不用了
  1380. /// </summary>
  1381. /// <returns></returns>
  1382. [Authority]
  1383. public ActionResult BackWorkOrder()
  1384. {
  1385. int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
  1386. Model.T_Sys_UserAccount userModel = userBLL.GetModel(userId);
  1387. if (userModel.F_RoleCode == "WLDW" || userModel.F_RoleCode == "GLY" || userModel.F_RoleCode == "ZXLD")
  1388. {
  1389. string workorderid = RequestString.GetFormString("workorderid");
  1390. string reason = RequestString.GetFormString("reason");
  1391. var reminds = remindBLL.GetModelList($" F_State=0 and F_WorkOrderId='{workorderid }' and F_IsDelete=0 and F_Type =1").ToList();
  1392. if (reminds != null && reminds.Count() > 0)
  1393. {
  1394. return Error("督办工单不能退回");
  1395. }
  1396. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  1397. using (TransactionScope trans = new TransactionScope())
  1398. {
  1399. if (modelT_Bus_WorkOrder.F_InfoConBigType == 0)
  1400. {
  1401. NameValueCollection log = new NameValueCollection();
  1402. log.Add("token", Logins());
  1403. log.Add("eid", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1404. log.Add("value", reason);
  1405. log.Add("unitCode", curUnitCode);
  1406. var keyDict = NameVlueToDictionary(log);
  1407. string strJSON = JsonConvert.SerializeObject(keyDict);
  1408. NameValueCollection values = new NameValueCollection();
  1409. values.Add("jsonStr", strJSON);
  1410. var url = $"{thirdUrl}/api/dock/returntransfer";
  1411. try
  1412. {
  1413. string ret = HttpPostMultipartFormData(url, values);
  1414. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1415. if (jo.code != "0")
  1416. return Error(jo.message );
  1417. }
  1418. catch (Exception e)
  1419. {
  1420. LogFactory.GetLogger("申请退回工单").Error(e.Message);
  1421. return Error(e.Message);
  1422. }
  1423. }
  1424. else
  1425. {
  1426. NameValueCollection log = new NameValueCollection();
  1427. log.Add("token", Logins());
  1428. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1429. log.Add("reason", reason);
  1430. log.Add("curUnitCode", curUnitCode);
  1431. var keyDict = NameVlueToDictionary(log);
  1432. string strJSON = JsonConvert.SerializeObject(keyDict);
  1433. NameValueCollection values = new NameValueCollection();
  1434. values.Add("jsonStr", strJSON);
  1435. var url = $"{thirdUrl}/api/dock/applysendback";
  1436. try
  1437. {
  1438. string ret = HttpPostMultipartFormData(url, values);
  1439. returnvalue jo = JsonConvert.DeserializeObject<returnvalue>(ret);
  1440. if (jo.code != "0")
  1441. return Error(jo.msg);
  1442. }
  1443. catch (Exception e)
  1444. {
  1445. LogFactory.GetLogger("申请退回工单").Error(e.Message);
  1446. return Error(e.Message);
  1447. }
  1448. }
  1449. #region 保存工单信息
  1450. modelT_Bus_WorkOrder.F_WorkState = 14;
  1451. workorderBLL.Update(modelT_Bus_WorkOrder);
  1452. #endregion
  1453. #region 插入操作记录
  1454. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1455. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1456. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1457. string userinfo = userModel.depname + "-" + userModel.F_UserName + "(" + userModel.F_UserCode + ")";
  1458. oper.F_Message = userinfo + " 申请了退回工单";
  1459. oper.F_CreateUser = userModel.F_UserCode;
  1460. oper.F_CreateTime = DateTime.Now;
  1461. oper.F_IsDelete = 0;
  1462. operBLL.Add(oper);
  1463. //推送消息表
  1464. #endregion
  1465. trans.Complete();
  1466. }
  1467. return Success("操作成功");
  1468. }
  1469. else
  1470. {
  1471. return Error("权限不足");
  1472. }
  1473. }
  1474. /// <summary>
  1475. /// 审核退回工单
  1476. /// </summary>
  1477. /// <returns></returns>
  1478. [HttpPost]
  1479. public ActionResult pushbackcase(int problemCode,int did, bool flag, string reason, string processman)
  1480. {
  1481. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  1482. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1483. if (list != null && list.Count > 0)
  1484. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1485. if (modelT_Bus_WorkOrder != null)
  1486. {
  1487. using (TransactionScope trans = new TransactionScope())
  1488. {
  1489. string type = "同意";
  1490. if (!flag)
  1491. {
  1492. modelT_Bus_WorkOrder.F_WorkState = 1;//办理中
  1493. type = "拒绝";
  1494. if(modelT_Bus_WorkOrder.F_IsEnabled ==2)
  1495. {
  1496. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.
  1497. GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId );
  1498. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.receive;//待查收
  1499. workorderBLL.Update(modelT_Bus_WorkOrder);
  1500. //modelT_Bus_AssignedInfo.F_FeedbackTime = null;//反馈时间
  1501. modelT_Bus_AssignedInfo.F_IsSure = 0;
  1502. modelT_Bus_AssignedInfo.F_SureUser = "";
  1503. modelT_Bus_AssignedInfo.F_SureTime = null;
  1504. assignBLL.Update(modelT_Bus_AssignedInfo);
  1505. }
  1506. }
  1507. else
  1508. {
  1509. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.finish;
  1510. workorderBLL.Update(modelT_Bus_WorkOrder);
  1511. }
  1512. workorderBLL.Update(modelT_Bus_WorkOrder);
  1513. #region 插入操作记录
  1514. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1515. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1516. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1517. string userinfo = processman;
  1518. oper.F_Message = userinfo + " " + type + "了工单退回申请" + reason;
  1519. oper.F_CreateUser = processman;
  1520. oper.F_CreateTime = DateTime.Now;
  1521. oper.F_IsDelete = 0;
  1522. operBLL.Add(oper);
  1523. //推送消息表
  1524. #endregion
  1525. trans.Complete();
  1526. }
  1527. return Success("操作成功");
  1528. }
  1529. else
  1530. {
  1531. return Error("操作失败");
  1532. }
  1533. }
  1534. /// <summary>
  1535. /// 即办件同意退回工单
  1536. /// </summary>
  1537. /// <returns></returns>
  1538. [HttpPost]
  1539. public ActionResult transferReturnAdopt(int eid, bool flag, string processman)
  1540. {
  1541. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  1542. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1543. if (list != null && list.Count > 0)
  1544. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1545. if (modelT_Bus_WorkOrder != null)
  1546. {
  1547. using (TransactionScope trans = new TransactionScope())
  1548. {
  1549. string type = "同意";
  1550. if (!flag)
  1551. {
  1552. modelT_Bus_WorkOrder.F_WorkState = 1;//办理中
  1553. type = "拒绝";
  1554. }
  1555. workorderBLL.Update(modelT_Bus_WorkOrder);
  1556. #region 插入操作记录
  1557. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1558. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1559. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1560. string userinfo = processman;
  1561. oper.F_Message = userinfo + " " + type + "了工单退回申请" ;
  1562. oper.F_CreateUser = processman;
  1563. oper.F_CreateTime = DateTime.Now;
  1564. oper.F_IsDelete = 0;
  1565. operBLL.Add(oper);
  1566. //推送消息表
  1567. #endregion
  1568. trans.Complete();
  1569. }
  1570. return Success("操作成功");
  1571. }
  1572. else
  1573. {
  1574. return Error("操作失败");
  1575. }
  1576. }
  1577. /// <summary>
  1578. /// 即办件拒绝退回工单
  1579. /// </summary>
  1580. /// <returns></returns>
  1581. [HttpPost]
  1582. public ActionResult transferReturnFail(int eid, bool flag,string value, string processman)
  1583. {
  1584. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  1585. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1586. if (list != null && list.Count > 0)
  1587. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1588. if (modelT_Bus_WorkOrder != null)
  1589. {
  1590. using (TransactionScope trans = new TransactionScope())
  1591. {
  1592. string type = "同意";
  1593. if (!flag)
  1594. {
  1595. modelT_Bus_WorkOrder.F_WorkState = 1;//办理中
  1596. type = "拒绝";
  1597. }
  1598. workorderBLL.Update(modelT_Bus_WorkOrder);
  1599. #region 插入操作记录
  1600. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1601. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1602. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1603. string userinfo = processman;
  1604. oper.F_Message = userinfo + " " + type + "了工单退回申请"+ value;
  1605. oper.F_CreateUser = processman;
  1606. oper.F_CreateTime = DateTime.Now;
  1607. oper.F_IsDelete = 0;
  1608. operBLL.Add(oper);
  1609. //推送消息表
  1610. #endregion
  1611. trans.Complete();
  1612. }
  1613. return Success("操作成功");
  1614. }
  1615. else
  1616. {
  1617. return Error("操作失败");
  1618. }
  1619. }
  1620. public string DwHandWorkorder
  1621. (Model.T_Bus_WorkOrder modelT_Bus_WorkOrder, Model.T_Sys_UserAccount userModel)
  1622. {
  1623. token = Logins();
  1624. if (modelT_Bus_WorkOrder.F_IsEnabled == 2)
  1625. {
  1626. string F_DeptNameSpell = curUnitCode;
  1627. if (modelT_Bus_WorkOrder.F_MainDeptId > 0)
  1628. {
  1629. var dept =
  1630. new BLL.T_Sys_Department().GetModel(modelT_Bus_WorkOrder.F_MainDeptId.Value);
  1631. F_DeptNameSpell = dept.F_DeptNameSpell;
  1632. }
  1633. string did = modelT_Bus_WorkOrder.F_Caseid.ToString();
  1634. NameValueCollection log = new NameValueCollection();
  1635. log.Add("token", token);
  1636. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1637. log.Add("result", modelT_Bus_WorkOrder.F_NewResult);
  1638. log.Add("curUnitCode", F_DeptNameSpell);
  1639. var keyDict = NameVlueToDictionary(log);
  1640. string strJSON = JsonConvert.SerializeObject(keyDict);
  1641. NameValueCollection values = new NameValueCollection();
  1642. values.Add("jsonStr", strJSON);
  1643. var url = $"{thirdUrl}/api/dockthree/unitsavecase";
  1644. try
  1645. {
  1646. string ret = HttpPostMultipartFormData(url, values);
  1647. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1648. if (jo.code != "0")
  1649. return jo.message;
  1650. }
  1651. catch (Exception e)
  1652. {
  1653. LogFactory.GetLogger("结果").Error(e.Message);
  1654. return e.Message;
  1655. }
  1656. }
  1657. return "";
  1658. }
  1659. /// <summary>
  1660. /// 推送处理结果
  1661. /// </summary>
  1662. /// <returns></returns>
  1663. public string HandleWorkOrder(Model.T_Bus_WorkOrder modelT_Bus_WorkOrder, Model .T_Sys_UserAccount userModel)
  1664. {
  1665. string type = "";string did = "";string token = "";
  1666. token = Logins();
  1667. var reminds = remindBLL.GetModelList($" F_State=0 and F_WorkOrderId='{modelT_Bus_WorkOrder.F_WorkOrderId }' and F_IsDelete=0 and F_Type =1").ToList();
  1668. if (reminds != null && reminds.Count() > 0)
  1669. {
  1670. type = "12";
  1671. NameValueCollection log = new NameValueCollection();
  1672. log.Add("token", token);
  1673. log.Add("id", reminds.FirstOrDefault().F_Did);
  1674. did = reminds.FirstOrDefault().F_Did;
  1675. log.Add("result", modelT_Bus_WorkOrder.F_NewResult);
  1676. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_HCFiles))
  1677. {
  1678. string message = upload(modelT_Bus_WorkOrder.F_HCFiles, token, did, type);
  1679. if (message != "")
  1680. return message;
  1681. }
  1682. var keyDict = NameVlueToDictionary(log);
  1683. string strJSON = JsonConvert.SerializeObject(keyDict);
  1684. NameValueCollection values = new NameValueCollection();
  1685. values.Add("jsonStr", strJSON);
  1686. var url = $"{thirdUrl}/api/dock/finishSupervise";
  1687. try
  1688. {
  1689. string ret = HttpPostMultipartFormData(url, values);
  1690. returnvalue jo = JsonConvert.DeserializeObject<returnvalue>(ret);
  1691. if (jo.code != "0")
  1692. return jo.msg;
  1693. }
  1694. catch (Exception e)
  1695. {
  1696. LogFactory.GetLogger("督办结果").Error(e.Message);
  1697. return e.Message;
  1698. }
  1699. }
  1700. else
  1701. {
  1702. did = modelT_Bus_WorkOrder.F_Caseid.ToString();
  1703. if (modelT_Bus_WorkOrder.F_InfoConBigType == 0)
  1704. {
  1705. type = "19";
  1706. NameValueCollection log = new NameValueCollection();
  1707. log.Add("token", token);
  1708. log.Add("eid", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1709. log.Add("result", modelT_Bus_WorkOrder.F_NewResult);
  1710. log.Add("unitCode", curUnitCode);
  1711. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_HCFiles))
  1712. {
  1713. string message = upload(modelT_Bus_WorkOrder.F_HCFiles, token, did, type);
  1714. if (message != "")
  1715. return message;
  1716. }
  1717. var keyDict = NameVlueToDictionary(log);
  1718. string strJSON = JsonConvert.SerializeObject(keyDict);
  1719. NameValueCollection values = new NameValueCollection();
  1720. values.Add("jsonStr", strJSON);
  1721. var url = $"{thirdUrl}/api/dock/finishtransfer";
  1722. try
  1723. {
  1724. string ret = HttpPostMultipartFormData(url, values);
  1725. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(ret);
  1726. if (jo.code != "0")
  1727. return jo.message;
  1728. }
  1729. catch (Exception e)
  1730. {
  1731. LogFactory.GetLogger("既办结果").Error(e.Message);
  1732. return e.Message;
  1733. }
  1734. }
  1735. else
  1736. {
  1737. type = "13";
  1738. NameValueCollection log = new NameValueCollection();
  1739. log.Add("token", token);
  1740. log.Add("did", modelT_Bus_WorkOrder.F_Caseid.ToString());
  1741. log.Add("result", modelT_Bus_WorkOrder.F_NewResult);
  1742. log.Add("curUnitCode", curUnitCode);
  1743. var keyDict = NameVlueToDictionary(log);
  1744. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_HCFiles))
  1745. {
  1746. string message = upload(modelT_Bus_WorkOrder.F_HCFiles, token, did, type);
  1747. if (message != "")
  1748. return message;
  1749. }
  1750. string strJSON = JsonConvert.SerializeObject(keyDict);
  1751. NameValueCollection values = new NameValueCollection();
  1752. values.Add("jsonStr", strJSON);
  1753. var url = $"{thirdUrl}/api/dock/unitsavecase";
  1754. try
  1755. {
  1756. string ret = HttpPostMultipartFormData(url, values);
  1757. returnvalue jo = JsonConvert.DeserializeObject<returnvalue>(ret);
  1758. if (jo.code != "0")
  1759. return jo.msg;
  1760. }
  1761. catch (Exception e)
  1762. {
  1763. LogFactory.GetLogger("结果").Error(e.Message);
  1764. return e.Message;
  1765. }
  1766. }
  1767. }
  1768. //if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_Files))
  1769. //{
  1770. // if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_Files))
  1771. // {
  1772. // using (var content = new MultipartFormDataContent())
  1773. // {
  1774. // var files = GetFileData(modelT_Bus_WorkOrder.F_Files);
  1775. // NameValueCollection fileCollection = new NameValueCollection();
  1776. // for (int i = 0; i < files.Count(); i++)
  1777. // {
  1778. // fileCollection.Add($"file", files[i]);
  1779. // }
  1780. // NameValueCollection nameValueCollection = new NameValueCollection();
  1781. // nameValueCollection.Add("token", token);
  1782. // nameValueCollection.Add("id", did);
  1783. // nameValueCollection.Add("type", type);
  1784. // string url = $"{thirdUrl}/api/dock/uploadfile";
  1785. // try
  1786. // {
  1787. // var Postresult = PostMultipartFormData(url, null, nameValueCollection, files);
  1788. // returnvalue jo = JsonConvert.DeserializeObject<returnvalue>(Postresult);
  1789. // if (jo.code != "0")
  1790. // return jo.msg;
  1791. // }
  1792. // catch (Exception e)
  1793. // {
  1794. // LogFactory.GetLogger("附件").Error(e.Message);
  1795. // return e.ToJson();
  1796. // }
  1797. // }
  1798. // }
  1799. //}
  1800. #region 保存工单信息
  1801. // modelT_Bus_WorkOrder.F_WorkState = 14;//延时审核中
  1802. // workorderBLL.Update(modelT_Bus_WorkOrder);
  1803. #endregion
  1804. #region 插入操作记录
  1805. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1806. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1807. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1808. string userinfo = userModel.depname + "-" + userModel.F_UserName + "(" + userModel.F_UserCode + ")";
  1809. oper.F_Message = userinfo + " 推送处理结果";
  1810. oper.F_CreateUser = userModel.F_UserCode;
  1811. oper.F_CreateTime = DateTime.Now;
  1812. oper.F_IsDelete = 0;
  1813. operBLL.Add(oper);
  1814. //推送消息表
  1815. #endregion
  1816. return "" ;
  1817. }
  1818. public string upload(string F_Files,string token,string did,string type)
  1819. {
  1820. if (!string.IsNullOrEmpty(F_Files))
  1821. {
  1822. using (var content = new MultipartFormDataContent())
  1823. {
  1824. var files = GetFileData(F_Files);
  1825. //NameValueCollection fileCollection = new NameValueCollection();
  1826. // for (int i= 0;i <files .Count ();i++)
  1827. // {
  1828. // fileCollection.Add($"file", files[i ]);
  1829. // }
  1830. NameValueCollection nameValueCollection = new NameValueCollection();
  1831. nameValueCollection.Add("token", token);
  1832. nameValueCollection.Add("id", did);
  1833. nameValueCollection.Add("type", type);
  1834. string url = $"{thirdUrl}/api/dock/uploadfile";
  1835. try
  1836. {
  1837. var Postresult = PostMultipartFormData(url,null , nameValueCollection, files);
  1838. returnvalue1 jo = JsonConvert.DeserializeObject<returnvalue1>(Postresult);
  1839. if (jo.code != "0")
  1840. {
  1841. LogFactory.GetLogger("附件").Error(jo.message);
  1842. return jo.message;
  1843. }
  1844. }
  1845. catch (Exception e)
  1846. {
  1847. LogFactory.GetLogger("附件").Error(e.Message);
  1848. return e.ToJson();
  1849. }
  1850. }
  1851. }
  1852. return "";
  1853. }
  1854. /// <summary>
  1855. /// 使用multipart/form-data方式上传文件及其他数据
  1856. /// </summary>
  1857. /// <param name="headers">请求头参数</param>
  1858. /// <param name="nameValueCollection">键值对参数</param>
  1859. /// <param name="fileCollection">文件参数:参数名,文件路径</param>
  1860. /// <returns>接口返回结果</returns>
  1861. public static string PostMultipartFormData(string url, Dictionary<string, string> headers,
  1862. NameValueCollection nameValueCollection, List <string > files)
  1863. {
  1864. using (var client = new HttpClient())
  1865. {
  1866. using (var content = new MultipartFormDataContent())
  1867. {
  1868. // 键值对参数
  1869. string[] allKeys = nameValueCollection.AllKeys;
  1870. foreach (string key in allKeys)
  1871. {
  1872. var dataContent = new ByteArrayContent(Encoding.UTF8.GetBytes(nameValueCollection[key]));
  1873. dataContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
  1874. {
  1875. Name = key
  1876. };
  1877. content.Add(dataContent);
  1878. }
  1879. //处理文件内容
  1880. string Currentpath = System.Web.HttpContext.Current.Server.MapPath("..");
  1881. // string[] fileKeys = fileCollection.AllKeys;
  1882. foreach (string key in files)
  1883. {
  1884. var filepath = Currentpath + key;
  1885. byte[] bmpBytes =System.IO.File.ReadAllBytes(filepath);
  1886. var fileContent = new ByteArrayContent(bmpBytes);//填充文件字节
  1887. fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
  1888. {
  1889. Name = "file",
  1890. FileName = Path.GetFileName(filepath)
  1891. };
  1892. // content.Add(fileContent, "file", key);
  1893. content.Add(fileContent);
  1894. }
  1895. //处理文件内容
  1896. var result = client.PostAsync(url, content).Result;//post请求
  1897. string data = result.Content.ReadAsStringAsync().Result;
  1898. return data;//返回操作结果
  1899. }
  1900. }
  1901. }
  1902. /// <summary>
  1903. /// 获取附件数据
  1904. /// </summary>
  1905. /// <param name="ids">附件id,多个用英文逗号,隔开</param>
  1906. /// <param name="prefix">前缀</param>
  1907. /// <returns></returns>
  1908. public List<string > GetFileData(string ids)
  1909. {
  1910. List<string> files = new List<string>();
  1911. DataTable dt = DbHelperSQL.Query("select * from T_Sys_Accessories WITH(NOLOCK) where F_FileId in (" + ids + ") order by F_AddTime desc").Tables[0];
  1912. foreach (DataRow dr in dt.Rows)
  1913. {
  1914. string F_FileUrl = dr["F_FileUrl"].ToString();
  1915. files.Add(F_FileUrl);
  1916. }
  1917. return files;
  1918. }
  1919. /// <summary>
  1920. /// 办结审核结果
  1921. /// </summary>
  1922. /// <returns></returns>
  1923. [HttpPost]
  1924. public ActionResult pushconfirmresult(int problemCode, int did, bool flag, int progress, string reason, string processman)
  1925. {
  1926. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  1927. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1928. if (list != null && list.Count > 0)
  1929. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1930. if (modelT_Bus_WorkOrder != null)
  1931. {
  1932. using (TransactionScope trans = new TransactionScope())
  1933. {
  1934. string type = "同意";
  1935. if (!flag)
  1936. {
  1937. if (progress == 11)
  1938. {
  1939. type = processman+"拒绝并提交重办";
  1940. modelT_Bus_WorkOrder.IsExport = 0;
  1941. modelT_Bus_WorkOrder.F_WorkState = 11;//办理中
  1942. modelT_Bus_WorkOrder.F_Backreason = reason;
  1943. workorderBLL.Update(modelT_Bus_WorkOrder);
  1944. }
  1945. else
  1946. {
  1947. modelT_Bus_WorkOrder.IsExport = 0;
  1948. modelT_Bus_WorkOrder.F_WorkState = 9;
  1949. workorderBLL.Update(modelT_Bus_WorkOrder);
  1950. type = "拒绝";
  1951. }
  1952. }
  1953. #region 插入操作记录
  1954. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1955. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1956. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1957. string userinfo = processman;
  1958. oper.F_Message = userinfo + " " + type + "了工单办结" + reason;
  1959. oper.F_CreateUser = processman;
  1960. oper.F_CreateTime = DateTime.Now;
  1961. oper.F_IsDelete = 0;
  1962. operBLL.Add(oper);
  1963. //推送消息表
  1964. #endregion
  1965. trans.Complete();
  1966. }
  1967. return Success("操作成功");
  1968. }
  1969. else
  1970. {
  1971. return Error("操作失败");
  1972. }
  1973. }
  1974. /// <summary>
  1975. /// 即办件办结审核通过
  1976. /// </summary>
  1977. /// <returns></returns>
  1978. [HttpPost]
  1979. public ActionResult transferConcludeAdopt(int eid, string finishTransferTime, bool flag, string processman)
  1980. {
  1981. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  1982. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  1983. if (list != null && list.Count > 0)
  1984. modelT_Bus_WorkOrder = list.FirstOrDefault();
  1985. if (modelT_Bus_WorkOrder != null)
  1986. {
  1987. using (TransactionScope trans = new TransactionScope())
  1988. {
  1989. string type = "同意";
  1990. if (!flag)
  1991. {
  1992. modelT_Bus_WorkOrder.F_WorkState = 9;//办理中
  1993. type = "拒绝";
  1994. }
  1995. workorderBLL.Update(modelT_Bus_WorkOrder);
  1996. #region 插入操作记录
  1997. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1998. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1999. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2000. string userinfo = processman;
  2001. oper.F_Message = userinfo + " " + type + "了工单办结" ;
  2002. oper.F_CreateUser = processman;
  2003. oper.F_CreateTime = DateTime.Now;
  2004. oper.F_IsDelete = 0;
  2005. operBLL.Add(oper);
  2006. //推送消息表
  2007. #endregion
  2008. trans.Complete();
  2009. }
  2010. return Success("操作成功");
  2011. }
  2012. else
  2013. {
  2014. return Error("操作失败");
  2015. }
  2016. }
  2017. /// <summary>
  2018. /// 即办件办结审核不通过
  2019. /// </summary>
  2020. /// <returns></returns>
  2021. [HttpPost]
  2022. public ActionResult transferConcludeFail(int eid, string finishTransferTime,string value, bool flag, string processman)
  2023. {
  2024. var list = workorderBLL.GetModelList($"F_Caseid='{eid}' and F_IsDelete=0");
  2025. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  2026. if (list != null && list.Count > 0)
  2027. modelT_Bus_WorkOrder = list.FirstOrDefault();
  2028. if (modelT_Bus_WorkOrder != null)
  2029. {
  2030. using (TransactionScope trans = new TransactionScope())
  2031. {
  2032. string type = "同意";
  2033. if (!flag)
  2034. {
  2035. modelT_Bus_WorkOrder.F_WorkState = 7;//办理中
  2036. type = "拒绝";
  2037. }
  2038. workorderBLL.Update(modelT_Bus_WorkOrder);
  2039. #region 插入操作记录
  2040. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2041. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2042. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2043. string userinfo = processman;
  2044. oper.F_Message = userinfo + " " + type + "了工单办结"+ value;
  2045. oper.F_CreateUser = processman;
  2046. oper.F_CreateTime = DateTime.Now;
  2047. oper.F_IsDelete = 0;
  2048. operBLL.Add(oper);
  2049. //推送消息表
  2050. #endregion
  2051. trans.Complete();
  2052. }
  2053. return Success("操作成功");
  2054. }
  2055. else
  2056. {
  2057. return Error("操作失败");
  2058. }
  2059. }
  2060. public class Remind
  2061. {
  2062. public int problemCode { set; get; }//problemCode:关联案件的id,与工单推送的字段意思一致(int)
  2063. public string problemDescription { set; get; }//描述(varchar)
  2064. public string timeLimit { set; get; }//限定时间,此字段非日期类型
  2065. public string reporterContactInfo { set; get; }//手机号码(varchar)
  2066. public string reportTime { set; get; }//登记日期
  2067. public string forwarder { set; get; }//发送人(varchar)
  2068. public string forwardTime { set; get; }//发送时间
  2069. public string problemRequire { set; get; }//督办要求(varchar)
  2070. public int did { set; get; }//督办记录唯一id(此值供(督办工单结果信息接口)的参数id使用)
  2071. public string code { set; get; }//督办编码
  2072. }
  2073. /// <summary>
  2074. /// 督办工单
  2075. /// </summary>
  2076. /// <returns></returns>
  2077. public ActionResult supervisecase(Remind remind )
  2078. {
  2079. // var list = workorderBLL.GetModelList($"F_Caseid='{remind.problemCode}' and F_IsDelete=0");
  2080. // if (list != null && list.Count ()>0)
  2081. // {
  2082. LogFactory.GetLogger("1123").Warn(remind.ToJson());
  2083. using (TransactionScope trans = new TransactionScope())
  2084. {
  2085. #region 保存工单信息
  2086. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  2087. modelT_Bus_WorkOrder.F_OldWorkOrderId = remind.code;
  2088. var workorder = workorderBLL.GetModelList("F_OldWorkOrderId='" +
  2089. modelT_Bus_WorkOrder.F_OldWorkOrderId + "'" +
  2090. "and F_IsDelete=0");
  2091. if (workorder != null && workorder.Count > 0)
  2092. {
  2093. modelT_Bus_WorkOrder = workorder[0];
  2094. }
  2095. else
  2096. {
  2097. modelT_Bus_WorkOrder.F_WorkState = 1;
  2098. modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID("8000");
  2099. }
  2100. modelT_Bus_WorkOrder.F_InfoConBigType = 1;
  2101. modelT_Bus_WorkOrder.F_Files = "";
  2102. modelT_Bus_WorkOrder.F_Caseid = remind.problemCode;
  2103. modelT_Bus_WorkOrder.F_InfoSource = 176;//信息来源
  2104. if (!string.IsNullOrEmpty(remind.timeLimit))
  2105. {
  2106. modelT_Bus_WorkOrder.F_LimitTime = Convert.ToDateTime(remind.timeLimit);
  2107. modelT_Bus_WorkOrder.requirementFinishDay = remind.timeLimit;
  2108. }
  2109. modelT_Bus_WorkOrder.F_CusPhone = remind.reporterContactInfo;//
  2110. modelT_Bus_WorkOrder.F_ConPhone = remind.reporterContactInfo;//联系人
  2111. try
  2112. {
  2113. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(remind.reportTime);
  2114. }
  2115. catch
  2116. {
  2117. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  2118. }
  2119. // modelT_Bus_WorkOrder.F_Event = info.ismallcategory;//事件类别
  2120. modelT_Bus_WorkOrder.F_Transferor = remind.forwarder;//转办人
  2121. modelT_Bus_WorkOrder.F_TransferTime = DateTime.Now;
  2122. modelT_Bus_WorkOrder.F_ComContent = remind.problemDescription;//
  2123. modelT_Bus_WorkOrder.F_Did = remind.did;
  2124. // modelT_Bus_WorkOrder.F_ResultRemarks = info.advice;//拟办意见
  2125. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfos = new Model.T_Bus_AssignedInfo();
  2126. modelT_Bus_WorkOrder.F_Remarks = "★以上登记信息仅供市长热线平台及承办人员查阅,未经许可不得向外提供";//
  2127. modelT_Bus_WorkOrder.F_IsDelete = 0;
  2128. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;
  2129. if (modelT_Bus_WorkOrder.F_Id > 0)
  2130. {
  2131. workorderBLL.Update(modelT_Bus_WorkOrder);
  2132. }
  2133. else
  2134. {
  2135. workorderBLL.Add(modelT_Bus_WorkOrder);
  2136. }
  2137. #endregion
  2138. #region 插入操作记录
  2139. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2140. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2141. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2142. string userinfo = "郑州市系统";
  2143. if (modelT_Bus_WorkOrder.F_WorkState == 0 || modelT_Bus_WorkOrder.F_WorkState == 1)
  2144. {
  2145. oper.F_Message = userinfo + " 登记了督办工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  2146. }
  2147. else
  2148. {
  2149. oper.F_Message = userinfo + " 提交督办了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  2150. }
  2151. oper.F_CreateUser = remind.forwarder;
  2152. oper.F_CreateTime = DateTime.Now;
  2153. oper.F_IsDelete = 0;
  2154. operBLL.Add(oper);
  2155. #endregion
  2156. #region 插入督办记录
  2157. Model.T_Bus_RemindRecord modelT_Bus_RemindRecord = new Model.T_Bus_RemindRecord();
  2158. modelT_Bus_RemindRecord.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2159. modelT_Bus_RemindRecord.F_Type = 1;
  2160. modelT_Bus_RemindRecord.F_Content = remind.problemDescription;
  2161. modelT_Bus_RemindRecord.F_State = 0;//0待办 1已办 2退回
  2162. modelT_Bus_RemindRecord.F_IsDelete = 0;
  2163. modelT_Bus_RemindRecord.F_CreateUser = remind.forwarder;
  2164. modelT_Bus_RemindRecord.F_Remark = remind.problemRequire;
  2165. modelT_Bus_RemindRecord.F_CreateTime = DateTime.Now;
  2166. modelT_Bus_RemindRecord.F_Did = remind.did.ToString ();
  2167. modelT_Bus_RemindRecord.F_Code = remind.code;
  2168. modelT_Bus_RemindRecord.F_Limit = remind.timeLimit;
  2169. new BLL.T_Bus_RemindRecord().Add(modelT_Bus_RemindRecord);
  2170. #endregion
  2171. #region 插入操作记录
  2172. Model.T_Bus_Operation oper1 = new Model.T_Bus_Operation();
  2173. oper1.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2174. oper1.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2175. oper.F_Message = userinfo + " " + "督办" + "了工单";
  2176. oper.F_CreateUser = remind.forwarder;
  2177. oper.F_CreateTime = DateTime.Now;
  2178. oper.F_IsDelete = 0;
  2179. operBLL.Add(oper);
  2180. #endregion
  2181. trans.Complete();
  2182. }
  2183. return Success("操作成功");
  2184. // }
  2185. // else
  2186. // {
  2187. // return Error("操作失败");
  2188. // }
  2189. }
  2190. /// <summary>
  2191. /// 督办工单撤回
  2192. /// </summary>
  2193. /// <returns></returns>
  2194. public ActionResult pushbacksupervise(string problemCode,string did)
  2195. {
  2196. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  2197. if (list != null && list.Count() > 0)
  2198. {
  2199. using (TransactionScope trans = new TransactionScope())
  2200. {
  2201. #region 插入督办记录
  2202. var modelT_Bus_WorkOrder = list.FirstOrDefault();
  2203. //if (modelT_Bus_WorkOrder!=null )
  2204. //{
  2205. // var RemindRecord = new BLL.T_Bus_RemindRecord().GetModelList
  2206. // ($"F_Did='{did}' and F_WorkOrderId={modelT_Bus_WorkOrder.F_WorkOrderId }");
  2207. // if (RemindRecord!=null )
  2208. // {
  2209. // foreach (var it in RemindRecord)
  2210. // {
  2211. // it.F_IsDelete = 1;
  2212. // new BLL.T_Bus_RemindRecord().Update(it);
  2213. // }
  2214. // }
  2215. //}
  2216. #region 保存工单信息
  2217. modelT_Bus_WorkOrder.F_WorkState = 14;
  2218. workorderBLL.Update(modelT_Bus_WorkOrder);
  2219. #endregion
  2220. #endregion
  2221. #region 插入操作记录
  2222. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2223. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2224. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2225. oper.F_Message = "市平台" + "撤回了督办工单";
  2226. oper.F_CreateUser = "市平台";
  2227. oper.F_CreateTime = DateTime.Now;
  2228. oper.F_IsDelete = 0;
  2229. operBLL.Add(oper);
  2230. #endregion
  2231. trans.Complete();
  2232. }
  2233. return Success("操作成功");
  2234. }
  2235. else
  2236. {
  2237. return Error("操作失败");
  2238. }
  2239. }
  2240. /// <summary>
  2241. /// 督办工单办结审核结果
  2242. /// </summary>
  2243. /// <returns></returns>
  2244. [HttpPost]
  2245. public ActionResult pushConfirmDealSupervise
  2246. (int problemCode, int did, bool flag, int progress, string reason)
  2247. {
  2248. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  2249. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  2250. if (list != null && list.Count > 0)
  2251. modelT_Bus_WorkOrder = list.FirstOrDefault();
  2252. if (modelT_Bus_WorkOrder != null)
  2253. {
  2254. using (TransactionScope trans = new TransactionScope())
  2255. {
  2256. string type = "同意";
  2257. if (!flag)
  2258. {
  2259. if (progress == 11)
  2260. {
  2261. type = "拒绝并提交重办";
  2262. modelT_Bus_WorkOrder.IsExport = 0;
  2263. modelT_Bus_WorkOrder.F_WorkState = 11;//办理中
  2264. modelT_Bus_WorkOrder.F_Backreason = reason;
  2265. }
  2266. else
  2267. {
  2268. modelT_Bus_WorkOrder.IsExport = 0;
  2269. modelT_Bus_WorkOrder.F_WorkState = 9
  2270. ;//办理中
  2271. type = "拒绝";
  2272. }
  2273. }
  2274. workorderBLL.Update(modelT_Bus_WorkOrder);
  2275. #region 插入操作记录
  2276. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2277. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2278. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2279. string userinfo = "市平台";
  2280. oper.F_Message = userinfo + " " + type + "了工单办结" + reason;
  2281. oper.F_CreateUser = "市平台";
  2282. oper.F_CreateTime = DateTime.Now;
  2283. oper.F_IsDelete = 0;
  2284. operBLL.Add(oper);
  2285. //推送消息表
  2286. #endregion
  2287. trans.Complete();
  2288. }
  2289. return Success("操作成功");
  2290. }
  2291. else
  2292. {
  2293. return Error("操作失败");
  2294. }
  2295. }
  2296. /// <summary>
  2297. /// 督办工单回访
  2298. /// </summary>
  2299. /// <returns></returns>
  2300. [HttpPost]
  2301. public ActionResult pushhfsupervise(string problemCode, string did,string approveresult,int progress)
  2302. {
  2303. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  2304. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  2305. if (list != null && list.Count > 0)
  2306. modelT_Bus_WorkOrder = list.FirstOrDefault();
  2307. if (modelT_Bus_WorkOrder != null)
  2308. {
  2309. using (TransactionScope trans = new TransactionScope())
  2310. {
  2311. string type = "督办回访";
  2312. //if (progress == 11)
  2313. //{
  2314. // type = "回访并提交重办";
  2315. // modelT_Bus_WorkOrder.F_Result = approveresult;
  2316. // modelT_Bus_WorkOrder.IsExport = 0;
  2317. // modelT_Bus_WorkOrder.F_WorkState = 11;//办理中
  2318. //}
  2319. //else
  2320. //{
  2321. //}
  2322. modelT_Bus_WorkOrder.F_WorkState = 14
  2323. ;//办理中
  2324. type = "督办回访";
  2325. modelT_Bus_WorkOrder.F_Satisfaction = 2;
  2326. workorderBLL.Update(modelT_Bus_WorkOrder);
  2327. #region 插入操作记录
  2328. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2329. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2330. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2331. oper.F_Message = "市平台" + " " + type + "了工单" + approveresult;
  2332. oper.F_CreateUser = "市平台";
  2333. oper.F_CreateTime = DateTime.Now;
  2334. oper.F_IsDelete = 0;
  2335. operBLL.Add(oper);
  2336. //推送消息表
  2337. #endregion
  2338. trans.Complete();
  2339. }
  2340. return Success("操作成功");
  2341. }
  2342. else
  2343. {
  2344. return Error("操作失败");
  2345. }
  2346. }
  2347. /// <summary>
  2348. /// 回访审核
  2349. /// </summary>
  2350. /// <returns></returns>
  2351. [HttpPost]
  2352. public ActionResult pushapproveresult(int problemCode, int did, bool flag,string remark
  2353. , string reason, string processman, int connection=0,
  2354. int progress=0)
  2355. {
  2356. var list = workorderBLL.GetModelList($"F_Caseid='{problemCode}' and F_IsDelete=0");
  2357. var modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  2358. if (list != null && list.Count > 0)
  2359. modelT_Bus_WorkOrder = list.FirstOrDefault();
  2360. if (modelT_Bus_WorkOrder != null)
  2361. {
  2362. using (TransactionScope trans = new TransactionScope())
  2363. {
  2364. string type = "回访";
  2365. if (!flag)
  2366. {
  2367. type = "回访并提交重办";
  2368. // modelT_Bus_WorkOrder.F_Result = remark;
  2369. modelT_Bus_WorkOrder.IsExport = 0;
  2370. modelT_Bus_WorkOrder.F_WorkState = 11;//办理中
  2371. modelT_Bus_WorkOrder.F_Satisfaction = 0;//郑州市满意度
  2372. modelT_Bus_WorkOrder.F_Backreason = reason;
  2373. }
  2374. else
  2375. {
  2376. modelT_Bus_WorkOrder.F_Satisfaction = 2;//郑州市满意度
  2377. }
  2378. if (!string.IsNullOrEmpty(remark))
  2379. type += "回访情况:" + remark;
  2380. workorderBLL.Update(modelT_Bus_WorkOrder);
  2381. #region 插入操作记录
  2382. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  2383. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  2384. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  2385. string userinfo = processman;
  2386. oper.F_Message = userinfo + " " + type + "了工单" + reason;
  2387. oper.F_CreateUser = processman;
  2388. oper.F_CreateTime = DateTime.Now;
  2389. oper.F_IsDelete = 0;
  2390. operBLL.Add(oper);
  2391. //推送消息表
  2392. #endregion
  2393. trans.Complete();
  2394. }
  2395. return Success("操作成功");
  2396. }
  2397. else
  2398. {
  2399. return Error("操作失败");
  2400. }
  2401. }
  2402. /// <summary>
  2403. /// MultipartFormData Post方式提交
  2404. /// </summary>
  2405. /// <param name="url"></param>
  2406. /// <param name="kVDatas"></param>
  2407. /// <param name="method"></param>
  2408. /// <param name="encoding"></param>
  2409. /// <param name="timeOut"></param>
  2410. /// <returns></returns>
  2411. public static string HttpPostMultipartFormData(string url, NameValueCollection kVDatas, string method = WebRequestMethods.Http.Post, string encoding = "UTF-8", int timeOut = -1)
  2412. {
  2413. string resultStr = "";
  2414. try
  2415. {
  2416. string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
  2417. byte[] boundarybytes = Encoding.GetEncoding(encoding).GetBytes("\r\n--" + boundary + "\r\n");
  2418. byte[] endbytes = Encoding.GetEncoding(encoding).GetBytes("\r\n--" + boundary + "--\r\n");
  2419. ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //一定要有这一句
  2420. ServicePointManager.ServerCertificateValidationCallback = delegate (
  2421. Object obj, X509Certificate certificate, X509Chain chain,
  2422. SslPolicyErrors errors)
  2423. {
  2424. return (true);
  2425. };
  2426. //1.HttpWebRequest
  2427. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  2428. request.ContentType = "multipart/form-data; boundary=" + boundary;
  2429. request.Method = method;
  2430. request.KeepAlive = true;
  2431. request.Timeout = timeOut;
  2432. using (Stream stream = request.GetRequestStream())
  2433. {
  2434. //1.1 key/value
  2435. string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
  2436. if (kVDatas != null)
  2437. {
  2438. foreach (string key in kVDatas.Keys)
  2439. {
  2440. stream.Write(boundarybytes, 0, boundarybytes.Length);
  2441. string formitem = string.Format(formdataTemplate, key, kVDatas[key]);
  2442. byte[] formitembytes = Encoding.GetEncoding(encoding).GetBytes(formitem);
  2443. stream.Write(formitembytes, 0, formitembytes.Length);
  2444. }
  2445. }
  2446. stream.Write(endbytes, 0, endbytes.Length);
  2447. }
  2448. //2.WebResponse
  2449. using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
  2450. {
  2451. using (StreamReader stream = new StreamReader(response.GetResponseStream()))
  2452. {
  2453. resultStr = stream.ReadToEnd();
  2454. }
  2455. }
  2456. }
  2457. catch (WebException ex)
  2458. {
  2459. var errorSr = new StreamReader(ex.Response.GetResponseStream());
  2460. resultStr = errorSr.ReadToEnd();
  2461. }
  2462. return resultStr;
  2463. }
  2464. #region 知识库
  2465. public class transmit_kinfo_add
  2466. {
  2467. public string AREA_CODE { set; get; }
  2468. /// <summary>
  2469. /// 标题
  2470. /// </summary>
  2471. public string KINFO_KNAME { set; get; }
  2472. /// <summary>
  2473. /// 内容
  2474. /// </summary>
  2475. public string KINFO_KCONTENT { set; get; }
  2476. /// <summary>
  2477. /// 知识分类编码
  2478. /// </summary>
  2479. public string KINFO_TYPECODE { set; get; }
  2480. /// <summary>
  2481. /// 发布时间
  2482. /// </summary>
  2483. public string KINFO_CREATEDATE { set; get; }
  2484. /// <summary>
  2485. /// 生效时间
  2486. /// </summary>
  2487. public string KINFO_BEGINDATE { set; get; }
  2488. /// <summary>
  2489. /// 失效时间
  2490. /// </summary>
  2491. public string KINFO_DISABLEDATE { set; get; }
  2492. /// <summary>
  2493. /// 知识报送附件id
  2494. /// </summary>
  2495. public string KINFO_ATTATH_ID { set; get; }
  2496. }
  2497. public class kinfo
  2498. {
  2499. public string code { set; get; }
  2500. public string message { set; get; }
  2501. public kinfobody body { set; get; }
  2502. }
  2503. public class kinfobody
  2504. {
  2505. public string KINFO_ID { set; get; }
  2506. }
  2507. /// <summary>
  2508. /// </summary>
  2509. /// 知识报送接口
  2510. /// <param name="sender"></param>
  2511. /// <param name="e"></param>
  2512. public string kinfo_add(int id)
  2513. {
  2514. Model.T_RepositoryInformation model = new BLL.T_RepositoryInformation().GetModel(id);
  2515. if (model != null)
  2516. {
  2517. transmit_kinfo_add paras = new transmit_kinfo_add();
  2518. paras.AREA_CODE = "410181";
  2519. paras.KINFO_KNAME = model.F_Title;
  2520. if (!string.IsNullOrEmpty(model.F_Description))
  2521. paras.KINFO_KCONTENT = model.F_Description;
  2522. else
  2523. paras.KINFO_KCONTENT = "无";
  2524. if (model.F_Key != null)
  2525. {
  2526. string key = DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')").ToString();
  2527. if (!string.IsNullOrEmpty(key))
  2528. paras.KINFO_TYPECODE = DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')").ToString();
  2529. else
  2530. paras.KINFO_TYPECODE = "";
  2531. }
  2532. else
  2533. paras.KINFO_TYPECODE = "";
  2534. paras.KINFO_CREATEDATE = model.F_CreateOn.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2535. paras.KINFO_BEGINDATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  2536. paras.KINFO_DISABLEDATE ="";
  2537. string fileid = "";
  2538. var configfj = configBll.GetModelList(" F_ParamCode='EditFilePath' ").FirstOrDefault();
  2539. if (!string.IsNullOrEmpty(model.F_Content))
  2540. {
  2541. if (!string.IsNullOrEmpty(model.F_Content))
  2542. {
  2543. string[] str = model.F_Content.Split('"');
  2544. for (int i = 0; i < str.Length; i++)
  2545. {
  2546. if (str[i].Contains("/js/kindeditor/upload"))
  2547. {
  2548. string path = "/Upload/kinfo/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
  2549. var response = kinfo_upload(configfj .F_ParamValue+ str[i], System.IO.Path.GetFileName(str[i]), path);
  2550. List<Model.T_Sys_Accessories> acs = new List<Model.T_Sys_Accessories>();
  2551. Model.T_Sys_Accessories model_T_Sys_Accessories = new Model.T_Sys_Accessories();
  2552. model_T_Sys_Accessories.F_AddTime = DateTime.Now;//上传时间
  2553. model_T_Sys_Accessories.F_FileName = System.IO.Path.GetFileName(str[i]);//附件名称
  2554. model_T_Sys_Accessories.F_FileType = System.IO.Path.GetExtension(str[i]);//附件类
  2555. model_T_Sys_Accessories.F_FileUrl = path + System.IO.Path.GetFileName(str[i]);//附件地址
  2556. model_T_Sys_Accessories.F_UserCode = "知识附件";//上传人
  2557. int accid = new BLL.T_Sys_Accessories().Add(model_T_Sys_Accessories);
  2558. model_T_Sys_Accessories.F_FileId = accid;
  2559. if (string.IsNullOrEmpty(fileid))
  2560. fileid = accid.ToString();
  2561. else
  2562. fileid += "," + accid.ToString();
  2563. }
  2564. }
  2565. }
  2566. }
  2567. if (fileid!="")
  2568. {
  2569. string message = kindupload(fileid, Logins ());
  2570. if (message != "")
  2571. paras.KINFO_ATTATH_ID = message;
  2572. else
  2573. {
  2574. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2575. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now,"500","附件上传失败", "知识报送接口", "", "推送成功数0");
  2576. object objres = DbHelperSQL.GetSingle(strSql);
  2577. return "";
  2578. }
  2579. }
  2580. Dictionary<string, object > keyValuePairs = new Dictionary<string, object>();
  2581. keyValuePairs.Add("paras", paras);
  2582. var responseString =HttpMethods . HttpPost(thirdUrl + "/kinfo/add", keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  2583. JObject jo = (JObject)JsonConvert.DeserializeObject(responseString);
  2584. if (jo["code"].ToString() == "1")
  2585. {
  2586. kinfo kinfo = JsonConvert.DeserializeObject<kinfo>(responseString);
  2587. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2588. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", id, "", DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识报送接口", "", "推送成功数1");
  2589. object objres = DbHelperSQL.GetSingle(strSql);
  2590. string Mapping = string.Format(@"INSERT INTO T_Bus_Mapping ( [F_OldWorkOrder], [F_NewWorkOrder], [F_CreateTime], [F_Type])
  2591. values ('{0}','{1}','{2}','{3}') ;select @@IDENTITY ", model.F_RepositoryId, kinfo.body.KINFO_ID, DateTime.Now, 0);
  2592. object Mappings = DbHelperSQL.GetSingle(Mapping);
  2593. return "";
  2594. }
  2595. else
  2596. {
  2597. string error = "";
  2598. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2599. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识报送接口", error, "推送成功数1");
  2600. object objres = DbHelperSQL.GetSingle(strSql);
  2601. LogFactory.GetLogger("111").Warn("知识报送接口" + error);
  2602. return "";
  2603. }
  2604. }
  2605. else
  2606. {
  2607. return "";
  2608. }
  2609. }
  2610. public string kindupload(string F_Files, string token)
  2611. {
  2612. if (!string.IsNullOrEmpty(F_Files))
  2613. {
  2614. using (var content = new MultipartFormDataContent())
  2615. {
  2616. var files = GetFileData(F_Files);
  2617. NameValueCollection nameValueCollection = new NameValueCollection();
  2618. nameValueCollection.Add("token", token);
  2619. string url = $"{thirdUrl}/kinfo/uploadKbFile";
  2620. try
  2621. {
  2622. var Postresult = PostMultipartFormData(url, null, nameValueCollection, files);
  2623. kindreturnvalue jo = JsonConvert.DeserializeObject<kindreturnvalue>(Postresult);
  2624. if (jo.code == "0")
  2625. {
  2626. return jo.fileIds ;
  2627. }
  2628. else
  2629. {
  2630. LogFactory.GetLogger("kindupload").Error(jo.message );
  2631. return "";
  2632. }
  2633. }
  2634. catch (Exception e)
  2635. {
  2636. LogFactory.GetLogger("kindupload").Error(e.Message);
  2637. return "";
  2638. }
  2639. }
  2640. }
  2641. return "";
  2642. }
  2643. public class kindreturnvalue
  2644. {
  2645. public string code { set; get; }
  2646. public string fileIds { set; get; }
  2647. public string message { set; get; }
  2648. }
  2649. public class transmit_kinfo_update
  2650. {
  2651. public string AREA_CODE { set; get; }
  2652. /// <summary>
  2653. /// 知识唯一标识
  2654. /// </summary>
  2655. public string KINFO_ID { set; get; }
  2656. /// <summary>
  2657. /// 标题
  2658. /// </summary>
  2659. public string KINFO_KNAME { set; get; }
  2660. /// <summary>
  2661. /// 内容
  2662. /// </summary>
  2663. public string KINFO_KCONTENT { set; get; }
  2664. /// <summary>
  2665. /// 知识分类编码
  2666. /// </summary>
  2667. public string KINFO_TYPECODE { set; get; }
  2668. /// <summary>
  2669. /// 发布时间
  2670. /// </summary>
  2671. public string KINFO_CREATEDATE { set; get; }
  2672. /// <summary>
  2673. /// 生效时间
  2674. /// </summary>
  2675. public string KINFO_BEGINDATE { set; get; }
  2676. /// <summary>
  2677. /// 失效时间
  2678. /// </summary>
  2679. public string KINFO_DISABLEDATE { set; get; }
  2680. /// <summary>
  2681. /// 知识报送附件id
  2682. /// </summary>
  2683. public string KINFO_ATTATH_ID { set; get; }
  2684. }
  2685. /// <summary>
  2686. /// </summary>
  2687. /// 知识变更接口
  2688. /// <param name="sender"></param>
  2689. /// <param name="e"></param>
  2690. public string kinfo_update(int id)
  2691. {
  2692. Model.T_RepositoryInformation model = new BLL.T_RepositoryInformation().GetModel(id);
  2693. if (model != null)
  2694. {
  2695. transmit_kinfo_update paras = new transmit_kinfo_update();
  2696. paras.AREA_CODE = "410181";
  2697. paras.KINFO_KNAME = model.F_Title;
  2698. paras.KINFO_KCONTENT = model.F_Description;
  2699. var KINFO_ID = DbHelperSQL.GetSingle(" select top 1 F_NewWorkOrder from T_Bus_Mapping where F_OldWorkOrder='" + model.F_RepositoryId + "' order by F_CreateTime desc ");
  2700. if (KINFO_ID != null)
  2701. {
  2702. paras.KINFO_ID = KINFO_ID.ToString();
  2703. }
  2704. else
  2705. {
  2706. return "";
  2707. }
  2708. if (!string.IsNullOrEmpty(model.F_Description))
  2709. paras.KINFO_KCONTENT = model.F_Description;
  2710. else
  2711. paras.KINFO_KCONTENT = "无";
  2712. var configfj = configBll.GetModelList(" F_ParamCode='EditFilePath' ").FirstOrDefault();
  2713. if (model.F_Key != null)
  2714. {
  2715. string key = DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')").ToString();
  2716. if (!string.IsNullOrEmpty(key))
  2717. paras.KINFO_TYPECODE = DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')").ToString();
  2718. else
  2719. paras.KINFO_TYPECODE = "";
  2720. }
  2721. else
  2722. paras.KINFO_TYPECODE = "";
  2723. paras.KINFO_CREATEDATE = model.F_CreateOn.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2724. paras.KINFO_BEGINDATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  2725. string fileid = "";
  2726. if (!string.IsNullOrEmpty(model.F_Content))
  2727. {
  2728. if (!string.IsNullOrEmpty(model.F_Content))
  2729. {
  2730. string[] str = model.F_Content.Split('"');
  2731. for (int i = 0; i < str.Length; i++)
  2732. {
  2733. if (str[i].Contains("/js/kindeditor/upload"))
  2734. {
  2735. string path = "/Upload/kinfo/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
  2736. var response = kinfo_upload(configfj.F_ParamValue + str[i], System.IO.Path.GetFileName(str[i]), path);
  2737. List<Model.T_Sys_Accessories> acs = new List<Model.T_Sys_Accessories>();
  2738. Model.T_Sys_Accessories model_T_Sys_Accessories = new Model.T_Sys_Accessories();
  2739. model_T_Sys_Accessories.F_AddTime = DateTime.Now;//上传时间
  2740. model_T_Sys_Accessories.F_FileName = System.IO.Path.GetFileName(str[i]);//附件名称
  2741. model_T_Sys_Accessories.F_FileType = System.IO.Path.GetExtension(str[i]);//附件类
  2742. model_T_Sys_Accessories.F_FileUrl = path + System.IO.Path.GetFileName(str[i]);//附件地址
  2743. model_T_Sys_Accessories.F_UserCode = "知识附件";//上传人
  2744. int accid = new BLL.T_Sys_Accessories().Add(model_T_Sys_Accessories);
  2745. model_T_Sys_Accessories.F_FileId = accid;
  2746. if (string.IsNullOrEmpty(fileid))
  2747. fileid = accid.ToString();
  2748. else
  2749. fileid += "," + accid.ToString();
  2750. }
  2751. }
  2752. }
  2753. }
  2754. if (fileid != "")
  2755. {
  2756. string message = kindupload(fileid, Logins());
  2757. if (message != "")
  2758. paras.KINFO_ATTATH_ID = message;
  2759. else
  2760. {
  2761. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2762. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, "500", "附件上传失败", "知识变更接口知识变更接口", "", "推送成功数0");
  2763. object objres = DbHelperSQL.GetSingle(strSql);
  2764. return "";
  2765. }
  2766. }
  2767. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  2768. keyValuePairs.Add("paras", paras);
  2769. var responseString =HttpMethods . HttpPost(thirdUrl + "/kinfo/update", keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  2770. JObject jo = (JObject)JsonConvert.DeserializeObject(responseString);
  2771. if (jo["code"].ToString() == "1")
  2772. {
  2773. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2774. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", id, "", DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识变更接口", "", "推送成功数1");
  2775. object objres = DbHelperSQL.GetSingle(strSql);
  2776. return "";
  2777. }
  2778. else
  2779. {
  2780. string error = "";
  2781. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2782. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识变更接口", error, "推送成功数1");
  2783. object objres = DbHelperSQL.GetSingle(strSql);
  2784. LogFactory.GetLogger("111").Warn("知识变更接口" + error);
  2785. return "";
  2786. }
  2787. }
  2788. else
  2789. {
  2790. return "";
  2791. }
  2792. }
  2793. public class transmit_kinfo_delete
  2794. {
  2795. /// <summary>
  2796. /// 知识唯一标识
  2797. /// </summary>
  2798. public string KINFO_ID { set; get; }
  2799. /// <summary>
  2800. /// 知识下架原因
  2801. /// </summary>
  2802. public string KINFO_REASON { set; get; }
  2803. }
  2804. /// <summary>
  2805. /// </summary>
  2806. /// 知识下架接口
  2807. /// <param name="sender"></param>
  2808. /// <param name="e"></param>
  2809. public string kinfo_delete(int id, string remark)
  2810. {
  2811. Model.T_RepositoryInformation model = new BLL.T_RepositoryInformation().GetModel(id);
  2812. if (model != null)
  2813. {
  2814. transmit_kinfo_delete paras = new transmit_kinfo_delete();
  2815. //var KINFO_ID = "0c45c37f-794b-449c-8c53-0357e34de7e9";
  2816. var KINFO_ID = DbHelperSQL.GetSingle(" select top 1 F_NewWorkOrder from T_Bus_Mapping where F_OldWorkOrder='" + model.F_RepositoryId + "' order by F_CreateTime desc ");
  2817. if (KINFO_ID != null)
  2818. {
  2819. paras.KINFO_ID = KINFO_ID.ToString();
  2820. }
  2821. else
  2822. {
  2823. return "";
  2824. }
  2825. paras.KINFO_REASON = remark;
  2826. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  2827. keyValuePairs.Add("paras", paras);
  2828. var responseString = HttpMethods.HttpPost(thirdUrl + "/kinfo/delete", keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  2829. JObject jo = (JObject)JsonConvert.DeserializeObject(responseString);
  2830. if (jo["code"].ToString() == "1")
  2831. {
  2832. kinfo kinfo = JsonConvert.DeserializeObject<kinfo>(responseString);
  2833. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2834. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", id, "", DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识下架接口", "", "推送成功数1");
  2835. object objres = DbHelperSQL.GetSingle(strSql);
  2836. return "";
  2837. }
  2838. else
  2839. {
  2840. string error = "";
  2841. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  2842. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), "知识下架接口", error, "推送成功数1");
  2843. object objres = DbHelperSQL.GetSingle(strSql);
  2844. LogFactory.GetLogger("111").Warn("知识下架接口" + error);
  2845. return "";
  2846. }
  2847. }
  2848. else
  2849. {
  2850. return "";
  2851. }
  2852. }
  2853. /// <summary>
  2854. /// 知识提问接口
  2855. /// </summary>
  2856. /// <returns></returns>
  2857. //[Authority]
  2858. public ActionResult quiz()
  2859. {
  2860. Request.InputStream.Position = 0;
  2861. string postString;
  2862. using (var reader = new StreamReader(Request.InputStream))
  2863. {
  2864. postString = reader.ReadToEnd();
  2865. }
  2866. JObject paras = null;
  2867. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  2868. var txnBodyCom = paras["paras"].ToString();
  2869. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  2870. if (result["KINFO_ID"] == null)
  2871. {
  2872. var obj1 = new
  2873. {
  2874. code = "0",
  2875. message = "KINFO_ID不能为空"
  2876. };
  2877. return Content(obj1.ToJson());
  2878. }
  2879. if (string.IsNullOrEmpty(result["KINFO_KNAME"].ToString()))
  2880. {
  2881. var obj1 = new
  2882. {
  2883. code = "0",
  2884. message = "KINFO_KNAME不能为空"
  2885. };
  2886. return Content(obj1.ToJson());
  2887. }
  2888. if (string.IsNullOrEmpty(result["KINFO_KCONTENT"].ToString()))
  2889. {
  2890. var obj1 = new
  2891. {
  2892. code = "0",
  2893. message = "KINFO_KCONTENT不能为空"
  2894. };
  2895. return Content(obj1.ToJson());
  2896. }
  2897. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  2898. {
  2899. Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
  2900. model.KINFO_ID = result["KINFO_ID"].ToString();
  2901. model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
  2902. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  2903. model.F_CreateTime = DateTime.Now;
  2904. model.F_State = 0;
  2905. model.F_IsDelete = 0;
  2906. int n = new BLL.T_Sys_kinfoQuestions().Add(model);
  2907. if (n > 0)
  2908. {
  2909. var obj1 = new
  2910. {
  2911. code = "1",
  2912. message = "推送成功"
  2913. };
  2914. trans.Complete();
  2915. return Content(obj1.ToJson());
  2916. }
  2917. else
  2918. {
  2919. var obj1 = new
  2920. {
  2921. code = "0",
  2922. message = "推送失败"
  2923. };
  2924. trans.Complete();
  2925. return Content(obj1.ToJson());
  2926. }
  2927. }
  2928. }
  2929. public class transmit_kinfo_answer
  2930. {
  2931. /// <summary>
  2932. /// 知识唯一标识
  2933. /// </summary>
  2934. public string KINFO_ID { set; get; }
  2935. /// <summary>
  2936. /// 知识标题
  2937. /// </summary>
  2938. public string KINFO_KNAME { set; get; }
  2939. /// <summary>
  2940. /// 知识内容
  2941. /// </summary>
  2942. public string KINFO_KCONTENT { set; get; }
  2943. /// <summary>
  2944. /// 生效时间
  2945. /// </summary>
  2946. public string KINFO_BEGINDATE { set; get; }
  2947. /// <summary>
  2948. /// 失效时间
  2949. /// </summary>
  2950. public string KINFO_DISABLEDATE { set; get; }
  2951. }
  2952. public class bendiack
  2953. {
  2954. public string state;
  2955. public string message;
  2956. }
  2957. /// <summary>
  2958. /// </summary>
  2959. /// 知识答复接口
  2960. /// <param name="sender"></param>
  2961. /// <param name="e"></param>
  2962. [Authority]
  2963. public ActionResult kinfo_answer(string KINFO_KNAME,
  2964. string KINFO_KCONTENT, DateTime? KINFO_BEGINDATE, DateTime? KINFO_DISABLEDATE,
  2965. int id = 0)
  2966. {
  2967. int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
  2968. Model.T_Sys_UserAccount userModel = userBLL.GetModel(userId);
  2969. Model.T_Sys_kinfoQuestions model = new BLL.T_Sys_kinfoQuestions().GetModel(id);
  2970. if (model != null)
  2971. {
  2972. transmit_kinfo_answer paras = new transmit_kinfo_answer();
  2973. paras.KINFO_ID = model.KINFO_ID;
  2974. paras.KINFO_KNAME = KINFO_KNAME;
  2975. paras.KINFO_KCONTENT = KINFO_KCONTENT;
  2976. if (KINFO_BEGINDATE != null)
  2977. paras.KINFO_BEGINDATE = KINFO_BEGINDATE.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2978. else
  2979. return Error("请选择生效时间");
  2980. if (KINFO_DISABLEDATE != null)
  2981. paras.KINFO_DISABLEDATE = KINFO_DISABLEDATE.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2982. else
  2983. paras.KINFO_DISABLEDATE = "";
  2984. model.ReKINFO_KNAME = KINFO_KNAME;
  2985. model.ReKINFO_KCONTENT = KINFO_KCONTENT;
  2986. model.KINFO_BEGINDATE = KINFO_BEGINDATE;
  2987. model.KINFO_DISABLEDATE = KINFO_DISABLEDATE;
  2988. model.ReUser = userModel.F_UserCode;
  2989. model.F_State = 1;
  2990. bool n = new BLL.T_Sys_kinfoQuestions().Update(model);
  2991. if (n)
  2992. {
  2993. // string jsonParam = "paras=" + paras.ToJson() + $"&message=知识答复接口&url={zhishiurl }/oa/kinfo/answer";
  2994. // var responseString = HttpMethods.HttpPost(fonturl +"/third/Kinforeceive_Push", jsonParam);
  2995. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  2996. keyValuePairs.Add("paras", paras);
  2997. var responseString = Kinforeceive_Push(keyValuePairs.ToJson (), $"{thirdUrl }/kinfo/answer", "知识答复接口");
  2998. if (responseString == "")
  2999. return Success("知识答复成功");
  3000. else
  3001. return Error("知识答复失败");
  3002. }
  3003. else
  3004. {
  3005. return Error("答复失败");
  3006. }
  3007. }
  3008. else
  3009. {
  3010. return Error("推送失败知识不存在");
  3011. }
  3012. }
  3013. public class transmit_kinfo_refuse
  3014. {
  3015. /// <summary>
  3016. /// 知识唯一标识
  3017. /// </summary>
  3018. public string KINFO_ID { set; get; }
  3019. /// <summary>
  3020. /// 知识拒绝答复原因
  3021. /// </summary>
  3022. public string KINFO_REASON { set; get; }
  3023. }
  3024. /// <summary>
  3025. /// </summary>
  3026. /// 知识拒绝答复接口
  3027. /// <param name="sender"></param>
  3028. /// <param name="e"></param>
  3029. [Authority]
  3030. public ActionResult kinfo_refuse(string KINFO_REASON,
  3031. int id = 0)
  3032. {
  3033. int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
  3034. Model.T_Sys_UserAccount userModel = userBLL.GetModel(userId);
  3035. Model.T_Sys_kinfoQuestions model = new BLL.T_Sys_kinfoQuestions().GetModel(id);
  3036. if (model != null)
  3037. {
  3038. transmit_kinfo_refuse paras = new transmit_kinfo_refuse();
  3039. paras.KINFO_ID = model.KINFO_ID;
  3040. paras.KINFO_REASON = KINFO_REASON;
  3041. model.F_State = 2;
  3042. model.KINFO_REASON = KINFO_REASON;
  3043. model.ReUser = userModel.F_UserCode;
  3044. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3045. keyValuePairs.Add("paras", paras);
  3046. //string jsonParam = "paras=" + paras.ToJson() + $"&message=知识拒绝答复接口&url={zhishiurl }/oa/kinfo/refuse";
  3047. // var responseString = HttpMethods.HttpPost(fonturl + "/third/Kinforeceive_Push", jsonParam);
  3048. // bendiack jo = JsonConvert.DeserializeObject<bendiack>(responseString);
  3049. var responseString = Kinforeceive_Push(keyValuePairs.ToJson (), $"{thirdUrl }/kinfo/refuse", "知识拒绝答复接口");
  3050. if (responseString == "")
  3051. {
  3052. bool n = new BLL.T_Sys_kinfoQuestions().Update(model);
  3053. if (n)
  3054. {
  3055. return Success("知识答复成功");
  3056. }
  3057. else
  3058. {
  3059. return Error("答复失败");
  3060. }
  3061. }
  3062. else
  3063. return Error("知识答复失败");
  3064. }
  3065. else
  3066. {
  3067. return Error("推送失败知识不存在");
  3068. }
  3069. }
  3070. /// <summary>
  3071. /// 知识审核退回接口
  3072. /// </summary>
  3073. /// <returns></returns>
  3074. //[Authority]
  3075. public ActionResult back()
  3076. {
  3077. Request.InputStream.Position = 0;
  3078. string postString;
  3079. using (var reader = new StreamReader(Request.InputStream))
  3080. {
  3081. postString = reader.ReadToEnd();
  3082. }
  3083. JObject paras = null;
  3084. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  3085. LogFactory.GetLogger("back").Warn(paras);
  3086. var txnBodyCom = paras["paras"].ToString();
  3087. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  3088. LogFactory.GetLogger("result").Warn(result);
  3089. if (result["KINFO_ID"] == null)
  3090. {
  3091. var obj1 = new
  3092. {
  3093. code = "0",
  3094. message = "KINFO_ID不能为空"
  3095. };
  3096. return Content(obj1.ToJson());
  3097. }
  3098. if (string.IsNullOrEmpty(result["KINFO_KNAME"].ToString()))
  3099. {
  3100. var obj1 = new
  3101. {
  3102. code = "0",
  3103. message = "KINFO_KNAME不能为空"
  3104. };
  3105. return Content(obj1.ToJson());
  3106. }
  3107. if (string.IsNullOrEmpty(result["KINFO_KCONTENT"].ToString()))
  3108. {
  3109. var obj1 = new
  3110. {
  3111. code = "0",
  3112. message = "KINFO_KCONTENT不能为空"
  3113. };
  3114. return Content(obj1.ToJson());
  3115. }
  3116. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  3117. {
  3118. Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
  3119. model.KINFO_ID = result["KINFO_ID"].ToString();
  3120. model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
  3121. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  3122. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  3123. model.ReKINFO_REASON = result["KINFO_REASON"].ToString();
  3124. model.F_CreateTime = DateTime.Now;
  3125. model.F_State = 3;
  3126. model.F_IsDelete = 0;
  3127. int n = new BLL.T_Sys_kinfoQuestions().Add(model);
  3128. if (n > 0)
  3129. {
  3130. var obj1 = new
  3131. {
  3132. code = "1",
  3133. message = "推送成功"
  3134. };
  3135. trans.Complete();
  3136. return Content(obj1.ToJson());
  3137. }
  3138. else
  3139. {
  3140. var obj1 = new
  3141. {
  3142. code = "0",
  3143. message = "推送失败"
  3144. };
  3145. trans.Complete();
  3146. return Content(obj1.ToJson());
  3147. }
  3148. }
  3149. }
  3150. /// <summary>
  3151. /// </summary>
  3152. /// 知识重新答复接口
  3153. /// <param name="sender"></param>
  3154. /// <param name="e"></param>
  3155. [Authority]
  3156. public ActionResult kinfo_againanswer(string KINFO_KNAME,
  3157. string KINFO_KCONTENT, DateTime? KINFO_BEGINDATE, DateTime? KINFO_DISABLEDATE,
  3158. int id = 0)
  3159. {
  3160. int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
  3161. Model.T_Sys_UserAccount userModel = userBLL.GetModel(userId);
  3162. Model.T_Sys_kinfoQuestions model = new BLL.T_Sys_kinfoQuestions().GetModel(id);
  3163. if (model != null)
  3164. {
  3165. transmit_kinfo_answer paras = new transmit_kinfo_answer();
  3166. paras.KINFO_ID = model.KINFO_ID;
  3167. paras.KINFO_KNAME = KINFO_KNAME;
  3168. paras.KINFO_KCONTENT = KINFO_KCONTENT;
  3169. if (KINFO_BEGINDATE != null)
  3170. paras.KINFO_BEGINDATE = KINFO_BEGINDATE.Value.ToString("yyyy-MM-dd HH:mm:ss");
  3171. else
  3172. return Error("请选择生效时间");
  3173. if (KINFO_DISABLEDATE != null)
  3174. paras.KINFO_DISABLEDATE = KINFO_DISABLEDATE.Value.ToString("yyyy-MM-dd HH:mm:ss");
  3175. else
  3176. paras.KINFO_DISABLEDATE = "";
  3177. model.ReKINFO_KNAME = KINFO_KNAME;
  3178. model.ReKINFO_KCONTENT = KINFO_KCONTENT;
  3179. model.KINFO_BEGINDATE = KINFO_BEGINDATE;
  3180. model.KINFO_DISABLEDATE = KINFO_DISABLEDATE;
  3181. model.ReUser = userModel.F_UserCode;
  3182. model.F_State = 4;
  3183. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3184. keyValuePairs.Add("paras", paras);
  3185. //string jsonParam = "paras=" + paras.ToJson() + $"&message=知识重新答复接口&url={zhishiurl }/api/transmit_kinfo_againanswer";
  3186. var responseString = Kinforeceive_Push(keyValuePairs.ToJson (), $"{thirdUrl }/kinfo/againAnswer", "知识重新答复接口");
  3187. //var responseString = HttpMethods.HttpPost(fonturl + "/third/Kinforeceive_Push", jsonParam);
  3188. if (responseString=="")
  3189. {
  3190. bool n = new BLL.T_Sys_kinfoQuestions().Update(model);
  3191. if (n)
  3192. {
  3193. return Success("知识答复成功");
  3194. }
  3195. else
  3196. {
  3197. return Error("答复失败");
  3198. }
  3199. }
  3200. else
  3201. {
  3202. return Error("答复失败");
  3203. }
  3204. }
  3205. else
  3206. {
  3207. return Error("推送失败知识不存在");
  3208. }
  3209. }
  3210. /// <summary>
  3211. /// 知识库列表
  3212. /// </summary>
  3213. /// <param name="isdc"></param>
  3214. /// <returns></returns>
  3215. //[Authority]
  3216. public ActionResult GetKinfoList(int isdc = 0)
  3217. {
  3218. DataTable dt = new DataTable();
  3219. string sql = " and F_IsDelete=0";
  3220. #region 参数
  3221. string starttime = HttpUtility.UrlDecode(RequestString.GetQueryString("starttime"));
  3222. string strendtime = HttpUtility.UrlDecode(RequestString.GetQueryString("strendtime"));
  3223. string strpageindex = RequestString.GetQueryString("page");
  3224. int pageindex = 1;
  3225. string strpagesize = RequestString.GetQueryString("pagesize");
  3226. int pagesize = 10;
  3227. string title = HttpUtility.UrlDecode(RequestString.GetQueryString("title"));
  3228. if (title.Trim() != "" && title != "undefined")
  3229. {
  3230. sql += " and (KINFO_KNAME like '%" + title + "%'or ReKINFO_KNAME like '%" + title + "%' )";
  3231. }
  3232. string content = HttpUtility.UrlDecode(RequestString.GetQueryString("content"));
  3233. if (content.Trim() != "" && content != "undefined")
  3234. {
  3235. sql += " and (KINFO_KCONTENT like '%" + title + "%'or ReKINFO_KCONTENT like '%" + title + "%' )";
  3236. }
  3237. int state = RequestString.GetInt("state", -1);
  3238. if (state > -1)
  3239. {
  3240. sql += " and F_State ='" + state + "'";
  3241. }
  3242. if (starttime.Trim() != "" && starttime != "undefined")
  3243. {
  3244. sql += " and F_CreateTime >='" + starttime + "'";
  3245. }
  3246. if (strendtime.Trim() != "" && strendtime != "undefined")
  3247. {
  3248. sql += " and F_CreateTime <='" + strendtime + "'";
  3249. }
  3250. #endregion
  3251. int recordCount = 0;
  3252. dt = BLL.PagerBLL.GetListPager(
  3253. "T_Sys_kinfoQuestions a WITH(NOLOCK)",
  3254. "F_Id",
  3255. "*",
  3256. sql,
  3257. "ORDER BY F_CreateTime DESC",
  3258. pagesize,
  3259. pageindex,
  3260. true,
  3261. out recordCount);
  3262. var obj = new
  3263. {
  3264. state = "success",
  3265. message = "成功",
  3266. rows = dt,
  3267. total = recordCount
  3268. };
  3269. return Content(obj.ToJson());
  3270. }
  3271. /// <summary>
  3272. /// 详情
  3273. /// </summary>
  3274. /// <returns></returns>
  3275. //[Authority]
  3276. public ActionResult GetKinfo(int id)
  3277. {
  3278. var model = new BLL.T_Sys_kinfoQuestions().GetModel(id);
  3279. if (model != null)
  3280. {
  3281. return Success("获取成功", model);
  3282. }
  3283. else
  3284. {
  3285. return Error("获取失败");
  3286. }
  3287. }
  3288. public string Kinforeceive_Push(string paras, string url, string message, string WorkOrderId = "")
  3289. {
  3290. // string jsonParam = "paras=" + paras;
  3291. var responseString =HttpMethods . HttpPost(url, paras,"application/json;charset=UTF-8");
  3292. JObject jo = (JObject)JsonConvert.DeserializeObject(responseString);
  3293. if (jo["code"].ToString() == "1")
  3294. {
  3295. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  3296. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", WorkOrderId, paras, DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), message, "", "");
  3297. object objres = DbHelperSQL.GetSingle(strSql);
  3298. return "";
  3299. }
  3300. else
  3301. {
  3302. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  3303. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", WorkOrderId, paras, DateTime.Now, jo["code"].ToString(), jo["message"].ToString(), message, jo["message"].ToString(), "");
  3304. object objres = DbHelperSQL.GetSingle(strSql);
  3305. return jo["message"].ToString();
  3306. }
  3307. }
  3308. public string kinfo_upload(string pathUrl, string newFileName, string path)
  3309. {
  3310. //文件下载地址
  3311. try
  3312. {
  3313. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pathUrl);
  3314. HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  3315. Stream responseStream = response.GetResponseStream();
  3316. string Currentpath = System.Web.HttpContext.Current.Server.MapPath("..") + path;
  3317. // 如果不存在就创建file文件夹
  3318. if (!Directory.Exists(Currentpath))
  3319. {
  3320. if (Currentpath != null) Directory.CreateDirectory(Currentpath);
  3321. }
  3322. Stream stream = new FileStream(Currentpath + newFileName, FileMode.Create);
  3323. byte[] bArr = new byte[1024];
  3324. int size = responseStream.Read(bArr, 0, bArr.Length);
  3325. while (size > 0)
  3326. {
  3327. stream.Write(bArr, 0, size);
  3328. size = responseStream.Read(bArr, 0, bArr.Length);
  3329. }
  3330. stream.Close();
  3331. responseStream.Close();
  3332. return "1";
  3333. }
  3334. catch (Exception e)
  3335. {
  3336. LogFactory.GetLogger("11").Warn(e.Message);
  3337. return e.Message;
  3338. }
  3339. }
  3340. #endregion
  3341. public class contactslistGroup
  3342. {
  3343. /// <summary>
  3344. /// 目录名称
  3345. /// </summary>
  3346. public string group_name { set; get; }
  3347. /// <summary>
  3348. /// 目录主键
  3349. /// </summary>
  3350. public string group_id { set; get; }
  3351. }
  3352. /// <summary>
  3353. /// 查询通讯录分组
  3354. /// </summary>
  3355. /// <returns></returns>
  3356. public ActionResult listGroup(string name,string id)
  3357. {
  3358. contactslistGroup contactsGroup = new contactslistGroup();
  3359. contactsGroup.group_name = name;
  3360. contactsGroup.group_id = id;
  3361. try
  3362. {
  3363. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3364. keyValuePairs.Add("token", Logins());
  3365. keyValuePairs.Add("contactsGroup", contactsGroup);
  3366. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/listGroup",
  3367. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3368. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3369. return Content(model.ToJson());
  3370. }
  3371. catch(Exception e)
  3372. {
  3373. return Error(e.Message);
  3374. }
  3375. }
  3376. public class parentGroup
  3377. {
  3378. /// <summary>
  3379. /// 目录名称
  3380. /// </summary>
  3381. public string group_name { set; get; }
  3382. /// <summary>
  3383. /// 目录主键
  3384. /// </summary>
  3385. public string parent_id { set; get; }
  3386. }
  3387. /// <summary>
  3388. /// 添加通讯录分组
  3389. /// </summary>
  3390. /// <returns></returns>
  3391. public ActionResult addGroup(string name, string id)
  3392. {
  3393. token = Logins();
  3394. parentGroup contactsGroup = new parentGroup();
  3395. contactsGroup.group_name = name;
  3396. contactsGroup.parent_id = id;
  3397. try
  3398. {
  3399. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3400. keyValuePairs.Add("token", Logins());
  3401. keyValuePairs.Add("contactsGroup", contactsGroup);
  3402. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/addGroup",
  3403. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3404. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3405. return Content(model.ToJson());
  3406. }
  3407. catch (Exception e)
  3408. {
  3409. return Error(e.Message);
  3410. }
  3411. }
  3412. /// <summary>
  3413. /// 修改通讯录分组
  3414. /// </summary>
  3415. /// <returns></returns>
  3416. public ActionResult editGroup(string name, string id)
  3417. {
  3418. token = Logins();
  3419. contactslistGroup contactsGroup = new contactslistGroup();
  3420. contactsGroup.group_name = name;
  3421. contactsGroup.group_id = id;
  3422. try
  3423. {
  3424. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3425. keyValuePairs.Add("token", Logins());
  3426. keyValuePairs.Add("contactsGroup", contactsGroup);
  3427. //string jsonParam = "token=" + token + "&contactsGroup=" + contactsGroup.ToJson();
  3428. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/editGroup",
  3429. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3430. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3431. return Content(model.ToJson());
  3432. }
  3433. catch (Exception e)
  3434. {
  3435. return Error(e.Message);
  3436. }
  3437. }
  3438. public class Groupdelete
  3439. {
  3440. /// <summary>
  3441. /// 目录主键
  3442. /// </summary>
  3443. public string group_id { set; get; }
  3444. }
  3445. /// <summary>
  3446. /// 删除通讯录分组
  3447. /// </summary>
  3448. /// <returns></returns>
  3449. public ActionResult deleteGroup(string name, string id)
  3450. {
  3451. token = Logins();
  3452. Groupdelete contactsGroup = new Groupdelete();
  3453. contactsGroup.group_id = id;
  3454. try
  3455. {
  3456. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3457. keyValuePairs.Add("token", Logins());
  3458. keyValuePairs.Add("contactsGroup", contactsGroup);
  3459. //string jsonParam = "token=" + token + "&contactsGroup=" + contactsGroup.ToJson();
  3460. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/deleteGroup",
  3461. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3462. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3463. return Content(model.ToJson());
  3464. }
  3465. catch (Exception e)
  3466. {
  3467. return Error(e.Message);
  3468. }
  3469. }
  3470. public class listcontact
  3471. {
  3472. public string group_id { set; get; }
  3473. }
  3474. /// <summary>
  3475. /// 查询通讯录
  3476. /// </summary>
  3477. /// <returns></returns>
  3478. public ActionResult listcontacts(string id)
  3479. {
  3480. token = Logins();
  3481. listcontact contacts = new listcontact();
  3482. contacts.group_id = id;
  3483. try
  3484. {
  3485. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3486. keyValuePairs.Add("token", Logins());
  3487. keyValuePairs.Add("contacts", contacts);
  3488. // string jsonParam = "token=" + token + "&contacts=" + contacts.ToJson();
  3489. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/contacts",
  3490. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3491. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3492. return Content(model.ToJson());
  3493. }
  3494. catch (Exception e)
  3495. {
  3496. return Error(e.Message);
  3497. }
  3498. }
  3499. public class contacts
  3500. {
  3501. /// <summary>
  3502. /// 单位地址
  3503. /// </summary>
  3504. public string unit_address { set; get; }
  3505. /// <summary>
  3506. /// 传真
  3507. /// </summary>
  3508. public string fax_number { set; get; }
  3509. /// <summary>
  3510. /// 备注
  3511. /// </summary>
  3512. public string remark { set; get; }
  3513. /// <summary>
  3514. /// 负责人联系方式
  3515. /// </summary>
  3516. public string charge_person_phone { set; get; }
  3517. /// <summary>
  3518. /// 负责人职务
  3519. /// </summary>
  3520. public string charge_person_position { set; get; }
  3521. /// <summary>
  3522. /// 单位名称
  3523. /// </summary>
  3524. public string unit_name { set; get; }
  3525. /// <summary>
  3526. /// 公开电话
  3527. /// </summary>
  3528. public string public_phone { set; get; }
  3529. /// <summary>
  3530. /// 办工时间
  3531. /// </summary>
  3532. public string office_time { set; get; }
  3533. /// <summary>
  3534. /// 工作职责
  3535. /// </summary>
  3536. public string operate_duty { set; get; }
  3537. /// <summary>
  3538. /// 内部电话
  3539. /// </summary>
  3540. public string internal_phone { set; get; }
  3541. /// <summary>
  3542. /// 负责人
  3543. /// </summary>
  3544. public string charge_person { set; get; }
  3545. /// <summary>
  3546. /// 本级目录
  3547. /// </summary>
  3548. public string group_id { set; get; }
  3549. }
  3550. /// <summary>
  3551. /// 添加通讯录
  3552. /// </summary>
  3553. /// <returns></returns>
  3554. public ActionResult addcontacts(contacts contact)
  3555. {
  3556. if (string .IsNullOrEmpty (contact.unit_name))
  3557. {
  3558. return Error("请输入单位名称");
  3559. }
  3560. if (string.IsNullOrEmpty(contact.public_phone))
  3561. {
  3562. return Error("请输入公开电话");
  3563. }
  3564. if (string.IsNullOrEmpty(contact.office_time))
  3565. {
  3566. return Error("请输入办工时间");
  3567. }
  3568. if (string.IsNullOrEmpty(contact.operate_duty))
  3569. {
  3570. return Error("请输入工作职责");
  3571. }
  3572. if (string.IsNullOrEmpty(contact.internal_phone))
  3573. {
  3574. return Error("请输入内部电话");
  3575. }
  3576. if (string.IsNullOrEmpty(contact.charge_person))
  3577. {
  3578. return Error("请输入负责人");
  3579. }
  3580. if (string.IsNullOrEmpty(contact.group_id))
  3581. {
  3582. return Error("请输入选择本级目录");
  3583. }
  3584. token = Logins();
  3585. try
  3586. {
  3587. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3588. keyValuePairs.Add("token", Logins());
  3589. keyValuePairs.Add("contacts", contact);
  3590. //string jsonParam = "token=" + token + "&contacts=" + contact.ToJson();
  3591. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/add",
  3592. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3593. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3594. return Content(model.ToJson());
  3595. }
  3596. catch (Exception e)
  3597. {
  3598. return Error(e.Message);
  3599. }
  3600. }
  3601. public class updatecontact
  3602. {
  3603. /// <summary>
  3604. /// 单位地址
  3605. /// </summary>
  3606. public string unit_address { set; get; }
  3607. /// <summary>
  3608. /// 传真
  3609. /// </summary>
  3610. public string fax_number { set; get; }
  3611. /// <summary>
  3612. /// 备注
  3613. /// </summary>
  3614. public string remark { set; get; }
  3615. /// <summary>
  3616. /// 负责人联系方式
  3617. /// </summary>
  3618. public string charge_person_phone { set; get; }
  3619. /// <summary>
  3620. /// 负责人职务
  3621. /// </summary>
  3622. public string charge_person_position { set; get; }
  3623. /// <summary>
  3624. /// 单位名称
  3625. /// </summary>
  3626. public string unit_name { set; get; }
  3627. /// <summary>
  3628. /// 公开电话
  3629. /// </summary>
  3630. public string public_phone { set; get; }
  3631. /// <summary>
  3632. /// 办工时间
  3633. /// </summary>
  3634. public string office_time { set; get; }
  3635. /// <summary>
  3636. /// 工作职责
  3637. /// </summary>
  3638. public string operate_duty { set; get; }
  3639. /// <summary>
  3640. /// 内部电话
  3641. /// </summary>
  3642. public string internal_phone { set; get; }
  3643. /// <summary>
  3644. /// 负责人
  3645. /// </summary>
  3646. public string charge_person { set; get; }
  3647. /// <summary>
  3648. /// 业务标识
  3649. /// </summary>
  3650. public string id { set; get; }
  3651. }
  3652. /// <summary>
  3653. /// 修改通讯录
  3654. /// </summary>
  3655. /// <returns></returns>
  3656. public ActionResult updatecontacts(updatecontact contact)
  3657. {
  3658. if (string.IsNullOrEmpty(contact.unit_name))
  3659. {
  3660. return Error("请输入单位名称");
  3661. }
  3662. if (string.IsNullOrEmpty(contact.public_phone))
  3663. {
  3664. return Error("请输入公开电话");
  3665. }
  3666. if (string.IsNullOrEmpty(contact.office_time))
  3667. {
  3668. return Error("请输入办工时间");
  3669. }
  3670. if (string.IsNullOrEmpty(contact.operate_duty))
  3671. {
  3672. return Error("请输入工作职责");
  3673. }
  3674. if (string.IsNullOrEmpty(contact.internal_phone))
  3675. {
  3676. return Error("请输入内部电话");
  3677. }
  3678. if (string.IsNullOrEmpty(contact.charge_person))
  3679. {
  3680. return Error("请输入负责人");
  3681. }
  3682. if (string.IsNullOrEmpty(contact.id ))
  3683. {
  3684. return Error("请输入选择要修改的通讯录");
  3685. }
  3686. token = Logins();
  3687. try
  3688. {
  3689. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3690. keyValuePairs.Add("token", Logins());
  3691. keyValuePairs.Add("contacts", contact);
  3692. // string jsonParam = "token=" + token + "&contacts=" + contact.ToJson();
  3693. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/edit",
  3694. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3695. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3696. return Content(model.ToJson());
  3697. }
  3698. catch (Exception e)
  3699. {
  3700. return Error(e.Message);
  3701. }
  3702. }
  3703. public class deletecontact
  3704. {
  3705. public string id { set; get; }
  3706. }
  3707. /// <summary>
  3708. /// 删除通讯录
  3709. /// </summary>
  3710. /// <returns></returns>
  3711. public ActionResult deletecontacts(deletecontact contact)
  3712. {
  3713. if (string.IsNullOrEmpty(contact.id))
  3714. {
  3715. return Error("请输入选择要删除的通讯录");
  3716. }
  3717. token = Logins();
  3718. try
  3719. {
  3720. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  3721. keyValuePairs.Add("token", Logins());
  3722. keyValuePairs.Add("contacts", contact);
  3723. // string jsonParam = "token=" + token + "&contacts=" + contact.ToJson();
  3724. var responseString = HttpMethods.HttpPost(thirdUrl + "/contacts/delete",
  3725. keyValuePairs.ToJson (), "application/json;charset=UTF-8");
  3726. JObject model = (JObject)JsonConvert.DeserializeObject(responseString);
  3727. return Content(model.ToJson());
  3728. }
  3729. catch (Exception e)
  3730. {
  3731. return Error(e.Message);
  3732. }
  3733. }
  3734. }
  3735. }