EntryController.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. package cn.ubitech.ttc.controller;
  2. import cn.ubitech.ttc.common.utils.ExcelPatternMsgUtils;
  3. import cn.ubitech.ttc.excel.entry.*;
  4. import cn.ubitech.ttc.excel.param.UploadParam;
  5. import cn.ubitech.ttc.model.common.Constant;
  6. import cn.ubitech.ttc.model.common.PageModel;
  7. import cn.ubitech.ttc.model.common.ResultModel;
  8. import cn.ubitech.ttc.service.entry.EntryService;
  9. import cn.ubitech.ttc.service.impl.entry.EntryServiceImpl;
  10. import com.alibaba.fastjson.JSON;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.io.UnsupportedEncodingException;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. @RestController
  23. @RequestMapping("/entry")
  24. @Api(description = "一键导入功能接口")
  25. @Slf4j
  26. public class EntryController {
  27. @Autowired
  28. private EntryService entryService;
  29. @Autowired
  30. private EntryServiceImpl entryServiceImpl;
  31. // todo 完成.
  32. @RequestMapping(value = "/types/{node}/{uid}", method = RequestMethod.GET)
  33. @ApiOperation(value = "获取可导入的文件类型列表", notes = "获取可导入的文件类型列表")
  34. public ResultModel typeList(@PathVariable String node, @PathVariable String uid) {
  35. log.info("获取可导入的文件类型列表");
  36. log.info("获取可导入的文件类型列表入参node,uid:{},{}" , node,uid);
  37. ResultModel resultModel = new ResultModel();
  38. try {
  39. resultModel.setData(entryService.typeList(node,uid));
  40. } catch (Exception e) {
  41. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  42. resultModel.setData(e.toString());
  43. e.printStackTrace();
  44. }
  45. return resultModel;
  46. }
  47. // todo 完成60%
  48. @RequestMapping(value = "/download/model", method = RequestMethod.POST)
  49. @ApiOperation(value = "模板下载接口", notes = "模板下载接口")
  50. public ResultModel downloadModel(@RequestBody UploadParam uploadParam, HttpServletRequest request, HttpServletResponse response) {
  51. ResultModel resultModel = new ResultModel();
  52. try {
  53. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  54. entryService.download(uploadParam,request,response);
  55. } catch (Exception e) {
  56. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  57. resultModel.setData(e.toString());
  58. e.printStackTrace();
  59. }
  60. return resultModel;
  61. }
  62. // todo 完成百分之70%
  63. @RequestMapping(value = "/import", method = RequestMethod.POST)
  64. @ApiOperation(value = "一键导入接口", notes = "一键导入接口")
  65. public ResultModel entryImport(@RequestParam(value = "file", required = false) MultipartFile[] multipartFile,
  66. String fileType, String nodeId, String uId, HttpServletRequest request) throws UnsupportedEncodingException, InterruptedException {
  67. // Thread.sleep(600 * 1000);
  68. if (request.getCharacterEncoding() == null) {
  69. request.setCharacterEncoding("UTF-8");
  70. }
  71. String uri = request.getRequestURI();
  72. ResultModel resultModel = new ResultModel();
  73. try {
  74. if (multipartFile.length > 0){
  75. System.out.println("文件个数:" + multipartFile.length);
  76. for (MultipartFile file : multipartFile) {
  77. System.out.println(file.getOriginalFilename());
  78. System.out.println("******************************:" + file.getContentType());
  79. // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  80. // application/vnd.openxmlformats-officedocument.wordprocessingml.document
  81. // image/jpeg
  82. if (!file.getContentType().contains("sheet")){
  83. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  84. resultModel.setMessage("上传文件仅支持xlsx、xls,请选择正确的文件后再试。");
  85. return resultModel;
  86. }
  87. }
  88. UploadParam uploadParam = UploadParam.builder()
  89. .fileType(fileType)
  90. .nodeId(nodeId)
  91. .uId(uId)
  92. .build();
  93. System.out.println("uploadparam:"+JSON.toJSONString(uploadParam));
  94. return entryService.uploading(multipartFile,uploadParam);
  95. }else {
  96. for (MultipartFile file : multipartFile) {
  97. if (file.isEmpty()){
  98. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  99. resultModel.setMessage("上传文件不能为空,请选择正确的文件后再试。");
  100. return resultModel;
  101. }
  102. }
  103. }
  104. }
  105. // catch (Exception e) {
  106. // return GlobalExceptionHandler.resolveException(e, uri);
  107. // }
  108. catch (Exception e) {
  109. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  110. resultModel.setMessage(e.getMessage());
  111. e.printStackTrace();
  112. }
  113. return resultModel;
  114. }
  115. // todo 完成.
  116. @RequestMapping(value = "/list", method = RequestMethod.POST)
  117. @ApiOperation(value = "根据文件名称/文件类型检索已导入列表或所有已导入列表接口", notes = "根据文件名称/文件类型检索已导入列表或所有已导入列表接口")
  118. public ResultModel getUploadListsByParam(@RequestBody UploadParam uploadParam){
  119. ResultModel resultModel = new ResultModel();
  120. try {
  121. PageModel pageModel = new PageModel();
  122. pageModel.setStartIndex(uploadParam.getCurrPage());
  123. pageModel.setCurrentPage(uploadParam.getCurrPage());
  124. resultModel = (entryService.getUploadListsByParam(uploadParam,pageModel));
  125. } catch (Exception e) {
  126. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  127. resultModel.setData(e.toString());
  128. e.printStackTrace();
  129. }
  130. return resultModel;
  131. }
  132. // todo 完成
  133. @RequestMapping(value = "/detail", method = RequestMethod.POST)
  134. @ApiOperation(value = "文件内容详情查看接口", notes = "文件内容详情查看接口")
  135. public ResultModel details(@RequestBody UploadParam uploadParam) {
  136. System.err.println(JSON.toJSONString(uploadParam));
  137. ResultModel resultModel = new ResultModel();
  138. try {
  139. resultModel.setData(entryService.details(uploadParam));
  140. } catch (Exception e) {
  141. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  142. resultModel.setData(e.toString());
  143. e.printStackTrace();
  144. }
  145. return resultModel;
  146. }
  147. // todo 未完成
  148. @RequestMapping(value = "/edit/basic", method = RequestMethod.POST)
  149. @ApiOperation(value = "企业基本信息编辑接口", notes = "企业基本信息编辑接口")
  150. public ResultModel editBasicInfo(@RequestBody List<Object> basicInfos, String nodeId) {
  151. ResultModel resultModel = new ResultModel();
  152. try {
  153. int edited = entryService.editBasicInfo(basicInfos, nodeId);
  154. // int edited = 0;
  155. if (edited > 0){
  156. resultModel.setData(edited);
  157. resultModel.setMessage("企业信息编辑成功。");
  158. }else {
  159. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  160. resultModel.setData(edited);
  161. resultModel.setMessage("企业数据编辑失败,请仔细检查数据后再次尝试。");
  162. }
  163. return resultModel;
  164. } catch (Exception e) {
  165. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  166. resultModel.setData(e.toString());
  167. e.printStackTrace();
  168. }
  169. return resultModel;
  170. }
  171. @RequestMapping(value = "/edit/tax", method = RequestMethod.POST)
  172. @ApiOperation(value = "税务信息编辑接口", notes = "税务信息编辑接口")
  173. public ResultModel editTax(@RequestBody List<CompanyTaxLkExcelData> taxInfos) {
  174. ResultModel resultModel = new ResultModel();
  175. try {
  176. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  177. int edited = entryService.editTax(taxInfos);
  178. // int edited = 0;
  179. if (edited > 0){
  180. resultModel.setData(edited);
  181. resultModel.setMessage("税务信息编辑成功。");
  182. }else {
  183. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  184. resultModel.setData(edited);
  185. resultModel.setMessage("税务数据编辑失败,请仔细检查数据后再次尝试。");
  186. }
  187. return resultModel;
  188. } catch (Exception e) {
  189. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  190. resultModel.setData(e.toString());
  191. e.printStackTrace();
  192. }
  193. return resultModel;
  194. }
  195. @RequestMapping(value = "/edit/patent", method = RequestMethod.POST)
  196. @ApiOperation(value = "企业专利信息编辑接口", notes = "企业专利信息编辑接口")
  197. public ResultModel editPatent(@RequestBody List<Object> patentInfos,String nodeId) {
  198. ResultModel resultModel = new ResultModel();
  199. try {
  200. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  201. int edited = entryService.editPatent(patentInfos,"320117400");
  202. // int edited = 0;
  203. if (edited > 0){
  204. resultModel.setData(edited);
  205. resultModel.setMessage("企业专利信息编辑成功。");
  206. }else {
  207. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  208. resultModel.setData(edited);
  209. resultModel.setMessage("企业专利数据编辑失败,请仔细检查数据后再次尝试。");
  210. }
  211. } catch (Exception e) {
  212. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  213. resultModel.setData(e.toString());
  214. e.printStackTrace();
  215. }
  216. return resultModel;
  217. }
  218. @RequestMapping(value = "/edit/college/univers/res", method = RequestMethod.POST)
  219. @ApiOperation(value = "高校成果信息编辑接口", notes = "高校成果信息编辑接口")
  220. public ResultModel editCollegeUniversResult(@RequestBody List<CollegeUniversResultInfoExcelData> collegeUniversResultInfos) {
  221. ResultModel resultModel = new ResultModel();
  222. try {
  223. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  224. int edited = entryService.editCollegeUniversResult(collegeUniversResultInfos);
  225. // int edited = 0;
  226. if (edited > 0){
  227. resultModel.setData(edited);
  228. resultModel.setMessage("高校成果信息编辑成功。");
  229. }else {
  230. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  231. resultModel.setData(edited);
  232. resultModel.setMessage("高校成果数据编辑失败,请仔细检查数据后再次尝试。");
  233. }
  234. } catch (Exception e) {
  235. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  236. resultModel.setData(e.toString());
  237. e.printStackTrace();
  238. }
  239. return resultModel;
  240. }
  241. @RequestMapping(value = "/edit/financial", method = RequestMethod.POST)
  242. @ApiOperation(value = "金融库金融机构信息编辑接口", notes = "金融库金融机构信息编辑接口")
  243. public ResultModel editFinancial(@RequestBody List<Object> financialLkInfos, String nodeId) {
  244. ResultModel resultModel = new ResultModel();
  245. try {
  246. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  247. int edited = entryService.editFinancial(financialLkInfos,"320117400");
  248. // int edited = 0;
  249. if (edited > 0){
  250. resultModel.setData(edited);
  251. resultModel.setMessage("金融库金融机构信息编辑成功。");
  252. }else {
  253. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  254. resultModel.setData(edited);
  255. resultModel.setMessage("金融库金融机构数据编辑失败,请仔细检查数据后再次尝试。");
  256. }
  257. } catch (Exception e) {
  258. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  259. resultModel.setData(e.toString());
  260. e.printStackTrace();
  261. }
  262. return resultModel;
  263. }
  264. @RequestMapping(value = "/edit/personnel", method = RequestMethod.POST)
  265. @ApiOperation(value = "人才库人才信息编辑接口", notes = "人才库人才信息编辑接口")
  266. public ResultModel editPersonnel(@RequestBody List<Object> personnelInfos, String nodeId) {
  267. ResultModel resultModel = new ResultModel();
  268. try {
  269. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  270. int edited = entryService.editPersonnel(personnelInfos,"320117400");
  271. // int edited = 0;
  272. if (edited > 0){
  273. resultModel.setData(edited);
  274. resultModel.setMessage("人才库人才信息编辑成功。");
  275. }else {
  276. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  277. resultModel.setData(edited);
  278. resultModel.setMessage("人才库人才数据编辑失败,请仔细检查数据后再次尝试。");
  279. }
  280. } catch (Exception e) {
  281. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  282. resultModel.setData(e.toString());
  283. e.printStackTrace();
  284. }
  285. return resultModel;
  286. }
  287. @RequestMapping(value = "/edit/expert", method = RequestMethod.POST)
  288. @ApiOperation(value = "专家库专家信息编辑接口", notes = "专家库专家信息编辑接口")
  289. public ResultModel editExpert(@RequestBody List<Object> expertInfos, String nodeId) {
  290. ResultModel resultModel = new ResultModel();
  291. try {
  292. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  293. int edited = entryService.editExpert(expertInfos,"320117400");
  294. // int edited = 0;
  295. if (edited > 0){
  296. resultModel.setData(edited);
  297. resultModel.setMessage("专家库专家信息编辑成功。");
  298. }else {
  299. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  300. resultModel.setData(edited);
  301. resultModel.setMessage("专家库专家数据编辑失败,请仔细检查数据后再次尝试。");
  302. }
  303. } catch (Exception e) {
  304. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  305. resultModel.setData(e.toString());
  306. e.printStackTrace();
  307. }
  308. return resultModel;
  309. }
  310. @RequestMapping(value = "/edit/policy", method = RequestMethod.POST)
  311. @ApiOperation(value = "政策信息编辑接口", notes = "政策信息编辑接口")
  312. public ResultModel editPolicy(@RequestBody List<Object> policyBasicInfos, String nodeId) {
  313. ResultModel resultModel = new ResultModel();
  314. try {
  315. // resultModel = (entryService.logRecordsIsVisible(node,uid));
  316. int edited = entryService.editPolicy(policyBasicInfos,"320117400");
  317. // int edited = 0;
  318. if (edited > 0){
  319. resultModel.setData(edited);
  320. resultModel.setMessage("政策信息编辑成功。");
  321. }else {
  322. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  323. resultModel.setData(edited);
  324. resultModel.setMessage("政策数据编辑失败,请仔细检查数据后再次尝试。");
  325. }
  326. } catch (Exception e) {
  327. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  328. resultModel.setData(e.toString());
  329. e.printStackTrace();
  330. }
  331. return resultModel;
  332. }
  333. @PostMapping("/edit/platformInfo")
  334. @ApiOperation(value = "平台库编辑接口",notes = "平台库编辑接口")
  335. public ResultModel editPlatformInfo(@RequestBody List<Object> platformInfos, @RequestParam String nodeId) {
  336. ResultModel resultModel = new ResultModel();
  337. try {
  338. int edited = entryService.editPlatformInfo(platformInfos,nodeId);
  339. if (edited > 0) {
  340. resultModel.setData(edited);
  341. resultModel.setMessage("平台库信息编辑成功。");
  342. } else {
  343. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  344. resultModel.setData(edited);
  345. resultModel.setMessage("平台库数据编辑失败,请仔细检查数据后再次尝试。");
  346. }
  347. } catch (Exception e) {
  348. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  349. resultModel.setData(e.toString());
  350. e.printStackTrace();
  351. }
  352. return resultModel;
  353. }
  354. @RequestMapping(value = "/init", method = RequestMethod.GET)
  355. @ApiOperation(value = "init", notes = "init")
  356. public ResultModel init() {
  357. ResultModel resultModel = new ResultModel();
  358. try {
  359. resultModel.setData(ExcelPatternMsgUtils.initTongluBasicHeadInfo());
  360. } catch (Exception e) {
  361. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  362. resultModel.setData(e.toString());
  363. e.printStackTrace();
  364. }
  365. return resultModel;
  366. }
  367. @GetMapping("setPolicyInfo")
  368. public ResultModel setPolicyInfo() {
  369. ResultModel resultModel = new ResultModel();
  370. ResultModel resultModel1 = new ResultModel();
  371. try {
  372. List<PolicyBasicInfoExcelDataLishui> list = new ArrayList();
  373. PolicyBasicInfoExcelDataLishui excelDataLishui = new PolicyBasicInfoExcelDataLishui("2021年紫金山英才高峰计划项目", "市级", "", "支持对象:既通科技、又懂市场,企业经营管理和整合创新资源能力较强,对创新驱动发展和经济转型升级起到引领示范作用的企业家。\n" +
  374. "奖励政策:创新型企业家培育计划培育期为3年。入选计划的,可享受下列支持政策:\n" +
  375. "1)根据市绩效评价结果,区财政给予优秀的培育对象所在企业50—200万元资金资助。\n" +
  376. "(2)入选国家重点人才工程的,给予所在企业50万元奖励;作为核心团队成员引进博士或正高职称人才的,按每人5万元的标准一次性给予企业补贴,每家企业补贴总额每年不超过10万元。\n" +
  377. "(3)对于注册5年内的创新型企业家领创企业,在培育期内,由企业所在镇(街)等载体单位提供不少于500平方米研发场地,3年内免收租金,或者给予相应标准的租金补贴。\n" +
  378. "(4)根据培育对象实际需求,区财政按当年实际还贷额度和银行贷款市场报价利率,从贷款之日起给予5年累计贷款总额不超过3000万元的相应贴息资助。培育期内产生的贷款利息均可享受补贴。\n" +
  379. "(5)优先推荐为南京市创新型企业家联合会会员,享受金融对接、交流合作、高端研修等与服务。", "", "谢思秀", "56232876", "", null, "", "", null);
  380. PolicyBasicInfoExcelDataLishui excelDataLishui1 = new PolicyBasicInfoExcelDataLishui("2021年无想山英才先锋计划创新型企业家项目", "区级", "", "进入市创新型企业家培育项目储备库的企业,纳入无想山英才先峰计划创新型企业家项目予以扶持,根据项目进展情况,达到一定标准的,区财政给予50万元科研成果产业化配套资金,按3:3:4比例分三年予以资助。扶持期间,入选紫金山英才先锋计划创新型企业家项目并在培育期内年度绩效评价达到优秀的,按资助标准补足差额。\n" +
  381. "支持政策:\n" +
  382. "1. 企业入库一年内,满足以下条件之一:①企业年营业收入或年纳税增长率达20%以上,②新增自主知识产权5件以上或示范推广自主创新产品2件以上,③成长为培育独角兽企业或瞪羚企业,④入选省“双创人才”或省“333工程”第三层次;区财政给予15万元资金资助。\n" +
  383. "2. 企业入库两年内,满足以下条件之一:①企业年营业收入或年纳税增长率达30%以上,②新增自主知识产权10件以上或示范推广自主创新产品5件以上,③成长为独角兽企业,④所在企业人才入选省双创团队;区财政再给予15万元资金资助。\n" +
  384. "3. 企业入库三年内,满足以下条件之一:①企业年营业收入或年纳税增长率达40%以上,②新增自主知识产权15件以上或示范推广自主创新产品8件以上,③所在企业人才入选国家重点人才工程;区财政再给予20万元资金资助。", "", "谢思秀", "56232877", "", null, "", "", null);
  385. PolicyBasicInfoExcelDataLishui excelDataLishui2 = new PolicyBasicInfoExcelDataLishui("2021年无想山英才先锋计划高层次创新创业人才项目", "区级", "", "1.创业类人才,按A类、B类、C类,给予350万元、250万元、150万元资金资助。创新类人才给予150万元资金资助。\n" +
  386. "2.对国家重点人才工程A类入选者、江苏省“双创人才”,按上级拨付经费给予1:1配套奖励,最高不超过300万元。\n" +
  387. "3.提供100平方米左右创业场所,3年内免收租金,或给予租金补贴。\n" +
  388. "4.南京市人才创新创业投资基金优先给予创业类人才企业风险投资,单笔投资额一般不超过2000万元。\n" +
  389. "5.优先推荐申报国家重点人才工程A类,江苏省“双创人才”等。", "", "谢思秀", "56232878", "", null, "", "", null);
  390. list.add(excelDataLishui);
  391. list.add(excelDataLishui1);
  392. list.add(excelDataLishui2);
  393. resultModel.setData(entryServiceImpl.savePolicyBasicInfoExcelDataLiShui(list,"","320117400"));
  394. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3350);
  395. } catch (Exception e) {
  396. resultModel.setCode(Constant.INTERFACE_STATUS_CODE_3351);
  397. resultModel.setData(e.toString());
  398. e.printStackTrace();
  399. }
  400. return resultModel;
  401. }
  402. }