TinfoClassController.java 167 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992
  1. package cn.com.taiji.zhongxiao.web;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.io.OutputStreamWriter;
  10. import java.io.Writer;
  11. import java.math.BigDecimal;
  12. import java.net.URLEncoder;
  13. import java.util.ArrayList;
  14. import java.util.Date;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. import java.util.Set;
  19. import java.util.Vector;
  20. import java.util.concurrent.ExecutionException;
  21. import java.util.concurrent.Future;
  22. import javax.inject.Inject;
  23. import javax.servlet.ServletOutputStream;
  24. import javax.servlet.http.HttpServletRequest;
  25. import javax.servlet.http.HttpServletResponse;
  26. import javax.servlet.http.HttpSession;
  27. import cn.com.taiji.util.*;
  28. import org.activiti.engine.runtime.ProcessInstance;
  29. import org.slf4j.Logger;
  30. import org.slf4j.LoggerFactory;
  31. import org.springframework.beans.BeanUtils;
  32. import org.springframework.beans.factory.annotation.Value;
  33. import org.springframework.jdbc.core.JdbcTemplate;
  34. import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  35. import org.springframework.stereotype.Controller;
  36. import org.springframework.ui.Model;
  37. import org.springframework.web.bind.annotation.PathVariable;
  38. import org.springframework.web.bind.annotation.RequestMapping;
  39. import org.springframework.web.bind.annotation.RequestParam;
  40. import org.springframework.web.bind.annotation.ResponseBody;
  41. import com.alibaba.fastjson.JSONObject;
  42. import com.fasterxml.jackson.core.JsonParseException;
  43. import com.fasterxml.jackson.core.type.TypeReference;
  44. import com.fasterxml.jackson.databind.ObjectMapper;
  45. import cn.com.taiji.sys.domain.Dept;
  46. import cn.com.taiji.sys.domain.Role;
  47. import cn.com.taiji.sys.domain.User;
  48. import cn.com.taiji.sys.dto.CodeDto;
  49. import cn.com.taiji.sys.dto.UserDto;
  50. import cn.com.taiji.sys.service.DeptService;
  51. import cn.com.taiji.sys.service.UserService;
  52. import cn.com.taiji.workflow.service.WorkflowService;
  53. import cn.com.taiji.zhongxiao.domain.CommonAduitrecord;
  54. import cn.com.taiji.zhongxiao.domain.ReqdataitemXxx;
  55. import cn.com.taiji.zhongxiao.domain.RequireBMTask;
  56. import cn.com.taiji.zhongxiao.domain.TbusinessItemAndInfoClass;
  57. import cn.com.taiji.zhongxiao.domain.TcodeSet;
  58. import cn.com.taiji.zhongxiao.domain.TdataMeta;
  59. import cn.com.taiji.zhongxiao.domain.TinfoClass;
  60. import cn.com.taiji.zhongxiao.domain.TinfoclassDatameta;
  61. import cn.com.taiji.zhongxiao.domain.TinfoclassRes;
  62. import cn.com.taiji.zhongxiao.domain.TsystemInfoAndInfoClass;
  63. import cn.com.taiji.zhongxiao.dto.DelayDataShareInfo;
  64. import cn.com.taiji.zhongxiao.dto.DelayInfo;
  65. import cn.com.taiji.zhongxiao.dto.DelayServiceShareInfo;
  66. import cn.com.taiji.zhongxiao.dto.TchangeApplyDto;
  67. import cn.com.taiji.zhongxiao.dto.TcodeSetDto;
  68. import cn.com.taiji.zhongxiao.dto.TdataMetaDto;
  69. import cn.com.taiji.zhongxiao.dto.TinfoClassDto;
  70. import cn.com.taiji.zhongxiao.dto.TserviceRegInfoDto;
  71. import cn.com.taiji.zhongxiao.dto.TshareApplyDto;
  72. import cn.com.taiji.zhongxiao.dto.UploadDto;
  73. import cn.com.taiji.zhongxiao.dto.VtasklistDto;
  74. import cn.com.taiji.zhongxiao.service.BusinessProcessService;
  75. import cn.com.taiji.zhongxiao.service.CommonAduitrecordService;
  76. import cn.com.taiji.zhongxiao.service.DatametaService;
  77. import cn.com.taiji.zhongxiao.service.DbdcCodeService;
  78. import cn.com.taiji.zhongxiao.service.DbdcRoleService;
  79. import cn.com.taiji.zhongxiao.service.DbdcUserService;
  80. import cn.com.taiji.zhongxiao.service.LoginfoService;
  81. import cn.com.taiji.zhongxiao.service.RequireBMTaskService;
  82. import cn.com.taiji.zhongxiao.service.RequireDataItemService;
  83. import cn.com.taiji.zhongxiao.service.SunCallable;
  84. import cn.com.taiji.zhongxiao.service.SunReadCallable;
  85. import cn.com.taiji.zhongxiao.service.TbusinessItemAndInfoClassService;
  86. import cn.com.taiji.zhongxiao.service.TchangeApplyService;
  87. import cn.com.taiji.zhongxiao.service.TcodeSetService;
  88. import cn.com.taiji.zhongxiao.service.TinfoClassService;
  89. import cn.com.taiji.zhongxiao.service.TinfoCodeService;
  90. import cn.com.taiji.zhongxiao.service.TinfoclassDatametaService;
  91. import cn.com.taiji.zhongxiao.service.TpowerResponsibilityService;
  92. import cn.com.taiji.zhongxiao.service.TresClassifyService;
  93. import cn.com.taiji.zhongxiao.service.TserviceRegInfoService;
  94. import cn.com.taiji.zhongxiao.service.TsystemInfoAndInfoClassService;
  95. import cn.com.taiji.zhongxiao.service.UploadService;
  96. import freemarker.template.Configuration;
  97. import freemarker.template.Template;
  98. import freemarker.template.TemplateException;
  99. /**
  100. *
  101. * 类名称:TinfoClassController 类描述: 信息类控制器 创建人:lijiezhi_pc 创建时间:2017年12月21日
  102. * 下午2:58:18
  103. *
  104. * @version
  105. */
  106. @Controller
  107. @RequestMapping(value = "/tinfoclass")
  108. public class TinfoClassController {
  109. private static final Logger log = LoggerFactory.getLogger(TinfoClassController.class);
  110. @Inject
  111. DbdcUserService userService;
  112. @Inject
  113. ObjectMapper objectMapper;
  114. @Inject
  115. LoginfoService loginfoService;
  116. @Inject
  117. DatametaService datametaService;
  118. @Inject
  119. TinfoClassService tinfoClassService;
  120. @Inject
  121. DbdcCodeService dbdcCodeService;
  122. @Inject
  123. TinfoCodeService tinfoCodeService;
  124. @Inject
  125. TchangeApplyService tchangeApplyService;
  126. @Inject
  127. BusinessProcessService businessProcessService;
  128. @Inject
  129. TserviceRegInfoService reginfoService;
  130. @Inject
  131. TpowerResponsibilityService tpowerResponsibilityService;
  132. @Value("${zgbmgl_role}")
  133. String zgbmgl_role;
  134. @Value("${viewrole}")
  135. String viewrole;
  136. @Inject
  137. UserService uiservice;
  138. @Inject
  139. ThreadPoolTaskExecutor threadPoolTaskExecutor;
  140. @Inject
  141. TinfoclassDatametaService tinfoclassDatametaService;
  142. @Inject
  143. TcodeSetService tcodeSetService;
  144. @Inject
  145. TresClassifyService tresClassifyService;
  146. @Inject
  147. WorkflowService workflowService;
  148. @Inject
  149. DbdcRoleService dbdcRoleService;
  150. @Inject
  151. UploadService uploadService;
  152. @Inject
  153. TsystemInfoAndInfoClassService tsystemInfoAndInfoClassService;
  154. @Inject
  155. TbusinessItemAndInfoClassService tbusinessItemAndInfoClassService;
  156. @Inject
  157. RequireBMTaskService requireBMTaskService;
  158. @Inject
  159. JdbcTemplate jdbcTemplate;
  160. @Value("${save_path}")
  161. private String save_path;
  162. @Value("${zgbmbz_role}")
  163. private String zgbmbz_role;
  164. @Value("${qingdan_bzy}")
  165. private String qingdan_bzy;
  166. @Inject
  167. RequireDataItemService requireDataItemService;
  168. @Value("${admin_id}")
  169. String admin_id;
  170. @Value("${database_type}")
  171. String database_type;
  172. @Inject
  173. CommonAduitrecordService commonAduitrecordService;
  174. @Inject
  175. DeptService deptService;
  176. /*
  177. * 每页默认显示条数
  178. */
  179. public static int PAGESIZE = 10;
  180. public static String modelType = "信息类管理";
  181. private <T> Pagination<T> newPagination(String currentPageStr, int pagesize) {
  182. Pagination<T> page = new Pagination<T>();
  183. int currentPage = page.getPageCurrentNum() != 0 ? page.getPageCurrentNum() : 1;
  184. if (currentPageStr != null && !"".equals(currentPageStr)) {
  185. currentPage = Integer.parseInt(currentPageStr);
  186. }
  187. int pageStartNo = (currentPage - 1) * pagesize;
  188. page.setPageSize(pagesize);
  189. page.setPageCurrentNum(currentPage);
  190. page.setPageStartNo(pageStartNo);
  191. return page;
  192. }
  193. @RequestMapping("/tinfoclass_generatesql{infoclassid}")
  194. public String tinfoclassGeneratesql(Model model, @PathVariable("infoclassid") String infoclassid,
  195. HttpServletRequest request, HttpServletResponse response) {
  196. String type = request.getParameter("type");
  197. String shareid = request.getParameter("shareid");
  198. String sql = tinfoClassService.generateSql(infoclassid, type,shareid);
  199. model.addAttribute("sql", sql);
  200. return "thymeleaf/tinfoclass/tinfoclass_generatesql";
  201. }
  202. /**
  203. *
  204. * @Description: 信息类已审核通过列表
  205. * @param model
  206. * @param dto
  207. * @param request
  208. * @param response
  209. * @return String
  210. * @throws @author lijiezhi
  211. * @date 2018年1月29日
  212. */
  213. @RequestMapping("/tinfoclass_yslist")
  214. public String tinfoclassYslist(Model model, TinfoClassDto dto, HttpServletRequest request,
  215. HttpServletResponse response) {
  216. HttpSession session = request.getSession();
  217. User userInfo = (User) session.getAttribute("user");
  218. model.addAttribute("userid", userInfo.getUserId());
  219. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  220. model.addAttribute("fltaglist", fltaglist);
  221. String hasqingdan = "0";
  222. for (Role role : userInfo.getRoles()) {
  223. if (qingdan_bzy.contains(role.getRoleId())) {
  224. hasqingdan = "1";
  225. break;
  226. }
  227. }
  228. // 判断用户是否有清单编制员的角色
  229. loginfoService.logDealInfo("3", modelType, "信息类已审核列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  230. request.getRequestURI(), userInfo);
  231. model.addAttribute("hasqingdan", hasqingdan);
  232. return "thymeleaf/tinfoclass/tinfoclass_yslist";
  233. }
  234. @RequestMapping("/tinfoclass_yslist_json")
  235. public Map tinfoclass_yslist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  236. @RequestParam(required = false, defaultValue = "1") int page,
  237. @RequestParam(required = false, defaultValue = "5") int limit) {
  238. HttpSession session = request.getSession();
  239. User userInfo = (User) session.getAttribute("user");
  240. Map map = new HashMap<>();
  241. TinfoClassDto dto = new TinfoClassDto();
  242. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  243. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  244. }
  245. String currentPageStr = page + "";
  246. String pagesizes = limit + "";
  247. if (pagesizes == null) {
  248. pagesizes = "10";
  249. }
  250. int pagesize = Integer.parseInt(pagesizes);
  251. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  252. pageinfo.setSortFiled(request.getParameter("field"));
  253. pageinfo.setSortType(request.getParameter("order"));
  254. pageinfo = tinfoClassService.findTinfoClassYsList(dto, pageinfo, userInfo);
  255. map.put("code", "0");
  256. map.put("msg", "ok");
  257. map.put("data", pageinfo.getPageResult());
  258. map.put("count", pageinfo.getPageTotal());
  259. return map;
  260. }
  261. @RequestMapping("/tinfoclass_choose_list{type}")
  262. public String tinfoclassChooseList(@PathVariable("type")String type, Model model, TinfoClassDto dto, HttpServletRequest request,
  263. HttpServletResponse response) {
  264. HttpSession session = request.getSession();
  265. User userInfo = (User) session.getAttribute("user");
  266. String choose_name = request.getParameter("choose_name");
  267. String choose_id = request.getParameter("choose_id");
  268. String currentPageStr = request.getParameter("pagecurrentnum");
  269. String pagesizes = request.getParameter("selectlimitnum");
  270. if (pagesizes == null) {
  271. pagesizes = "10";
  272. }
  273. int pagesize = Integer.parseInt(pagesizes);
  274. Pagination<TinfoClassDto> page = newPagination(currentPageStr, pagesize);
  275. if(!ToolUtil.isNull(type)) {
  276. dto.setSharemodetypename("接口");
  277. }
  278. model.addAttribute("type", type);
  279. page = tinfoClassService.findTinfoClassYsList(dto, page, userInfo);
  280. model.addAttribute("list", page.getPageResult());
  281. model.addAttribute("pagevar", page);
  282. model.addAttribute("dto", dto);
  283. model.addAttribute("choose_name", choose_name);
  284. model.addAttribute("choose_id", choose_id);
  285. loginfoService.logDealInfo("3", modelType, "信息类选择列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  286. request.getRequestURI(), userInfo);
  287. return "thymeleaf/tinfoclass/tinfoclass_choose_list";
  288. }
  289. /**
  290. *
  291. * @Description: 信息类停用启用
  292. * @param model
  293. * @param dto
  294. * @param request
  295. * @param response
  296. * @return String
  297. * @throws @author lijie
  298. * @date 2018年1月29日
  299. */
  300. @RequestMapping("/tinfoclass_tqlist")
  301. public String tinfoclassTqlist(Model model, TinfoClassDto dto, HttpServletRequest request,
  302. HttpServletResponse response) {
  303. HttpSession session = request.getSession();
  304. User userInfo = (User) session.getAttribute("user");
  305. loginfoService.logDealInfo("3", modelType, "信息类停启列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  306. request.getRequestURI(), userInfo);
  307. String zgbm ="0";
  308. for (Role role : userInfo.getRoles()) {
  309. if(zgbmgl_role.equals(role.getRoleId())||admin_id.equals(role.getRoleId()))
  310. zgbm = "1";
  311. }
  312. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  313. model.addAttribute("fltaglist", fltaglist);
  314. model.addAttribute("zgbm", zgbm);
  315. return "thymeleaf/tinfoclass/tinfoclass_tqlist";
  316. }
  317. @RequestMapping("/tinfoclass_tqlist_json")
  318. public Map tinfoclass_tqlist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  319. @RequestParam(required = false, defaultValue = "1") int page,
  320. @RequestParam(required = false, defaultValue = "5") int limit) {
  321. Map map = new HashMap<>();
  322. HttpSession session = request.getSession();
  323. User userInfo = (User) session.getAttribute("user");
  324. TinfoClassDto dto = new TinfoClassDto();
  325. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  326. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  327. }
  328. String currentPageStr = page + "";
  329. String pagesizes = limit + "";
  330. if (pagesizes == null) {
  331. pagesizes = "10";
  332. }
  333. int pagesize = Integer.parseInt(pagesizes);
  334. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  335. pageinfo.setSortFiled(request.getParameter("field"));
  336. pageinfo.setSortType(request.getParameter("order"));
  337. pageinfo = tinfoClassService.findTinfoClassTqList(dto, pageinfo, userInfo);
  338. map.put("code", "0");
  339. map.put("msg", "ok");
  340. map.put("data", pageinfo.getPageResult());
  341. map.put("count", pageinfo.getPageTotal());
  342. return map;
  343. }
  344. /**
  345. *
  346. * @Description: 信息类注册
  347. * @param model
  348. * @param dto
  349. * @param request
  350. * @param response
  351. * @return String
  352. * @throws @author lijie
  353. * @date 2018年1月29日
  354. */
  355. @RequestMapping("/tinfoclass_zclist")
  356. public String tinfoclassZclist(Model model, TinfoClassDto dto, HttpServletRequest request,
  357. HttpServletResponse response) {
  358. HttpSession session = request.getSession();
  359. User userInfo = (User) session.getAttribute("user");
  360. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  361. model.addAttribute("fltaglist", fltaglist);
  362. loginfoService.logDealInfo("3", modelType, "信息类注册列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  363. request.getRequestURI(), userInfo);
  364. return "thymeleaf/tinfoclass/tinfoclass_zclist";
  365. }
  366. @RequestMapping("/tinfoclass_qzmllist{sysid}")
  367. public String tinfoclassQzmllist(@PathVariable("sysid")String sysid,Model model, TinfoClassDto dto, HttpServletRequest request,
  368. HttpServletResponse response) {
  369. HttpSession session = request.getSession();
  370. User userInfo = (User) session.getAttribute("user");
  371. loginfoService.logDealInfo("3", modelType, "权责关联目录数", "t_infoclass", "", ToolUtil.getIpAddr(request),
  372. request.getRequestURI(), userInfo);
  373. model.addAttribute("sysid", sysid);
  374. return "thymeleaf/tinfoclass/tinfoclass_qzmllist";
  375. }
  376. @RequestMapping("/tinfoclass_qzmllist_json{sysid}")
  377. public Map tinfoclass_qzmllist_json(@PathVariable("sysid")String sysid,HttpServletRequest request, @RequestParam(required = false) String queryParam,
  378. @RequestParam(required = false, defaultValue = "1") int page,
  379. @RequestParam(required = false, defaultValue = "5") int limit) {
  380. HttpSession session = request.getSession();
  381. User userInfo = (User) session.getAttribute("user");
  382. Map map = new HashMap<>();
  383. TinfoClassDto dto = new TinfoClassDto();
  384. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  385. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  386. }
  387. String currentPageStr = page + "";
  388. String pagesizes = limit + "";
  389. if (pagesizes == null) {
  390. pagesizes = "10";
  391. }
  392. int pagesize = Integer.parseInt(pagesizes);
  393. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  394. pageinfo.setSortFiled(request.getParameter("field"));
  395. pageinfo.setSortType(request.getParameter("order"));
  396. dto.setSysteminfo(sysid);
  397. pageinfo = tinfoClassService.findTinfoClassQzmlList(dto, pageinfo, userInfo);
  398. map.put("code", "0");
  399. map.put("msg", "ok");
  400. map.put("data", pageinfo.getPageResult());
  401. map.put("count", pageinfo.getPageTotal());
  402. return map;
  403. }
  404. @RequestMapping("/tinfoclass_csmllist{sysid}")
  405. public String tinfoclassCsmllist(@PathVariable("sysid")String sysid,Model model, TinfoClassDto dto, HttpServletRequest request,
  406. HttpServletResponse response) {
  407. HttpSession session = request.getSession();
  408. User userInfo = (User) session.getAttribute("user");
  409. loginfoService.logDealInfo("3", modelType, "产出目录数", "t_infoclass", "", ToolUtil.getIpAddr(request),
  410. request.getRequestURI(), userInfo);
  411. model.addAttribute("sysid", sysid);
  412. return "thymeleaf/tinfoclass/tinfoclass_csmllist";
  413. }
  414. @RequestMapping("/tinfoclass_csmllist_json{sysid}")
  415. public Map tinfoclass_csmllist_json(@PathVariable("sysid")String sysid,HttpServletRequest request, @RequestParam(required = false) String queryParam,
  416. @RequestParam(required = false, defaultValue = "1") int page,
  417. @RequestParam(required = false, defaultValue = "5") int limit) {
  418. HttpSession session = request.getSession();
  419. User userInfo = (User) session.getAttribute("user");
  420. Map map = new HashMap<>();
  421. TinfoClassDto dto = new TinfoClassDto();
  422. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  423. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  424. }
  425. String currentPageStr = page + "";
  426. String pagesizes = limit + "";
  427. if (pagesizes == null) {
  428. pagesizes = "10";
  429. }
  430. int pagesize = Integer.parseInt(pagesizes);
  431. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  432. pageinfo.setSortFiled(request.getParameter("field"));
  433. pageinfo.setSortType(request.getParameter("order"));
  434. dto.setSysteminfo(sysid);
  435. pageinfo = tinfoClassService.findTinfoClassCsmlList(dto, pageinfo, userInfo);
  436. map.put("code", "0");
  437. map.put("msg", "ok");
  438. map.put("data", pageinfo.getPageResult());
  439. map.put("count", pageinfo.getPageTotal());
  440. return map;
  441. }
  442. @RequestMapping("/tinfoclass_zclist_json")
  443. public Map tinfoclass_zclist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  444. @RequestParam(required = false, defaultValue = "1") int page,
  445. @RequestParam(required = false, defaultValue = "5") int limit) {
  446. HttpSession session = request.getSession();
  447. User userInfo = (User) session.getAttribute("user");
  448. Map map = new HashMap<>();
  449. TinfoClassDto dto = new TinfoClassDto();
  450. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  451. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  452. }
  453. String currentPageStr = page + "";
  454. String pagesizes = limit + "";
  455. if (pagesizes == null) {
  456. pagesizes = "10";
  457. }
  458. int pagesize = Integer.parseInt(pagesizes);
  459. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  460. pageinfo.setSortFiled(request.getParameter("field"));
  461. pageinfo.setSortType(request.getParameter("order"));
  462. pageinfo = tinfoClassService.findTinfoClassZcList(dto, pageinfo, userInfo, "0");// 0
  463. // 表示所有
  464. // 1
  465. // 表示提供方处室
  466. // 2
  467. // 表示提供方部门
  468. // 3
  469. // 表示提供方主管部门
  470. map.put("code", "0");
  471. map.put("msg", "ok");
  472. map.put("data", pageinfo.getPageResult());
  473. map.put("count", pageinfo.getPageTotal());
  474. return map;
  475. }
  476. @RequestMapping("/tinfoclass_cslist")
  477. public String tinfoclassCslist(Model model, TinfoClassDto dto, HttpServletRequest request,
  478. HttpServletResponse response) {
  479. HttpSession session = request.getSession();
  480. User userInfo = (User) session.getAttribute("user");
  481. loginfoService.logDealInfo("3", modelType, "信息类注册列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  482. request.getRequestURI(), userInfo);
  483. return "thymeleaf/tinfoclass/tinfoclass_cslist";
  484. }
  485. @RequestMapping("/tinfoclass_cslist_json")
  486. public Map tinfoclass_cslist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  487. @RequestParam(required = false, defaultValue = "1") int page,
  488. @RequestParam(required = false, defaultValue = "5") int limit) {
  489. HttpSession session = request.getSession();
  490. User userInfo = (User) session.getAttribute("user");
  491. Map map = new HashMap<>();
  492. TinfoClassDto dto = new TinfoClassDto();
  493. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  494. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  495. }
  496. String currentPageStr = page + "";
  497. String pagesizes = limit + "";
  498. if (pagesizes == null) {
  499. pagesizes = "10";
  500. }
  501. int pagesize = Integer.parseInt(pagesizes);
  502. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  503. pageinfo.setSortFiled(request.getParameter("field"));
  504. pageinfo.setSortType(request.getParameter("order"));
  505. pageinfo = tinfoClassService.findTinfoClassZcList(dto, pageinfo, userInfo, "1");// 0
  506. // 表示所有
  507. // 1
  508. // 表示提供方处室
  509. // 2
  510. // 表示提供方部门
  511. // 3
  512. // 表示提供方主管部门
  513. map.put("code", "0");
  514. map.put("msg", "ok");
  515. map.put("data", pageinfo.getPageResult());
  516. map.put("count", pageinfo.getPageTotal());
  517. return map;
  518. }
  519. @RequestMapping("/tinfoclass_bmlist")
  520. public String tinfoclassBmlist(Model model, TinfoClassDto dto, HttpServletRequest request,
  521. HttpServletResponse response) {
  522. HttpSession session = request.getSession();
  523. User userInfo = (User) session.getAttribute("user");
  524. loginfoService.logDealInfo("3", modelType, "信息类注册列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  525. request.getRequestURI(), userInfo);
  526. return "thymeleaf/tinfoclass/tinfoclass_bmlist";
  527. }
  528. @RequestMapping("/tinfoclass_bmlist_json")
  529. public Map tinfoclass_bmlist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  530. @RequestParam(required = false, defaultValue = "1") int page,
  531. @RequestParam(required = false, defaultValue = "5") int limit) {
  532. HttpSession session = request.getSession();
  533. User userInfo = (User) session.getAttribute("user");
  534. Map map = new HashMap<>();
  535. TinfoClassDto dto = new TinfoClassDto();
  536. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  537. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  538. }
  539. String currentPageStr = page + "";
  540. String pagesizes = limit + "";
  541. if (pagesizes == null) {
  542. pagesizes = "10";
  543. }
  544. int pagesize = Integer.parseInt(pagesizes);
  545. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  546. pageinfo.setSortFiled(request.getParameter("field"));
  547. pageinfo.setSortType(request.getParameter("order"));
  548. pageinfo = tinfoClassService.findTinfoClassZcList(dto, pageinfo, userInfo, "2");// 0
  549. // 表示所有
  550. // 1
  551. // 表示提供方处室
  552. // 2
  553. // 表示提供方部门
  554. // 3
  555. // 表示提供方主管部门
  556. map.put("code", "0");
  557. map.put("msg", "ok");
  558. map.put("data", pageinfo.getPageResult());
  559. map.put("count", pageinfo.getPageTotal());
  560. return map;
  561. }
  562. @RequestMapping("/tinfoclass_zglist")
  563. public String tinfoclassZglist(Model model, TinfoClassDto dto, HttpServletRequest request,
  564. HttpServletResponse response) {
  565. log.info("访问地址:" + request.getRequestURI());
  566. String currentPageStr = request.getParameter("pagecurrentnum");
  567. String pagesizes = request.getParameter("selectlimitnum");
  568. if (pagesizes == null) {
  569. pagesizes = "10";
  570. }
  571. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  572. model.addAttribute("fltaglist", fltaglist);
  573. int pagesize = Integer.parseInt(pagesizes);
  574. HttpSession session = request.getSession();
  575. User userInfo = (User) session.getAttribute("user");
  576. model.addAttribute("dto", dto);
  577. loginfoService.logDealInfo("3", modelType, "信息类注册列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  578. request.getRequestURI(), userInfo);
  579. return "thymeleaf/tinfoclass/tinfoclass_zglist";
  580. }
  581. @RequestMapping("/tinfoclass_zglist_json")
  582. public Object tinfoclassZglistJson(Model model, TinfoClassDto dto, HttpServletRequest request,
  583. HttpServletResponse response) {
  584. log.info("访问地址:" + request.getRequestURI());
  585. String currentPageStr = request.getParameter("pagecurrentnum");
  586. String pagesizes = request.getParameter("selectlimitnum");
  587. if (pagesizes == null) {
  588. pagesizes = "10";
  589. }
  590. int pagesize = Integer.parseInt(pagesizes);
  591. HttpSession session = request.getSession();
  592. User userInfo = (User) session.getAttribute("user");
  593. Pagination<TinfoClassDto> page = newPagination(currentPageStr, pagesize);
  594. Map<String, Object> searchParameters = new HashMap<String, Object>();
  595. searchParameters.put("field", request.getParameter("field"));
  596. searchParameters.put("order", request.getParameter("order"));
  597. page = tinfoClassService.findTinfoClassZcList(dto, page, userInfo, "3");// 0
  598. // 表示所有
  599. // 1
  600. // 表示提供方处室
  601. // 2
  602. // 表示提供方部门
  603. // 3
  604. // 表示提供方主管部门 searchParameters = new HashMap<String, Object>();
  605. searchParameters.put("code", 0);
  606. searchParameters.put("msg", 0);
  607. searchParameters.put("pagevar", page);
  608. return searchParameters;
  609. }
  610. /**
  611. *
  612. * @Description: 已申请信息类列表
  613. * @param model
  614. * @param dto
  615. * @param request
  616. * @param response
  617. * @return String
  618. * @throws @author lijie
  619. * @date 2018年1月29日
  620. */
  621. @RequestMapping("/tinfoclass_yapplylist")
  622. public String tinfoclassYapplylist(Model model, TinfoClassDto dto, HttpServletRequest request,
  623. HttpServletResponse response) {
  624. HttpSession session = request.getSession();
  625. User userInfo = (User) session.getAttribute("user");
  626. loginfoService.logDealInfo("3", modelType, "已申请信息类列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  627. request.getRequestURI(), userInfo);
  628. return "thymeleaf/tinfoclass/tinfoclass_yapplylist";
  629. }
  630. @RequestMapping("/tinfoclass_yapplylist_json")
  631. public Map tinfoclassYapplylistJson(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  632. @RequestParam(required = false, defaultValue = "1") int page,
  633. @RequestParam(required = false, defaultValue = "5") int limit) {
  634. HttpSession session = request.getSession();
  635. User userInfo = (User) session.getAttribute("user");
  636. Map map = new HashMap<>();
  637. TinfoClassDto dto = new TinfoClassDto();
  638. TinfoclassDatameta datameta = new TinfoclassDatameta();
  639. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  640. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  641. }
  642. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  643. datameta = JSONObject.parseObject(queryParam, TinfoclassDatameta.class);
  644. }
  645. String currentPageStr = page + "";
  646. String pagesizes = limit + "";
  647. if (pagesizes == null) {
  648. pagesizes = "10";
  649. }
  650. int pagesize = Integer.parseInt(pagesizes);
  651. Pagination<TinfoclassDatameta> pageinfo = newPagination(currentPageStr, pagesize);
  652. pageinfo.setSortFiled(request.getParameter("field"));
  653. pageinfo.setSortType(request.getParameter("order"));
  654. pageinfo = tinfoClassService.findTinfoClassYapplyList(dto, datameta, pageinfo, userInfo);
  655. map.put("code", "0");
  656. map.put("msg", "ok");
  657. map.put("data", pageinfo.getPageResult());
  658. map.put("count", pageinfo.getPageTotal());
  659. return map;
  660. }
  661. /**
  662. *
  663. * @Description: 信息类变更列表
  664. * @param model
  665. * @param dto
  666. * @param request
  667. * @param response
  668. * @return String
  669. * @throws @author lijie
  670. * @date 2018年1月29日
  671. */
  672. @RequestMapping("/tinfoclass_bglist")
  673. public String tinfoclassBglist(Model model, TinfoClassDto dto, HttpServletRequest request,
  674. HttpServletResponse response) {
  675. HttpSession session = request.getSession();
  676. User userInfo = (User) session.getAttribute("user");
  677. loginfoService.logDealInfo("3", modelType, "信息类变更列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  678. request.getRequestURI(), userInfo);
  679. return "thymeleaf/tinfoclass/tinfoclass_bglist";
  680. }
  681. @RequestMapping("/tinfoclass_bglist_json")
  682. public Map tinfoclass_bglist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  683. @RequestParam(required = false, defaultValue = "1") int page,
  684. @RequestParam(required = false, defaultValue = "5") int limit) {
  685. HttpSession session = request.getSession();
  686. User userInfo = (User) session.getAttribute("user");
  687. Map map = new HashMap<>();
  688. TinfoClassDto dto = new TinfoClassDto();
  689. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  690. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  691. }
  692. String currentPageStr = page + "";
  693. String pagesizes = limit + "";
  694. if (pagesizes == null) {
  695. pagesizes = "10";
  696. }
  697. int pagesize = Integer.parseInt(pagesizes);
  698. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  699. pageinfo.setSortFiled(request.getParameter("field"));
  700. pageinfo.setSortType(request.getParameter("order"));
  701. pageinfo = tinfoClassService.findTinfoClassBgList(dto, pageinfo, userInfo.getUserId());
  702. map.put("code", "0");
  703. map.put("msg", "ok");
  704. map.put("data", pageinfo.getPageResult());
  705. map.put("count", pageinfo.getPageTotal());
  706. return map;
  707. }
  708. /**
  709. *
  710. * @Description: 信息类版本信息列表
  711. * @param verid
  712. * @param model
  713. * @param dto
  714. * @param request
  715. * @param response
  716. * @return String
  717. * @throws @author lijie
  718. * @date 2018年1月29日
  719. */
  720. @RequestMapping("/tinfoclass_versionlist{verid}")
  721. public String tinfoclassVersionlist(@PathVariable("verid") String verid, Model model, TinfoClassDto dto,
  722. HttpServletRequest request, HttpServletResponse response) {
  723. HttpSession session = request.getSession();
  724. User userInfo = (User) session.getAttribute("user");
  725. String currentPageStr = request.getParameter("pagecurrentnum");
  726. String pagesizes = request.getParameter("selectlimitnum");
  727. if (pagesizes == null) {
  728. pagesizes = "10";
  729. }
  730. int pagesize = Integer.parseInt(pagesizes);
  731. dto.setSourceid(verid);
  732. Pagination<TinfoClassDto> page = newPagination(currentPageStr, pagesize);
  733. page = tinfoClassService.findTinfoClassVersionList(dto, page);
  734. model.addAttribute("list", page.getPageResult());
  735. model.addAttribute("pagevar", page);
  736. model.addAttribute("dto", dto);
  737. model.addAttribute("verid_", verid);
  738. loginfoService.logDealInfo("3", modelType, "信息类版本信息列表:" + verid, "t_infoclass", "", ToolUtil.getIpAddr(request),
  739. request.getRequestURI(), userInfo);
  740. return "thymeleaf/tinfoclass/tinfoclass_versionlist";
  741. }
  742. @RequestMapping("/tinfoclass_versionlist_json{verid}")
  743. public Object tinfoclassVersionlistJson(@PathVariable("verid") String verid, Model model, TinfoClassDto dto,
  744. HttpServletRequest request, HttpServletResponse response) {
  745. HttpSession session = request.getSession();
  746. User userInfo = (User) session.getAttribute("user");
  747. String currentPageStr = request.getParameter("pagecurrentnum");
  748. String pagesizes = request.getParameter("selectlimitnum");
  749. if (pagesizes == null) {
  750. pagesizes = "10";
  751. }
  752. int pagesize = Integer.parseInt(pagesizes);
  753. dto.setSourceid(verid);
  754. Pagination<TinfoClassDto> page = newPagination(currentPageStr, pagesize);
  755. Map<String, Object> searchParameters = new HashMap<String, Object>();
  756. searchParameters.put("field", request.getParameter("field"));
  757. searchParameters.put("order", request.getParameter("order"));
  758. page = tinfoClassService.findTinfoClassVersionList(dto, page);
  759. searchParameters = new HashMap<String, Object>();
  760. searchParameters.put("code", 0);
  761. searchParameters.put("msg", 0);
  762. searchParameters.put("pagevar", page);
  763. return searchParameters;
  764. }
  765. /**
  766. *
  767. * @Description: 信息类注册审核列表
  768. * @param model
  769. * @param dto
  770. * @param task
  771. * @param request
  772. * @param response
  773. * @return String
  774. * @throws @author lijiezhi_pc
  775. * @date 2018年1月5日
  776. */
  777. @RequestMapping("/tinfoclass_zcshlist")
  778. public String tinfoclassZcshlist(Model model, TinfoClassDto dto, VtasklistDto task, HttpServletRequest request,
  779. HttpServletResponse response) {
  780. HttpSession session = request.getSession();
  781. User userInfo = (User) session.getAttribute("user");
  782. Set<Role> serRole = userInfo.getRoles();
  783. String flag = "1";
  784. for (Role role : serRole) {
  785. if (admin_id.equals(role.getRoleId()))
  786. flag = "0";
  787. }
  788. model.addAttribute("flag", flag);
  789. loginfoService.logDealInfo("3", modelType, "信息类注册审核信息列表:", "t_infoclass", "", ToolUtil.getIpAddr(request),
  790. request.getRequestURI(), userInfo);
  791. return "thymeleaf/tinfoclass/tinfoclass_zcshlist";
  792. }
  793. @RequestMapping("/delayinfo_list")
  794. public String delayinfo_list(Model model, TinfoClassDto dto, VtasklistDto task, HttpServletRequest request,
  795. HttpServletResponse response) {
  796. HttpSession session = request.getSession();
  797. User userInfo = (User) session.getAttribute("user");
  798. loginfoService.logDealInfo("3", modelType, "催办列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  799. request.getRequestURI(), userInfo);
  800. return "thymeleaf/tinfoclass/delayinfo_list";
  801. }
  802. @RequestMapping("/delayinfo_detaillist{deptid}")
  803. public String delayinfo_servicelist(@PathVariable("deptid") String deptid, Model model, HttpServletRequest request,
  804. HttpServletResponse response) {
  805. HttpSession session = request.getSession();
  806. User userInfo = (User) session.getAttribute("user");
  807. loginfoService.logDealInfo("3", modelType, "催办详情", "t_infoclass", "", ToolUtil.getIpAddr(request),
  808. request.getRequestURI(), userInfo);
  809. model.addAttribute("deptid", deptid);
  810. return "thymeleaf/tinfoclass/delayinfo_detaillist";
  811. }
  812. @RequestMapping("/delayInfo_datashare_json")
  813. public Map delayInfo_datashare_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  814. @RequestParam(required = false, defaultValue = "1") int page,
  815. @RequestParam(required = false, defaultValue = "5") int limit) {
  816. HttpSession session = request.getSession();
  817. User userInfo = (User) session.getAttribute("user");
  818. Map map = new HashMap<>();
  819. DelayDataShareInfo dto = new DelayDataShareInfo();
  820. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  821. dto = JSONObject.parseObject(queryParam, DelayDataShareInfo.class);
  822. }
  823. String currentPageStr = page + "";
  824. String pagesizes = limit + "";
  825. if (pagesizes == null) {
  826. pagesizes = "10";
  827. }
  828. int pagesize = Integer.parseInt(pagesizes);
  829. Pagination<DelayDataShareInfo> pageinfo = newPagination(currentPageStr, pagesize);
  830. pageinfo.setSortFiled(request.getParameter("field"));
  831. pageinfo.setSortType(request.getParameter("order"));
  832. dto.setProvidebmcode(request.getParameter("providebmcode"));
  833. pageinfo = tinfoClassService.findDelayDataShareInfoList(dto, pageinfo, userInfo);
  834. map.put("code", "0");
  835. map.put("msg", "ok");
  836. map.put("data", pageinfo.getPageResult());
  837. map.put("count", pageinfo.getPageTotal());
  838. return map;
  839. }
  840. @RequestMapping("/delayInfo_serviceshare_json")
  841. public Map delayInfo_serviceshare_json(HttpServletRequest request,
  842. @RequestParam(required = false) String queryParam,
  843. @RequestParam(required = false, defaultValue = "1") int page,
  844. @RequestParam(required = false, defaultValue = "5") int limit) {
  845. HttpSession session = request.getSession();
  846. User userInfo = (User) session.getAttribute("user");
  847. Map map = new HashMap<>();
  848. DelayServiceShareInfo dto = new DelayServiceShareInfo();
  849. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  850. dto = JSONObject.parseObject(queryParam, DelayServiceShareInfo.class);
  851. }
  852. String currentPageStr = page + "";
  853. String pagesizes = limit + "";
  854. if (pagesizes == null) {
  855. pagesizes = "10";
  856. }
  857. int pagesize = Integer.parseInt(pagesizes);
  858. Pagination<DelayServiceShareInfo> pageinfo = newPagination(currentPageStr, pagesize);
  859. pageinfo.setSortFiled(request.getParameter("field"));
  860. pageinfo.setSortType(request.getParameter("order"));
  861. dto.setProvidebmcode(request.getParameter("providebmcode"));
  862. pageinfo = tinfoClassService.findDelayServiceShareInfo(dto, pageinfo, userInfo);
  863. map.put("code", "0");
  864. map.put("msg", "ok");
  865. map.put("data", pageinfo.getPageResult());
  866. map.put("count", pageinfo.getPageTotal());
  867. return map;
  868. }
  869. @RequestMapping("/delayInfo_json")
  870. public Map delayInfo_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  871. @RequestParam(required = false, defaultValue = "1") int page,
  872. @RequestParam(required = false, defaultValue = "5") int limit) {
  873. HttpSession session = request.getSession();
  874. User userInfo = (User) session.getAttribute("user");
  875. Map map = new HashMap<>();
  876. DelayInfo dto = new DelayInfo();
  877. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  878. dto = JSONObject.parseObject(queryParam, DelayInfo.class);
  879. }
  880. String currentPageStr = page + "";
  881. String pagesizes = limit + "";
  882. if (pagesizes == null) {
  883. pagesizes = "10";
  884. }
  885. int pagesize = Integer.parseInt(pagesizes);
  886. Pagination<DelayInfo> pageinfo = newPagination(currentPageStr, pagesize);
  887. pageinfo.setSortFiled(request.getParameter("field"));
  888. pageinfo.setSortType(request.getParameter("order"));
  889. pageinfo = tinfoClassService.findDelayInfoList(dto, pageinfo, userInfo);
  890. map.put("code", "0");
  891. map.put("msg", "ok");
  892. map.put("data", pageinfo.getPageResult());
  893. map.put("count", pageinfo.getPageTotal());
  894. return map;
  895. }
  896. @RequestMapping("/tinfoclass_zcshlist_json")
  897. public Map tinfoclass_zcshlist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  898. @RequestParam(required = false, defaultValue = "1") int page,
  899. @RequestParam(required = false, defaultValue = "5") int limit) {
  900. HttpSession session = request.getSession();
  901. User userInfo = (User) session.getAttribute("user");
  902. Map map = new HashMap<>();
  903. TinfoClassDto dto = new TinfoClassDto();
  904. VtasklistDto task = new VtasklistDto();
  905. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  906. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  907. task = JSONObject.parseObject(queryParam, VtasklistDto.class);
  908. }
  909. String currentPageStr = page + "";
  910. String pagesizes = limit + "";
  911. if (pagesizes == null) {
  912. pagesizes = "10";
  913. }
  914. int pagesize = Integer.parseInt(pagesizes);
  915. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  916. pageinfo.setSortFiled(request.getParameter("field"));
  917. pageinfo.setSortType(request.getParameter("order"));
  918. pageinfo = tinfoClassService.findTinfoClassZcCheckList(dto, task, pageinfo, userInfo);
  919. map.put("code", "0");
  920. map.put("msg", "ok");
  921. map.put("data", pageinfo.getPageResult());
  922. map.put("count", pageinfo.getPageTotal());
  923. return map;
  924. }
  925. @RequestMapping("/zhuanban_info")
  926. public String zhuanbanInfo(Model model, UserDto dto, HttpServletRequest request, HttpServletResponse response) {
  927. HttpSession session = request.getSession();
  928. User userInfo = (User) session.getAttribute("user");
  929. String roleid = request.getParameter("roleid");
  930. String taskId = request.getParameter("taskId");
  931. String candidate = request.getParameter("candidate");
  932. String currentPageStr = request.getParameter("pagecurrentnum");
  933. String pagesizes = request.getParameter("selectlimitnum");
  934. if (pagesizes == null) {
  935. pagesizes = "10";
  936. }
  937. int pagesize = Integer.parseInt(pagesizes);
  938. Pagination<UserDto> page = newPagination(currentPageStr, pagesize);
  939. List<Role> roles = dbdcRoleService.findAllRoles();
  940. Map<String, Object> searchParameters = new HashMap<String, Object>();
  941. searchParameters.put("field", request.getParameter("field"));
  942. searchParameters.put("order", request.getParameter("order"));
  943. page = userService.findAllUserList(dto, page, "", roleid, searchParameters);
  944. model.addAttribute("list", page.getPageResult());
  945. model.addAttribute("roles", roles);
  946. model.addAttribute("roleid", roleid);
  947. model.addAttribute("pagevar", page);
  948. model.addAttribute("dto", dto);
  949. model.addAttribute("taskId", taskId);
  950. model.addAttribute("candidate", candidate);
  951. loginfoService.logDealInfo("3", modelType, "转办用户信息列表", "userinfo", "", ToolUtil.getIpAddr(request),
  952. request.getRequestURI(), userInfo);
  953. return "thymeleaf/tinfoclass/zbuser_list";
  954. }
  955. @ResponseBody
  956. @RequestMapping("/zhuanban_info_json")
  957. public Object zhuanbanInfoJson(Model model, UserDto dto, HttpServletRequest request, HttpServletResponse response) {
  958. HttpSession session = request.getSession();
  959. User userInfo = (User) session.getAttribute("user");
  960. String roleid = request.getParameter("roleid");
  961. String taskId = request.getParameter("taskId");
  962. String candidate = request.getParameter("candidate");
  963. String currentPageStr = request.getParameter("pagecurrentnum");
  964. String pagesizes = request.getParameter("selectlimitnum");
  965. if (pagesizes == null) {
  966. pagesizes = "10";
  967. }
  968. int pagesize = Integer.parseInt(pagesizes);
  969. Pagination<UserDto> page = newPagination(currentPageStr, pagesize);
  970. List<Role> roles = dbdcRoleService.findAllRoles();
  971. Map<String, Object> searchParameters = new HashMap<String, Object>();
  972. searchParameters.put("field", request.getParameter("field"));
  973. searchParameters.put("order", request.getParameter("order"));
  974. page = userService.findAllUserList(dto, page, "", roleid, searchParameters);
  975. searchParameters = new HashMap<String, Object>();
  976. searchParameters.put("code", 0);
  977. searchParameters.put("msg", 0);
  978. searchParameters.put("pagevar", page);
  979. return searchParameters;
  980. }
  981. @RequestMapping("/currenttaskuser_info")
  982. public String currenttaskuserInfo(Model model, UserDto dto, HttpServletRequest request,
  983. HttpServletResponse response) {
  984. HttpSession session = request.getSession();
  985. User userInfo = (User) session.getAttribute("user");
  986. String proid = request.getParameter("proid");
  987. model.addAttribute("proid", proid);
  988. loginfoService.logDealInfo("3", modelType, "当前任务用户信息列表", "userinfo", "", ToolUtil.getIpAddr(request),
  989. request.getRequestURI(), userInfo);
  990. return "thymeleaf/tinfoclass/currenttaskuser_info";
  991. }
  992. @ResponseBody
  993. @RequestMapping("/currenttaskuser_info_json")
  994. public Object currenttaskuserInfoJson(Model model, UserDto dto, HttpServletRequest request,
  995. HttpServletResponse response) {
  996. HttpSession session = request.getSession();
  997. String currentPageStr = request.getParameter("pagecurrentnum");
  998. String proid = request.getParameter("proid");
  999. String pagesizes = request.getParameter("selectlimitnum");
  1000. if (pagesizes == null) {
  1001. pagesizes = "10";
  1002. }
  1003. int pagesize = Integer.parseInt(pagesizes);
  1004. Pagination<UserDto> page = newPagination(currentPageStr, pagesize);
  1005. Map<String, Object> searchParameters = new HashMap<String, Object>();
  1006. searchParameters.put("field", request.getParameter("field"));
  1007. searchParameters.put("order", request.getParameter("order"));
  1008. page = workflowService.findCurrentTaskUserByProcinstid(dto, proid, page);
  1009. searchParameters = new HashMap<String, Object>();
  1010. searchParameters.put("code", 0);
  1011. searchParameters.put("msg", 0);
  1012. searchParameters.put("pagevar", page);
  1013. return searchParameters;
  1014. }
  1015. /**
  1016. *
  1017. * @Description: 我的已审核
  1018. * @param model
  1019. * @param dto
  1020. * @param task
  1021. * @param request
  1022. * @param response
  1023. * @return String
  1024. * @throws @author lijie
  1025. * @date 2018年1月29日
  1026. */
  1027. @RequestMapping("/tinfoclass_myyslist")
  1028. public String tinfoclassMyyslist(Model model, TinfoClassDto dto, VtasklistDto task, HttpServletRequest request,
  1029. HttpServletResponse response) {
  1030. HttpSession session = request.getSession();
  1031. User userInfo = (User) session.getAttribute("user");
  1032. loginfoService.logDealInfo("3", modelType, "信息类我的已审信息列表:", "t_infoclass", "", ToolUtil.getIpAddr(request),
  1033. request.getRequestURI(), userInfo);
  1034. return "thymeleaf/tinfoclass/tinfoclass_myyslist";
  1035. }
  1036. @RequestMapping("/tinfoclass_myyslist_json")
  1037. public Map tinfoclass_myyslist_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  1038. @RequestParam(required = false, defaultValue = "1") int page,
  1039. @RequestParam(required = false, defaultValue = "5") int limit) {
  1040. HttpSession session = request.getSession();
  1041. User userInfo = (User) session.getAttribute("user");
  1042. Map map = new HashMap<>();
  1043. TinfoClassDto dto = new TinfoClassDto();
  1044. VtasklistDto task = new VtasklistDto();
  1045. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  1046. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  1047. task = JSONObject.parseObject(queryParam, VtasklistDto.class);
  1048. }
  1049. String currentPageStr = page + "";
  1050. String pagesizes = limit + "";
  1051. if (pagesizes == null) {
  1052. pagesizes = "10";
  1053. }
  1054. int pagesize = Integer.parseInt(pagesizes);
  1055. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  1056. pageinfo.setSortFiled(request.getParameter("field"));
  1057. pageinfo.setSortType(request.getParameter("order"));
  1058. pageinfo = tinfoClassService.findTinfoClassMyYsList(dto, task, pageinfo, userInfo);
  1059. map.put("code", "0");
  1060. map.put("msg", "ok");
  1061. map.put("data", pageinfo.getPageResult());
  1062. map.put("count", pageinfo.getPageTotal());
  1063. return map;
  1064. }
  1065. @RequestMapping(value = "/download{type}")
  1066. public void download(@PathVariable("type") String type, TinfoClassDto dto, VtasklistDto task, Model model,
  1067. HttpServletRequest request, HttpServletResponse response)
  1068. throws IOException, InterruptedException, ExecutionException {
  1069. HttpSession session = request.getSession();
  1070. User userInfo = (User) session.getAttribute("user");
  1071. boolean flag = false;
  1072. boolean haszgbm = false;
  1073. String zfbm = "否";
  1074. // 判断用户权限
  1075. for (Role role : userInfo.getRoles()) {
  1076. if (admin_id.equals(role.getRoleId()))
  1077. flag = true;
  1078. if (zgbmgl_role.contains(role.getRoleId()) || zgbmbz_role.contains(role.getRoleId())) {
  1079. haszgbm = true;
  1080. }
  1081. }
  1082. for (Dept dept : userInfo.getDepts()) {
  1083. if (dept.getDeptProperty() != null && "政务部门".equals(dept.getDeptProperty())) {
  1084. zfbm = "是";
  1085. }
  1086. }
  1087. List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
  1088. StringBuffer sql = new StringBuffer("");
  1089. // 定义导出excle模板选择
  1090. String templatefile = "";
  1091. String resulttype = "";// 1 表示单纯信息类 2.表示信息类加信息项
  1092. List<String> paramList = new ArrayList<String>();
  1093. if ("res".equals(type)) {// 目录检索页面,信息类导出
  1094. templatefile = "infoclassTemplate.ftl";
  1095. resulttype = "1";
  1096. String resid = request.getParameter("resid");
  1097. if (!ToolUtil.isNull(resid)) {
  1098. if ("oracle".equals(database_type)) {
  1099. paramList.add(resid);
  1100. sql = new StringBuffer(
  1101. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME")
  1102. .append(" FROM t_infoclass P,(SELECT resid,'' tinfoclassid FROM t_res_classify")
  1103. .append(" WHERE state = '0' START WITH resid = ? CONNECT BY PRIOR resid = presid")
  1104. .append(" ) w WHERE P .latestversion = '1'")// union SELECT q.resid,q.tinfoclassid
  1105. // FROM t_infoclass_res_detail q
  1106. .append(" AND P .inprocess = '2' and ((w.resid=p.infotypeid and w.tinfoclassid is null) or (w.resid=p.infotypeid and p.id=w.tinfoclassid)) ");
  1107. } else if ("mysql".equals(database_type)) {
  1108. sql = new StringBuffer(
  1109. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where p.latestversion='1' and p.inprocess='2' and (p.disablestate is null or p.disablestate!='1') ");
  1110. // 获取到当前分类的所有子节点
  1111. String lastResIds = "('" + resid + "',";
  1112. List<Map<String, Object>> menuTreeList = new ArrayList<Map<String, Object>>();
  1113. String sql2 = "select resid from t_res_classify where presid=?";
  1114. menuTreeList = tinfoClassService.resInfo(sql2, resid);
  1115. List<Map<String, Object>> templist = menuTreeList;
  1116. Map<String, Object> map = new HashMap<String, Object>();
  1117. while (templist != null && templist.size() > 0) {//
  1118. sql2 = "select resid from t_res_classify where presid in ";
  1119. String deptids = "";
  1120. for (Map info : templist) {
  1121. deptids += "'" + info.get("resid") + "'" + ",";
  1122. map.put((String) info.get("resid"), info.get("resid"));
  1123. }
  1124. if (deptids.length() > 1) {
  1125. deptids = deptids.substring(0, deptids.length() - 1);
  1126. sql2 = sql2 + "(" + deptids + ")";
  1127. }
  1128. templist = tinfoClassService.resInfo(sql2, "");
  1129. for (Map info : templist) {
  1130. map.put((String) info.get("resid"), info.get("resid"));
  1131. }
  1132. }
  1133. for (Map.Entry<String, Object> entry : map.entrySet()) {
  1134. lastResIds = lastResIds + "'" + entry.getValue() + "'" + ",";
  1135. }
  1136. if (lastResIds.length() > 1) {
  1137. lastResIds = lastResIds.substring(0, lastResIds.length() - 1);
  1138. lastResIds = lastResIds + ")";
  1139. }
  1140. // 获取资源所属分类
  1141. sql.append("and p.infotypeid in ").append(lastResIds);
  1142. // .append(" or p.id in (SELECT q.tinfoclassid FROM t_infoclass_res_detail q where q.resid=?) )");
  1143. // paramList.add(resid);
  1144. }
  1145. } else {
  1146. sql = new StringBuffer(
  1147. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where p.latestversion='1' and p.inprocess='2' ");
  1148. }
  1149. } else if ("resxxx".equals(type)) {
  1150. // 目录检索页面,信息项导出
  1151. templatefile = "infoclassTemplate_xxx.ftl";
  1152. resulttype = "2";
  1153. String resid = request.getParameter("resid");
  1154. if (!ToolUtil.isNull(resid)) {
  1155. if ("oracle".equals(database_type)) {
  1156. paramList.add(resid);
  1157. sql = new StringBuffer(
  1158. "SELECT P.ID,P.SUBFORMATTYPENAME,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME ")
  1159. .append(" FROM t_infoclass P,T_INFOCLASS_DATAMETA T,(SELECT resid,'' tinfoclassid FROM t_res_classify")
  1160. .append(" WHERE state = '0' START WITH resid = ? CONNECT BY PRIOR resid = presid")
  1161. .append(" union SELECT q.resid,q.tinfoclassid FROM t_infoclass_res_detail q) w WHERE P .latestversion = '1'")
  1162. .append(" AND P .inprocess = '2' and P.ID = T.TINFOCLASSID and ((w.resid=p.infotypeid and w.tinfoclassid is null) or (w.resid=p.infotypeid and p.id=w.tinfoclassid)) ");
  1163. } else if ("mysql".equals(database_type)) {
  1164. sql = new StringBuffer(
  1165. "SELECT P.HITCH_STATUS,P.ID,P.SUBFORMATTYPENAME,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND p.latestversion='1' and p.inprocess='2' and (p.disablestate is null or p.disablestate!='1') ");
  1166. // 获取到当前分类的所有子节点
  1167. String lastResIds = "('" + resid + "',";
  1168. List<Map<String, Object>> menuTreeList = new ArrayList<Map<String, Object>>();
  1169. String sql2 = "select resid from t_res_classify where presid=?";
  1170. menuTreeList = tinfoClassService.resInfo(sql2, resid);
  1171. List<Map<String, Object>> templist = menuTreeList;
  1172. Map<String, Object> map = new HashMap<String, Object>();
  1173. while (templist != null && templist.size() > 0) {//
  1174. sql2 = "select resid from t_res_classify where presid in ";
  1175. String deptids = "";
  1176. for (Map info : templist) {
  1177. deptids += "'" + info.get("resid") + "'" + ",";
  1178. map.put((String) info.get("resid"), info.get("resid"));
  1179. }
  1180. if (deptids.length() > 1) {
  1181. deptids = deptids.substring(0, deptids.length() - 1);
  1182. sql2 = sql2 + "(" + deptids + ")";
  1183. }
  1184. templist = tinfoClassService.resInfo(sql2, "");
  1185. for (Map info : templist) {
  1186. map.put((String) info.get("resid"), info.get("resid"));
  1187. }
  1188. }
  1189. for (Map.Entry<String, Object> entry : map.entrySet()) {
  1190. lastResIds = lastResIds + "'" + entry.getValue() + "'" + ",";
  1191. }
  1192. if (lastResIds.length() > 1) {
  1193. lastResIds = lastResIds.substring(0, lastResIds.length() - 1);
  1194. lastResIds = lastResIds + ")";
  1195. }
  1196. // 获取资源所属分类
  1197. sql.append("and ( p.infotypeid in ").append(lastResIds).append(
  1198. " or p.id in (SELECT q.tinfoclassid FROM t_infoclass_res_detail q where q.resid=?) )");
  1199. paramList.add(resid);
  1200. }
  1201. } else {
  1202. sql = new StringBuffer(
  1203. "SELECT P.HITCH_STATUS, P.ID,P.SUBFORMATTYPENAME,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND p.latestversion='1' and p.inprocess='2' ");
  1204. }
  1205. } else if ("ys".equals(type)) {// 信息资源已审
  1206. templatefile = "infoclassTemplate.ftl";
  1207. resulttype = "1";
  1208. sql = new StringBuffer(
  1209. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where latestversion='1' and inprocess='2' ");
  1210. if (!flag) {
  1211. paramList.add(userInfo.getUserId());
  1212. paramList.add(userInfo.getUserId());
  1213. String aa = "";
  1214. if (haszgbm)
  1215. aa = " or q.xzqhcode=p.XZQHCODE";
  1216. sql.append(
  1217. " and ( creator=? or ( exists (select user_id from dept_user t,deptinfo q where t.user_id=? and t.dept_id=q.dept_id and (t.dept_id=p.providebmcode or t.dept_id=p.providecode "
  1218. + aa + "))))");
  1219. }
  1220. }
  1221. else if ("zc".equals(type)) {// 信息注册
  1222. templatefile = "infoclassTemplate.ftl";
  1223. resulttype = "1";
  1224. sql = new StringBuffer(
  1225. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where inprocess in ('0','1','2','3') ");
  1226. if (!flag) {
  1227. paramList.add(userInfo.getUserId());
  1228. paramList.add(userInfo.getUserId());
  1229. sql.append(
  1230. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providebmcode))))");
  1231. }
  1232. } else if ("zcxxx".equals(type)) {// 信息注册信息项导出
  1233. templatefile = "infoclassTemplate_xxx.ftl";
  1234. resulttype = "2";
  1235. sql = new StringBuffer(
  1236. "SELECT P.HITCH_STATUS, P.ID,P.SUBFORMATTYPENAME,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND inprocess in ('0','1','2','3') ");
  1237. if (!flag) {
  1238. paramList.add(userInfo.getUserId());
  1239. paramList.add(userInfo.getUserId());
  1240. sql.append(
  1241. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providebmcode))))");
  1242. }
  1243. } else if ("cs".equals(type)) {// 处室
  1244. resulttype = "1";
  1245. templatefile = "infoclassTemplate.ftl";
  1246. sql = new StringBuffer(
  1247. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where inprocess in ('0','1','2','3') ");
  1248. if (!flag) {
  1249. paramList.add(userInfo.getUserId());
  1250. paramList.add(userInfo.getUserId());
  1251. sql.append(
  1252. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providecode))))");
  1253. }
  1254. } else if ("csxxx".equals(type)) {// 处室信息项excle导出
  1255. resulttype = "2";
  1256. templatefile = "infoclassTemplate_xxx.ftl";
  1257. sql = new StringBuffer(
  1258. "SELECT P.HITCH_STATUS,P.ID,P.SUBFORMATTYPENAME,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND INPROCESS IN ('0','1','2','3')");
  1259. if (!flag) {
  1260. paramList.add(userInfo.getUserId());
  1261. paramList.add(userInfo.getUserId());
  1262. sql.append(
  1263. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providecode))))");
  1264. }
  1265. } else if ("bm".equals(type)) {// 部门
  1266. templatefile = "infoclassTemplate.ftl";
  1267. resulttype = "1";
  1268. sql = new StringBuffer(
  1269. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where inprocess in ('0','1','2','3') ");
  1270. if (!flag) {
  1271. paramList.add(userInfo.getUserId());
  1272. paramList.add(userInfo.getUserId());
  1273. sql.append(
  1274. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providebmcode))))");
  1275. }
  1276. } else if ("bmxxx".equals(type)) {// 部门信息项excle导出
  1277. templatefile = "infoclassTemplate_xxx.ftl";
  1278. resulttype = "2";
  1279. sql = new StringBuffer(
  1280. "SELECT P.HITCH_STATUS, P.ID,P.subformattypename,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND INPROCESS IN ('0','1','2','3') ");
  1281. if (!flag) {
  1282. paramList.add(userInfo.getUserId());
  1283. paramList.add(userInfo.getUserId());
  1284. sql.append(
  1285. " and ( creator=? or ( exists (select user_id from dept_user where user_id=? and (dept_id=providebmcode))))");
  1286. }
  1287. } else if ("zgbm".equals(type)) {// 主管部门
  1288. templatefile = "infoclassTemplate.ftl";
  1289. resulttype = "1";
  1290. sql = new StringBuffer(
  1291. "SELECT P.BGID,P.BGSTATUS,P.BMID,P.CREATEDATE,P.CREATOR,P.CREATOR_NAME,P.CREATOR_ORG,P.CREATOR_ORGNAME,P.CREDITNO,P.DATARANGE,P.FORMATTYPE,P.FORMATTYPEID,P.FORMATTYPENAME,P.HITCH,P.HITCH_SIZE,P.HITCH_STATUS,P.HITCH_UP_ADRESS,P.HITCH_UP_NAME,P.HITCHDATE,P.HITCHUSER,P.ID,P.INFOABSTRACTS,P.INFOCODE,P.INFONAME,P.INFOTYPE,P.INFOTYPEID,P.INFOTYPENAME,P.INPROCESS,P.ISBG,P.ISOPENSOCIAL,P.ISSECRET,P.ISZGBMBZ,P.LATESTVERSION,P.MANAGETYPE,P.OPENCONDITION,P.PARENTID,P.PROCESSID,P.PROVIDEBMCODE,P.PROVIDEBMNAME,P.PROVIDECODE,P.PROVIDENAME,P.PROVIDEZGCODE,P.PROVIDEZGNAME,P.SHARECONDITIONS,P.SHAREMODE,P.SHAREMODEID,P.SHAREMODENAME,P.SHAREMODETYPE,P.SHAREMODETYPEID,P.SHAREMODETYPENAME,P.SHARETYPE,P.SOURCEID,P.SUBFORMATTYPE,P.SUBFORMATTYPEID,P.SUBFORMATTYPENAME,P.SYSTEMINFO,P.TASKNAME,P.UPDATECYCLE,P.UPDATETIME,P.UPDATOR,P.UPDATOR_NAME,P.UPDATOR_ORG,P.UPDATOR_ORG_NAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.XZQHCODE,P.XZQHID,P.XZQHNAME,P.YWBMCODE,P.YWBMID,P.YWBMNAME from t_infoclass p where inprocess in ('0','1','2','3') ");
  1292. if (!flag) {
  1293. paramList.add(userInfo.getUserId());
  1294. paramList.add(userInfo.getUserId());
  1295. sql.append(
  1296. " and ( creator=? or ( exists (select user_id from dept_user deu,deptinfo dep where deu.user_id=? and deu.dept_id=dep.dept_id and dep.xzqhcode=p.xzqhcode)))");
  1297. }
  1298. } else if ("zgbmxxx".equals(type)) {// 主管部门信息项excle导出
  1299. templatefile = "infoclassTemplate_xxx.ftl";
  1300. resulttype = "2";
  1301. sql = new StringBuffer(
  1302. "SELECT P.HITCH_STATUS, P.ID,P.subformattypename,P.INFOCODE,P.INFONAME,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.DATAMETAID,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.ID = T.TINFOCLASSID AND inprocess in ('0','1','2','3') ");
  1303. if (!flag) {
  1304. paramList.add(userInfo.getUserId());
  1305. paramList.add(userInfo.getUserId());
  1306. sql.append(
  1307. " and ( creator=? or ( exists (select user_id from dept_user deu,deptinfo dep where deu.user_id=? and deu.dept_id=dep.dept_id and dep.xzqhcode=p.xzqhcode)))");
  1308. }
  1309. } else if ("xxxdc".equals(type)) {// 信息项导出
  1310. // 定义导出excle模板
  1311. templatefile = "infoclassTemplate_xxx.ftl";
  1312. // 信息项导出
  1313. resulttype = "2";
  1314. // 查询sql
  1315. sql = new StringBuffer(
  1316. "SELECT P.HITCH_STATUS,P.ID,P.subformattypename, P.infocode,P.infoname,P.INFOABSTRACTS,P.FORMATTYPENAME,T.DATASIZE,T.DATATYPE_DIS,T.XXXBM,T.XXXMC, T.XXXDBMC, T.datametaid,T.DESCRIPTION RANGES,P.SHARETYPE,P.SHARECONDITIONS,P.SHAREMODENAME,P.SHAREMODETYPENAME,P.ISOPENSOCIAL,P.OPENCONDITION,P.UPDATECYCLE,P.MANAGETYPE,P.DATARANGE,P.PROVIDENAME,P.PROVIDEBMNAME,P.INFOTYPENAME,concat(P.VERSIONID,'.',P.SUBVERSIONID) VERSIONID,P.UPDATETIME FROM T_INFOCLASS P,T_INFOCLASS_DATAMETA T WHERE P.id=T.TINFOCLASSID and P.INPROCESS='2' and P.LATESTVERSION='1'");
  1317. if (!flag) {
  1318. paramList.add(userInfo.getUserId());
  1319. paramList.add(userInfo.getUserId());
  1320. String aa = "";
  1321. if (haszgbm)
  1322. aa = " or q.xzqhcode=p.XZQHCODE";
  1323. sql.append(
  1324. " and ( creator=? or ( exists (select user_id from dept_user t,deptinfo q where t.user_id=? and t.dept_id=q.dept_id and (t.dept_id=p.providebmcode or t.dept_id=p.providecode "
  1325. + aa + "))))");
  1326. }
  1327. }
  1328. // 信息类名称查询条件
  1329. if (!ToolUtil.isNull(dto.getInfoname())) {
  1330. paramList.add("%" + dto.getInfoname() + "%");
  1331. sql.append(" and p.infoname like ? ");
  1332. }
  1333. if (!ToolUtil.isNull(dto.getCheckids())) {
  1334. paramList.add(dto.getCheckids());
  1335. sql.append(" and instr(?,p.id)>0 ");
  1336. }
  1337. // 信息类编码
  1338. if (!ToolUtil.isNull(dto.getInfocode())) {
  1339. paramList.add(dto.getInfocode());
  1340. sql.append(" and p.infocode = ? ");
  1341. }
  1342. if (!ToolUtil.isNull(dto.getFltag())) {
  1343. paramList.add("%"+dto.getFltag()+"%");
  1344. sql.append(" and p.fltag like ? ");
  1345. }
  1346. if(!ToolUtil.isNull(dto.getSharerange())){
  1347. paramList.add(dto.getSharerange());
  1348. sql.append(" and p.sharerange = ? ");
  1349. }
  1350. // 资源分类,从信息资源分类选择
  1351. if (!ToolUtil.isNull(dto.getInfotypename())) {
  1352. paramList.add("%" + dto.getInfotypename() + "%");
  1353. sql.append(" and p.infotypename like ? ");
  1354. }
  1355. if (!ToolUtil.isNull(dto.getGlinfotypename())) {
  1356. paramList.add("%" + dto.getGlinfotypename() + "%");
  1357. sql.append(" and p.glinfotypename like ? ");
  1358. }
  1359. // 信息类提供方
  1360. if (!ToolUtil.isNull(dto.getProvidename())) {
  1361. paramList.add("%" + dto.getProvidename() + "%");
  1362. sql.append(" and p.providename like ? ");
  1363. }
  1364. // 提供部门
  1365. if (!ToolUtil.isNull(dto.getProvidebmname())) {
  1366. paramList.add("%" + dto.getProvidebmname() + "%");
  1367. sql.append(" and p.providebmname like ? ");
  1368. }
  1369. // 是否向社会开放,1是 2 否
  1370. if (!ToolUtil.isNull(dto.getIsopensocial())) {
  1371. paramList.add(dto.getIsopensocial());
  1372. sql.append(" and p.isopensocial = ? ");
  1373. }
  1374. // 挂接情况状态 1是已挂接 0未挂接
  1375. if (dto.getHitchStatus() != null) {
  1376. paramList.add(dto.getHitchStatus() + "");
  1377. sql.append(" and p.hitch_status = ? ");
  1378. }
  1379. // 共享类型:1 有条件共享2无条件共享3不予共享
  1380. if (!ToolUtil.isNull(dto.getSharetype())) {
  1381. paramList.add(dto.getSharetype());
  1382. sql.append(" and p.sharetype = ? ");
  1383. }
  1384. if (!ToolUtil.isNull(dto.getSharetype())) {
  1385. if ("否".equals(zfbm)) {
  1386. if ("1".equals(dto.getSharetype())) {
  1387. sql.append(" and p.sharetype in ('1','2') ");
  1388. } else if ("2".equals(dto.getSharetype())) {
  1389. sql.append(" and p.sharetype = 'zfbm' ");
  1390. }
  1391. } else {
  1392. paramList.add(dto.getSharetype());
  1393. sql.append(" and p.sharetype = ? ");
  1394. }
  1395. }
  1396. // 起始时间
  1397. if (!ToolUtil.isNull(dto.getStartdate())) {
  1398. paramList.add(dto.getStartdate());
  1399. sql.append(" and p.updatetime >= ? ");
  1400. }
  1401. // 结束时间
  1402. if (!ToolUtil.isNull(dto.getEnddate())) {
  1403. paramList.add(dto.getEnddate());
  1404. sql.append(" and p.updatetime <= ? ");
  1405. }
  1406. if (!ToolUtil.isNull(dto.getTaskname())) {
  1407. switch (dto.getTaskname()) {
  1408. case "未提交":
  1409. sql.append(" and p.inprocess ='0' ");
  1410. break;
  1411. case "处室审核":
  1412. sql.append(" and p.inprocess ='1' and taskname='处室审核'");
  1413. break;
  1414. case "部门审核":
  1415. sql.append(" and p.inprocess ='1' and taskname='部门审核'");
  1416. break;
  1417. case "主管部门审核":
  1418. sql.append(" and p.inprocess ='1' and taskname='主管部门审核'");
  1419. break;
  1420. case "待发布":
  1421. sql.append(" and p.inprocess ='1' and taskname='发布'");
  1422. break;
  1423. case "已发布":
  1424. sql.append(" and p.inprocess ='2' ");
  1425. break;
  1426. case "停用":
  1427. sql.append(" and p.inprocess ='5' ");
  1428. break;
  1429. case "编目人员修改":
  1430. sql.append(" and p.inprocess ='1' and taskname='编目人员修改'");
  1431. break;
  1432. default:
  1433. break;
  1434. }
  1435. }
  1436. // 判断resulttype,对查询结果排序 1 表示单纯信息类 2.表示信息类加信息项
  1437. if ("2".equals(resulttype)) {
  1438. sql.append("ORDER BY T.XXXBM ASC");
  1439. }
  1440. Object[] args = new Object[] {};
  1441. int length = paramList.size();
  1442. if (length > 0) {
  1443. args = new Object[length];
  1444. for (int i = 0; i < length; i++) {
  1445. args[i] = paramList.get(i);
  1446. }
  1447. }
  1448. if ("oracle".equals(database_type)) {
  1449. BigDecimal count = (BigDecimal) jdbcTemplate
  1450. .queryForMap("select count(1) totalnum from (" + sql.toString() + ") q ", args).get("totalnum");
  1451. listMap = doReadDataByThread(count.intValue(), sql.toString(), args, resulttype);
  1452. } else {
  1453. Long count = (Long) jdbcTemplate
  1454. .queryForMap("select count(1) totalnum from (" + sql.toString() + ") q ", args).get("totalnum");
  1455. listMap = doReadDataByThread(count.intValue(), sql.toString(), args, resulttype);
  1456. }
  1457. Map<String, Object> dataMapAll = new HashMap<String, Object>();
  1458. dataMapAll.put("data", listMap);
  1459. Configuration configuration = new Configuration();
  1460. configuration.setDefaultEncoding("utf-8");
  1461. // 调用导出模板的方法
  1462. configuration.setClassForTemplateLoading(this.getClass(), "/templates/mailTemplate"); // FTL文件所存在的位置
  1463. InputStream fin = null;
  1464. ServletOutputStream o = null;
  1465. File outFile = null;
  1466. File file = new File(save_path);
  1467. // 判断文件夹是否存在,如果不存在则创建文件夹
  1468. if (!file.exists()) {
  1469. file.mkdirs();
  1470. }
  1471. try {
  1472. Template t = configuration.getTemplate(templatefile); // 文件名
  1473. outFile = new File(save_path + File.separator + new Date().getTime() + ".xls");
  1474. Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));
  1475. t.process(dataMapAll, out);
  1476. out.close();
  1477. fin = new FileInputStream(outFile);
  1478. response.setCharacterEncoding("utf-8");
  1479. response.setContentType("application/msexcel");
  1480. response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("信息类情况.xls", "UTF-8"));
  1481. o = response.getOutputStream();
  1482. byte[] buffer = new byte[1024]; // 缓冲区
  1483. int bytesToRead = 0;
  1484. while ((bytesToRead = fin.read(buffer)) > 0) {
  1485. o.write(buffer, 0, bytesToRead);
  1486. }
  1487. } catch (FileNotFoundException e1) {
  1488. e1.printStackTrace();
  1489. } catch (TemplateException e) {
  1490. e.printStackTrace();
  1491. } catch (IOException e) {
  1492. e.printStackTrace();
  1493. } finally {
  1494. if (fin != null)
  1495. fin.close();
  1496. if (o != null)
  1497. o.close();
  1498. if (outFile != null)
  1499. outFile.delete(); // 删除临时文件
  1500. }
  1501. }
  1502. /**
  1503. *
  1504. * @Description: 资源分类下的信息类信息列表
  1505. * @param model
  1506. * @param dto
  1507. * @param resid
  1508. * @param request
  1509. * @param response
  1510. * @return String
  1511. * @throws @author lijie
  1512. * @date 2018年1月29日
  1513. */
  1514. @RequestMapping("/tinfoclass_resClassifyList{resid}")
  1515. public String tinfoclassResClassifyList(Model model, @PathVariable("resid") String resid,
  1516. HttpServletRequest request, HttpServletResponse response) {
  1517. HttpSession session = request.getSession();
  1518. User userInfo = (User) session.getAttribute("user");
  1519. Map privs = dbdcRoleService.findButtonPrivByUserIdAndUrl(userInfo.getUserId(), "/resClassify/tinfoClass_list");
  1520. String zfbm = "否";
  1521. String type = request.getParameter("type");
  1522. for (Dept dept : userInfo.getDepts()) {
  1523. if (dept.getDeptProperty() != null && "政务部门".equals(dept.getDeptProperty())) {
  1524. zfbm = "是";
  1525. }
  1526. }
  1527. Set<Role> serRole = userInfo.getRoles();
  1528. boolean flag2 = false;
  1529. boolean flag3 = false;
  1530. for (Role role : serRole) {
  1531. if (zgbmgl_role.equals(role.getRoleId()))
  1532. flag2 = true;
  1533. if (viewrole.equals(role.getRoleId()))
  1534. flag3 = true;
  1535. }
  1536. model.addAttribute("type", type);
  1537. model.addAttribute("viewrole", flag3);
  1538. model.addAttribute("zgbmgl_role", flag2);
  1539. model.addAttribute("resid", resid);
  1540. model.addAttribute("zfbm", zfbm);
  1541. model.addAttribute("privs", privs.get("add_priv"));
  1542. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  1543. model.addAttribute("fltaglist", fltaglist);
  1544. return "thymeleaf/tinfoclass/tinfoclass_resClassifyList";
  1545. }
  1546. @RequestMapping("/serviceinfolist{classid}")
  1547. public String serviceInfoList(Model model, @PathVariable("classid") String classid, HttpServletRequest request,
  1548. HttpServletResponse response) {
  1549. HttpSession session = request.getSession();
  1550. User userInfo = (User) session.getAttribute("user");
  1551. model.addAttribute("classid", classid);
  1552. return "thymeleaf/tinfoclass/serviceinfolist";
  1553. }
  1554. @RequestMapping("/serviceinfolist_json{classid}")
  1555. public Map serviceinfolistJson(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  1556. @PathVariable("classid") String classid, @RequestParam(required = false, defaultValue = "1") int page,
  1557. @RequestParam(required = false, defaultValue = "5") int limit) {
  1558. Map map = new HashMap<>();
  1559. HttpSession session = request.getSession();
  1560. User userInfo = (User) session.getAttribute("user");
  1561. TserviceRegInfoDto dto = new TserviceRegInfoDto();
  1562. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  1563. dto = JSONObject.parseObject(queryParam, TserviceRegInfoDto.class);
  1564. }
  1565. String currentPageStr = page + "";
  1566. String pagesizes = limit + "";
  1567. if (pagesizes == null) {
  1568. pagesizes = "10";
  1569. }
  1570. int pagesize = Integer.parseInt(pagesizes);
  1571. Pagination<TserviceRegInfoDto> pageinfo = newPagination(currentPageStr, pagesize);
  1572. pageinfo.setSortFiled(request.getParameter("field"));
  1573. pageinfo.setSortType(request.getParameter("order"));
  1574. dto.setClassid(classid);
  1575. pageinfo = reginfoService.findInfoListByClassid(dto, pageinfo, userInfo);
  1576. map.put("code", "0");
  1577. map.put("msg", "ok");
  1578. map.put("data", pageinfo.getPageResult());
  1579. map.put("count", pageinfo.getPageTotal());
  1580. return map;
  1581. }
  1582. @RequestMapping("/ziyuanInfo{resid}")
  1583. public Map ZiyuanInfo(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  1584. @PathVariable("resid") String resid, @RequestParam(required = false, defaultValue = "1") int page,
  1585. @RequestParam(required = false, defaultValue = "5") int limit) {
  1586. Map map = new HashMap<>();
  1587. HttpSession session = request.getSession();
  1588. User userInfo = (User) session.getAttribute("user");
  1589. TinfoClassDto dto = new TinfoClassDto();
  1590. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  1591. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  1592. }
  1593. String currentPageStr = page + "";
  1594. String pagesizes = limit + "";
  1595. if (pagesizes == null) {
  1596. pagesizes = "10";
  1597. }
  1598. int pagesize = Integer.parseInt(pagesizes);
  1599. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  1600. pageinfo.setSortFiled(request.getParameter("field"));
  1601. pageinfo.setSortType(request.getParameter("order"));
  1602. pageinfo = tinfoClassService.findTinfoClassresClassifyList(dto, resid, pageinfo, userInfo);
  1603. map.put("code", "0");
  1604. map.put("msg", "ok");
  1605. map.put("data", pageinfo.getPageResult());
  1606. map.put("count", pageinfo.getPageTotal());
  1607. return map;
  1608. }
  1609. @RequestMapping("/dataMetaChooselist")
  1610. public String dataMetaChooseList(Model model, TdataMetaDto dto, HttpServletRequest request,
  1611. HttpServletResponse response) {
  1612. HttpSession session = request.getSession();
  1613. User userInfo = (User) session.getAttribute("user");
  1614. String currentPageStr = request.getParameter("pagecurrentnum");
  1615. String pagesizes = request.getParameter("selectlimitnum");
  1616. if (pagesizes == null) {
  1617. pagesizes = "10";
  1618. }
  1619. int pagesize = Integer.parseInt(pagesizes);
  1620. Pagination<TdataMetaDto> page = newPagination(currentPageStr, pagesize);
  1621. page = tinfoClassService.findDataMetaChooselist(dto, page);
  1622. model.addAttribute("list", page.getPageResult());
  1623. model.addAttribute("pagevar", page);
  1624. model.addAttribute("dto", dto);
  1625. loginfoService.logDealInfo("3", modelType, "数据元选择", "t_datameta", "", ToolUtil.getIpAddr(request),
  1626. request.getRequestURI(), userInfo);
  1627. return "thymeleaf/tinfoclass/dataMetaChooselist";
  1628. }
  1629. @RequestMapping("/tinfoclass_add")
  1630. public String tinfoclassAdd(Model model, TinfoClassDto dto, HttpServletRequest request,
  1631. HttpServletResponse response) {
  1632. String bmid = request.getParameter("bmid");
  1633. HttpSession session = request.getSession();
  1634. User userInfo = (User) session.getAttribute("user");
  1635. // thymeleaf 存在严重的lazy懒加载堆栈溢出bug,需要人工处理
  1636. // Dept userdept = deptService.findById(userInfo.getDeptid());
  1637. String sql = "SELECT dept_id as id, creditno,dept_abbreviation,dept_desc,dept_index,dept_name as name,dept_property,dept_state,parent_id,pdeptids,xzqhcode,xzqhid,xzqhname,ywbmcode,ywbmid,ywbmname FROM deptinfo WHERE dept_id=?";
  1638. Map<String,Object> userdept = jdbcTemplate.queryForMap(sql, new Object[]{userInfo.getDeptid()});
  1639. Map<String,Object> parentDept = jdbcTemplate.queryForMap(sql, new Object[]{userdept.get("parent_id")});
  1640. model.addAttribute("userdept", userdept);
  1641. model.addAttribute("parentDept", parentDept);
  1642. dto = tinfoClassService.getDefaultInfoByUserId(userInfo.getUserId());
  1643. List<CodeDto> list = dbdcCodeService.findCodeByCodeType("xxzygs");// 获取信息资源格式
  1644. List<CodeDto> gxpllist = dbdcCodeService.findCodeByCodeType("gxpl");// 获取更新频率
  1645. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  1646. model.addAttribute("fltaglist", fltaglist);
  1647. List<CodeDto> gxfslist = dbdcCodeService.findCodeByCodeType("gxfs");// 获取共享方式
  1648. List<CodeDto> sjfwlist = dbdcCodeService.findCodeByCodeType("sjfw");// 获取数据范围
  1649. model.addAttribute("list", list);
  1650. model.addAttribute("dto", dto);
  1651. model.addAttribute("gxpllist", gxpllist);
  1652. model.addAttribute("gxfslist", gxfslist);
  1653. model.addAttribute("bmid", bmid);
  1654. model.addAttribute("sjfwlist", sjfwlist);
  1655. return "thymeleaf/tinfoclass/tinfoclass_add";
  1656. }
  1657. @RequestMapping("/tinfoclass_xxladd")
  1658. public String tinfoclassXxlAdd(Model model, TinfoClassDto dto, HttpServletRequest request,
  1659. HttpServletResponse response) {
  1660. String xxxid = request.getParameter("id");
  1661. if (ToolUtil.isNull(xxxid)) {
  1662. xxxid = "";
  1663. }
  1664. List<CodeDto> list = dbdcCodeService.findCodeByCodeType("sjylb");// 获取数据元类别
  1665. List<CodeDto> gxfslist = dbdcCodeService.findCodeByCodeType("gxfs");// 获取共享方式
  1666. model.addAttribute("list", list);
  1667. model.addAttribute("xxxid", xxxid);
  1668. model.addAttribute("gxfslist", gxfslist);
  1669. return "thymeleaf/tinfoclass/tinfoclass_xxladd";
  1670. }
  1671. @RequestMapping("/tinfoclass_edit{id}")
  1672. public String tinfoclassEdit(@PathVariable("id") String id, Model model, TinfoClassDto dto,
  1673. HttpServletRequest request, HttpServletResponse response) {
  1674. HttpSession session = request.getSession();
  1675. User userInfo = (User) session.getAttribute("user");
  1676. List<CodeDto> list = dbdcCodeService.findCodeByCodeType("xxzygs");// 获取信息资源格式
  1677. List<CodeDto> gxpllist = dbdcCodeService.findCodeByCodeType("gxpl");// 获取更新频率
  1678. List<CodeDto> gxfslist = dbdcCodeService.findCodeByCodeType("gxfs");// 获取共享方式
  1679. List<CodeDto> sjfwlist = dbdcCodeService.findCodeByCodeType("sjfw");// 获取数据范围
  1680. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  1681. model.addAttribute("fltaglist", fltaglist);
  1682. TinfoClassDto info = tinfoClassService.findTinfoClassById(id);
  1683. List<Map<String, Object>> infolist = tpowerResponsibilityService.findTsubpowerResponsibilityByClassid(id);
  1684. String qzqd = "";
  1685. String qzqdid = "";
  1686. for (Map res : infolist) {
  1687. qzqd += res.get("qzqd") + ";";
  1688. qzqdid += res.get("qzqdid") + ";";
  1689. }
  1690. model.addAttribute("qzqd", qzqd);
  1691. model.addAttribute("qzqdid", qzqdid);
  1692. String zyflid = "";
  1693. String zyflname = "";
  1694. for (TinfoclassRes res : info.getTinfoclassResList()) {
  1695. zyflid += res.getTresClassify().getResid() + ",";
  1696. zyflname += res.getTresClassify().getResname() + ",";
  1697. }
  1698. List<TsystemInfoAndInfoClass> systeminfoList = tsystemInfoAndInfoClassService
  1699. .findTsystemInfoAndInfoClassByClassId(id);
  1700. List<TbusinessItemAndInfoClass> businessItemList = tbusinessItemAndInfoClassService
  1701. .findTbusinessItemAndInfoClassByClassId(id);
  1702. String systeminfoname = "";
  1703. String systeminfoid = "";
  1704. String ywsxid = "";
  1705. String ywsx = "";
  1706. for (TsystemInfoAndInfoClass data : systeminfoList) {
  1707. systeminfoname = systeminfoname + data.getSysteminfoName() + ";";
  1708. systeminfoid = systeminfoid + data.getSysteminfoId() + ";";
  1709. }
  1710. for (TbusinessItemAndInfoClass data : businessItemList) {
  1711. ywsxid = ywsxid + data.getItemid() + ";";
  1712. ywsx = ywsx + data.getItemname() + ";";
  1713. }
  1714. model.addAttribute("zyflname", zyflname);
  1715. model.addAttribute("zyflid", zyflid);
  1716. model.addAttribute("info", info);
  1717. model.addAttribute("list", list);
  1718. model.addAttribute("gxpllist", gxpllist);
  1719. model.addAttribute("gxfslist", gxfslist);
  1720. model.addAttribute("systeminfoname", systeminfoname);
  1721. model.addAttribute("systeminfoid", systeminfoid);
  1722. model.addAttribute("sjfwlist", sjfwlist);
  1723. model.addAttribute("ywsxid", ywsxid);
  1724. model.addAttribute("ywsx", ywsx);
  1725. loginfoService.logDealInfo("3", modelType, "信息类查看", "t_infoclass", id, ToolUtil.getIpAddr(request),
  1726. request.getRequestURI(), userInfo);
  1727. return "thymeleaf/tinfoclass/tinfoclass_edit";
  1728. }
  1729. @RequestMapping("/tinfoclass_bg{id}")
  1730. public String tinfoclassBg(@PathVariable("id") String id, Model model, TinfoClassDto dto,
  1731. HttpServletRequest request, HttpServletResponse response) {
  1732. HttpSession session = request.getSession();
  1733. User userInfo = (User) session.getAttribute("user");
  1734. List<CodeDto> list = dbdcCodeService.findCodeByCodeType("xxzygs");// 获取信息资源格式
  1735. List<CodeDto> gxpllist = dbdcCodeService.findCodeByCodeType("gxpl");// 获取更新频率
  1736. List<CodeDto> gxfslist = dbdcCodeService.findCodeByCodeType("gxfs");// 获取共享方式
  1737. List<CodeDto> sjfwlist = dbdcCodeService.findCodeByCodeType("sjfw");// 获取数据范围
  1738. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  1739. model.addAttribute("fltaglist", fltaglist);
  1740. TinfoClassDto info = tinfoClassService.findTinfoClassById(id);
  1741. if("2".equals(info.getBgstatus())){
  1742. return "thymeleaf/tinfoclass/tinfoclass_ybg";
  1743. }else{
  1744. List<Map<String, Object>> infolist = tpowerResponsibilityService.findTsubpowerResponsibilityByClassid(id);
  1745. String qzqd = "";
  1746. String qzqdid = "";
  1747. for (Map res : infolist) {
  1748. qzqd += res.get("qzqd") + ";";
  1749. qzqdid += res.get("qzqdid") + ";";
  1750. }
  1751. model.addAttribute("qzqd", qzqd);
  1752. model.addAttribute("qzqdid", qzqdid);
  1753. String bgflag = request.getParameter("bgflag");
  1754. String bgid = request.getParameter("bgid");
  1755. String zyflid = "";
  1756. String zyflname = "";
  1757. for (TinfoclassRes res : info.getTinfoclassResList()) {
  1758. zyflid += res.getTresClassify().getResid() + ",";
  1759. zyflname += res.getTresClassify().getResname() + ",";
  1760. }
  1761. List<TsystemInfoAndInfoClass> systeminfoList = tsystemInfoAndInfoClassService
  1762. .findTsystemInfoAndInfoClassByClassId(id);
  1763. List<TbusinessItemAndInfoClass> businessItemList = tbusinessItemAndInfoClassService
  1764. .findTbusinessItemAndInfoClassByClassId(id);
  1765. String systeminfoname = "";
  1766. String systeminfoid = "";
  1767. String ywsxid = "";
  1768. String ywsx = "";
  1769. for (TsystemInfoAndInfoClass data : systeminfoList) {
  1770. systeminfoname = systeminfoname + data.getSysteminfoName() + ";";
  1771. systeminfoid = systeminfoid + data.getSysteminfoId() + ";";
  1772. }
  1773. for (TbusinessItemAndInfoClass data : businessItemList) {
  1774. ywsxid = ywsxid + data.getItemid() + ";";
  1775. ywsx = ywsx + data.getItemname() + ";";
  1776. }
  1777. model.addAttribute("ywsxid", ywsxid);
  1778. model.addAttribute("ywsx", ywsx);
  1779. model.addAttribute("systeminfoname", systeminfoname);
  1780. model.addAttribute("systeminfoid", systeminfoid);
  1781. model.addAttribute("zyflname", zyflname);
  1782. model.addAttribute("zyflid", zyflid);
  1783. model.addAttribute("info", info);
  1784. model.addAttribute("bgid", bgid);
  1785. model.addAttribute("bgflag", bgflag);
  1786. model.addAttribute("list", list);
  1787. model.addAttribute("gxpllist", gxpllist);
  1788. model.addAttribute("gxfslist", gxfslist);
  1789. model.addAttribute("sjfwlist", sjfwlist);
  1790. loginfoService.logDealInfo("3", modelType, "信息类查看", "t_infoclass", id, ToolUtil.getIpAddr(request),
  1791. request.getRequestURI(), userInfo);
  1792. return "thymeleaf/tinfoclass/tinfoclass_bg";
  1793. }
  1794. }
  1795. @RequestMapping("/tinfoclass_view{id}")
  1796. public String tinfoclassView(@PathVariable("id") String id, Model model, TinfoClassDto dto,
  1797. HttpServletRequest request, HttpServletResponse response) {
  1798. HttpSession session = request.getSession();
  1799. User userInfo = (User) session.getAttribute("user");
  1800. TinfoClassDto info = tinfoClassService.findTinfoClassById(id);
  1801. model.addAttribute("info", info);
  1802. String dataitemid = request.getParameter("dataitemid");
  1803. List<ReqdataitemXxx> rxxxlist = new ArrayList<>();
  1804. if (!ToolUtil.isNull(dataitemid)) {
  1805. rxxxlist = requireDataItemService.findReqdataitemXxxByDataItemId(dataitemid);
  1806. }
  1807. model.addAttribute("rxxxlist", rxxxlist);
  1808. String zyflid = "";
  1809. String zyflname = "";
  1810. for (TinfoclassRes res : info.getTinfoclassResList()) {
  1811. zyflid += res.getTresClassify().getResid() + ",";
  1812. zyflname += res.getTresClassify().getResname() + ",";
  1813. }
  1814. List<TsystemInfoAndInfoClass> systeminfoList = tsystemInfoAndInfoClassService
  1815. .findTsystemInfoAndInfoClassByClassId(id);
  1816. List<TbusinessItemAndInfoClass> businessItemList = tbusinessItemAndInfoClassService
  1817. .findTbusinessItemAndInfoClassByClassId(id);
  1818. String systeminfoname = "";
  1819. String systeminfoid = "";
  1820. String ywsxid = "";
  1821. String ywsx = "";
  1822. for (TsystemInfoAndInfoClass data : systeminfoList) {
  1823. systeminfoname = systeminfoname + data.getSysteminfoName() + ";";
  1824. systeminfoid = systeminfoid + data.getSysteminfoId() + ";";
  1825. }
  1826. for (TbusinessItemAndInfoClass data : businessItemList) {
  1827. ywsxid = ywsxid + data.getItemid() + ";";
  1828. ywsx = ywsx + data.getItemname() + ";";
  1829. }
  1830. model.addAttribute("ywsxid", ywsxid);
  1831. model.addAttribute("ywsx", ywsx);
  1832. model.addAttribute("systeminfoname", systeminfoname);
  1833. model.addAttribute("systeminfoid", systeminfoid);
  1834. model.addAttribute("zyflname", zyflname);
  1835. model.addAttribute("zyflid", zyflid);
  1836. loginfoService.logDealInfo("3", modelType, "信息类查看", "t_infoclass", id, ToolUtil.getIpAddr(request),
  1837. request.getRequestURI(), userInfo);
  1838. String zfbm = "否";
  1839. for (Dept dept : userInfo.getDepts()) {
  1840. if (dept.getDeptProperty() != null && "政务部门".equals(dept.getDeptProperty())) {
  1841. zfbm = "是";
  1842. }
  1843. }
  1844. model.addAttribute("zfbm", zfbm);
  1845. List<Map<String, Object>> infolist = tpowerResponsibilityService.findTsubpowerResponsibilityByClassid(id);
  1846. String qzqd = "";
  1847. String qzqdid = "";
  1848. for (Map res : infolist) {
  1849. qzqd += res.get("qzqd") + ";";
  1850. qzqdid += res.get("qzqdid") + ";";
  1851. }
  1852. model.addAttribute("qzqd", qzqd);
  1853. model.addAttribute("qzqdid", qzqdid);
  1854. List<CodeDto> fltaglist = dbdcCodeService.findCodeByCodeType("fltag");//
  1855. model.addAttribute("fltaglist", fltaglist);
  1856. return "thymeleaf/tinfoclass/tinfoclass_view";
  1857. }
  1858. @RequestMapping("/tinfoclass_save")
  1859. public String tinfoclassSave(Model model, TinfoClassDto dto,
  1860. HttpServletRequest request, HttpServletResponse response) {
  1861. String qzqd = request.getParameter("qzqd");
  1862. String qzqdid = request.getParameter("qzqdid");
  1863. String[] isprimary = request.getParameterValues("isprimary");
  1864. String[] xxxmc = request.getParameterValues("xxxmc");
  1865. String[] xxxdbmc = request.getParameterValues("xxxdbmc");
  1866. String[] xxxbm = request.getParameterValues("xxxbm");
  1867. String[] sjymc = request.getParameterValues("sjymc");
  1868. String[] sjylbname = request.getParameterValues("sjylbname");
  1869. String[] sjylb = request.getParameterValues("sjylb");
  1870. String[] sjylbid = request.getParameterValues("sjylbid");
  1871. String[] description = request.getParameterValues("description");
  1872. String[] subsjylbname = request.getParameterValues("subsjylbname");
  1873. String[] subsjylb = request.getParameterValues("subsjylb");
  1874. String[] subsjylbid = request.getParameterValues("subsjylbid");
  1875. String[] datasize = request.getParameterValues("datasize");
  1876. String[] ranges = request.getParameterValues("ranges");
  1877. String[] indexnum = request.getParameterValues("indexnum");
  1878. String[] xxx_sharetype = request.getParameterValues("xxx_sharetype");
  1879. String[] xxx_shareconditions = request.getParameterValues("xxx_shareconditions");
  1880. String[] xxx_sharemodename = request.getParameterValues("xxx_sharemodename");
  1881. String[] xxx_sharemode = request.getParameterValues("xxx_sharemode");
  1882. String[] xxx_sharemodeid = request.getParameterValues("xxx_sharemodeid");
  1883. String[] xxx_sharemodetypename = request.getParameterValues("xxx_sharemodetypename");
  1884. String[] xxx_sharemodetype = request.getParameterValues("xxx_sharemodetype");
  1885. String[] xxx_sharemodetypeid = request.getParameterValues("xxx_sharemodetypeid");
  1886. String[] xxx_isopensocial = request.getParameterValues("xxx_isopensocial");
  1887. String[] xxx_opencondition = request.getParameterValues("xxx_opencondition");
  1888. String[] sjyid = request.getParameterValues("sjyid");
  1889. String[] glxxxid = request.getParameterValues("glxxxid");
  1890. String[] codesetid = request.getParameterValues("codesetid");
  1891. String[] glsjy = request.getParameterValues("glsjy");
  1892. TinfoClass result = new TinfoClass();
  1893. HttpSession session = request.getSession();
  1894. User userInfo = (User) session.getAttribute("user");
  1895. boolean iszgbmbz = false;
  1896. for (Role role : userInfo.getRoles()) {
  1897. if (role.getRoleId().equals(zgbmbz_role)) {
  1898. iszgbmbz = true;
  1899. break;
  1900. }
  1901. }
  1902. // 根据资源分类id,获取precode
  1903. String infotypeid = dto.getInfotypeid();
  1904. String bgflag = request.getParameter("bgflag");
  1905. String precode = "";
  1906. String seqcode = "";
  1907. if (dto.getId() == null || "".equals(dto.getId())) {// 新增
  1908. if (iszgbmbz) {
  1909. dto.setIszgbmbz("1");
  1910. }
  1911. dto.setHitchStatus(0);
  1912. dto.setId(ToolUtil.getUUID());
  1913. if (!ToolUtil.isNull(dto.getBmid())) {
  1914. // 更新编目任务状态
  1915. RequireBMTask requireBMTask = requireBMTaskService.findrequireBMTaskById(dto.getBmid());
  1916. if (requireBMTask != null) {
  1917. requireBMTask.setJindu("正在编目");
  1918. requireBMTask.setXxlid(dto.getId());
  1919. requireBMTaskService.saveRequireBMTaskInfo(requireBMTask, dto);
  1920. }
  1921. }
  1922. dto.setCreatedate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  1923. dto.setCreator(userInfo.getUserId());
  1924. dto.setCreatorName(userInfo.getUserName());
  1925. dto.setVersionid(1);
  1926. dto.setSubversionid(0);
  1927. dto.setSourceid(dto.getId());
  1928. dto.setLatestversion("1");// 默认最新版本
  1929. dto.setInprocess("0");// 未启动流程
  1930. dto.setBgstatus("1");// 未变更
  1931. result = new TinfoClass(dto);
  1932. loginfoService.logDealInfo("1", modelType, "信息类新增", "t_infoclass", dto.getId(), ToolUtil.getIpAddr(request),
  1933. request.getRequestURI(), userInfo);
  1934. } else if (dto.getId() != null && ToolUtil.isNull(bgflag)) {// 正常修改
  1935. TinfoClassDto info = tinfoClassService.findTinfoClassById(dto.getId());
  1936. if (iszgbmbz) {
  1937. info.setIszgbmbz("1");
  1938. }
  1939. info.setInfoname(dto.getInfoname());
  1940. info.setInfotype(dto.getInfotype());
  1941. info.setManagetype(dto.getManagetype());
  1942. info.setIsglqz(dto.getIsglqz());
  1943. info.setQzqdDes(dto.getQzqdDes());
  1944. info.setInfotypeid(dto.getInfotypeid());
  1945. info.setInfotypename(dto.getInfotypename());
  1946. info.setProvidezgcode(dto.getProvidezgcode());
  1947. info.setProvidezgname(dto.getProvidezgname());
  1948. info.setProvidename(dto.getProvidename());
  1949. info.setProvidebmcode(dto.getProvidebmcode());
  1950. info.setProvidebmname(dto.getProvidebmname());
  1951. info.setInfoabstracts(dto.getInfoabstracts());
  1952. info.setFormattype(dto.getFormattype());
  1953. info.setFormattypeid(dto.getFormattypeid());
  1954. info.setFormattypename(dto.getFormattypename());
  1955. info.setSubformattype(dto.getSubformattype());
  1956. info.setSubformattypename(dto.getSubformattypename());
  1957. info.setSubformattypeid(dto.getSubformattypeid());
  1958. info.setSharetype(dto.getSharetype());
  1959. info.setShareconditions(dto.getShareconditions());
  1960. info.setIsopensocial(dto.getIsopensocial());
  1961. info.setOpencondition(dto.getOpencondition());
  1962. info.setUpdatecycle(dto.getUpdatecycle());
  1963. info.setDatarange(dto.getDatarange());
  1964. info.setSysteminfo(dto.getSysteminfo());
  1965. info.setIssecret(dto.getIssecret());
  1966. info.setSharemode(dto.getSharemode());
  1967. info.setSharemodeid(dto.getSharemodeid());
  1968. info.setSharemodename(dto.getSharemodename());
  1969. info.setSharemodetype(dto.getSharemodetype());
  1970. info.setSharemodetypeid(dto.getSharemodetypeid());
  1971. info.setSharemodetypename(dto.getSharemodetypename());
  1972. info.setUpdator(userInfo.getUserId());
  1973. info.setUpdatorName(userInfo.getUserName());
  1974. info.setUpdatetime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  1975. info.setCreditno(dto.getCreditno());
  1976. info.setXzqhcode(dto.getXzqhcode());
  1977. info.setXzqhid(dto.getXzqhid());
  1978. info.setXzqhname(dto.getXzqhname());
  1979. info.setYwbmcode(dto.getYwbmcode());
  1980. info.setYwbmid(dto.getYwbmid());
  1981. info.setYwbmname(dto.getYwbmname());
  1982. info.setParalleltime(dto.getParalleltime());
  1983. info.setSwitchingtime(dto.getSwitchingtime());
  1984. info.setChangeinstructions(dto.getChangeinstructions());
  1985. info.setFltag(dto.getFltag());
  1986. result = new TinfoClass(info);
  1987. loginfoService.logDealInfo("2", modelType, "信息类更新", "t_infoclass", result.getId(),
  1988. ToolUtil.getIpAddr(request), request.getRequestURI(), userInfo);
  1989. } else if (dto.getId() != null && !ToolUtil.isNull(bgflag)) {// 数据变更,infocode不变
  1990. TinfoClassDto info = tinfoClassService.findTinfoClassById(dto.getId());
  1991. // 通过前缀码获取序列码
  1992. dto.setHitchStatus(0);
  1993. dto.setInfocode(info.getInfocode());
  1994. dto.setId(ToolUtil.getUUID());
  1995. dto.setCreatedate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  1996. dto.setCreator(userInfo.getUserId());
  1997. dto.setCreatorName(userInfo.getUserName());
  1998. dto.setVersionid(info.getVersionid() + 1);
  1999. dto.setSubversionid(0);
  2000. dto.setSourceid(info.getSourceid());
  2001. dto.setParentid(info.getId());
  2002. dto.setLatestversion("0");// 默认最新版本
  2003. dto.setInprocess("0");// 未启动流程
  2004. dto.setIsbg(bgflag);
  2005. if (iszgbmbz) {
  2006. dto.setIszgbmbz("1");
  2007. }
  2008. dto.setBgstatus("1");// 未变更
  2009. if (!ToolUtil.isNull(dto.getBgid())) {// 如果是需求方申请变更的数据,更新需求方的数据状态
  2010. TchangeApplyDto tchangeApply = tchangeApplyService.byone(dto.getBgid());
  2011. tchangeApply.setState("5");
  2012. tchangeApply.setLatesttinfoclassid(dto.getId());
  2013. tchangeApplyService.TchangeApplysave(tchangeApply);
  2014. }
  2015. info.setBgstatus("2");// 更新父版本的变更状态
  2016. tinfoClassService.saveTinfoClass(new TinfoClass(info));
  2017. result = new TinfoClass(dto);
  2018. loginfoService.logDealInfo("1", modelType, "信息类新增", "t_infoclass", result.getId(),
  2019. ToolUtil.getIpAddr(request), request.getRequestURI(), userInfo);
  2020. }
  2021. result.setIszc("1");
  2022. tinfoClassService.saveTinfoClass(result);
  2023. // 获取关联系统信息
  2024. String systeminfoname = request.getParameter("systeminfoname") == null ? ""
  2025. : request.getParameter("systeminfoname");
  2026. String systeminfoid = request.getParameter("systeminfoid") == null ? "" : request.getParameter("systeminfoid");
  2027. String[] systeminfonames = systeminfoname.split(";");
  2028. String[] systeminfoids = systeminfoid.split(";");
  2029. tsystemInfoAndInfoClassService.saveRelationShip(systeminfonames, systeminfoids, result.getId());
  2030. // 获取管理事项信息
  2031. String ywsxid = request.getParameter("ywsxid") == null ? "" : request.getParameter("ywsxid");
  2032. String ywsx = request.getParameter("ywsx") == null ? "" : request.getParameter("ywsx");
  2033. String[] ywsxids = ywsxid.split(";");
  2034. String[] ywsxs = ywsx.split(";");
  2035. tbusinessItemAndInfoClassService.saveRelationShip(ywsxids, ywsxs, result.getId());
  2036. int length = 0;
  2037. if (isprimary != null) {
  2038. length = isprimary.length;
  2039. }
  2040. if (length == 1) {
  2041. if (xxxmc.length == 0) {
  2042. xxxmc = new String[1];
  2043. xxxmc[0] = "";
  2044. }
  2045. if (xxxdbmc.length == 0) {
  2046. xxxdbmc = new String[1];
  2047. xxxdbmc[0] = "";
  2048. }
  2049. if (sjymc.length == 0) {
  2050. sjymc = new String[1];
  2051. sjymc[0] = "";
  2052. }
  2053. if (sjylbname.length == 0) {
  2054. sjylbname = new String[1];
  2055. sjylbname[0] = "";
  2056. }
  2057. if (sjylb.length == 0) {
  2058. sjylb = new String[1];
  2059. sjylb[0] = "";
  2060. }
  2061. if (sjylbid.length == 0) {
  2062. sjylbid = new String[1];
  2063. sjylbid[0] = "";
  2064. }
  2065. if (description.length == 0) {
  2066. description = new String[1];
  2067. description[0] = "";
  2068. }
  2069. if (subsjylbname.length == 0) {
  2070. subsjylbname = new String[1];
  2071. subsjylbname[0] = "";
  2072. }
  2073. if (subsjylb.length == 0) {
  2074. subsjylb = new String[1];
  2075. subsjylb[0] = "";
  2076. }
  2077. if (subsjylbid.length == 0) {
  2078. subsjylbid = new String[1];
  2079. subsjylbid[0] = "";
  2080. }
  2081. if (datasize.length == 0) {
  2082. datasize = new String[1];
  2083. datasize[0] = "";
  2084. }
  2085. if (ranges.length == 0) {
  2086. ranges = new String[1];
  2087. ranges[0] = "";
  2088. }
  2089. if (indexnum.length == 0) {
  2090. indexnum = new String[1];
  2091. indexnum[0] = "0";
  2092. }
  2093. // if (xxx_sharetype.length == 0) {
  2094. // xxx_sharetype = new String[1];
  2095. // xxx_sharetype[0] = "";
  2096. // }
  2097. // if (xxx_shareconditions.length == 0) {
  2098. // xxx_shareconditions = new String[1];
  2099. // xxx_shareconditions[0] = "";
  2100. // }
  2101. // if (xxx_sharemodename.length == 0) {
  2102. // xxx_sharemodename = new String[1];
  2103. //
  2104. // xxx_sharemodename[0] = "";
  2105. // }
  2106. // if (xxx_sharemode.length == 0) {
  2107. // xxx_sharemode = new String[1];
  2108. // xxx_sharemode[0] = "";
  2109. // }
  2110. // if (xxx_sharemodeid.length == 0) {
  2111. // xxx_sharemodeid = new String[1];
  2112. // xxx_sharemodeid[0] = "";
  2113. // }
  2114. // if (xxx_sharemodetypename.length == 0) {
  2115. // xxx_sharemodetypename = new String[1];
  2116. // xxx_sharemodetypename[0] = "";
  2117. // }
  2118. // if (xxx_sharemodetype.length == 0) {
  2119. // xxx_sharemodetype = new String[1];
  2120. // xxx_sharemodetype[0] = "";
  2121. // }
  2122. // if (xxx_sharemodetypeid.length == 0) {
  2123. // xxx_sharemodetypeid = new String[1];
  2124. // xxx_sharemodetypeid[0] = "";
  2125. // }
  2126. // if (xxx_isopensocial.length == 0) {
  2127. // xxx_isopensocial = new String[1];
  2128. // xxx_isopensocial[0] = "";
  2129. // }
  2130. // if (xxx_opencondition.length == 0) {
  2131. // xxx_opencondition = new String[1];
  2132. //
  2133. // xxx_opencondition[0] = "";
  2134. // }
  2135. if (codesetid.length == 0) {
  2136. codesetid = new String[1];
  2137. codesetid[0] = "";
  2138. }
  2139. if (glsjy.length == 0) {
  2140. glsjy = new String[1];
  2141. glsjy[0] = "否";
  2142. }
  2143. if (sjyid.length == 0) {
  2144. sjyid = new String[1];
  2145. sjyid[0] = "";
  2146. }
  2147. if (glxxxid.length == 0) {
  2148. glxxxid = new String[1];
  2149. glxxxid[0] = "";
  2150. }
  2151. }
  2152. List<TinfoclassDatameta> tinfoclassDatametaList = new ArrayList<TinfoclassDatameta>();
  2153. TinfoclassDatameta tdata = new TinfoclassDatameta();
  2154. for (int i = 0; i < length; i++) {
  2155. tdata = new TinfoclassDatameta();
  2156. tdata.setIsprimary(isprimary[i]);
  2157. tdata.setId(ToolUtil.getUUID());
  2158. tdata.setXxxmc(xxxmc[i]);
  2159. tdata.setXxxdbmc(xxxdbmc[i]);
  2160. tdata.setXxxbm(xxxbm[i]);
  2161. tdata.setGlsjy(glsjy[i]);
  2162. tdata.setGlxxxid(glxxxid[i]);
  2163. // tdata.setSharetype(xxx_sharetype[i]);
  2164. // tdata.setShareconditions(xxx_shareconditions[i]);
  2165. // tdata.setSharemodename(xxx_sharemodename[i]);
  2166. // tdata.setSharemodeid(xxx_sharemodeid[i]);
  2167. // tdata.setSharemode(xxx_sharemode[i]);
  2168. // tdata.setSharemodetypename(xxx_sharemodetypename[i]);
  2169. // tdata.setSharemodetype(xxx_sharemodetype[i]);
  2170. // tdata.setSharemodetypeid(xxx_sharemodetypeid[i]);
  2171. // tdata.setIsopensocial(xxx_isopensocial[i]);
  2172. // tdata.setOpencondition(xxx_opencondition[i]);
  2173. tdata.setMetacode(sjylb[i]);
  2174. tdata.setMetacodeDis(sjylbname[i]);
  2175. tdata.setMetacodeid(sjylbid[i]);
  2176. tdata.setDescription(description[i]);
  2177. tdata.setDatatype(subsjylb[i]);
  2178. tdata.setDatatypeDis(subsjylbname[i]);
  2179. tdata.setDatatypeid(subsjylbid[i]);
  2180. tdata.setMetaname(sjymc[i]);
  2181. tdata.setDatasize(datasize[i]);
  2182. tdata.setRanges(ranges[i]);
  2183. if (!ToolUtil.isNull(codesetid[i])) {
  2184. TcodeSetDto datametaCodeset = tcodeSetService.byCodesetId(codesetid[i]);
  2185. TcodeSet tcodeSet = new TcodeSet();
  2186. BeanUtils.copyProperties(datametaCodeset, tcodeSet);
  2187. tdata.setDatametaCodeset(tcodeSet);
  2188. }
  2189. tdata.setDatametaid(sjyid[i]);
  2190. tdata.setIndexnum(Integer.parseInt(indexnum[i]));
  2191. tdata.setTinfoClass1(result);
  2192. tinfoclassDatametaList.add(tdata);
  2193. }
  2194. String glzyflid = request.getParameter("glzyflid");
  2195. List<TinfoclassRes> tinfoclassResList = new ArrayList<TinfoclassRes>();
  2196. TinfoclassRes tinfoclassRes = new TinfoclassRes();
  2197. if (!ToolUtil.isNull(glzyflid)) {
  2198. for (String zyid : glzyflid.split(",")) {
  2199. if (!ToolUtil.isNull(zyid)) {
  2200. tinfoclassRes = new TinfoclassRes();
  2201. tinfoclassRes.setId(ToolUtil.getUUID());
  2202. tinfoclassRes.setTresClassify(tresClassifyService.findTresClassifyById(zyid));
  2203. tinfoclassRes.setTinfoClass2(result);
  2204. tinfoclassResList.add(tinfoclassRes);
  2205. }
  2206. }
  2207. }
  2208. if (tinfoclassDatametaList.size() > 0 || tinfoclassResList.size() > 0) {
  2209. tinfoclassDatametaService.saveInfoList(tinfoclassDatametaList, tinfoclassResList, result);
  2210. }
  2211. tinfoclassDatametaService.saveTsubresInfoclass(qzqd.split(";"), qzqdid.split(";"), result);
  2212. String state = request.getParameter("state");
  2213. if ("1".equals(state)) {// 提交审核
  2214. Map<String, Object> variables = new HashMap<String, Object>();
  2215. ProcessInstance p = workflowService.saveStartProcess("infoClassZc", variables, result.getId());// 启动流程
  2216. // 更新业务表状态 processID,inprocess字段
  2217. result.setProcessid(p.getProcessInstanceId());
  2218. result.setInprocess("1");
  2219. result.setTaskname("部门审核");
  2220. if (iszgbmbz) {
  2221. result.setIszgbmbz("1");
  2222. } else {
  2223. result.setIszgbmbz(null);
  2224. }
  2225. tinfoClassService.saveTinfoClass(result);
  2226. businessProcessService.saveInfo(p.getProcessInstanceId(), result.getId(), "t_infoclass",
  2227. userInfo.getUserId());
  2228. }
  2229. return "thymeleaf/dcbccode/success";
  2230. }
  2231. /**
  2232. *
  2233. * @Description: 编目人员修改,并提交审核
  2234. * @param model
  2235. * @param dto
  2236. * @param isprimary
  2237. * @param xxxmc
  2238. * @param sjymc
  2239. * @param sjylbname
  2240. * @param sjylb
  2241. * @param sjylbid
  2242. * @param description
  2243. * @param subsjylbname
  2244. * @param subsjylb
  2245. * @param subsjylbid
  2246. * @param datasize
  2247. * @param ranges
  2248. * @param indexnum
  2249. * @param xxx_sharetype
  2250. * @param xxx_shareconditions
  2251. * @param xxx_sharemodename
  2252. * @param xxx_sharemode
  2253. * @param xxx_sharemodeid
  2254. * @param xxx_sharemodetypename
  2255. * @param xxx_sharemodetype
  2256. * @param xxx_sharemodetypeid
  2257. * @param xxx_isopensocial
  2258. * @param xxx_opencondition
  2259. * @param sjyid
  2260. * @param codesetid
  2261. * @param glsjy
  2262. * @param taskId
  2263. * @param outcome
  2264. * @param message
  2265. * @param request
  2266. * @param response
  2267. * @return String
  2268. * @throws @author lijiezhi
  2269. * @date 2018年1月18日
  2270. */
  2271. @RequestMapping("/tinfoclass_bmryAudit")
  2272. public String tinfoclassBmryAudit(Model model, TinfoClassDto dto, String[] isprimary, String[] xxxmc,
  2273. String[] sjymc, String[] sjylbname, String[] sjylb, String[] sjylbid, String[] description,
  2274. String[] subsjylbname, String[] subsjylb, String[] subsjylbid, String[] datasize, String[] ranges,
  2275. String[] indexnum, String[] xxx_sharetype, String[] xxx_shareconditions, String[] xxx_sharemodename,
  2276. String[] xxx_sharemode, String[] xxx_sharemodeid, String[] xxx_sharemodetypename,
  2277. String[] xxx_sharemodetype, String[] xxx_sharemodetypeid, String[] xxx_isopensocial,
  2278. String[] xxx_opencondition, String[] sjyid, String[] codesetid, String[] glsjy,String[] glxxxid, String taskId,
  2279. String outcome, String message, HttpServletRequest request, HttpServletResponse response) {
  2280. String qzqd = request.getParameter("qzqd");
  2281. String qzqdid = request.getParameter("qzqdid");
  2282. TinfoClass result = new TinfoClass();
  2283. HttpSession session = request.getSession();
  2284. User userInfo = (User) session.getAttribute("user");
  2285. // 根据资源分类id,获取precode
  2286. String infotypeid = dto.getInfotypeid();
  2287. String bgflag = request.getParameter("bgflag");
  2288. String precode = "";
  2289. String seqcode = "";
  2290. if (dto.getId() != null && ToolUtil.isNull(bgflag)) {// 正常修改
  2291. TinfoClassDto info = tinfoClassService.findTinfoClassById(dto.getId());
  2292. info.setInfoname(dto.getInfoname());
  2293. info.setInfotype(dto.getInfotype());
  2294. info.setInfotypeid(dto.getInfotypeid());
  2295. info.setInfotypename(dto.getInfotypename());
  2296. info.setProvidezgcode(dto.getProvidezgcode());
  2297. info.setProvidezgname(dto.getProvidezgname());
  2298. info.setProvidebmcode(dto.getProvidebmcode());
  2299. info.setProvidebmname(dto.getProvidebmname());
  2300. info.setProvidecode(dto.getProvidecode());
  2301. info.setProvidename(dto.getProvidename());
  2302. info.setInfoabstracts(dto.getInfoabstracts());
  2303. info.setFormattype(dto.getFormattype());
  2304. info.setFormattypeid(dto.getFormattypeid());
  2305. info.setFormattypename(dto.getFormattypename());
  2306. info.setSubformattype(dto.getSubformattype());
  2307. info.setSubformattypename(dto.getSubformattypename());
  2308. info.setSubformattypeid(dto.getSubformattypeid());
  2309. info.setSharetype(dto.getSharetype());
  2310. info.setShareconditions(dto.getShareconditions());
  2311. info.setIsopensocial(dto.getIsopensocial());
  2312. info.setOpencondition(dto.getOpencondition());
  2313. info.setUpdatecycle(dto.getUpdatecycle());
  2314. info.setDatarange(dto.getDatarange());
  2315. info.setSysteminfo(dto.getSysteminfo());
  2316. info.setIssecret(dto.getIssecret());
  2317. info.setSharemode(dto.getSharemode());
  2318. info.setSharemodeid(dto.getSharemodeid());
  2319. info.setSharemodename(dto.getSharemodename());
  2320. info.setSharemodetype(dto.getSharemodetype());
  2321. info.setSharemodetypeid(dto.getSharemodetypeid());
  2322. info.setSharemodetypename(dto.getSharemodetypename());
  2323. info.setUpdator(userInfo.getUserId());
  2324. info.setUpdatorName(userInfo.getUserName());
  2325. info.setUpdatetime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2326. info.setCreditno(dto.getCreditno());
  2327. info.setXzqhcode(dto.getXzqhcode());
  2328. info.setXzqhid(dto.getXzqhid());
  2329. info.setXzqhname(dto.getXzqhname());
  2330. info.setYwbmcode(dto.getYwbmcode());
  2331. info.setYwbmid(dto.getYwbmid());
  2332. info.setYwbmname(dto.getYwbmname());
  2333. info.setManagetype(dto.getManagetype());
  2334. info.setIsglqz(dto.getIsglqz());
  2335. info.setParalleltime(dto.getParalleltime());
  2336. info.setSwitchingtime(dto.getSwitchingtime());
  2337. info.setFltag(dto.getFltag());
  2338. info.setChangeinstructions(dto.getChangeinstructions());
  2339. if("否".equals(dto.getIsglqz())) {
  2340. info.setQzqdDes(dto.getQzqdDes());}
  2341. else {
  2342. info.setQzqdDes("");}
  2343. result = new TinfoClass(info);
  2344. }
  2345. tinfoClassService.saveTinfoClass(result);
  2346. // 获取关联系统信息
  2347. String systeminfoname = request.getParameter("systeminfoname") == null ? ""
  2348. : request.getParameter("systeminfoname");
  2349. String systeminfoid = request.getParameter("systeminfoid") == null ? "" : request.getParameter("systeminfoid");
  2350. String[] systeminfonames = systeminfoname.split(";");
  2351. String[] systeminfoids = systeminfoid.split(";");
  2352. tsystemInfoAndInfoClassService.saveRelationShip(systeminfonames, systeminfoids, result.getId());
  2353. // 获取管理事项信息
  2354. String ywsxid = request.getParameter("ywsxid") == null ? "" : request.getParameter("ywsxid");
  2355. String ywsx = request.getParameter("ywsx") == null ? "" : request.getParameter("ywsx");
  2356. String[] ywsxids = ywsxid.split(";");
  2357. String[] ywsxs = ywsx.split(";");
  2358. tbusinessItemAndInfoClassService.saveRelationShip(ywsxids, ywsxs, result.getId());
  2359. int length = 0;
  2360. if (isprimary != null) {
  2361. length = isprimary.length;
  2362. }
  2363. if (length == 1) {
  2364. if (xxxmc.length == 0) {
  2365. xxxmc = new String[1];
  2366. xxxmc[0] = "";
  2367. }
  2368. if (sjymc.length == 0) {
  2369. sjymc = new String[1];
  2370. sjymc[0] = "";
  2371. }
  2372. if (sjylbname.length == 0) {
  2373. sjylbname = new String[1];
  2374. sjylbname[0] = "";
  2375. }
  2376. if (sjylb.length == 0) {
  2377. sjylb = new String[1];
  2378. sjylb[0] = "";
  2379. }
  2380. if (sjylbid.length == 0) {
  2381. sjylbid = new String[1];
  2382. sjylbid[0] = "";
  2383. }
  2384. if (description.length == 0) {
  2385. description = new String[1];
  2386. description[0] = "";
  2387. }
  2388. if (subsjylbname.length == 0) {
  2389. subsjylbname = new String[1];
  2390. subsjylbname[0] = "";
  2391. }
  2392. if (subsjylb.length == 0) {
  2393. subsjylb = new String[1];
  2394. subsjylb[0] = "";
  2395. }
  2396. if (subsjylbid.length == 0) {
  2397. subsjylbid = new String[1];
  2398. subsjylbid[0] = "";
  2399. }
  2400. if (datasize.length == 0) {
  2401. datasize = new String[1];
  2402. datasize[0] = "";
  2403. }
  2404. if (ranges.length == 0) {
  2405. ranges = new String[1];
  2406. ranges[0] = "";
  2407. }
  2408. if (indexnum.length == 0) {
  2409. indexnum = new String[1];
  2410. indexnum[0] = "0";
  2411. }
  2412. // if (xxx_sharetype.length == 0) {
  2413. // xxx_sharetype = new String[1];
  2414. // xxx_sharetype[0] = "";
  2415. // }
  2416. // if (xxx_shareconditions.length == 0) {
  2417. // xxx_shareconditions = new String[1];
  2418. // xxx_shareconditions[0] = "";
  2419. // }
  2420. // if (xxx_sharemodename.length == 0) {
  2421. // xxx_sharemodename = new String[1];
  2422. //
  2423. // xxx_sharemodename[0] = "";
  2424. // }
  2425. // if (xxx_sharemode.length == 0) {
  2426. // xxx_sharemode = new String[1];
  2427. // xxx_sharemode[0] = "";
  2428. // }
  2429. // if (xxx_sharemodeid.length == 0) {
  2430. // xxx_sharemodeid = new String[1];
  2431. // xxx_sharemodeid[0] = "";
  2432. // }
  2433. // if (xxx_sharemodetypename.length == 0) {
  2434. // xxx_sharemodetypename = new String[1];
  2435. // xxx_sharemodetypename[0] = "";
  2436. // }
  2437. // if (xxx_sharemodetype.length == 0) {
  2438. // xxx_sharemodetype = new String[1];
  2439. // xxx_sharemodetype[0] = "";
  2440. // }
  2441. // if (xxx_sharemodetypeid.length == 0) {
  2442. // xxx_sharemodetypeid = new String[1];
  2443. // xxx_sharemodetypeid[0] = "";
  2444. // }
  2445. // if (xxx_isopensocial.length == 0) {
  2446. // xxx_isopensocial = new String[1];
  2447. // xxx_isopensocial[0] = "";
  2448. // }
  2449. // if (xxx_opencondition.length == 0) {
  2450. // xxx_opencondition = new String[1];
  2451. //
  2452. // xxx_opencondition[0] = "";
  2453. // }
  2454. if (codesetid.length == 0) {
  2455. codesetid = new String[1];
  2456. codesetid[0] = "";
  2457. }
  2458. if (glsjy.length == 0) {
  2459. glsjy = new String[1];
  2460. glsjy[0] = "否";
  2461. }
  2462. if (sjyid.length == 0) {
  2463. sjyid = new String[1];
  2464. sjyid[0] = "";
  2465. }
  2466. if (glxxxid.length == 0) {
  2467. glxxxid = new String[1];
  2468. glxxxid[0] = "";
  2469. }
  2470. }
  2471. List<TinfoclassDatameta> tinfoclassDatametaList = new ArrayList<TinfoclassDatameta>();
  2472. TinfoclassDatameta tdata = new TinfoclassDatameta();
  2473. for (int i = 0; i < length; i++) {
  2474. tdata = new TinfoclassDatameta();
  2475. tdata.setId(ToolUtil.getUUID());
  2476. tdata.setIsprimary(isprimary[i]);
  2477. tdata.setXxxmc(xxxmc[i]);
  2478. tdata.setGlsjy(glsjy[i]);
  2479. tdata.setGlxxxid(glxxxid[i]);
  2480. // tdata.setSharetype(xxx_sharetype[i]);
  2481. // tdata.setShareconditions(xxx_shareconditions[i]);
  2482. // tdata.setSharemodename(xxx_sharemodename[i]);
  2483. // tdata.setSharemodeid(xxx_sharemodeid[i]);
  2484. // tdata.setSharemode(xxx_sharemode[i]);
  2485. // tdata.setSharemodetypename(xxx_sharemodetypename[i]);
  2486. // tdata.setSharemodetype(xxx_sharemodetype[i]);
  2487. // tdata.setSharemodetypeid(xxx_sharemodetypeid[i]);
  2488. // tdata.setIsopensocial(xxx_isopensocial[i]);
  2489. // tdata.setOpencondition(xxx_opencondition[i]);
  2490. tdata.setMetacode(sjylb[i]);
  2491. tdata.setMetacodeDis(sjylbname[i]);
  2492. tdata.setMetacodeid(sjylbid[i]);
  2493. tdata.setDatatype(subsjylb[i]);
  2494. tdata.setDatatypeDis(subsjylbname[i]);
  2495. tdata.setDatatypeid(subsjylbid[i]);
  2496. tdata.setMetaname(sjymc[i]);
  2497. tdata.setDatasize(datasize[i]);
  2498. tdata.setDescription(description[i]);
  2499. tdata.setRanges(ranges[i]);
  2500. if (!ToolUtil.isNull(codesetid[i])) {
  2501. TcodeSetDto datametaCodeset = tcodeSetService.byCodesetId(codesetid[i]);
  2502. TcodeSet tcodeSet = new TcodeSet();
  2503. BeanUtils.copyProperties(datametaCodeset, tcodeSet);
  2504. tdata.setDatametaCodeset(tcodeSet);
  2505. }
  2506. tdata.setDatametaid(sjyid[i]);
  2507. tdata.setIndexnum(Integer.parseInt(indexnum[i]));
  2508. tdata.setTinfoClass1(result);
  2509. tinfoclassDatametaList.add(tdata);
  2510. }
  2511. String glzyflid = request.getParameter("glzyflid");
  2512. List<TinfoclassRes> tinfoclassResList = new ArrayList<TinfoclassRes>();
  2513. TinfoclassRes tinfoclassRes = new TinfoclassRes();
  2514. if (!ToolUtil.isNull(glzyflid)) {
  2515. for (String zyid : glzyflid.split(",")) {
  2516. if (!ToolUtil.isNull(zyid)) {
  2517. tinfoclassRes = new TinfoclassRes();
  2518. tinfoclassRes.setId(ToolUtil.getUUID());
  2519. tinfoclassRes.setTresClassify(tresClassifyService.findTresClassifyById(zyid));
  2520. tinfoclassRes.setTinfoClass2(result);
  2521. tinfoclassResList.add(tinfoclassRes);
  2522. }
  2523. }
  2524. }
  2525. if (tinfoclassDatametaList.size() > 0 || tinfoclassResList.size() > 0) {
  2526. tinfoclassDatametaService.saveInfoList(tinfoclassDatametaList, tinfoclassResList, result);
  2527. }
  2528. tinfoclassDatametaService.saveTsubresInfoclass(qzqd.split(";"), qzqdid.split(";"), result);
  2529. loginfoService.logDealInfo("2", modelType, "信息类更新", "t_infoclass", result.getId(), ToolUtil.getIpAddr(request),
  2530. request.getRequestURI(), userInfo);
  2531. Map<String, Object> variables = new HashMap<String, Object>();
  2532. workflowService.saveSubmitTask(taskId, outcome, message, variables, userInfo);
  2533. return "thymeleaf/dcbccode/success";
  2534. }
  2535. /**
  2536. *
  2537. * @Description: 信息类提供方选择页面
  2538. * @param model
  2539. * @param dto
  2540. * @param request
  2541. * @param response
  2542. * @return String
  2543. * @throws @author lijiezhi_pc
  2544. * @date 2017年12月31日
  2545. */
  2546. @RequestMapping("/dept_choose")
  2547. public String deptChoose(String type, Model model, TinfoClassDto dto, HttpServletRequest request,
  2548. HttpServletResponse response) {
  2549. model.addAttribute("type", type);
  2550. return "thymeleaf/tinfoclass/dept_choose";
  2551. }
  2552. @RequestMapping("/tinfoclass_item-{codetype}")
  2553. @ResponseBody
  2554. public List<CodeDto> tinfoclassItem(@PathVariable("codetype") String codetype, Model model,
  2555. HttpServletRequest request, HttpServletResponse response) {
  2556. List<CodeDto> list = dbdcCodeService.findCodeByCodeType(codetype);// 获取信息资源格式
  2557. List<CodeDto> result = new ArrayList<CodeDto>();
  2558. CodeDto codeinfo = null;
  2559. for (CodeDto code : list) {
  2560. codeinfo = new CodeDto();
  2561. codeinfo.setCodeCode(code.getCodeCode());
  2562. codeinfo.setCodeName(code.getCodeName());
  2563. codeinfo.setCodeValue(code.getCodeValue());
  2564. codeinfo.setId(code.getId());
  2565. result.add(codeinfo);
  2566. }
  2567. return result;
  2568. }
  2569. /**
  2570. * 判断目录名称是否存在
  2571. * @param request
  2572. * @param response
  2573. * @return
  2574. */
  2575. @RequestMapping(value = "/infonameUnique")
  2576. public @ResponseBody Map infonameUnique(HttpServletRequest request,
  2577. HttpServletResponse response) {
  2578. HttpSession session = request.getSession();
  2579. User userInfo = (User) session.getAttribute("user");
  2580. Map<String, Object> map = new HashMap();
  2581. String infoname =request.getParameter("infoname");
  2582. String providebmcode =request.getParameter("providebmcode");
  2583. String id =request.getParameter("id");
  2584. map.put("exist", "0");
  2585. List<TinfoClass> list = tinfoClassService.findListByInfonameAndProviceBmcode(infoname,providebmcode);
  2586. if(list!=null&&list.size()>0) {
  2587. if(ToolUtil.isNull(id)) {
  2588. map.put("exist", "1");
  2589. }
  2590. else {
  2591. TinfoClass info = tinfoClassService.findTinfoClassById2(id);
  2592. for(TinfoClass t:list) {
  2593. if(!t.getSourceid().equals(info.getSourceid())) {
  2594. map.put("exist", "1");
  2595. }
  2596. }
  2597. }
  2598. }
  2599. map.put("remark", "success");
  2600. return map;
  2601. }
  2602. @RequestMapping(value = "/tinfoclass_delete{id}")
  2603. public @ResponseBody Map tinfoclassDelete(@PathVariable("id") String id, HttpServletRequest request,
  2604. HttpServletResponse response) {
  2605. HttpSession session = request.getSession();
  2606. User userInfo = (User) session.getAttribute("user");
  2607. Map<String, Object> map = new HashMap();
  2608. TinfoClassDto tinfoClass = tinfoClassService.findTinfoClassById(id);
  2609. if (!ToolUtil.isNull(tinfoClass.getParentid()) && !ToolUtil.isNull(tinfoClass.getIsbg())) {
  2610. TinfoClassDto ptinfoClass = tinfoClassService.findTinfoClassById(tinfoClass.getParentid());
  2611. ptinfoClass.setBgstatus("1");
  2612. tinfoClassService.saveTinfoClass(new TinfoClass(ptinfoClass));
  2613. }
  2614. tinfoClass.setInprocess("4");
  2615. tinfoClassService.saveTinfoClass(new TinfoClass(tinfoClass));
  2616. map.put("remark", "success");
  2617. loginfoService.logDealInfo("4", modelType, "信息类删除", "t_infoclass", id, ToolUtil.getIpAddr(request),
  2618. request.getRequestURI(), userInfo);
  2619. return map;
  2620. }
  2621. @RequestMapping(value = "/zyflcheck{id}")
  2622. public @ResponseBody Map zyflcheck(@PathVariable("id") String id, HttpServletRequest request,
  2623. HttpServletResponse response) {
  2624. Map<String, Object> map = new HashMap();
  2625. String tinfoClass = tinfoClassService.getPrecodeByInfoTypeid(id);
  2626. map.put("remark", tinfoClass);
  2627. return map;
  2628. }
  2629. @RequestMapping("/tingyong_save")
  2630. public String tingyongSave(Model model, TinfoClassDto dto,
  2631. HttpServletRequest request, HttpServletResponse response) {
  2632. HttpSession session = request.getSession();
  2633. User userInfo = (User) session.getAttribute("user");
  2634. String aduitdate = ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss");
  2635. TinfoClassDto tinfoClass = tinfoClassService.findTinfoClassById(dto.getId());
  2636. if("否".equals(dto.getIsremovedata())) {
  2637. // tinfoClass.setInprocess("5");
  2638. // tinfoClass.setDisablestate("2");
  2639. tinfoClass.setDisablestate("1");
  2640. tinfoClass.setDisabletime(aduitdate);
  2641. }
  2642. else {
  2643. tinfoClass.setDisablestate("1");
  2644. tinfoClass.setDisabletime(aduitdate);
  2645. }
  2646. tinfoClass.setDisabledesc(dto.getDisabledesc());
  2647. tinfoClass.setIsremovedata(dto.getIsremovedata());
  2648. tinfoClass.setTytype(dto.getTytype());
  2649. tinfoClassService.saveTinfoClass(new TinfoClass(tinfoClass));
  2650. loginfoService.logDealInfo("2", modelType, "信息类停用提交", "t_infoclass", dto.getId(), ToolUtil.getIpAddr(request),
  2651. request.getRequestURI(), userInfo);
  2652. return "thymeleaf/dcbccode/success";
  2653. }
  2654. @RequestMapping("/tingyong_check")
  2655. public String tingyongCheck(Model model, TinfoClassDto dto,
  2656. HttpServletRequest request, HttpServletResponse response) {
  2657. HttpSession session = request.getSession();
  2658. User userInfo = (User) session.getAttribute("user");
  2659. String outcome=request.getParameter("outcome");
  2660. String opinion=request.getParameter("opinion");
  2661. String deptid=request.getParameter("deptid");
  2662. Dept dept = deptService.findById(deptid);
  2663. String aduitdate = ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss");
  2664. CommonAduitrecord record =new CommonAduitrecord();
  2665. record.setId(ToolUtil.getUUID());
  2666. record.setBusid(dto.getId());
  2667. record.setBustable("t_infoclass");
  2668. record.setAduitresult(outcome);
  2669. record.setAduitopinion(opinion);
  2670. record.setAduitman(userInfo.getUserName());
  2671. record.setAduitid(userInfo.getUserId());
  2672. record.setAduitdeptid(deptid);
  2673. record.setAduitdeptname(dept.getDeptName());
  2674. record.setAduitdate(aduitdate);
  2675. record.setAduitrole("主管部门管理员");
  2676. record.setTaskname("主管部门审核");
  2677. commonAduitrecordService.saveCommonAduitrecord(record);
  2678. TinfoClassDto tinfoClass = tinfoClassService.findTinfoClassById(dto.getId());
  2679. if("审核通过".equals(outcome)) {
  2680. tinfoClass.setInprocess("5");
  2681. tinfoClass.setDisablestate("2");
  2682. tinfoClass.setDisabletime(aduitdate);
  2683. }
  2684. else {
  2685. tinfoClass.setDisablestate("3");
  2686. tinfoClass.setDisabletime(aduitdate);
  2687. }
  2688. tinfoClassService.saveTinfoClass(new TinfoClass(tinfoClass));
  2689. loginfoService.logDealInfo("2", modelType, "信息类停用审核("+outcome+")", "t_infoclass", dto.getId(), ToolUtil.getIpAddr(request),
  2690. request.getRequestURI(), userInfo);
  2691. return "thymeleaf/dcbccode/success";
  2692. }
  2693. @RequestMapping(value = "/tinfoclass_qt")
  2694. public @ResponseBody Map tinfoclassQt(String id, String status, HttpServletRequest request,
  2695. HttpServletResponse response) {
  2696. Map<String, Object> map = new HashMap();
  2697. TinfoClassDto tinfoClass = tinfoClassService.findTinfoClassById(id);
  2698. HttpSession session = request.getSession();
  2699. User userInfo = (User) session.getAttribute("user");
  2700. tinfoClass.setInprocess(status);
  2701. if(status.equals("2")) {//重置禁用申请的相关字段
  2702. tinfoClass.setDisabledesc("");
  2703. tinfoClass.setDisablestate("");
  2704. tinfoClass.setDisabletime("");
  2705. tinfoClass.setIsremovedata("");
  2706. }
  2707. tinfoClassService.saveTinfoClass(new TinfoClass(tinfoClass));
  2708. map.put("remark", "success");
  2709. if (status.equals("2")) {
  2710. loginfoService.logDealInfo("2", modelType, "信息类更新(启用)", "t_infoclass", id, ToolUtil.getIpAddr(request),
  2711. request.getRequestURI(), userInfo);
  2712. } else {
  2713. loginfoService.logDealInfo("2", modelType, "信息类更新(禁用)", "t_infoclass", id, ToolUtil.getIpAddr(request),
  2714. request.getRequestURI(), userInfo);
  2715. }
  2716. return map;
  2717. }
  2718. // word导出
  2719. @RequestMapping(value = "/exportWord")
  2720. void exportSimpleWord(Model model, HttpServletRequest request, HttpServletResponse response,
  2721. @RequestParam(value = "ids", required = false) String ids) throws IOException {
  2722. Map dataMap = tinfoClassService.getData(ids);
  2723. Configuration configuration = new Configuration();
  2724. configuration.setDefaultEncoding("utf-8");
  2725. configuration.setClassForTemplateLoading(this.getClass(), "/templates/mailTemplate"); // FTL文件所存在的位置
  2726. InputStream fin = null;
  2727. ServletOutputStream o = null;
  2728. File outFile = null;
  2729. File file = new File(save_path);
  2730. // 判断文件夹是否存在,如果不存在则创建文件夹
  2731. if (!file.exists()) {
  2732. file.mkdirs();
  2733. }
  2734. try {
  2735. Template t = configuration.getTemplate("tinfoclass.ftl"); // 文件名
  2736. outFile = new File(save_path + File.separator + new Date().getTime() + ".doc");
  2737. Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));
  2738. t.process(dataMap, out);
  2739. out.close();
  2740. fin = new FileInputStream(outFile);
  2741. response.setCharacterEncoding("utf-8");
  2742. response.setContentType("application/msword");
  2743. response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("信息类列表.doc", "UTF-8"));
  2744. o = response.getOutputStream();
  2745. byte[] buffer = new byte[1024]; // 缓冲区
  2746. int bytesToRead = 0;
  2747. while ((bytesToRead = fin.read(buffer)) > 0) {
  2748. o.write(buffer, 0, bytesToRead);
  2749. }
  2750. } catch (FileNotFoundException e1) {
  2751. e1.printStackTrace();
  2752. } catch (TemplateException e) {
  2753. e.printStackTrace();
  2754. } catch (IOException e) {
  2755. e.printStackTrace();
  2756. } finally {
  2757. if (fin != null)
  2758. fin.close();
  2759. if (o != null)
  2760. o.close();
  2761. if (outFile != null)
  2762. outFile.delete(); // 删除临时文件
  2763. }
  2764. }
  2765. @RequestMapping(value = "/applyInfo")
  2766. public String applyInfo(Model model, HttpServletRequest request, HttpServletResponse response)
  2767. throws IllegalArgumentException, IllegalAccessException {
  2768. String id = request.getParameter("id");
  2769. model.addAttribute("id", id);
  2770. return "thymeleaf/tinfoclass/tinfoclass_applyInfo";
  2771. }
  2772. @RequestMapping("/applyInfo_json")
  2773. public Map applyInfo_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  2774. @RequestParam(required = false, defaultValue = "1") int page,
  2775. @RequestParam(required = false, defaultValue = "5") int limit) {
  2776. HttpSession session = request.getSession();
  2777. User userInfo = (User) session.getAttribute("user");
  2778. Map map = new HashMap<>();
  2779. String classid = request.getParameter("classid");
  2780. Map<String,Object> dto = new HashMap<String,Object>();
  2781. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  2782. dto = JSONObject.parseObject(queryParam, Map.class);
  2783. }
  2784. dto.put("classid", classid);
  2785. if(dto.get("state")!=null&&!"".equals(dto.get("state"))) {
  2786. if(!"023".contains(dto.get("state")+"")) {
  2787. if("已实施".equals(dto.get("state"))) {
  2788. dto.put("actualize", 1);
  2789. dto.put("state","2");
  2790. }
  2791. else if("未实施".equals(dto.get("state"))) {
  2792. dto.put("actualize", 0);
  2793. dto.put("state","2");
  2794. }
  2795. else {
  2796. dto.put("taskname",dto.get("state"));
  2797. dto.put("state","");
  2798. }
  2799. }
  2800. }
  2801. String currentPageStr = page + "";
  2802. String pagesizes = limit + "";
  2803. if (pagesizes == null) {
  2804. pagesizes = "10";
  2805. }
  2806. int pagesize = Integer.parseInt(pagesizes);
  2807. Pagination<TshareApplyDto> pageinfo = newPagination(currentPageStr, pagesize);
  2808. pageinfo.setSortFiled(request.getParameter("field"));
  2809. pageinfo.setSortType(request.getParameter("order"));
  2810. pageinfo = tinfoClassService.findTshareApplyByClassid(dto, pageinfo, userInfo);
  2811. map.put("code", "0");
  2812. map.put("msg", "ok");
  2813. map.put("data", pageinfo.getPageResult());
  2814. map.put("count", pageinfo.getPageTotal());
  2815. return map;
  2816. }
  2817. @RequestMapping("/serviceInfo_json")
  2818. public Map serviceInfo_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  2819. @RequestParam(required = false, defaultValue = "1") int page,
  2820. @RequestParam(required = false, defaultValue = "5") int limit) {
  2821. HttpSession session = request.getSession();
  2822. User userInfo = (User) session.getAttribute("user");
  2823. Map map = new HashMap<>();
  2824. String classid = request.getParameter("classid");
  2825. Map<String,Object> dto = new HashMap<String,Object>();
  2826. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  2827. dto = JSONObject.parseObject(queryParam, Map.class);
  2828. }
  2829. dto.put("classid", classid);
  2830. String currentPageStr = page + "";
  2831. String pagesizes = limit + "";
  2832. if (pagesizes == null) {
  2833. pagesizes = "10";
  2834. }
  2835. int pagesize = Integer.parseInt(pagesizes);
  2836. Pagination<TserviceRegInfoDto> pageinfo = newPagination(currentPageStr, pagesize);
  2837. pageinfo.setSortFiled(request.getParameter("field"));
  2838. pageinfo.setSortType(request.getParameter("order"));
  2839. pageinfo = tinfoClassService.findserviceInfoByClassid(dto, pageinfo, userInfo);
  2840. map.put("code", "0");
  2841. map.put("msg", "ok");
  2842. map.put("data", pageinfo.getPageResult());
  2843. map.put("count", pageinfo.getPageTotal());
  2844. return map;
  2845. }
  2846. @RequestMapping(value = "/serviceInfo")
  2847. public String serviceInfo(Model model, HttpServletRequest request, HttpServletResponse response)
  2848. throws IllegalArgumentException, IllegalAccessException {
  2849. String id = request.getParameter("id");
  2850. model.addAttribute("id", id);
  2851. return "thymeleaf/tinfoclass/tinfoclass_serviceInfo";
  2852. }
  2853. @RequestMapping(value = "/compareInfo")
  2854. public String compareInfo(Model model, HttpServletRequest request, HttpServletResponse response)
  2855. throws IllegalArgumentException, IllegalAccessException {
  2856. List<Map<String, Object>> maplist = new ArrayList<Map<String, Object>>();
  2857. String id = request.getParameter("id");
  2858. TinfoClassDto tinfoClass = tinfoClassService.findTinfoClassById(id);
  2859. TinfoClassDto tinfoClass2 = tinfoClassService.findTinfoClassById(tinfoClass.getParentid());
  2860. Map<String, Object> compareCols = new HashMap<>();
  2861. // 设置需要比较的字段,并进行对比
  2862. compareCols.put("infoname", "信息类名称");
  2863. compareCols.put("infotypename", "资源分类");
  2864. compareCols.put("providename", "信息类提供方");
  2865. compareCols.put("formattypename", "信息资源格式");
  2866. compareCols.put("subformattypename", "信息资源格式分类");
  2867. compareCols.put("providebmname", "提供方部门");
  2868. compareCols.put("providezgname", "提供方主管部门");
  2869. compareCols.put("infoabstracts", "信息类摘要");
  2870. compareCols.put("sharetype", "共享类型");
  2871. compareCols.put("isopensocial", "是否向社会开放");
  2872. compareCols.put("shareconditions", "共享条件");
  2873. compareCols.put("opencondition", "开放条件");
  2874. compareCols.put("updatecycle", "更新频率");
  2875. compareCols.put("systeminfo", "关联系统名称");
  2876. compareCols.put("datarange", "数据范围");
  2877. compareCols.put("sharemodetypename", "共享方式分类");
  2878. compareCols.put("sharemodename", "共享方式");
  2879. compareCols.put("issecret", "是否涉密");
  2880. maplist = ToolUtil.compareTwoClass(tinfoClass2, tinfoClass, compareCols);
  2881. // 关联资源分类对比
  2882. String zyflname1 = "";
  2883. for (TinfoclassRes res : tinfoClass.getTinfoclassResList()) {
  2884. zyflname1 += res.getTresClassify().getResname() + ",";
  2885. }
  2886. String zyflname2 = "";
  2887. for (TinfoclassRes res : tinfoClass2.getTinfoclassResList()) {
  2888. zyflname2 += res.getTresClassify().getResname() + ",";
  2889. }
  2890. if (!zyflname1.equals(zyflname2)) {
  2891. Map<String, Object> map2 = new HashMap<String, Object>();
  2892. map2.put("zwname", "关联资源分类");
  2893. map2.put("name", "glzyfl");
  2894. map2.put("old", zyflname2);
  2895. map2.put("new", zyflname1);
  2896. maplist.add(map2);
  2897. }
  2898. // 对比信息项
  2899. List<TinfoclassDatameta> xxxList1 = tinfoClass2.getTinfoclassDatametaList();
  2900. List<TinfoclassDatameta> xxxList2 = tinfoClass.getTinfoclassDatametaList();
  2901. List<TinfoclassDatameta> xxxDelList = new ArrayList<TinfoclassDatameta>();
  2902. List<Map<String, Object>> xxxModifyList = new ArrayList<Map<String, Object>>();
  2903. List<TinfoclassDatameta> xxxSameList = new ArrayList<TinfoclassDatameta>();
  2904. List<Map<String, Object>> xxxUpdateList = new ArrayList<Map<String, Object>>();
  2905. List<TinfoclassDatameta> xxxAddList = new ArrayList<TinfoclassDatameta>();
  2906. for (TinfoclassDatameta data : xxxList1) {
  2907. Boolean isdel = true;
  2908. for (TinfoclassDatameta data2 : xxxList2) {
  2909. if (data.getXxxmc().equals(data2.getXxxmc())) {
  2910. Map<String, Object> map = new HashMap<>();
  2911. map.put("old", data);
  2912. map.put("new", data2);
  2913. xxxModifyList.add(map);
  2914. isdel = false;
  2915. break;
  2916. }
  2917. }
  2918. if (isdel) {
  2919. xxxDelList.add(data);
  2920. }
  2921. }
  2922. for (TinfoclassDatameta data2 : xxxList2) {
  2923. Boolean isAdd = true;
  2924. for (TinfoclassDatameta data1 : xxxList1) {
  2925. if (data2.getXxxmc().equals(data1.getXxxmc())) {
  2926. isAdd = false;
  2927. break;
  2928. }
  2929. }
  2930. if (isAdd) {
  2931. xxxAddList.add(data2);
  2932. }
  2933. }
  2934. // 设置信息项要对比的内容
  2935. Map<String, Object> xxxcompareCols = new HashMap<>();
  2936. xxxcompareCols.put("xxxmc", "信息项名称");
  2937. xxxcompareCols.put("glsjy", "关联数据元");
  2938. xxxcompareCols.put("metaname", "数据元名称");
  2939. xxxcompareCols.put("metacodeDis", "数据元类别");
  2940. xxxcompareCols.put("datatypeDis", "数据元类型");
  2941. xxxcompareCols.put("datasize", "长度");
  2942. xxxcompareCols.put("ranges", "值域");
  2943. xxxcompareCols.put("indexnum", "排序值");
  2944. xxxcompareCols.put("description", "说明");
  2945. xxxcompareCols.put("sharetype", "共享类型");
  2946. xxxcompareCols.put("shareconditions", "共享条件");
  2947. xxxcompareCols.put("sharemodename", "共享方式");
  2948. xxxcompareCols.put("sharemodetypename", "共享类别");
  2949. xxxcompareCols.put("isopensocial", "是否向社会开放");
  2950. xxxcompareCols.put("opencondition", "开放条件");
  2951. for (Map<String, Object> map : xxxModifyList) {
  2952. TinfoclassDatameta oldinfo = (TinfoclassDatameta) map.get("old");
  2953. TinfoclassDatameta newinfo = (TinfoclassDatameta) map.get("new");
  2954. List<Map<String, Object>> xxxmaplist = new ArrayList<Map<String, Object>>();
  2955. xxxmaplist = ToolUtil.compareTwoClass(oldinfo, newinfo, xxxcompareCols);
  2956. String codesetNameOld = "";
  2957. String codesetNameNew = "";
  2958. if (oldinfo.getDatametaCodeset() != null) {
  2959. codesetNameOld = oldinfo.getDatametaCodeset().getCodesetName() == null ? ""
  2960. : oldinfo.getDatametaCodeset().getCodesetName();
  2961. }
  2962. if (newinfo.getDatametaCodeset() != null) {
  2963. codesetNameNew = newinfo.getDatametaCodeset().getCodesetName() == null ? ""
  2964. : newinfo.getDatametaCodeset().getCodesetName();
  2965. }
  2966. if (!codesetNameOld.equals(codesetNameNew)) {
  2967. Map<String, Object> map2 = new HashMap<String, Object>();
  2968. map2.put("zwname", "关联代码集");
  2969. map2.put("name", "gldmj");
  2970. map2.put("old", codesetNameOld);
  2971. map2.put("new", codesetNameNew);
  2972. xxxmaplist.add(map2);
  2973. }
  2974. if (xxxmaplist != null && xxxmaplist.size() > 0) {// 数据有更新
  2975. map.put("xxxmaplist", xxxmaplist);
  2976. xxxUpdateList.add(map);
  2977. } else {
  2978. xxxSameList.add(oldinfo);
  2979. }
  2980. }
  2981. model.addAttribute("xxxList2", xxxList2);// 新
  2982. model.addAttribute("xxxList1", xxxList1);// 旧
  2983. model.addAttribute("maplist", maplist);
  2984. model.addAttribute("xxxDelList", xxxDelList);// 删除的信息项
  2985. model.addAttribute("xxxSameList", xxxSameList);// 未变动的信息项
  2986. model.addAttribute("xxxAddList", xxxAddList);// 新增的信息项
  2987. model.addAttribute("xxxUpdateList", xxxUpdateList);// 未变动的信息项
  2988. return "thymeleaf/tinfoclass/tinfoclass_compareInfo";
  2989. }
  2990. @RequestMapping(value = "/file-import")
  2991. String tinfoclassImport(Model model, HttpServletRequest request, HttpServletResponse response) {
  2992. HttpSession session = request.getSession();
  2993. User userInfo = (User) session.getAttribute("user");
  2994. TinfoClassDto dto = tinfoClassService.getDefaultInfoByUserId(userInfo.getUserId());
  2995. model.addAttribute("dto", dto);
  2996. // thymeleaf 存在严重的lazy懒加载堆栈溢出bug,需要人工处理
  2997. // Dept userdept = deptService.findById(userInfo.getDeptid());
  2998. String sql = "SELECT dept_id as id, creditno,dept_abbreviation,dept_desc,dept_index,dept_name as name,dept_property,dept_state,parent_id,pdeptids,xzqhcode,xzqhid,xzqhname,ywbmcode,ywbmid,ywbmname FROM deptinfo WHERE dept_id=?";
  2999. Map<String,Object> userdept = jdbcTemplate.queryForMap(sql, new Object[]{userInfo.getDeptid()});
  3000. Map<String,Object> parentDept = jdbcTemplate.queryForMap(sql, new Object[]{userdept.get("parent_id")});
  3001. model.addAttribute("userdept", userdept);
  3002. model.addAttribute("parentDept", parentDept);
  3003. return "thymeleaf/tinfoclass/tinfoclass_import";
  3004. }
  3005. @RequestMapping(value = "/importdata")
  3006. @ResponseBody
  3007. Map importdata(Model model, HttpServletRequest request, HttpServletResponse response,
  3008. @RequestParam(value = "ids", required = false) String ids, @RequestParam("models") String models) {
  3009. TinfoClass info = new TinfoClass();
  3010. List<TinfoClass> listDto = new ArrayList<TinfoClass>();
  3011. if ((models != null) && (models.length() > 0))
  3012. try {
  3013. listDto = (List<TinfoClass>) this.objectMapper.readValue(models, new TypeReference<List<TinfoClass>>() {
  3014. });
  3015. } catch (JsonParseException e) {
  3016. log.error("JsonParseException{}:", e.getMessage());
  3017. e.printStackTrace();
  3018. } catch (IOException e) {
  3019. log.error("IOException{}:", e.getMessage());
  3020. e.printStackTrace();
  3021. }
  3022. if (listDto.size() > 0)
  3023. info = listDto.get(0);
  3024. Map map = new HashMap();
  3025. map.put("message", "success");
  3026. HttpSession session = request.getSession();
  3027. User userInfo = (User) session.getAttribute("user");
  3028. String[] id = ids.split(",");
  3029. for (int i = 0; i < id.length; i++) {
  3030. UploadDto dto = uploadService.getByone(id[i]);
  3031. String message = importing(dto.getFile_save_path() + dto.getFile_save_name() + "." + dto.getFile_type(),
  3032. userInfo, info);
  3033. if (!message.equals("success")) {
  3034. message = dto.getFile_name() + message;
  3035. map.put("message", message);
  3036. return map;
  3037. }
  3038. }
  3039. return map;
  3040. }
  3041. @SuppressWarnings("unused")
  3042. @RequestMapping(value = "/importing")
  3043. String importing(String fileName, User userInfo, TinfoClass xzinfo) {
  3044. List<TinfoClass> infolist = EasyPoiUtil.importExcel(fileName, 1, 2, TinfoClass.class);
  3045. String message = "success";
  3046. boolean iszgbmbz = false;
  3047. for (Role role : userInfo.getRoles()) {
  3048. if (role.getRoleId().equals(zgbmbz_role)) {
  3049. iszgbmbz = true;
  3050. break;
  3051. }
  3052. }
  3053. Map<String, TinfoClass> map = new HashMap<String, TinfoClass>();
  3054. int i = 0;
  3055. for (TinfoClass info : infolist) {// 数据校验,校验数据的合法性
  3056. info.setCreatedate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  3057. info.setCreator(userInfo.getUserId());
  3058. info.setCreatorName(userInfo.getUserName());
  3059. info.setVersionid(1);
  3060. info.setHitchStatus(0);
  3061. info.setLatestversion("1");// 默认最新版本
  3062. info.setInprocess("0");// 未启动流程
  3063. info.setBgstatus("1");// 未变更
  3064. info.setInfotype(xzinfo.getInfotype());
  3065. info.setInfotypename(xzinfo.getInfotypename());
  3066. info.setInfotypeid(xzinfo.getInfotypeid());
  3067. info.setCreditno(xzinfo.getCreditno());
  3068. info.setProvidezgname(xzinfo.getProvidezgname());
  3069. info.setProvidezgcode(xzinfo.getProvidezgcode());
  3070. info.setYwbmcode(xzinfo.getYwbmcode());
  3071. info.setYwbmname(xzinfo.getYwbmname());
  3072. info.setYwbmid(xzinfo.getYwbmid());
  3073. info.setXzqhcode(xzinfo.getXzqhcode());
  3074. info.setXzqhid(xzinfo.getXzqhid());
  3075. info.setXzqhname(xzinfo.getXzqhname());
  3076. info.setProvidebmcode(xzinfo.getProvidebmcode());
  3077. info.setProvidebmname(xzinfo.getProvidebmname());
  3078. i = i + 1;
  3079. if (ToolUtil.isNull(info.getInfoname())) {
  3080. message = "第" + i + "行中信息类名称不能为空";
  3081. return message;
  3082. }
  3083. if (!ToolUtil.isNull(info.getInfoname()) && info.getInfoname().length() > 200) {
  3084. message = "第" + i + "行中信息类名称长度不能超过200";
  3085. return message;
  3086. }
  3087. if (ToolUtil.isNull(info.getFormattypename())) {
  3088. message = "第" + i + "行中信息资源格式不能为空";
  3089. return message;
  3090. } else {
  3091. for (CodeDto code : dbdcCodeService.findCodeByCodeType("xxzygs")) {
  3092. if (code != null && code.getId() != null && info.getFormattypename().equals(code.getCodeName())) {
  3093. info.setFormattype(code.getCodeCode());
  3094. info.setFormattypeid(code.getId());
  3095. }
  3096. }
  3097. if (ToolUtil.isNull(info.getFormattypeid())) {
  3098. message = "第" + i + "行中信息资源格式未按照模板提供的下拉选项填值";
  3099. return message;
  3100. }
  3101. }
  3102. // 信息资源格式分类,要校验 格式与分类是否对应
  3103. if (ToolUtil.isNull(info.getSubformattypename())) {
  3104. message = "第" + i + "行中信息资源格式分类不能为空";
  3105. return message;
  3106. } else {
  3107. for (CodeDto code : dbdcCodeService.findCodeByCodeType(info.getFormattype())) {
  3108. if (code != null && code.getId() != null
  3109. && info.getSubformattypename().equals(code.getCodeName())) {
  3110. info.setSubformattype(code.getCodeCode());
  3111. info.setSubformattypeid(code.getId());
  3112. }
  3113. }
  3114. if (ToolUtil.isNull(info.getSubformattypeid())) {
  3115. message = "第" + i + "行中信息资源格式分类与信息资源格式不匹配";
  3116. return message;
  3117. }
  3118. }
  3119. // 信息类摘要 校验长度
  3120. if (!ToolUtil.isNull(info.getInfoabstracts()) && info.getInfoabstracts().length() > 400) {
  3121. message = "第" + i + "行中信息类摘要不能超过400字符";
  3122. return message;
  3123. } else if (ToolUtil.isNull(info.getInfoabstracts())) {
  3124. message = "第" + i + "行中信息类摘要不能为空";
  3125. return message;
  3126. }
  3127. // 共享类型 校验数据格式
  3128. if (ToolUtil.isNull(info.getSharetype())) {
  3129. message = "第" + i + "行中共享类型必填,请选择";
  3130. return message;
  3131. } else {
  3132. if ("123".contains(info.getSharetype().split("-")[0])) {
  3133. info.setSharetype(info.getSharetype().split("-")[0]);
  3134. } else {
  3135. message = "第" + i + "行中共享类型选择错误,请按照模板选择";
  3136. return message;
  3137. }
  3138. }
  3139. // 是否向社会开放 校验数据格式 是否
  3140. if (ToolUtil.isNull(info.getIsopensocial())) {
  3141. message = "第" + i + "行中开放类型必填,请选择";
  3142. return message;
  3143. } else {
  3144. if (!"不予开放,有条件开放,无条件开放".contains(info.getIsopensocial())) {
  3145. message = "第" + i + "行中开放类型选择错误,请按照模板选择";
  3146. return message;
  3147. }
  3148. }
  3149. // 共享条件 校验长度
  3150. if("2".equals(info.getSharetype())) {
  3151. info.setShareconditions("");
  3152. }
  3153. else {
  3154. if (!ToolUtil.isNull(info.getShareconditions()) && info.getShareconditions().length() > 400) {
  3155. message = "第" + i + "行中是共享条件不能超过400字符";
  3156. return message;
  3157. }
  3158. if(ToolUtil.isNull(info.getShareconditions())){
  3159. message = "第" + i + "行中是共享条件不能为空";
  3160. return message;
  3161. }
  3162. }
  3163. if("无条件开放".equals(info.getIsopensocial())) {
  3164. info.setOpencondition("");
  3165. }
  3166. else {
  3167. // 开放条件 校验长度
  3168. if (!ToolUtil.isNull(info.getOpencondition()) && info.getOpencondition().length() > 400) {
  3169. message = "第" + i + "行中是开放条件不能超过400字符";
  3170. return message;
  3171. }
  3172. if (ToolUtil.isNull(info.getOpencondition()) ) {
  3173. message = "第" + i + "行中是开放条件不能为空";
  3174. return message;
  3175. }
  3176. }
  3177. // 更新频率 校验数据格式
  3178. if (ToolUtil.isNull(info.getUpdatecycle())) {
  3179. message = "第" + i + "行中更新频率不能为空";
  3180. return message;
  3181. }
  3182. // 数据范围 校验长度
  3183. if (!ToolUtil.isNull(info.getDatarange()) && info.getDatarange().length() > 400) {
  3184. message = "第" + i + "行中数据范围不能超过400字符";
  3185. return message;
  3186. }
  3187. // 共享方式 校验数据格式
  3188. if (ToolUtil.isNull(info.getSharemodename())) {
  3189. message = "第" + i + "行中共享方式不能为空";
  3190. return message;
  3191. } else {
  3192. for (CodeDto code : dbdcCodeService.findCodeByCodeType("gxfs")) {
  3193. if (code != null && code.getId() != null && info.getSharemodename().equals(code.getCodeName())) {
  3194. info.setSharemode(code.getCodeCode());
  3195. info.setSharemodeid(code.getId());
  3196. }
  3197. }
  3198. if (ToolUtil.isNull(info.getSharemodeid())) {
  3199. message = "第" + i + "行中共享方式请按模板选择";
  3200. return message;
  3201. }
  3202. }
  3203. // 共享方式分类
  3204. if (ToolUtil.isNull(info.getSharemodetypename())) {
  3205. message = "第" + i + "行中共享方式分类不能为空";
  3206. return message;
  3207. } else {
  3208. for (CodeDto code : dbdcCodeService.findCodeByCodeType(info.getSharemode())) {
  3209. if (code != null && code.getId() != null
  3210. && info.getSharemodetypename().equals(code.getCodeName())) {
  3211. info.setSharemodetype(code.getCodeCode());
  3212. info.setSharemodetypeid(code.getId());
  3213. }
  3214. }
  3215. if (ToolUtil.isNull(info.getSharemodetypeid())) {
  3216. message = "第" + i + "行中共享方式分类与共享方式不匹配";
  3217. return message;
  3218. }
  3219. }
  3220. // 是否加密
  3221. // if (ToolUtil.isNull(info.getIssecret())) {
  3222. // message = "第" + i + "行中是否加密必填,请选择";
  3223. // return message;
  3224. //
  3225. // } else {
  3226. // if (!"是否".contains(info.getIssecret())) {
  3227. // message = "第" + i + "行中是否加密选择错误,请按照模板选择";
  3228. // return message;
  3229. // }
  3230. // }
  3231. // 是否加密
  3232. if (ToolUtil.isNull(info.getManagetype())) {
  3233. message = "第" + i + "行中是否系统支撑必填,请选择";
  3234. return message;
  3235. } else {
  3236. if (!"是,否".contains(info.getManagetype())) {
  3237. message = "第" + i + "行中是否系统支撑选择错误,请按照模板选择";
  3238. return message;
  3239. }
  3240. }
  3241. List<TinfoclassDatameta> datalist = new ArrayList<TinfoclassDatameta>();
  3242. int j = 0;
  3243. // 开始校验信息类
  3244. for (TinfoclassDatameta data : info.getTinfoclassDatametaList()) {
  3245. j = j + 1;
  3246. if (data.getXxxmc() != null) {
  3247. // 信息类名称 长度
  3248. if (data.getXxxmc().length() > 200) {
  3249. message = "第" + i + "行的第" + (j) + "个信息项的信息项名称不能超过200字符";
  3250. return message;
  3251. }
  3252. // 是否主键
  3253. if (ToolUtil.isNull(data.getIsprimary())) {
  3254. message = "第" + i + "行的第" + (j) + "个信息项的是否主键必填";
  3255. return message;
  3256. } else if (!"是否".contains(data.getIsprimary())) {
  3257. message = "第" + i + "行的第" + (j) + "个信息项的是否主键请按模板选择";
  3258. return message;
  3259. }
  3260. // 数据元编码 看是否存在对应数据元
  3261. if (ToolUtil.isNull(data.getGlsjy())) {
  3262. data.setGlsjy("否");
  3263. } else {
  3264. List<TdataMeta> metalist = datametaService.findTdataMetaByDatacode(data.getGlsjy());
  3265. if (metalist != null && metalist.size() > 0) {
  3266. data.setGlsjy("是");
  3267. data.setDatametaid(metalist.get(0).getId());
  3268. data.setMetacodeid(metalist.get(0).getMetacodeid());
  3269. data.setMetacodeDis(metalist.get(0).getMetacodeDis());
  3270. data.setMetacode(metalist.get(0).getMetacode());
  3271. data.setDatatypeid(metalist.get(0).getDatatypeid());
  3272. data.setDatatypeDis(metalist.get(0).getDatatypeDis());
  3273. data.setDatatype(metalist.get(0).getDatatype());
  3274. data.setDatasize(metalist.get(0).getDatasize());
  3275. } else {
  3276. message = "第" + i + "行的第" + (j) + "个信息项,未在已发布的数据元中找到相对应的数据元编码,请填写已发布数据元编码或者留空";
  3277. return message;
  3278. }
  3279. }
  3280. if ("否".equals(data.getGlsjy())) {
  3281. // 数据元名称
  3282. if (!ToolUtil.isNull(data.getMetaname()) && data.getMetaname().length() > 200) {
  3283. message = "第" + i + "行的第" + (j) + "个信息项的数据元名称不超过200字符";
  3284. return message;
  3285. }
  3286. // 数据元类别
  3287. String metacodetype = "";
  3288. if (ToolUtil.isNull(data.getMetacode())) {
  3289. message = "第" + i + "行的第" + (j) + "个信息项,数据元类别不能为空";
  3290. return message;
  3291. } else {
  3292. for (CodeDto code : dbdcCodeService.findCodeByCodeType("sjylb")) {
  3293. if (code != null && code.getId() != null
  3294. && data.getMetacode().split("-")[0].equals(code.getCodeValue())) {
  3295. data.setMetacodeid(code.getId());
  3296. data.setMetacodeDis(code.getCodeName());
  3297. data.setMetacode(code.getCodeValue());
  3298. metacodetype = code.getCodeCode();
  3299. }
  3300. }
  3301. if (ToolUtil.isNull(data.getMetacodeid())) {
  3302. message = "第" + i + "行的第" + (j) + "个信息项,数据元类别请按照模板选择";
  3303. return message;
  3304. }
  3305. }
  3306. // 数据元类型
  3307. if (ToolUtil.isNull(data.getDatatype())) {
  3308. message = "第" + i + "行的第" + (j) + "个信息项,数据元类型不能为空";
  3309. return message;
  3310. } else {
  3311. for (CodeDto code : dbdcCodeService.findCodeByCodeType(metacodetype)) {
  3312. if (code != null && code.getId() != null
  3313. && data.getDatatype().split("-")[0].equals(code.getCodeValue())) {
  3314. data.setDatatypeid(code.getId());
  3315. data.setDatatypeDis(code.getCodeName());
  3316. data.setDatatype(code.getCodeValue());
  3317. }
  3318. }
  3319. if (ToolUtil.isNull(data.getDatatypeid())) {
  3320. message = "第" + i + "行的第" + (j) + "个信息项,数据元类型与数据元类别不匹配";
  3321. return message;
  3322. }
  3323. }
  3324. // 信息项数据长度
  3325. if (ToolUtil.isNull(data.getDatasize())
  3326. && !"sjylb_dwblx,sjylb_qtlx,sjylb_tpx,sjylb_rqx".contains(data.getMetacode())) {
  3327. message = "第" + i + "行的第" + (j) + "个信息项,数据长度不能为空";
  3328. return message;
  3329. } else if (data.getDatasize().length() > 200) {
  3330. message = "第" + i + "行的第" + (j) + "个信息项,数据长度不超过200字符";
  3331. return message;
  3332. }
  3333. }
  3334. // 信息项数据范围
  3335. // if (ToolUtil.isNull(data.getRanges())) {
  3336. // message = "第" + i + "行的第" + (j) + "个信息项,数据范围不能为空";
  3337. // return message;
  3338. // } else if (data.getRanges().length() > 200) {
  3339. // message = "第" + i + "行的第" + (j) + "个信息项,数据范围不超过200字符";
  3340. // return message;
  3341. // }
  3342. // // 信息项共享类型
  3343. // if (ToolUtil.isNull(data.getSharetype())) {
  3344. // message = "第" + i + "行的第" + (j) + "个信息项,共享类型必填";
  3345. // return message;
  3346. // } else {
  3347. // if ("123".contains(data.getSharetype().split("-")[0])) {
  3348. // data.setSharetype(
  3349. // data.getSharetype().split("-")[1]);
  3350. // } else {
  3351. // message = "第" + i + "行的第" + (j)
  3352. // + "个信息项,共享类型选择错误,请按照模板选择";
  3353. // return message;
  3354. // }
  3355. // }
  3356. // 代码集编码
  3357. if (!ToolUtil.isNull(data.getDescription())) {
  3358. TcodeSetDto dto = tcodeSetService.byCodesetId(data.getDescription());
  3359. if (dto == null || ToolUtil.isNull(dto.getId())) {
  3360. message = "第" + i + "行的第" + (j) + "个信息项,未在已发布的代码集中找到相对应的代码集编码,请填写已发布代码集编码或者留空";
  3361. return message;
  3362. }
  3363. TcodeSet tcodeSet = new TcodeSet();
  3364. BeanUtils.copyProperties(dto, tcodeSet);
  3365. data.setDatametaCodeset(tcodeSet);
  3366. }
  3367. data.setDescription("");
  3368. data.setIndexnum(0);
  3369. // // 信息项是否对外开放
  3370. // if (ToolUtil.isNull(data.getIsopensocial())) {
  3371. // message = "第" + i + "行的第" + (j) + "个信息项,信息项开放类型必填";
  3372. // return message;
  3373. // } else {
  3374. // if (!"不予开放,有条件开放,无条件开放".contains(data.getIsopensocial())) {
  3375. //
  3376. // message = "第" + i + "行的第" + (j)
  3377. // + "个信息项,信息项开放类型选择错误,请按照模板选择";
  3378. // return message;
  3379. // }
  3380. // }
  3381. // // 信息共享条件
  3382. // if (!ToolUtil.isNull(data.getOpencondition())
  3383. // && data.getOpencondition().length() > 400) {
  3384. // message = "第" + i + "行的第" + (j) + "个信息项,对外开放不超过400字符";
  3385. // return message;
  3386. // }
  3387. // // 信息项开放条件
  3388. // if (!ToolUtil.isNull(data.getShareconditions())
  3389. // && data.getShareconditions().length() > 400) {
  3390. // message = "第" + i + "行的第" + (j) + "个信息项,共享条件不超过400字符";
  3391. // return message;
  3392. // }
  3393. // if (ToolUtil.isNull(data.getSharemodename())) {
  3394. // message = "第" + i + "行的第" + (j) + "个信息项,共享方式不能为空";
  3395. // return message;
  3396. // } else {
  3397. // for (CodeDto code : dbdcCodeService
  3398. // .findCodeByCodeType("gxfs")) {
  3399. // if (code != null && code.getId() != null
  3400. // && data.getSharemodename()
  3401. // .equals(code.getCodeName())) {
  3402. // data.setSharemode(code.getCodeCode());
  3403. // data.setSharemodeid(code.getId());
  3404. // }
  3405. // }
  3406. // if (ToolUtil.isNull(info.getSharemodeid())) {
  3407. // message = "第" + i + "行的第" + (j) + "个信息项,共享方式请按模板选择";
  3408. // return message;
  3409. // }
  3410. //
  3411. // }
  3412. // // 信息项共享方式分类
  3413. // // 共享方式分类
  3414. // if (ToolUtil.isNull(info.getSharemodetypename())) {
  3415. // message = "第" + i + "行中信息项共享方式类型不能为空";
  3416. // return message;
  3417. // } else {
  3418. // for (CodeDto code : dbdcCodeService
  3419. // .findCodeByCodeType(info.getSharemode())) {
  3420. // if (code != null && code.getId() != null
  3421. // && info.getSharemodetypename()
  3422. // .equals(code.getCodeName())) {
  3423. // info.setSharemodetype(code.getCodeCode());
  3424. // info.setSharemodetypeid(code.getId());
  3425. // }
  3426. // }
  3427. // if (ToolUtil.isNull(info.getSharemodetypeid())) {
  3428. // message = "第" + i + "行中信息项共享方式类型与信息项共享方式不匹配";
  3429. // return message;
  3430. // }
  3431. // }
  3432. datalist.add(data);
  3433. }
  3434. }
  3435. info.setTinfoclassDatametaList(datalist);
  3436. }
  3437. List<TinfoclassDatameta> datalist1 = new ArrayList<TinfoclassDatameta>();
  3438. List<TinfoclassDatameta> datalist2 = new ArrayList<TinfoclassDatameta>();
  3439. for (TinfoClass info : infolist) {
  3440. if (map.containsKey(info.getInfoname())) {
  3441. TinfoClass info2 = (TinfoClass) map.get(info.getInfoname());
  3442. datalist2 = info2.getTinfoclassDatametaList();
  3443. datalist1 = info.getTinfoclassDatametaList();
  3444. datalist2.addAll(datalist1);
  3445. info2.setTinfoclassDatametaList(datalist2);
  3446. map.put(info2.getInfoname(), info2);
  3447. } else {
  3448. map.put(info.getInfoname(), info);
  3449. }
  3450. }
  3451. TinfoClass saveinfo = new TinfoClass();
  3452. for (Map.Entry<String, TinfoClass> entry : map.entrySet()) {
  3453. saveinfo = entry.getValue();
  3454. saveinfo.setId(ToolUtil.getUUID());
  3455. saveinfo.setSourceid(saveinfo.getId());
  3456. saveinfo.setIszc("0");
  3457. tinfoClassService.saveTinfoClass(saveinfo);
  3458. int indexnum = 0;
  3459. List<TinfoclassDatameta> datalist = new ArrayList<TinfoclassDatameta>();
  3460. for (TinfoclassDatameta data : saveinfo.getTinfoclassDatametaList()) {
  3461. if (!ToolUtil.isNull(data.getXxxmc())) {
  3462. data.setId(ToolUtil.getUUID());
  3463. data.setIndexnum(indexnum++);
  3464. data.setTinfoClass1(saveinfo);
  3465. datalist.add(data);
  3466. }
  3467. }
  3468. tinfoclassDatametaService.savetInfoclasList(datalist, saveinfo.getId());
  3469. }
  3470. return message;
  3471. }
  3472. @RequestMapping("/subscribeInfo")
  3473. @ResponseBody
  3474. public Map<String, Object> subscribeInfo(String busId, HttpServletRequest request, HttpServletResponse response) {
  3475. Map<String, Object> map = new HashMap<String, Object>();
  3476. String busIds[] = busId.split(",");
  3477. HttpSession session = request.getSession();
  3478. User userInfo = (User) session.getAttribute("user");
  3479. for (String busIdTemp : busIds) {
  3480. tinfoClassService.saveSubcriInfo(busIdTemp, userInfo);
  3481. }
  3482. map.put("remark", "success");
  3483. return map;
  3484. }
  3485. @RequestMapping("/sendMsg")
  3486. @ResponseBody
  3487. public Map<String, Object> sendMsg(String busId, HttpServletRequest request, HttpServletResponse response) {
  3488. Map<String, Object> map = new HashMap<String, Object>();
  3489. HttpSession session = request.getSession();
  3490. User userInfo = (User) session.getAttribute("user");
  3491. tinfoClassService.generateMsgInfoByProvidebmcode(busId, userInfo);
  3492. map.put("remark", "success");
  3493. return map;
  3494. }
  3495. @RequestMapping("/unsubscribeInfo")
  3496. @ResponseBody
  3497. public Map<String, Object> unsubscribeInfo(String busId, HttpServletRequest request, HttpServletResponse response) {
  3498. Map<String, Object> map = new HashMap<String, Object>();
  3499. String busIds[] = busId.split(",");
  3500. HttpSession session = request.getSession();
  3501. User userInfo = (User) session.getAttribute("user");
  3502. tinfoClassService.unSubcri(busId, userInfo);
  3503. map.put("remark", "success");
  3504. return map;
  3505. }
  3506. /**
  3507. * 获取资源分类的编码信息,用来判断是主题,基础,部门三个目录
  3508. *
  3509. * @param infotypeid
  3510. * @param request
  3511. * @param response
  3512. * @return
  3513. */
  3514. @RequestMapping("/getinfotypecode")
  3515. @ResponseBody
  3516. public Map<String, Object> getinfotypecode(String infotypeid, HttpServletRequest request,
  3517. HttpServletResponse response) {
  3518. Map<String, Object> map = new HashMap<String, Object>();
  3519. String precode = tinfoClassService.getPrecodeByInfoTypeid(infotypeid);
  3520. map.put("remark", precode);
  3521. return map;
  3522. }
  3523. @RequestMapping("/mysubscri")
  3524. public String mysubscriList(Model model, TinfoClassDto dto, HttpServletRequest request,
  3525. HttpServletResponse response) {
  3526. HttpSession session = request.getSession();
  3527. User userInfo = (User) session.getAttribute("user");
  3528. loginfoService.logDealInfo("3", modelType, "信息类我的订阅:", "t_infoclass", "", ToolUtil.getIpAddr(request),
  3529. request.getRequestURI(), userInfo);
  3530. return "thymeleaf/tinfoclass/mysubscrilist";
  3531. }
  3532. @RequestMapping("/mysubscri_json")
  3533. public Map mysubscriJson(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  3534. @RequestParam(required = false, defaultValue = "1") int page,
  3535. @RequestParam(required = false, defaultValue = "5") int limit) {
  3536. Map map = new HashMap<>();
  3537. TinfoClassDto dto = new TinfoClassDto();
  3538. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  3539. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  3540. }
  3541. String currentPageStr = page + "";
  3542. String pagesizes = limit + "";
  3543. if (pagesizes == null) {
  3544. pagesizes = "10";
  3545. }
  3546. int pagesize = Integer.parseInt(pagesizes);
  3547. HttpSession session = request.getSession();
  3548. User userInfo = (User) session.getAttribute("user");
  3549. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  3550. pageinfo.setSortFiled(request.getParameter("field"));
  3551. pageinfo.setSortType(request.getParameter("order"));
  3552. pageinfo = tinfoClassService.findMySubscriList(dto, pageinfo, userInfo);
  3553. map.put("code", "0");
  3554. map.put("msg", "ok");
  3555. map.put("data", pageinfo.getPageResult());
  3556. map.put("count", pageinfo.getPageTotal());
  3557. return map;
  3558. }
  3559. @RequestMapping(value = "/infoclass_simHash")
  3560. String infoclassSimHash(Model model, HttpServletRequest request, HttpServletResponse response, TcodeSetDto dto)
  3561. throws InterruptedException, ExecutionException {
  3562. // 翻页
  3563. String id = request.getParameter("id");
  3564. TinfoClassDto info = tinfoClassService.findTinfoClassById(id);
  3565. Vector<String> v1 = IKSegmenterUtil.participle(info.getInfoname());
  3566. long l3 = System.currentTimeMillis();
  3567. List<TinfoClassDto> infolist = new ArrayList<>();
  3568. infolist = doReadList(tinfoClassService.getAll(v1, id, info.getSourceid()), v1);
  3569. long l4 = System.currentTimeMillis();
  3570. System.out.println(l4 - l3);
  3571. model.addAttribute("list", infolist);
  3572. return "thymeleaf/tinfoclass/infoclass_simHash";
  3573. }
  3574. /**
  3575. * 挂接实施
  3576. * @param model
  3577. * @param dto
  3578. * @param request
  3579. * @param response
  3580. * @return
  3581. */
  3582. @RequestMapping("/tinfoclass_hitchImplement")
  3583. public String tinfoclasshitchImplement(Model model, TinfoClassDto dto, HttpServletRequest request,
  3584. HttpServletResponse response) {
  3585. HttpSession session = request.getSession();
  3586. User userInfo = (User) session.getAttribute("user");
  3587. model.addAttribute("userid", userInfo.getUserId());
  3588. String hasqingdan = "0";
  3589. for (Role role : userInfo.getRoles()) {
  3590. if (qingdan_bzy.contains(role.getRoleId())) {
  3591. hasqingdan = "1";
  3592. break;
  3593. }
  3594. }
  3595. // 判断用户是否有清单编制员的角色
  3596. loginfoService.logDealInfo("3", modelType, "挂接实施列表", "t_infoclass", "", ToolUtil.getIpAddr(request),
  3597. request.getRequestURI(), userInfo);
  3598. model.addAttribute("hasqingdan", hasqingdan);
  3599. return "thymeleaf/tinfoclass/tinfoclass_hitchImplementlist";
  3600. }
  3601. @RequestMapping("/tinfoclass_hitchImplement_json")
  3602. public Map tinfoclass_hitchImplement_json(HttpServletRequest request, @RequestParam(required = false) String queryParam,
  3603. @RequestParam(required = false, defaultValue = "1") int page,
  3604. @RequestParam(required = false, defaultValue = "5") int limit) {
  3605. HttpSession session = request.getSession();
  3606. User userInfo = (User) session.getAttribute("user");
  3607. Map map = new HashMap<>();
  3608. TinfoClassDto dto = new TinfoClassDto();
  3609. if (!ToolUtil.isNull(queryParam)) {// 将json查询参数转为dto
  3610. dto = JSONObject.parseObject(queryParam, TinfoClassDto.class);
  3611. }
  3612. String currentPageStr = page + "";
  3613. String pagesizes = limit + "";
  3614. if (pagesizes == null) {
  3615. pagesizes = "10";
  3616. }
  3617. int pagesize = Integer.parseInt(pagesizes);
  3618. Pagination<TinfoClassDto> pageinfo = newPagination(currentPageStr, pagesize);
  3619. pageinfo.setSortFiled(request.getParameter("field"));
  3620. pageinfo.setSortType(request.getParameter("order"));
  3621. pageinfo = tinfoClassService.findTinfoClassHitchImplementList(dto, pageinfo, userInfo);
  3622. map.put("code", "0");
  3623. map.put("msg", "ok");
  3624. map.put("data", pageinfo.getPageResult());
  3625. map.put("count", pageinfo.getPageTotal());
  3626. return map;
  3627. }
  3628. /**
  3629. * 挂接实施状态修改
  3630. * @param tinfoclssIds 信息类id
  3631. * @param request
  3632. * @param response
  3633. * @return
  3634. */
  3635. @RequestMapping("/tinfoclass_hitchImplement_check")
  3636. @ResponseBody
  3637. public Map<String,Object> tinfoclass_hitchImplement_check(String tinfoclssIds,HttpServletRequest request,
  3638. HttpServletResponse response) {
  3639. Map<String, Object> map = new HashMap<String, Object>();
  3640. User userInfo =(User) request.getSession().getAttribute("user");
  3641. //查询记录
  3642. List<TinfoClass> infoList= tinfoClassService.findListByIds(tinfoclssIds);
  3643. //判断是否处于未实施状态且挂接审查处于通过状态
  3644. for (TinfoClass tinfoClass : infoList) {
  3645. if(tinfoClass.getImplementationState() == null ||
  3646. !"1".equals(tinfoClass.getImplementationState())&&
  3647. "2".equals(tinfoClass.getGjcheckstate())) {
  3648. tinfoClass.setImplementationUserid(userInfo.getUserId());
  3649. tinfoClass.setImplementationData(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  3650. tinfoClass.setImplementationState("1");
  3651. tinfoClassService.saveTinfoClass(tinfoClass);
  3652. loginfoService.logDealInfo("2", modelType,"修改挂接实施状态", "t_infoclass", tinfoClass.getId(), ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  3653. }
  3654. }
  3655. map.put("remark", "success");
  3656. return map;
  3657. }
  3658. public List<TinfoClassDto> doReadList(List<TinfoClassDto> list, Vector<String> v1)
  3659. throws InterruptedException, ExecutionException {
  3660. /** 接收集合各段的 执行的返回结果 **/
  3661. List<TinfoClassDto> result = new ArrayList<TinfoClassDto>();
  3662. List<Future<List<TinfoClassDto>>> futureList = new ArrayList<Future<List<TinfoClassDto>>>();
  3663. /** 集合总条数 **/
  3664. int size = list.size();
  3665. /** 将集合切分的段数 **/
  3666. int sunSum = 20;
  3667. int listStart, listEnd;
  3668. /*** 当总条数不足10条时 用总条数 当做线程切分值 **/
  3669. if (sunSum > size) {
  3670. sunSum = size;
  3671. }
  3672. /** 定义子线程 **/
  3673. SunCallable sunCallable;
  3674. for (int i = 0; i < sunSum; i++) {
  3675. /*** 计算切割 开始和结束 **/
  3676. listStart = size / sunSum * i;
  3677. listEnd = size / sunSum * (i + 1);
  3678. /** 最后一段线程会 出现与其他线程不等的情况 **/
  3679. if (i == sunSum - 1) {
  3680. listEnd = size;
  3681. }
  3682. /** 线程切断 **/
  3683. List<TinfoClassDto> sunList = list.subList(listStart, listEnd);
  3684. /** 子线程初始化 **/
  3685. sunCallable = new SunCallable(i, sunList, v1);
  3686. /*** 多线程执行 ***/
  3687. futureList.add(threadPoolTaskExecutor.submit(sunCallable));
  3688. }
  3689. for (Future<List<TinfoClassDto>> future : futureList) {
  3690. if (null != future) {
  3691. List<TinfoClassDto> info = future.get();
  3692. result.addAll(info);
  3693. } else {
  3694. }
  3695. }
  3696. return result;
  3697. }
  3698. /**
  3699. *
  3700. * @Description: 简要进行方法说明,并对基础数据类型的参数和返回值加以说明
  3701. * @param datasize
  3702. * @param sql 查询sql
  3703. * @param args 查询条件
  3704. * @param resulttype 1 表示单纯信息类 2.表示信息类加信息项
  3705. * @return List<Map<String,Object>>
  3706. * @throws @author mi
  3707. * @date 2018年10月21日
  3708. */
  3709. public List<Map<String, Object>> doReadDataByThread(int datasize, String sql, Object[] args, String resulttype) {
  3710. /** 接收集合各段的 执行的返回结果 **/
  3711. List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
  3712. List<Future<List<Map<String, Object>>>> futureList = new ArrayList<Future<List<Map<String, Object>>>>();
  3713. /** 集合总条数 **/
  3714. int size = datasize;
  3715. /** 将集合切分的段数 **/
  3716. int sunSum = 10;
  3717. int listStart, listEnd;
  3718. /*** 当总条数不足6000条时 用总条数 当做线程切分值 **/
  3719. if (sunSum > size || size < 10000) {
  3720. sunSum = 1;
  3721. }
  3722. int per_num = (int) Math.ceil(size / sunSum);
  3723. /** 定义子线程 **/
  3724. SunReadCallable sunCallable;
  3725. for (int i = 0; i <= (sunSum == 1 ? 0 : sunSum); i++) {
  3726. /*** 计算切割 开始和结束 **/
  3727. listStart = per_num * i;
  3728. listEnd = per_num * (i + 1);
  3729. if (listEnd > size) {
  3730. listEnd = size;
  3731. }
  3732. /** 最后一段线程会 出现与其他线程不等的情况 **/
  3733. /** 线程切断 **/
  3734. Pagination<Map<String, Object>> pag = newPagination("0", 1);
  3735. /** 子线程初始化 **/
  3736. sunCallable = new SunReadCallable(sql, args, pag, listEnd, listStart, resulttype);
  3737. /*** 多线程执行 ***/
  3738. futureList.add(threadPoolTaskExecutor.submit(sunCallable));
  3739. }
  3740. for (Future<List<Map<String, Object>>> future : futureList) {
  3741. if (null != future) {
  3742. List<Map<String, Object>> info;
  3743. try {
  3744. info = future.get();
  3745. result.addAll(info);
  3746. } catch (InterruptedException | ExecutionException e) {
  3747. // TODO Auto-generated catch block
  3748. e.printStackTrace();
  3749. }
  3750. }
  3751. }
  3752. return result;
  3753. }
  3754. }