package platform.modules.company.web; import com.github.pagehelper.PageInfo; import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import platform.common.Constant; import platform.common.annotation.OperationLog; import platform.common.base.controller.BaseController; import platform.common.base.service.DictionaryItemService; import platform.common.exception.BaseException; import platform.common.util.ShiroUtils; import platform.modules.build.entity.Company; import platform.modules.build.entity.CompanyContact; import platform.modules.build.service.CompanyContactService; import platform.modules.build.service.CompanyService; import platform.modules.company.dto.ProjectProvincesSearchCondition; import platform.modules.company.entity.ProjectProvinces; import platform.modules.company.service.ProjectApplicationCompanyInfoService; import platform.modules.company.service.ProjectApplicationService; import platform.modules.company.service.ProjectProvincesService; import platform.modules.government.entity.ProjectProvincesDeclaration; import platform.modules.government.entity.ProjectServiceCategory; import platform.modules.government.service.ProjectDeclarationService; import platform.modules.government.service.ProjectProvincesDeclarationService; import platform.modules.government.service.ProjectServiceCategoryService; import platform.modules.sys.entity.Approval; import platform.modules.sys.service.ApprovalService; import platform.modules.sys.service.NoticesAcceptService; import platform.modules.sys.web.ResponseMessage; import java.util.ArrayList; import java.util.List; @RequestMapping("/projectProvinces") @Controller public class ProjectProvincesController extends BaseController { @Autowired private ProjectProvincesService projectProvincesService; @Autowired private ProjectApplicationCompanyInfoService projectApplicationCompanyInfoService; @Autowired private CompanyService companyService; @Autowired private ProjectApplicationService projectApplicationService; @Autowired private ProjectDeclarationService projectDeclarationService; @Autowired private NoticesAcceptService noticesAcceptService; @Autowired private ProjectProvincesDeclarationService projectProvincesDeclarationService; @Autowired private CompanyContactService companyContactService; @Autowired private ProjectServiceCategoryService projectServiceCategoryService; @Autowired private ApprovalService approvalService; @GetMapping(value = "/add/{declarationId}") public String add(ModelMap modelMap, @PathVariable("declarationId") Integer declarationId, @RequestParam(value = "companyId", required = false) Integer companyId) { log.info("跳转到项目省市申报申请新增页面!"); if (!ShiroUtils.isLogin()) { return "redirect:/home/login"; } if (ShiroUtils.getUserType().equals(Constant.UserType.COMPANY)) { companyId = ShiroUtils.getCompanyId(); noticesAcceptService.updateReadStatus(declarationId); } modelMap.put("companyId", companyId); Company company = companyService.findCompanyInfo(companyId); List list = new ArrayList(); if (null != companyContactService.findSendSMSContactByCompanyId(companyId)) { list.add(companyContactService.findSendSMSContactByCompanyId(companyId)); } else { list.add(new CompanyContact()); } company.setCompanyContacts(list); modelMap.put("companyInfo", company); modelMap.put("declaration_id", declarationId); modelMap.put("userType", ShiroUtils.getUserType()); modelMap.put("fileUrl", setFileUrl()); //经营数据年份 modelMap.put("operationsInfo", projectApplicationService.getOperationsInfo(companyId, null)); //服务项目大类 List projectServiceList = projectServiceCategoryService.findProjectServiceList( Constant.DictionaryType.PROJECT_PROVINCES, declarationId); modelMap.put("superTypeList", projectServiceList); projectProvincesService.getDictInfo(modelMap); ProjectProvincesDeclaration projectProvincesDeclaration = projectProvincesDeclarationService.findById(declarationId); ProjectProvinces project = new ProjectProvinces(); if ("0".equals(projectProvincesDeclaration.getIs_comprehensive())) { project.setIs_comprehensive(false); } else { project.setIs_comprehensive(true); } modelMap.put("projectApply", project); // projectApplicationService.getDictInfo(modelMap); // //查询行业类型 // List industryTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.INDUSTRY_TYPE); // modelMap.put("industryTypeList", industryTypeList); return BASE_COMPANY_PATH + "projectProvinces/apply_add"; } /** * 保存申请 * * @return */ @OperationLog(value = "新增项目申报") @PostMapping(value = "/save") @ResponseBody public ResponseMessage applySave(ModelMap modelMap, ProjectProvinces apply) { log.info("申请保存!"); try { Boolean flag = false; if (apply.getId() == null) { // if(!projectProvincesService.canApplyProject(apply)) { // return ResponseMessage.error("您已经申请过该项目或互斥的项目,请勿重复提交!"); // } flag = projectProvincesService.saveProjectApply(apply); } else { projectProvincesService.updateProjectApply(apply); flag = true; } if (flag) { return ResponseMessage.success("保存成功! 请到 企业后台--政务服务--项目申报--省市申报 查看"); } } catch (BaseException e) { return ResponseMessage.error(e.getMessage()); } catch (Exception e) { e.printStackTrace(); } return ResponseMessage.error("保存失败!"); } /** * 项目申报申请列表 * * @param pageNum * @param keyword * @param modelMap * @return * @throws Exception */ @OperationLog(value = "查看省市申报列表") @GetMapping(value = "/list") public String list( @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, String keyword, ModelMap modelMap, ProjectProvincesSearchCondition searchCondition) throws Exception { try { log.debug("分页查询内容列表参数! pageNum = {}, contentname = {}", pageNum, keyword); PageInfo pageInfo = projectProvincesService.findProvincesPage(pageNum, PAGESIZE, keyword, searchCondition); log.info("分页查询内容列表结果! pageInfo = {}", pageInfo); modelMap.put("pageInfo", pageInfo); modelMap.put("keyword", keyword); modelMap.put("user_type", ShiroUtils.getUserType()); modelMap.put("searchCondition", searchCondition == null ? new ProjectProvincesSearchCondition() : searchCondition); projectProvincesService.getDictInfo(modelMap); } catch (Exception e) { e.printStackTrace(); } return BASE_COMPANY_PATH + "projectProvinces/apply_list"; } /** * 跳转到项目申报查看页面 * * @param modelMap * @param apply_id * @return */ @OperationLog(value = "查看项目申报详情") @GetMapping(value = "/check/{id}") public String check(ModelMap modelMap, @PathVariable("id") Integer apply_id) { log.info("跳转到项目申报编辑页面!"); projectProvincesService.getApplyInfo(apply_id, modelMap); projectProvincesService.getDictInfo(modelMap); //流程信息 List approvalList = approvalService.getApprovalList(apply_id); modelMap.put("approvalList", approvalList); modelMap.put("userType", ShiroUtils.getUserType()); modelMap.put("fileUrl", setFileUrl()); return BASE_COMPANY_PATH + "projectProvinces/apply_check"; } /** * 跳转到项目申报新增页面 * * @param modelMap * @param apply_id * @return */ @GetMapping(value = "/edit/{id}") public String edit(ModelMap modelMap, @PathVariable("id") Integer apply_id) { log.info("跳转到项目申报编辑页面!"); projectProvincesService.getApplyInfo(apply_id, modelMap); projectProvincesService.getDictInfo(modelMap); modelMap.put("userType", ShiroUtils.getUserType()); modelMap.put("fileUrl", setFileUrl()); return BASE_COMPANY_PATH + "projectProvinces/apply_edit"; } /** * 删除申请 * * @return */ @OperationLog(value = "删除项目申报") @DeleteMapping(value = "/delete/{id}") @ResponseBody public ResponseMessage deleteApply(ModelMap modelMap, @PathVariable("id") Integer id) { log.info("项目申报删除!"); try { ProjectProvinces apply = projectProvincesService.findById(id); if (null != apply) { apply.setDel_flag(true); projectProvincesService.updateSelective(apply); return ResponseMessage.success("操作成功!"); } } catch (BaseException e) { return ResponseMessage.error(e.getMessage()); } catch (Exception e) { e.getStackTrace(); } return ResponseMessage.error("操作失败!"); } /** * 省市申报项目类型 * * @param modelMap * @return */ @OperationLog(value = "省市申报项目类型") @GetMapping(value = "/getProjectByType") @ResponseBody public Object provinceDeclare(ModelMap modelMap, Integer serviceId) { List projectServiceList = projectServiceCategoryService.findByPid(serviceId); return ResponseMessage.success("查询成功", projectServiceList); } /** * 添加省市申报的申请文件 * * @param modelMap * @return */ @GetMapping(value = "/addApplyFile") public String addApplyFile(String fileIdName, ModelMap modelMap) { modelMap.put("fileIdName", fileIdName); modelMap.put("fileUrl", setFileUrl()); return BASE_COMPANY_PATH + "stock_land/file_add"; } }