diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/CbpsExportData.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/CbpsExportData.java new file mode 100644 index 0000000..011eb90 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/CbpsExportData.java @@ -0,0 +1,31 @@ +package com.chinaunicom.mall.ebtp.extend.export.entity; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Accessors(chain = true) +public class CbpsExportData { + + private String index; + + /** + * 评审项名称 + */ + private String scoreItem; + + /** + * 审查标准 + */ + private String rvwStandard; + + /** + * 得分 + */ + private List scores = new ArrayList<>(); + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/RvwFirstExportData.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/RvwFirstExportData.java deleted file mode 100644 index baf7c35..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/entity/RvwFirstExportData.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.chinaunicom.mall.ebtp.extend.export.entity; - - -import com.deepoove.poi.expression.Name; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import lombok.experimental.Accessors; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** - * 初步评审导出数据实体 - */ -@Data -@Accessors(chain = true) -public class RvwFirstExportData implements Serializable { - - private static final long serialVersionUID = 1L; - - private Integer index; - - private String title; - - private String projName; - - private String projNum; - - private String date; - - @Name("detail_table") - private ExportTableData tableData; -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/ExportCommonFeignService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/ExportCommonFeignService.java index 7430bf0..479b706 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/ExportCommonFeignService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/ExportCommonFeignService.java @@ -1,6 +1,8 @@ package com.chinaunicom.mall.ebtp.extend.export.service.common; +import com.chinaunicom.mall.ebtp.extend.feign.entity.BidEvalDetailSummaryVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.SupplierRegisterVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom; import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam; import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO; @@ -46,7 +48,7 @@ public interface ExportCommonFeignService { */ List tenderGetSupplierRegisterByRoomId(String roomId); - +// ------------------------------------------------ rsms -------------------------------- /** * 查询初审汇总数据 * @@ -54,7 +56,21 @@ public interface ExportCommonFeignService { * @return */ List rsmsFindScoreEarlySummary(ExportParam param); - + /** + * 评委供应商 + * + * @param param + * @return + */ + List findRegisterAndUser(ExportParam param); + /** + * 打分汇总表 + * + * @param param + * @return + */ + Map> exportScoreSummary(ExportParam param); +// ------------------------------------------------ rsms end -------------------------------- /** * 通过评审室Id查询评委会成员数据及签到数据 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/impl/ExportCommonFeignServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/impl/ExportCommonFeignServiceImpl.java index 5a590f4..686e160 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/impl/ExportCommonFeignServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/common/impl/ExportCommonFeignServiceImpl.java @@ -2,7 +2,9 @@ package com.chinaunicom.mall.ebtp.extend.export.service.common.impl; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalDetailDTO; +import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalInfoDTO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.BidEvalDetailSummaryVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.SupplierRegisterVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom; import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam; import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService; @@ -100,7 +102,7 @@ public class ExportCommonFeignServiceImpl implements ExportCommonFeignService { return response.getData(); } - +// ------------------------------------------------ rsms -------------------------------- @Autowired private RsmsFeignService rsmsFeignService; @@ -112,16 +114,49 @@ public class ExportCommonFeignServiceImpl implements ExportCommonFeignService { */ @Override public List rsmsFindScoreEarlySummary(ExportParam param) { - BidEvalDetailDTO bidEvalDetailDTO = new BidEvalDetailDTO(); - bidEvalDetailDTO.setReviewTurnId(param.getReviewTurnId()); - bidEvalDetailDTO.setReviewType(param.getReviewType()); - BaseResponse> response = rsmsFeignService.findScoreEarlySummary(bidEvalDetailDTO); + BaseResponse> response = rsmsFeignService.exportEarly(param.getAssessRoomId()); if (response == null || response.getData() == null) { return new ArrayList<>(); } return response.getData(); } + /** + * 评委供应商 + * + * @param param + * @return + */ + @Override + public List findRegisterAndUser(ExportParam param) { + BidEvalInfoDTO bidEvalInfoDTO = new BidEvalInfoDTO(); + bidEvalInfoDTO.setAssessRoomId(param.getAssessRoomId()); + bidEvalInfoDTO.setReviewTurnId(param.getReviewTurnId()); + bidEvalInfoDTO.setReviewType(param.getReviewType()); + //所有评委数据源 + BaseResponse> response = rsmsFeignService.findRegisterAndUser(bidEvalInfoDTO); + if (response == null || response.getData() == null) { + return new ArrayList<>(); + } + return response.getData(); + } + + /** + * 打分汇总表 + * + * @param param + * @return + */ + @Override + public Map> exportScoreSummary(ExportParam param) { + BaseResponse>> response = rsmsFeignService.exportScoreSummary(param.getAssessRoomId()); + if (response == null || response.getData() == null) { + return new HashMap<>(); + } + return response.getData(); + } + + // ------------------------------------------------ rsms end -------------------------------- /** * 通过评审室Id查询评委会成员数据及签到数据 * diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/CbpsExportServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/CbpsExportServiceImpl.java index 5e7c2f1..a8a8838 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/CbpsExportServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/CbpsExportServiceImpl.java @@ -1,44 +1,37 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.extend.export.bean.*; -import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService; -import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService; +import com.chinaunicom.mall.ebtp.common.poiExport.constant.ExportConstant; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTable; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTd; +import com.chinaunicom.mall.ebtp.common.poiExport.entity.ExcelTr; +import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam; +import com.chinaunicom.mall.ebtp.extend.export.entity.CbpsExportData; import com.chinaunicom.mall.ebtp.extend.export.service.ExportService; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalEarlyJudgesSummaryVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigDetailDTO; +import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService; +import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService; +import com.chinaunicom.mall.ebtp.extend.feign.entity.*; import lombok.SneakyThrows; -import org.apache.poi.ss.usermodel.*; -import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.nio.charset.StandardCharsets; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; /** - * 初步评审 + * 初步评审表 + * + * @author fqj */ @Service("cbps") public class CbpsExportServiceImpl implements ExportService { - private final RsmsFeignService rsmsFeignService; - private final ProjectFeignService projectFeignService; - public CbpsExportServiceImpl(ProjectFeignService projectFeignService, RsmsFeignService rsmsFeignService) { - this.projectFeignService = projectFeignService; - this.rsmsFeignService = rsmsFeignService; - } + @Autowired + private ExportCommonFeignService commonFeignService; + /** * 导出 @@ -50,216 +43,105 @@ public class CbpsExportServiceImpl implements ExportService { @SneakyThrows @Override public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) { - //查询项目名称 - ProjectSectionVO projectSectionVO = new ProjectSectionVO(); - projectSectionVO.setId(param.getSectionId()); - BaseResponse list = projectFeignService.selectById(projectSectionVO); + //查询包 + ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId()); + //查询项目 + ProjectRecordVO proj = commonFeignService.projectGetProjById(section.getProjectId()); + + //供应商信息 + List suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId()); + + //初审评分信息 + List earlySummary = commonFeignService.rsmsFindScoreEarlySummary(param); - BidEvalInfoDTO bidEvalInfoDTO = new BidEvalInfoDTO(); - bidEvalInfoDTO.setAssessRoomId(param.getAssessRoomId()); - bidEvalInfoDTO.setReviewTurnId(param.getReviewTurnId()); - bidEvalInfoDTO.setReviewType(param.getReviewType()); - //供应商 - List listBaseResponse = rsmsFeignService.findRegisterAndUser(bidEvalInfoDTO).getData(); + ExcelTable table = new ExcelTable("初步评审表"); + table.setFileName("初步评审表"); - //列头 - StringBuffer titles0 = new StringBuffer("序号,评审因素,评审标准"); - //供应商 顺序 - ArrayList strings = new ArrayList<>(); - for (int i = 0; i < listBaseResponse.size(); i++) { - strings.add(listBaseResponse.get(i).getSupplierRegisterId()); - titles0.append("," + listBaseResponse.get(i).getSupplierRegisterName()); + List list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue("初步评审表").setCellStyleKey("export_title_1").setIsRowMerge(true).setRowMergeNum(suppliers.size() + 3)); + table.add(new ExcelTr().setExcelTdList(list)); + + list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue("项目名称:" + proj.getProjectName()).setCellStyleKey("export_title_2").setIsRowMerge(true).setRowMergeNum(suppliers.size() + 3)); + table.add(new ExcelTr().setExcelTdList(list)); + + list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue("招标编号:" + proj.getProjectBizNum()).setCellStyleKey("export_title_2").setIsRowMerge(true).setRowMergeNum(suppliers.size() + 3)); + table.add(new ExcelTr().setExcelTdList(list)); + + list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue("序号")); + list.add(new ExcelTd().setTdValue("评审因素")); + list.add(new ExcelTd().setTdValue("评审标准")); + for (BizSupplierRegister supplier : suppliers) { + list.add(new ExcelTd().setTdValue(supplier.getCompanyName())); } - String titles = titles0.toString(); - //最右侧列值 - Integer index = (titles.split(",").length) - 1; - //自定义序号 - Integer num = 1; + table.add(new ExcelTr().setExcelTdList(list)); - // 创建工作簿 - SXSSFWorkbook wb = new SXSSFWorkbook(); - //表格样式 - CellStyle cellStyle = wb.createCellStyle(); - //水平居中 - cellStyle.setAlignment(HorizontalAlignment.CENTER); - //垂直居中 - cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); - //边框 - cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 - cellStyle.setBorderLeft(BorderStyle.THIN);//左边框 - cellStyle.setBorderTop(BorderStyle.THIN);//上边框 - cellStyle.setBorderRight(BorderStyle.THIN);//右边框 + List datas = new ArrayList<>(); + //所有评审项 + List detailList = new ArrayList<>(); + earlySummary.stream().map(ReviewConfigCategoryDTO::getDetailList).forEach(detailList::addAll); - BidEvalDetailDTO bidEvalDetailDTO = new BidEvalDetailDTO(); - bidEvalDetailDTO.setReviewTurnId(param.getReviewTurnId()); - bidEvalDetailDTO.setReviewType(param.getReviewType()); - BaseResponse> scoreRecord = rsmsFeignService.findScoreEarlySummary(bidEvalDetailDTO); - List dataList = scoreRecord.getData(); - - // 创建表格 - Sheet sheet = wb.createSheet("评审汇总"); - sheet.createFreezePane(1, 1); - int rowIndex = 0; - int colIndex = 0; - // 1行 - CellRangeAddress region1 = new CellRangeAddress(0, 0, 0, index); - sheet.addMergedRegion(region1); - Row title1 = sheet.createRow(rowIndex++); - Cell titleCell1 = title1.createCell(0); - title1.setHeightInPoints(35); - titleCell1.setCellValue("初步评审表"); - titleCell1.setCellStyle(cellStyle); - // 2行 - CellRangeAddress region2 = new CellRangeAddress(1, 1, 0, index); - sheet.addMergedRegion(region2); - Row title2 = sheet.createRow(rowIndex++); - Cell titleCell2 = title2.createCell(0); - titleCell2.setCellValue("项目名称 : " + list.getData().getProjectName()); - //3行 - CellRangeAddress region3 = new CellRangeAddress(2, 2, 0, index); - sheet.addMergedRegion(region3); - Row title3 = sheet.createRow(rowIndex++); - Cell titleCell3 = title3.createCell(0); - titleCell3.setCellValue("招标编号 : " + list.getData().getBidSectBizNum()); - //4行 列头 - Row titleRow5 = sheet.createRow(rowIndex++); - // 设置高度为30 - titleRow5.setHeightInPoints(30); - for (String title : titles.split(",")) { - sheet.setColumnWidth(colIndex, 17 * 256); - Cell titleCell = titleRow5.createCell(colIndex++); - titleCell.setCellValue(title); - //设置样式 - titleCell.setCellStyle(cellStyle); - } - // 5行开始渲染 - for (ReviewConfigCategoryDTO object : dataList) { - List detailList = object.getDetailList(); - String name = object.getName(); - for (ReviewConfigDetailDTO reviewConfigDetailDTO : detailList) { - colIndex = 0; - Row titleRowN = sheet.createRow(rowIndex++); - Cell cell = titleRowN.createCell(colIndex++); - cell.setCellStyle(cellStyle); - //供应商结论是否合格 - Map scoreMap = reviewConfigDetailDTO.getEarlyMap(); - if (StringUtils.isEmpty(name)) { - cell.setCellValue("结论"); - - Cell cell1 = titleRowN.createCell(colIndex++); - cell1.setCellValue("是否通过初审检查"); - cell1.setCellStyle(cellStyle); - //占位列 - Cell cell2 = titleRowN.createCell(colIndex++); - cell2.setCellValue(""); - cell2.setCellStyle(cellStyle); - - if (scoreMap != null) { - for (String string : strings) { - Boolean actualValue; - String all = null; - if (scoreMap.get(string) != null) { - actualValue = scoreMap.get(string).getJudgesResult(); - if (actualValue != null) { - if (actualValue) { - all = "合格"; - } else { - all = "不合格"; - } - } else { - all = "空"; - } - } - Cell cell4 = titleRowN.createCell(colIndex++); - cell4.setCellStyle(cellStyle); - cell4.setCellValue(all); - } - } else { - for (int j = 0; j < strings.size(); j++) { - Cell cell4 = titleRowN.createCell(colIndex++); - cell4.setCellStyle(cellStyle); + for (int i = 0; i < detailList.size(); i++) { + ReviewConfigDetailDTO dto = detailList.get(i); + CbpsExportData data = new CbpsExportData(); + data.setIndex(String.valueOf(i)) + .setScoreItem(dto.getScoreItem()) + .setRvwStandard(dto.getRvwStandard()); + //打分数据 + Map earlyMap = dto.getEarlyMap(); + if (earlyMap != null && earlyMap.size() > 0) { + if (i != detailList.size() - 1) { + for (BizSupplierRegister supplier : suppliers) { + if (earlyMap.containsKey(supplier.getId())) { + BidEvalEarlyJudgesSummaryVO summaryVO = earlyMap.get(supplier.getId()); + String sbl = (summaryVO.getJudgesResult() ? "✔" : "✖") + + "(" + summaryVO.getQualified() + "✔" + + summaryVO.getUnqualified() + "✖" + ")"; + data.getScores().add(sbl); + } else { + data.getScores().add("-"); } } } else { - cell.setCellValue(num++); - //评审因素 - Cell cell1 = titleRowN.createCell(colIndex++); - cell1.setCellValue(reviewConfigDetailDTO.getScoreItem()); - cell1.setCellStyle(cellStyle); - //评审标准 - Cell cell2 = titleRowN.createCell(colIndex++); - cell2.setCellValue(reviewConfigDetailDTO.getRvwStandard()); - cell2.setCellStyle(cellStyle); - - if (scoreMap != null) { - for (String string : strings) { - Boolean actualValue; - String all = null; - String qua = null; - String unqua = null; - if (scoreMap.get(string) != null) { - actualValue = scoreMap.get(string).getJudgesResult(); - if (actualValue != null) { - qua = scoreMap.get(string).getQualified(); - unqua = scoreMap.get(string).getUnqualified(); - if (actualValue) { - all = "√(√" + qua + ",×" + unqua + ")"; - } else { - all = "×(√" + qua + ",×" + unqua + ")"; - } - } else { - all = "空"; - } - } - Cell cell4 = titleRowN.createCell(colIndex++); - cell4.setCellStyle(cellStyle); - cell4.setCellValue(all); - } - } else { - for (int j = 0; j < strings.size(); j++) { - Cell cell4 = titleRowN.createCell(colIndex++); - cell4.setCellStyle(cellStyle); + //汇总数据 + for (BizSupplierRegister supplier : suppliers) { + if (earlyMap.containsKey(supplier.getId())) { + BidEvalEarlyJudgesSummaryVO summaryVO = earlyMap.get(supplier.getId()); + data.setIndex("结论") + .setScoreItem("是否通过初步评审") + .setRvwStandard("") + .getScores().add(summaryVO.getJudgesResult()? "合格":"不合格"); + } else { + data.getScores().add("-"); } } } } - - //合并结论 - if (StringUtils.isEmpty(name)) { - sheet.addMergedRegion(new CellRangeAddress(rowIndex - 1, rowIndex - 1, 1, 2)); - } + datas.add(data); } - //倒第2行 - Row title5 = sheet.createRow(rowIndex++); - Cell titleCell5 = title5.createCell(0); - titleCell5.setCellValue("全体评委签字:"); - CellRangeAddress region5 = new CellRangeAddress(rowIndex - 1, rowIndex - 1, 0, index); - sheet.addMergedRegion(region5); - //最后一行 - CellStyle cellStyle1 = wb.createCellStyle(); - cellStyle1.setVerticalAlignment(VerticalAlignment.CENTER); - cellStyle1.setAlignment(HorizontalAlignment.RIGHT); - Row title6 = sheet.createRow(rowIndex++); - Cell titleCell6 = title6.createCell(0); - Date date = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 "); - titleCell6.setCellValue("日期: " + sdf.format(date)); - titleCell6.setCellStyle(cellStyle1); - CellRangeAddress region6 = new CellRangeAddress(rowIndex - 1, rowIndex - 1, 0, index); - sheet.addMergedRegion(region6); + for (CbpsExportData data : datas) { + list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue(data.getIndex())); + list.add(new ExcelTd().setTdValue(data.getScoreItem())); + list.add(new ExcelTd().setTdValue(data.getRvwStandard())); + for (String score : data.getScores()) { + list.add(new ExcelTd().setTdValue(score)); + } + table.add(new ExcelTr().setExcelTdList(list)); + } - String filename = "初步评审表.xlsx"; - filename = filename.substring(0, filename.lastIndexOf('.')) + filename.substring(filename.lastIndexOf('.')); - response.reset(); - response.setContentType("application/octet-stream;charset=utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=".concat(new String(filename.getBytes(StandardCharsets.UTF_8), "ISO8859-1"))); - wb.write(response.getOutputStream()); + list = new ArrayList<>(); + list.add(new ExcelTd().setTdValue("全体评委签字:").setCellStyleKey("export_title_2").setIsRowMerge(true).setRowMergeNum(suppliers.size() + 3)); + table.add(new ExcelTr().setExcelTdList(list)); + ExportConstant.exportFile(response, ExportConstant.generateExcelByTable(table)); } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/DfhzExportServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/DfhzExportServiceImpl.java index 2e03fee..2898ebd 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/DfhzExportServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/DfhzExportServiceImpl.java @@ -1,15 +1,13 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.extend.export.bean.*; +import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam; +import com.chinaunicom.mall.ebtp.extend.export.service.ExportService; +import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService; +import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.SupplierRegisterVO; import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService; import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService; -import com.chinaunicom.mall.ebtp.extend.export.service.ExportService; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailJudgesSummaryVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailSummaryVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.*; import lombok.SneakyThrows; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; @@ -17,6 +15,7 @@ import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -44,6 +43,9 @@ public class DfhzExportServiceImpl implements ExportService { } + @Autowired + private ExportCommonFeignService commonFeignService; + /** * 导出 * @@ -54,233 +56,225 @@ public class DfhzExportServiceImpl implements ExportService { @SneakyThrows @Override public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) { - BidEvalInfoDTO bidEvalInfoDTO = new BidEvalInfoDTO(); - bidEvalInfoDTO.setAssessRoomId(param.getAssessRoomId()); - bidEvalInfoDTO.setReviewTurnId(param.getReviewTurnId()); - bidEvalInfoDTO.setReviewType(param.getReviewType()); - //所有评委数据源 - BaseResponse> judges = rsmsFeignService.findRegisterAndUser(bidEvalInfoDTO); - BidEvalDetailDTO bidEvalDetailDTO = new BidEvalDetailDTO(); - bidEvalDetailDTO.setAssessRoomId(param.getAssessRoomId()); - bidEvalDetailDTO.setReviewTurnId(param.getReviewTurnId()); - bidEvalDetailDTO.setReviewType(param.getReviewType()); + //查询包 + ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId()); + //查询项目 + ProjectRecordVO proj = commonFeignService.projectGetProjById(section.getProjectId()); + + //供应商信息 + List suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId()); + + //评委 + List registerVOList = commonFeignService.findRegisterAndUser(param); + //所有类型打分数据源 - BaseResponse>> list = rsmsFeignService.findCategoryResultSummary(bidEvalDetailDTO); - if (list != null && judges != null) { - //所有供应商 - List registerVOList = judges.getData(); + Map> detailList = commonFeignService.exportScoreSummary(param); - //打分数据 - Map> detailList = list.getData(); + //所有评委 + List memberAll = registerVOList.stream().findFirst().get().getMembers(); - //所有评委 - List memberAll = registerVOList.stream().findFirst().get().getMembers(); - // 创建工作簿 - SXSSFWorkbook wb = new SXSSFWorkbook(); - //表格样式 - CellStyle cellStyle = wb.createCellStyle(); - //水平居中 - cellStyle.setAlignment(HorizontalAlignment.CENTER); - //垂直居中 - cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); - //边框 - cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 - cellStyle.setBorderLeft(BorderStyle.THIN);//左边框 - cellStyle.setBorderTop(BorderStyle.THIN);//上边框 - cellStyle.setBorderRight(BorderStyle.THIN);//右边框 + // 创建工作簿 + SXSSFWorkbook wb = new SXSSFWorkbook(); + //表格样式 + CellStyle cellStyle = wb.createCellStyle(); + //水平居中 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + //垂直居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + //边框 + cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 + cellStyle.setBorderLeft(BorderStyle.THIN);//左边框 + cellStyle.setBorderTop(BorderStyle.THIN);//上边框 + cellStyle.setBorderRight(BorderStyle.THIN);//右边框 - SXSSFSheet sheet = wb.createSheet(); - int rowIndex = 0; - //头 - SXSSFRow titleRow = createRow(sheet, rowIndex++); - Cell titleCell1 = titleRow.createCell(0); - titleRow.setHeightInPoints(35); - titleCell1.setCellValue("打分汇总表"); - //项目和招标名称数据 - ProjectSectionVO projectSectionVO = new ProjectSectionVO(); - projectSectionVO.setId(param.getSectionId()); - ProjectSectionVO proj = projectFeignService.selectById(projectSectionVO).getData(); - //项目名称 - SXSSFRow projectNameRow = sheet.createRow(rowIndex++); - SXSSFCell projectNameCell0 = projectNameRow.createCell(0); - projectNameCell0.setCellValue("项目名称:"); - SXSSFCell projectNameCell1 = projectNameRow.createCell(1); - projectNameCell1.setCellValue(proj.getProjectName()); - //招标编号 - SXSSFRow projectNumRow = sheet.createRow(rowIndex++); - SXSSFCell projectNumCell0 = projectNumRow.createCell(0); - projectNumCell0.setCellValue("项目编号:"); - SXSSFCell projectNumCell1 = projectNumRow.createCell(1); - projectNumCell1.setCellValue(proj.getBidSectBizNum()); - //列头 - List titles0 = new ArrayList<>(); - titles0.add("投标人名称"); - titles0.add("投标序号"); - //评委专家信息添加到列头 根据参加打分专家的id到所有专家列表中查询名字 - memberAll.forEach(x -> titles0.add(x.getName())); - //添加最后一列 - titles0.add("平均分"); - //商务 技术 服务 - for (int i = 0; i < 3; i++) { - List detailScore = new ArrayList<>(); - if (i == 0) { - if (detailList.containsKey("1")) { - detailScore = detailList.get("1"); - } - } else if (i == 1) { - if (detailList.containsKey("2")) { - detailScore = detailList.get("2"); - } - } else { - if (detailList.containsKey("5")) { - detailScore = detailList.get("5"); - } - } + SXSSFSheet sheet = wb.createSheet(); + int rowIndex = 0; + //头 + SXSSFRow titleRow = createRow(sheet, rowIndex++); + Cell titleCell1 = titleRow.createCell(0); + titleRow.setHeightInPoints(35); + titleCell1.setCellValue("打分汇总表"); - this.createRow(sheet, rowIndex++); - SXSSFRow row = this.createRow(sheet, rowIndex++); - if (i == 0) { - SXSSFCell cell = row.createCell(0); - cell.setCellValue("商务分数"); - } else if (i == 1) { - SXSSFCell cell = row.createCell(0); - cell.setCellValue("技术分数"); - } else { - SXSSFCell cell = row.createCell(0); - cell.setCellValue("服务分数"); - } - - - row = sheet.createRow(rowIndex++); - int cellIndex = 0; - for (String tit : titles0) { - this.createCell(row, cellIndex++, cellStyle, tit); - } - int index = 1; - - for (SupplierRegisterVO vo : registerVOList) { - cellIndex = 0; - row = sheet.createRow(rowIndex++); - this.createCell(row, cellIndex++, cellStyle, vo.getSupplierRegisterName()); - this.createCell(row, cellIndex++, cellStyle, String.valueOf(index++)); - - if (detailScore.isEmpty()) { - for (MemberVO memberVO : memberAll) { - this.createCell(row, cellIndex++, cellStyle, "-"); - - } - this.createCell(row, cellIndex, cellStyle, "-"); - - } else { - BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getSupplierRegisterId())).findFirst().get(); - Map memberScoreMap = detailSummary.getScoreMap(); - for (MemberVO memberVO : memberAll) { - BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore(); - this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score)); - } - this.createCell(row, cellIndex, cellStyle, detailSummary.getFinalScore() == null ? "" : String.valueOf(detailSummary.getFinalScore())); - } - } - } - - //报价 + //项目名称 + SXSSFRow projectNameRow = sheet.createRow(rowIndex++); + SXSSFCell projectNameCell0 = projectNameRow.createCell(0); + projectNameCell0.setCellValue("项目名称:"); + SXSSFCell projectNameCell1 = projectNameRow.createCell(1); + projectNameCell1.setCellValue(proj.getProjectName()); + //招标编号 + SXSSFRow projectNumRow = sheet.createRow(rowIndex++); + SXSSFCell projectNumCell0 = projectNumRow.createCell(0); + projectNumCell0.setCellValue("项目编号:"); + SXSSFCell projectNumCell1 = projectNumRow.createCell(1); + projectNumCell1.setCellValue(proj.getProjectBizNum()); + //列头 + List titles0 = new ArrayList<>(); + titles0.add("投标人名称"); + titles0.add("投标序号"); + //评委专家信息添加到列头 根据参加打分专家的id到所有专家列表中查询名字 + memberAll.forEach(x -> titles0.add(x.getName())); + //添加最后一列 + titles0.add("平均分"); + //商务 技术 服务 + for (int i = 0; i < 3; i++) { List detailScore = new ArrayList<>(); - - if (detailList.containsKey("0")) { - detailScore = detailList.get("0"); + if (i == 0) { + if (detailList.containsKey("1")) { + detailScore = detailList.get("1"); + } + } else if (i == 1) { + if (detailList.containsKey("2")) { + detailScore = detailList.get("2"); + } + } else { + if (detailList.containsKey("5")) { + detailScore = detailList.get("5"); + } } - sheet.createRow(rowIndex++); - SXSSFRow row = sheet.createRow(rowIndex++); - SXSSFCell c = row.createCell(0); - c.setCellValue("价格分数"); - row = this.createRow(sheet, rowIndex++); + this.createRow(sheet, rowIndex++); + SXSSFRow row = this.createRow(sheet, rowIndex++); + if (i == 0) { + SXSSFCell cell = row.createCell(0); + cell.setCellValue("商务分数"); + } else if (i == 1) { + SXSSFCell cell = row.createCell(0); + cell.setCellValue("技术分数"); + } else { + SXSSFCell cell = row.createCell(0); + cell.setCellValue("服务分数"); + } - this.createCell(row, 0, cellStyle, "投标人名称"); - this.createCell(row, 1, cellStyle, "投标序号"); - this.createCell(row, 2, cellStyle, "价格得分"); + row = sheet.createRow(rowIndex++); + int cellIndex = 0; + for (String tit : titles0) { + this.createCell(row, cellIndex++, cellStyle, tit); + } int index = 1; + for (SupplierRegisterVO vo : registerVOList) { - int cellIndex = 0; + cellIndex = 0; row = sheet.createRow(rowIndex++); this.createCell(row, cellIndex++, cellStyle, vo.getSupplierRegisterName()); this.createCell(row, cellIndex++, cellStyle, String.valueOf(index++)); if (detailScore.isEmpty()) { - this.createCell(row, cellIndex++, cellStyle, "-"); + for (MemberVO memberVO : memberAll) { + this.createCell(row, cellIndex++, cellStyle, "-"); + + } + this.createCell(row, cellIndex, cellStyle, "-"); } else { BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getSupplierRegisterId())).findFirst().get(); Map memberScoreMap = detailSummary.getScoreMap(); for (MemberVO memberVO : memberAll) { - if (memberScoreMap.containsKey(memberVO.getUserId())) { - BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore(); - this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score)); - } + BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore(); + this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score)); + } + this.createCell(row, cellIndex, cellStyle, detailSummary.getFinalScore() == null ? "" : String.valueOf(detailSummary.getFinalScore())); + } + } + } + + //报价 + List detailScore = new ArrayList<>(); + + if (detailList.containsKey("0")) { + detailScore = detailList.get("0"); + } + sheet.createRow(rowIndex++); + SXSSFRow row = sheet.createRow(rowIndex++); + SXSSFCell c = row.createCell(0); + c.setCellValue("价格分数"); + + row = this.createRow(sheet, rowIndex++); + + this.createCell(row, 0, cellStyle, "投标人名称"); + this.createCell(row, 1, cellStyle, "投标序号"); + this.createCell(row, 2, cellStyle, "价格得分"); + + int index = 1; + for (SupplierRegisterVO vo : registerVOList) { + int cellIndex = 0; + row = sheet.createRow(rowIndex++); + this.createCell(row, cellIndex++, cellStyle, vo.getSupplierRegisterName()); + this.createCell(row, cellIndex++, cellStyle, String.valueOf(index++)); + + if (detailScore.isEmpty()) { + this.createCell(row, cellIndex++, cellStyle, "-"); + + } else { + BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getSupplierRegisterId())).findFirst().get(); + Map memberScoreMap = detailSummary.getScoreMap(); + for (MemberVO memberVO : memberAll) { + if (memberScoreMap.containsKey(memberVO.getUserId())) { + BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore(); + this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score)); } } } - - //汇总 - sheet.createRow(rowIndex++); - row = sheet.createRow(rowIndex++); - c = row.createCell(0); - c.setCellValue("评分汇总表"); - - row = sheet.createRow(rowIndex++); - this.createCell(row, 0, cellStyle, "投标人名称"); - this.createCell(row, 1, cellStyle, "投标序号"); - this.createCell(row, 2, cellStyle, "商务得分"); - this.createCell(row, 3, cellStyle, "技术得分"); - this.createCell(row, 4, cellStyle, "服务得分"); - this.createCell(row, 5, cellStyle, "价格得分"); - this.createCell(row, 6, cellStyle, "综合得分"); - - index = 1; - for (SupplierRegisterVO vo : registerVOList) { - int cellIndex = 0; - row = sheet.createRow(rowIndex++); - this.createCell(row, cellIndex++, cellStyle, vo.getSupplierRegisterName()); - this.createCell(row, cellIndex++, cellStyle, String.valueOf(index++)); - - BigDecimal avgBd = - //商务 - scoreSummaryCell(row, cellIndex++, cellStyle, "1", detailList, vo.getSupplierRegisterId()) - //技术 - .add(scoreSummaryCell(row, cellIndex++, cellStyle, "2", detailList, vo.getSupplierRegisterId())) - //服务 - .add(scoreSummaryCell(row, cellIndex++, cellStyle, "5", detailList, vo.getSupplierRegisterId())) - //报价 - .add(scoreSummaryCell(row, cellIndex++, cellStyle, "0", detailList, vo.getSupplierRegisterId())); - this.createCell(row, cellIndex, cellStyle, String.valueOf(avgBd)); - } - - this.createRow(sheet, rowIndex++); - row = this.createRow(sheet, rowIndex++); - c = row.createCell(0); - c.setCellValue("全体评委签名:"); - - - this.createRow(sheet, rowIndex++); - row = this.createRow(sheet, rowIndex); - c = row.createCell(titles0.size() - 3); - c.setCellValue("日期:"); - c = row.createCell(titles0.size() - 2); - c.setCellValue(new SimpleDateFormat("yyyy年MM月dd日").format(new Date())); - - //合并表头 - CellRangeAddress region = new CellRangeAddress(0, 0, 0, titles0.size() - 1); - sheet.addMergedRegion(region); - - String filename = "打分汇总表.xlsx"; - filename = filename.substring(0, filename.lastIndexOf('.')) + filename.substring(filename.lastIndexOf('.')); - response.reset(); - response.setContentType("application/octet-stream;charset=utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=".concat(new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1))); - wb.write(response.getOutputStream()); } + + //汇总 + sheet.createRow(rowIndex++); + row = sheet.createRow(rowIndex++); + c = row.createCell(0); + c.setCellValue("评分汇总表"); + + row = sheet.createRow(rowIndex++); + this.createCell(row, 0, cellStyle, "投标人名称"); + this.createCell(row, 1, cellStyle, "投标序号"); + this.createCell(row, 2, cellStyle, "商务得分"); + this.createCell(row, 3, cellStyle, "技术得分"); + this.createCell(row, 4, cellStyle, "服务得分"); + this.createCell(row, 5, cellStyle, "价格得分"); + this.createCell(row, 6, cellStyle, "综合得分"); + + index = 1; + for (SupplierRegisterVO vo : registerVOList) { + int cellIndex = 0; + row = sheet.createRow(rowIndex++); + this.createCell(row, cellIndex++, cellStyle, vo.getSupplierRegisterName()); + this.createCell(row, cellIndex++, cellStyle, String.valueOf(index++)); + + BigDecimal avgBd = + //商务 + scoreSummaryCell(row, cellIndex++, cellStyle, "1", detailList, vo.getSupplierRegisterId()) + //技术 + .add(scoreSummaryCell(row, cellIndex++, cellStyle, "2", detailList, vo.getSupplierRegisterId())) + //服务 + .add(scoreSummaryCell(row, cellIndex++, cellStyle, "5", detailList, vo.getSupplierRegisterId())) + //报价 + .add(scoreSummaryCell(row, cellIndex++, cellStyle, "0", detailList, vo.getSupplierRegisterId())); + this.createCell(row, cellIndex, cellStyle, String.valueOf(avgBd)); + } + + this.createRow(sheet, rowIndex++); + row = this.createRow(sheet, rowIndex++); + c = row.createCell(0); + c.setCellValue("全体评委签名:"); + + + this.createRow(sheet, rowIndex++); + row = this.createRow(sheet, rowIndex); + c = row.createCell(titles0.size() - 3); + c.setCellValue("日期:"); + c = row.createCell(titles0.size() - 2); + c.setCellValue(new SimpleDateFormat("yyyy年MM月dd日").format(new Date())); + + //合并表头 + CellRangeAddress region = new CellRangeAddress(0, 0, 0, titles0.size() - 1); + sheet.addMergedRegion(region); + + String filename = "打分汇总表.xlsx"; + filename = filename.substring(0, filename.lastIndexOf('.')) + filename.substring(filename.lastIndexOf('.')); + response.reset(); + response.setContentType("application/octet-stream;charset=utf-8"); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1))); + wb.write(response.getOutputStream()); } private SXSSFRow createRow(SXSSFSheet sheet, int rowIndex) { diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/FirstRvwImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/FirstRvwImpl.java deleted file mode 100644 index d654cf7..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/FirstRvwImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.chinaunicom.mall.ebtp.extend.export.service.impl; - -import cn.hutool.core.date.DateUtil; -import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO; -import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData; -import com.chinaunicom.mall.ebtp.extend.export.entity.RvwFirstExportData; -import com.chinaunicom.mall.ebtp.extend.export.service.ExportService; -import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService; -import com.chinaunicom.mall.ebtp.extend.export.service.policy.DetailTablePolicy; -import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService; -import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO; -import com.deepoove.poi.XWPFTemplate; -import com.deepoove.poi.config.Configure; -import com.deepoove.poi.data.*; -import lombok.SneakyThrows; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.nio.charset.StandardCharsets; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - - -/** - * 初步评审表 - * - * @author fqj - */ -@Service("firstRvw") -public class FirstRvwImpl implements ExportService { - - private static final String DATE_FORMATTER = "yyyy年MM月dd日"; - - @Autowired - private ExportCommonFeignService commonFeignService; - - @Autowired - private TemplateFileService templateFileService; - - - /** - * 导出 - * - * @param param - * @param request - * @param response - */ - @SneakyThrows - @Override - public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) { - //查询包 - ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId()); - //查询项目 - ProjectRecordVO proj = commonFeignService.projectGetProjById(section.getProjectId()); - - //供应商信息 - List suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId()); - - //初审评分信息 - List earlySummary = commonFeignService.rsmsFindScoreEarlySummary(param); - - RvwFirstExportData data = new RvwFirstExportData(); - data.setProjName(proj.getProjectName()) - .setProjNum(proj.getProjectBizNum()); - - - ExportTableData tableData = new ExportTableData(); - //供应商 - List cells = new ArrayList<>(); - for (BizSupplierRegister supplier : suppliers) { - cells.add(Cells.of(supplier.getCompanyName()).center().create()); - } - - //评分项 - List rows = new ArrayList<>(); - int i = 1; - for (ReviewConfigCategoryDTO dto : earlySummary) { - RowRenderData e = Rows.of(String.valueOf(i++), dto.getCategory(), dto.getConfigId()).center().create(); - e.addCell(Cells.of("1").create()); - e.addCell(Cells.of("2").create()); - e.addCell(Cells.of("3").create()); - rows.add(e); - } - RowRenderData e = Rows.of("结论", "是否通过初步评审", "").center().create(); - for (BizSupplierRegister supplier : suppliers) { - e.addCell(Cells.of("").center().create()); - } - - -//.setCellMerge(MergeCellRule.builder().map(MergeCellRule.Grid.of(1, 3), MergeCellRule.Grid.of(1, 5)).build()) - data.setTableData(tableData.setCells(cells).setRows(rows)) - .setDate(DateUtil.format(LocalDateTime.now(),DATE_FORMATTER)); - - - //获取模板 -// InputStream file = templateFileService.getExportTemplet("firstRvw"); - File file = getExportTemplet("初步评审.docx"); - Configure config = Configure.builder().bind("detail_table", new DetailTablePolicy()).build(); - XWPFTemplate template = XWPFTemplate.compile(file, config).render(data); - - String fileName = new String("初步评审表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); - - this.write(template, fileName, response); - - } -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/ZjgrExportServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/ZjgrExportServiceImpl.java index f1bebb6..45972ad 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/ZjgrExportServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/export/service/impl/ZjgrExportServiceImpl.java @@ -5,9 +5,9 @@ import com.chinaunicom.mall.ebtp.extend.export.bean.*; import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService; import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService; import com.chinaunicom.mall.ebtp.extend.export.service.ExportService; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.BidEvalDetailVO; import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.SupplierRegisterVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO; import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigDetailDTO; @@ -79,7 +79,7 @@ public class ZjgrExportServiceImpl implements ExportService { } String titles = titles0.toString(); //最右侧列值 - Integer index = (titles.split(",").length) - 1; + int index = (titles.split(",").length) - 1; // 创建工作簿 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/ProjectFeignService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/ProjectFeignService.java index b0d02ff..bc27036 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/ProjectFeignService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/ProjectFeignService.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody; /** * 调用 PROJECT_SERVICE */ -@FeignClient(value = "${mconfig.feign.name.project}",fallbackFactory = ProjectFeignFallbackFactory.class) +@FeignClient(value = "${mconfig.feign.name.project}",fallbackFactory = ProjectFeignFallbackFactory.class,url = "http://10.242.31.158:8806/biz-service-ebtp-project/") public interface ProjectFeignService { /** diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/RsmsFeignService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/RsmsFeignService.java index 0f78fe6..6eac2a1 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/RsmsFeignService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/RsmsFeignService.java @@ -1,9 +1,14 @@ package com.chinaunicom.mall.ebtp.extend.feign.client; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.extend.export.bean.*; +import com.chinaunicom.mall.ebtp.extend.export.bean.ArchiveFileReturnVO; +import com.chinaunicom.mall.ebtp.extend.export.bean.ArchiveLink; +import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalDetailDTO; +import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalInfoDTO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.BidEvalDetailSummaryVO; +import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterPriceScoreVO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.SupplierRegisterVO; import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceFallback; -import com.chinaunicom.mall.ebtp.extend.export.vo.*; import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO; import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO; @@ -19,7 +24,7 @@ import java.util.Map; /** * 调用 RSMS_SERVICE */ -@FeignClient(value = "${mconfig.feign.name.rsms}", fallbackFactory = ExportServiceFallback.class) +@FeignClient(value = "${mconfig.feign.name.rsms}", fallbackFactory = ExportServiceFallback.class, url = "http://127.0.0.1:10087/") public interface RsmsFeignService { /** * 不同供应商的打分 @@ -30,26 +35,6 @@ public interface RsmsFeignService { @PostMapping("/v1/bid/eval/record/findScoreRecord") BaseResponse> findScoreRecord(@RequestBody BidEvalDetailDTO bidEvalDetailDTO); - - /** - * 评委供应商 - * - * @param bidEvalInfoDTO - * @return - */ -// @PostMapping("/v1/bid/archive/findRegister") - @GetMapping("/v1/bid/eval/detail/findRegister") - BaseResponse> findRegisterAndUser(@SpringQueryMap BidEvalInfoDTO bidEvalInfoDTO); - - /** - * 初审汇总 - * - * @param bidEvalDetailDTO - * @return - */ - @PostMapping("/v1/bid/eval/summary/findScoreEarlySummary") - BaseResponse> findScoreEarlySummary(@RequestBody BidEvalDetailDTO bidEvalDetailDTO); - /** * 价格打分 * @@ -92,18 +77,20 @@ public interface RsmsFeignService { /** * 详细评审表|专家打分表|价格打分表|打分汇总表 - * @param sectionId 标段ID + * + * @param sectionId 标段ID * @param isReviewMethod 是否为资审方式 0 否 1 是 - * @param list 节点集合 - * @return com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse> + * @param list 节点集合 + * @return com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse> * @author dino * @date 2021/1/19 15:08 */ @ApiOperation("详细评审表|专家打分表|价格打分表|打分汇总表") @PostMapping("/v1/bid/archive/findDetailArchiveList") - BaseResponse>> findDetailArchiveList(@RequestParam("sectionId") String sectionId, - @RequestParam("isReviewMethod") String isReviewMethod, - @RequestBody List list) ; + BaseResponse>> findDetailArchiveList(@RequestParam("sectionId") String sectionId, + @RequestParam("isReviewMethod") String isReviewMethod, + @RequestBody List list); + /** * 评审报告 * @@ -124,12 +111,46 @@ public interface RsmsFeignService { * 通过评审室查询detail表数据 * * @param assessRoomId - * * @return */ @ApiOperation("通过评审室查询detail表数据") @GetMapping("/v1/reviewresult/queryDetailByRoomId/{assessRoomId}") BaseResponse> get(@ApiParam(value = "评审室id", required = true) @PathVariable String assessRoomId); + + + + + + + /** + * 评委供应商11111 + * + * @param bidEvalInfoDTO + * @return + */ +// @PostMapping("/v1/bid/archive/findRegister") + @GetMapping("/v1/bid/eval/detail/findRegister") + BaseResponse> findRegisterAndUser(@SpringQueryMap BidEvalInfoDTO bidEvalInfoDTO); + + /** + * 初审汇总111111 + * + * @param roomId 评审室ID + * @return + * @date 2021年4月27日 + */ + @GetMapping("/v1/bid/report/exportEarly/{roomId}") + BaseResponse> exportEarly(@ApiParam(value = "评审室ID", required = true) @PathVariable("roomId") String roomId); + + /** + * 打分汇总表 + * @param roomId 评审室ID + * @date 2021年4月27日 + */ + @GetMapping("/exportScoreSummary/{roomId}") + BaseResponse>> exportScoreSummary(@PathVariable("roomId") String roomId); + + } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/TenderFeignService.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/TenderFeignService.java index 27872fd..b9c5ee4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/TenderFeignService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/TenderFeignService.java @@ -14,7 +14,7 @@ import java.util.List; /** * 调用 TENDER_SERVICE */ -@FeignClient(value = "${mconfig.feign.name.tender}", fallbackFactory = TenderFeignFallbackFactory.class) +@FeignClient(value = "${mconfig.feign.name.tender}", fallbackFactory = TenderFeignFallbackFactory.class,url = "http://10.242.31.158:8806/biz-service-ebtp-tender/") public interface TenderFeignService { @ApiOperation("查询评审室下初审投标状态") diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/factory/ExportServiceFallback.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/factory/ExportServiceFallback.java index 5c8648a..2093056 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/factory/ExportServiceFallback.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/client/factory/ExportServiceFallback.java @@ -5,14 +5,11 @@ import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.extend.export.bean.*; import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService; import com.chinaunicom.mall.ebtp.extend.export.vo.*; -import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO; -import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO; +import com.chinaunicom.mall.ebtp.extend.feign.entity.*; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -23,21 +20,23 @@ public class ExportServiceFallback implements FallbackFactory @Override public RsmsFeignService create(Throwable throwable) { RsmsFeignService back = new RsmsFeignService() { + /** + * 不同供应商的打分 + * + * @param bidEvalDetailDTO + * @return + */ @Override public BaseResponse> findScoreRecord(BidEvalDetailDTO bidEvalDetailDTO) { return null; } - @Override - public BaseResponse> findRegisterAndUser(BidEvalInfoDTO bidEvalInfoDTO) { - return null; - } - - @Override - public BaseResponse> findScoreEarlySummary(BidEvalDetailDTO bidEvalDetailDTO) { - return null; - } - + /** + * 价格打分 + * + * @param bidEvalDetailDTO + * @return + */ @Override public BaseResponse> findPriceScoreRecord(BidEvalDetailDTO bidEvalDetailDTO) { return null; @@ -48,6 +47,12 @@ public class ExportServiceFallback implements FallbackFactory return null; } + /** + * 打分汇总 + * + * @param bidEvalDetailDTO + * @return + */ @Override public BaseResponse>> findCategoryResultSummary(BidEvalDetailDTO bidEvalDetailDTO) { return null; @@ -98,12 +103,50 @@ public class ExportServiceFallback implements FallbackFactory return null; } + /** + * 通过评审室查询detail表数据 + * + * @param assessRoomId + * @return + */ @Override public BaseResponse> get(String assessRoomId) { - log.error("评审室id:{}", assessRoomId); - return BaseResponse.fail(new ArrayList<>()); + return null; } + /** + * 评委供应商11111 + * + * @param bidEvalInfoDTO + * @return + */ + @Override + public BaseResponse> findRegisterAndUser(BidEvalInfoDTO bidEvalInfoDTO) { + return null; + } + + /** + * 初审汇总111111 + * + * @param roomId 评审室ID + * @return + * @date 2021年4月27日 + */ + @Override + public BaseResponse> exportEarly(String roomId) { + return null; + } + + /** + * 打分汇总表 + * + * @param roomId 评审室ID + * @date 2021年4月27日 + */ + @Override + public BaseResponse>> exportScoreSummary(String roomId) { + return null; + } }; log.error(ExceptionUtil.stacktraceToString(throwable)); return null; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailJudgesSummaryVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailJudgesSummaryVO.java similarity index 95% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailJudgesSummaryVO.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailJudgesSummaryVO.java index b8d3c2f..24df0f0 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailJudgesSummaryVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailJudgesSummaryVO.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.vo; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailSummaryVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailSummaryVO.java similarity index 96% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailSummaryVO.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailSummaryVO.java index b208986..3ac2c20 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailSummaryVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailSummaryVO.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.vo; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailVO.java similarity index 98% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailVO.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailVO.java index 2b7f54e..99c05d9 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalDetailVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalDetailVO.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.vo; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalEarlyJudgesSummaryVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalEarlyJudgesSummaryVO.java similarity index 96% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalEarlyJudgesSummaryVO.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalEarlyJudgesSummaryVO.java index 67f9487..7c0c76d 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/BidEvalEarlyJudgesSummaryVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/BidEvalEarlyJudgesSummaryVO.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.vo; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigCategory.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategory.java similarity index 92% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigCategory.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategory.java index 2089c61..1e89c75 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigCategory.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategory.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.bean; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -41,12 +41,15 @@ public class ReviewConfigCategory extends BaseEntity implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private String configId; - @ApiModelProperty(value = "类别名称") + @ApiModelProperty(value = "自定义类别名称") private String name; @ApiModelProperty(value = "类别:0:报价;1:商务;2:技术;5:服务。初审项类别:0:形式评审;1:资格审查项;2:响应性评审;7:符合性审查") private String category; + @ApiModelProperty(value = "类别名称") + private String categoryName; + @JsonInclude(value = JsonInclude.Include.NON_NULL) @ApiModelProperty(value = "权重") private BigDecimal weights; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategoryDTO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategoryDTO.java index fe05581..060af33 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategoryDTO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigCategoryDTO.java @@ -1,6 +1,5 @@ package com.chinaunicom.mall.ebtp.extend.feign.entity; -import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigCategory; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigDetail.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetail.java similarity index 98% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigDetail.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetail.java index 632c577..cd092a5 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigDetail.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetail.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.bean; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetailDTO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetailDTO.java index e10a6db..a85d997 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetailDTO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigDetailDTO.java @@ -1,9 +1,5 @@ package com.chinaunicom.mall.ebtp.extend.feign.entity; -import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigDetail; -import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigStandard; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailVO; -import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalEarlyJudgesSummaryVO; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -37,6 +33,13 @@ public class ReviewConfigDetailDTO extends ReviewConfigDetail implements Seriali @ApiModelProperty(value = "类别") private String category; + /** + * excel导入时用来分组使用 + */ + @JsonInclude(value = JsonInclude.Include.NON_NULL) + @ApiModelProperty(value = "类别名称") + private String categoryName; + @JsonInclude(value = JsonInclude.Include.NON_EMPTY) @ApiModelProperty(value = "评分标准集合") private List standardList; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigStandard.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigStandard.java similarity index 96% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigStandard.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigStandard.java index cd3e1ec..7cbe761 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/bean/ReviewConfigStandard.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/ReviewConfigStandard.java @@ -1,4 +1,4 @@ -package com.chinaunicom.mall.ebtp.extend.export.bean; +package com.chinaunicom.mall.ebtp.extend.feign.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/SupplierRegisterVO.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/SupplierRegisterVO.java similarity index 90% rename from src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/SupplierRegisterVO.java rename to src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/SupplierRegisterVO.java index 0a561b8..de0f31e 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/export/vo/SupplierRegisterVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/feign/entity/SupplierRegisterVO.java @@ -1,5 +1,6 @@ -package com.chinaunicom.mall.ebtp.extend.export.vo; +package com.chinaunicom.mall.ebtp.extend.feign.entity; +import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/src/main/resources/model/初步评审.docx b/src/main/resources/model/初步评审.docx deleted file mode 100644 index a9dc446..0000000 Binary files a/src/main/resources/model/初步评审.docx and /dev/null differ