ProjectProvincesController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. package platform.modules.company.web;
  2. import com.github.pagehelper.PageInfo;
  3. import org.apache.shiro.authz.annotation.RequiresAuthentication;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.ModelMap;
  7. import org.springframework.web.bind.annotation.*;
  8. import platform.common.Constant;
  9. import platform.common.annotation.OperationLog;
  10. import platform.common.base.controller.BaseController;
  11. import platform.common.base.service.DictionaryItemService;
  12. import platform.common.exception.BaseException;
  13. import platform.common.util.ShiroUtils;
  14. import platform.modules.build.entity.Company;
  15. import platform.modules.build.entity.CompanyContact;
  16. import platform.modules.build.service.CompanyContactService;
  17. import platform.modules.build.service.CompanyService;
  18. import platform.modules.company.dto.ProjectProvincesSearchCondition;
  19. import platform.modules.company.entity.ProjectProvinces;
  20. import platform.modules.company.service.ProjectApplicationCompanyInfoService;
  21. import platform.modules.company.service.ProjectApplicationService;
  22. import platform.modules.company.service.ProjectProvincesService;
  23. import platform.modules.government.entity.ProjectProvincesDeclaration;
  24. import platform.modules.government.entity.ProjectServiceCategory;
  25. import platform.modules.government.service.ProjectDeclarationService;
  26. import platform.modules.government.service.ProjectProvincesDeclarationService;
  27. import platform.modules.government.service.ProjectServiceCategoryService;
  28. import platform.modules.sys.entity.Approval;
  29. import platform.modules.sys.service.ApprovalService;
  30. import platform.modules.sys.service.NoticesAcceptService;
  31. import platform.modules.sys.web.ResponseMessage;
  32. import java.util.ArrayList;
  33. import java.util.List;
  34. @RequestMapping("/projectProvinces")
  35. @Controller
  36. public class ProjectProvincesController extends BaseController {
  37. @Autowired
  38. private ProjectProvincesService projectProvincesService;
  39. @Autowired
  40. private ProjectApplicationCompanyInfoService projectApplicationCompanyInfoService;
  41. @Autowired
  42. private CompanyService companyService;
  43. @Autowired
  44. private ProjectApplicationService projectApplicationService;
  45. @Autowired
  46. private ProjectDeclarationService projectDeclarationService;
  47. @Autowired
  48. private NoticesAcceptService noticesAcceptService;
  49. @Autowired
  50. private ProjectProvincesDeclarationService projectProvincesDeclarationService;
  51. @Autowired
  52. private CompanyContactService companyContactService;
  53. @Autowired
  54. private ProjectServiceCategoryService projectServiceCategoryService;
  55. @Autowired
  56. private ApprovalService approvalService;
  57. @GetMapping(value = "/add/{declarationId}")
  58. public String add(ModelMap modelMap, @PathVariable("declarationId") Integer declarationId,
  59. @RequestParam(value = "companyId", required = false) Integer companyId) {
  60. log.info("跳转到项目省市申报申请新增页面!");
  61. if (!ShiroUtils.isLogin()) {
  62. return "redirect:/home/login";
  63. }
  64. if (ShiroUtils.getUserType().equals(Constant.UserType.COMPANY)) {
  65. companyId = ShiroUtils.getCompanyId();
  66. noticesAcceptService.updateReadStatus(declarationId);
  67. }
  68. modelMap.put("companyId", companyId);
  69. Company company = companyService.findCompanyInfo(companyId);
  70. List<CompanyContact> list = new ArrayList<CompanyContact>();
  71. if (null != companyContactService.findSendSMSContactByCompanyId(companyId)) {
  72. list.add(companyContactService.findSendSMSContactByCompanyId(companyId));
  73. } else {
  74. list.add(new CompanyContact());
  75. }
  76. company.setCompanyContacts(list);
  77. modelMap.put("companyInfo", company);
  78. modelMap.put("declaration_id", declarationId);
  79. modelMap.put("userType", ShiroUtils.getUserType());
  80. modelMap.put("fileUrl", setFileUrl());
  81. //经营数据年份
  82. modelMap.put("operationsInfo", projectApplicationService.getOperationsInfo(companyId, null));
  83. //服务项目大类
  84. List<ProjectServiceCategory> projectServiceList = projectServiceCategoryService.findProjectServiceList(
  85. Constant.DictionaryType.PROJECT_PROVINCES, declarationId);
  86. modelMap.put("superTypeList", projectServiceList);
  87. projectProvincesService.getDictInfo(modelMap);
  88. ProjectProvincesDeclaration projectProvincesDeclaration = projectProvincesDeclarationService.findById(declarationId);
  89. ProjectProvinces project = new ProjectProvinces();
  90. if ("0".equals(projectProvincesDeclaration.getIs_comprehensive())) {
  91. project.setIs_comprehensive(false);
  92. } else {
  93. project.setIs_comprehensive(true);
  94. }
  95. modelMap.put("projectApply", project);
  96. // projectApplicationService.getDictInfo(modelMap);
  97. // //查询行业类型
  98. // List<DictionaryItem> industryTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.INDUSTRY_TYPE);
  99. // modelMap.put("industryTypeList", industryTypeList);
  100. return BASE_COMPANY_PATH + "projectProvinces/apply_add";
  101. }
  102. /**
  103. * 保存申请
  104. *
  105. * @return
  106. */
  107. @OperationLog(value = "新增项目申报")
  108. @PostMapping(value = "/save")
  109. @ResponseBody
  110. public ResponseMessage applySave(ModelMap modelMap, ProjectProvinces apply) {
  111. log.info("申请保存!");
  112. try {
  113. Boolean flag = false;
  114. if (apply.getId() == null) {
  115. // if(!projectProvincesService.canApplyProject(apply)) {
  116. // return ResponseMessage.error("您已经申请过该项目或互斥的项目,请勿重复提交!");
  117. // }
  118. flag = projectProvincesService.saveProjectApply(apply);
  119. } else {
  120. projectProvincesService.updateProjectApply(apply);
  121. flag = true;
  122. }
  123. if (flag) {
  124. return ResponseMessage.success("保存成功! 请到 企业后台--政务服务--项目申报--省市申报 查看");
  125. }
  126. } catch (BaseException e) {
  127. return ResponseMessage.error(e.getMessage());
  128. } catch (Exception e) {
  129. e.printStackTrace();
  130. }
  131. return ResponseMessage.error("保存失败!");
  132. }
  133. /**
  134. * 项目申报申请列表
  135. *
  136. * @param pageNum
  137. * @param keyword
  138. * @param modelMap
  139. * @return
  140. * @throws Exception
  141. */
  142. @OperationLog(value = "查看省市申报列表")
  143. @GetMapping(value = "/list")
  144. public String list(
  145. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  146. String keyword, ModelMap modelMap, ProjectProvincesSearchCondition searchCondition) throws Exception {
  147. try {
  148. log.debug("分页查询内容列表参数! pageNum = {}, contentname = {}", pageNum, keyword);
  149. PageInfo<ProjectProvinces> pageInfo = projectProvincesService.findProvincesPage(pageNum, PAGESIZE, keyword, searchCondition);
  150. log.info("分页查询内容列表结果! pageInfo = {}", pageInfo);
  151. modelMap.put("pageInfo", pageInfo);
  152. modelMap.put("keyword", keyword);
  153. modelMap.put("user_type", ShiroUtils.getUserType());
  154. modelMap.put("searchCondition", searchCondition == null ? new ProjectProvincesSearchCondition() : searchCondition);
  155. projectProvincesService.getDictInfo(modelMap);
  156. } catch (Exception e) {
  157. e.printStackTrace();
  158. }
  159. return BASE_COMPANY_PATH + "projectProvinces/apply_list";
  160. }
  161. /**
  162. * 跳转到项目申报查看页面
  163. *
  164. * @param modelMap
  165. * @param apply_id
  166. * @return
  167. */
  168. @OperationLog(value = "查看项目申报详情")
  169. @GetMapping(value = "/check/{id}")
  170. public String check(ModelMap modelMap, @PathVariable("id") Integer apply_id) {
  171. log.info("跳转到项目申报编辑页面!");
  172. projectProvincesService.getApplyInfo(apply_id, modelMap);
  173. projectProvincesService.getDictInfo(modelMap);
  174. //流程信息
  175. List<Approval> approvalList = approvalService.getApprovalList(apply_id);
  176. modelMap.put("approvalList", approvalList);
  177. modelMap.put("userType", ShiroUtils.getUserType());
  178. modelMap.put("fileUrl", setFileUrl());
  179. return BASE_COMPANY_PATH + "projectProvinces/apply_check";
  180. }
  181. /**
  182. * 跳转到项目申报新增页面
  183. *
  184. * @param modelMap
  185. * @param apply_id
  186. * @return
  187. */
  188. @GetMapping(value = "/edit/{id}")
  189. public String edit(ModelMap modelMap, @PathVariable("id") Integer apply_id) {
  190. log.info("跳转到项目申报编辑页面!");
  191. projectProvincesService.getApplyInfo(apply_id, modelMap);
  192. projectProvincesService.getDictInfo(modelMap);
  193. modelMap.put("userType", ShiroUtils.getUserType());
  194. modelMap.put("fileUrl", setFileUrl());
  195. return BASE_COMPANY_PATH + "projectProvinces/apply_edit";
  196. }
  197. /**
  198. * 删除申请
  199. *
  200. * @return
  201. */
  202. @OperationLog(value = "删除项目申报")
  203. @DeleteMapping(value = "/delete/{id}")
  204. @ResponseBody
  205. public ResponseMessage deleteApply(ModelMap modelMap, @PathVariable("id") Integer id) {
  206. log.info("项目申报删除!");
  207. try {
  208. ProjectProvinces apply = projectProvincesService.findById(id);
  209. if (null != apply) {
  210. apply.setDel_flag(true);
  211. projectProvincesService.updateSelective(apply);
  212. return ResponseMessage.success("操作成功!");
  213. }
  214. } catch (BaseException e) {
  215. return ResponseMessage.error(e.getMessage());
  216. } catch (Exception e) {
  217. e.getStackTrace();
  218. }
  219. return ResponseMessage.error("操作失败!");
  220. }
  221. /**
  222. * 省市申报项目类型
  223. *
  224. * @param modelMap
  225. * @return
  226. */
  227. @OperationLog(value = "省市申报项目类型")
  228. @GetMapping(value = "/getProjectByType")
  229. @ResponseBody
  230. public Object provinceDeclare(ModelMap modelMap, Integer serviceId) {
  231. List<ProjectServiceCategory> projectServiceList = projectServiceCategoryService.findByPid(serviceId);
  232. return ResponseMessage.success("查询成功", projectServiceList);
  233. }
  234. /**
  235. * 添加省市申报的申请文件
  236. *
  237. * @param modelMap
  238. * @return
  239. */
  240. @GetMapping(value = "/addApplyFile")
  241. public String addApplyFile(String fileIdName, ModelMap modelMap) {
  242. modelMap.put("fileIdName", fileIdName);
  243. modelMap.put("fileUrl", setFileUrl());
  244. return BASE_COMPANY_PATH + "stock_land/file_add";
  245. }
  246. }