TinfoClassService.java 150 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519
  1. package cn.com.taiji.zhongxiao.service;
  2. import java.io.IOException;
  3. import java.io.UnsupportedEncodingException;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.ArrayList;
  7. import java.util.Calendar;
  8. import java.util.Date;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.Set;
  13. import java.util.Vector;
  14. import java.util.concurrent.ExecutionException;
  15. import java.util.concurrent.Future;
  16. import javax.inject.Inject;
  17. import javax.persistence.criteria.CriteriaBuilder;
  18. import javax.persistence.criteria.CriteriaBuilder.In;
  19. import javax.persistence.criteria.CriteriaQuery;
  20. import javax.persistence.criteria.Join;
  21. import javax.persistence.criteria.Predicate;
  22. import javax.persistence.criteria.Root;
  23. import cn.hutool.core.util.StrUtil;
  24. import org.slf4j.Logger;
  25. import org.slf4j.LoggerFactory;
  26. import org.springframework.beans.BeanUtils;
  27. import org.springframework.beans.factory.annotation.Value;
  28. import org.springframework.data.domain.Page;
  29. import org.springframework.data.domain.PageRequest;
  30. import org.springframework.data.domain.Sort;
  31. import org.springframework.data.domain.Sort.Direction;
  32. import org.springframework.data.domain.Sort.Order;
  33. import org.springframework.data.jpa.domain.Specification;
  34. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  35. import org.springframework.jdbc.core.JdbcTemplate;
  36. import org.springframework.jdbc.core.RowMapper;
  37. import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  38. import org.springframework.stereotype.Service;
  39. import com.alibaba.csb.sdk.HttpCaller;
  40. import com.alibaba.csb.sdk.HttpCallerException;
  41. import com.fasterxml.jackson.core.JsonParseException;
  42. import com.fasterxml.jackson.databind.JsonMappingException;
  43. import com.fasterxml.jackson.databind.ObjectMapper;
  44. import cn.com.taiji.sys.domain.Code;
  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.UserService;
  51. import cn.com.taiji.util.Pagination;
  52. import cn.com.taiji.util.ToolUtil;
  53. import cn.com.taiji.zhongxiao.domain.Indicators;
  54. import cn.com.taiji.zhongxiao.domain.IndicatorsRepository;
  55. import cn.com.taiji.zhongxiao.domain.Subscribemanage;
  56. import cn.com.taiji.zhongxiao.domain.SubscribemanageRepository;
  57. import cn.com.taiji.zhongxiao.domain.Sxcode;
  58. import cn.com.taiji.zhongxiao.domain.SxcodeRepository;
  59. import cn.com.taiji.zhongxiao.domain.TcodeSet;
  60. import cn.com.taiji.zhongxiao.domain.TdataMeta;
  61. import cn.com.taiji.zhongxiao.domain.TdataMetaRepository;
  62. import cn.com.taiji.zhongxiao.domain.TguajieopinionList;
  63. import cn.com.taiji.zhongxiao.domain.TguajieopinionListRepository;
  64. import cn.com.taiji.zhongxiao.domain.TinfoClass;
  65. import cn.com.taiji.zhongxiao.domain.TinfoClassRepository;
  66. import cn.com.taiji.zhongxiao.domain.TinfoclassDatameta;
  67. import cn.com.taiji.zhongxiao.domain.TinfoclassRes;
  68. import cn.com.taiji.zhongxiao.domain.TmessageInfo;
  69. import cn.com.taiji.zhongxiao.domain.TresClassify;
  70. import cn.com.taiji.zhongxiao.domain.TshareApply;
  71. import cn.com.taiji.zhongxiao.domain.TshareApplyRepository;
  72. import cn.com.taiji.zhongxiao.dto.DelayDataShareInfo;
  73. import cn.com.taiji.zhongxiao.dto.DelayInfo;
  74. import cn.com.taiji.zhongxiao.dto.DelayServiceShareInfo;
  75. import cn.com.taiji.zhongxiao.dto.HisTaskDto;
  76. import cn.com.taiji.zhongxiao.dto.IndicatorsDto;
  77. import cn.com.taiji.zhongxiao.dto.TcodeSetDto;
  78. import cn.com.taiji.zhongxiao.dto.TdataMetaDto;
  79. import cn.com.taiji.zhongxiao.dto.TinfoClassDto;
  80. import cn.com.taiji.zhongxiao.dto.TserviceRegInfoDto;
  81. import cn.com.taiji.zhongxiao.dto.TshareApplyDto;
  82. import cn.com.taiji.zhongxiao.dto.VtasklistDto;
  83. @Service
  84. public class TinfoClassService {
  85. private static final Logger log = LoggerFactory
  86. .getLogger(TinfoClassService.class);
  87. @Value("${indicators.ywfglValue}")
  88. public int ywfglValue;
  89. @Value("${indicators.yyfglValue}")
  90. public int yyfglValue;
  91. @Value("${indicators.qzgllValue}")
  92. public int qzgllValue;
  93. @Value("${indicators.xtgllValue}")
  94. public int xtgllValue;
  95. @Value("${indicators.gjlValue}")
  96. public int gjlValue;
  97. @Value("${indicators.kblValue}")
  98. public int kblValue;
  99. @Value("${indicators.sjgxValue}")
  100. public int sjgxValue;
  101. @Value("${indicators.mlshValue}")
  102. public int mlshValue;
  103. @Value("${indicators.gjshValue}")
  104. public int gjshValue;
  105. @Inject
  106. TguajieopinionListRepository tguajieopinionListRepository;
  107. @Inject
  108. TmessageInfoService tmessageInfoService;
  109. @Inject
  110. ThreadPoolTaskExecutor threadPoolTaskExecutor;
  111. @Value("${database_type}")
  112. String database_type;
  113. @Value("${admin_id}")
  114. String admin_id;
  115. @Value("${zgbmgl_role}")
  116. String zgbmgl_role;
  117. @Value("${zgbmbz_role}")
  118. String zgbmbz_role;
  119. @Inject
  120. TshareApplyRepository tshareApplyRepository;
  121. @Inject
  122. JdbcTemplate jdbcTemplate;
  123. @Inject
  124. TinfoClassRepository tinfoClassRepository;
  125. @Inject
  126. TdataMetaRepository tdataMetaRepository;
  127. @Inject
  128. UserService uiservice;
  129. @Inject
  130. SubscribemanageRepository subscribemanageRepository;
  131. @Inject
  132. SxcodeRepository sxcodeRepository;
  133. @Inject
  134. TcodeSetService tcodeSetService;
  135. @Inject
  136. IndicatorsRepository indicatorsRepository;
  137. @Inject
  138. TresClassifyService tresClassifyService;
  139. @Inject
  140. SysDeptService deptService;
  141. @Inject
  142. DbdcCodeService dbdcCodeService;
  143. @Inject
  144. DatametaService datametaService;
  145. /**
  146. *
  147. * @Description: 获取信息类注册信息列表
  148. * @param dto
  149. * @param pag
  150. * @return Pagination<TinfoClassDto>
  151. * @throws
  152. * @author lijiezhi_pc
  153. * @date 2017年12月27日
  154. */
  155. public Pagination<TinfoClassDto> findTinfoClassZcList(final TinfoClassDto dto,
  156. Pagination<TinfoClassDto> pag,final User userInfo,final String type) {
  157. List<Order> orders = new ArrayList<Sort.Order>();
  158. Order order = new Order(Direction.ASC, "inprocess");
  159. Order order1 = new Order(Direction.DESC, "id");
  160. Order order2 = new Order(Direction.DESC, "createdate");
  161. Order order3 = new Order(Direction.DESC, "taskname");
  162. orders.add(order);
  163. orders.add(order3);
  164. orders.add(order2);
  165. orders.add(order1);
  166. Sort sort = new Sort(orders);
  167. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  168. pag.getPageSize(), sort);
  169. Page<TinfoClass> page;
  170. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  171. @Override
  172. public Predicate toPredicate(Root<TinfoClass> root,
  173. CriteriaQuery<?> query, CriteriaBuilder cb) {
  174. List<Predicate> pl = new ArrayList<Predicate>();
  175. Set<Role> serRole = userInfo.getRoles();
  176. boolean flag = false;
  177. for (Role role : serRole) {
  178. if(admin_id.equals(role.getRoleId()))
  179. flag = true;
  180. }
  181. if(!flag&&type.equals("0")){
  182. In<Object> in = cb.in(root.get("providebmcode"));
  183. for (Dept dept : userInfo.getDepts()) {
  184. in.value(dept.getDeptId());
  185. }
  186. if(userInfo.getDepts().size()>0){
  187. pl.add(cb.or(cb.equal(root.get("creator"), userInfo.getUserId()),in));
  188. }
  189. else{
  190. pl.add(cb.equal(root.get("creator"), userInfo.getUserId()));
  191. }
  192. }
  193. pl.add(cb.or(cb.equal(root.get("inprocess"), "0"),cb.equal(root.get("inprocess"), "1"),cb.equal(root.get("inprocess"), "2"),cb.equal(root.get("inprocess"), "3")));
  194. if(!ToolUtil.isNull(dto.getInfoname())){
  195. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  196. }
  197. if(!ToolUtil.isNull(dto.getInfotypename())){
  198. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  199. }
  200. if(!ToolUtil.isNull(dto.getGlinfotypename())){
  201. pl.add(cb.like(root.<String>get("glinfotypename"), "%"+dto.getGlinfotypename()+"%"));
  202. }
  203. if(!ToolUtil.isNull(dto.getFltag())){
  204. pl.add(cb.like(root.<String>get("fltag"), "%"+dto.getFltag()+"%"));
  205. }
  206. if(!ToolUtil.isNull(dto.getSharetype())){
  207. pl.add(cb.equal(root.get("sharetype"), dto.getSharetype()));
  208. }
  209. if(!ToolUtil.isNull(dto.getProvidename())){
  210. pl.add(cb.equal(root.get("providename"), dto.getProvidename()));
  211. }
  212. if(!ToolUtil.isNull(dto.getProvidezgname())){
  213. pl.add(cb.equal(root.get("providezgname"), dto.getProvidezgname()));
  214. }
  215. if(!ToolUtil.isNull(dto.getProvidebmname())){
  216. pl.add(cb.like(root.get("providebmname"), "%"+dto.getProvidebmname()+"%"));
  217. }
  218. if(!ToolUtil.isNull(dto.getTaskname())) {
  219. switch(dto.getTaskname()) {
  220. case "未提交": pl.add(cb.equal(root.get("inprocess"), "0"));break;
  221. case "部门审核":{
  222. pl.add(cb.equal(root.get("inprocess"), "1"));
  223. pl.add(cb.equal(root.get("taskname"), "部门审核"));
  224. };break;
  225. case "主管部门审核":
  226. {
  227. pl.add(cb.equal(root.get("inprocess"), "1"));
  228. pl.add(cb.equal(root.get("taskname"), "主管部门审核"));
  229. }
  230. break;
  231. case "已发布":pl.add(cb.equal(root.get("inprocess"), "2"));break;
  232. case "停用":pl.add(cb.equal(root.get("inprocess"), "5"));;break;
  233. case "编目人员修改":
  234. {
  235. pl.add(cb.equal(root.get("inprocess"), "1"));
  236. pl.add(cb.equal(root.get("taskname"), "编目人员修改"));
  237. }
  238. break;
  239. default:
  240. break;
  241. }
  242. }
  243. if(!ToolUtil.isNull(dto.getInfocode())){
  244. pl.add(cb.like(root.<String>get("infocode"), "%"+dto.getInfocode()+"%"));
  245. }
  246. if(!ToolUtil.isNull(dto.getIsopensocial())){
  247. pl.add(cb.equal(root.<String>get("isopensocial"), dto.getIsopensocial()));
  248. }
  249. if(!ToolUtil.isNull(dto.getIsglqz())){
  250. pl.add(cb.equal(root.<String>get("isglqz"), dto.getIsglqz()));
  251. }
  252. if(!ToolUtil.isNull(dto.getManagetype())){
  253. pl.add(cb.equal(root.<String>get("managetype"), dto.getManagetype()));
  254. }
  255. if(dto.getHitchStatus()!=null){
  256. if("1".equals(dto.getHitchStatus()+""))
  257. pl.add(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()));
  258. else {
  259. pl.add(cb.or(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()),cb.isNull(root.get("hitchStatus"))));
  260. }
  261. }
  262. // 起始时间
  263. if (!ToolUtil.isNull(dto.getStartdate())) {
  264. pl.add(cb.greaterThanOrEqualTo(root.<String> get("updatetime"),dto.getStartdate()));
  265. }
  266. // 结束时间
  267. if (!ToolUtil.isNull(dto.getEnddate())) {
  268. pl.add(cb.lessThanOrEqualTo(root.<String> get("updatetime"),dto.getEnddate()+" 23:59:59"));
  269. }
  270. if(type.equals("1")&&!flag){
  271. In<Object> in = cb.in(root.get("providecode"));
  272. for (Dept dept : userInfo.getDepts()) {
  273. in.value(dept.getDeptId());
  274. }
  275. if(userInfo.getDepts().size()>0){
  276. pl.add(in);
  277. }
  278. }
  279. if(type.equals("2")&&!flag){
  280. In<Object> in = cb.in(root.get("providebmcode"));
  281. for (Dept dept : userInfo.getDepts()) {
  282. in.value(dept.getDeptId());
  283. }
  284. if(userInfo.getDepts().size()>0){
  285. pl.add(in);
  286. }
  287. }
  288. if(type.equals("3")&&!flag){
  289. In<Object> in = cb.in(root.get("xzqhcode"));
  290. for (Dept dept : userInfo.getDepts()) {
  291. in.value(dept.getXzqhcode());
  292. }
  293. if(userInfo.getDepts().size()>0){
  294. pl.add(in);
  295. }
  296. }
  297. return cb.and(pl.toArray(new Predicate[0]));
  298. }
  299. }, request);
  300. List<TinfoClass> dataList = page.getContent();
  301. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  302. for (TinfoClass u : dataList) {
  303. dtolsit.add(new TinfoClassDto(u));
  304. }
  305. pag.setPageResult(dtolsit);
  306. pag.setPageCount(page.getTotalPages());
  307. pag.setPageTotal((int) page.getTotalElements());
  308. return pag;
  309. }
  310. public Pagination<TinfoClassDto> findTinfoClassBgList(final TinfoClassDto dto,
  311. Pagination<TinfoClassDto> pag,final String userId) {
  312. List<Order> orders = new ArrayList<Sort.Order>();
  313. Order order = new Order(Direction.DESC, "inprocess");
  314. Order order1 = new Order(Direction.DESC, "id");
  315. Order order2 = new Order(Direction.DESC, "createdate");
  316. orders.add(order);
  317. orders.add(order1);
  318. orders.add(order2);
  319. Sort sort = new Sort(orders);
  320. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  321. pag.getPageSize(), sort);
  322. Page<TinfoClass> page;
  323. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  324. @Override
  325. public Predicate toPredicate(Root<TinfoClass> root,
  326. CriteriaQuery<?> query, CriteriaBuilder cb) {
  327. List<Predicate> pl = new ArrayList<Predicate>();
  328. pl.add(cb.equal(root.get("creator"), userId));
  329. pl.add(cb.or(cb.equal(root.get("isbg") ,"1"),cb.equal(root.get("isbg"),"2")));
  330. if(!ToolUtil.isNull(dto.getInfoname())){
  331. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  332. }
  333. if(!ToolUtil.isNull(dto.getInfotypename())){
  334. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  335. }
  336. if(!ToolUtil.isNull(dto.getSharetype())){
  337. pl.add(cb.equal(root.get("sharetype"), dto.getSharetype()));
  338. }
  339. if(!ToolUtil.isNull(dto.getProvidename())){
  340. pl.add(cb.equal(root.get("providename"), dto.getProvidename()));
  341. }
  342. if(!ToolUtil.isNull(dto.getInfocode())){
  343. pl.add(cb.equal(root.get("infocode"), dto.getInfocode()));
  344. }
  345. if(dto.getHitchStatus()!=null){
  346. if("1".equals(dto.getHitchStatus()+""))
  347. pl.add(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()));
  348. else {
  349. pl.add(cb.or(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()),cb.isNull(root.get("hitchStatus"))));
  350. }
  351. }
  352. return cb.and(pl.toArray(new Predicate[0]));
  353. }
  354. }, request);
  355. List<TinfoClass> dataList = page.getContent();
  356. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  357. for (TinfoClass u : dataList) {
  358. dtolsit.add(new TinfoClassDto(u));
  359. }
  360. pag.setPageResult(dtolsit);
  361. pag.setPageCount(page.getTotalPages());
  362. pag.setPageTotal((int) page.getTotalElements());
  363. return pag;
  364. }
  365. public Pagination<TinfoclassDatameta> findTinfoClassYapplyList(final TinfoClassDto dto,final TinfoclassDatameta datameta,
  366. Pagination<TinfoclassDatameta> pag,final User userInfo) {
  367. String deptid="";
  368. for(Dept dept:userInfo.getDepts()) {
  369. deptid=deptid+dept.getDeptId()+",";
  370. }
  371. StringBuffer sql = new StringBuffer("select p.infocode,p.infoname,p.sharetype sharetype1,p.providebmname,q.* from t_infoclass p,t_infoclass_datameta q where p.id in (select tinfoclassid from t_shareapply where instr(?,applydeptid)>0 and state='2') " +
  372. " and p.id=q.tinfoclassid ");
  373. List<String> paramList=new ArrayList<String>();
  374. paramList.add(deptid);
  375. if(!ToolUtil.isNull(dto.getInfocode())) {
  376. sql.append(" and p.infocode like ?");
  377. paramList.add("%"+dto.getInfocode()+"%");
  378. }
  379. if(!ToolUtil.isNull(dto.getInfoname())) {
  380. sql.append(" and p.infoname like ?");
  381. paramList.add("%"+dto.getInfoname()+"%");
  382. }
  383. if(!ToolUtil.isNull(dto.getProvidebmname())) {
  384. sql.append(" and p.providebmname like ?");
  385. paramList.add("%"+dto.getProvidebmname()+"%");
  386. }
  387. if(!ToolUtil.isNull(dto.getSharetype())) {
  388. sql.append(" and p.sharetype = ?");
  389. paramList.add(dto.getSharetype());
  390. }
  391. if(!ToolUtil.isNull(datameta.getXxxmc())) {
  392. sql.append(" and q.xxxmc = ?");
  393. paramList.add("%"+datameta.getXxxmc()+"%");
  394. }
  395. if(!ToolUtil.isNull(datameta.getXxxbm())) {
  396. sql.append(" and q.xxxbm = ?");
  397. paramList.add("%"+datameta.getXxxbm()+"%");
  398. }
  399. Object[] args = new Object[]{};
  400. int length = paramList.size();
  401. if(length>0){
  402. args=new Object[length];
  403. for(int i=0;i<length;i++){
  404. args[i] = paramList.get(i);
  405. }
  406. }
  407. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoclassDatameta>() {
  408. @Override
  409. public TinfoclassDatameta mapRow(ResultSet rs, int rowNum) throws SQLException {
  410. TinfoclassDatameta info =new TinfoclassDatameta();
  411. info.setId(rs.getString("id"));
  412. info.setInfoname(rs.getString("infoname"));
  413. info.setInfocode(rs.getString("infocode"));
  414. info.setSharetype1(rs.getString("sharetype1"));
  415. info.setProvidebmname(rs.getString("providebmname"));
  416. info.setXxxmc(rs.getString("xxxmc"));
  417. info.setXxxbm(rs.getString("xxxbm"));
  418. info.setGlsjy(rs.getString("glsjy"));
  419. info.setSharetype(rs.getString("sharetype"));
  420. info.setShareconditions(rs.getString("shareconditions"));
  421. info.setSharemodename(rs.getString("sharemodename"));
  422. info.setSharemode(rs.getString("sharemode"));
  423. info.setSharemodeid(rs.getString("sharemodeid"));
  424. info.setSharemodetypename(rs.getString("sharemodetypename"));
  425. info.setSharemodetype(rs.getString("sharemodetype"));
  426. info.setSharemodetypeid(rs.getString("sharemodetypeid"));
  427. info.setIsopensocial(rs.getString("isopensocial"));
  428. info.setOpencondition(rs.getString("opencondition"));
  429. info.setMetacode(rs.getString("metacode"));
  430. info.setMetacodeDis(rs.getString("metacode_dis"));
  431. info.setMetacodeid(rs.getString("metacodeid"));
  432. info.setMetaname(rs.getString("metaname"));
  433. info.setDatatype(rs.getString("datatype"));
  434. info.setDatatypeDis(rs.getString("datatype_dis"));
  435. info.setDatatypeid(rs.getString("datatypeid"));
  436. info.setDatasize(rs.getString("datasize"));
  437. info.setRanges(rs.getString("ranges"));
  438. info.setIsprimary(rs.getString("isprimary"));
  439. info.setIndexnum(rs.getInt("indexnum"));
  440. info.setTinfoclassid(rs.getString("tinfoclassid"));
  441. if(!ToolUtil.isNull(rs.getString("codesetid"))){
  442. TcodeSetDto code = tcodeSetService.getOne(String.valueOf(rs.getString("codesetid")));
  443. if(code!=null) {
  444. info.setCodesetid(code.getCodesetId());
  445. info.setCodesetname(code.getCodesetName());
  446. }
  447. }
  448. info.setDatametaid(rs.getString("datametaid"));
  449. return info;
  450. }
  451. },jdbcTemplate,database_type);
  452. return pag;
  453. }
  454. public Pagination<TinfoClassDto> findTinfoClassVersionList(final TinfoClassDto dto,
  455. Pagination<TinfoClassDto> pag) {
  456. List<Order> orders = new ArrayList<Sort.Order>();
  457. Order order = new Order(Direction.DESC, "inprocess");
  458. Order order1 = new Order(Direction.DESC, "id");
  459. Order order2 = new Order(Direction.DESC, "createdate");
  460. orders.add(order);
  461. orders.add(order1);
  462. orders.add(order2);
  463. Sort sort = new Sort(orders);
  464. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  465. pag.getPageSize(), sort);
  466. Page<TinfoClass> page;
  467. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  468. @Override
  469. public Predicate toPredicate(Root<TinfoClass> root,
  470. CriteriaQuery<?> query, CriteriaBuilder cb) {
  471. List<Predicate> pl = new ArrayList<Predicate>();
  472. pl.add(cb.notEqual(root.<String>get("inprocess"), "4"));
  473. if(!ToolUtil.isNull(dto.getInfoname())){
  474. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  475. }
  476. if(!ToolUtil.isNull(dto.getInfotypename())){
  477. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  478. }
  479. if(!ToolUtil.isNull(dto.getSharetype())){
  480. pl.add(cb.equal(root.get("sharetype"), dto.getSharetype()));
  481. }
  482. if(!ToolUtil.isNull(dto.getProvidename())){
  483. pl.add(cb.like(root.<String>get("providename"), "%"+dto.getProvidename()+"%"));
  484. }
  485. if(!ToolUtil.isNull(dto.getProvidebmname())){
  486. pl.add(cb.like(root.<String>get("providebmname"), "%"+dto.getProvidebmname()+"%"));
  487. }
  488. if(!ToolUtil.isNull(dto.getSourceid())){
  489. pl.add(cb.equal(root.get("sourceid"), dto.getSourceid()));
  490. }
  491. if(dto.getHitchStatus()!=null){
  492. if("1".equals(dto.getHitchStatus()+""))
  493. pl.add(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()));
  494. else {
  495. pl.add(cb.or(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()),cb.isNull(root.get("hitchStatus"))));
  496. }
  497. }
  498. return cb.and(pl.toArray(new Predicate[0]));
  499. }
  500. }, request);
  501. List<TinfoClass> dataList = page.getContent();
  502. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  503. for (TinfoClass u : dataList) {
  504. dtolsit.add(new TinfoClassDto(u));
  505. }
  506. pag.setPageResult(dtolsit);
  507. pag.setPageCount(page.getTotalPages());
  508. pag.setPageTotal((int) page.getTotalElements());
  509. return pag;
  510. }
  511. public void disableParent(String id) {
  512. TinfoClass info = tinfoClassRepository.findOne(id);
  513. if (info != null) {
  514. TinfoClass parent = tinfoClassRepository.findOne(info.getParentid());
  515. if (parent != null) {
  516. tinfoClassRepository.updateImplementationState(parent.getId(), "2");
  517. }
  518. }
  519. }
  520. public Pagination<TinfoClassDto> findTinfoClassYsList(final TinfoClassDto dto,
  521. Pagination<TinfoClassDto> pag,final User userInfo) {
  522. List<Order> orders = new ArrayList<Sort.Order>();
  523. if(!ToolUtil.isNull(pag.getSortFiled())){
  524. if("infocode".equals(pag.getSortFiled())){
  525. if("desc".equals(pag.getSortType().toLowerCase())) {
  526. Order order_temp = new Order(Direction.DESC, "infocode");
  527. orders.add(order_temp);
  528. }
  529. else {
  530. Order order_temp = new Order(Direction.ASC, "infocode");
  531. orders.add(order_temp);
  532. }
  533. }
  534. else if("isopensocial".equals(pag.getSortFiled())){
  535. if("desc".equals(pag.getSortType().toLowerCase())) {
  536. Order order_temp = new Order(Direction.DESC, "isopensocial");
  537. orders.add(order_temp);
  538. }
  539. else {
  540. Order order_temp = new Order(Direction.ASC, "isopensocial");
  541. orders.add(order_temp);
  542. }
  543. }
  544. else if("sharetype".equals(pag.getSortFiled())){
  545. if("desc".equals(pag.getSortType().toLowerCase())) {
  546. Order order_temp = new Order(Direction.DESC, "sharetype");
  547. orders.add(order_temp);
  548. }
  549. else {
  550. Order order_temp = new Order(Direction.ASC, "sharetype");
  551. orders.add(order_temp);
  552. }
  553. }
  554. }
  555. Order order = new Order(Direction.DESC, "gjcheckstate");
  556. Order order1 = new Order(Direction.DESC, "id");
  557. Order order2 = new Order(Direction.DESC, "createdate");
  558. orders.add(order);
  559. orders.add(order1);
  560. orders.add(order2);
  561. Sort sort = new Sort(orders);
  562. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  563. pag.getPageSize(), sort);
  564. Page<TinfoClass> page;
  565. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  566. @Override
  567. public Predicate toPredicate(Root<TinfoClass> root,
  568. CriteriaQuery<?> query, CriteriaBuilder cb) {
  569. Set<Role> serRole = userInfo.getRoles();
  570. boolean flag = false;
  571. for (Role role : serRole) {
  572. if(admin_id.equals(role.getRoleId()))
  573. flag = true;
  574. }
  575. List<Predicate> pl = new ArrayList<Predicate>();
  576. pl.add(cb.equal(root.get("latestversion"), "1"));
  577. pl.add(cb.equal(root.get("inprocess"), "2"));
  578. if(!ToolUtil.isNull(dto.getInfoname())){
  579. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  580. }
  581. if(!ToolUtil.isNull(dto.getInfotypename())){
  582. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  583. }
  584. if(!ToolUtil.isNull(dto.getGlinfotypename())){
  585. pl.add(cb.like(root.<String>get("glinfotypename"), "%"+dto.getGlinfotypename()+"%"));
  586. }
  587. if(!ToolUtil.isNull(dto.getFltag())){
  588. pl.add(cb.like(root.<String>get("fltag"), "%"+dto.getFltag()+"%"));
  589. }
  590. if(!ToolUtil.isNull(dto.getSharetype())){
  591. pl.add(cb.equal(root.get("sharetype"), dto.getSharetype()));
  592. }
  593. if(!ToolUtil.isNull(dto.getProvidename())){
  594. pl.add(cb.like(root.<String>get("providename"), "%"+dto.getProvidename()+"%"));
  595. }
  596. if(!ToolUtil.isNull(dto.getProvidebmname())){
  597. pl.add(cb.like(root.<String>get("providebmname"), "%"+dto.getProvidebmname()+"%"));
  598. }
  599. if(!ToolUtil.isNull(dto.getIsopensocial())){
  600. pl.add(cb.equal(root.<String>get("isopensocial"), dto.getIsopensocial()));
  601. }
  602. if(!ToolUtil.isNull(dto.getSharemodetypename())){
  603. pl.add(cb.equal(root.<String>get("sharemodetypename"), dto.getSharemodetypename()));
  604. }
  605. if(!ToolUtil.isNull(dto.getGjcheckstate())){
  606. if(!"1".equals(dto.getHitchStatus()+""))
  607. pl.add(cb.equal(root.<String>get("gjcheckstate"), dto.getGjcheckstate()));
  608. }
  609. if(!ToolUtil.isNull(dto.getInfocode())){
  610. pl.add(cb.like(root.<String>get("infocode"), "%"+dto.getInfocode()+"%"));
  611. }
  612. if(!ToolUtil.isNull(dto.getIsglqz())){
  613. pl.add(cb.equal(root.<String>get("isglqz"), dto.getIsglqz()));
  614. }
  615. if(!ToolUtil.isNull(dto.getManagetype())){
  616. pl.add(cb.equal(root.<String>get("managetype"), dto.getManagetype()));
  617. }
  618. if(dto.getHitchStatus()!=null){//待挂接 已挂接
  619. if("1".equals(dto.getHitchStatus()+""))
  620. pl.add(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()));
  621. else {
  622. pl.add(cb.or(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()),cb.isNull(root.get("hitchStatus"))));
  623. }
  624. }
  625. //起始时间
  626. if (!ToolUtil.isNull(dto.getStartdate())) {
  627. pl.add(cb.greaterThanOrEqualTo(root.<String> get("updatetime"),dto.getStartdate()));
  628. }
  629. // 结束时间
  630. if (!ToolUtil.isNull(dto.getEnddate())) {
  631. pl.add(cb.lessThanOrEqualTo(root.<String> get("updatetime"), dto.getEnddate()+" 23:59:59"));
  632. }
  633. if(!flag){
  634. List<Predicate> pl2 = new ArrayList<Predicate>();
  635. pl2.add(cb.equal(root.<String>get("creator"), userInfo.getUserId()));
  636. for(Dept dept:userInfo.getDepts()){
  637. pl2.add(cb.equal(root.<String>get("providebmcode"), dept.getDeptId()));
  638. String haszgbm="0";
  639. for(Role role:userInfo.getRoles()){
  640. if(zgbmgl_role.contains(role.getRoleId())||zgbmbz_role.contains(role.getRoleId())){
  641. haszgbm="1";
  642. break;
  643. }
  644. }
  645. if("1".equals(haszgbm)) {
  646. pl2.add(cb.equal(root.<String>get("xzqhcode"), dept.getXzqhcode()));
  647. }
  648. }
  649. pl.add(cb.or(pl2.toArray(new Predicate[0])));
  650. }
  651. return cb.and(pl.toArray(new Predicate[0]));
  652. }
  653. }, request);
  654. List<TinfoClass> dataList = page.getContent();
  655. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  656. for (TinfoClass u : dataList) {
  657. TinfoClassDto temp = new TinfoClassDto(u);
  658. if (StrUtil.isNotBlank(u.getParentid())) {
  659. TinfoClass parent = tinfoClassRepository.findByPid(u.getParentid());
  660. if (parent != null && "2".equals(parent.getImplementationState())) {
  661. temp.setParentState(2);
  662. } else {
  663. temp.setParentState(1);
  664. }
  665. }
  666. dtolsit.add(temp);
  667. }
  668. pag.setPageResult(dtolsit);
  669. pag.setPageCount(page.getTotalPages());
  670. pag.setPageTotal((int) page.getTotalElements());
  671. return pag;
  672. }
  673. public Pagination<TinfoClassDto> findTinfoClassTqList(final TinfoClassDto dto,
  674. Pagination<TinfoClassDto> pag,final User userInfo) {
  675. List<Order> orders = new ArrayList<Sort.Order>();
  676. if(!ToolUtil.isNull(pag.getSortFiled())){
  677. if("infocode".equals(pag.getSortFiled())){
  678. if("desc".equals(pag.getSortType().toLowerCase())) {
  679. Order order_temp = new Order(Direction.DESC, "infocode");
  680. orders.add(order_temp);
  681. }
  682. else {
  683. Order order_temp = new Order(Direction.ASC, "infocode");
  684. orders.add(order_temp);
  685. }
  686. }
  687. else if("isopensocial".equals(pag.getSortFiled())){
  688. if("desc".equals(pag.getSortType().toLowerCase())) {
  689. Order order_temp = new Order(Direction.DESC, "isopensocial");
  690. orders.add(order_temp);
  691. }
  692. else {
  693. Order order_temp = new Order(Direction.ASC, "isopensocial");
  694. orders.add(order_temp);
  695. }
  696. }
  697. else if("sharetype".equals(pag.getSortFiled())){
  698. if("desc".equals(pag.getSortType().toLowerCase())) {
  699. Order order_temp = new Order(Direction.DESC, "sharetype");
  700. orders.add(order_temp);
  701. }
  702. else {
  703. Order order_temp = new Order(Direction.ASC, "sharetype");
  704. orders.add(order_temp);
  705. }
  706. }
  707. }
  708. Order order = new Order(Direction.DESC, "disablestate");
  709. Order order1 = new Order(Direction.DESC, "id");
  710. Order order2 = new Order(Direction.DESC, "createdate");
  711. orders.add(order);
  712. orders.add(order1);
  713. orders.add(order2);
  714. Sort sort = new Sort(orders);
  715. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  716. pag.getPageSize(), sort);
  717. Page<TinfoClass> page;
  718. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  719. @Override
  720. public Predicate toPredicate(Root<TinfoClass> root,
  721. CriteriaQuery<?> query, CriteriaBuilder cb) {
  722. List<Predicate> pl = new ArrayList<Predicate>();
  723. pl.add(cb.equal(root.get("latestversion"), "1"));
  724. pl.add(cb.or(cb.equal(root.get("inprocess"), "2"),cb.equal(root.get("inprocess"), "5")));
  725. if(!ToolUtil.isNull(dto.getInfoname())){
  726. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  727. }
  728. if(!ToolUtil.isNull(dto.getInfotypename())){
  729. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  730. }
  731. if(!ToolUtil.isNull(dto.getSharetype())){
  732. pl.add(cb.equal(root.get("sharetype"), dto.getSharetype()));
  733. }
  734. if(!ToolUtil.isNull(dto.getProvidename())){
  735. pl.add(cb.like(root.<String>get("providename"), "%"+dto.getProvidename()+"%"));
  736. }
  737. if(!ToolUtil.isNull(dto.getProvidebmname())){
  738. pl.add(cb.like(root.<String>get("providebmname"), "%"+dto.getProvidebmname()+"%"));
  739. }
  740. if(!ToolUtil.isNull(dto.getIsopensocial())){
  741. pl.add(cb.like(root.<String>get("isopensocial"), "%"+dto.getIsopensocial()+"%"));
  742. }
  743. if(!ToolUtil.isNull(dto.getFltag())){
  744. pl.add(cb.like(root.<String>get("fltag"), "%"+dto.getFltag()+"%"));
  745. }
  746. if(!ToolUtil.isNull(dto.getInfocode())){
  747. pl.add(cb.like(root.<String>get("infocode"), "%"+dto.getInfocode()+"%"));
  748. }
  749. //判断停用情况的值是否为空,若为空,则默认查询停用审核中的状态
  750. if(!ToolUtil.isNull(dto.getDisablestate())){
  751. pl.add(cb.like(root.<String>get("disablestate"), "%"+dto.getDisablestate()+"%"));
  752. }
  753. //起始时间
  754. if (!ToolUtil.isNull(dto.getStartdate())) {
  755. pl.add(cb.greaterThanOrEqualTo(root.<String> get("updatetime"),dto.getStartdate()));
  756. }
  757. // 结束时间
  758. if (!ToolUtil.isNull(dto.getEnddate())) {
  759. pl.add(cb.lessThanOrEqualTo(root.<String> get("updatetime"), dto.getEnddate()+" 23:59:59"));
  760. }
  761. if(dto.getHitchStatus()!=null){//待挂接 已挂接
  762. if("1".equals(dto.getHitchStatus()+""))
  763. pl.add(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()));
  764. else {
  765. pl.add(cb.or(cb.equal(root.get("hitchStatus"), dto.getHitchStatus()),cb.isNull(root.get("hitchStatus"))));
  766. }
  767. }
  768. if(!ToolUtil.isNull(dto.getInprocess())){
  769. pl.add(cb.equal(root.<String>get("inprocess"),dto.getInprocess()));
  770. }
  771. Set<Role> serRole = userInfo.getRoles();
  772. boolean flag = false;
  773. boolean zgbm =false;
  774. for (Role role : serRole) {
  775. if(admin_id.equals(role.getRoleId()))
  776. flag = true;
  777. if(zgbmgl_role.equals(role.getRoleId()))
  778. zgbm = true;
  779. }
  780. if(!flag){
  781. In<Object> in = cb.in(root.get("xzqhcode"));
  782. In<Object> in2 = cb.in(root.get("providebmcode"));
  783. for (Dept dept : userInfo.getDepts()) {
  784. in.value(dept.getXzqhcode());
  785. in2.value(dept.getDeptId());
  786. }
  787. if(userInfo.getDepts().size()>0){
  788. if(zgbm) {
  789. pl.add(in);
  790. }
  791. else {
  792. pl.add(in2);
  793. }
  794. }
  795. }
  796. return cb.and(pl.toArray(new Predicate[0]));
  797. }
  798. }, request);
  799. List<TinfoClass> dataList = page.getContent();
  800. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  801. for (TinfoClass u : dataList) {
  802. dtolsit.add(new TinfoClassDto(u));
  803. }
  804. pag.setPageResult(dtolsit);
  805. pag.setPageCount(page.getTotalPages());
  806. pag.setPageTotal((int) page.getTotalElements());
  807. return pag;
  808. }
  809. public Pagination<TdataMetaDto> findDataMetaChooselist(final TdataMetaDto dto,
  810. Pagination<TdataMetaDto> pag) {
  811. List<Order> orders = new ArrayList<Sort.Order>();
  812. Order order1 = new Order(Direction.DESC, "id");
  813. orders.add(order1);
  814. Order order2 = new Order(Direction.DESC, "metaname");
  815. orders.add(order2);
  816. Sort sort = new Sort(orders);
  817. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  818. pag.getPageSize(), sort);
  819. Page<TdataMeta> page;
  820. page = tdataMetaRepository.findAll(new Specification<TdataMeta>() {
  821. @Override
  822. public Predicate toPredicate(Root<TdataMeta> root,
  823. CriteriaQuery<?> query, CriteriaBuilder cb) {
  824. List<Predicate> pl = new ArrayList<Predicate>();
  825. pl.add(cb.equal(root.get("state"),3));
  826. if(dto.getDatacode()!=null&&!"".equals(dto.getDatacode())){
  827. pl.add(cb.equal(root.get("datacode"),dto.getDatacode()));
  828. }
  829. if(dto.getMetaname()!=null&&!"".equals(dto.getMetaname())){
  830. pl.add(cb.like(root.<String>get("metaname"),"%"+dto.getMetaname()+"%"));
  831. }
  832. return cb.and(pl.toArray(new Predicate[0]));
  833. }
  834. }, request);
  835. List<TdataMeta> dataList = page.getContent();
  836. List<TdataMetaDto> dtolsit = new ArrayList<TdataMetaDto>();
  837. for (TdataMeta u : dataList) {
  838. dtolsit.add(new TdataMetaDto(u));
  839. }
  840. pag.setPageResult(dtolsit);
  841. pag.setPageCount(page.getTotalPages());
  842. pag.setPageTotal((int) page.getTotalElements());
  843. return pag;
  844. }
  845. public String getPrecodeByInfoTypeid(String infotypeid) {
  846. String result="";
  847. List<Map<String ,Object>> list=new ArrayList<Map<String ,Object>>();
  848. if("oracle".equals(database_type)){
  849. String sql="select rescode from t_res_classify start with resid=? connect by prior presid=resid ";
  850. list = jdbcTemplate.queryForList(sql, new Object[]{infotypeid});
  851. }
  852. else if("mysql".equals(database_type)){
  853. String sql="select rescode,presid from t_res_classify where resid=?";
  854. list = jdbcTemplate.queryForList(sql, new Object[]{infotypeid});
  855. List<Map<String ,Object>> templist=new ArrayList<Map<String ,Object>>();
  856. templist=list;
  857. while(templist!=null&&templist.size()>0){
  858. templist=jdbcTemplate.queryForList(sql, new Object[]{templist.get(0).get("presid")});
  859. list.addAll(templist);
  860. }
  861. }
  862. int length=0;
  863. if(list!=null&&list.size()>=3){
  864. length=list.size();
  865. }
  866. if(length!=0){
  867. Map map1=list.get(length-1);
  868. Map map2=list.get(length-2);
  869. Map map3=list.get(length-3);
  870. result=map1.get("rescode").toString()+map2.get("rescode").toString()+map3.get("rescode").toString();
  871. }
  872. return result;
  873. }
  874. // @Cacheable(value="tinfoClassCache",key = "#root.targetClass+#id")
  875. public TinfoClassDto findTinfoClassById(String id) {
  876. // TODO Auto-generated method stub
  877. if(id==null){
  878. return null;
  879. }
  880. TinfoClass info = tinfoClassRepository.findOne(id);
  881. if(info!=null){
  882. TinfoClassDto dto = new TinfoClassDto(info);
  883. return dto;
  884. }
  885. return null;
  886. }
  887. public TinfoClass findTinfoClassById2(String id) {
  888. // TODO Auto-generated method stub
  889. if(id==null){
  890. return null;
  891. }
  892. TinfoClass info = tinfoClassRepository.findOne(id);
  893. if(info!=null){
  894. return info;
  895. }
  896. return null;
  897. }
  898. //@CachePut(value = "tinfoClassCache", key = "#root.targetClass + #result.id")
  899. public TinfoClassDto saveTinfoClass(TinfoClass result) {
  900. // TODO Auto-generated method stub
  901. TinfoClass info = tinfoClassRepository.saveAndFlush(result);
  902. TinfoClassDto dto = new TinfoClassDto(info);
  903. List<TshareApply> tshareApplyList = new ArrayList<>();
  904. if(info.getTshareApplyList()!=null){
  905. for(TshareApply app:info.getTshareApplyList()){
  906. tshareApplyList.add(app);
  907. }
  908. dto.setTshareApplyList(tshareApplyList);
  909. }
  910. List<TinfoclassRes> tinfoclassResList = new ArrayList<>();
  911. if(info.getTinfoclassResList()!=null){
  912. for(TinfoclassRes app:info.getTinfoclassResList()){
  913. tinfoclassResList.add(app);
  914. }
  915. dto.setTinfoclassResList(tinfoclassResList);
  916. }
  917. List<TinfoclassDatameta> tinfoclassDatametaList = new ArrayList<>();
  918. if(info.getTinfoclassDatametaList()!=null){
  919. for(TinfoclassDatameta app:info.getTinfoclassDatametaList()){
  920. tinfoclassDatametaList.add(app);
  921. }
  922. dto.setTinfoclassDatametaList(info.getTinfoclassDatametaList());
  923. }
  924. return dto;
  925. }
  926. public List<Map<String,Object>> resInfo(String sql,String deptid) {
  927. List<String> paramList=new ArrayList<String>();
  928. if(!ToolUtil.isNull(deptid))
  929. paramList.add(deptid);
  930. Object[] args = new Object[]{};
  931. int length = paramList.size();
  932. if(length>0){
  933. args=new Object[length];
  934. for(int i=0;i<length;i++){
  935. args[i] = paramList.get(i);
  936. }
  937. }
  938. List<Map<String,Object>> infoList = jdbcTemplate.queryForList(sql, args);
  939. return infoList;
  940. }
  941. public Pagination<TinfoClassDto> findTinfoClassresClassifyList(TinfoClassDto dto,String resid,
  942. Pagination<TinfoClassDto> pag,User userInfo) {
  943. StringBuffer sql=new StringBuffer("select p.isglqz,p.fltag,p.managetype, p.isopensocial, p.id,p.infocode,p.infoname,p.infotypename,p.providename,p.providebmname,p.sharetype,p.sourceid,p.versionid,p.subversionid,p.updatetime,p.hitch_status,p.sharemodetypename,p.bgstatus from t_infoclass p where p.latestversion='1' and p.inprocess='2' and (p.disablestate is null or p.disablestate!='1') ");
  944. List<String> paramList=new ArrayList<String>();
  945. if(!ToolUtil.isNull(resid)){
  946. if("oracle".equals(database_type)){
  947. paramList.add(resid);
  948. // paramList.add(resid);//union SELECT q.resid,q.tinfoclassid FROM t_infoclass_res_detail q where q.resid=?
  949. sql=new StringBuffer("SELECT p.isopensocial,P . ID,p.sharemodetypename,P .infocode,P .infoname,P .infotypename,P .providename,P .providebmname,P .sharetype,P .sourceid,p.versionid,p.updatetime,p.hitch_status ")
  950. .append(" FROM t_infoclass P,(SELECT resid,'' tinfoclassid FROM t_res_classify")
  951. .append(" WHERE state = '0' START WITH resid = ? CONNECT BY PRIOR resid = presid")
  952. .append(" ) w WHERE P .latestversion = '1'")
  953. .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)) ");
  954. }
  955. else if("mysql".equals(database_type)){
  956. //获取到当前分类的所有子节点
  957. String lastResIds="('"+resid+"',";
  958. List<Map<String,Object>> menuTreeList=new ArrayList<Map<String,Object>>();
  959. String sql2="select resid from t_res_classify where presid=?";
  960. menuTreeList = resInfo(sql2,resid);
  961. List<Map<String,Object>> templist=menuTreeList;
  962. Map<String,Object> map = new HashMap<String,Object>();
  963. while(templist!=null&&templist.size()>0){//
  964. sql2="select resid from t_res_classify where presid in ";
  965. String deptids="";
  966. for(Map info:templist){
  967. deptids+="'"+info.get("resid")+"'"+",";
  968. map.put((String) info.get("resid"), info.get("resid"));
  969. }
  970. if(deptids.length()>1){
  971. deptids=deptids.substring(0, deptids.length()-1);
  972. sql2=sql2+"("+deptids+")";
  973. }
  974. templist = resInfo(sql2,"");
  975. for(Map info:templist){
  976. map.put((String) info.get("resid"), info.get("resid"));
  977. }
  978. }
  979. for (Map.Entry<String,Object> entry : map.entrySet()) {
  980. lastResIds=lastResIds+"'"+entry.getValue()+"'"+",";
  981. }
  982. if(lastResIds.length()>1){
  983. lastResIds=lastResIds.substring(0, lastResIds.length()-1);
  984. lastResIds=lastResIds+")";
  985. }
  986. //获取资源所属分类
  987. sql.append("and ( p.infotypeid in ").append(lastResIds).append(" )");//or p.id in (SELECT q.tinfoclassid FROM t_infoclass_res_detail q where q.resid=?)
  988. //paramList.add(resid);
  989. }
  990. //
  991. }
  992. String zfbm="否";
  993. if(userInfo.getDepts()!=null)
  994. for(Dept dept:userInfo.getDepts()) {
  995. if(dept.getDeptProperty()!=null&&"政务部门".equals(dept.getDeptProperty())) {
  996. zfbm="是";
  997. }
  998. }
  999. if(!ToolUtil.isNull(dto.getInfoname())){
  1000. paramList.add("%"+dto.getInfoname()+"%");
  1001. sql.append(" and p.infoname like ? ");
  1002. }
  1003. if(!ToolUtil.isNull(dto.getInfocode())){
  1004. paramList.add(dto.getInfocode());
  1005. sql.append(" and p.infocode = ? ");
  1006. }
  1007. if(!ToolUtil.isNull(dto.getIsglqz())){
  1008. paramList.add(dto.getIsglqz());
  1009. sql.append(" and p.isglqz = ? ");
  1010. }
  1011. if(!ToolUtil.isNull(dto.getManagetype())){
  1012. paramList.add(dto.getManagetype());
  1013. sql.append(" and p.managetype = ? ");
  1014. }
  1015. if(!ToolUtil.isNull(dto.getInfotypename())){
  1016. paramList.add("%"+dto.getInfotypename()+"%");
  1017. sql.append(" and p.infotypename like ? ");
  1018. }
  1019. if(!ToolUtil.isNull(dto.getFltag())){
  1020. paramList.add("%"+dto.getFltag()+"%");
  1021. sql.append(" and p.fltag like ? ");
  1022. }
  1023. if(!ToolUtil.isNull(dto.getSharerange())){
  1024. paramList.add(dto.getSharerange());
  1025. sql.append(" and p.sharerange = ? ");
  1026. }
  1027. if(!ToolUtil.isNull(dto.getGlinfotypename())){
  1028. paramList.add("%"+dto.getGlinfotypename()+"%");
  1029. sql.append(" and p.glinfotypename like ? ");
  1030. }
  1031. if(!ToolUtil.isNull(dto.getProvidename())){
  1032. paramList.add("%"+dto.getProvidename()+"%");
  1033. sql.append(" and p.providename like ? ");
  1034. }
  1035. if(!ToolUtil.isNull(dto.getProvidebmname())){
  1036. paramList.add("%"+dto.getProvidebmname()+"%");
  1037. sql.append(" and p.providebmname like ? ");
  1038. }
  1039. if(!ToolUtil.isNull(dto.getIsopensocial())){
  1040. paramList.add(dto.getIsopensocial());
  1041. sql.append(" and p.isopensocial = ? ");
  1042. }
  1043. if(!ToolUtil.isNull(dto.getSharetype())){
  1044. if("否".equals(zfbm)) {
  1045. if("1".equals(dto.getSharetype())) {
  1046. sql.append(" and p.sharetype in ('1','2') ");
  1047. }
  1048. else if("2".equals(dto.getSharetype())) {
  1049. sql.append(" and p.sharetype = 'zfbm' ");
  1050. }
  1051. }
  1052. else {
  1053. paramList.add(dto.getSharetype());
  1054. sql.append(" and p.sharetype = ? ");
  1055. }
  1056. }
  1057. if(dto.getHitchStatus()!=null){
  1058. paramList.add(dto.getHitchStatus()+"");
  1059. if("1".equals(dto.getHitchStatus()+""))
  1060. sql.append(" and p.hitch_status = ? ");
  1061. else {
  1062. sql.append(" and (p.hitch_status = ? or p.hitch_status is null) ");
  1063. }
  1064. }
  1065. /*//发布时间
  1066. if(dto.getUpdatetime()!=null){
  1067. paramList.add(dto.getUpdatetime());
  1068. sql.append("and p.updatetime =? ");
  1069. }*/
  1070. //起始时间
  1071. if(!ToolUtil.isNull(dto.getStartdate())){
  1072. paramList.add(dto.getStartdate());
  1073. sql.append("and p.updatetime >= ?");
  1074. }
  1075. //结束时间
  1076. if(!ToolUtil.isNull(dto.getEnddate())){
  1077. paramList.add(dto.getEnddate()+" 23:59:59");
  1078. sql.append("and p.updatetime <= ?");
  1079. }
  1080. Object[] args = new Object[]{};
  1081. int length = paramList.size();
  1082. if(length>0){
  1083. args=new Object[length];
  1084. for(int i=0;i<length;i++){
  1085. args[i] = paramList.get(i);
  1086. }
  1087. }
  1088. if(!ToolUtil.isNull(pag.getSortFiled())){
  1089. if("infocode".equals(pag.getSortFiled())){
  1090. sql.append(" order by p.infocode "+pag.getSortType());
  1091. }
  1092. else if("isopensocial".equals(pag.getSortFiled())){
  1093. sql.append(" order by p.isopensocial "+pag.getSortType());
  1094. }
  1095. else if("sharetype".equals(pag.getSortFiled())){
  1096. sql.append(" order by p.sharetype "+pag.getSortType());
  1097. }
  1098. }
  1099. else {
  1100. sql.append(" order by p.updatetime desc, p.sharemodetypename desc");
  1101. }
  1102. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoClassDto>(){
  1103. @Override
  1104. public TinfoClassDto mapRow(ResultSet rs, int rowNum) throws SQLException {
  1105. TinfoClassDto info = new TinfoClassDto();
  1106. info.setId(rs.getString("id"));
  1107. info.setInfocode(rs.getString("infocode"));
  1108. info.setInfoname(rs.getString("infoname"));
  1109. info.setInfotypename(rs.getString("infotypename"));
  1110. info.setProvidename(rs.getString("providename"));
  1111. info.setProvidebmname(rs.getString("providebmname"));
  1112. info.setSharetype(rs.getString("sharetype"));
  1113. info.setSourceid(rs.getString("sourceid"));
  1114. info.setVersionid(rs.getInt("versionid"));
  1115. info.setSubversionid(rs.getInt("subversionid"));
  1116. info.setUpdatetime(rs.getString("updatetime"));
  1117. info.setIsopensocial(rs.getString("isopensocial"));
  1118. info.setHitchStatus(rs.getInt("hitch_status"));
  1119. info.setSharemodetypename(rs.getString("sharemodetypename"));
  1120. info.setIsglqz(rs.getString("isglqz"));
  1121. info.setBgstatus(rs.getString("bgstatus"));
  1122. info.setFltag(rs.getString("fltag"));
  1123. info.setManagetype(rs.getString("managetype"));
  1124. return info;
  1125. }
  1126. },jdbcTemplate,database_type);
  1127. return pag;
  1128. }
  1129. public Pagination<TinfoClassDto> findTinfoClassZcCheckList(TinfoClassDto dto,VtasklistDto task,
  1130. Pagination<TinfoClassDto> pag,User userInfo) {
  1131. StringBuffer sql=new StringBuffer("select p.id,p.infocode,p.infoname,p.infotypename,p.providename,p.providebmname,p.isopensocial,p.sharetype,t.* from v_tasklist t,t_infoclass p where t.PROC_INST_ID=p.processid and p.inprocess!='4'");
  1132. List<String> paramList=new ArrayList<String>();
  1133. if(!ToolUtil.isNull(dto.getInfoname())){
  1134. paramList.add("%"+dto.getInfoname()+"%");
  1135. sql.append(" and p.infoname like ? ");
  1136. }
  1137. if(!ToolUtil.isNull(dto.getInfotypename())){
  1138. paramList.add("%"+dto.getInfotypename()+"%");
  1139. sql.append(" and p.infotypename like ? ");
  1140. }
  1141. if(!ToolUtil.isNull(dto.getSharetype())){
  1142. paramList.add(dto.getSharetype());
  1143. sql.append(" and p.sharetype = ? ");
  1144. }
  1145. if(!ToolUtil.isNull(dto.getIsopensocial())){
  1146. paramList.add(dto.getIsopensocial());
  1147. sql.append(" and p.isopensocial = ? ");
  1148. }
  1149. if(!ToolUtil.isNull(dto.getProvidebmname())){
  1150. paramList.add("%"+dto.getProvidebmname()+"%");
  1151. sql.append(" and p.providebmname like ? ");
  1152. }
  1153. if(!ToolUtil.isNull(task.getActName())){
  1154. paramList.add("%"+task.getActName()+"%");
  1155. sql.append(" and t.act_name like ? ");
  1156. }
  1157. Set<Role> serRole = userInfo.getRoles();
  1158. boolean flag = false;
  1159. for (Role role : serRole) {
  1160. if(admin_id.equals(role.getRoleId()))
  1161. flag = true;
  1162. }
  1163. if(!flag){
  1164. sql.append(" and ( t.assignee ='").append(userInfo.getUserId()).append("' or t.candidate='").append(userInfo.getUserId()).append("')");}
  1165. sql.append(" order by t.candidate desc ");
  1166. Object[] args = new Object[]{};
  1167. int length = paramList.size();
  1168. if(length>0){
  1169. args=new Object[length];
  1170. for(int i=0;i<length;i++){
  1171. args[i] = paramList.get(i);
  1172. }
  1173. }
  1174. if(!ToolUtil.isNull(pag.getSortFiled())){
  1175. if("infocode".equals(pag.getSortFiled())){
  1176. sql.append(" order by p.infocode "+pag.getSortType());
  1177. }
  1178. else if("isopensocial".equals(pag.getSortFiled())){
  1179. sql.append(" order by p.isopensocial "+pag.getSortType());
  1180. }
  1181. else if("sharetype".equals(pag.getSortFiled())){
  1182. sql.append(" order by p.sharetype "+pag.getSortType());
  1183. }
  1184. }
  1185. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoClassDto>(){
  1186. @Override
  1187. public TinfoClassDto mapRow(ResultSet rs, int rowNum) throws SQLException {
  1188. TinfoClassDto info = new TinfoClassDto();
  1189. VtasklistDto task = new VtasklistDto();
  1190. info.setId(rs.getString("id"));
  1191. info.setInfocode(rs.getString("infocode"));
  1192. info.setInfoname(rs.getString("infoname"));
  1193. info.setInfotypename(rs.getString("infotypename"));
  1194. info.setProvidename(rs.getString("providename"));
  1195. info.setProvidebmname(rs.getString("providebmname"));
  1196. info.setIsopensocial(rs.getString("isopensocial"));
  1197. info.setSharetype(rs.getString("sharetype"));
  1198. task.setActId(rs.getString("act_id"));
  1199. task.setActName(rs.getString("act_name"));
  1200. task.setAssignee(rs.getString("assignee"));
  1201. task.setCandidate(rs.getString("candidate"));
  1202. task.setProcinstId(rs.getString("proc_inst_id"));
  1203. task.setTaskId(rs.getString("task_id"));
  1204. task.setFormkey(rs.getString("form_key"));
  1205. task.setTaskstart(rs.getString("create_time"));
  1206. UserDto user=new UserDto();
  1207. if(rs.getString("assignee")!=null){
  1208. user = uiservice.findById(rs.getString("assignee"));
  1209. }
  1210. else if(rs.getString("candidate")!=null){
  1211. user = uiservice.findById(rs.getString("candidate"));
  1212. }
  1213. if(user!=null)
  1214. task.setAssigneeName(user.getUserName());
  1215. info.setVtaskDto(task);
  1216. return info;
  1217. }
  1218. },jdbcTemplate,database_type);
  1219. return pag;
  1220. }
  1221. public Pagination<DelayInfo> findDelayInfoList(DelayInfo dto,
  1222. Pagination<DelayInfo> pag,User userInfo) {
  1223. StringBuffer sql=new StringBuffer("select p.providebmcode,p.providebmname,q.num datasharenum,w.num servicesharenum from bm_delay p " +
  1224. "left join " +
  1225. "datashare_bm_delay q " +
  1226. "on p.providebmcode=q.providebmcode " +
  1227. "left join " +
  1228. "serviceshare_bm_delay w " +
  1229. "on p.providebmcode=w.providebmcode ");
  1230. List<String> paramList=new ArrayList<String>();
  1231. if(!ToolUtil.isNull(dto.getProvidebmname())){
  1232. paramList.add("%"+dto.getProvidebmname()+"%");
  1233. sql.append(" where p.providebmname like ? ");
  1234. }
  1235. Object[] args = new Object[]{};
  1236. int length = paramList.size();
  1237. if(length>0){
  1238. args=new Object[length];
  1239. for(int i=0;i<length;i++){
  1240. args[i] = paramList.get(i);
  1241. }
  1242. }
  1243. sql.append(" order by q.num desc,w.num desc");
  1244. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<DelayInfo>(){
  1245. @Override
  1246. public DelayInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  1247. DelayInfo info = new DelayInfo();
  1248. info.setProvidebmcode(rs.getString("providebmcode"));
  1249. info.setProvidebmname(rs.getString("providebmname"));
  1250. info.setDatasharenum(rs.getString("datasharenum")==null?"0":rs.getString("datasharenum"));
  1251. info.setServicesharenum(rs.getString("servicesharenum")==null?"0":rs.getString("servicesharenum"));
  1252. List<Map<String,Object>> maplist= jdbcTemplate.queryForList("select p.id from t_messageinfo p where substr(sendtime,1,10)=? and providebmcode=?",
  1253. new Object[] {
  1254. ToolUtil.date2Str(new Date(),"yyyy-MM-dd")
  1255. ,rs.getString("providebmcode")
  1256. });
  1257. if(maplist!=null&&maplist.size()>0) {
  1258. info.setIssend("1");
  1259. }
  1260. else {
  1261. info.setIssend("0");
  1262. }
  1263. return info;
  1264. }
  1265. },jdbcTemplate,database_type);
  1266. return pag;
  1267. }
  1268. public Pagination<TinfoClassDto> findTinfoClassMyYsList(TinfoClassDto dto,VtasklistDto task,
  1269. Pagination<TinfoClassDto> pag,User userInfo) {
  1270. StringBuffer sql=new StringBuffer("select p.providebmname, p.isopensocial,p.id,p.infocode,p.infoname,p.infotypename,p.providename,p.sharetype,t.* from V_HISTASKLIST_T t,t_infoclass p where t.PROINSTID=p.processid and p.id=t.busid ");
  1271. List<String> paramList=new ArrayList<String>();
  1272. if(!ToolUtil.isNull(dto.getInfoname())){
  1273. paramList.add("%"+dto.getInfoname()+"%");
  1274. sql.append(" and p.infoname like ? ");
  1275. }
  1276. if(!ToolUtil.isNull(dto.getSharetype())){
  1277. paramList.add(dto.getSharetype());
  1278. sql.append(" and p.sharetype = ? ");
  1279. }
  1280. if(!ToolUtil.isNull(dto.getInfotypename())){
  1281. paramList.add("%"+dto.getInfotypename()+"%");
  1282. sql.append(" and p.infotypename like ? ");
  1283. }
  1284. if(!ToolUtil.isNull(dto.getProvidename())){
  1285. paramList.add("%"+dto.getProvidename()+"%");
  1286. sql.append(" and p.providename like ? ");
  1287. }
  1288. if(!ToolUtil.isNull(task.getActName())){
  1289. paramList.add("%"+task.getActName()+"%");
  1290. sql.append(" and t.taskname like ? ");
  1291. }
  1292. if(!ToolUtil.isNull(dto.getProvidebmname())){
  1293. paramList.add("%"+dto.getProvidebmname()+"%");
  1294. sql.append(" and p.providebmname like ? ");
  1295. }
  1296. sql.append(" and t.taskman ='").append(userInfo.getUserId()).append("'");
  1297. sql.append(" order by t.taskend desc");
  1298. Object[] args = new Object[]{};
  1299. int length = paramList.size();
  1300. if(length>0){
  1301. args=new Object[length];
  1302. for(int i=0;i<length;i++){
  1303. args[i] = paramList.get(i);
  1304. }
  1305. }
  1306. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoClassDto>(){
  1307. @Override
  1308. public TinfoClassDto mapRow(ResultSet rs, int rowNum) throws SQLException {
  1309. TinfoClassDto info = new TinfoClassDto();
  1310. HisTaskDto task = new HisTaskDto();
  1311. info.setId(rs.getString("id"));
  1312. info.setInfocode(rs.getString("infocode"));
  1313. info.setInfoname(rs.getString("infoname"));
  1314. info.setInfotypename(rs.getString("infotypename"));
  1315. info.setProvidename(rs.getString("providename"));
  1316. info.setProvidebmname(rs.getString("providebmname"));
  1317. info.setIsopensocial(rs.getString("isopensocial"));
  1318. info.setSharetype(rs.getString("sharetype"));
  1319. task.setBusid(rs.getString("busid"));
  1320. task.setTaskid(rs.getString("taskid"));
  1321. task.setProinstid(rs.getString("proinstid"));
  1322. task.setTaskname(rs.getString("taskname"));
  1323. String manname=rs.getString("manname");
  1324. if(!ToolUtil.isNull(manname)&&manname.split(";").length>1){
  1325. task.setManname(manname.split(";")[0]);
  1326. }
  1327. task.setTaskstart(rs.getString("taskstart"));
  1328. task.setTaskend(rs.getString("taskend"));
  1329. task.setResult(rs.getString("taskmessage").split("outcome")[0]);
  1330. task.setOpinion(rs.getString("taskmessage").split("outcome")[1]);
  1331. info.setHisTaskDto(task);
  1332. return info;
  1333. }
  1334. },jdbcTemplate,database_type);
  1335. return pag;
  1336. }
  1337. public List<Map<String,Object>> findExcelData(String sql, Object[] args,Pagination<Map<String,Object>> pag,int lastIndex,int startIndex,final String resulttype) {
  1338. pag = pag.findPagination(sql.toString(),pag,args, new RowMapper<Map<String,Object>>(){
  1339. @Override
  1340. public Map<String,Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  1341. Map<String, Object> dataMap = new HashMap<String, Object>();
  1342. if("1".equals(resulttype)){
  1343. dataMap.put("infocode", rs.getString("infocode"));
  1344. dataMap.put("infoname", rs.getString("infoname"));
  1345. dataMap.put("formattypename", rs.getString("formattypename"));
  1346. if("1".equals(rs.getString("sharetype"))){
  1347. dataMap.put("sharetype","有条件共享");
  1348. }
  1349. else if("2".equals(rs.getString("sharetype"))){
  1350. dataMap.put("sharetype","无条件共享");
  1351. }
  1352. else if("3".equals(rs.getString("sharetype"))){
  1353. dataMap.put("sharetype","不予共享");
  1354. }
  1355. dataMap.put("shareconditions",rs.getString("shareconditions"));
  1356. dataMap.put("sharemodename",rs.getString("sharemodename"));
  1357. dataMap.put("sharemodetypename",rs.getString("sharemodetypename"));
  1358. dataMap.put("isopensocial",rs.getString("isopensocial"));
  1359. dataMap.put("opencondition",rs.getString("opencondition"));
  1360. dataMap.put("updatecycle",rs.getString("updatecycle"));
  1361. dataMap.put("systeminfo",rs.getString("systeminfo"));
  1362. //获取关联事项
  1363. List<Map<String,Object>> itemnamelist=jdbcTemplate.queryForList("select itemname from T_BUSINESSITEM_INFOCLASS p where p.INFOCLASSID=?", new Object[]{rs.getString("id")});
  1364. String itemname="";
  1365. for(Map<String,Object> itemnamemap:itemnamelist){
  1366. itemname+=itemnamemap.get("itemname");
  1367. }
  1368. dataMap.put("itemname",itemname);
  1369. dataMap.put("managetype",rs.getString("managetype"));
  1370. dataMap.put("bz","");
  1371. dataMap.put("datarange",rs.getString("datarange"));
  1372. dataMap.put("providename",rs.getString("providename"));
  1373. dataMap.put("providebmname",rs.getString("providebmname"));
  1374. dataMap.put("infotypename",rs.getString("infotypename"));
  1375. dataMap.put("versionid",rs.getString("versionid"));
  1376. String inprocess = rs.getString("inprocess");
  1377. if("0".equals(inprocess)){
  1378. dataMap.put("taskname","未提交");
  1379. }
  1380. else if("1".equals(inprocess)){
  1381. dataMap.put("taskname",rs.getString("taskname"));
  1382. }
  1383. else if("2".equals(inprocess)){
  1384. dataMap.put("taskname","已发布");
  1385. }
  1386. else if("3".equals(inprocess)){
  1387. dataMap.put("taskname","审核不通过");
  1388. }
  1389. else if("4".equals(inprocess)){
  1390. dataMap.put("taskname","已作废");
  1391. }
  1392. else if("5".equals(inprocess)){
  1393. dataMap.put("taskname","停用");
  1394. }
  1395. if("1".equals(rs.getString("hitch_status"))){
  1396. dataMap.put("hitchstatus","已挂接");
  1397. }
  1398. else{
  1399. dataMap.put("hitchstatus","未挂接");
  1400. }
  1401. dataMap.put("hitchdate",rs.getString("hitchdate"));
  1402. if("2".equals(inprocess)||"5".equals(inprocess)){
  1403. dataMap.put("releasedate",rs.getString("updatetime"));
  1404. }
  1405. dataMap.put("createdate",rs.getString("createdate"));
  1406. List<Map<String,Object>> resnamelist=jdbcTemplate.queryForList("select q.resname resname from T_infoclass_Res p,T_RES_CLASSIFY q where p.TINFOCLASSID=? and q.RESID=p.resid", new Object[]{rs.getString("id")});
  1407. String resname="";
  1408. for(Map<String,Object> resnamemap:resnamelist){
  1409. resname+=resnamemap.get("resname");
  1410. }
  1411. dataMap.put("resname",resname);
  1412. }
  1413. else if("2".equals(resulttype)){
  1414. //信息资源编码
  1415. dataMap.put("infocode", rs.getString("infocode"));
  1416. //信息资源名称
  1417. dataMap.put("infoname", rs.getString("infoname"));
  1418. //信息资源摘要
  1419. dataMap.put("infoabstracts", rs.getString("infoabstracts"));
  1420. //信息资源格式
  1421. dataMap.put("formattypename", rs.getString("formattypename"));
  1422. //信息项编码
  1423. dataMap.put("xxxbm", rs.getString("xxxbm"));
  1424. //信息项名称
  1425. dataMap.put("xxxmc", rs.getString("xxxmc"));
  1426. //数据元编号
  1427. List<Map<String,Object>> datacode=jdbcTemplate.queryForList("select datacode from t_datameta where id=?",new Object[]{rs.getString("datametaid")});
  1428. if(datacode!=null&&!datacode.isEmpty()){
  1429. dataMap.put("datametaid", datacode.get(0).get("datacode"));
  1430. }
  1431. else{
  1432. dataMap.put("datametaid", "");
  1433. }
  1434. //数据说明
  1435. dataMap.put("ranges", rs.getString("ranges"));
  1436. dataMap.put("datasize", rs.getString("datasize"));
  1437. dataMap.put("datatype_dis", rs.getString("datatype_dis"));
  1438. //共享类型
  1439. if("1".equals(rs.getString("sharetype"))){
  1440. dataMap.put("sharetype","有条件共享");
  1441. }
  1442. else if("2".equals(rs.getString("sharetype"))){
  1443. dataMap.put("sharetype","无条件共享");
  1444. }
  1445. else if("3".equals(rs.getString("sharetype"))){
  1446. dataMap.put("sharetype","不予共享");
  1447. }
  1448. //共享条件
  1449. dataMap.put("shareconditions", rs.getString("shareconditions"));
  1450. //共享方式
  1451. dataMap.put("sharemodename", rs.getString("sharemodename"));
  1452. dataMap.put("sharemodetypename", rs.getString("sharemodetypename"));
  1453. //是否向社会开放
  1454. dataMap.put("isopensocial", rs.getString("isopensocial"));
  1455. //开放条件
  1456. dataMap.put("opencondition", rs.getString("opencondition"));
  1457. //更新周期
  1458. dataMap.put("updatecycle", rs.getString("updatecycle"));
  1459. //信息资源格式
  1460. dataMap.put("subformattypename",rs.getString("subformattypename"));
  1461. /*'' 关联信息系统,*/
  1462. //获取关联事项
  1463. List<Map<String,Object>> itemnamelist=jdbcTemplate.queryForList("select itemname from T_BUSINESSITEM_INFOCLASS p where p.INFOCLASSID=?", new Object[]{rs.getString("id")});
  1464. String itemname="";
  1465. for(Map<String,Object> itemnamemap:itemnamelist){
  1466. itemname+=itemnamemap.get("itemname");
  1467. }
  1468. dataMap.put("itemname",itemname);
  1469. /*关联资源分类*/
  1470. List<Map<String,Object>> resnamelist=jdbcTemplate.queryForList("select q.resname resname from T_infoclass_Res p,T_RES_CLASSIFY q where p.TINFOCLASSID=? and q.RESID=p.resid", new Object[]{rs.getString("id")});
  1471. String resname="";
  1472. for(Map<String,Object> resnamemap:resnamelist){
  1473. resname+=resnamemap.get("resname");
  1474. }
  1475. dataMap.put("resname",resname);
  1476. //管理方式
  1477. dataMap.put("managetype", rs.getString("managetype"));
  1478. /*'' 备注*/
  1479. //数据范围
  1480. dataMap.put("datarange", rs.getString("datarange"));
  1481. //提供处室
  1482. dataMap.put("providename", rs.getString("providename"));
  1483. //提供部门
  1484. dataMap.put("providebmname", rs.getString("providebmname"));
  1485. //资源分类
  1486. dataMap.put("infotypename", rs.getString("infotypename"));
  1487. //版本号
  1488. dataMap.put("versionid", rs.getString("versionid"));
  1489. //发布时间
  1490. dataMap.put("updatetime", rs.getString("updatetime"));
  1491. if("1".equals(rs.getString("hitch_status"))){
  1492. dataMap.put("hitchstatus","已挂接");
  1493. }
  1494. else{
  1495. dataMap.put("hitchstatus","未挂接");
  1496. }
  1497. /*'' 关联分类*/
  1498. }
  1499. return dataMap;
  1500. }
  1501. },jdbcTemplate,database_type, lastIndex, startIndex);
  1502. return pag.getPageResult();
  1503. }
  1504. //@CacheEvict(value = "tinfoClassCache", key = "#root.targetClass + #busId")
  1505. public void updateTinfoClassStateById(String busId, String state) {
  1506. // TODO Auto-generated method stub
  1507. tinfoClassRepository.updateTinfoClassStateById(busId,state);
  1508. }
  1509. //导出Word
  1510. public Map getData(String ids){
  1511. Map dataMap = new HashMap();
  1512. StringBuffer sql=new StringBuffer("SELECT ID,INFOCODE,INFOTYPENAME,INFONAME,PROVIDENAME,");
  1513. sql.append("CREDITNO, PROVIDEBMNAME, YWBMNAME, XZQHNAME,");
  1514. sql.append("FORMATTYPENAME, MANAGETYPE, INFOABSTRACTS, case when sharetype='1' then '有条件共享' when sharetype='2' then '无条件共享' else '不予共享' end SHARETYPE, ISOPENSOCIAL,");
  1515. sql.append("SHARECONDITIONS, UPDATECYCLE, SYSTEMINFO, DATARANGE,ISSECRET,SHAREMODENAME ");
  1516. if("oracle".equals(database_type)){
  1517. sql.append("FROM T_INFOCLASS where instr(','||?||',',','||id||',')>0");
  1518. }
  1519. else if ("mysql".equals(database_type)){
  1520. sql.append("FROM T_INFOCLASS where instr( concat(',', ?,',', ','), concat(',' , id , ',' )) >0");
  1521. }
  1522. List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
  1523. List<Map<String,Object>> xxxlist=new ArrayList<Map<String,Object>>();
  1524. List<Map<String,Object>> sjylist=new ArrayList<Map<String,Object>>();
  1525. List<Map<String,Object>> dmjlist=new ArrayList<Map<String,Object>>();
  1526. list=jdbcTemplate.queryForList(sql.toString(), new Object[]{ids});
  1527. for(Map<String,Object> map:list){
  1528. //获取所有的信息项
  1529. xxxlist= jdbcTemplate.queryForList("select t.*,y.CODESET_ID from (select p.XXXMC,p.XXXBM,p.DATATYPE_DIS,q.DATACODE,p.SHARETYPE,p.ISOPENSOCIAL,p.DATASIZE,p.CODESETID from T_INFOCLASS_DATAMETA p left join t_datameta q on p.DATAMETAID=q.id where p.TINFOCLASSID=?) t left join T_CODESET y on t.CODESETID=y.id ORDER BY xxxbm asc",new Object[]{map.get("ID")});
  1530. sjylist= jdbcTemplate.queryForList("select distinct p.* from T_INFOCLASS_DATAMETA t,T_DATAMETA p where t.TINFOCLASSID=? and t.DATAMETAID=p.id ",new Object[]{map.get("ID")});
  1531. dmjlist= jdbcTemplate.queryForList("select distinct p.* from T_INFOCLASS_DATAMETA t,T_CODESET p where t.CODESETID=p.id and t.TINFOCLASSID=?",new Object[]{map.get("ID")});
  1532. for(Map temp:dmjlist){
  1533. temp.put("dmdetail", jdbcTemplate.queryForList("select * from T_CODESET_DETAIL t where t.fid=?",new Object[]{temp.get("ID")}));
  1534. }
  1535. map.put("xxxlist", xxxlist);
  1536. map.put("sjylist", sjylist);
  1537. map.put("dmjlist", dmjlist);
  1538. //获取关联资源分类
  1539. List<Map<String,Object>> resnamelist=jdbcTemplate.queryForList("select q.resname resname from T_infoclass_Res p,T_RES_CLASSIFY q where p.TINFOCLASSID=? and q.RESID=p.resid", new Object[]{map.get("ID")});
  1540. String resname="";
  1541. for(Map<String,Object> resnamemap:resnamelist){
  1542. resname+=resnamemap.get("resname");
  1543. }
  1544. map.put("RESNAME",resname);
  1545. //获取关联事项
  1546. List<Map<String,Object>> itemnamelist=jdbcTemplate.queryForList("select itemname from T_BUSINESSITEM_INFOCLASS p where p.INFOCLASSID=?", new Object[]{map.get("ID")});
  1547. String itemname="";
  1548. for(Map<String,Object> itemnamemap:itemnamelist){
  1549. itemname+=itemnamemap.get("itemname");
  1550. }
  1551. map.put("ITEMNAME",itemname);
  1552. }
  1553. dataMap.put("list",list);
  1554. return dataMap;
  1555. }
  1556. public void saveSubcriInfo(String busId, User userInfo) {
  1557. // TODO Auto-generated method stub
  1558. TinfoClass info = tinfoClassRepository.findOne(busId);
  1559. Subscribemanage subscri = subscribemanageRepository.findInfoByClassIdAndUserId(busId,userInfo.getUserId());
  1560. if(subscri==null){
  1561. subscri =new Subscribemanage();
  1562. subscri.setId(ToolUtil.getUUID());
  1563. }
  1564. subscri.setInfoclassids(busId);
  1565. subscri.setInfoclassnames(info.getInfoname());
  1566. subscri.setCreatename(userInfo.getUserName());
  1567. subscri.setCreatenameid(userInfo.getUserId());
  1568. subscri.setState("1");
  1569. subscri.setSubscribedate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  1570. subscribemanageRepository.save(subscri);
  1571. }
  1572. public Pagination<TinfoClassDto> findMySubscriList(TinfoClassDto dto,
  1573. Pagination<TinfoClassDto> pag,User userInfo) {
  1574. StringBuffer sql=new StringBuffer("select p.versionid,p.hitch_status,p.isopensocial, p.sourceid,p.id,p.infocode,p.infoname,p.infotypename,p.providename,p.providebmname,p.providezgname,p.sharetype from subscribemanage t,t_infoclass p where t.infoclassids=p.id and t.state='1' ");
  1575. List<String> paramList=new ArrayList<String>();
  1576. if(!ToolUtil.isNull(dto.getInfoname())){
  1577. paramList.add("%"+dto.getInfoname()+"%");
  1578. sql.append(" and p.infoname like ? ");
  1579. }
  1580. if(!ToolUtil.isNull(dto.getInfocode())){
  1581. paramList.add("%"+dto.getInfocode()+"%");
  1582. sql.append(" and p.infocode like ? ");
  1583. }
  1584. if(!ToolUtil.isNull(dto.getInfotypename())){
  1585. paramList.add("%"+dto.getInfotypename()+"%");
  1586. sql.append(" and p.infotypename like ? ");
  1587. }
  1588. if(!ToolUtil.isNull(dto.getProvidebmname())){
  1589. paramList.add("%"+dto.getProvidebmname()+"%");
  1590. sql.append(" and p.providename like ? ");
  1591. }
  1592. if(!ToolUtil.isNull(dto.getSharetype())){
  1593. paramList.add(dto.getSharetype());
  1594. sql.append(" and p.sharetype = ? ");
  1595. }
  1596. if(!ToolUtil.isNull(dto.getIsopensocial())){
  1597. paramList.add(dto.getIsopensocial());
  1598. sql.append(" and p.isopensocial = ? ");
  1599. }
  1600. if(!ToolUtil.isNull(dto.getProvidezgname())){
  1601. paramList.add("%"+dto.getProvidezgname()+"%");
  1602. sql.append(" and p.providezgname like ? ");
  1603. }
  1604. //起始时间
  1605. if(!ToolUtil.isNull(dto.getStartdate())){
  1606. paramList.add(dto.getStartdate());
  1607. sql.append("and p.updatetime >= ?");
  1608. }
  1609. //结束时间
  1610. if(!ToolUtil.isNull(dto.getEnddate())){
  1611. paramList.add(dto.getEnddate()+" 23:59:59");
  1612. sql.append("and p.updatetime <= ?");
  1613. }
  1614. if(dto.getHitchStatus()!=null){
  1615. paramList.add(dto.getHitchStatus()+"");
  1616. if("1".equals(dto.getHitchStatus()+""))
  1617. sql.append(" and p.hitch_status = ? ");
  1618. else {
  1619. sql.append(" and (p.hitch_status = ? or p.hitch_status is null) ");
  1620. }
  1621. }
  1622. sql.append(" and t.createnameid ='").append(userInfo.getUserId()).append("'");
  1623. Object[] args = new Object[]{};
  1624. int length = paramList.size();
  1625. if(length>0){
  1626. args=new Object[length];
  1627. for(int i=0;i<length;i++){
  1628. args[i] = paramList.get(i);
  1629. }
  1630. }
  1631. if(!ToolUtil.isNull(pag.getSortFiled())){
  1632. if("infocode".equals(pag.getSortFiled())){
  1633. sql.append(" order by p.infocode "+pag.getSortType());
  1634. }
  1635. else if("isopensocial".equals(pag.getSortFiled())){
  1636. sql.append(" order by p.isopensocial "+pag.getSortType());
  1637. }
  1638. else if("sharetype".equals(pag.getSortFiled())){
  1639. sql.append(" order by p.sharetype "+pag.getSortType());
  1640. }
  1641. }
  1642. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoClassDto>(){
  1643. @Override
  1644. public TinfoClassDto mapRow(ResultSet rs, int rowNum) throws SQLException {
  1645. TinfoClassDto info = new TinfoClassDto();
  1646. info.setId(rs.getString("id"));
  1647. info.setInfocode(rs.getString("infocode"));
  1648. info.setInfoname(rs.getString("infoname"));
  1649. info.setInfotypename(rs.getString("infotypename"));
  1650. info.setProvidename(rs.getString("providename"));
  1651. info.setProvidezgname(rs.getString("providezgname"));
  1652. info.setProvidebmname(rs.getString("providebmname"));
  1653. info.setSharetype(rs.getString("sharetype"));
  1654. info.setSourceid(rs.getString("sourceid"));
  1655. info.setVersionid(rs.getInt("versionid"));
  1656. info.setIsopensocial(rs.getString("isopensocial"));
  1657. info.setHitchStatus(rs.getInt("hitch_status"));
  1658. return info;
  1659. }
  1660. },jdbcTemplate,database_type);
  1661. return pag;
  1662. }
  1663. public void unSubcri(String busId, User userInfo) {
  1664. // TODO Auto-generated method stub
  1665. subscribemanageRepository.unSubcri(busId,userInfo.getUserId(),ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  1666. }
  1667. public List<TinfoClassDto> getAll(Vector<String> v1, String id, String sourceid) {
  1668. // TODO Auto-generated method stub
  1669. StringBuffer sql=new StringBuffer("select id,infoname from t_infoclass " );
  1670. List<TinfoClassDto> infoList = new ArrayList<TinfoClassDto>();
  1671. List<String> paramList=new ArrayList<String>();
  1672. sql.append(" where id!=? and sourceid!=? ");
  1673. paramList.add(id);
  1674. paramList.add(sourceid);
  1675. String s="";
  1676. for(String str:v1){
  1677. if(str.length()>1&&s.indexOf(str+"|")<0)
  1678. s+=str+"|";
  1679. }
  1680. if(!ToolUtil.isNull(s)){
  1681. if("oracle".equals(database_type)){
  1682. sql.append(" and REGEXP_LIKE(infoname, ?) ");
  1683. paramList.add(s.substring(0, s.length()-1)+"");
  1684. }
  1685. else if("mysql".equals(database_type)){
  1686. sql.append("and infoname REGEXP ? ");
  1687. paramList.add(s.substring(0, s.length()-1)+"");
  1688. }
  1689. }
  1690. Object[] args = new Object[]{};
  1691. int length = paramList.size();
  1692. if(length>0){
  1693. args=new Object[length];
  1694. for(int i=0;i<length;i++){
  1695. args[i] = paramList.get(i);
  1696. }
  1697. }
  1698. infoList = jdbcTemplate.query(sql.toString(), args,
  1699. new RowMapper<TinfoClassDto>() {
  1700. @Override
  1701. public TinfoClassDto mapRow(ResultSet rs, int rowNum)
  1702. throws SQLException {
  1703. TinfoClassDto info = new TinfoClassDto();
  1704. info.setId(rs.getString("id"));
  1705. info.setInfoname(rs.getString("infoname"));
  1706. return info;
  1707. }
  1708. }
  1709. );
  1710. return infoList;
  1711. }
  1712. //修改挂接上传文件信息
  1713. public void updateTinfoClassHitUp(TinfoClassDto info) {
  1714. // TODO Auto-generated method stub
  1715. tinfoClassRepository.updateTinfoClassHitUpById(info.getId(), info.getHitchUpAdress(), info.getHitchUpName(), info.getHitchSize());
  1716. }
  1717. //修改挂接信息
  1718. public void updateTinfoClassHitInfoById(TinfoClassDto info, User userInfo) {
  1719. // TODO Auto-generated method stub
  1720. tinfoClassRepository.updateTinfoClassHitInfoById(info.getId(), info.getHitch(),userInfo.getUserName(),ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"),info.getDbid());
  1721. }
  1722. public TinfoClass findTinfoClassByInfoCode(String infoCode) {
  1723. // TODO Auto-generated method stub
  1724. return tinfoClassRepository.findTinfoClassByInfoCode(infoCode);
  1725. }
  1726. public void syncSxmlInfo() {
  1727. login();
  1728. }
  1729. public void login(){
  1730. ObjectMapper mapper = new ObjectMapper();
  1731. Map<String, String> paramsMap =new HashMap<String,String>();
  1732. paramsMap.put("account", "gd_gxpt440000");
  1733. paramsMap.put("password", "28c9e2d831ab4e86747220b04de4d5a0");
  1734. paramsMap.put("zzjgdm", "");
  1735. paramsMap.put("app_key", "gd_gxpt");
  1736. paramsMap.put("app_secret", "FoZhPSOd9GOQExi5");
  1737. String requestURL = "http://19.224.1.97:8086/service";
  1738. String apiName = "sxml.security.login";
  1739. String version = "1.0.0";
  1740. String accessKey = "6b3131e4b91240b8bb3de475457f8ad2";
  1741. String securityKey = "8ElYku6j9DWjz3xt9ohc6VY/dxY=";
  1742. String csbresult="";
  1743. try {
  1744. csbresult = HttpCaller.changeCharset(HttpCaller.doPost(requestURL, apiName, version, paramsMap, accessKey, securityKey));
  1745. Map map;
  1746. try {
  1747. map = mapper.readValue(csbresult, Map.class);
  1748. list_new_LocalDirectory2(map.get("access_token")+"");
  1749. } catch (JsonParseException e) {
  1750. // TODO Auto-generated catch block
  1751. e.printStackTrace();
  1752. } catch (JsonMappingException e) {
  1753. // TODO Auto-generated catch block
  1754. e.printStackTrace();
  1755. } catch (IOException e) {
  1756. // TODO Auto-generated catch block
  1757. e.printStackTrace();
  1758. }
  1759. } catch (HttpCallerException e) {
  1760. e.printStackTrace();
  1761. }
  1762. }
  1763. public void list_new_LocalDirectory2(String access_token) {
  1764. ObjectMapper mapper = new ObjectMapper();
  1765. Calendar c = Calendar.getInstance();
  1766. c.setTime(new Date());
  1767. c.add(Calendar.DATE, -1);
  1768. Date m = c.getTime();
  1769. Map<String, String> paramsMap =new HashMap<String,String>();
  1770. paramsMap.put("access_token", access_token);
  1771. paramsMap.put("itemcode", "");
  1772. paramsMap.put("startdate", ToolUtil.date2Str(m, "yyyy-MM-dd"));
  1773. paramsMap.put("enddate", "");
  1774. String requestURL = "http://19.224.1.97:8086/service";
  1775. String apiName = "sxml.local_directory.list_new_LocalDirectory";
  1776. String version = "1.0.0";
  1777. String accessKey = "6b3131e4b91240b8bb3de475457f8ad2";
  1778. String securityKey = "8ElYku6j9DWjz3xt9ohc6VY/dxY=";
  1779. String csbresult="";
  1780. try {
  1781. csbresult = HttpCaller.changeCharset(HttpCaller.doPost(requestURL, apiName, version, paramsMap, accessKey, securityKey));
  1782. if(csbresult.contains("SUCCESS")){
  1783. try {
  1784. Map map = mapper.readValue(csbresult, Map.class);
  1785. List<Map> maplist=(List<Map>) map.get("data");
  1786. int i=0;
  1787. Sxcode sxcode=new Sxcode();
  1788. for(Map t:maplist){
  1789. sxcode.setCode(t.get("code")+"");
  1790. sxcode.setFlag("0");
  1791. sxcodeRepository.saveAndFlush(sxcode);
  1792. }
  1793. } catch (IOException e) {//
  1794. // TODO Auto-generated catch block
  1795. e.printStackTrace();
  1796. }
  1797. }
  1798. } catch (HttpCallerException e) {
  1799. e.printStackTrace();
  1800. }
  1801. List<Map<String,Object>> synlist=jdbcTemplate.queryForList("select code,flag from sxcode where flag='0' ");
  1802. try {
  1803. doReadList(synlist,access_token);
  1804. } catch (InterruptedException | ExecutionException e) {
  1805. // TODO Auto-generated catch block
  1806. e.printStackTrace();
  1807. }
  1808. }
  1809. public void doReadList(List<Map<String,Object>> list,String access_token) throws InterruptedException, ExecutionException{
  1810. /**接收集合各段的 执行的返回结果**/
  1811. List<Future<List<Map<String,Object>>>> futureList = new ArrayList<Future<List<Map<String,Object>>>>();
  1812. /**集合总条数**/
  1813. int size = list.size();
  1814. /**将集合切分的段数**/
  1815. int sunSum = 20;
  1816. int listStart,listEnd;
  1817. /***当总条数不足10条时 用总条数 当做线程切分值**/
  1818. if(sunSum > size){
  1819. sunSum = size;
  1820. }
  1821. /**定义子线程**/
  1822. SunSxmlCallable sunCallable;
  1823. for (int i = 0; i < sunSum; i++) {
  1824. /***计算切割 开始和结束**/
  1825. listStart = size / sunSum * i ;
  1826. listEnd = size / sunSum * ( i + 1 );
  1827. /**最后一段线程会 出现与其他线程不等的情况**/
  1828. if(i == sunSum - 1){
  1829. listEnd = size;
  1830. }
  1831. /**线程切断**/
  1832. List<Map<String,Object>> sunList = list.subList(listStart,listEnd);
  1833. /**子线程初始化**/
  1834. sunCallable = new SunSxmlCallable(sunList,access_token,i);
  1835. /***多线程执行***/
  1836. futureList.add(threadPoolTaskExecutor.submit(sunCallable));
  1837. }
  1838. }
  1839. public void saveXxxBm(String infocode, String id) {
  1840. // TODO Auto-generated method stub
  1841. List<Map<String,Object>> list = jdbcTemplate.queryForList("select id,indexnum,xxxbm,glxxxid from t_infoclass_datameta where tinfoclassid=? order by indexnum ", new Object[]{id});
  1842. int j=0;
  1843. int bm=0;
  1844. for(Map<String,Object> map:list){
  1845. if(map.get("XXXBM")!=null&&!"".equals(map.get("XXXBM").toString())&&(map.get("glxxxid")==null||"".equals(map.get("glxxxid").toString()))){
  1846. String temp = map.get("XXXBM").toString();
  1847. try{ if(temp.length()>3){
  1848. if(Integer.valueOf(temp.substring(temp.length()-3, temp.length()))>bm){
  1849. bm = Integer.valueOf(temp.substring(temp.length()-3, temp.length()));
  1850. }
  1851. }
  1852. }
  1853. catch(NumberFormatException e){
  1854. }
  1855. }
  1856. }
  1857. for(int i=0;i<list.size();i++){
  1858. if(list.get(i).get("XXXBM")==null||"".equals(String.valueOf(list.get(i).get("XXXBM")))){
  1859. bm=bm+1;
  1860. jdbcTemplate.update("update t_infoclass_datameta set xxxbm=? where id=? ", new Object[]{infocode+ToolUtil.lpad(bm+"", 3, "0"),list.get(i).get("ID")});
  1861. }
  1862. }
  1863. }
  1864. public String generateSql(String infoclassid,String database,String shareid) {
  1865. StringBuffer sql=new StringBuffer("");
  1866. StringBuffer sqlshareid=new StringBuffer("");
  1867. if(!ToolUtil.isNull(shareid)) {
  1868. sqlshareid.append(" and id in (select trim(T_INFOCLASS_DATAMETA_ID) from apply_class where T_SHAREAPPLY_ID='").append(shareid).append("') ");
  1869. }
  1870. String generatesql="";
  1871. Map<String,Object> tablenameMap= jdbcTemplate.queryForMap("select infocode,versionid,infoname from t_infoclass where id=? ", new Object[]{infoclassid});
  1872. if(database_type.equals("mysql")){
  1873. sql.append("select p .isprimary, p .xxxmc, concat('F_' , replace (p .xxxbm, '/', '_')) field_name, p .datatype, p.datasize from t_infoclass_datameta p where p .tinfoclassid = ? ").append(sqlshareid).append(" order by xxxbm") ;
  1874. }
  1875. else{
  1876. sql.append("select p .isprimary, p .xxxmc, 'F_' || replace (p .xxxbm, '/', '_') field_name, p .datatype, p.datasize from t_infoclass_datameta p where p .tinfoclassid = ? ").append(sqlshareid).append(" order by xxxbm");
  1877. }
  1878. String table_name="";
  1879. String infocode=String.valueOf(tablenameMap.get("infocode")==null?"":tablenameMap.get("infocode"));
  1880. String versionid=String.valueOf(tablenameMap.get("versionid")==null?"":tablenameMap.get("versionid"));
  1881. table_name="T_"+(infocode.replace("/", "_"));//+"_V"+versionid
  1882. List<Map<String,Object>> maplist = jdbcTemplate.queryForList(sql.toString(), new Object[]{infoclassid});
  1883. generatesql = ToolUtil.generateCreateTableSql(table_name,maplist,database,String.valueOf(tablenameMap.get("infoname")));
  1884. return generatesql;
  1885. }
  1886. public void generateGxwzinfo() {
  1887. List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select infocode,infoname,providebmname,versionid,hitch_status from t_infoclass where latestversion='1' and inprocess='2'");
  1888. for(Map<String,Object> map:maplist){
  1889. String infocode=String.valueOf(map.get("infocode"));
  1890. //判断是否存在infocode
  1891. String table_name="T_"+(infocode.replace("/", "_"));//+"_V"+String.valueOf(map.get("versionid"))
  1892. List<Map<String,Object>> result=jdbcTemplate.queryForList("select catalog_table_name from GXWZ_INFOCLASS_CATALOG_REL where infoclass_code=? ",new Object[]{infocode});
  1893. if(result!=null&&result.size()>0){//
  1894. if(String.valueOf(result.get(0).get("catalog_table_name")).contains(infocode.replace("/", "_"))){
  1895. jdbcTemplate.update(
  1896. "update gxwz_infoclass_catalog_rel set infoclass_code=?,infoclass_name=?,infoclass_dept=?,catalog_table_name=?,ishangon=? where infoclass_code=?", new Object[]{
  1897. String.valueOf(map.get("infocode")),String.valueOf(map.get("infoname")),String.valueOf(map.get("providebmname")),table_name,String.valueOf(map.get("hitch_status")),String.valueOf(map.get("infocode"))
  1898. });
  1899. }
  1900. }
  1901. else{
  1902. jdbcTemplate.update(
  1903. "insert into gxwz_infoclass_catalog_rel ( infoclass_code,infoclass_name,infoclass_dept,catalog_table_name,ishangon) values (?,?,?,?,?) ", new Object[]{
  1904. String.valueOf(map.get("infocode")),String.valueOf(map.get("infoname")),String.valueOf(map.get("providebmname")),table_name,String.valueOf(map.get("hitch_status"))
  1905. });
  1906. }
  1907. }
  1908. }
  1909. public void updateInfocatalogJob(boolean isAll) {
  1910. List<Map<String,Object>> maplist=new ArrayList<>();
  1911. if(isAll)
  1912. maplist = jdbcTemplate.queryForList("select id,infotypeid from t_infoclass ");
  1913. else
  1914. maplist = jdbcTemplate.queryForList("select id,infotypeid from t_infoclass where infocatalogcode is null");
  1915. for(Map<String,Object> map:maplist){
  1916. String infotypeid=String.valueOf(map.get("infotypeid"));
  1917. String infocatalogcode="";
  1918. List<Map<String,Object>> templist =jdbcTemplate.queryForList("select presid,rescode from t_res_classify where resid=?", new Object[]{infotypeid});
  1919. while(templist!=null&&templist.size()>0){
  1920. infocatalogcode=templist.get(0).get("rescode")+infocatalogcode;
  1921. templist =jdbcTemplate.queryForList("select presid,rescode from t_res_classify where resid=?", new Object[]{templist.get(0).get("presid")});
  1922. }
  1923. jdbcTemplate.update("update t_infoclass set infocatalogcode=? where id=?", new Object[]{infocatalogcode,map.get("id")});
  1924. }
  1925. }
  1926. public TinfoClassDto getDefaultInfoByUserId(String userId) {
  1927. TinfoClassDto dto =new TinfoClassDto();
  1928. String sql="select t.dept_name,t.dept_id,t.ywbmid,t.ywbmcode,t.pdeptids,t.ywbmname,t.creditno,t.xzqhcode,t.xzqhid,t.xzqhname,getParentList(x.resid) resname,x.rescode,x.resid from (select q.dept_name,q.dept_id,q.ywbmcode,q.ywbmname,q.creditno,xzqhcode,xzqhid,xzqhname,ywbmid,q.pdeptids from dept_user p,deptinfo q where p.dept_id=q.dept_id and creditno is not null and user_id=?) t left join t_res_classify x on t.dept_id=x.deptid";
  1929. List<Map<String,Object>> maplist=new ArrayList<>();
  1930. maplist=jdbcTemplate.queryForList(sql,new Object[] {userId});
  1931. if(maplist!=null&&maplist.size()>0) {
  1932. Map<String,Object> map =maplist.get(0);
  1933. if(ToolUtil.ToString(map.get("dept_name")).contains("c271fb9c6e7e4faab8d27c91352b597d")) {
  1934. dto.setSharerange("市本级");
  1935. }else {
  1936. dto.setSharerange("其他");
  1937. }
  1938. dto.setProvidebmname(ToolUtil.ToString(map.get("dept_name")));
  1939. dto.setProvidebmcode(ToolUtil.ToString(map.get("dept_id")));
  1940. dto.setXzqhcode(ToolUtil.ToString(map.get("xzqhcode")));
  1941. dto.setXzqhid(ToolUtil.ToString(map.get("xzqhid")));
  1942. dto.setXzqhname(ToolUtil.ToString(map.get("xzqhname")));
  1943. dto.setCreditno(ToolUtil.ToString(map.get("creditno")));
  1944. dto.setInfotype(ToolUtil.ToString(map.get("rescode")));
  1945. dto.setInfotypeid(ToolUtil.ToString(map.get("resid")));
  1946. dto.setInfotypename(ToolUtil.ToString(map.get("resname")).replace("直辖市-天津市-", "").replace("市本级-", ""));
  1947. dto.setYwbmcode(ToolUtil.ToString(map.get("ywbmcode")));
  1948. dto.setYwbmname(ToolUtil.ToString(map.get("ywbmname")));
  1949. dto.setYwbmid(ToolUtil.ToString(map.get("ywbmid")));
  1950. }
  1951. return dto;
  1952. }
  1953. public void deptSynToBusiness() {
  1954. List<Map<String,Object>> maplist2 =jdbcTemplate.queryForList("select p.dept_id,q.id,q.code_code,q.code_name from deptinfo p,code q where p.xzqhid=q.id and (p.xzqhname!=q.code_name or p.xzqhcode!=q.code_code)");
  1955. for(Map<String,Object> map:maplist2) {
  1956. jdbcTemplate.update("update deptinfo set xzqhname=?,xzqhid=?,xzqhcode=? where dept_id=?", new Object[] {
  1957. map.get("code_name")
  1958. ,map.get("id")
  1959. ,map.get("code_code")
  1960. ,map.get("dept_id")
  1961. }
  1962. );
  1963. }
  1964. //信息类提供方部门修改
  1965. List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select distinct q.dept_name,q.dept_id,q.xzqhcode,q.xzqhname,q.ywbmname,q.ywbmcode,q.creditno from t_infoclass p,deptinfo q where p.providebmcode=q.dept_id and (p.providebmname!=q.dept_name or p.xzqhcode!=q.xzqhcode or p.ywbmcode!=q.ywbmcode or p.creditno!=q.creditno or q.xzqhname!=p.xzqhname or p.ywbmname!=q.ywbmname)");
  1966. for(Map<String,Object>map:maplist) {
  1967. jdbcTemplate.update("update t_infoclass set providebmname=?,xzqhcode=?,xzqhname=?,ywbmname=?,ywbmcode=?,creditno=? where providebmcode=?",
  1968. new Object[] {
  1969. map.get("dept_name"),map.get("xzqhcode"),map.get("xzqhname"),map.get("ywbmname")
  1970. ,map.get("ywbmcode"),map.get("creditno"),map.get("dept_id")
  1971. }
  1972. );
  1973. }
  1974. //服务注册业务信息同步
  1975. List<Map<String,Object>> mapfwzclist = jdbcTemplate.queryForList("select dept_id,dept_name from t_service_reginfo p,deptinfo q where p.provideid=q.dept_id and p.providename!=q.dept_name");
  1976. for(Map<String,Object>map:mapfwzclist) {
  1977. jdbcTemplate.update("update t_service_reginfo set providename=? where provideid=?",
  1978. new Object[] {
  1979. map.get("dept_name"),map.get("dept_id")
  1980. }
  1981. );
  1982. }
  1983. //共享申请信息同步
  1984. List<Map<String,Object>> mapgxqlist = jdbcTemplate.queryForList("select dept_id,dept_name from t_shareapply p,deptinfo q where p.applydeptid=q.dept_id and p.applydeptname!=q.dept_name");
  1985. for(Map<String,Object>map:mapgxqlist) {
  1986. jdbcTemplate.update("update t_shareapply set applydeptname=? where applydeptid=?",
  1987. new Object[] {
  1988. map.get("dept_name"),map.get("dept_id")
  1989. }
  1990. );
  1991. }
  1992. //接口申请信息同步
  1993. List<Map<String,Object>> mapjksqlist = jdbcTemplate.queryForList("select q.dept_id,q.dept_name from t_service_applyinfo p,deptinfo q where p.mingchengid=q.dept_id and p.mingcheng!=q.dept_name");
  1994. for(Map<String,Object>map:mapjksqlist) {
  1995. jdbcTemplate.update("update t_service_applyinfo set mingcheng=? where mingchengid=?",
  1996. new Object[] {
  1997. map.get("dept_name"),map.get("dept_id")
  1998. }
  1999. );
  2000. }
  2001. }
  2002. public boolean xxxIsModified(String id, String parentid) {
  2003. StringBuffer sql=new StringBuffer("select datatype,datasize,xxxmc,xxxbm,datametaid,metaname from t_infoclass_datameta where tinfoclassid=?");
  2004. List<Map<String,Object>> infolist = jdbcTemplate.queryForList(sql.toString(),new Object[] {id});
  2005. List<Map<String,Object>> parentlist = jdbcTemplate.queryForList(sql.toString(),new Object[] {parentid});
  2006. if(infolist==null) {
  2007. infolist=new ArrayList<>();
  2008. }
  2009. if(parentlist==null) {
  2010. parentlist=new ArrayList<>();
  2011. }
  2012. if(infolist.size()!=parentlist.size()) {//信息项个数不同,说明有增删
  2013. return true;
  2014. }
  2015. else {
  2016. for(Map<String,Object> map:infolist) {
  2017. boolean flag=true;
  2018. if(map.get("xxxbm")==null||"".equals(String.valueOf(map.get("xxxbm")))){
  2019. return true;
  2020. }
  2021. else{
  2022. for(Map<String,Object> p_map:parentlist) {
  2023. if(String.valueOf(map.get("datatype")==null?"":map.get("datatype")).equals(String.valueOf(p_map.get("datatype")==null?"":p_map.get("datatype")))
  2024. &&String.valueOf(map.get("datasize")==null?"":map.get("datasize")).equals(String.valueOf(p_map.get("datasize")==null?"":p_map.get("datasize")))
  2025. &&String.valueOf(map.get("xxxmc")==null?"":map.get("xxxmc")).equals(String.valueOf(p_map.get("xxxmc")==null?"":p_map.get("xxxmc")))
  2026. &&String.valueOf(map.get("datametaid")==null?"":map.get("datametaid")).equals(String.valueOf(p_map.get("datametaid")==null?"":p_map.get("datametaid")))
  2027. &&String.valueOf(map.get("metaname")==null?"":map.get("metaname")).equals(String.valueOf(p_map.get("metaname")==null?"":p_map.get("metaname")))){
  2028. flag=false;
  2029. }
  2030. /*
  2031. if((String.valueOf(map.get("xxxbm")==null?"":map.get("xxxbm")).equals(String.valueOf(p_map.get("xxxbm")==null?"":p_map.get("xxxbm")))
  2032. &&
  2033. !String.valueOf(map.get("xxxmc")==null?"":map.get("xxxmc")).equals(String.valueOf(p_map.get("xxxmc")==null?"":p_map.get("xxxmc")))
  2034. )||
  2035. (!String.valueOf(map.get("xxxbm")==null?"":map.get("xxxbm")).equals(String.valueOf(p_map.get("xxxbm")==null?"":p_map.get("xxxbm")))
  2036. &&
  2037. String.valueOf(map.get("xxxmc")==null?"":map.get("xxxmc")).equals(String.valueOf(p_map.get("xxxmc")==null?"":p_map.get("xxxmc")))
  2038. )
  2039. ){
  2040. flag=false;
  2041. }
  2042. */
  2043. }
  2044. if(flag) {
  2045. return true;
  2046. }
  2047. }
  2048. }
  2049. return false;
  2050. }
  2051. }
  2052. public void generateGlflJob() {
  2053. List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select group_concat(q.resname) glfl,p.tinfoclassid id from t_infoclass_res p,t_res_classify q,t_infoclass z where p.resid=q.resid and z.glinfotypename is null and z.id=p.tinfoclassid group by p.tinfoclassid");
  2054. for(Map<String,Object> map:maplist) {
  2055. jdbcTemplate.update("update t_infoclass set glinfotypename=? where id=?", new Object[] {map.get("glfl"),map.get("id")});
  2056. }
  2057. List<Map<String,Object>> glxtmaplist = jdbcTemplate.queryForList("select group_concat(systeminfo_name) systeminfo,infoclass_id from t_systeminfo_infoclass group by infoclass_id");
  2058. for(Map<String,Object> map:glxtmaplist) {
  2059. jdbcTemplate.update("update t_infoclass set systeminfo=? where id=?", new Object[] {map.get("systeminfo"),map.get("infoclass_id")});
  2060. }
  2061. List<Map<String,Object>> maplist2 = jdbcTemplate.queryForList("select id,infoname,infocode,hitch_status,p.gjsj,p.gjr,p.gjrid from t_infoclass q,t_service_reginfo p where q.sharemodetypename='接口' and instr(p.classid,q.id)>0 and p.inprocess='2' and p.isgj='1' and q.hitch_status=0 ");
  2062. for(Map<String,Object> map:maplist2) {
  2063. jdbcTemplate.update("update t_infoclass q set q.hitch=?,q.hitchdate=?,q.hitchuser=?,q.hitch_size=?,q.hitch_status=?,q.hitch_up_adress=?,q.hitch_up_name=? where q.id=?", new Object[] {
  2064. "",
  2065. map.get("gjsj"),
  2066. map.get("gjr"),
  2067. 0,
  2068. 1,
  2069. "",
  2070. "",
  2071. map.get("id")
  2072. }
  2073. );
  2074. }
  2075. }
  2076. public void generateHitchJob() {
  2077. List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select p.id,p.parentid,q.hitch,q.hitchdate,q.hitchuser,q.hitch_size,q.hitch_status,q.hitch_up_adress,q.hitch_up_name from t_infoclass p,t_infoclass q where p.latestversion='1' and p.inprocess='2' and p.gjcheckstate is null and (p.hitch_status is null or p.hitch_status=0) and p.parentid=q.id and p.versionid=q.versionid " +
  2078. " and q.hitch_status=1");
  2079. for(Map<String,Object> map:maplist) {
  2080. jdbcTemplate.update("update t_infoclass q set q.hitch=?,q.gjcheckstate=?,q.hitchdate=?,q.hitchuser=?,q.hitch_size=?,q.hitch_status=?,q.hitch_up_adress=?,q.hitch_up_name=? where q.id=?", new Object[] {
  2081. map.get("hitch"),
  2082. "2",
  2083. map.get("hitchdate"),
  2084. map.get("hitchuser"),
  2085. map.get("hitch_size"),
  2086. map.get("hitch_status"),
  2087. map.get("hitch_up_adress"),
  2088. map.get("hitch_up_name"),
  2089. map.get("id")
  2090. }
  2091. );
  2092. }
  2093. List<Map<String,Object>> maplist2 = jdbcTemplate.queryForList("select p.id,p.parentid,p.infoname,q.infoname pinfoname from t_infoclass p,t_infoclass q where p.parentid=q.id and p.versionid=q.versionid and p.latestversion='1' and p.inprocess='2'");
  2094. for(Map<String,Object> map:maplist2) {
  2095. jdbcTemplate.update("update t_service_reginfo set classid=REPLACE(classid,?,?),classname=REPLACE(classname,?,?)", new Object[] {
  2096. map.get("parentid")+";",
  2097. map.get("id")+";",
  2098. map.get("pinfoname")+";",
  2099. map.get("infoname")+";"
  2100. }
  2101. );
  2102. }
  2103. }
  2104. /*生成超时提醒信息
  2105. * */
  2106. public void generateDelayRemindInfo() {
  2107. //信息类注册
  2108. TmessageInfo info=null;
  2109. // List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select assignee,act_name,count(1) num from v_tasklist_delay p,t_infoclass q where p.proc_inst_id=q.processid group by assignee,act_name");
  2110. // for(Map<String,Object> map:maplist) {
  2111. // info =new TmessageInfo();
  2112. // info.setId(ToolUtil.getUUID());
  2113. // info.setTitle(String.valueOf(map.get("act_name")));
  2114. // info.setContent("您有"+String.valueOf(map.get("num"))+"个信息类注册("+String.valueOf(map.get("act_name"))+")超时未处理,请及时到天津市信息资源目录系统进行处理");
  2115. // info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2116. // info.setState("1");
  2117. // info.setReceiver(String.valueOf(map.get("assignee")));
  2118. // tmessageInfoService.saveInfo(info);
  2119. // }
  2120. //信息类共享申请
  2121. List<Map<String,Object>> worklist = jdbcTemplate.queryForList("select workdate from workcalendar where date_format(`workcalendar`.`workdate`,'%Y-%m-%d')=? and iswork='0'", new Object[] {ToolUtil.date2Str(new Date(), "yyyy-MM-dd")});
  2122. if(worklist!=null&&worklist.size()>0) {//只有工作日才生成预警提醒任务
  2123. List<Map<String,Object>> applylist = jdbcTemplate.queryForList("select assignee,act_name,count(1) num from v_tasklist_delay p,t_shareapply q where p.proc_inst_id=q.processid group by assignee,act_name");
  2124. for(Map<String,Object> map:applylist) {
  2125. info =new TmessageInfo();
  2126. info.setId(ToolUtil.getUUID());
  2127. info.setTitle(String.valueOf(map.get("act_name")));
  2128. info.setContent("您有"+String.valueOf(map.get("num"))+"个数据共享申请("+String.valueOf(map.get("act_name"))+")超时未处理,请及时到进行处理");
  2129. info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2130. info.setState("1");
  2131. info.setReceiver(String.valueOf(map.get("assignee")));
  2132. tmessageInfoService.saveInfo(info);
  2133. }
  2134. //服务注册
  2135. List<Map<String,Object>> servicelist = jdbcTemplate.queryForList("select assignee,act_name,count(1) num from v_tasklist_delay p,t_service_reginfo q where p.proc_inst_id=q.processid group by assignee,act_name");
  2136. for(Map<String,Object> map:servicelist) {
  2137. info =new TmessageInfo();
  2138. info.setId(ToolUtil.getUUID());
  2139. info.setTitle(String.valueOf(map.get("act_name")));
  2140. info.setContent("您有"+String.valueOf(map.get("num"))+"个服务注册("+String.valueOf(map.get("act_name"))+")超时未处理,请及时进行处理");
  2141. info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2142. info.setState("1");
  2143. info.setReceiver(String.valueOf(map.get("assignee")));
  2144. tmessageInfoService.saveInfo(info);
  2145. }
  2146. //服务申请
  2147. List<Map<String,Object>> serviceApplylist = jdbcTemplate.queryForList("select assignee,act_name,count(1) num from v_tasklist_delay p,t_service_applyinfo q where p.proc_inst_id=q.processid group by assignee,act_name");
  2148. for(Map<String,Object> map:serviceApplylist) {
  2149. info =new TmessageInfo();
  2150. info.setId(ToolUtil.getUUID());
  2151. info.setTitle(String.valueOf(map.get("act_name")));
  2152. info.setContent("您有"+String.valueOf(map.get("num"))+"个服务共享申请("+String.valueOf(map.get("act_name"))+")超时未处理,请及时进行处理");
  2153. info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2154. info.setState("1");
  2155. info.setReceiver(String.valueOf(map.get("assignee")));
  2156. tmessageInfoService.saveInfo(info);
  2157. }
  2158. }
  2159. }
  2160. /**
  2161. * 短信发送
  2162. */
  2163. public void delayRemindSend() {
  2164. // TODO Auto-generated method stub
  2165. //判断当前是否是工作日
  2166. List<Map<String,Object>> worklist = jdbcTemplate.queryForList("select workdate from workcalendar where date_format(`workcalendar`.`workdate`,'%Y-%m-%d')=? and iswork='0'", new Object[] {ToolUtil.date2Str(new Date(), "yyyy-MM-dd")});
  2167. if(worklist!=null&&worklist.size()>0) {
  2168. log.info("工作日发送短信提醒");
  2169. List<Map<String,Object>> sendlist = jdbcTemplate.queryForList("select p.content,p.id,q.phone_num,p.dealtime,q.user_name from t_messageinfo p,userinfo q where p.receiver=q.user_id and (p.dealtime='' or p.dealtime is null)");
  2170. String serialno="";//短信序列号,可以根据该序列号 获取短信发送情况
  2171. for(Map<String,Object> map:sendlist) {
  2172. try {
  2173. serialno = ToolUtil.getGuid();
  2174. log.info(String.valueOf(map.get("content")));
  2175. String content=String.valueOf(map.get("content")).replace("您", String.valueOf(map.get("user_name"))+"您好,您");
  2176. ToolUtil.sendMsg(String.valueOf(content), String.valueOf(map.get("phone_num")), serialno);
  2177. jdbcTemplate.update("update t_messageinfo set dealtime=?,serialno=? where id=?",new Object[]
  2178. {ToolUtil.date2Str(new Date(),"yyyy-MM-dd HH:mm:ss")
  2179. ,serialno
  2180. ,map.get("id")
  2181. });
  2182. } catch (UnsupportedEncodingException e) {
  2183. log.info("短信接口异常");
  2184. }
  2185. }
  2186. }
  2187. else {
  2188. log.info("非工作日不发送短信提醒");
  2189. }
  2190. }
  2191. public Pagination<DelayDataShareInfo> findDelayDataShareInfoList(DelayDataShareInfo dto,
  2192. Pagination<DelayDataShareInfo> pag, User userInfo) {
  2193. StringBuffer sql=new StringBuffer("select distinct w.providebmcode,w.providebmname,p.task_id,w.infoname,w.infocode,p.act_name,q.applydeptname,q.applydate,p.create_time from v_tasklist_delay p,t_shareapply q,t_infoclass w " +
  2194. "where p.proc_inst_id=q.processid and q.tinfoclassid=w.id ");
  2195. List<String> paramList=new ArrayList<String>();
  2196. if(!ToolUtil.isNull(dto.getProvidebmcode())) {
  2197. sql.append(" and w.providebmcode=? ");
  2198. paramList.add(dto.getProvidebmcode());
  2199. }
  2200. if(!ToolUtil.isNull(dto.getInfoname())) {
  2201. sql.append(" and w.infoname=? ");
  2202. paramList.add(dto.getInfoname());
  2203. }
  2204. if(!ToolUtil.isNull(dto.getInfocode())) {
  2205. sql.append(" and w.infocode=? ");
  2206. paramList.add(dto.getInfocode());
  2207. }
  2208. if(!ToolUtil.isNull(dto.getTaskname())) {
  2209. sql.append(" and p.act_name=? ");
  2210. paramList.add(dto.getTaskname());
  2211. }
  2212. Object[] args = new Object[]{};
  2213. int length = paramList.size();
  2214. if(length>0){
  2215. args=new Object[length];
  2216. for(int i=0;i<length;i++){
  2217. args[i] = paramList.get(i);
  2218. }
  2219. }
  2220. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<DelayDataShareInfo>(){
  2221. @Override
  2222. public DelayDataShareInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  2223. DelayDataShareInfo info = new DelayDataShareInfo();
  2224. info.setApplydate(rs.getString("applydate"));
  2225. info.setCheckdate(rs.getString("create_time"));
  2226. info.setInfoname(rs.getString("infoname"));
  2227. info.setInfocode(rs.getString("infocode"));
  2228. info.setTaskname(rs.getString("act_name"));
  2229. info.setRequirename(rs.getString("applydeptname"));
  2230. info.setProvidebmname(rs.getString("providebmname"));
  2231. info.setProvidebmcode(rs.getString("providebmcode"));
  2232. return info;
  2233. }
  2234. },jdbcTemplate,database_type);
  2235. return pag;
  2236. }
  2237. public Pagination<DelayServiceShareInfo> findDelayServiceShareInfo(DelayServiceShareInfo dto,
  2238. Pagination<DelayServiceShareInfo> pag, User userInfo) {
  2239. // TODO Auto-generated method stub
  2240. StringBuffer sql=new StringBuffer("select distinct w.PROVIDEid,w.PROVIDENAME,p.TASK_ID,p.act_name,w.cnname,w.apicode,q.createtime,p.create_time,q.mingcheng from v_tasklist_delay p,t_service_applyinfo q,t_service_reginfo w" +
  2241. " where p.proc_inst_id=q.processid and q.reqid=w.regid ");
  2242. List<String> paramList=new ArrayList<String>();
  2243. if(!ToolUtil.isNull(dto.getProvidebmcode())) {
  2244. sql.append(" and w.PROVIDEid=? ");
  2245. paramList.add(dto.getProvidebmcode());
  2246. }
  2247. if(!ToolUtil.isNull(dto.getServicename())) {
  2248. sql.append(" and w.cnname=? ");
  2249. paramList.add(dto.getServicename());
  2250. }
  2251. if(!ToolUtil.isNull(dto.getServicecode())) {
  2252. sql.append(" and w.apicode=? ");
  2253. paramList.add(dto.getServicecode());
  2254. }
  2255. if(!ToolUtil.isNull(dto.getTaskname())) {
  2256. sql.append(" and p.act_name=? ");
  2257. paramList.add(dto.getTaskname());
  2258. }
  2259. Object[] args = new Object[]{};
  2260. int length = paramList.size();
  2261. if(length>0){
  2262. args=new Object[length];
  2263. for(int i=0;i<length;i++){
  2264. args[i] = paramList.get(i);
  2265. }
  2266. }
  2267. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<DelayServiceShareInfo>(){
  2268. @Override
  2269. public DelayServiceShareInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  2270. DelayServiceShareInfo info = new DelayServiceShareInfo();
  2271. info.setApplydate(rs.getString("createtime"));
  2272. info.setCheckdate(rs.getString("create_time"));
  2273. info.setServicename(rs.getString("cnname"));
  2274. info.setServicecode(rs.getString("apicode"));
  2275. info.setTaskname(rs.getString("act_name"));
  2276. info.setRequirename(rs.getString("mingcheng"));
  2277. info.setProvidebmname(rs.getString("providename"));
  2278. info.setProvidebmcode(rs.getString("provideid"));
  2279. return info;
  2280. }
  2281. },jdbcTemplate,database_type);
  2282. return pag;
  2283. }
  2284. public void generateMsgInfoByProvidebmcode(String busId,User userInfo) {
  2285. TmessageInfo info=null;
  2286. //信息类共享申请
  2287. List<Map<String,Object>> applylist = jdbcTemplate.queryForList("select assignee,act_name,count(1) num from v_tasklist_delay p,t_shareapply q,t_infoclass w where p.proc_inst_id=q.processid and q.tinfoclassid=w.id and w.providebmcode=? group by assignee,act_name",new Object[] {busId});
  2288. for(Map<String,Object> map:applylist) {
  2289. info =new TmessageInfo();
  2290. info.setId(ToolUtil.getUUID());
  2291. info.setTitle(String.valueOf(map.get("act_name")));
  2292. info.setContent("您有"+String.valueOf(map.get("num"))+"个数据共享申请("+String.valueOf(map.get("act_name"))+")超时未处理,请及时进行处理");
  2293. info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2294. info.setState("1");
  2295. info.setReceiver(String.valueOf(map.get("assignee")));
  2296. info.setSenduser(userInfo.getUserId());
  2297. info.setProvidebmcode(busId);
  2298. tmessageInfoService.saveInfo(info);
  2299. }
  2300. //服务申请
  2301. List<Map<String,Object>> serviceApplylist = jdbcTemplate.queryForList("select assignee,act_name,count(1) from v_tasklist_delay p,t_service_applyinfo q,t_service_reginfo w where p.proc_inst_id=q.processid and q.reqid=w.regid and w.provideid=? group by assignee,act_name",new Object[] {busId});
  2302. for(Map<String,Object> map:serviceApplylist) {
  2303. info =new TmessageInfo();
  2304. info.setId(ToolUtil.getUUID());
  2305. info.setTitle(String.valueOf(map.get("act_name")));
  2306. info.setContent("您有"+String.valueOf(map.get("num"))+"个服务共享申请("+String.valueOf(map.get("act_name"))+")超时未处理,请及时进行处理");
  2307. info.setSendtime(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2308. info.setState("1");
  2309. info.setReceiver(String.valueOf(map.get("assignee")));
  2310. info.setSenduser(userInfo.getUserId());
  2311. info.setProvidebmcode(busId);
  2312. tmessageInfoService.saveInfo(info);
  2313. }
  2314. }
  2315. public void saveTguajieopinionList(TguajieopinionList opinioninfo) {
  2316. // TODO Auto-generated method stub
  2317. tguajieopinionListRepository.save(opinioninfo);
  2318. }
  2319. public List<TguajieopinionList> findTguajieopinionListByDataId(String id, String type) {
  2320. return tguajieopinionListRepository.findTguajieopinionListByDataId(id,type);
  2321. }
  2322. public List<TinfoClass> findListByIds(String ids){
  2323. List listid = new ArrayList();
  2324. for (String id : ids.split(";")) {
  2325. if(id!=null && !id.trim().isEmpty()){
  2326. listid.add(id);
  2327. }
  2328. }
  2329. return tinfoClassRepository.getData(listid);
  2330. }
  2331. public IndicatorsDto findIndicatorsInfoByDeptid(String deptids) {
  2332. IndicatorsDto indicator =new IndicatorsDto();
  2333. //1
  2334. Object[] ywfglFargs = new Object[]{};
  2335. StringBuffer ywfglFSql= new StringBuffer("select count(1) ywfglf from t_subpower_responsibility where state=1 ");
  2336. if(!ToolUtil.isNull(deptids)) {
  2337. ywfglFSql.append(" and mainid in (select id from t_power_responsibility where instr(?,enforcementbody)>0) ");
  2338. ywfglFargs=new Object[1];
  2339. ywfglFargs[0]=deptids;
  2340. }
  2341. Map map = jdbcTemplate.queryForMap(ywfglFSql.toString(), ywfglFargs);
  2342. indicator.setYwfglF(((Long) map.get("ywfglf")).intValue());
  2343. Object[] ywfglCargs = new Object[]{};
  2344. StringBuffer ywfglCSql= new StringBuffer("select count(1) ywfglc from t_subpower_responsibility z where mainid in (select id from t_power_responsibility where state=1) and exists (select q.subid from t_infoclass p ,t_subres_infoclass q where p.id=q.infoclassid and latestversion='1' and p.inprocess='2' and q.subid=z.id)");
  2345. if(!ToolUtil.isNull(deptids)) {
  2346. ywfglCSql=new StringBuffer("select count(1) ywfglc from t_subpower_responsibility z where mainid in (select id from t_power_responsibility where instr(?,enforcementbody)>0 and state=1) and (exists (select q.subid from t_infoclass p ,t_subres_infoclass q where p.id=q.infoclassid and instr(?,p.providebmcode)>0 and p.inprocess='2' and q.subid=z.id) or exists (select id from t_systeminfo_qz where qzid=z.id))");
  2347. ywfglCargs=new Object[2];
  2348. ywfglCargs[0]=deptids;
  2349. ywfglCargs[1]=deptids;
  2350. }
  2351. Map map1 = jdbcTemplate.queryForMap(ywfglCSql.toString(), ywfglCargs);
  2352. indicator.setYwfglC(((Long) map1.get("ywfglc")).intValue());
  2353. //2
  2354. Object[] yyfglFargs = new Object[]{};
  2355. StringBuffer yyfglFSql= new StringBuffer("select count(1) yyfglf from t_system_info where (isdelete is null or isdelete='') ");
  2356. if(!ToolUtil.isNull(deptids)) {
  2357. yyfglFSql=new StringBuffer(" select count(1) yyfglf from t_system_info where (isdelete is null or isdelete='') and instr(?,sys_dept_id)>0");
  2358. yyfglFargs=new Object[1];
  2359. yyfglFargs[0]=deptids;
  2360. }
  2361. Map map2 = jdbcTemplate.queryForMap(yyfglFSql.toString(), yyfglFargs);
  2362. indicator.setYyfglF(((Long) map2.get("yyfglf")).intValue());
  2363. Object[] yyfglCargs = new Object[]{};
  2364. StringBuffer yyfglCSql= new StringBuffer("select count(1) yyfglc from t_system_info p where (isdelete is null or isdelete='') and exists (select systeminfo_id from t_systeminfo_infoclass z where systeminfo_id=p.sys_id and exists( select * from t_infoclass where latestversion='1' and inprocess='2' and id=z.infoclass_id))");
  2365. if(!ToolUtil.isNull(deptids)) {
  2366. yyfglCSql=new StringBuffer("select count(1) yyfglc from t_system_info p where instr(?,sys_dept_id)>0 and (isdelete is null or isdelete='') and exists(select systeminfo_id from t_systeminfo_infoclass z where systeminfo_id=p.sys_id and exists( select * from t_infoclass where latestversion='1' and inprocess='2' and instr(?,providebmcode)>0 and id=z.infoclass_id))");
  2367. yyfglCargs=new Object[2];
  2368. yyfglCargs[0]=deptids;
  2369. yyfglCargs[1]=deptids;
  2370. }
  2371. Map map3 = jdbcTemplate.queryForMap(yyfglCSql.toString(), yyfglCargs);
  2372. indicator.setYyfglC(((Long) map3.get("yyfglc")).intValue());
  2373. //3
  2374. Object[] qzgllFargs = new Object[]{};
  2375. StringBuffer qzgllFSql= new StringBuffer(" select count(1) qzgllf from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' ");
  2376. if(!ToolUtil.isNull(deptids)) {
  2377. qzgllFSql=new StringBuffer(" select count(1) qzgllf from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' and instr(?,providebmcode)>0");
  2378. qzgllFargs=new Object[1];
  2379. qzgllFargs[0]=deptids;
  2380. }
  2381. Map map4 = jdbcTemplate.queryForMap(qzgllFSql.toString(), qzgllFargs);
  2382. indicator.setQzgllF(((Long) map4.get("qzgllf")).intValue());
  2383. Object[] qzgllCargs = new Object[]{};
  2384. StringBuffer qzgllCSql= new StringBuffer(" select count(1) qzgllc from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' and exists(select id from t_subres_infoclass where infoclassid=p.id) ");
  2385. if(!ToolUtil.isNull(deptids)) {
  2386. qzgllCSql=new StringBuffer(" select count(1) qzgllc from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' and instr(?,providebmcode)>0 and exists(select id from t_subres_infoclass where infoclassid=p.id)");
  2387. qzgllCargs=new Object[1];
  2388. qzgllCargs[0]=deptids;
  2389. }
  2390. Map map5 = jdbcTemplate.queryForMap(qzgllCSql.toString(), qzgllCargs);
  2391. indicator.setQzgllC(((Long) map5.get("qzgllc")).intValue());
  2392. //4
  2393. indicator.setXtgllF(((Long) map4.get("qzgllf")).intValue());
  2394. Object[] xtgllCargs = new Object[]{};
  2395. StringBuffer xtgllCSql= new StringBuffer(" select count(1) xtgllc from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' and exists(select systeminfoclass_ID from t_systeminfo_infoclass where infoclass_id=p.id )");
  2396. if(!ToolUtil.isNull(deptids)) {
  2397. xtgllCSql=new StringBuffer(" select count(1) xtgllc from t_infoclass p where p.LATESTVERSION='1' and p.INPROCESS='2' and instr(?,providebmcode)>0 and exists(select systeminfoclass_ID from t_systeminfo_infoclass where infoclass_id=p.id )");
  2398. xtgllCargs=new Object[1];
  2399. xtgllCargs[0]=deptids;
  2400. }
  2401. Map map7 = jdbcTemplate.queryForMap(xtgllCSql.toString(), xtgllCargs);
  2402. indicator.setXtgllC(((Long) map7.get("xtgllc")).intValue());
  2403. //5
  2404. Object[] gjFargs = new Object[]{};
  2405. StringBuffer gjFSql= new StringBuffer(" select count(1) gjlf from t_infoclass where inprocess='2' and latestversion='1' and sharetype!='3'");
  2406. if(!ToolUtil.isNull(deptids)) {
  2407. gjFSql=new StringBuffer(" select count(1) gjlf from t_infoclass where inprocess='2' and latestversion='1' and instr(?,providebmcode)>0 and sharetype!='3'");
  2408. gjFargs=new Object[1];
  2409. gjFargs[0]=deptids;
  2410. }
  2411. Map map8 = jdbcTemplate.queryForMap(gjFSql.toString(), gjFargs);
  2412. indicator.setGjlF(((Long) map8.get("gjlf")).intValue());
  2413. Object[] gjlCargs = new Object[]{};
  2414. StringBuffer gjlCSql= new StringBuffer(" select count(1) gjlc from t_infoclass where inprocess='2' and latestversion='1' and hitch_status=1 and sharetype!='3'");
  2415. if(!ToolUtil.isNull(deptids)) {
  2416. gjlCSql=new StringBuffer(" select count(1) gjlc from t_infoclass where inprocess='2' and latestversion='1' and hitch_status=1 and instr(?,providebmcode)>0 and sharetype!='3'");
  2417. gjlCargs=new Object[1];
  2418. gjlCargs[0]=deptids;
  2419. }
  2420. Map map9 = jdbcTemplate.queryForMap(gjlCSql.toString(), gjlCargs);
  2421. indicator.setGjlC(((Long) map9.get("gjlc")).intValue());
  2422. Object[] kblcCargs = new Object[]{};
  2423. StringBuffer kblcCSql= new StringBuffer(" select count(1) kblc from t_infoclass where inprocess='2' and latestversion='1' and sharemodetypename='数据库' ");
  2424. if(!ToolUtil.isNull(deptids)) {
  2425. kblcCSql=new StringBuffer(" select count(1) kblc from t_infoclass where inprocess='2' and latestversion='1' and sharemodetypename='数据库' and instr(?,providebmcode)>0 ");
  2426. kblcCargs=new Object[1];
  2427. kblcCargs[0]=deptids;
  2428. }
  2429. Map map10 = jdbcTemplate.queryForMap(kblcCSql.toString(), kblcCargs);
  2430. Object[] kblFargs = new Object[]{};
  2431. StringBuffer kblFSql= new StringBuffer(" select count(1) kbllf from t_infoclass where inprocess='2' and latestversion='1' ");
  2432. if(!ToolUtil.isNull(deptids)) {
  2433. kblFSql=new StringBuffer(" select count(1) kbllf from t_infoclass where inprocess='2' and latestversion='1' and instr(?,providebmcode)>0 ");
  2434. kblFargs=new Object[1];
  2435. kblFargs[0]=deptids;
  2436. }
  2437. Map map18 = jdbcTemplate.queryForMap(kblFSql.toString(), kblFargs);
  2438. indicator.setKblC(((Long) map10.get("kblc")).intValue());
  2439. indicator.setKblF(((Long) map18.get("kbllf")).intValue());
  2440. Object[] mlshCargs = new Object[]{};
  2441. StringBuffer mlshCSql= new StringBuffer(" select count(1) nook from V_HISTASKLIST_T p,t_infoclass q where p.taskname='主管部门审核' and q.latestversion='1' and p.busid=q.ID and p.taskmessage not like '审核通过%'");
  2442. if(!ToolUtil.isNull(deptids)) {
  2443. mlshCSql=new StringBuffer(" select count(1) nook from V_HISTASKLIST_T p,t_infoclass q where p.taskname='主管部门审核' and q.latestversion='1' and p.busid=q.ID and p.taskmessage not like '审核通过%' and instr(?,providebmcode)>0 ");
  2444. mlshCargs=new Object[1];
  2445. mlshCargs[0]=deptids;
  2446. }
  2447. Map map11 = jdbcTemplate.queryForMap(mlshCSql.toString(), mlshCargs);
  2448. Object[] mlshFargs = new Object[]{};
  2449. StringBuffer mlshFSql= new StringBuffer(" select count(1) oknum from t_infoclass q where q.latestversion='1' and inprocess='2'");
  2450. if(!ToolUtil.isNull(deptids)) {
  2451. mlshFSql=new StringBuffer(" select count(1) oknum from t_infoclass q where q.latestversion='1' and inprocess='2' and instr(?,providebmcode)>0 ");
  2452. mlshFargs=new Object[1];
  2453. mlshFargs[0]=deptids;
  2454. }
  2455. Map map12 = jdbcTemplate.queryForMap(mlshFSql.toString(), mlshFargs);
  2456. indicator.setMlshC(((Long) map12.get("oknum")).intValue());
  2457. indicator.setMlshF(((Long) map12.get("oknum")).intValue()+((Long) map11.get("nook")).intValue());
  2458. Object[] gjshCargs = new Object[]{};
  2459. StringBuffer gjshCSql= new StringBuffer("select count(1) nook from t_guajieopinion_list p where datatype='t_infoclass' and result!='审核通过' and p.dataid in (select id from t_infoclass where INPROCESS='2' )" +
  2460. "");
  2461. if(!ToolUtil.isNull(deptids)) {
  2462. gjshCSql=new StringBuffer("select count(1) nook from t_guajieopinion_list p where datatype='t_infoclass' and result!='审核通过' and p.dataid in (select id from t_infoclass where INPROCESS='2' and instr(?,providebmcode)>0)" +
  2463. " ");
  2464. gjshCargs=new Object[1];
  2465. gjshCargs[0]=deptids;
  2466. }
  2467. Map map13 = jdbcTemplate.queryForMap(gjshCSql.toString(), gjshCargs);
  2468. Object[] gjshFargs = new Object[]{};
  2469. StringBuffer gjshFSql= new StringBuffer(" select count(1) oknum from t_infoclass q where inprocess='2' and HITCH_STATUS=1");
  2470. if(!ToolUtil.isNull(deptids)) {
  2471. gjshFSql=new StringBuffer(" select count(1) oknum from t_infoclass q where inprocess='2' and HITCH_STATUS=1 and instr(?,providebmcode)>0 ");
  2472. gjshFargs=new Object[1];
  2473. gjshFargs[0]=deptids;
  2474. }
  2475. Map map14 = jdbcTemplate.queryForMap(gjshFSql.toString(), gjshFargs);
  2476. indicator.setGjshC(((Long) map14.get("oknum")).intValue());
  2477. indicator.setGjshF(((Long) map14.get("oknum")).intValue()+((Long) map13.get("nook")).intValue());
  2478. Object[] kzlFargs = new Object[]{};
  2479. StringBuffer kzlFSql= new StringBuffer("select sum(SUBSTRING_INDEX( p.nullvaluenum , '/', 1 ) ) nullnum,sum(SUBSTRING_INDEX(SUBSTRING_INDEX( p.nullvaluenum , '/', 2 ),'/',-1)) tt from rkrm_zl_probeinfo p, (select TABLEname,max(TCTIME) tctime from rkrm_zl_probeinfo group by TABLEname) q where p.TABLENAME=q.TABLENAME and p.TCTIME=q.tctime and " +
  2480. " p.tablename in (select concat('t_',replace(infocode,'/','_')) pp from t_infoclass where inprocess='2' and latestversion='1' and HITCH_STATUS=1 " +
  2481. " and sharemodetypename='数据库' ) and p.tablename in (select tablename from current_infoclass)");
  2482. if(!ToolUtil.isNull(deptids)) {
  2483. kzlFSql=new StringBuffer(" select sum(SUBSTRING_INDEX( p.nullvaluenum , '/', 1 ) ) nullnum,sum(SUBSTRING_INDEX(SUBSTRING_INDEX( p.nullvaluenum , '/', 2 ),'/',-1)) tt from rkrm_zl_probeinfo p, (select TABLEname,max(TCTIME) tctime from rkrm_zl_probeinfo group by TABLEname) q where p.TABLENAME=q.TABLENAME and p.TCTIME=q.tctime and " +
  2484. " p.tablename in (select concat('t_',replace(infocode,'/','_')) pp from t_infoclass where inprocess='2' and latestversion='1' and HITCH_STATUS=1 " +
  2485. " and sharemodetypename='数据库' and instr(?,providebmcode)>0 ) and p.tablename in (select tablename from current_infoclass)");
  2486. kzlFargs=new Object[1];
  2487. kzlFargs[0]=deptids;
  2488. }
  2489. Map map15 = jdbcTemplate.queryForMap(kzlFSql.toString(), kzlFargs);
  2490. if(map15.get("nullnum")!=null) {
  2491. indicator.setKzlC(((Double) map15.get("nullnum")));
  2492. }
  2493. else {
  2494. indicator.setKzlC(0);
  2495. }
  2496. if(map15.get("tt")!=null) {
  2497. indicator.setKzlF(((Double) map15.get("tt")));
  2498. }
  2499. else {
  2500. indicator.setKzlF(0);
  2501. }
  2502. Object[] sjgxFargs = new Object[]{};
  2503. StringBuffer sjgxFSql= new StringBuffer("select count(1) allnum from t_infoclass where inprocess='2' and latestversion='1' and HITCH_STATUS=1 and sharemodetypename='数据库' and concat('t_',replace(infocode,'/','_')) in (select tablename from current_infoclass) ");
  2504. if(!ToolUtil.isNull(deptids)) {
  2505. sjgxFSql=new StringBuffer(" select count(1) allnum from t_infoclass where inprocess='2' and latestversion='1' and HITCH_STATUS=1 and instr(?,providebmcode)>0 and sharemodetypename='数据库' and concat('t_',replace(infocode,'/','_')) in (select tablename from current_infoclass)");
  2506. sjgxFargs=new Object[1];
  2507. sjgxFargs[0]=deptids;
  2508. }
  2509. Map map16 = jdbcTemplate.queryForMap(sjgxFSql.toString(), sjgxFargs);
  2510. Object[] sjgxCargs = new Object[]{};
  2511. StringBuffer sjgxCSql= new StringBuffer("select count(1) allnum from t_infoclass where inprocess='2' and latestversion='1' and HITCH_STATUS=1 and sharemodetypename='数据库' and concat('t_',replace(infocode,'/','_')) in (select tablename from current_infoclass) and " +
  2512. "concat('t_',replace(infocode,'/','_')) in (select p.table_name from update_rate p,(select table_name,max(insert_time) insert_time from update_rate GROUP BY table_name) q " +
  2513. "where p.table_name=q.table_name and p.insert_time=q.insert_time and p.is_update='1') ");
  2514. if(!ToolUtil.isNull(deptids)) {
  2515. sjgxCSql=new StringBuffer(" select count(1) allnum from t_infoclass where inprocess='2' and latestversion='1' and concat('t_',replace(infocode,'/','_')) in (select tablename from current_infoclass) and HITCH_STATUS=1 and instr(?,providebmcode)>0 and sharemodetypename='数据库' and " +
  2516. "concat('t_',replace(infocode,'/','_')) in (select p.table_name from update_rate p,(select table_name,max(insert_time) insert_time from update_rate GROUP BY table_name) q " +
  2517. "where p.table_name=q.table_name and p.insert_time=q.insert_time and p.is_update='1')");
  2518. sjgxCargs=new Object[1];
  2519. sjgxCargs[0]=deptids;
  2520. }
  2521. Map map17 = jdbcTemplate.queryForMap(sjgxCSql.toString(), sjgxCargs);
  2522. indicator.setSjgxC(((Long) map17.get("allnum")).intValue());
  2523. indicator.setSjgxF(((Long) map16.get("allnum")).intValue());
  2524. return indicator;
  2525. }
  2526. public Pagination<TinfoClassDto> findTinfoClassCsmlList(TinfoClassDto dto, Pagination<TinfoClassDto> pag,
  2527. User userInfo) {
  2528. StringBuffer sql=new StringBuffer("select * from t_infoclass t where latestversion='1' and exists (select * from t_systeminfo_infoclass p where p.infoclass_id=t.id and systeminfo_id=?) ");
  2529. glmlList(sql,dto,pag);
  2530. return pag;
  2531. }
  2532. public Pagination<TinfoClassDto> findTinfoClassQzmlList(TinfoClassDto dto, Pagination<TinfoClassDto> pag,
  2533. User userInfo) {
  2534. StringBuffer sql=new StringBuffer("select * from t_infoclass t where latestversion='1' and exists (select * from t_subres_infoclass p where p.infoclassid=t.id and subid=?) ");
  2535. glmlList(sql,dto,pag);
  2536. return pag;
  2537. }
  2538. private void glmlList(StringBuffer sql, TinfoClassDto dto, Pagination<TinfoClassDto> pag) {
  2539. List<String> paramList=new ArrayList<String>();
  2540. paramList.add(dto.getSysteminfo());
  2541. if(!ToolUtil.isNull(dto.getInfoname())){
  2542. sql.append(" and infoname like ? ");
  2543. paramList.add("%"+dto.getInfoname()+"%");
  2544. }
  2545. if(!ToolUtil.isNull(dto.getInfotypename())){
  2546. sql.append(" and infotypename like ? ");
  2547. paramList.add("%"+dto.getInfotypename()+"%");
  2548. }
  2549. if(!ToolUtil.isNull(dto.getSharetype())){
  2550. sql.append(" and sharetype = ? ");
  2551. paramList.add(dto.getSharetype());
  2552. }
  2553. if(!ToolUtil.isNull(dto.getProvidebmname())){
  2554. sql.append(" and providebmname like ? ");
  2555. paramList.add("%"+dto.getProvidebmname()+"%");
  2556. }
  2557. if(!ToolUtil.isNull(dto.getTaskname())) {
  2558. switch(dto.getTaskname()) {
  2559. case "未提交": {sql.append(" and inprocess = ? ");
  2560. paramList.add("0");}
  2561. break;
  2562. case "部门审核":{
  2563. sql.append(" and inprocess = ? ");
  2564. paramList.add("1");
  2565. sql.append(" and taskname = ? ");
  2566. paramList.add("部门审核");
  2567. };break;
  2568. case "主管部门审核":
  2569. {
  2570. sql.append(" and inprocess = ? ");
  2571. paramList.add("1");
  2572. sql.append(" and taskname = ? ");
  2573. paramList.add("主管部门审核");
  2574. }
  2575. break;
  2576. case "已发布":{
  2577. sql.append(" and inprocess = ? ");
  2578. paramList.add("2");
  2579. }
  2580. break;
  2581. case "停用":{
  2582. sql.append(" and inprocess = ? ");
  2583. paramList.add("5");
  2584. }break;
  2585. case "编目人员修改":
  2586. {
  2587. sql.append(" and inprocess = ? ");
  2588. paramList.add("1");
  2589. sql.append(" and taskname = ? ");
  2590. paramList.add("编目人员修改");
  2591. }
  2592. break;
  2593. default:
  2594. break;
  2595. }
  2596. }
  2597. if(!ToolUtil.isNull(dto.getInfocode())){
  2598. sql.append(" and infocode like ? ");
  2599. paramList.add("%"+dto.getInfocode()+"%");
  2600. }
  2601. if(!ToolUtil.isNull(dto.getIsopensocial())){
  2602. sql.append(" and isopensocial = ? ");
  2603. paramList.add(dto.getIsopensocial());
  2604. }
  2605. if(dto.getHitchStatus()!=null){
  2606. if("1".equals(dto.getHitchStatus()+""))
  2607. sql.append(" and hitch_status =1 ");
  2608. else {
  2609. sql.append(" and (hitch_status =0 or hitch_status is null)");
  2610. }
  2611. }
  2612. // 起始时间
  2613. if (!ToolUtil.isNull(dto.getStartdate())) {
  2614. sql.append(" and updatetime >= ? ");
  2615. paramList.add(dto.getStartdate());
  2616. }
  2617. // 结束时间
  2618. if (!ToolUtil.isNull(dto.getEnddate())) {
  2619. sql.append(" and updatetime <= ? ");
  2620. paramList.add(dto.getEnddate()+" 23:59:59");
  2621. }
  2622. Object[] args = new Object[]{};
  2623. int length = paramList.size();
  2624. if(length>0){
  2625. args=new Object[length];
  2626. for(int i=0;i<length;i++){
  2627. args[i] = paramList.get(i);
  2628. }
  2629. }
  2630. pag = pag.findPagination(sql.toString(),pag,args,new RowMapper<TinfoClassDto>(){
  2631. @Override
  2632. public TinfoClassDto mapRow(ResultSet rs, int rowNum) throws SQLException {
  2633. TinfoClassDto info = new TinfoClassDto();
  2634. info.setInfocode(rs.getString("infocode"));
  2635. info.setInfoname(rs.getString("infoname"));
  2636. info.setInprocess(rs.getString("inprocess"));
  2637. info.setId(rs.getString("id"));
  2638. info.setTaskname(rs.getString("taskname"));
  2639. info.setVersionid(Integer.parseInt(rs.getString("versionid")));
  2640. info.setSubversionid(Integer.parseInt(rs.getString("subversionid")));
  2641. info.setSourceid(rs.getString("sourceid"));
  2642. info.setUpdatetime(rs.getString("updatetime"));
  2643. info.setIsopensocial(rs.getString("isopensocial"));
  2644. info.setInfotypename(rs.getString("infotypename"));
  2645. info.setProvidebmname(rs.getString("providebmname"));
  2646. info.setSharetype(rs.getString("sharetype"));
  2647. info.setHitchStatus(Integer.parseInt(rs.getString("hitch_status")==null?"0":rs.getString("hitch_status")));
  2648. return info;
  2649. }
  2650. },jdbcTemplate,database_type);
  2651. }
  2652. public void updateSceneInfoToYwtable() {
  2653. List<Map<String,Object>> maplist = jdbcTemplate.queryForList("select GROUP_CONCAT(q.scene_name) scenename,GROUP_CONCAT(q.scene_code) scenecode,ywid from t_scene_relation p,t_scene_info q where p.ywtable='t_shareapply' and p.sceneid=q.sceneid and issyn is null GROUP BY ywid");
  2654. for(Map map:maplist) {
  2655. jdbcTemplate.update("update t_shareapply set scenename=?,scenecode=? where id=?", new Object[] {map.get("scenename"),map.get("scenecode"),map.get("ywid")});
  2656. jdbcTemplate.update("update t_scene_relation p set p.issyn='1' where p.issyn is null and ywid=? and ywtable='t_shareapply'", new Object[] {map.get("ywid")});
  2657. }
  2658. List<Map<String,Object>> maplist2 = jdbcTemplate.queryForList("select GROUP_CONCAT(q.scene_name) scenename,GROUP_CONCAT(q.scene_code) scenecode,ywid from t_scene_relation p,t_scene_info q where p.ywtable='t_service_applyinfo' and p.sceneid=q.sceneid and issyn is null GROUP BY ywid");
  2659. for(Map map:maplist2) {
  2660. jdbcTemplate.update("update t_service_applyinfo set scenename=?,scenecode=? where applyid=?", new Object[] {map.get("scenename"),map.get("scenecode"),map.get("ywid")});
  2661. jdbcTemplate.update("update t_scene_relation p set p.issyn='1' where p.issyn is null and ywid=? and ywtable='t_service_applyinfo'", new Object[] {map.get("ywid")});
  2662. }
  2663. jdbcTemplate.execute("insert into v_histasklist_t select * from v_histasklist p where not exists(select * from v_histasklist_t t where t.taskid=p.taskid)");
  2664. }
  2665. public Pagination<TshareApplyDto> findTshareApplyByClassid(Map<String, Object> dto, Pagination<TshareApplyDto> pag,
  2666. User userInfo) {
  2667. List<Order> orders = new ArrayList<Sort.Order>();
  2668. Order order1 = new Order(Direction.ASC, "actualize");
  2669. orders.add(order1);
  2670. Order order = new Order(Direction.DESC, "applydate");
  2671. Order order2 = new Order(Direction.DESC, "state");
  2672. orders.add(order2);
  2673. orders.add(order);
  2674. Order order3 = new Order(Direction.ASC, "taskname");
  2675. orders.add(order3);
  2676. Sort sort = new Sort(orders);
  2677. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1, pag.getPageSize(), sort);
  2678. Page<TshareApply> page;
  2679. page = tshareApplyRepository.findAll(new Specification<TshareApply>() {
  2680. @Override
  2681. public Predicate toPredicate(Root<TshareApply> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
  2682. List<Predicate> pl = new ArrayList<Predicate>();
  2683. Join<TshareApply, TinfoClass> join = root.join("tinfoClass");
  2684. pl.add(cb.isNotNull(join.get("id")));
  2685. pl.add(cb.equal(join.get("id"), dto.get("classid")));
  2686. pl.add(cb.or(cb.equal(root.get("state"),"0"),cb.equal(root.get("state"),"1"),cb.equal(root.get("state"),"2"),cb.equal(root.get("state"),"3")));
  2687. if (dto.get("taskname")!=null&&!"".equals(dto.get("taskname"))) {
  2688. pl.add((cb.equal(root.get("taskname"), dto.get("taskname"))));
  2689. }
  2690. // 申请部门
  2691. if (dto.get("applydeptname")!=null&&!"".equals(dto.get("applydeptname"))) {
  2692. pl.add((cb.like(root.<String>get("applydeptname"), "%" + dto.get("applydeptname") + "%")));
  2693. }
  2694. if (dto.get("shareserialno")!=null&&!"".equals(dto.get("shareserialno"))) {
  2695. pl.add(cb.like(root.get("shareserialno"), "%" + dto.get("shareserialno") + "%"));
  2696. }
  2697. if (dto.get("state")!=null&&!"".equals(dto.get("state"))) {
  2698. pl.add((cb.equal(root.get("state"), dto.get("state"))));
  2699. }
  2700. if (dto.get("scenecode")!=null&&!"".equals(dto.get("scenecode"))) {
  2701. pl.add(cb.like(root.<String>get("scenecode"), "%" + dto.get("scenecode") + "%"));
  2702. }
  2703. if (dto.get("scenename")!=null&&!"".equals(dto.get("scenename"))) {
  2704. pl.add(cb.like(root.<String>get("scenename"), "%" + dto.get("scenename") + "%"));
  2705. }
  2706. if (dto.get("actualize")!=null&&!"".equals(dto.get("actualize"))) {
  2707. if ("1".equals(dto.get("actualize"))||"0".equals(dto.get("actualize"))) {
  2708. pl.add((cb.equal(root.get("actualize"), dto.get("actualize"))));
  2709. }
  2710. else {
  2711. pl.add(cb.or(cb.equal(root.get("actualize"), dto.get("actualize")),
  2712. cb.isNull(root.get("actualize"))));
  2713. }
  2714. }
  2715. return cb.and(pl.toArray(new Predicate[0]));
  2716. }
  2717. }, request);
  2718. List<TshareApply> dataList = page.getContent();
  2719. List<TshareApplyDto> dtolist = new ArrayList<TshareApplyDto>();
  2720. for (TshareApply u : dataList) {
  2721. TshareApplyDto tshareApplyDto = new TshareApplyDto();
  2722. BeanUtils.copyProperties(u, tshareApplyDto);
  2723. dtolist.add(tshareApplyDto);
  2724. }
  2725. pag.setPageResult(dtolist);
  2726. pag.setPageCount(page.getTotalPages());
  2727. pag.setPageTotal((int) page.getTotalElements());
  2728. return pag;
  2729. }
  2730. public void updateTshareApplyKnowStateByClassId(String state,String parentid) {
  2731. jdbcTemplate.update("update t_shareapply p set p.knowstate=? where p.tinfoclassid=? and p.state='2' ",new Object[] {state,parentid});
  2732. }
  2733. public TinfoClass findTinfoClassByPid(String tinfoClassinfoclassid) {
  2734. TinfoClass info = tinfoClassRepository.findByPid(tinfoClassinfoclassid);
  2735. if(info!=null){
  2736. return info;
  2737. }
  2738. return null;
  2739. }
  2740. public Pagination<TserviceRegInfoDto> findserviceInfoByClassid(Map<String, Object> dto,
  2741. Pagination<TserviceRegInfoDto> pag, User userInfo) {
  2742. StringBuffer sql=new StringBuffer("select * from t_service_reginfo where inprocess!='4' ");
  2743. List<String> paramList=new ArrayList<String>();
  2744. if(dto.get("classid")!=null&&!"".equals(dto.get("classid"))){
  2745. paramList.add(dto.get("classid")+"");
  2746. sql.append(" and instr(classid,?)>0 ");
  2747. }
  2748. if(dto.get("cnname")!=null&&!"".equals(dto.get("cnname"))){
  2749. paramList.add("%"+dto.get("cnname")+"%");
  2750. sql.append(" and cnname like ? ");
  2751. }
  2752. if(dto.get("providename")!=null&&!"".equals(dto.get("providename"))){
  2753. paramList.add("%"+dto.get("providename")+"%");
  2754. sql.append(" and enname like ? ");
  2755. }
  2756. Object[] args = new Object[]{};
  2757. int length = paramList.size();
  2758. if(length>0){
  2759. args=new Object[length];
  2760. for(int i=0;i<length;i++){
  2761. args[i] = paramList.get(i);
  2762. }
  2763. }
  2764. pag = pag.findPagination(sql.toString(),pag,args,new BeanPropertyRowMapper<TserviceRegInfoDto>(TserviceRegInfoDto.class),jdbcTemplate,database_type);
  2765. return pag;
  2766. }
  2767. public void updateClassIdOfServiceInfo(String id, String infoname, String id2, String infoname2) {
  2768. // TODO Auto-generated method stub
  2769. jdbcTemplate.update("update t_service_reginfo set classid=replace(classid,?,?),classname=replace(classname,?,?) where instr(classid,?)>0",new Object[] {
  2770. id2+";",
  2771. id+";",
  2772. infoname2+";",
  2773. infoname+";",
  2774. id2+";"
  2775. });
  2776. }
  2777. public IndicatorsDto findIndicatorsLastResultInfoByDeptid(String deptids) {
  2778. IndicatorsDto dto =new IndicatorsDto();
  2779. List<Indicators> list = indicatorsRepository.findIndicatorByDeptids(deptids);
  2780. double ywfglC=0.0;// 业务覆盖率-分子
  2781. double ywfglF=0.0;// 业务覆盖率-分母
  2782. double yyfglC=0.0;// 应用覆盖率-分子
  2783. double yyfglF=0.0;// 应用覆盖率-分母
  2784. double qzgllC=0.0;// 权责关联率-分子
  2785. double qzgllF=0.0;// 权责关联率-分母
  2786. double xtgllC=0.0;// 系统关联率-分子
  2787. double xtgllF=0.0;// 系统关联率-分母
  2788. double gjlC=0.0;// 挂接率-分子
  2789. double gjlF=0.0;// 挂接率-分母
  2790. double kblC=0.0;// 库表率-分子
  2791. double kblF=0.0;// 库表率-分母
  2792. double sjgxC=0.0;// 数据更新率率-分子
  2793. double sjgxF=0.0;// 数据更新率率-分母
  2794. double kzlC=0.0;// 空值率-分子
  2795. double kzlF=0.0;// 空值率-分母
  2796. double mlshC=0.0;// 目录审核通过率-分子
  2797. double mlshF=0.0;// 目录审核通过率-分母
  2798. double gjshC=0.0;// 挂接审核通过率-分子
  2799. double gjshF=0.0;// 挂接审核通过率-分母
  2800. for(Indicators info:list) {
  2801. ywfglC+=info.getYwfglC();// 业务覆盖率-分子
  2802. ywfglF+=info.getYwfglF();// 业务覆盖率-分母
  2803. yyfglC+=info.getYyfglC();// 应用覆盖率-分子
  2804. yyfglF+=info.getYyfglF();// 应用覆盖率-分母
  2805. qzgllC+=info.getQzgllC();// 权责关联率-分子
  2806. qzgllF+=info.getQzgllF();// 权责关联率-分母
  2807. xtgllC+=info.getXtgllC();// 系统关联率-分子
  2808. xtgllF+=info.getXtgllF();// 系统关联率-分母
  2809. gjlC+=info.getGjlC();// 挂接率-分子
  2810. gjlF+=info.getGjlF();// 挂接率-分母
  2811. kblC+=info.getKblC();// 库表率-分子
  2812. kblF+=info.getKblF();// 库表率-分母
  2813. sjgxC+=info.getSjgxC();// 数据更新率率-分子
  2814. sjgxF+=info.getSjgxF();// 数据更新率率-分母
  2815. kzlC+=info.getKzlC();// 空值率-分子
  2816. kzlF+=info.getKzlF();// 空值率-分母
  2817. mlshC+=info.getMlshC();// 目录审核通过率-分子
  2818. mlshF+=info.getMlshF();// 目录审核通过率-分母
  2819. gjshC+=info.getGjshC();// 挂接审核通过率-分子
  2820. gjshF+=info.getGjshF();// 挂接审核通过率-分母
  2821. }
  2822. dto.setYwfglC(ywfglC);// 业务覆盖率-分子
  2823. dto.setYwfglF(ywfglF);// 业务覆盖率-分母
  2824. dto.setYyfglC(yyfglC);// 应用覆盖率-分子
  2825. dto.setYyfglF(yyfglF);// 应用覆盖率-分母
  2826. dto.setQzgllC(qzgllC);// 权责关联率-分子
  2827. dto.setQzgllF(qzgllF);// 权责关联率-分母
  2828. dto.setXtgllC(xtgllC);// 系统关联率-分子
  2829. dto.setXtgllF(xtgllF);// 系统关联率-分母
  2830. dto.setGjlC(gjlC);// 挂接率-分子
  2831. dto.setGjlF(gjlF);// 挂接率-分母
  2832. dto.setKblC(kblC);// 库表率-分子
  2833. dto.setKblF(kblF);// 库表率-分母
  2834. dto.setSjgxC(sjgxC);// 数据更新率率-分子
  2835. dto.setSjgxF(sjgxF);// 数据更新率率-分母
  2836. dto.setKzlC(kzlC);// 空值率-分子
  2837. dto.setKzlF(kzlF);// 空值率-分母
  2838. dto.setMlshC(mlshC);// 目录审核通过率-分子
  2839. dto.setMlshF(mlshF);// 目录审核通过率-分母
  2840. dto.setGjshC(gjshC);// 挂接审核通过率-分子
  2841. dto.setGjshF(gjshF);// 挂接审核通过率-分母
  2842. return dto;
  2843. }
  2844. public void indicatorJob() {
  2845. List<String> list = jdbcTemplate.queryForList("select dept_id from deptinfo ", String.class);
  2846. IndicatorsDto indicator =new IndicatorsDto();
  2847. Indicators info =new Indicators();
  2848. indicatorsRepository.updateIndicatorsDisable();
  2849. String insertdate = ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss") ;
  2850. List<Future<List<String>>> futureList = new ArrayList<Future<List<String>>>();
  2851. /**集合总条数**/
  2852. int size = list.size();
  2853. /**将集合切分的段数**/
  2854. int sunSum = 20;
  2855. int listStart,listEnd;
  2856. /***当总条数不足10条时 用总条数 当做线程切分值**/
  2857. if(sunSum > size){
  2858. sunSum = size;
  2859. }
  2860. /**定义子线程**/
  2861. SunIndicatorCallable sunCallable;
  2862. for (int i = 0; i < sunSum; i++) {
  2863. /***计算切割 开始和结束**/
  2864. listStart = size / sunSum * i ;
  2865. listEnd = size / sunSum * ( i + 1 );
  2866. /**最后一段线程会 出现与其他线程不等的情况**/
  2867. if(i == sunSum - 1){
  2868. listEnd = size;
  2869. }
  2870. /**线程切断**/
  2871. List<String> sunList = list.subList(listStart,listEnd);
  2872. /**子线程初始化**/
  2873. sunCallable = new SunIndicatorCallable(sunList,i);
  2874. /***多线程执行***/
  2875. futureList.add(threadPoolTaskExecutor.submit(sunCallable));
  2876. }
  2877. // for(String map:list) {
  2878. //
  2879. // indicator =findIndicatorsInfoByDeptid(map+"");
  2880. // indicator.setYwfglValue(ywfglValue);
  2881. // indicator.setYyfglValue(yyfglValue);
  2882. // indicator.setQzgllValue(qzgllValue);
  2883. // indicator.setXtgllValue(xtgllValue);
  2884. // indicator.setGjlValue(gjlValue);
  2885. // indicator.setKblValue(kblValue);
  2886. // indicator.setSjgxValue(sjgxValue);
  2887. // indicator.setMlshValue(mlshValue);
  2888. // indicator.setGjshValue(gjshValue);
  2889. // BeanUtils.copyProperties(indicator, info);
  2890. // info.setDeptid(map+"");
  2891. // info.setInsertdate(insertdate);
  2892. // info.setId(ToolUtil.getUUID());
  2893. // info.setState("1");
  2894. // indicatorsRepository.save(info);
  2895. // }
  2896. }
  2897. public Pagination<TinfoClassDto> findTinfoClassHitchImplementList(final TinfoClassDto dto,
  2898. Pagination<TinfoClassDto> pag,final User userInfo) {
  2899. List<Order> orders = new ArrayList<Sort.Order>();
  2900. Order order = new Order(Direction.ASC, "implementationState");
  2901. Order order1 = new Order(Direction.DESC, "id");
  2902. orders.add(order);
  2903. orders.add(order1);
  2904. Sort sort = new Sort(orders);
  2905. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  2906. pag.getPageSize(), sort);
  2907. Page<TinfoClass> page;
  2908. page = tinfoClassRepository.findAll(new Specification<TinfoClass>() {
  2909. @Override
  2910. public Predicate toPredicate(Root<TinfoClass> root,
  2911. CriteriaQuery<?> query, CriteriaBuilder cb) {
  2912. Set<Role> serRole = userInfo.getRoles();
  2913. boolean flag = false;
  2914. for (Role role : serRole) {
  2915. if(admin_id.equals(role.getRoleId()))
  2916. flag = true;
  2917. }
  2918. List<Predicate> pl = new ArrayList<Predicate>();
  2919. pl.add(cb.equal(root.get("latestversion"), "1"));
  2920. pl.add(cb.equal(root.get("inprocess"), "2"));
  2921. //挂接情况状态 1是已挂接 0未挂接
  2922. pl.add(cb.equal(root.get("hitchStatus"), "1"));
  2923. if(!ToolUtil.isNull(dto.getInfoname())){
  2924. pl.add(cb.like(root.<String>get("infoname"), "%"+dto.getInfoname()+"%"));
  2925. }
  2926. if(!ToolUtil.isNull(dto.getInfotypename())){
  2927. pl.add(cb.like(root.<String>get("infotypename"), "%"+dto.getInfotypename()+"%"));
  2928. }
  2929. if(!ToolUtil.isNull(dto.getInfocode())){
  2930. pl.add(cb.like(root.<String>get("infocode"), "%"+dto.getInfocode()+"%"));
  2931. }
  2932. if(!ToolUtil.isNull(dto.getProvidebmname())){
  2933. pl.add(cb.like(root.<String>get("providebmname"), "%"+dto.getProvidebmname()+"%"));
  2934. }
  2935. //实施起始时间
  2936. if (!ToolUtil.isNull(dto.getStartdate())) {
  2937. pl.add(cb.greaterThanOrEqualTo(root.<String> get("implementationData"),dto.getStartdate()));
  2938. }
  2939. //实施结束时间
  2940. if (!ToolUtil.isNull(dto.getEnddate())) {
  2941. pl.add(cb.lessThanOrEqualTo(root.<String> get("implementationData"), dto.getEnddate()+" 23:59:59"));
  2942. }
  2943. //实施状态:0-未实施 1-已实施
  2944. if(!ToolUtil.isNull(dto.getImplementationState())){
  2945. if("1".equals(dto.getImplementationState())) {
  2946. pl.add(cb.equal(root.get("implementationState"), dto.getImplementationState()));
  2947. }else {
  2948. pl.add(cb.or(cb.equal(root.get("implementationState"),dto.getImplementationState()),cb.isNull(root.get("implementationState"))));
  2949. }
  2950. }
  2951. return cb.and(pl.toArray(new Predicate[0]));
  2952. }
  2953. }, request);
  2954. List<TinfoClass> dataList = page.getContent();
  2955. List<TinfoClassDto> dtolsit = new ArrayList<TinfoClassDto>();
  2956. for (TinfoClass u : dataList) {
  2957. dtolsit.add(new TinfoClassDto(u));
  2958. }
  2959. pag.setPageResult(dtolsit);
  2960. pag.setPageCount(page.getTotalPages());
  2961. pag.setPageTotal((int) page.getTotalElements());
  2962. return pag;
  2963. }
  2964. public List<TinfoClass> findListByInfonameAndProviceBmcode(String infoname, String providebmcode) {
  2965. // TODO Auto-generated method stub
  2966. return tinfoClassRepository.findListByInfonameAndProviceBmcode(infoname,providebmcode);
  2967. }
  2968. public String checkInfoValid(TinfoClass info) {
  2969. String resultTip = "";
  2970. info.setCreatedate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  2971. info.setVersionid(1);
  2972. info.setHitchStatus(0);
  2973. info.setLatestversion("1");// 默认最新版本
  2974. info.setInprocess("2");// 未启动流程
  2975. info.setBgstatus("1");// 未变更
  2976. if(!ToolUtil.isNull(info.getInfotypeid())){
  2977. TresClassify res = tresClassifyService.findTresClassifyById(info.getInfotypeid());
  2978. if(res!=null&&!ToolUtil.isNull(res.getResid())){
  2979. info.setInfotype(res.getRescode());
  2980. info.setInfotypename(res.getResname());
  2981. info.setInfotypeid(res.getResid());
  2982. }
  2983. else{
  2984. resultTip +="infotypeid参数对应的资源分类不存在;";
  2985. }
  2986. }
  2987. else{
  2988. resultTip +="infotypeid参数值不能为空;";
  2989. }
  2990. if(!ToolUtil.isNull(info.getProvidebmcode())){
  2991. Dept dept = deptService.findDeptInfoById(info.getProvidebmcode());
  2992. if(dept!=null&&!ToolUtil.isNull(dept.getDeptId())){
  2993. info.setProvidebmcode(dept.getDeptId());
  2994. info.setProvidebmname(dept.getDeptName());
  2995. if(!ToolUtil.isNull(dept.getCreditno())){
  2996. info.setCreditno(dept.getCreditno());
  2997. }
  2998. else{
  2999. resultTip +="providebmcode参数对应的部门未维护统一社会信用代码信息;";
  3000. }
  3001. if(!ToolUtil.isNull(dept.getYwbmid())){
  3002. info.setYwbmcode(dept.getYwbmcode());
  3003. info.setYwbmid(dept.getYwbmid());
  3004. info.setYwbmname(dept.getYwbmname());
  3005. }else{
  3006. resultTip +="providebmcode参数对应的部门未维护业务部门信息;";
  3007. }
  3008. if(!ToolUtil.isNull(dept.getXzqhcode())){
  3009. info.setXzqhcode(dept.getXzqhcode());
  3010. info.setXzqhid(dept.getXzqhid());
  3011. info.setXzqhname(dept.getXzqhname());
  3012. }
  3013. else{
  3014. resultTip +="providebmcode参数对应的部门未维护行政区划信息;";
  3015. }
  3016. }
  3017. else{
  3018. resultTip +="providebmcode参数对应的部门信息不存在;";
  3019. }
  3020. }
  3021. else{
  3022. resultTip +="providebmcode参数值不能为空;";
  3023. }
  3024. if (ToolUtil.isNull(info.getInfoname())) {
  3025. resultTip += "infoname不能为空;";
  3026. }
  3027. if (!ToolUtil.isNull(info.getInfoname()) && info.getInfoname().length() > 200) {
  3028. resultTip += "infoname长度不能超过200字符;";
  3029. }
  3030. if (!ToolUtil.isNull(info.getSharerange()) ) {
  3031. if(!"全市,市本级,其他".contains(info.getSharerange()))
  3032. resultTip += "sharerange字典值错误;";
  3033. }
  3034. else{
  3035. resultTip+= "sharerange不能为空;";
  3036. }
  3037. if (ToolUtil.isNull(info.getFormattypename())) {
  3038. resultTip += "formattypename不能为空;";
  3039. } else {
  3040. for (CodeDto code : dbdcCodeService.findCodeByCodeType("xxzygs")) {
  3041. if (code != null && code.getId() != null && info.getFormattypename().equals(code.getCodeName())) {
  3042. info.setFormattype(code.getCodeCode());
  3043. info.setFormattypeid(code.getId());
  3044. }
  3045. }
  3046. if (ToolUtil.isNull(info.getFormattypeid())) {
  3047. resultTip += "formattypename字典值错误;";
  3048. }
  3049. }
  3050. // 信息资源格式分类,要校验 格式与分类是否对应
  3051. if (ToolUtil.isNull(info.getSubformattypename())) {
  3052. resultTip += "subformattypename不能为空;";
  3053. } else {
  3054. for (CodeDto code : dbdcCodeService.findCodeByCodeType(info.getFormattype())) {
  3055. if (code != null && code.getId() != null
  3056. && info.getSubformattypename().equals(code.getCodeName())) {
  3057. info.setSubformattype(code.getCodeCode());
  3058. info.setSubformattypeid(code.getId());
  3059. }
  3060. }
  3061. if (ToolUtil.isNull(info.getSubformattypeid())) {
  3062. resultTip += "formattypename与subformattypename不匹配;";
  3063. }
  3064. }
  3065. // 信息类摘要 校验长度
  3066. if (!ToolUtil.isNull(info.getInfoabstracts()) && info.getInfoabstracts().length() > 400) {
  3067. resultTip += "infoabstracts不能超过400字符;";
  3068. } else if (ToolUtil.isNull(info.getInfoabstracts())) {
  3069. resultTip += "infoabstracts不能为空;";
  3070. }
  3071. // 共享类型 校验数据格式
  3072. if (ToolUtil.isNull(info.getSharetype())) {
  3073. resultTip += "sharetype不能为空;";
  3074. } else {
  3075. if ("123".contains(info.getSharetype())) {
  3076. info.setSharetype(info.getSharetype());
  3077. } else {
  3078. resultTip += "sharetype字典值错误;";
  3079. }
  3080. }
  3081. // 是否向社会开放 校验数据格式 是否
  3082. if (ToolUtil.isNull(info.getIsopensocial())) {
  3083. resultTip += "isopensocial不能为空;";
  3084. } else {
  3085. if (!"不予开放,有条件开放,无条件开放".contains(info.getIsopensocial())) {
  3086. resultTip += "isopensocial字典值错误;";
  3087. }
  3088. }
  3089. // 共享条件 校验长度
  3090. if("2".equals(info.getSharetype())) {
  3091. info.setShareconditions("");
  3092. }
  3093. else {
  3094. if (!ToolUtil.isNull(info.getShareconditions()) && info.getShareconditions().length() > 400) {
  3095. resultTip += "shareconditions不能超过400字符;";
  3096. }
  3097. else if(ToolUtil.isNull(info.getShareconditions())){
  3098. resultTip += "shareconditions不能为空;";
  3099. }
  3100. }
  3101. if("无条件开放".equals(info.getIsopensocial())) {
  3102. info.setOpencondition("");
  3103. }
  3104. else {
  3105. //开放条件 校验长度
  3106. if (!ToolUtil.isNull(info.getOpencondition()) && info.getOpencondition().length() > 400) {
  3107. resultTip += "opencondition不能超过400字符;";
  3108. }
  3109. if (ToolUtil.isNull(info.getOpencondition()) ) {
  3110. resultTip += "opencondition不能为空;";
  3111. }
  3112. }
  3113. // 更新频率 校验数据格式
  3114. if (ToolUtil.isNull(info.getUpdatecycle())) {
  3115. resultTip += "updatecycle不能为空;";
  3116. }
  3117. // 数据范围 校验长度
  3118. if (!ToolUtil.isNull(info.getDatarange()) && info.getDatarange().length() > 400) {
  3119. resultTip += "datarange不能超过400字符;";
  3120. }
  3121. // 共享方式 校验数据格式
  3122. if (ToolUtil.isNull(info.getSharemodename())) {
  3123. resultTip += "sharemodename不能为空;";
  3124. } else {
  3125. for (CodeDto code : dbdcCodeService.findCodeByCodeType("gxfs")) {
  3126. if (code != null && code.getId() != null && info.getSharemodename().equals(code.getCodeName())) {
  3127. info.setSharemode(code.getCodeCode());
  3128. info.setSharemodeid(code.getId());
  3129. }
  3130. }
  3131. if (ToolUtil.isNull(info.getSharemodeid())) {
  3132. resultTip += "sharemodename字典值错误;";
  3133. }
  3134. }
  3135. // 共享方式分类
  3136. if (ToolUtil.isNull(info.getSharemodetypename())) {
  3137. resultTip += "sharemodetypename不能为空;";
  3138. } else {
  3139. for (CodeDto code : dbdcCodeService.findCodeByCodeType(info.getSharemode())) {
  3140. if (code != null && code.getId() != null
  3141. && info.getSharemodetypename().equals(code.getCodeName())) {
  3142. info.setSharemodetype(code.getCodeCode());
  3143. info.setSharemodetypeid(code.getId());
  3144. }
  3145. }
  3146. if (ToolUtil.isNull(info.getSharemodetypeid())) {
  3147. resultTip += "sharemodetypename与sharemodename不匹配;";
  3148. }
  3149. }
  3150. // 是否加密
  3151. if (ToolUtil.isNull(info.getManagetype())) {
  3152. resultTip += "managetype不能为空;";
  3153. } else {
  3154. if (!"是,否".contains(info.getManagetype())) {
  3155. resultTip += "managetype字典值错误;";
  3156. }
  3157. }
  3158. if(ToolUtil.isNull(resultTip)){
  3159. // 开始校验信息项目
  3160. List<TinfoclassDatameta> datalist = new ArrayList<TinfoclassDatameta>();
  3161. int j=0;
  3162. for (TinfoclassDatameta data : info.getTinfoclassDatametaList()) {
  3163. j=j+1;
  3164. if (data.getXxxmc() != null) {
  3165. // 信息项名称 长度
  3166. if (data.getXxxmc().length() > 200) {
  3167. resultTip += data.getXxxmc()+":信息项的信息项名称不能超过200字符;";
  3168. }
  3169. // 是否主键
  3170. if (ToolUtil.isNull(data.getIsprimary())) {
  3171. resultTip += data.getXxxmc()+":信息项的isprimary必填;";
  3172. } else if (!"是否".contains(data.getIsprimary())) {
  3173. resultTip += data.getXxxmc()+":信息项的isprimary字典值错误;";
  3174. }
  3175. // 数据元编码 看是否存在对应数据元
  3176. if (ToolUtil.isNull(data.getGlsjy())) {
  3177. data.setGlsjy("否");
  3178. } else {
  3179. List<TdataMeta> metalist = datametaService.findTdataMetaByDatacode(data.getGlsjy());
  3180. if (metalist != null && metalist.size() > 0) {
  3181. data.setGlsjy("是");
  3182. data.setDatametaid(metalist.get(0).getId());
  3183. data.setMetacodeid(metalist.get(0).getMetacodeid());
  3184. data.setMetacodeDis(metalist.get(0).getMetacodeDis());
  3185. data.setMetacode(metalist.get(0).getMetacode());
  3186. data.setDatatypeid(metalist.get(0).getDatatypeid());
  3187. data.setDatatypeDis(metalist.get(0).getDatatypeDis());
  3188. data.setDatatype(metalist.get(0).getDatatype());
  3189. data.setDatasize(metalist.get(0).getDatasize());
  3190. } else {
  3191. resultTip += data.getXxxmc()+":glsjy未在已发布的数据元中找到相对应的数据元编码,请填写已发布数据元编码或者留空;";
  3192. }
  3193. }
  3194. if ("否".equals(data.getGlsjy())) {
  3195. // 数据元名称
  3196. if (!ToolUtil.isNull(data.getMetaname()) && data.getMetaname().length() > 200) {
  3197. resultTip += data.getXxxmc()+":信息项的metaname不超过200字符;";
  3198. }
  3199. // 数据元类别
  3200. String metacodetype = "";
  3201. if (ToolUtil.isNull(data.getMetacode())) {
  3202. resultTip += data.getXxxmc()+":信息项,metacode数据元类别不能为空;";
  3203. } else {
  3204. for (CodeDto code : dbdcCodeService.findCodeByCodeType("sjylb")) {
  3205. if (code != null && code.getId() != null
  3206. && data.getMetacode().split("-")[0].equals(code.getCodeValue())) {
  3207. data.setMetacodeid(code.getId());
  3208. data.setMetacodeDis(code.getCodeName());
  3209. data.setMetacode(code.getCodeValue());
  3210. metacodetype = code.getCodeCode();
  3211. }
  3212. }
  3213. if (ToolUtil.isNull(data.getMetacodeid())) {
  3214. resultTip += data.getXxxmc()+":信息项,metacode数据元类别字典值错误;";
  3215. }
  3216. }
  3217. // 数据元类型
  3218. if (ToolUtil.isNull(data.getDatatype())) {
  3219. resultTip += data.getXxxmc()+":信息项,datatype数据元类型不能为空;";
  3220. } else {
  3221. for (CodeDto code : dbdcCodeService.findCodeByCodeType(metacodetype)) {
  3222. if (code != null && code.getId() != null
  3223. && data.getDatatype().split("-")[0].equals(code.getCodeValue())) {
  3224. data.setDatatypeid(code.getId());
  3225. data.setDatatypeDis(code.getCodeName());
  3226. data.setDatatype(code.getCodeValue());
  3227. }
  3228. }
  3229. if (ToolUtil.isNull(data.getDatatypeid())) {
  3230. resultTip += data.getXxxmc()+":信息项,datatype数据元类型与Metacode数据元类别不匹配;";
  3231. }
  3232. }
  3233. // 信息项数据长度
  3234. if (ToolUtil.isNull(data.getDatasize())
  3235. && !"sjylb_dwblx,sjylb_qtlx,sjylb_tpx,sjylb_rqx".contains(data.getMetacode())) {
  3236. resultTip += data.getXxxmc()+":信息项,datasize数据长度不能为空;";
  3237. } else if (data.getDatasize().length() > 200) {
  3238. resultTip += data.getXxxmc()+":信息项,datasize数据长度不超过200字符;";
  3239. }
  3240. }
  3241. data.setIndexnum(j);
  3242. data.setTinfoClass1(info);
  3243. data.setId(ToolUtil.getUUID());
  3244. datalist.add(data);
  3245. }
  3246. }
  3247. if(datalist!=null&&datalist.size()>0){
  3248. info.setTinfoclassDatametaList(datalist);}
  3249. else{
  3250. resultTip += "未维护信息项信息,tinfoclassDatametaList信息为空;";
  3251. }
  3252. }
  3253. return resultTip;
  3254. }
  3255. }