CognizanceApiController.java 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. package com.goafanti.techservice.cognizance.controller;
  2. import java.io.IOException;
  3. import java.math.BigDecimal;
  4. import java.text.ParseException;
  5. import java.util.ArrayList;
  6. import java.util.Calendar;
  7. import java.util.LinkedHashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. import java.util.UUID;
  11. import javax.annotation.Resource;
  12. import javax.servlet.http.HttpServletRequest;
  13. import org.apache.commons.lang3.time.DateFormatUtils;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import com.goafanti.common.bo.Result;
  20. import com.goafanti.common.constant.ErrorConstants;
  21. import com.goafanti.common.controller.BaseApiController;
  22. import com.goafanti.common.model.OrgActivity;
  23. import com.goafanti.common.model.OrgActivityCost;
  24. import com.goafanti.common.model.OrgAnnualReport;
  25. import com.goafanti.common.model.OrgCognizance;
  26. import com.goafanti.common.model.OrgCognizanceLog;
  27. import com.goafanti.common.model.OrgFinance;
  28. import com.goafanti.common.model.OrgHonorDatum;
  29. import com.goafanti.common.model.OrgIntellectualProperty;
  30. import com.goafanti.common.model.OrgRatepay;
  31. import com.goafanti.common.model.OrgStandard;
  32. import com.goafanti.common.model.OrgTechAchievement;
  33. import com.goafanti.common.model.OrgTechCenter;
  34. import com.goafanti.common.model.OrgTechCenterDetail;
  35. import com.goafanti.common.model.OrgTechProduct;
  36. import com.goafanti.common.model.OrganizationIdentity;
  37. import com.goafanti.common.utils.DateUtils;
  38. import com.goafanti.common.utils.FileUtils;
  39. import com.goafanti.common.utils.LoggerUtils;
  40. import com.goafanti.common.utils.StringUtils;
  41. import com.goafanti.core.shiro.token.TokenManager;
  42. import com.goafanti.techservice.cognizance.bo.ActivityNumberBo;
  43. import com.goafanti.techservice.cognizance.bo.AnnualReportBo;
  44. import com.goafanti.techservice.cognizance.bo.AnnualReportMainBo;
  45. import com.goafanti.techservice.cognizance.bo.AnnualReportPropertyRightBo;
  46. import com.goafanti.techservice.cognizance.bo.CognizanceCatagoryBo;
  47. import com.goafanti.techservice.cognizance.bo.CognizanceDetailBo;
  48. import com.goafanti.techservice.cognizance.bo.CognizanceManageCostBo;
  49. import com.goafanti.techservice.cognizance.bo.CognizanceOrgInfoBo;
  50. import com.goafanti.techservice.cognizance.bo.CognizanceResearchCostBo;
  51. import com.goafanti.techservice.cognizance.service.OrgActivityCostService;
  52. import com.goafanti.techservice.cognizance.service.OrgActivityService;
  53. import com.goafanti.techservice.cognizance.service.OrgAnnualReportService;
  54. import com.goafanti.techservice.cognizance.service.OrgCognizanceLogService;
  55. import com.goafanti.techservice.cognizance.service.OrgCognizanceService;
  56. import com.goafanti.techservice.cognizance.service.OrgFinanceService;
  57. import com.goafanti.techservice.cognizance.service.OrgHonorDatumService;
  58. import com.goafanti.techservice.cognizance.service.OrgIntellectualPropertyService;
  59. import com.goafanti.techservice.cognizance.service.OrgRatepayService;
  60. import com.goafanti.techservice.cognizance.service.OrgStandardService;
  61. import com.goafanti.techservice.cognizance.service.OrgTechAchievementService;
  62. import com.goafanti.techservice.cognizance.service.OrgTechCenterDetailService;
  63. import com.goafanti.techservice.cognizance.service.OrgTechCenterService;
  64. import com.goafanti.techservice.cognizance.service.OrgTechProductService;
  65. import com.goafanti.user.service.OrganizationIdentityService;
  66. import com.goafanti.user.service.UserService;
  67. @Controller
  68. @RequestMapping(value = "/techservice/cognizance")
  69. public class CognizanceApiController extends BaseApiController {
  70. @Resource
  71. private UserService userService;
  72. @Resource
  73. private OrgStandardService orgStandardService;
  74. @Resource
  75. private OrgActivityService orgActivityService;
  76. @Resource
  77. private OrgIntellectualPropertyService orgIntellectualPropertyService;
  78. @Resource
  79. private OrganizationIdentityService organizationIdentityService;
  80. @Resource
  81. private OrgTechProductService orgTechProductService;
  82. @Resource
  83. private OrgActivityCostService orgActivityCostService;
  84. @Resource
  85. private OrgRatepayService orgRatepayService;
  86. @Resource
  87. private OrgFinanceService orgFinanceService;
  88. @Resource
  89. private OrgTechAchievementService orgTechAchievementService;
  90. @Resource
  91. private OrgHonorDatumService orgHonorDatumService;
  92. @Resource
  93. private OrgTechCenterService orgTechCenterService;
  94. @Resource
  95. private OrgTechCenterDetailService orgTechCenterDetailService;
  96. @Resource
  97. private OrgCognizanceService orgCognizanceService;
  98. @Resource
  99. private OrgAnnualReportService orgAnnualReportService;
  100. @Resource
  101. private OrgCognizanceLogService orgCognizanceLogService;
  102. /**
  103. * 企业研究开发活动情况表入口
  104. *
  105. * @param activityNumber
  106. * @param activityName
  107. * @param startDate
  108. * @param endDate
  109. * @param pageNo
  110. * @param pageSize
  111. * @return
  112. * @throws ParseException
  113. */
  114. @RequestMapping(value = "/activityList", method = RequestMethod.POST)
  115. public Result activityList(String activityNumber, String activityName, String startDateFormattedDate,
  116. String endDateFormattedDate, String pageNo, String pageSize) throws ParseException {
  117. Result res = new Result();
  118. res = checkCertify(res);
  119. if (res.getError().isEmpty()) {
  120. Integer pNo = 1;
  121. Integer pSize = 10;
  122. if (StringUtils.isNumeric(pageSize)) {
  123. pSize = Integer.parseInt(pageSize);
  124. }
  125. if (StringUtils.isNumeric(pageNo)) {
  126. pNo = Integer.parseInt(pageNo);
  127. }
  128. res.setData(orgActivityService.listOrgActivity(activityNumber, activityName, startDateFormattedDate,
  129. endDateFormattedDate, pNo, pSize, TokenManager.getUserId()));
  130. }
  131. return res;
  132. }
  133. /**
  134. * 企业研究开发活动情况新增、修改
  135. *
  136. * @param orgActivity
  137. * @return
  138. * @throws ParseException
  139. */
  140. @RequestMapping(value = "/activity", method = RequestMethod.POST)
  141. public Result activity(OrgActivity orgActivity, String startDateFormattedDate, String endDateFormattedDate)
  142. throws ParseException {
  143. Result res = new Result();
  144. orgActivity.setDeletedSign(0);
  145. if (!StringUtils.isBlank(startDateFormattedDate)) {
  146. orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, "yyyy-MM-dd"));
  147. }
  148. if (!StringUtils.isBlank(endDateFormattedDate)) {
  149. orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, "yyyy-MM-dd"));
  150. }
  151. if (StringUtils.isBlank(orgActivity.getId())) {
  152. orgActivity.setId(UUID.randomUUID().toString());
  153. orgActivity.setUid(TokenManager.getUserId());
  154. orgActivityService.insert(orgActivity);
  155. } else {
  156. orgActivityService.updateByPrimaryKeySelective(orgActivity);
  157. Boolean flag = false;
  158. OrgActivityCost cost = orgActivityCostService.selectOrgActivityCostByAid(orgActivity.getId());
  159. if (null != cost) {
  160. if (!StringUtils.isBlank(orgActivity.getActivityNumber())) {
  161. cost.setActivityNumber(orgActivity.getActivityNumber());
  162. flag = true;
  163. }
  164. if (null == orgActivity.getStartDate()) {
  165. cost.setStartDate(orgActivity.getStartDate());
  166. flag = true;
  167. }
  168. if (null == orgActivity.getEndDate()) {
  169. cost.setEndDate(orgActivity.getEndDate());
  170. flag = true;
  171. }
  172. }
  173. if (flag) {
  174. orgActivityCostService.updateByPrimaryKeySelective(cost);
  175. }
  176. }
  177. res.setData(orgActivity);
  178. return res;
  179. }
  180. /**
  181. * 删除企业研究开发活动情况
  182. *
  183. * @param ids
  184. * @return
  185. */
  186. @RequestMapping(value = "/deleteActivity", method = RequestMethod.POST)
  187. public Result deleteActivity(@RequestParam(name = "ids[]", required = true) String[] ids) {
  188. Result res = new Result();
  189. List<String> id = new ArrayList<String>();
  190. for (String s : ids) {
  191. id.add(s);
  192. }
  193. orgActivityService.batchDeleteByPrimaryKey(id);
  194. orgActivityCostService.batchDeleteByAid(id);
  195. return res;
  196. }
  197. /**
  198. * 企业年度研究开发费用结构明细表列表入口
  199. *
  200. * @return
  201. * @throws ParseException
  202. */
  203. @RequestMapping(value = "/activityCostList", method = RequestMethod.POST)
  204. public Result activityCostList(String activityNumber, String startDateFormattedDate, String endDateFormattedDate,
  205. String pageNo, String pageSize) throws ParseException {
  206. Result res = new Result();
  207. res = checkCertify(res);
  208. if (res.getError().isEmpty()) {
  209. Integer pNo = 1;
  210. Integer pSize = 10;
  211. if (StringUtils.isNumeric(pageSize)) {
  212. pSize = Integer.parseInt(pageSize);
  213. }
  214. if (StringUtils.isNumeric(pageNo)) {
  215. pNo = Integer.parseInt(pageNo);
  216. }
  217. res.setData(orgActivityCostService.listOrgActivityCost(activityNumber, startDateFormattedDate,
  218. endDateFormattedDate, pNo, pSize, TokenManager.getUserId()));
  219. }
  220. return res;
  221. }
  222. /**
  223. * 企业年度研究开发费用结构明细表(新增+修改)
  224. *
  225. * @return
  226. * @throws ParseException
  227. */
  228. @RequestMapping(value = "/activityCost", method = RequestMethod.POST)
  229. public Result activityCost(OrgActivityCost orgActivityCost, String signDateFormattedDate) throws ParseException {
  230. Result res = new Result();
  231. if (!StringUtils.isBlank(signDateFormattedDate)) {
  232. orgActivityCost.setSignDate(DateUtils.parseDate(signDateFormattedDate, "yyyy-MM-dd"));
  233. }
  234. if (null == orgActivityCost.getId()) {
  235. OrgActivity ac = orgActivityService.selectOrgActivityByPrimaryKey(orgActivityCost.getAid());
  236. orgActivityCost.setStartDate(ac.getStartDate());
  237. orgActivityCost.setEndDate(ac.getEndDate());
  238. orgActivityCost.setId(UUID.randomUUID().toString());
  239. orgActivityCost.setUid(TokenManager.getUserId());
  240. orgActivityCost.setDeletedSign(0);
  241. orgActivityCostService.insert(orgActivityCost);
  242. } else {
  243. orgActivityCostService.updateByPrimaryKeySelective(orgActivityCost);
  244. }
  245. return res;
  246. }
  247. /**
  248. * 删除企业年度研究开发费用结构明细表
  249. *
  250. * @param ids
  251. * @return
  252. */
  253. @RequestMapping(value = "/deleteActivityCost", method = RequestMethod.POST)
  254. public Result deleteActivityCost(@RequestParam(name = "ids[]", required = true) String[] ids) {
  255. Result res = new Result();
  256. List<String> id = new ArrayList<String>();
  257. for (String s : ids) {
  258. id.add(s);
  259. }
  260. res.setData(orgActivityCostService.batchDeleteByPrimaryKey(id));
  261. return res;
  262. }
  263. /**
  264. * 企业参与国家标准或行业标准制定情况明细入口
  265. *
  266. * @return
  267. */
  268. @RequestMapping(value = "/standard", method = RequestMethod.POST)
  269. public Result standard(String standardName, String standardNumber, Integer standardLevel, Integer participateWay,
  270. String pageNo, String pageSize) {
  271. Result res = new Result();
  272. res = checkCertify(res);
  273. if (res.getError().isEmpty()) {
  274. Integer pNo = 1;
  275. Integer pSize = 10;
  276. if (StringUtils.isNumeric(pageSize)) {
  277. pSize = Integer.parseInt(pageSize);
  278. }
  279. if (StringUtils.isNumeric(pageNo)) {
  280. pNo = Integer.parseInt(pageNo);
  281. }
  282. res.setData(orgStandardService.listOrgStandard(standardName, standardNumber, standardLevel, participateWay,
  283. pNo, pSize, TokenManager.getUserId()));
  284. }
  285. return res;
  286. }
  287. /**
  288. * 企业参与国家标准或行业标准制定情况明细修改保存
  289. *
  290. * @return
  291. */
  292. @RequestMapping(value = "/developStandard", method = RequestMethod.POST)
  293. public Result developStandard(OrgStandard orgStandard) {
  294. Result res = new Result();
  295. if (StringUtils.isBlank(orgStandard.getId())) {
  296. orgStandard.setId(UUID.randomUUID().toString());
  297. orgStandard.setUid(TokenManager.getUserId());
  298. orgStandard.setDeletedSign(0);
  299. Calendar now = Calendar.getInstance();
  300. now.set(Calendar.MILLISECOND, 0);
  301. orgStandard.setCreateTime(now.getTime());
  302. orgStandardService.insert(orgStandard);
  303. } else {
  304. orgStandardService.updateByPrimaryKeySelective(orgStandard);
  305. }
  306. res.setData(orgStandard);
  307. return res;
  308. }
  309. /**
  310. * 删除选中标准制定情况记录
  311. *
  312. * @param id
  313. * 记录id
  314. * @return
  315. */
  316. @RequestMapping(value = "/deleteStandard", method = RequestMethod.POST)
  317. public Result deleteStandard(@RequestParam(name = "ids[]", required = true) String[] ids) {
  318. Result res = new Result();
  319. List<String> id = new ArrayList<String>();
  320. for (String s : ids) {
  321. id.add(s);
  322. }
  323. res.setData(orgStandardService.batchDeleteByPrimaryKey(id));
  324. return res;
  325. }
  326. /**
  327. * 用户端录入+修改知识产权信息(专利+软著)
  328. *
  329. * @return
  330. * @throws ParseException
  331. */
  332. @RequestMapping(value = "/intellectual", method = RequestMethod.POST)
  333. public Result intellectual(OrgIntellectualProperty orgIntellectualProperty, String authorizationDateFormattedDate)
  334. throws ParseException {
  335. Result res = new Result();
  336. if (!StringUtils.isBlank(authorizationDateFormattedDate)) {
  337. orgIntellectualProperty
  338. .setAuthorizationDate(DateUtils.parseDate(authorizationDateFormattedDate, "yyyy-MM-dd"));
  339. }
  340. if (null == orgIntellectualProperty.getId()) {
  341. orgIntellectualProperty.setId(UUID.randomUUID().toString());
  342. orgIntellectualProperty.setUid(TokenManager.getUserId());
  343. orgIntellectualProperty.setEvaluationCategory(
  344. (orgIntellectualProperty.getCatagory() >= 2 && orgIntellectualProperty.getCatagory() <= 4) ? 1 : 0);
  345. orgIntellectualProperty.setDeletedSign(0);
  346. res.setData(orgIntellectualPropertyService.insert(orgIntellectualProperty));
  347. } else {
  348. orgIntellectualProperty.setEvaluationCategory(orgIntellectualProperty.getCatagory() <= 2 ? 1 : 0);
  349. res.setData(orgIntellectualPropertyService.updateByPrimaryKeySelective(orgIntellectualProperty));
  350. }
  351. return res;
  352. }
  353. /**
  354. * 用户知识产权列表
  355. *
  356. * @param pageNo
  357. * @param pageSize
  358. * @return
  359. */
  360. @RequestMapping(value = "/intellectualList", method = RequestMethod.GET)
  361. public Result intellectualList(String pageNo, String pageSize) {
  362. Result res = new Result();
  363. res = checkCertify(res);
  364. if (res.getError().isEmpty()) {
  365. Integer pNo = 1;
  366. Integer pSize = 10;
  367. if (StringUtils.isNumeric(pageSize)) {
  368. pSize = Integer.parseInt(pageSize);
  369. }
  370. if (StringUtils.isNumeric(pageNo)) {
  371. pNo = Integer.parseInt(pageNo);
  372. }
  373. res.setData(orgIntellectualPropertyService.listIntellectual(pNo, pSize, TokenManager.getUserId()));
  374. }
  375. return res;
  376. }
  377. /**
  378. * 删除选中知识产权记录
  379. *
  380. * @param id
  381. * @return
  382. */
  383. @RequestMapping(value = "/deleteIntellectual", method = RequestMethod.POST)
  384. public Result deleteIntellectual(@RequestParam(name = "ids[]", required = true) String[] ids) {
  385. Result res = new Result();
  386. List<String> id = new ArrayList<String>();
  387. for (String s : ids) {
  388. id.add(s);
  389. }
  390. res.setData(orgIntellectualPropertyService.batchDeleteByPrimaryKey(id));
  391. return res;
  392. }
  393. /**
  394. * 上年度高新技术产品(服务)情况列表
  395. *
  396. * @param pageNo
  397. * @param pageSize
  398. * @return
  399. */
  400. @RequestMapping(value = "/techProductList", method = RequestMethod.GET)
  401. public Result techProductList(String pageNo, String pageSize) {
  402. Result res = new Result();
  403. res = checkCertify(res);
  404. if (res.getError().isEmpty()) {
  405. Integer pNo = 1;
  406. Integer pSize = 10;
  407. if (StringUtils.isNumeric(pageSize)) {
  408. pSize = Integer.parseInt(pageSize);
  409. }
  410. if (StringUtils.isNumeric(pageNo)) {
  411. pNo = Integer.parseInt(pageNo);
  412. }
  413. res.setData(orgTechProductService.listTechProduct(pNo, pSize, TokenManager.getUserId()));
  414. }
  415. return res;
  416. }
  417. /**
  418. * 上年度高新技术产品(服务)情况(新增+修改)
  419. *
  420. * @param orgTechProduct
  421. * @return
  422. */
  423. @RequestMapping(value = "/techProduct", method = RequestMethod.POST)
  424. public Result techProduct(OrgTechProduct orgTechProduct) {
  425. Result res = new Result();
  426. if (StringUtils.isBlank(orgTechProduct.getId())) {
  427. orgTechProduct.setId(UUID.randomUUID().toString());
  428. orgTechProduct.setUid(TokenManager.getUserId());
  429. orgTechProduct.setDeletedSign(0);
  430. Calendar now = Calendar.getInstance();
  431. now.set(Calendar.MILLISECOND, 0);
  432. orgTechProduct.setCreateTime(now.getTime());
  433. orgTechProduct.setYear(Calendar.getInstance().get(Calendar.YEAR) - 1);
  434. orgTechProductService.insert(orgTechProduct);
  435. } else {
  436. orgTechProductService.updateByPrimaryKeySelective(orgTechProduct);
  437. }
  438. res.setData(orgTechProduct);
  439. return res;
  440. }
  441. /**
  442. * 删除选中上年度高新技术产品(服务)情况记录
  443. *
  444. * @param ids
  445. * @return
  446. */
  447. @RequestMapping(value = "/deleteTechProduct", method = RequestMethod.POST)
  448. public Result deleteTechProduct(@RequestParam(name = "ids[]", required = true) String[] ids) {
  449. Result res = new Result();
  450. List<String> id = new ArrayList<String>();
  451. for (String s : ids) {
  452. id.add(s);
  453. }
  454. res.setData(orgTechProductService.batchDeleteByPrimaryKey(id));
  455. return res;
  456. }
  457. /**
  458. * 企业纳税申报信息入口
  459. *
  460. * @return
  461. */
  462. @RequestMapping(value = "/ratepay", method = RequestMethod.GET)
  463. public Result ratepay(Integer year, String pageNo, String pageSize) {
  464. Result res = new Result();
  465. res = checkCertify(res);
  466. if (res.getError().isEmpty()) {
  467. Integer pNo = 1;
  468. Integer pSize = 10;
  469. if (StringUtils.isNumeric(pageSize)) {
  470. pSize = Integer.parseInt(pageSize);
  471. }
  472. if (StringUtils.isNumeric(pageNo)) {
  473. pNo = Integer.parseInt(pageNo);
  474. }
  475. res.setData(orgRatepayService.listOrgRatepay(year, pNo, pSize, TokenManager.getUserId()));
  476. }
  477. return res;
  478. }
  479. /**
  480. * 企业纳税申报信息录入+修改
  481. */
  482. @RequestMapping(value = "/disposeRatepay", method = RequestMethod.POST)
  483. public Result disposeRatepay(OrgRatepay orgRatepay) {
  484. Result res = new Result();
  485. if (null == orgRatepay.getId()) {
  486. if (null == orgRatepayService.selectRatepayByUidAndYear(TokenManager.getUserId(), orgRatepay.getYear())){
  487. orgRatepay.setId(UUID.randomUUID().toString());
  488. orgRatepay.setUid(TokenManager.getUserId());
  489. orgRatepay.setDeletedSign(0);
  490. orgRatepayService.insert(orgRatepay);
  491. } else {
  492. res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度纳税申报表已录入!"));
  493. return res;
  494. }
  495. } else {
  496. orgRatepayService.updateByPrimaryKeySelective(orgRatepay);
  497. }
  498. return res;
  499. }
  500. /**
  501. * 刪除企业纳税申报信息
  502. *
  503. * @param ids
  504. * @return
  505. */
  506. @RequestMapping(value = "/deleteRatepay", method = RequestMethod.POST)
  507. public Result deleteRatepay(@RequestParam(name = "ids[]", required = true) String[] ids) {
  508. Result res = new Result();
  509. List<String> id = new ArrayList<String>();
  510. for (String s : ids) {
  511. id.add(s);
  512. }
  513. res.setData(orgRatepayService.batchDeleteByPrimaryKey(id));
  514. return res;
  515. }
  516. /**
  517. * 财务报表信息入口
  518. *
  519. * @return
  520. */
  521. @RequestMapping(value = "/finance", method = RequestMethod.GET)
  522. public Result finance(Integer year, String pageNo, String pageSize) {
  523. Result res = new Result();
  524. res = checkCertify(res);
  525. if (res.getError().isEmpty()) {
  526. Integer pNo = 1;
  527. Integer pSize = 10;
  528. if (StringUtils.isNumeric(pageSize)) {
  529. pSize = Integer.parseInt(pageSize);
  530. }
  531. if (StringUtils.isNumeric(pageNo)) {
  532. pNo = Integer.parseInt(pageNo);
  533. }
  534. res.setData(orgFinanceService.listFinance(year, pNo, pSize, TokenManager.getUserId()));
  535. }
  536. return res;
  537. }
  538. /**
  539. * 财务报表录入+修改
  540. *
  541. * @param orgFinance
  542. * @return
  543. */
  544. @RequestMapping(value = "/disposeFinance", method = RequestMethod.POST)
  545. public Result disposeFinance(OrgFinance orgFinance) {
  546. Result res = new Result();
  547. if (null == orgFinance.getId()) {
  548. if (null == orgFinanceService.selectFinanceByUidAndYear(TokenManager.getUserId(), orgFinance.getYear())){
  549. orgFinance.setId(UUID.randomUUID().toString());
  550. orgFinance.setUid(TokenManager.getUserId());
  551. orgFinance.setDeletedSign(0);
  552. orgFinanceService.insert(orgFinance);
  553. } else {
  554. res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年度财务报表已录入!"));
  555. return res;
  556. }
  557. } else {
  558. orgFinanceService.updateByPrimaryKeySelective(orgFinance);
  559. }
  560. return res;
  561. }
  562. /**
  563. * 删除财务报表
  564. *
  565. * @param ids
  566. * @return
  567. */
  568. @RequestMapping(value = "/deleteFinance", method = RequestMethod.POST)
  569. public Result deleteFinance(@RequestParam(name = "ids[]", required = true) String[] ids) {
  570. Result res = new Result();
  571. List<String> id = new ArrayList<String>();
  572. for (String s : ids) {
  573. id.add(s);
  574. }
  575. res.setData(orgFinanceService.batchDeleteByPrimaryKey(id));
  576. return res;
  577. }
  578. /**
  579. * 获取当前用户已录入项目标号列表
  580. *
  581. * @param uid
  582. * @return
  583. */
  584. @RequestMapping(value = "/activityNumber", method = RequestMethod.GET)
  585. public Result listActivityNumber() {
  586. Result res = new Result();
  587. List<ActivityNumberBo> activityNumberBo = orgActivityService
  588. .selectOrgActivityNumberBoByUid(TokenManager.getUserId());
  589. res.setData(activityNumberBo);
  590. return res;
  591. }
  592. /**
  593. * 高企相关材料上传
  594. *
  595. * @param req
  596. * @param sign
  597. * @return
  598. */
  599. @RequestMapping(value = "/upload", method = RequestMethod.POST)
  600. public Result cognizanceFile(HttpServletRequest req, String sign, String uid) {
  601. Result res = new Result();
  602. res.setData(handleFile(res, "/cognizance/", true, req, sign, uid));
  603. return res;
  604. }
  605. /**
  606. * 科技成果转化情况列表入口
  607. *
  608. * @param pageNo
  609. * @param pageSize
  610. * @return
  611. */
  612. @RequestMapping(value = "/achievementList", method = RequestMethod.GET)
  613. public Result achievementList(String pageNo, String pageSize) {
  614. Result res = new Result();
  615. res = checkCertify(res);
  616. if (res.getError().isEmpty()) {
  617. Integer pNo = 1;
  618. Integer pSize = 10;
  619. if (StringUtils.isNumeric(pageSize)) {
  620. pSize = Integer.parseInt(pageSize);
  621. }
  622. if (StringUtils.isNumeric(pageNo)) {
  623. pNo = Integer.parseInt(pageNo);
  624. }
  625. res.setData(orgTechAchievementService.listOrgTechAchievement(pNo, pSize, TokenManager.getUserId()));
  626. }
  627. return res;
  628. }
  629. /**
  630. * 科技成果转化情况新增+修改
  631. *
  632. * @param achievement
  633. * @return
  634. * @throws ParseException
  635. */
  636. @RequestMapping(value = "/disposeAchievement", method = RequestMethod.POST)
  637. public Result disposeAchievement(OrgTechAchievement achievement) throws ParseException {
  638. Result res = new Result();
  639. if (null == achievement.getId()) {
  640. achievement.setId(UUID.randomUUID().toString());
  641. achievement.setUid(TokenManager.getUserId());
  642. achievement.setDeletedSign(0);
  643. orgTechAchievementService.inset(achievement);
  644. } else {
  645. orgTechAchievementService.updateByPrimaryKeySelective(achievement);
  646. }
  647. return res;
  648. }
  649. /**
  650. * 删除科技成果转化情况
  651. *
  652. * @param ids
  653. * @return
  654. */
  655. @RequestMapping(value = "/deleteAchievement", method = RequestMethod.POST)
  656. public Result deleteAchievement(@RequestParam(name = "ids[]", required = true) String[] ids) {
  657. Result res = new Result();
  658. List<String> id = new ArrayList<String>();
  659. for (String s : ids) {
  660. id.add(s);
  661. }
  662. res.setData(orgTechAchievementService.batchDeleteByPrimaryKey(id));
  663. return res;
  664. }
  665. /**
  666. * 企业荣誉及其他证明材料列表入口
  667. *
  668. * @return
  669. */
  670. @RequestMapping(value = "/honorList", method = RequestMethod.GET)
  671. public Result honorList(String pageNo, String pageSize) {
  672. Result res = new Result();
  673. res = checkCertify(res);
  674. if (res.getError().isEmpty()) {
  675. Integer pNo = 1;
  676. Integer pSize = 10;
  677. if (StringUtils.isNumeric(pageSize)) {
  678. pSize = Integer.parseInt(pageSize);
  679. }
  680. if (StringUtils.isNumeric(pageNo)) {
  681. pNo = Integer.parseInt(pageNo);
  682. }
  683. res.setData(orgHonorDatumService.listOrgHonorDatum(pNo, pSize, TokenManager.getUserId()));
  684. }
  685. return res;
  686. }
  687. /**
  688. * 企业荣誉及其他证明材料新增+修改
  689. *
  690. * @param achievement
  691. * @return
  692. * @throws ParseException
  693. */
  694. @RequestMapping(value = "/disposeHonor", method = RequestMethod.POST)
  695. public Result disposeHonor(OrgHonorDatum honor, String issuingTimeFormattedDate) throws ParseException {
  696. Result res = new Result();
  697. if (!StringUtils.isBlank(issuingTimeFormattedDate)) {
  698. honor.setIssuingTime(DateUtils.parseDate(issuingTimeFormattedDate, "yyyy-MM-dd"));
  699. }
  700. if (null == honor.getId()) {
  701. honor.setId(UUID.randomUUID().toString());
  702. honor.setUid(TokenManager.getUserId());
  703. honor.setDeletedSign(0);
  704. orgHonorDatumService.inset(honor);
  705. } else {
  706. orgHonorDatumService.updateByPrimaryKeySelective(honor);
  707. }
  708. return res;
  709. }
  710. /**
  711. * 删除企业荣誉及其他证明材料
  712. *
  713. * @param ids
  714. * @return
  715. */
  716. @RequestMapping(value = "/deleteHonor", method = RequestMethod.POST)
  717. public Result deleteHonor(@RequestParam(name = "ids[]", required = true) String[] ids) {
  718. Result res = new Result();
  719. List<String> id = new ArrayList<String>();
  720. for (String s : ids) {
  721. id.add(s);
  722. }
  723. res.setData(orgHonorDatumService.batchDeleteByPrimaryKey(id));
  724. return res;
  725. }
  726. /**
  727. * 技术中心入口
  728. *
  729. * @return
  730. */
  731. @RequestMapping(value = "/center", method = RequestMethod.GET)
  732. public Result center() {
  733. Result res = new Result();
  734. res = checkCertify(res);
  735. if (res.getError().isEmpty()) {
  736. res.setData(orgTechCenterService.selectOrgTechCenterByUid(TokenManager.getUserId()));
  737. }
  738. return res;
  739. }
  740. /**
  741. * 技术中心新增+修改
  742. *
  743. * @return
  744. * @throws ParseException
  745. */
  746. @RequestMapping(value = "/disposeCenter", method = RequestMethod.POST)
  747. public Result disposeCenter(OrgTechCenter orgTechCenter, String foundingTimeFormattedDate) throws ParseException {
  748. Result res = new Result();
  749. if (!StringUtils.isBlank(foundingTimeFormattedDate)) {
  750. orgTechCenter.setFoundingTime(DateUtils.parseDate(foundingTimeFormattedDate, "yyyy-MM-dd"));
  751. }
  752. if (null == orgTechCenter.getId()) {
  753. orgTechCenter.setId(UUID.randomUUID().toString());
  754. orgTechCenter.setUid(TokenManager.getUserId());
  755. orgTechCenter.setDeletedSign(0);
  756. orgTechCenterService.insert(orgTechCenter);
  757. } else {
  758. orgTechCenterService.updateByPrimaryKeySelective(orgTechCenter);
  759. }
  760. return res;
  761. }
  762. /**
  763. * 技术中心明细列表入口(管理+用户)
  764. *
  765. * @return
  766. */
  767. @RequestMapping(value = "/centerDetail", method = RequestMethod.POST)
  768. public Result centerDetail(String pageNo, String pageSize, String cid) {
  769. Result res = new Result();
  770. if (res.getError().isEmpty()) {
  771. Integer pNo = 1;
  772. Integer pSize = 10;
  773. if (StringUtils.isNumeric(pageSize)) {
  774. pSize = Integer.parseInt(pageSize);
  775. }
  776. if (StringUtils.isNumeric(pageNo)) {
  777. pNo = Integer.parseInt(pageNo);
  778. }
  779. res.setData(orgTechCenterDetailService.listOrgTechCenterDetail(pNo, pSize, cid));
  780. }
  781. return res;
  782. }
  783. /**
  784. * 技术中心明细新增+修改(管理+用户)
  785. * @param orgTechCenterDetail
  786. * @param projectTimeFormattedDate
  787. * @param termTimeFormattedDate
  788. * @return
  789. * @throws ParseException
  790. */
  791. @RequestMapping(value = "/disposeCenterDetail", method = RequestMethod.POST)
  792. public Result disposeCenterDetail(OrgTechCenterDetail orgTechCenterDetail, String projectTimeFormattedDate,
  793. String termTimeFormattedDate) throws ParseException {
  794. Result res = new Result();
  795. if (!StringUtils.isBlank(projectTimeFormattedDate)){
  796. orgTechCenterDetail.setProjectTime(DateUtils.parseDate(projectTimeFormattedDate, "yyyy-MM-dd"));
  797. }
  798. if (!StringUtils.isBlank(termTimeFormattedDate)){
  799. orgTechCenterDetail.setTermTime(DateUtils.parseDate(termTimeFormattedDate, "yyyy-MM-dd"));
  800. }
  801. if (null == orgTechCenterDetail.getId()){
  802. orgTechCenterDetail.setId(UUID.randomUUID().toString());
  803. orgTechCenterDetail.setDeletedSign(0);
  804. orgTechCenterDetailService.inset(orgTechCenterDetail);
  805. } else {
  806. orgTechCenterDetailService.updateByPrimaryKeySelective(orgTechCenterDetail);
  807. }
  808. return res;
  809. }
  810. /**
  811. * 删除技术中心明细
  812. * @param ids
  813. * @return
  814. */
  815. @RequestMapping(value = "/deleteOrgTechCenterDetail", method = RequestMethod.POST)
  816. public Result deleteOrgTechCenterDetail(@RequestParam(name = "ids[]", required = true) String[] ids) {
  817. Result res = new Result();
  818. List<String> id = new ArrayList<String>();
  819. for (String s : ids) {
  820. id.add(s);
  821. }
  822. res.setData(orgTechCenterDetailService.batchDeleteByPrimaryKey(id));
  823. return res;
  824. }
  825. /**
  826. * 获取公司联系人
  827. * @return
  828. */
  829. @RequestMapping(value = "/getContacts", method = RequestMethod.GET)
  830. public Result getContacts(){
  831. Result res = new Result();
  832. OrganizationIdentity i = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
  833. Map<String, String> map = new LinkedHashMap<String, String>();
  834. if (!StringUtils.isBlank(i.getFirstContacts()) && !StringUtils.isBlank(i.getFirstMobile())){
  835. map.put(i.getFirstContacts(), i.getFirstMobile());
  836. }
  837. if (!StringUtils.isBlank(i.getSecondContacts()) && !StringUtils.isBlank(i.getSecondMobile())){
  838. map.put(i.getSecondContacts(), i.getSecondMobile());
  839. }
  840. if (!StringUtils.isBlank(i.getThirdContacts()) && !StringUtils.isBlank(i.getThirdMobile())){
  841. map.put(i.getThirdContacts(), i.getThirdMobile());
  842. }
  843. res.setData(map);
  844. return res;
  845. }
  846. /**
  847. * 高企认定列表入口
  848. *
  849. * @param locationProvince
  850. * @param unitName
  851. * @return
  852. */
  853. @RequestMapping(value = "/listCognizance", method = RequestMethod.POST)
  854. public Result listCognizance( String locationProvince, String pageNo, String pageSize) {
  855. Result res = new Result();
  856. Integer pNo = 1;
  857. Integer pSize = 10;
  858. if (StringUtils.isNumeric(pageSize)) {
  859. pSize = Integer.parseInt(pageSize);
  860. }
  861. if (StringUtils.isNumeric(pageNo)) {
  862. pNo = Integer.parseInt(pageNo);
  863. }
  864. res.setData(orgCognizanceService.listCognizance(TokenManager.getUserId() , locationProvince, pNo, pSize));
  865. return res;
  866. }
  867. /**
  868. * 申请高企认定
  869. * @return
  870. */
  871. @RequestMapping(value = "/applyCognizance", method = RequestMethod.POST)
  872. public Result applyCognizance(String contacts, String comment, Integer year, Integer state){
  873. Result res = new Result();
  874. if (null == year){
  875. res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "申请认定年份不能为空!"));
  876. }
  877. OrgCognizance c = new OrgCognizance();
  878. c.setId(UUID.randomUUID().toString());
  879. c.setUid(TokenManager.getUserId());
  880. c.setContacts(contacts);
  881. c.setComment(comment);
  882. c.setDeletedSign(0);
  883. c.setYear(year);
  884. orgCognizanceService.insert(c);
  885. OrgCognizanceLog log = new OrgCognizanceLog();
  886. log.setId(UUID.randomUUID().toString());
  887. log.setCid(c.getId());
  888. Calendar now = Calendar.getInstance();
  889. now.set(Calendar.MILLISECOND, 0);
  890. log.setRecordTime(now.getTime());
  891. log.setState(state);
  892. log.setComment(comment);
  893. log.setPrincipal(userService.selectByPrimaryKey(TokenManager.getUserId()).getAid());
  894. orgCognizanceLogService.insert(log);
  895. return res;
  896. }
  897. /**
  898. * 高企认定详情入口
  899. *
  900. * @param uid
  901. * @param cid
  902. * @return
  903. */
  904. @RequestMapping(value = "/cognizanceDetail", method = RequestMethod.POST)
  905. public Result cognizanceDetail(String cid, Integer year) {
  906. Result res = new Result();
  907. res.setData(handleCognizanceDetail(TokenManager.getUserId(), cid, year));
  908. return res;
  909. }
  910. /**
  911. * 年报列表
  912. * @return
  913. */
  914. @RequestMapping(value = "/annualReport", method = RequestMethod.POST)
  915. public Result annualReport(Integer year, Integer state, String pageSize, String pageNo ){
  916. Result res = new Result();
  917. res = checkCertify(res);
  918. if (res.getError().isEmpty()) {
  919. Integer pNo = 1;
  920. Integer pSize = 10;
  921. if (StringUtils.isNumeric(pageSize)) {
  922. pSize = Integer.parseInt(pageSize);
  923. }
  924. if (StringUtils.isNumeric(pageNo)) {
  925. pNo = Integer.parseInt(pageNo);
  926. }
  927. res.setData(orgAnnualReportService.listOrgAnnualReport(year, state, pNo, pSize, TokenManager.getUserId()));
  928. }
  929. return res;
  930. }
  931. /**
  932. * 企业年报详情
  933. * @param uid
  934. * @param year
  935. * @return
  936. */
  937. @RequestMapping(value = "/annualReportDetail", method = RequestMethod.POST)
  938. public Result annualReportDetail(Integer year){
  939. Result res = new Result();
  940. if (null == year){
  941. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "当前年份年报数据异常!"));
  942. return res;
  943. }
  944. res.setData(handleAnnualReport(TokenManager.getUserId(), year));
  945. return res;
  946. }
  947. /**
  948. * 高企年报新增+修改
  949. * @param orgAnnualReport
  950. * @return
  951. */
  952. @RequestMapping(value = "/disposeAnnualReport", method = RequestMethod.POST)
  953. public Result disposeAnnualReport(OrgAnnualReport orgAnnualReport){
  954. Result res = new Result();
  955. if (null == orgAnnualReport.getId()){
  956. if (null != orgAnnualReportService.selectAnnualReportByYearAndUid(orgAnnualReport.getYear(), TokenManager.getUserId())){
  957. res.getError().add(buildError(ErrorConstants.DUPLICATE_DATA_ERROR, "当年企业年报已录入!"));
  958. return res;
  959. } else {
  960. orgAnnualReport.setId(UUID.randomUUID().toString());
  961. orgAnnualReport.setUid(TokenManager.getUserId());
  962. Calendar now = Calendar.getInstance();
  963. now.set(Calendar.MILLISECOND, 0);
  964. orgAnnualReport.setCreateTime(now.getTime());
  965. orgAnnualReport.setLastUpdateTime(orgAnnualReport.getCreateTime());
  966. orgAnnualReportService.insert(orgAnnualReport);
  967. }
  968. } else {
  969. Calendar now = Calendar.getInstance();
  970. now.set(Calendar.MILLISECOND, 0);
  971. orgAnnualReport.setLastUpdateTime(now.getTime());
  972. orgAnnualReportService.updateByPrimaryKeySelective(orgAnnualReport);
  973. }
  974. return res;
  975. }
  976. /**
  977. * 删除企业年报记录
  978. * @param ids
  979. * @return
  980. */
  981. @RequestMapping(value = "/deleteAnnualReport", method = RequestMethod.POST)
  982. public Result deleteAnnualReport(@RequestParam(name = "ids[]", required = true) String[] ids){
  983. Result res = new Result();
  984. List<String> id = new ArrayList<String>();
  985. for (String s : ids) {
  986. id.add(s);
  987. }
  988. res.setData(orgAnnualReportService.batchDeleteByPrimaryKey(id));
  989. return res;
  990. }
  991. private AnnualReportBo handleAnnualReport(String uid, Integer year) {
  992. AnnualReportBo report = new AnnualReportBo();
  993. AnnualReportPropertyRightBo p = orgAnnualReportService.selectAnnualReportPropertyRightBoByYearAndUid(year, uid);
  994. report.setInventionPatent(null == p.getInventionPatent() ? 0 : p.getInventionPatent());
  995. report.setDefensePatent(null == p.getDefensePatent() ? 0 : p.getDefensePatent());
  996. report.setNationalCrop(null == p.getNationalCrop() ? 0 : p.getNationalCrop());
  997. report.setNewPlantCariety(null == p.getNewPlantCariety() ? 0 : p.getNewPlantCariety());
  998. report.setNationalDrug(null == p.getNationalDrug() ? 0 : p.getNationalDrug());
  999. report.setChineseMedicine(null == p.getChineseMedicine() ? 0 : p.getChineseMedicine());
  1000. report.setUtilityPatent(null == p.getUtilityPatent() ? 0 : p.getUtilityPatent());
  1001. report.setCircuitDesign(null == p.getCircuitDesign() ? 0 : p.getCircuitDesign());
  1002. report.setExteriorPatent(null == p.getExteriorPatent() ? 0 : p.getExteriorPatent());
  1003. report.setSoftwareWorks(null == p.getSoftwareWorks() ? 0 : p.getSoftwareWorks());
  1004. BigDecimal t = orgAnnualReportService.selectAnnualReportTerritoryByYearAndUid(year, uid);
  1005. report.setTerritory(null == t ? new BigDecimal(0) : t);
  1006. AnnualReportMainBo m = orgAnnualReportService.selectAnnualReportMainBoByYearAndUid(year, uid);
  1007. report.setUid(m.getUid());
  1008. report.setUnitName(m.getUnitName());
  1009. report.setOrgCode(m.getOrgCode());
  1010. report.setLocationProvince(m.getLocationProvince());
  1011. report.setLocationCity(m.getLocationCity());
  1012. report.setLocationArea(m.getLocationArea());
  1013. report.setListed(m.getListed().toString());
  1014. if (null != m.getListedDate()){
  1015. report.setListedDate(DateFormatUtils.format(m.getListedDate(), "yyyy-MM-dd"));
  1016. }
  1017. report.setListedType(m.getListedType().toString());
  1018. report.setStockCode(m.getStockCode());
  1019. report.setFirmTotal(null == m.getFirmTotal() ? 0 : m.getFirmTotal());
  1020. report.setTechTotal(null == m.getTechTotal() ? 0 : m.getTechTotal());
  1021. report.setNewEmployment(null == m.getNewEmployment() ? 0 : m.getNewEmployment());
  1022. report.setGraduateNumber(null == m.getGraduateNumber() ? 0 : m.getGraduateNumber());
  1023. report.setSalesRevenue(null == m.getSalesRevenue() ? new BigDecimal(0) : m.getSalesRevenue());
  1024. report.setGrossProfit(null == m.getGrossProfit() ? new BigDecimal(0) : m.getGrossProfit());
  1025. report.setNetAsset(null == m.getNetAsset() ? new BigDecimal(0) : m.getNetAsset());
  1026. report.setCertificateNumber(m.getCertificateNumber());
  1027. if (null != m.getIssuingDate()){
  1028. report.setIssuingDate(DateFormatUtils.format(m.getIssuingDate(), "yyyy-MM-dd"));
  1029. }
  1030. report.setContacts(m.getContacts());
  1031. report.setResearchCost(null == m.getResearchCost() ? new BigDecimal(0) : m.getResearchCost());
  1032. report.setTotalRevenue(null == m.getTotalRevenue() ? new BigDecimal(0) : m.getTotalRevenue());
  1033. report.setLastYearRevenue(null == m.getLastYearRevenue() ? new BigDecimal(0) : m.getLastYearRevenue());
  1034. return report;
  1035. }
  1036. private String handleFile(Result res, String path, boolean isPrivate, HttpServletRequest req, String sign,
  1037. String uid) {
  1038. List<MultipartFile> files = getFiles(req);
  1039. MultipartFile mf = files.get(0);
  1040. String fileName = FileUtils.mosaicFileName(mf, isPrivate, sign, path, StringUtils.isBlank(uid) ? TokenManager.getUserId() : uid);
  1041. if (!files.isEmpty()) {
  1042. try {
  1043. mf.transferTo(toPrivateFile(fileName));
  1044. LoggerUtils.debug(getClass(), fileName + " 文件上传成功");
  1045. } catch (IllegalStateException | IOException e) {
  1046. LoggerUtils.error(getClass(), "文件上传失败", e);
  1047. res.getError().add(buildError("", "文件上传失败!"));
  1048. return "";
  1049. }
  1050. } else {
  1051. res.getError().add(buildError("", "文件上传失败!"));
  1052. return "";
  1053. }
  1054. return fileName;
  1055. }
  1056. // 判断用户是否通过认证
  1057. private Result checkCertify(Result res) {
  1058. if (5 != organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId()).getAuditStatus()) {
  1059. res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
  1060. }
  1061. return res;
  1062. }
  1063. private CognizanceDetailBo handleCognizanceDetail(String uid, String cid, Integer year) {
  1064. CognizanceDetailBo cog = new CognizanceDetailBo();
  1065. CognizanceOrgInfoBo orgInfo = orgCognizanceService.selectCognizanceOrgInfoBoByUidAndCid(uid, cid);
  1066. cog.setUid(null == orgInfo.getUid() ? "" : orgInfo.getUid());
  1067. cog.setCid(null == orgInfo.getCid() ? "" : orgInfo.getCid());
  1068. cog.setUnitName(null == orgInfo.getUnitName() ? "" : orgInfo.getUnitName());
  1069. cog.setOrgCode(null == orgInfo.getOrgCode() ? "" : orgInfo.getOrgCode());
  1070. cog.setPostalAddress(null == orgInfo.getPostalAddress() ? "" : orgInfo.getPostalAddress());
  1071. cog.setContacts(null == orgInfo.getContacts() ? "" : orgInfo.getContacts());
  1072. cog.setTechnicalField1(null == orgInfo.getTechnicalField1() ? 0 : orgInfo.getTechnicalField1());
  1073. cog.setTechnicalField2(null == orgInfo.getTechnicalField2() ? 0 : orgInfo.getTechnicalField2());
  1074. cog.setTechnicalField3(null == orgInfo.getTechnicalField3() ? 0 : orgInfo.getTechnicalField3());
  1075. cog.setBasicResearchCost(
  1076. null == orgInfo.getBasicResearchCost() ? new BigDecimal(0) : orgInfo.getBasicResearchCost());
  1077. cog.setAccident(null == orgInfo.getAccient() ? 0 : orgInfo.getAccient());
  1078. CognizanceResearchCostBo researchCost = orgCognizanceService.selectCognizanceResearchCostBoByUidAndYear(year, uid);
  1079. cog.setResearchCost(
  1080. null == researchCost.getResearchCost() ? new BigDecimal(0) : researchCost.getResearchCost());
  1081. cog.setTerritory(null == researchCost.getTerritory() ? new BigDecimal(0) : researchCost.getTerritory());
  1082. CognizanceManageCostBo manageCost = orgCognizanceService.selectCognizanceManageCostBoByUidAndYear(year, uid);
  1083. cog.setNetAsset1(null == manageCost.getNetAsset1() ? new BigDecimal(0) : manageCost.getNetAsset1());
  1084. cog.setNetAsset2(null == manageCost.getNetAsset2() ? new BigDecimal(0) : manageCost.getNetAsset2());
  1085. cog.setNetAsset3(null == manageCost.getNetAsset3() ? new BigDecimal(0) : manageCost.getNetAsset3());
  1086. cog.setSalesRevenue1(null == manageCost.getSalesRevenue1() ? new BigDecimal(0) : manageCost.getSalesRevenue1());
  1087. cog.setSalesRevenue2(null == manageCost.getSalesRevenue2() ? new BigDecimal(0) : manageCost.getSalesRevenue2());
  1088. cog.setSalesRevenue3(null == manageCost.getSalesRevenue3() ? new BigDecimal(0) : manageCost.getSalesRevenue3());
  1089. cog.setGrossProfit1(null == manageCost.getGrossProfit1() ? new BigDecimal(0) : manageCost.getGrossProfit1());
  1090. cog.setGrossProfit2(null == manageCost.getGrossProfit2() ? new BigDecimal(0) : manageCost.getGrossProfit2());
  1091. cog.setGrossProfit3(null == manageCost.getGrossProfit3() ? new BigDecimal(0) : manageCost.getGrossProfit3());
  1092. CognizanceCatagoryBo catagory = orgCognizanceService.selectCognizanceCatagoryBoByUidAndYear(year, uid);
  1093. cog.setFirstCatagory(null == catagory.getFirstCatagory() ? 0 : catagory.getFirstCatagory());
  1094. cog.setSecondCatagory(null == catagory.getSecondCatagory() ? 0 : catagory.getSecondCatagory());
  1095. cog.setFirmTotal(null == catagory.getFirmTotal() ? 0 : catagory.getFirmTotal());
  1096. cog.setTechTotal(null == catagory.getTechTotal() ? 0 : catagory.getTechTotal());
  1097. cog.setTotalRevenue(null == catagory.getTotalRevenue() ? new BigDecimal(0) : catagory.getTotalRevenue());
  1098. BigDecimal revenue = orgCognizanceService.selectLastYearRevenueByUidAndYear(year, uid);
  1099. if (null != revenue){
  1100. cog.setLastYearRevenue(revenue);
  1101. } else {
  1102. cog.setLastYearRevenue(new BigDecimal(0));
  1103. }
  1104. return cog;
  1105. }
  1106. }