重构报表打印
This commit is contained in:
@ -51,9 +51,7 @@ public class BidEvalDetailDTO extends BidEvalDetail implements Serializable {
|
||||
private List<String> supplierRegisterIds;
|
||||
|
||||
|
||||
public static long getSerialversionuid() {
|
||||
return serialVersionUID;
|
||||
}
|
||||
|
||||
|
||||
public String getReviewTurnId() {
|
||||
return reviewTurnId;
|
||||
|
@ -1,11 +1,9 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@ -52,6 +53,12 @@ public class BizExportDict implements Serializable {
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer queryType;
|
||||
|
||||
/**
|
||||
* 使能:0、不可用,1、可用
|
||||
*/
|
||||
@ -64,5 +71,12 @@ public class BizExportDict implements Serializable {
|
||||
@ApiModelProperty(value = "")
|
||||
private String methodDict;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "是否可点击")
|
||||
private boolean onClick;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,72 +0,0 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实体类 BizSupplierRegister
|
||||
*
|
||||
* @auto.generated
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "BizSupplierRegister对象", description = "供应商报名登记表")
|
||||
public class BizSupplierRegister extends BaseEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 机构名称
|
||||
*/
|
||||
@ApiModelProperty(value = "机构名称")
|
||||
private String companyName;
|
||||
|
||||
|
||||
/**
|
||||
* 投标人姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "投标人姓名")
|
||||
private String bidUserName;
|
||||
|
||||
/**
|
||||
* 联系人名称
|
||||
*/
|
||||
@ApiModelProperty(value = "联系人名称")
|
||||
private String contactName;
|
||||
|
||||
|
||||
/**
|
||||
* 签字确认时间
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "签字确认时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime signTime;
|
||||
|
||||
|
||||
private String newPrice;
|
||||
|
||||
/**
|
||||
* 下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
|
||||
*/
|
||||
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
|
||||
private String downloadStatus;
|
||||
}
|
@ -11,13 +11,13 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("参数")
|
||||
public class ExportParame {
|
||||
public class ExportParam {
|
||||
|
||||
private String assessRoomId;
|
||||
|
||||
private String reviewTurnId;
|
||||
|
||||
private String reviewTurnSort;
|
||||
private Integer reviewTurnSort;
|
||||
|
||||
private String projectId;
|
||||
|
@ -1,28 +0,0 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
public class Tdoc {
|
||||
|
||||
@ApiModelProperty(value = "")
|
||||
private String assessRoomId;
|
||||
|
||||
@ApiModelProperty(value = "轮次")
|
||||
private Integer turnSort;
|
||||
|
||||
public String getAssessRoomId() {
|
||||
return assessRoomId;
|
||||
}
|
||||
|
||||
public void setAssessRoomId(String assessRoomId) {
|
||||
this.assessRoomId = assessRoomId;
|
||||
}
|
||||
|
||||
public Integer getTurnSort() {
|
||||
return turnSort;
|
||||
}
|
||||
|
||||
public void setTurnSort(Integer turnSort) {
|
||||
this.turnSort = turnSort;
|
||||
}
|
||||
}
|
@ -2,9 +2,9 @@ package com.chinaunicom.mall.ebtp.extend.export.controller;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizExportDict;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.ExportServiceFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.IBizExportDictService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.dict.IBizExportDictService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@ -41,7 +41,7 @@ public class ExportController {
|
||||
*/
|
||||
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
|
||||
@GetMapping(value = "/{type}")
|
||||
public void export(@PathVariable String type, ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void export(@PathVariable String type, ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
exportServiceFactory.getService(type).doExport(param, request, response);
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,6 @@
|
||||
SELECT `id`, `dic_name`, `path`, `level`, `url`
|
||||
FROM `biz_export_dict`
|
||||
where active = 1 AND (method_dict = #{type} OR method_dict = '0')
|
||||
ORDER BY id
|
||||
ORDER BY sort
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,35 @@
|
||||
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 BidOpenRecordExportData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer index;
|
||||
|
||||
private String projName;
|
||||
|
||||
private String projNum;
|
||||
|
||||
private String bidNum;
|
||||
|
||||
private String openTime;
|
||||
|
||||
@Name("detail_table")
|
||||
private ExportTableData tableData;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.entity;
|
||||
|
||||
|
||||
import com.deepoove.poi.data.CellRenderData;
|
||||
import com.deepoove.poi.data.MergeCellRule;
|
||||
import com.deepoove.poi.data.RowRenderData;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ExportTableData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
//表头的循环数据
|
||||
private List<CellRenderData> cells;
|
||||
|
||||
//行单元格合并
|
||||
private MergeCellRule cellMerge;
|
||||
|
||||
|
||||
//行的循环
|
||||
private List<RowRenderData> rows;
|
||||
|
||||
//列单元格合并
|
||||
private MergeCellRule rowMerge;
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
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;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.Tdoc;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ExportServiceRespsFallbakFactory;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 调用 RESPS_SERVICE
|
||||
*/
|
||||
@FeignClient(value = "${mconfig.feign.name.resps}" , fallbackFactory = ExportServiceRespsFallbakFactory.class)
|
||||
public interface RespsFeignService {
|
||||
|
||||
@PostMapping("/v1/tfile/getTenderQuoteList")
|
||||
BaseResponse<List<BizSupplierRegister>> getTenderQuoteList(@ApiParam(value = "assessRoomId,turnSort", required = true) @RequestBody Tdoc tdocPara);
|
||||
|
||||
|
||||
}
|
@ -1,28 +1,54 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service;
|
||||
|
||||
import java.io.File;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.util.PoitlIOUtils;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public interface ExportService {
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
default File getExportTemplet(String path) {
|
||||
File f = new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\doc\\" + path);
|
||||
/**
|
||||
* 执行导出操作
|
||||
*
|
||||
* @param template
|
||||
* @param fileName
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
default void write(XWPFTemplate template, String fileName, HttpServletResponse response) {
|
||||
|
||||
return f;
|
||||
}
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
|
||||
|
||||
// HttpServletResponse response
|
||||
OutputStream out = response.getOutputStream();
|
||||
BufferedOutputStream bos = new BufferedOutputStream(out);
|
||||
template.write(bos);
|
||||
bos.flush();
|
||||
out.flush();
|
||||
PoitlIOUtils.closeQuietlyMulti(template, bos, out);
|
||||
}
|
||||
|
||||
default File getExportTemplet(String path) {
|
||||
File f = new File("D:\\EasyPoiTemplet\\" + path);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -11,13 +11,13 @@ import java.util.Map;
|
||||
public class ExportServiceFactory {
|
||||
|
||||
@Autowired
|
||||
private Map<String, ExportService> map = new LinkedHashMap<>();
|
||||
private final Map<String, ExportService> EXPORT_MAP = new LinkedHashMap<>();
|
||||
|
||||
|
||||
public ExportService getService(String key) {
|
||||
if (!map.containsKey(key)) {
|
||||
if (!EXPORT_MAP.containsKey(key)) {
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_METHOD_IS_NOT_EXIXT.throwException();
|
||||
}
|
||||
return map.get(key);
|
||||
return EXPORT_MAP.get(key);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,92 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.common;
|
||||
|
||||
|
||||
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;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 报表导出通用feign接口调用类
|
||||
*/
|
||||
public interface ExportCommonFeignService {
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
*/
|
||||
LoginUserDetailVO userCenterGetLoninUserDetail(String userId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据包id 查询信息
|
||||
*
|
||||
* @param sectionId
|
||||
* @return
|
||||
*/
|
||||
ProjectSectionVO projectGetSectionById(String sectionId);
|
||||
|
||||
/**
|
||||
* 根据包id 查询项目信息
|
||||
*
|
||||
* @param projId
|
||||
* @return
|
||||
*/
|
||||
ProjectRecordVO projectGetProjById(String projId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据评审室id 查询供应商信息
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
List<BizSupplierRegister> tenderGetSupplierRegisterByRoomId(String roomId);
|
||||
|
||||
|
||||
/**
|
||||
* 查询初审汇总数据
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReviewConfigCategoryDTO> rsmsFindScoreEarlySummary(ExportParam param);
|
||||
|
||||
|
||||
/**
|
||||
* 通过评审室Id查询评委会成员数据及签到数据
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
List<JuryPrintVO> rsmsQueryReportPrintByRoomId(String roomId);
|
||||
|
||||
/**
|
||||
* 通过评审室查询detail表数据
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
List<ResultDetailVO> rsmsQueryReviewDetailByRoomId(String roomId);
|
||||
|
||||
|
||||
/**
|
||||
* 开标唱标页列表
|
||||
*
|
||||
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
|
||||
* @return title-表格标题,dataDecrypt-解密状态id、status dataQuote-报价信息
|
||||
*/
|
||||
Map respsGetOpenTenderList(ExportParam param);
|
||||
|
||||
|
||||
/**
|
||||
* 通过room_id查询评审室信息
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
BizAssessRoom processGetRoomInfoById(String roomId);
|
||||
}
|
@ -0,0 +1,195 @@
|
||||
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.feign.entity.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
|
||||
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.client.*;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 报表导出通用feign接口调用类
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class ExportCommonFeignServiceImpl implements ExportCommonFeignService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private UsercenterFeignService usercenterFeignService;
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
*
|
||||
* @param userId
|
||||
*/
|
||||
@Override
|
||||
public LoginUserDetailVO userCenterGetLoninUserDetail(String userId) {
|
||||
BaseResponse<LoginUserDetailVO> response = usercenterFeignService.getLoninUserDetail(userId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new LoginUserDetailVO();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
private ProjectFeignService projectFeignService;
|
||||
|
||||
/**
|
||||
* 根据包id 查询信息
|
||||
*
|
||||
* @param sectionId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProjectSectionVO projectGetSectionById(String sectionId) {
|
||||
//查询项目名称
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
projectSectionVO.setId(sectionId);
|
||||
BaseResponse<ProjectSectionVO> response = projectFeignService.selectById(projectSectionVO);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ProjectSectionVO();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据包id 查询项目信息
|
||||
*
|
||||
* @param projId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProjectRecordVO projectGetProjById(String projId) {
|
||||
BaseResponse<ProjectRecordVO> response = projectFeignService.getProjById(projId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ProjectRecordVO();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
private TenderFeignService tenderFeignService;
|
||||
|
||||
/**
|
||||
* 根据评审室id 查询供应商信息
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<BizSupplierRegister> tenderGetSupplierRegisterByRoomId(String roomId) {
|
||||
BaseResponse<List<BizSupplierRegister>> response = tenderFeignService.queryRoomTenderCount(roomId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
private RsmsFeignService rsmsFeignService;
|
||||
|
||||
/**
|
||||
* 查询初审汇总数据
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ReviewConfigCategoryDTO> rsmsFindScoreEarlySummary(ExportParam param) {
|
||||
BidEvalDetailDTO bidEvalDetailDTO = new BidEvalDetailDTO();
|
||||
bidEvalDetailDTO.setReviewTurnId(param.getReviewTurnId());
|
||||
bidEvalDetailDTO.setReviewType(param.getReviewType());
|
||||
BaseResponse<List<ReviewConfigCategoryDTO>> response = rsmsFeignService.findScoreEarlySummary(bidEvalDetailDTO);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过评审室Id查询评委会成员数据及签到数据
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<JuryPrintVO> rsmsQueryReportPrintByRoomId(String roomId) {
|
||||
BaseResponse<List<JuryPrintVO>> response = rsmsFeignService.queryReportPrintByRoomId(roomId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过评审室查询detail表数据
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ResultDetailVO> rsmsQueryReviewDetailByRoomId(String roomId) {
|
||||
BaseResponse<List<ResultDetailVO>> response = rsmsFeignService.get(roomId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private RespsFeignService respsFeignService;
|
||||
|
||||
/**
|
||||
* 开标唱标页列表
|
||||
*
|
||||
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
|
||||
* @return title-表格标题,dataDecrypt-解密状态id、status dataQuote-报价信息
|
||||
*/
|
||||
@Override
|
||||
public Map respsGetOpenTenderList(ExportParam param) {
|
||||
Tdoc tdoc = new Tdoc();
|
||||
tdoc.setAssessRoomId(param.getAssessRoomId())
|
||||
.setTurnSort(param.getReviewTurnSort());
|
||||
BaseResponse<Map> response = respsFeignService.getOpenTenderList(tdoc);
|
||||
|
||||
if (response == null || response.getData() == null) {
|
||||
return new HashMap();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
private ProcessFeignService processFeignService;
|
||||
|
||||
/**
|
||||
* 通过room_id查询评审室信息
|
||||
*
|
||||
* @param roomId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BizAssessRoom processGetRoomInfoById(String roomId) {
|
||||
BaseResponse<BizAssessRoom> response = processFeignService.getById(roomId);
|
||||
if (response == null || response.getData() == null) {
|
||||
return new BizAssessRoom();
|
||||
}
|
||||
return response.getData();
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service;
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.dict;
|
||||
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseService;
|
@ -1,15 +1,15 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.dict.impl;
|
||||
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.dao.BizExportDictMapper;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.IBizExportDictService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.ProcessFeignService;
|
||||
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.dict.IBizExportDictService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -27,7 +27,7 @@ import java.util.stream.Collectors;
|
||||
public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMapper, BizExportDict> implements IBizExportDictService {
|
||||
|
||||
@Autowired
|
||||
private ProcessFeignClient processFeignClient;
|
||||
private ProcessFeignService processFeignService;
|
||||
@Autowired
|
||||
private ProjectFeignService projectFeignService;
|
||||
@Autowired
|
||||
@ -40,13 +40,13 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
|
||||
*/
|
||||
@Override
|
||||
public Map<String, List<BizExportDict>> getList(String roomId) {
|
||||
BizAssessRoom room = processFeignClient.getById(roomId).getData();
|
||||
BizAssessRoom room = processFeignService.getById(roomId).getData();
|
||||
//查询项目名称
|
||||
ProjectRecordVO proj = projectFeignService.getProjById(room.getTpId()).getData();
|
||||
//包
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
projectSectionVO.setId(room.getSectionId());
|
||||
ProjectSectionVO section = projectFeignService.selectById(projectSectionVO).getData();
|
||||
// ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
// projectSectionVO.setId(room.getSectionId());
|
||||
// ProjectSectionVO section = projectFeignService.selectById(projectSectionVO).getData();
|
||||
|
||||
List<BizExportDict> list = baseMapper.selectDictList(proj.getBidMethodDict());
|
||||
|
||||
@ -56,7 +56,7 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Map<String, List<BizExportDict>> resultsMap = new HashMap<>();
|
||||
//是否包含开标阶段
|
||||
|
||||
//是否包含开标阶段
|
||||
boolean toInitialOpenRoom = "procurement_mode_1".equals(proj.getBidMethodDict()) || "procurement_mode_2".equals(proj.getBidMethodDict());
|
||||
if ("procurement_mode_3".equals(proj.getBidMethodDict())) {
|
||||
@ -71,50 +71,53 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
|
||||
continue;
|
||||
}
|
||||
// 评审室未结束 不拼接评审打分等数据表
|
||||
if (room.getStatus() < 3 && !bizExportDict.getId().equals(100)) {
|
||||
continue;
|
||||
}
|
||||
// if (room.getStatus() < 3 && !bizExportDict.getId().equals(100)) {
|
||||
// continue;
|
||||
// }
|
||||
resultsMap.put(
|
||||
bizExportDict.getDicName(),
|
||||
level2.stream()
|
||||
.filter(f -> f.getPath().equals(String.valueOf(bizExportDict.getId())))
|
||||
.map(m -> m.setUrl(m.getUrl() + "?projectId=" + proj.getId() + "§ionId=" + room.getSectionId() + "&assessRoomId=" + roomId)
|
||||
.setOnClick(true))
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
}
|
||||
|
||||
//初审数据url
|
||||
String isReviewMethod = room.getRoomType().equals(CommonConstants.ROOM_TYPE_1) ? "1" : "0";
|
||||
List<ArchiveLink> archiveLinks = getFirstArchiveLinks();
|
||||
Map<String, List<ArchiveFileReturnVO>> firstRvwMap = rsmsFeignService.findEarlyArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
|
||||
//详审数据url
|
||||
archiveLinks = getDetailArchiveLinks();
|
||||
Map<String, List<ArchiveFileReturnVO>> detailRvwMap = rsmsFeignService.findDetailArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
|
||||
|
||||
|
||||
resultsMap.forEach((key, value) -> {
|
||||
value.forEach(bizExportDict -> {
|
||||
if ("1".equals(bizExportDict.getUrl())) {
|
||||
//查询初审报表
|
||||
Optional<ArchiveFileReturnVO> opt = firstRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
|
||||
opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()));
|
||||
} else if (bizExportDict.getUrl().length() < 5) {
|
||||
//查询详审报表
|
||||
Optional<ArchiveFileReturnVO> opt = detailRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
|
||||
opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()));
|
||||
} else {
|
||||
String sbl = bizExportDict.getUrl() +
|
||||
"?assessRoomId=" + roomId +
|
||||
// "&reviewTurnId=" + v.getReviewTurnId() +
|
||||
"&projectId=" + proj.getId() +
|
||||
"§ionId=" + section.getId() +
|
||||
"&reviewTurnSort=1";
|
||||
bizExportDict.setUrl(sbl);
|
||||
}
|
||||
});
|
||||
//如果没进行初审或详审 则删除相关报表 length < 5 为虚数
|
||||
value.removeIf(bizExportDict -> bizExportDict.getUrl().length() < 5);
|
||||
});
|
||||
//删除value为空的key
|
||||
resultsMap.values().removeIf(List::isEmpty);
|
||||
// String isReviewMethod = room.getRoomType().equals(CommonConstants.ROOM_TYPE_1) ? "1" : "0";
|
||||
// List<ArchiveLink> archiveLinks = getFirstArchiveLinks();
|
||||
// Map<String, List<ArchiveFileReturnVO>> firstRvwMap = rsmsFeignService.findEarlyArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
|
||||
// //详审数据url
|
||||
// archiveLinks = getDetailArchiveLinks();
|
||||
// Map<String, List<ArchiveFileReturnVO>> detailRvwMap = rsmsFeignService.findDetailArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
|
||||
//
|
||||
//
|
||||
// resultsMap.forEach((key, value) -> {
|
||||
// value.forEach(bizExportDict -> {
|
||||
// if ("1".equals(bizExportDict.getUrl())) {
|
||||
// //查询初审报表
|
||||
// Optional<ArchiveFileReturnVO> opt = firstRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
|
||||
// opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()).setOnClick(true));
|
||||
// } else if (bizExportDict.getUrl().length() < 5) {
|
||||
// //查询详审报表
|
||||
// Optional<ArchiveFileReturnVO> opt = detailRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
|
||||
// opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()).setOnClick(true));
|
||||
// } else {
|
||||
// String sbl = bizExportDict.getUrl() +
|
||||
// "?assessRoomId=" + roomId +
|
||||
//// "&reviewTurnId=" + v.getReviewTurnId() +
|
||||
// "&projectId=" + proj.getId() +
|
||||
// "§ionId=" + section.getId() +
|
||||
// "&reviewTurnSort=1";
|
||||
// bizExportDict.setUrl(sbl).setOnClick(true);
|
||||
// }
|
||||
// });
|
||||
// //如果没进行初审或详审 则删除相关报表 length < 5 为虚数
|
||||
// value.removeIf(bizExportDict -> bizExportDict.getUrl().length() < 5);
|
||||
// });
|
||||
// //删除value为空的key
|
||||
// resultsMap.values().removeIf(List::isEmpty);
|
||||
return resultsMap;
|
||||
}
|
||||
|
@ -0,0 +1,147 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.entity.BidOpenRecordExportData;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData;
|
||||
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.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.TdocCatalog;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.data.*;
|
||||
import lombok.SneakyThrows;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
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;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* 开标记录表导出
|
||||
*/
|
||||
@Service("bidOpenRecord")
|
||||
public class BidOpenRecordImpl implements ExportService {
|
||||
|
||||
private static final String DATE_FORMATTER = "yyyy年MM月dd日HH时mm分";
|
||||
|
||||
|
||||
@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<BizSupplierRegister> suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
|
||||
|
||||
|
||||
Map openTenderList = commonFeignService.respsGetOpenTenderList(param);
|
||||
|
||||
BidOpenRecordExportData data = new BidOpenRecordExportData();
|
||||
data.setProjName(proj.getProjectName())
|
||||
.setProjNum(proj.getProjectBizNum())
|
||||
.setBidNum(section.getBidSectBizNum());
|
||||
|
||||
ExportTableData tableData = new ExportTableData();
|
||||
|
||||
//应答项
|
||||
List<CellRenderData> cells = new ArrayList<>();
|
||||
//应答数据
|
||||
List<RowRenderData> rows = new ArrayList<>();
|
||||
|
||||
if (openTenderList.containsKey("title")) {
|
||||
//标题
|
||||
List<TdocCatalog> title = JsonUtils.jsonToList((List) openTenderList.get("title"), TdocCatalog.class);
|
||||
//去除解密状态列
|
||||
title.removeIf(t -> t.getCatalogType() != null);
|
||||
|
||||
List<String> titleIds = new ArrayList<>();
|
||||
for (TdocCatalog tdocCatalog : title) {
|
||||
cells.add(Cells.of(tdocCatalog.getName()).create());
|
||||
titleIds.add(tdocCatalog.getId());
|
||||
}
|
||||
|
||||
cells.add(Cells.of("是否异议").create());
|
||||
cells.add(Cells.of("投标人授权代表签字确认时间").create());
|
||||
|
||||
if (openTenderList.containsKey("suppliers")) {
|
||||
//供应商
|
||||
List<BizSupplierRegister> regs = JsonUtils.jsonToList((List) openTenderList.get("suppliers"), BizSupplierRegister.class);
|
||||
Map<String, BizSupplierRegister> regMap = regs.stream().collect(Collectors.toMap(BizSupplierRegister::getCompanyId, Function.identity()));
|
||||
|
||||
for (int i = 0; i < suppliers.size(); i++) {
|
||||
BizSupplierRegister supplier = suppliers.get(i);
|
||||
RowRenderData e = Rows.of(String.valueOf(i + 1), supplier.getCompanyName()).create();
|
||||
if (regMap.containsKey(supplier.getCompanyId())) {
|
||||
//应答数据
|
||||
Map<String, String> dataMap = regMap.get(supplier.getCompanyId()).getDataMap();
|
||||
for (String titleId : titleIds) {
|
||||
e.addCell(Cells.of(dataMap.get(titleId)).create());
|
||||
}
|
||||
e.addCell(Cells.of("").create());
|
||||
String s = StringUtils.isBlank(supplier.getSignUserId()) ? "" : commonFeignService.userCenterGetLoninUserDetail(supplier.getSignUserId()).getOuName() + ":" + DateUtil.format(supplier.getSignTime(), DATE_FORMATTER);
|
||||
e.addCell(Cells.of(s).create());
|
||||
|
||||
} else {
|
||||
cells.forEach(c -> e.addCell(Cells.of("").create()));
|
||||
}
|
||||
rows.add(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
rows.add(Rows.of("备注信息").center().create());
|
||||
rows.add(Rows.of("").create());
|
||||
}
|
||||
|
||||
|
||||
//横向合并
|
||||
MergeCellRule hangBuild = MergeCellRule.builder().map(MergeCellRule.Grid.of(rows.size(), 0), MergeCellRule.Grid.of(rows.size(), cells.size() + 1))
|
||||
.map(MergeCellRule.Grid.of(rows.size() - 1, 0), MergeCellRule.Grid.of(rows.size() - 1, cells.size() + 1))
|
||||
.build();
|
||||
|
||||
data.setTableData(tableData.setCells(cells).setRows(rows).setCellMerge(hangBuild))
|
||||
.setOpenTime(DateUtil.format(LocalDateTime.now(), DATE_FORMATTER));
|
||||
|
||||
// InputStream file = templateFileService.getExportTemplet("bidOpenRecord");
|
||||
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);
|
||||
}
|
||||
}
|
@ -2,11 +2,14 @@ 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.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
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.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 lombok.SneakyThrows;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
@ -46,7 +49,7 @@ public class CbpsExportServiceImpl implements ExportService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
//查询项目名称
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
projectSectionVO.setId(param.getSectionId());
|
||||
|
@ -2,13 +2,14 @@ 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.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
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 lombok.SneakyThrows;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
@ -52,7 +53,7 @@ public class DfhzExportServiceImpl implements ExportService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
BidEvalInfoDTO bidEvalInfoDTO = new BidEvalInfoDTO();
|
||||
bidEvalInfoDTO.setAssessRoomId(param.getAssessRoomId());
|
||||
bidEvalInfoDTO.setReviewTurnId(param.getReviewTurnId());
|
||||
|
@ -0,0 +1,113 @@
|
||||
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<BizSupplierRegister> suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
|
||||
|
||||
//初审评分信息
|
||||
List<ReviewConfigCategoryDTO> earlySummary = commonFeignService.rsmsFindScoreEarlySummary(param);
|
||||
|
||||
RvwFirstExportData data = new RvwFirstExportData();
|
||||
data.setProjName(proj.getProjectName())
|
||||
.setProjNum(proj.getProjectBizNum());
|
||||
|
||||
|
||||
ExportTableData tableData = new ExportTableData();
|
||||
//供应商
|
||||
List<CellRenderData> cells = new ArrayList<>();
|
||||
for (BizSupplierRegister supplier : suppliers) {
|
||||
cells.add(Cells.of(supplier.getCompanyName()).center().create());
|
||||
}
|
||||
|
||||
//评分项
|
||||
List<RowRenderData> 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);
|
||||
|
||||
}
|
||||
}
|
@ -2,10 +2,10 @@ 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.BidEvalDetailDTO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
|
||||
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.SupplierRegisterPriceScoreVO;
|
||||
import lombok.SneakyThrows;
|
||||
@ -44,7 +44,7 @@ public class JgdfExportServiceImpl implements ExportService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
List<String> titles = new LinkedList<>();
|
||||
titles.add("序号");
|
||||
|
@ -1,96 +0,0 @@
|
||||
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.ExportParame;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 评标委员会签字表
|
||||
*/
|
||||
@Service("judges")
|
||||
public class JudgesExportServiceImpl implements ExportService {
|
||||
private final RsmsFeignService rsmsFeignService;
|
||||
private final ProjectFeignService projectFeignService;
|
||||
private final TemplateFileService templateFileService;
|
||||
|
||||
public JudgesExportServiceImpl(RsmsFeignService rsmsFeignService, ProjectFeignService projectFeignService, TemplateFileService templateFileService) {
|
||||
this.rsmsFeignService = rsmsFeignService;
|
||||
this.projectFeignService = projectFeignService;
|
||||
this.templateFileService = templateFileService;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
//项目和招标名称数据
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
projectSectionVO.setId(param.getSectionId());
|
||||
BaseResponse<ProjectSectionVO> list = projectFeignService.selectById(projectSectionVO);
|
||||
//专家人员数据
|
||||
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
|
||||
ArrayList<Map<String, Object>> maps = new ArrayList<>();
|
||||
if (listBaseResponse != null && list != null) {
|
||||
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("name", (listBaseResponse.getData().get(i).getName()));
|
||||
data.put("phone", listBaseResponse.getData().get(i).getMobile());
|
||||
maps.add(data);
|
||||
}
|
||||
}
|
||||
//获取模板
|
||||
InputStream file = templateFileService.getExportTemplet("judges");
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("Judges", maps);
|
||||
put("time", "");
|
||||
|
||||
if (list != null) {
|
||||
put("bh", list.getData().getBidSectBizNum());
|
||||
put("mc", list.getData().getProjectName());
|
||||
} else {
|
||||
put("bh", "");
|
||||
put("mc", "");
|
||||
}
|
||||
}};
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
Configure config = Configure.builder().bind("Judges", policy).build();
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评标委员会签字表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
|
||||
OutputStream os = response.getOutputStream();
|
||||
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
|
||||
template.write(os);
|
||||
|
||||
}
|
||||
}
|
@ -1,11 +1,12 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
|
||||
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.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -18,15 +19,13 @@ import java.nio.charset.StandardCharsets;
|
||||
/**
|
||||
* 评标专家承诺书
|
||||
*/
|
||||
@Service("zjcn")
|
||||
@Service("promise")
|
||||
@Slf4j
|
||||
public class ZjcnExportServiceImpl implements ExportService {
|
||||
public class JudgesPromiseImpl implements ExportService {
|
||||
|
||||
private final TemplateFileService templateFileService;
|
||||
@Autowired
|
||||
private TemplateFileService templateFileService;
|
||||
|
||||
public ZjcnExportServiceImpl(TemplateFileService templateFileService) {
|
||||
this.templateFileService = templateFileService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
@ -37,9 +36,9 @@ public class ZjcnExportServiceImpl implements ExportService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
//文件模板从数据库或者项目位置取得
|
||||
InputStream file = templateFileService.getExportTemplet("zjcn");
|
||||
InputStream file = templateFileService.getExportTemplet("promise");
|
||||
XWPFTemplate template = XWPFTemplate.compile(file);
|
||||
|
||||
String fileName = new String("评标专家承诺书.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
@ -0,0 +1,78 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
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.feign.entity.JuryPrintVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
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.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 评标委员会签字表
|
||||
*/
|
||||
@Service("judgesSign")
|
||||
public class JudgesSignImpl implements ExportService {
|
||||
|
||||
@Autowired
|
||||
private ExportCommonFeignService commonFeignService;
|
||||
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@Override
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
//项目和招标名称数据
|
||||
ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId());
|
||||
//专家人员数据
|
||||
List<JuryPrintVO> list = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
|
||||
ArrayList<Map<String, Object>> maps = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("name", list.get(i).getName());
|
||||
data.put("phone", list.get(i).getMobile());
|
||||
maps.add(data);
|
||||
}
|
||||
|
||||
//获取模板
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("Judges", maps);
|
||||
put("time", "");
|
||||
|
||||
|
||||
put("bh", section.getBidSectBizNum());
|
||||
put("mc", section.getProjectName());
|
||||
|
||||
}};
|
||||
// InputStream file = templateFileService.getExportTemplet("judgesSign");
|
||||
File file = getExportTemplet("评标委员会签字表.docx");
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
Configure config = Configure.builder().bind("Judges", policy).build();
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评标委员会签字表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
|
||||
this.write(template, fileName, response);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
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.service.templateFile.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
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.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
* 评审专家签到表
|
||||
*/
|
||||
@Service("judgesSignIn")
|
||||
public class JudgesSignInImpl implements ExportService {
|
||||
@Autowired
|
||||
private TemplateFileService templateFileService;
|
||||
@Autowired
|
||||
private ExportCommonFeignService commonFeignService;
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
//专家人员数据
|
||||
List<JuryPrintVO> list = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
|
||||
ArrayList<Map<String, Object>> maps = new ArrayList<>();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
JuryPrintVO juryPrintVO = list.get(i);
|
||||
data.put("name", juryPrintVO.getName());
|
||||
data.put("phone", juryPrintVO.getMobile());
|
||||
data.put("idCard", juryPrintVO.getCertificate());
|
||||
data.put("isTrue", Objects.equals(juryPrintVO.getAttitude(), 1) ? "是" : "否");
|
||||
data.put("time", juryPrintVO.getLoginTime() != null ? DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(juryPrintVO.getLoginTime()) : "");
|
||||
maps.add(data);
|
||||
}
|
||||
|
||||
|
||||
InputStream file = templateFileService.getExportTemplet("judgesSignIn");
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("table", maps);
|
||||
}};
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
Configure config = Configure.builder().bind("table", policy).build();
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评审专家签到表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
|
||||
OutputStream os = response.getOutputStream();
|
||||
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
|
||||
template.write(os);
|
||||
|
||||
}
|
||||
}
|
@ -1,120 +0,0 @@
|
||||
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.feign.OpenFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RespsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 开标记录表导出
|
||||
*/
|
||||
@Service("kbjl")
|
||||
public class KbjlExportServiceImpl implements ExportService {
|
||||
|
||||
private final ProjectFeignService projectFeignService;
|
||||
private final RespsFeignService respsFeignService;
|
||||
private final OpenFeignService openFeignService;
|
||||
private final TemplateFileService templateFileService;
|
||||
public KbjlExportServiceImpl(ProjectFeignService projectFeignService, RespsFeignService respsFeignService, OpenFeignService openFeignService, TemplateFileService templateFileService) {
|
||||
this.projectFeignService = projectFeignService;
|
||||
this.respsFeignService = respsFeignService;
|
||||
this.openFeignService = openFeignService;
|
||||
this.templateFileService = templateFileService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
Tdoc tdocPara = new Tdoc();
|
||||
tdocPara.setAssessRoomId(param.getAssessRoomId());
|
||||
tdocPara.setTurnSort(Integer.parseInt(param.getReviewTurnSort()));
|
||||
//开标记录数据
|
||||
BaseResponse<List<BizSupplierRegister>> listBaseResponse = respsFeignService.getTenderQuoteList(tdocPara);
|
||||
ArrayList<Map<String, Object>> maps = new ArrayList<>();
|
||||
|
||||
if (listBaseResponse != null) {
|
||||
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("num", (i + 1));
|
||||
data.put("tbr", (listBaseResponse.getData().get(i).getBidUserName()));
|
||||
data.put("bj", (listBaseResponse.getData().get(i).getNewPrice()));
|
||||
data.put("yy", "");
|
||||
LocalDateTime signTime = listBaseResponse.getData().get(i).getSignTime();
|
||||
data.put("sign", signTime == null ? "" : (listBaseResponse.getData().get(i).getContactName()) + ":" + DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(signTime));
|
||||
maps.add(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//查询项目名称
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
projectSectionVO.setId(param.getSectionId());
|
||||
BaseResponse<ProjectSectionVO> project = projectFeignService.selectById(projectSectionVO);
|
||||
|
||||
//查询开标时间
|
||||
BizBidOpenroom bizBidOpenroom = new BizBidOpenroom();
|
||||
bizBidOpenroom.setAssessRoomId(param.getAssessRoomId());
|
||||
BaseResponse<List<BizBidOpenroom>> timeList = openFeignService.list(bizBidOpenroom);
|
||||
|
||||
InputStream file = templateFileService.getExportTemplet("kbjl");
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("Record", maps);
|
||||
|
||||
if (timeList.getData() != null) {
|
||||
put("time", timeList.getData().get(0).getOpingTime());
|
||||
} else {
|
||||
put("time", "");
|
||||
}
|
||||
|
||||
if (project.getData() != null) {
|
||||
put("mc", project.getData().getProjectName());
|
||||
put("bh", project.getData().getBidSectBizNum());
|
||||
put("bao", project.getData().getBidSectName());
|
||||
} else {
|
||||
put("mc", "");
|
||||
put("bh", "");
|
||||
put("bao", "");
|
||||
}
|
||||
|
||||
put("yuan", "");
|
||||
}};
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
Configure config = Configure.builder().bind("Record", policy).build();
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("开标记录表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
OutputStream os = response.getOutputStream();
|
||||
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
|
||||
template.write(os);
|
||||
}
|
||||
}
|
@ -1,264 +0,0 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.enums.ExportExceptionEnum;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.TenderFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.ResultDetailVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 评标报告
|
||||
*/
|
||||
@Service("pbbg")
|
||||
public class PbbgExportServiceImpl implements ExportService {
|
||||
private final RsmsFeignService rsmsFeignService;
|
||||
private final TemplateFileService templateFileService;
|
||||
private final ProcessFeignClient processFeignClient;
|
||||
private final TenderFeignService tenderFeignService;
|
||||
private final ProjectFeignService projectFeignClient;
|
||||
|
||||
public PbbgExportServiceImpl(RsmsFeignService rsmsFeignService, TemplateFileService templateFileService, ProcessFeignClient processFeignClient, TenderFeignService tenderFeignService, ProjectFeignService projectFeignClient) {
|
||||
this.rsmsFeignService = rsmsFeignService;
|
||||
this.templateFileService = templateFileService;
|
||||
this.processFeignClient = processFeignClient;
|
||||
this.tenderFeignService = tenderFeignService;
|
||||
this.projectFeignClient = projectFeignClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
BaseResponse<BizAssessRoom> processResponse = processFeignClient.getById(param.getAssessRoomId());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.customValid(!processResponse.isSuccess());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.assertNotNull(processResponse.getData());
|
||||
|
||||
BaseResponse<ProjectRecordVO> proj = projectFeignClient.getProjById(processResponse.getData().getTpId());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_PROJECT_INFO.customValid(!proj.isSuccess());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_PROJECT_INFO.assertNotNull(proj.getData());
|
||||
ProjectRecordVO project = proj.getData();
|
||||
|
||||
|
||||
String zbfs = "";
|
||||
switch (project.getBidMethodDict()) {
|
||||
case "procurement_mode_1":
|
||||
case "procurement_mode_2":
|
||||
zbfs = "公开招标";
|
||||
break;
|
||||
case "procurement_mode_3":
|
||||
zbfs = "公开比选";
|
||||
break;
|
||||
case "procurement_mode_4":
|
||||
zbfs = "招募";
|
||||
break;
|
||||
case "procurement_mode_5":
|
||||
case "procurement_mode_6":
|
||||
zbfs = "谈判";
|
||||
break;
|
||||
case "procurement_mode_7":
|
||||
zbfs = "询价";
|
||||
break;
|
||||
case "procurement_mode_8":
|
||||
zbfs = "竞拍";
|
||||
break;
|
||||
default:
|
||||
zbfs = "";
|
||||
}
|
||||
|
||||
|
||||
BaseResponse<List<BizSupplierRegister>> roomTenderResponse = tenderFeignService.queryRoomTenderCount(param.getAssessRoomId());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_TENDERL_FAIL.customValid(!roomTenderResponse.isSuccess());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_TENDERL_FAIL.assertNotNull(roomTenderResponse.getData());
|
||||
List<BizSupplierRegister> registerList = roomTenderResponse.getData();
|
||||
//表一
|
||||
List<Map<String, Object>> list1 = new ArrayList<>();
|
||||
for (int i = 0; i < registerList.size(); i++) {
|
||||
Map<String, Object> map = new HashMap<>(16);
|
||||
int num = i + 1;
|
||||
BizSupplierRegister register = registerList.get(i);
|
||||
map.put("num", num);
|
||||
map.put("name", register.getCompanyName());
|
||||
map.put("type", StrUtil.isBlank(register.getDownloadStatus()) ? "" : "2".equals(register.getDownloadStatus()) ? "已投递" : "1".equals(register.getDownloadStatus()) ? "已下载" : "未下载");
|
||||
list1.add(map);
|
||||
}
|
||||
|
||||
//表二假数据
|
||||
List<Map<String, Object>> list2 = new ArrayList<>();
|
||||
for (int i = 0; i < 3; i++) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("time", "2021.3.4");
|
||||
map.put("nr", "好多内容");
|
||||
list2.add(map);
|
||||
}
|
||||
|
||||
|
||||
//表三数据
|
||||
//专家人员数据
|
||||
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
|
||||
ArrayList<Map<String, Object>> list3 = new ArrayList<>();
|
||||
String pbwyhzz = "";
|
||||
if (listBaseResponse != null && listBaseResponse.getData() != null) {
|
||||
List<JuryPrintVO> juryPrintVOList = listBaseResponse.getData();
|
||||
for (int i = 0; i < juryPrintVOList.size(); i++) {
|
||||
int num = i + 1;
|
||||
JuryPrintVO juryPrintVO = juryPrintVOList.get(i);
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("num", num);
|
||||
data.put("work", juryPrintVO.getWorkunit());
|
||||
data.put("name", juryPrintVO.getName());
|
||||
data.put("job", juryPrintVO.getJobTitle());
|
||||
data.put("unit", juryPrintVO.getWorkunit());
|
||||
list3.add(data);
|
||||
if ("2".equals(juryPrintVO.getDuty())) {
|
||||
pbwyhzz = juryPrintVO.getName();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
BaseResponse<List<ResultDetailVO>> baseResponse = rsmsFeignService.get(param.getAssessRoomId());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.customValid(!baseResponse.isSuccess());
|
||||
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.assertNotNull(baseResponse.getData());
|
||||
List<ResultDetailVO> resultDetails = baseResponse.getData();
|
||||
|
||||
if (resultDetails.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
int size = resultDetails.size();
|
||||
|
||||
List<Map<String, Object>> list4 = new ArrayList<>();
|
||||
List<Map<String, Object>> list5 = new ArrayList<>();
|
||||
List<Map<String, Object>> list6 = new ArrayList<>();
|
||||
List<Map<String, Object>> list7 = new ArrayList<>();
|
||||
List<Map<String, Object>> list8 = new ArrayList<>();
|
||||
for (int i = 0; i < size; i++) {
|
||||
int num = i + 1;
|
||||
ResultDetailVO detail = resultDetails.get(i);
|
||||
String tbr = detail.getCompanyName();
|
||||
Map<String, Object> map = new HashMap<>(16);
|
||||
//表4,初步评审结果 投标人,投标结果
|
||||
map.put("num", num);
|
||||
map.put("tbr", tbr);
|
||||
map.put("jg", detail.getFirstRvwResult() == null ? "" : detail.getFirstRvwResult() == 0 ? "未通过" : "通过");
|
||||
list4.add(map);
|
||||
|
||||
//表六 详细评审数据 投标人,技术分,商务分
|
||||
|
||||
map.put("js", StrUtil.isNotBlank(detail.getTechnicalScore()) ? detail.getTechnicalScore() : "");
|
||||
map.put("sw", StrUtil.isNotBlank(detail.getBusinessScore()) ? detail.getBusinessScore() : "");
|
||||
list6.add(map);
|
||||
|
||||
|
||||
//表七 价格评审数据 投标人,投标价,评审价格,价格得分
|
||||
|
||||
map.put("bj", detail.getPrice() == null ? BigDecimal.ZERO : detail.getPrice());
|
||||
map.put("psjg", detail.getPriceReview() == null ? BigDecimal.ZERO : detail.getPriceReview());
|
||||
map.put("jgdf", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
|
||||
list7.add(map);
|
||||
|
||||
|
||||
//表八 评审总结数据
|
||||
map.put("jgdf2", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
|
||||
map.put("zhdf", StrUtil.isNotBlank(detail.getTotalScore()) ? detail.getTotalScore() : "");
|
||||
list8.add(map);
|
||||
|
||||
}
|
||||
|
||||
|
||||
String finalZbfs = zbfs;
|
||||
String finalPbwyhzz = pbwyhzz;
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("table1", list1);
|
||||
put("table2", list2);
|
||||
put("table3", list3);
|
||||
put("table4", list4);
|
||||
put("table5", list5);
|
||||
put("table6", list6);
|
||||
put("table7", list7);
|
||||
put("table8", list8);
|
||||
put("zbdljg", project.getTenderAgencyName());
|
||||
put("zbbh", project.getEbpProjectNumber());
|
||||
put("zbfs", finalZbfs);
|
||||
put("pbwyhzz", finalPbwyhzz);
|
||||
}};
|
||||
|
||||
|
||||
HackLoopTableRenderPolicy policy1 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy2 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy3 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy4 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy5 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy6 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy7 = new HackLoopTableRenderPolicy();
|
||||
HackLoopTableRenderPolicy policy8 = new HackLoopTableRenderPolicy();
|
||||
|
||||
Configure config = Configure.builder().bind("table1", policy1).bind("table2", policy2).bind("table3", policy3)
|
||||
.bind("table4", policy4).bind("table5", policy5).bind("table6", policy6)
|
||||
.bind("table7", policy7).bind("table8", policy8).build();
|
||||
|
||||
|
||||
InputStream file = templateFileService.getExportTemplet("pbbg");
|
||||
// File file = getExportTemplet("评标报告.docx");
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评标报告.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
OutputStream os = response.getOutputStream();
|
||||
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
|
||||
template.write(os);
|
||||
|
||||
}
|
||||
|
||||
private List<ArchiveLink> getFirstArchiveLinks() {
|
||||
List<ArchiveLink> archiveLinks = new ArrayList<>();
|
||||
//初步评审表URL
|
||||
archiveLinks.add(new ArchiveLink().setId("1").setArchiveDirectory("1"));
|
||||
return archiveLinks;
|
||||
}
|
||||
|
||||
private List<ArchiveLink> getDetailArchiveLinks() {
|
||||
List<ArchiveLink> archiveLinks = new ArrayList<>();
|
||||
//详细评审表URL
|
||||
// archiveLinks.add(new ArchiveLink().setId("2").setArchiveDirectory("2"));
|
||||
//专家打分表URL
|
||||
archiveLinks.add(new ArchiveLink().setId("3").setArchiveDirectory("3"));
|
||||
//价格打分表URL
|
||||
archiveLinks.add(new ArchiveLink().setId("4").setArchiveDirectory("4"));
|
||||
//打分汇总表URL
|
||||
archiveLinks.add(new ArchiveLink().setId("5").setArchiveDirectory("5"));
|
||||
//评审报告URL
|
||||
// archiveLinks.add(new ArchiveLink().setId("6").setArchiveDirectory("6"));
|
||||
return archiveLinks;
|
||||
}
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
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.ExportParame;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 评审专家签到表
|
||||
*/
|
||||
@Service("pszj")
|
||||
public class PszjExportServiceImpl implements ExportService {
|
||||
private final RsmsFeignService rsmsFeignService;
|
||||
private final TemplateFileService templateFileService;
|
||||
|
||||
public PszjExportServiceImpl(RsmsFeignService rsmsFeignService, TemplateFileService templateFileService) {
|
||||
this.rsmsFeignService = rsmsFeignService;
|
||||
this.templateFileService = templateFileService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param param
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
//专家人员数据
|
||||
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
|
||||
|
||||
ArrayList<Map<String, Object>> maps = new ArrayList<>();
|
||||
if (listBaseResponse != null && listBaseResponse.getData() != null) {
|
||||
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("name", listBaseResponse.getData().get(i).getName());
|
||||
data.put("phone", listBaseResponse.getData().get(i).getMobile());
|
||||
data.put("idCard", listBaseResponse.getData().get(i).getCertificate());
|
||||
data.put("isTrue", listBaseResponse.getData().get(i).getAttitude() == 1 ? "是" : "否");
|
||||
data.put("time", DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(listBaseResponse.getData().get(i).getLoginTime()));
|
||||
maps.add(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
InputStream file = templateFileService.getExportTemplet("pszj");
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("table", maps);
|
||||
}};
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
Configure config = Configure.builder().bind("table", policy).build();
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评审专家签到表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
|
||||
OutputStream os = response.getOutputStream();
|
||||
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
|
||||
template.write(os);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,194 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
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.service.templateFile.TemplateFileService;
|
||||
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.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
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.math.BigDecimal;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* 评审报告
|
||||
*/
|
||||
@Service("reviewReport")
|
||||
public class ReviewReportImpl implements ExportService {
|
||||
|
||||
@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) {
|
||||
|
||||
// 项目信息
|
||||
ProjectRecordVO project = commonFeignService.projectGetProjById(param.getProjectId());
|
||||
|
||||
|
||||
String zbfs = "";
|
||||
switch (project.getBidMethodDict()) {
|
||||
case "procurement_mode_1":
|
||||
case "procurement_mode_2":
|
||||
zbfs = "公开招标";
|
||||
break;
|
||||
case "procurement_mode_3":
|
||||
zbfs = "公开比选";
|
||||
break;
|
||||
case "procurement_mode_4":
|
||||
zbfs = "招募";
|
||||
break;
|
||||
case "procurement_mode_5":
|
||||
case "procurement_mode_6":
|
||||
zbfs = "谈判";
|
||||
break;
|
||||
case "procurement_mode_7":
|
||||
zbfs = "询价";
|
||||
break;
|
||||
case "procurement_mode_8":
|
||||
zbfs = "竞拍";
|
||||
break;
|
||||
default:
|
||||
zbfs = "";
|
||||
}
|
||||
|
||||
|
||||
//供应商信息
|
||||
List<BizSupplierRegister> registerList = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
|
||||
|
||||
//表一
|
||||
List<Map<String, Object>> list1 = new ArrayList<>();
|
||||
for (int i = 0; i < registerList.size(); i++) {
|
||||
Map<String, Object> map = new HashMap<>(16);
|
||||
int num = i + 1;
|
||||
BizSupplierRegister register = registerList.get(i);
|
||||
map.put("num", num);
|
||||
map.put("name", register.getCompanyName());
|
||||
map.put("type", StrUtil.isBlank(register.getDownloadStatus()) ? "" : "2".equals(register.getDownloadStatus()) ? "已投递" : "1".equals(register.getDownloadStatus()) ? "已下载" : "未下载");
|
||||
list1.add(map);
|
||||
}
|
||||
|
||||
//表二 专家人员数据
|
||||
List<JuryPrintVO> memberList = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
|
||||
ArrayList<Map<String, Object>> list2 = new ArrayList<>();
|
||||
String pbwyhzz = null;
|
||||
for (int i = 0; i < memberList.size(); i++) {
|
||||
JuryPrintVO juryPrintVO = memberList.get(i);
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("num", i + 1);
|
||||
data.put("work", juryPrintVO.getWorkunit());
|
||||
data.put("name", juryPrintVO.getName());
|
||||
data.put("job", juryPrintVO.getJobTitle());
|
||||
data.put("unit", juryPrintVO.getWorkunit());
|
||||
list2.add(data);
|
||||
if ("2".equals(juryPrintVO.getDuty())) {
|
||||
pbwyhzz = juryPrintVO.getName();
|
||||
}
|
||||
}
|
||||
|
||||
ArrayList<Map<String, Object>> list3 = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < registerList.size(); i++) {
|
||||
Map<String, Object> map = new HashMap<>(16);
|
||||
int num = i + 1;
|
||||
BizSupplierRegister register = registerList.get(i);
|
||||
map.put("num", num);
|
||||
map.put("id", register.getCompanyId());
|
||||
map.put("tbr", register.getCompanyName());
|
||||
list3.add(map);
|
||||
|
||||
}
|
||||
|
||||
//评审结果表数据
|
||||
List<ResultDetailVO> resultDetails = commonFeignService.rsmsQueryReviewDetailByRoomId(param.getAssessRoomId());
|
||||
Map<String, ResultDetailVO> detailVOMap = resultDetails.stream().collect(Collectors.toMap(ResultDetailVO::getCompanyId, Function.identity(), (o1, o2) -> o1));
|
||||
for (int i = 0; i < registerList.size(); i++) {
|
||||
BizSupplierRegister register = registerList.get(i);
|
||||
if (detailVOMap.containsKey(register.getCompanyId())) {
|
||||
ResultDetailVO detail = detailVOMap.get(register.getCompanyId());
|
||||
|
||||
Map<String, Object> map = list3.stream().filter(f -> f.get("id").equals(register.getCompanyId())).findAny().orElse(new HashMap<>());
|
||||
//表三,初步评审结果 投标人,投标结果
|
||||
map.put("jg", detail.getFirstRvwResult() == null ? "" : detail.getFirstRvwResult() == 0 ? "未通过" : "通过");
|
||||
|
||||
|
||||
//表四 详细评审数据 投标人,技术分,商务分
|
||||
map.put("js", StrUtil.isNotBlank(detail.getTechnicalScore()) ? detail.getTechnicalScore() : "");
|
||||
map.put("sw", StrUtil.isNotBlank(detail.getBusinessScore()) ? detail.getBusinessScore() : "");
|
||||
|
||||
|
||||
//表五 价格评审数据 投标人,投标价,评审价格,价格得分
|
||||
map.put("bj", detail.getPrice() == null ? BigDecimal.ZERO : detail.getPrice());
|
||||
map.put("psjg", detail.getPriceReview() == null ? BigDecimal.ZERO : detail.getPriceReview());
|
||||
map.put("jgdf", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
|
||||
|
||||
|
||||
//表六 评审总结数据
|
||||
map.put("jgdf2", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
|
||||
map.put("zhdf", StrUtil.isNotBlank(detail.getTotalScore()) ? detail.getTotalScore() : "");
|
||||
}
|
||||
}
|
||||
|
||||
String finalZbfs = zbfs;
|
||||
String finalPbwyhzz = pbwyhzz;
|
||||
Map<String, Object> all = new HashMap<String, Object>() {{
|
||||
put("table1", list1);
|
||||
put("table2", list2);
|
||||
put("table3", list3);
|
||||
put("zbdljg", project.getTenderAgencyName());
|
||||
put("zbbh", project.getEbpProjectNumber());
|
||||
put("zbfs", finalZbfs);
|
||||
put("pbwyhzz", finalPbwyhzz == null ? "______" : finalPbwyhzz);
|
||||
}};
|
||||
|
||||
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
|
||||
Configure config = Configure.builder()
|
||||
.bind("table1", policy)
|
||||
.bind("table2", policy)
|
||||
.bind("table3", policy)
|
||||
.build();
|
||||
|
||||
|
||||
// InputStream file = templateFileService.getExportTemplet("reviewReport");
|
||||
File file = getExportTemplet("评标报告.docx");
|
||||
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
|
||||
|
||||
String fileName = new String("评标报告.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
|
||||
|
||||
this.write(template, fileName, response);
|
||||
}
|
||||
|
||||
}
|
@ -2,12 +2,15 @@ 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.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
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.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.ReviewConfigCategoryDTO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigDetailDTO;
|
||||
import lombok.SneakyThrows;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
@ -48,7 +51,7 @@ public class ZjgrExportServiceImpl implements ExportService {
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
|
||||
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
//查询项目名称
|
||||
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
|
||||
|
@ -0,0 +1,78 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.policy;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData;
|
||||
import com.deepoove.poi.data.CellRenderData;
|
||||
import com.deepoove.poi.data.RowRenderData;
|
||||
import com.deepoove.poi.policy.DynamicTableRenderPolicy;
|
||||
import com.deepoove.poi.policy.TableRenderPolicy;
|
||||
import com.deepoove.poi.util.TableTools;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DetailTablePolicy extends DynamicTableRenderPolicy {
|
||||
|
||||
// 横向填充名称所在行
|
||||
private int horizonalNameIndex = 0;
|
||||
// 竖向填充数据所在行
|
||||
private int verticallyStartIndex = 1;
|
||||
public DetailTablePolicy() {
|
||||
}
|
||||
|
||||
public DetailTablePolicy(int horizonalNameIndex, int verticallyStartIndex) {
|
||||
this.horizonalNameIndex = horizonalNameIndex;
|
||||
this.verticallyStartIndex = verticallyStartIndex;
|
||||
}
|
||||
@Override
|
||||
public void render(XWPFTable xwpfTable, Object o) throws Exception {
|
||||
if (o == null) {
|
||||
return;
|
||||
}
|
||||
ExportTableData data = (ExportTableData) o;
|
||||
|
||||
|
||||
//供应商名称
|
||||
List<CellRenderData> cols = data.getCells();
|
||||
if (cols != null) {
|
||||
XWPFTableRow row = xwpfTable.getRow(horizonalNameIndex);
|
||||
row.removeCell(row.getTableCells().size() - 1);
|
||||
//循环添加供应商名称
|
||||
for (CellRenderData col : cols) {
|
||||
XWPFTableCell cell = row.createCell();
|
||||
// 单元格渲染
|
||||
TableRenderPolicy.Helper.renderCell(cell, col, null);
|
||||
}
|
||||
}
|
||||
|
||||
//供应商
|
||||
List<RowRenderData> rows = data.getRows();
|
||||
if (rows != null && !rows.isEmpty()) {
|
||||
xwpfTable.removeRow(verticallyStartIndex);
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
XWPFTableRow insertNewTableRow = xwpfTable.insertNewTableRow(verticallyStartIndex + i);
|
||||
for (int j = 0; j < rows.get(i).getCells().size(); j++) {
|
||||
insertNewTableRow.createCell();
|
||||
}
|
||||
TableRenderPolicy.Helper.renderRow(xwpfTable.getRow(verticallyStartIndex + i), rows.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
if (data.getCellMerge() != null) {
|
||||
// 水平合并
|
||||
data.getCellMerge().getMapping().forEach((key, value) -> {
|
||||
TableTools.mergeCellsHorizonal(xwpfTable, key.getI(), key.getJ(), value.getJ());
|
||||
});
|
||||
}
|
||||
|
||||
if (data.getRowMerge() != null) {
|
||||
// 垂直合并
|
||||
data.getCellMerge().getMapping().forEach((key, value) -> {
|
||||
TableTools.mergeCellsVertically(xwpfTable, key.getI(), key.getJ(), value.getJ());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service;
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.templateFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
|
||||
package com.chinaunicom.mall.ebtp.extend.export.service.templateFile.impl;
|
||||
|
||||
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.api.AttachmentClient;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
|
||||
import com.chinaunicom.mall.ebtp.extend.templatewarehouse.entity.BizBidTemplateWarehouse;
|
||||
import com.chinaunicom.mall.ebtp.extend.templatewarehouse.sevice.BizBidTemplateWarehouseService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
@ -43,7 +43,7 @@ public class BidEvalDetailSummaryVO implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "专家评分")
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
List<BidEvalDetailJudgesSummaryVO> scoreList;
|
||||
private List<BidEvalDetailJudgesSummaryVO> scoreList;
|
||||
|
||||
@ApiModelProperty(value = "详审专家汇总")
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.factory.FeignConfiguration;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.factory.DocumentCenterServiceFallbackFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.config.FeignConfiguration;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.DocumentCenterServiceFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
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.BizBidOpenroom;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ExportServiceOpenFallbakFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceOpenFallbakFactory;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
@ -1,28 +1,25 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
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.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ProcessFeignFallbackFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.ResultDetailVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ProcessFeignFallbackFactory;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 评审流程
|
||||
*/
|
||||
@FeignClient(value = "${mconfig.feign.name.process}", fallbackFactory = ProcessFeignFallbackFactory.class)
|
||||
public interface ProcessFeignClient {
|
||||
public interface ProcessFeignService {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询数据
|
||||
* 通过room_id查询评审室信息
|
||||
*
|
||||
* @param id
|
||||
*
|
@ -1,9 +1,9 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
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.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ProjectFeignFallbackFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ProjectFeignFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
@ -0,0 +1,28 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceRespsFallbakFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.Tdoc;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 调用 RESPS_SERVICE
|
||||
*/
|
||||
@FeignClient(value = "${mconfig.feign.name.resps}", fallbackFactory = ExportServiceRespsFallbakFactory.class)
|
||||
public interface RespsFeignService {
|
||||
|
||||
/**
|
||||
* 开标唱标页列表
|
||||
*
|
||||
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
|
||||
* @return title-表格标题,dataDecrypt-解密状态id、status dataQuote-报价信息
|
||||
*/
|
||||
@PostMapping("/v1/tfile/getOpenTenderList")
|
||||
public BaseResponse<Map> getOpenTenderList(@ApiParam(value = "assessRoomId 评审室id turnSort 轮次序号", required = false) @RequestBody Tdoc tdocPara);
|
||||
|
||||
}
|
@ -1,9 +1,12 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
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.feign.factory.ExportServiceFallback;
|
||||
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;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
@ -1,8 +1,8 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign;
|
||||
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.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.TenderFeignFallbackFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.TenderFeignFallbackFactory;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
@ -0,0 +1,23 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client;
|
||||
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.UsercenterFeignFallbackFactory;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.LoginUserDetailVO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
|
||||
/**
|
||||
* 用户中心
|
||||
*/
|
||||
@FeignClient(value = "${mconfig.feign.name.usercenter}", fallbackFactory = UsercenterFeignFallbackFactory.class)
|
||||
public interface UsercenterFeignService {
|
||||
/*
|
||||
* 查询用户信息
|
||||
*/
|
||||
@GetMapping("/v1.0/user/info")
|
||||
BaseResponse<LoginUserDetailVO> getLoninUserDetail(@RequestParam("uid") String uid);
|
||||
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.DocumentCenterService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.fallback.DocumentCenterServiceFallbackImpl;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.fallback.DocumentCenterServiceFallbackImpl;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
@ -1,10 +1,13 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
|
||||
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 feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
@ -1,9 +1,9 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizBidOpenroom;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.OpenFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.OpenFeignService;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
@ -1,24 +1,31 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.Tdoc;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.RespsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.RespsFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.Tdoc;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class ExportServiceRespsFallbakFactory implements FallbackFactory<RespsFeignService> {
|
||||
@Override
|
||||
public RespsFeignService create(Throwable throwable) {
|
||||
RespsFeignService resps = new RespsFeignService() {
|
||||
/**
|
||||
* 开标唱标页列表
|
||||
*
|
||||
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
|
||||
* @return title-表格标题,dataDecrypt-解密状态id、status dataQuote-报价信息
|
||||
*/
|
||||
@Override
|
||||
public BaseResponse<List<BizSupplierRegister>> getTenderQuoteList(Tdoc tdocPara) {
|
||||
return null;
|
||||
public BaseResponse<Map> getOpenTenderList(Tdoc tdocPara) {
|
||||
return BaseResponse.fail(new HashMap());
|
||||
}
|
||||
};
|
||||
log.error(ExceptionUtil.stacktraceToString(throwable));
|
@ -1,23 +1,21 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.vo.ReviewFlowVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.ProcessFeignService;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class ProcessFeignFallbackFactory implements FallbackFactory<ProcessFeignClient> {
|
||||
public class ProcessFeignFallbackFactory implements FallbackFactory<ProcessFeignService> {
|
||||
|
||||
@Override
|
||||
public ProcessFeignClient create(Throwable throwable) {
|
||||
ProcessFeignClient back = new ProcessFeignClient() {
|
||||
public ProcessFeignService create(Throwable throwable) {
|
||||
ProcessFeignService back = new ProcessFeignService() {
|
||||
|
||||
|
||||
/**
|
@ -1,10 +1,10 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
@ -1,9 +1,9 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.export.feign.TenderFeignService;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.TenderFeignService;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
@ -0,0 +1,19 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.UsercenterFeignService;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class UsercenterFeignFallbackFactory implements FallbackFactory<UsercenterFeignService> {
|
||||
|
||||
@Override
|
||||
public UsercenterFeignService create(Throwable throwable) {
|
||||
UsercenterFeignService back = uid -> null;
|
||||
log.error(ExceptionUtil.stacktraceToString(throwable));
|
||||
return back;
|
||||
}
|
||||
}
|
@ -1,12 +1,10 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.fallback;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.client.fallback;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.DocumentCenterService;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 熔断
|
||||
*
|
@ -1,4 +1,4 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.factory;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.config;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.utils.UrlConstants;
|
@ -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.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
@ -0,0 +1,288 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实体类 BizSupplierRegister
|
||||
*
|
||||
* @auto.generated
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "biz_supplier_register", autoResultMap = true)
|
||||
@ApiModel(value = "BizSupplierRegister对象", description = "供应商报名登记表")
|
||||
public class BizSupplierRegister extends BaseEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 供应商报名登记表id
|
||||
*/
|
||||
@TableId
|
||||
@ApiModelProperty(value = "供应商报名登记表id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 项目表id
|
||||
*/
|
||||
@ApiModelProperty(value = "项目表id")
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 标包id
|
||||
*/
|
||||
@ApiModelProperty(value = "标包id")
|
||||
private String packageId;
|
||||
|
||||
/**
|
||||
* 评审室表id
|
||||
*/
|
||||
@ApiModelProperty(value = "评审室表id")
|
||||
private String assessRoomId;
|
||||
|
||||
/**
|
||||
* 评审室轮次
|
||||
*/
|
||||
@ApiModelProperty(value = "评审室轮次")
|
||||
private Integer assessRoomSort;
|
||||
/**
|
||||
* 机构id
|
||||
*/
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private String companyId;
|
||||
|
||||
/**
|
||||
* 机构名称
|
||||
*/
|
||||
@ApiModelProperty(value = "机构名称")
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 投标人id
|
||||
*/
|
||||
@ApiModelProperty(value = "投标人id")
|
||||
private String bidUserId;
|
||||
|
||||
/**
|
||||
* 投标人姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "投标人姓名")
|
||||
private String bidUserName;
|
||||
|
||||
/**
|
||||
* 联系人id
|
||||
*/
|
||||
@ApiModelProperty(value = "联系人id")
|
||||
private String contactId;
|
||||
|
||||
/**
|
||||
* 报名状态[1:已报名提交][2:已报名审核][3:已报名被拒绝][4:已退出][5:已中标][6:未中标][9:重评前的数据]
|
||||
*/
|
||||
@ApiModelProperty(value = "报名状态[1:已报名提交][2:已报名审核][3:已报名被拒绝][4:已退出][5:已中标][6:未中标][9:重评前的数据]")
|
||||
private String registerStatus;
|
||||
|
||||
/**
|
||||
* 报名时间
|
||||
*/
|
||||
@ApiModelProperty(value = "报名时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime registerTime;
|
||||
|
||||
|
||||
/**
|
||||
* 下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
|
||||
*/
|
||||
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
|
||||
private String downloadStatus;
|
||||
|
||||
/**
|
||||
* 下载时间
|
||||
*/
|
||||
@ApiModelProperty(value = "下载时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime downloadTime;
|
||||
|
||||
/**
|
||||
* 下载版本
|
||||
*/
|
||||
@ApiModelProperty(value = "下载版本")
|
||||
private String downloadVersion;
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上传时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime uploadTime;
|
||||
|
||||
/**
|
||||
* 解密状态:[1:未解密][2:解密成功][3:解密失败]
|
||||
*/
|
||||
@ApiModelProperty(value = "解密状态:[1:未解密][2:解密成功][3:解密失败]")
|
||||
private String decryptStatus;
|
||||
|
||||
/**
|
||||
* 解密时间
|
||||
*/
|
||||
@ApiModelProperty(value = "解密时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime decryptTime;
|
||||
|
||||
/**
|
||||
* 营业执照id,附件表
|
||||
*/
|
||||
@ApiModelProperty(value = "营业执照id,附件表")
|
||||
private String businessLicenseId;
|
||||
|
||||
/**
|
||||
* 法人代表授权书id,附件表
|
||||
*/
|
||||
@ApiModelProperty(value = "法人代表授权书id,附件表")
|
||||
private String legalPersionAuthorizationId;
|
||||
|
||||
/**
|
||||
* 退出原因
|
||||
*/
|
||||
@ApiModelProperty(value = "退出原因")
|
||||
private String quitReason;
|
||||
|
||||
/**
|
||||
* 购标时间
|
||||
*/
|
||||
@ApiModelProperty(value = "购标时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime payTime;
|
||||
|
||||
/**
|
||||
* 购标状态:[1:未支付][2:已支付][3:支付失败]
|
||||
*/
|
||||
@ApiModelProperty(value = "购标状态:[1:未支付][2:已支付][3:支付失败]")
|
||||
private String payStatus;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "1:预审;2:资审")
|
||||
private Integer roomType;
|
||||
|
||||
/**
|
||||
* 报价总金额净价 offer_total_price
|
||||
*/
|
||||
@ApiModelProperty(value = "报价总金额净价")
|
||||
private BigDecimal offerTotalPrice;
|
||||
|
||||
/**
|
||||
* 报价总金额含税价 offer_total_tax_price
|
||||
*/
|
||||
@ApiModelProperty(value = "报价总金额含税价")
|
||||
private BigDecimal offerTotalTaxPrice;
|
||||
|
||||
/**
|
||||
* 报价单号
|
||||
*/
|
||||
@ApiModelProperty(value = "报价单号")
|
||||
private String offerOrderNo;
|
||||
|
||||
@ApiModelProperty(value = "招募状态:0非招募、1招募单轮、2招募多轮")
|
||||
private String recruitType;
|
||||
|
||||
/**
|
||||
* 联系人名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系人名称")
|
||||
private String contactName;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系电话")
|
||||
private String contactTelephone;
|
||||
|
||||
/**
|
||||
* 联系传真
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系传真")
|
||||
private String contactFax;
|
||||
|
||||
/**
|
||||
* 签字确认账号id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "签字确认账号id")
|
||||
private String signUserId;
|
||||
|
||||
/**
|
||||
* 轮次id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "轮次id")
|
||||
private String reviewTurnId;
|
||||
|
||||
/**
|
||||
* 轮次序号
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "轮次序号")
|
||||
private String reviewTurnSort;
|
||||
|
||||
/**
|
||||
* 签字确认账号名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "签字确认账号名称")
|
||||
private String signUserName;
|
||||
|
||||
/**
|
||||
* 签字确认时间
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "签字确认时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(exist = false, typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private LocalDateTime signTime;
|
||||
|
||||
/**
|
||||
* 其他下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
|
||||
private String downloadOtherStatus;
|
||||
|
||||
private Map<String,String> dataMap;
|
||||
}
|
@ -1,11 +1,10 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.vo;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
@ -75,7 +74,7 @@ public class JuryPrintVO {
|
||||
*/
|
||||
@ApiModelProperty(value = "登录时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
private java.time.LocalDateTime loginTime;
|
||||
|
@ -0,0 +1,118 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 邵智敬
|
||||
* @date 2019-04-25
|
||||
* @version: V1.0
|
||||
* @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "用户名获取用户信息、权限字信息、角色信息")
|
||||
public class LoginUserDetailVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "租户ID")
|
||||
private String tenantId;
|
||||
@ApiModelProperty(value = "部门编码,根据门户现状,位数不规则,部分沿用HR原编码")
|
||||
private String ou;
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String ouName;
|
||||
|
||||
@ApiModelProperty(value = "所属省份ou")
|
||||
private String province;
|
||||
|
||||
@ApiModelProperty(value = "所属城市名称ou")
|
||||
private String city;
|
||||
|
||||
@ApiModelProperty(value = "所属省份名称")
|
||||
private String provinceName;
|
||||
|
||||
@ApiModelProperty(value = "所属城市名称")
|
||||
private String cityName;
|
||||
|
||||
@ApiModelProperty(value = "门户全国目录中的唯一编码 uid")
|
||||
private String staffId;
|
||||
|
||||
@ApiModelProperty(value = "空即可")
|
||||
private String staffOrgId;
|
||||
|
||||
@ApiModelProperty(value = "eshop_portaluser的cn")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "用户密码")
|
||||
private String password;
|
||||
@ApiModelProperty(value = "公司ID")
|
||||
private String orgId;
|
||||
@ApiModelProperty(value = "eshop_portaluser的cn")
|
||||
private String staffName;
|
||||
|
||||
@ApiModelProperty(value = "租户ID")
|
||||
private String staffType;
|
||||
|
||||
@ApiModelProperty(value = "租户ID")
|
||||
private Boolean enabled;
|
||||
|
||||
@ApiModelProperty(value = "权限字列表")
|
||||
private List<String> authoritiesList;
|
||||
|
||||
@ApiModelProperty(value = "用户")
|
||||
private Long userid;
|
||||
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty(value = "机构名称")
|
||||
private String partnerName;
|
||||
|
||||
@ApiModelProperty("是否前台综合员:Y-是, N-否")
|
||||
private String isSyntheser;
|
||||
|
||||
@ApiModelProperty("是否是资产管理员:Y-是, N-否")
|
||||
private String isAsseter;
|
||||
|
||||
@ApiModelProperty("是否采购员:Y-是, N-否")
|
||||
private String isCurement;
|
||||
|
||||
@ApiModelProperty("身份证号吗")
|
||||
private String identityCard;
|
||||
|
||||
@ApiModelProperty("联系电话")
|
||||
private String tel;
|
||||
|
||||
@ApiModelProperty("公司名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("当前及所有上级组织ou集合")
|
||||
private List<String> ouList;
|
||||
|
||||
@ApiModelProperty("邮箱")
|
||||
private String cumail;
|
||||
|
||||
@ApiModelProperty("当前用户ou")
|
||||
private String currentOu;
|
||||
|
||||
@ApiModelProperty("当前用户岗位名称")
|
||||
private String currentOuDisplay;
|
||||
|
||||
@ApiModelProperty("省份简称")
|
||||
private String site;
|
||||
|
||||
@ApiModelProperty(value = "HR员工编码(非正式用户无该信息)")
|
||||
private String employeenumber;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
@ -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.TableName;
|
@ -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.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
|
@ -1,4 +1,4 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.vo;
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
@ -1,5 +1,6 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
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;
|
@ -1,5 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.export.bean;
|
||||
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;
|
@ -0,0 +1,139 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实体类 Tdoc-目录主表
|
||||
*
|
||||
* @author yss
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "biz_resps_tdoc", autoResultMap = true)
|
||||
@ApiModel(value = "Tdoc对象", description = "目录主表")
|
||||
public class Tdoc implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@ApiModelProperty(value = "")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "临时表id")
|
||||
private String tempId;
|
||||
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String tpId;
|
||||
|
||||
@ApiModelProperty(value = "标段id")
|
||||
private String sectionId;
|
||||
|
||||
@ApiModelProperty(value = "评审室id")
|
||||
private String assessRoomId;
|
||||
|
||||
@ApiModelProperty(value = "评审室轮次")
|
||||
private Integer assessRoomSort;
|
||||
|
||||
@ApiModelProperty(value = "轮次id")
|
||||
private String turnId;
|
||||
|
||||
@ApiModelProperty(value = "轮次")
|
||||
private Integer turnSort;
|
||||
|
||||
@ApiModelProperty(value = "报价或其他:0-报价 1-其他 空是全部")
|
||||
private Integer quoteOrOther;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "评审类型 1-预审 2-后审 ")
|
||||
private Integer roomType;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "应答开始时间")
|
||||
private LocalDateTime startDate;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "应答截止时间")
|
||||
private LocalDateTime endDate;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "解密截止时间")
|
||||
private LocalDateTime decryptEndDate;
|
||||
|
||||
@ApiModelProperty(value = "结束状态 0-否 1-是 只有谈判室内的有")
|
||||
private Integer endStatus;
|
||||
@ApiModelProperty(value = "版本号")
|
||||
private Integer version;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT,typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
@TableField(fill = FieldFill.UPDATE,typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
/**
|
||||
* 标段id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<String> sectionIdList;
|
||||
/**
|
||||
* 目录表
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<TdocCatalog> catalogList;
|
||||
/**
|
||||
* 是否重评 false-否,true-是
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Boolean reAssess;
|
||||
|
||||
@ApiModelProperty(value = "文档存储路径")
|
||||
private String filepath;
|
||||
|
||||
@ApiModelProperty(value = "文档名称")
|
||||
private String filename;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "投标人id")
|
||||
private String tendererId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "投标人id")
|
||||
private String commpanyId;
|
||||
@TableField(exist = false)
|
||||
private List<String> catalogIdList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Map<String,String> key_key;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "解密状态:true-全部已解密,false-仍有未解密,供应商开标页:true-可以解密 false-未设置解密截止时间或已过解密时间")
|
||||
private boolean decryptStatus;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.feign.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 实体类 TdocCatalog-目录表
|
||||
*
|
||||
* @author yss
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "biz_resps_tdoc_catalog", autoResultMap = true)
|
||||
public class TdocCatalog implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@ApiModelProperty(value = "")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "目录主表id")
|
||||
private String tdocId;
|
||||
|
||||
@ApiModelProperty(value = "父id")
|
||||
private String parentId;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "目录类型:0-商务、1-技术、2-服务、3-报价、4-其他、5-引用供应商信息库")
|
||||
private Integer catalogType;
|
||||
|
||||
@ApiModelProperty(value = "文件类型:0-普通、1-结构化、2-报价一览表")
|
||||
private Integer structureType;
|
||||
|
||||
@ApiModelProperty(value = "引用的编码")
|
||||
private String quoteCode;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
*树结构使用
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<TdocCatalog> children;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String path;
|
||||
|
||||
@ApiModelProperty(value = "评审室id")
|
||||
@TableField(exist = false)
|
||||
private String assessRoomId;
|
||||
|
||||
}
|
@ -3,7 +3,6 @@ package com.chinaunicom.mall.ebtp.extend.templatewarehouse.entity;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@ -26,45 +25,44 @@ import java.time.LocalDateTime;
|
||||
@TableName(value = "biz_bid_client_version", autoResultMap = true)
|
||||
public class BizBidClientVersion implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 文档中心-文档ID
|
||||
*/
|
||||
@ApiModelProperty(value = "文档中心-文档ID")
|
||||
private String documentCenterId;
|
||||
/**
|
||||
* 文档中心-文档ID
|
||||
*/
|
||||
@ApiModelProperty(value = "文档中心-文档ID")
|
||||
private String documentCenterId;
|
||||
|
||||
/**
|
||||
* ipass客户端版本号
|
||||
*/
|
||||
@ApiModelProperty(value = "ipass客户端版本号")
|
||||
private String ipassVersion;
|
||||
/**
|
||||
* ipass客户端版本号
|
||||
*/
|
||||
@ApiModelProperty(value = "ipass客户端版本号")
|
||||
private String ipassVersion;
|
||||
|
||||
@TableField(
|
||||
fill = FieldFill.INSERT,
|
||||
typeHandler = CustomLocalDateTimeTypeHandler.class
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty("客户端发布时间")
|
||||
private LocalDateTime publishDate;
|
||||
|
||||
/**
|
||||
* ipass客户端版本号
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
@TableField(
|
||||
fill = FieldFill.INSERT,
|
||||
typeHandler = CustomLocalDateTimeTypeHandler.class
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty("客户端发布时间")
|
||||
private LocalDateTime publishDate;
|
||||
|
||||
/**
|
||||
* ipass客户端版本号
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
|
@ -10,13 +10,14 @@ import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 对数据表 biz_bid_client_version 操作的 service
|
||||
* @author Auto create
|
||||
*
|
||||
* @author Auto create
|
||||
*/
|
||||
public interface BizBidClientVersionService extends IBaseService<BizBidClientVersion>{
|
||||
public interface BizBidClientVersionService extends IBaseService<BizBidClientVersion> {
|
||||
|
||||
/**
|
||||
* 通过版本号获得对应客户端文件id
|
||||
*
|
||||
* @param version
|
||||
* @return
|
||||
*/
|
||||
|
@ -163,6 +163,7 @@ mconfig:
|
||||
rsms: biz-service-ebtp-rsms #评审结构化服务
|
||||
tender: biz-service-ebtp-tender #投标服务
|
||||
documentcenter: core-service-document-center #文档中心
|
||||
usercenter: core-service-usercenter-public #用户中心
|
||||
|
||||
|
||||
document:
|
||||
|
@ -166,7 +166,7 @@ mconfig:
|
||||
rsms: biz-service-ebtp-rsms #评审结构化服务
|
||||
tender: biz-service-ebtp-tender #投标服务
|
||||
documentcenter: core-service-document-center #文档中心
|
||||
|
||||
usercenter: core-service-usercenter-public #用户中心
|
||||
document:
|
||||
clientHttpUrl: http://10.238.25.112:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749
|
||||
|
||||
|
@ -171,7 +171,7 @@ mconfig:
|
||||
rsms: biz-service-ebtp-rsms #评审结构化服务
|
||||
tender: biz-service-ebtp-tender #投标服务
|
||||
documentcenter: core-service-document-center #文档中心
|
||||
|
||||
usercenter: core-service-usercenter-public #用户中心
|
||||
document:
|
||||
clientHttpUrl: http://10.242.31.158:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749
|
||||
|
||||
|
@ -169,7 +169,7 @@ mconfig:
|
||||
rsms: biz-service-ebtp-rsms #评审结构化服务
|
||||
tender: biz-service-ebtp-tender #投标服务
|
||||
documentcenter: core-service-document-center #文档中心
|
||||
|
||||
usercenter: core-service-usercenter-public #用户中心
|
||||
document:
|
||||
clientHttpUrl: http://10.242.31.158:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: test
|
||||
active: uat
|
BIN
src/main/resources/model/初步评审.docx
Normal file
BIN
src/main/resources/model/初步评审.docx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user