package com.doumee.api.business; import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.model.*; import com.doumee.dao.system.dto.ExpertReportDTO; import com.doumee.dao.system.vo.CompanyDeclaresVo; import com.doumee.service.business.CompanyEconomicsService; import com.doumee.service.business.DeclaresService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; /** * @author 江蹄蹄 * @date 2023/02/15 08:55 */ @Api(tags = "企业项目报名信息表") @RestController @RequestMapping("/business/declares") public class DeclaresController extends BaseController { @Autowired private DeclaresService declaresService; @Autowired private CompanyEconomicsService companyEconomicsService; @PreventRepeat @ApiOperation("企业报名保存提交") @PostMapping("/create") @RequiresPermissions("business:declares:create") public ApiResponse create(@RequestBody Declares declares) { declaresService.create(declares); return ApiResponse.success(null); } @PreventRepeat @ApiOperation("更改报名记录诊断类型") @PostMapping("/updateDiagnoseType") @RequiresPermissions("business:declares:update") public ApiResponse updateDiagnoseType(@RequestBody Declares declares) { declaresService.updateDiagnoseType(declares); return ApiResponse.success(null); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("business:declares:delete") public ApiResponse deleteById(@PathVariable Integer id) { declaresService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("business:declares:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } declaresService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改") @PostMapping("/updateById") @RequiresPermissions("business:declares:update") public ApiResponse updateById(@RequestBody Declares declares) { declaresService.updateById(declares); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("business:declares:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(declaresService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("business:declares:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) throws Exception { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); String exportName="企业列表"+DateUtil.getNowLongTime(); List list=declaresService.exportExcel(pageWrap); List arealist=new ArrayList<>(); List declaresSJList=new ArrayList<>(); List declaresFWList=new ArrayList<>(); List declaresSystemList=new ArrayList<>(); if(Constants.equalsInteger(user.getType(),Constants.UserType.AREA.getKey())){ //县区用户 if(list.size()>0){ for(int i=0;i0){ for(int i=0;i declaresAdminList=new ArrayList<>(); if(list.size()>0){ if(list.size()>0){ for(int i=0;i0){ if(list.size()>0){ for(int i=0;i0){ if(list.size()>0){ for(int i=0;i0){ if(list.size()>0){ for(int i=0;i pageWrap, HttpServletResponse response) throws Exception { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); List arealist=new ArrayList<>(); List declaresFWList=new ArrayList<>(); if(Constants.equalsInteger(user.getType(),Constants.UserType.SO_ADMIN.getKey())|| Constants.equalsInteger(user.getType(),Constants.UserType.SO_CHILD.getKey())){ //服务机构 pageWrap.getModel().setQueryFlag(Constants.ZERO); List list=declaresService.exportExcelForProject(pageWrap); if(list.size()>0){ if(list.size()>0){ for(int i=0;i list=declaresService.exportExcelForProject(pageWrap); if(list.size()>0){ if(list.size()>0){ for(int i=0;i findById(@PathVariable Integer id) { return ApiResponse.success(declaresService.findById(id)); } @ApiOperation("根据项目projectId查询报名详情") @GetMapping("/findByProjectId") @RequiresPermissions("business:declares:query") public ApiResponse findByProjectId( Integer projectId) { return ApiResponse.success(declaresService.findByProjectId(projectId)); } @ApiOperation("企业报名详情选择服务机构保存") @PostMapping("/chooseService") @RequiresPermissions("business:declares:chooseService") public ApiResponse chooseService(@RequestBody Declares declares) { declaresService.chooseService(declares); return ApiResponse.success(null); } @ApiOperation("根据项目id分页查询企业报名数据") @PostMapping("/getPageByProjectId") @RequiresPermissions("business:declares:getPageByProjectId") public ApiResponse> getPageByProjectId (@RequestBody PageWrap pageWrap) { return ApiResponse.success(declaresService.getPageByProjectId(pageWrap)); } @ApiOperation("县区企业审核") @PostMapping("/areaToExamine") @RequiresPermissions("business:declares:areaToExamine") public ApiResponse areaToExamine (@RequestBody Declares declares) { declaresService.areaToExamine(declares); return ApiResponse.success(null); } @ApiOperation("分配服务机构保存") @PostMapping("/distributionServiceSave") @RequiresPermissions("business:declares:distributionServiceSave") public ApiResponse distributionServiceSave (@RequestBody Declares declares) { declaresService.distributionServiceSave(declares); return ApiResponse.success(null); } @ApiOperation("综合服务单位分配给子账号") @PostMapping("/distributionChildAccount") @RequiresPermissions("business:declares:distributionChildAccount") public ApiResponse distributionChildAccount(@RequestBody Declares declares){ declaresService.distributionChildAccount(declares); return ApiResponse.success(null); } /* @ApiOperation("综合服务单位分配给子账号") @PostMapping("/distriZHChildAccount") @RequiresPermissions("business:declares:distriZHChildAccount") public ApiResponse distriZHChildAccount (@RequestBody Declares declares) { try{ declaresService.distriZHChildAccount(declares); }catch (BusinessException e){ return ApiResponse.failed(e.getMessage()); } return ApiResponse.success(null); } @ApiOperation("服务机构分配给子账号") @PostMapping("/distriServiceChildAccount") @RequiresPermissions("business:declares:distriServiceChildAccount") public ApiResponse distriServiceChildAccount (@RequestBody Declares declares) { try{ declaresService.distriServiceChildAccount(declares); }catch (BusinessException e){ return ApiResponse.failed(e.getMessage()); } return ApiResponse.success(null); } */ @ApiOperation("服务机构确认/拒绝服务") @PostMapping("/confirmService") @RequiresPermissions("business:declares:confirmService") public ApiResponse confirmService (@RequestBody Declares declares) { declaresService.confirmService(declares); return ApiResponse.success(null); } @ApiOperation("查询项目报名企业") @PostMapping("/findCompanyDeclaresVoPage") @RequiresPermissions("business:declares:findCompanyDeclaresVoPage") public ApiResponse> findCompanyDeclaresVoPage(PageWrap pageWrap){ PageData companyDeclaresVoPage = declaresService.findCompanyDeclaresVoPage(pageWrap); return ApiResponse.success(companyDeclaresVoPage); } @ApiOperation("专家打分") @PostMapping("/checkExpertDeclares") @RequiresPermissions("business:declares:checkExpertDeclares") public ApiResponse checkExpertDeclares(@RequestBody ExpertReportDTO expertReportDTO){ declaresService.checkExpertDeclares(expertReportDTO); return ApiResponse.success(null); } }