@@ -43,7 +43,10 @@ | |||||
<groupId>org.springframework.session</groupId> | <groupId>org.springframework.session</groupId> | ||||
<artifactId>spring-session-data-redis</artifactId> | <artifactId>spring-session-data-redis</artifactId> | ||||
</dependency> | </dependency> | ||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-starter-freemarker</artifactId> | |||||
</dependency> | |||||
<!--spring boot 集成redis所需common-pool2--> | <!--spring boot 集成redis所需common-pool2--> | ||||
<dependency> | <dependency> | ||||
<groupId>org.apache.commons</groupId> | <groupId>org.apache.commons</groupId> | ||||
@@ -0,0 +1,119 @@ | |||||
package com.ningdatech.pmapi.common.util; | |||||
import com.ningdatech.pmapi.meeting.entity.dto.ExpertFeeExportDTO; | |||||
import freemarker.template.Configuration; | |||||
import freemarker.template.Template; | |||||
import freemarker.template.TemplateException; | |||||
import org.springframework.core.io.ByteArrayResource; | |||||
import javax.servlet.ServletOutputStream; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.*; | |||||
import java.math.BigDecimal; | |||||
import java.net.URLEncoder; | |||||
import java.nio.charset.StandardCharsets; | |||||
import java.nio.file.Files; | |||||
import java.util.ArrayList; | |||||
/** | |||||
* <p> | |||||
* WordUtil | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/24 | |||||
**/ | |||||
public class WordUtil { | |||||
private static final Configuration CONFIGURATION = new Configuration(Configuration.VERSION_2_3_31); | |||||
static { | |||||
CONFIGURATION.setDefaultEncoding("UTF-8"); | |||||
CONFIGURATION.setClassForTemplateLoading(WordUtil.class, "/template"); | |||||
} | |||||
/** | |||||
* 生成word文件 | |||||
* | |||||
* @param dataMap word中需要展示的动态数据,用map集合来保存 | |||||
* @param templateName word模板名称,例如:test.ftl | |||||
* @param filePath 文件生成的目标路径,例如:D:/wordFile/ | |||||
* @param fileName 生成的文件名称,例如:test.doc | |||||
*/ | |||||
public static void create(Object dataMap, String templateName, String filePath, String fileName) { | |||||
try { | |||||
//获取模板 | |||||
Template template = CONFIGURATION.getTemplate(templateName); | |||||
//输出文件 | |||||
File outFile = new File(filePath + File.separator + fileName); | |||||
//如果输出目标文件夹不存在,则创建 | |||||
if (!outFile.getParentFile().exists()) { | |||||
boolean ignore = outFile.getParentFile().mkdirs(); | |||||
} | |||||
//将模板和数据模型合并生成文件 | |||||
Writer out = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(outFile.toPath()), StandardCharsets.UTF_8)); | |||||
//生成文件 | |||||
template.process(dataMap, out); | |||||
//关闭流 | |||||
out.flush(); | |||||
out.close(); | |||||
} catch (Exception e) { | |||||
e.printStackTrace(); | |||||
} | |||||
} | |||||
public static void export(String fileName, Object data, HttpServletResponse response, String templateName) throws TemplateException, IOException { | |||||
Template template = CONFIGURATION.getTemplate(templateName); | |||||
StringWriter out = new StringWriter(); | |||||
Writer writer = new BufferedWriter(out, 4096); | |||||
template.process(data, writer); | |||||
InputStream fin = new ByteArrayResource(out.toString().getBytes(StandardCharsets.UTF_8)).getInputStream(); | |||||
ServletOutputStream outputStream; | |||||
response.setCharacterEncoding(StandardCharsets.UTF_8.displayName()); | |||||
response.setContentType("application/json"); | |||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8")); | |||||
outputStream = response.getOutputStream(); | |||||
// 缓冲区 | |||||
byte[] buffer = new byte[1024]; | |||||
int bytesToRead; | |||||
// 通过循环将读入的Word文件的内容输出到浏览器中 | |||||
while ((bytesToRead = fin.read(buffer)) != -1) { | |||||
outputStream.write(buffer, 0, bytesToRead); | |||||
} | |||||
if (outputStream != null) { | |||||
outputStream.close(); | |||||
} | |||||
fin.close(); | |||||
} | |||||
public static void main(String[] args) { | |||||
ExpertFeeExportDTO dto = new ExpertFeeExportDTO(); | |||||
dto.setMeetingAddress("杭州市滨江区海创还能到我当时防守打法十大发放"); | |||||
dto.setMeetingTime("2023-01-01 12:20"); | |||||
dto.setProjectName("阿萨法舒服舒服舒服舒服送达方"); | |||||
dto.setTableData(new ArrayList<>()); | |||||
for (int i = 0; i < 100; i++) { | |||||
ExpertFeeExportDTO.ExpertInfoDTO expert = new ExpertFeeExportDTO.ExpertInfoDTO(); | |||||
expert.setNo(i); | |||||
expert.setBank("中国建设银行"); | |||||
expert.setMobile("17839192616"); | |||||
expert.setBankNo("121212121212121212"); | |||||
expert.setCompany("宁大科技有限公司"); | |||||
expert.setFee(BigDecimal.valueOf(500)); | |||||
expert.setName("张三"); | |||||
expert.setSex("男"); | |||||
expert.setIdcard("121212121121"); | |||||
dto.getTableData().add(expert); | |||||
} | |||||
create(dto, "专家费.ftl", "/Users/wendy/Desktop/", "专家费.doc"); | |||||
} | |||||
} |
@@ -0,0 +1,44 @@ | |||||
package com.ningdatech.pmapi.meeting.controller; | |||||
import com.ningdatech.pmapi.meeting.manage.ExpertExportManage; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import lombok.AllArgsConstructor; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.PathVariable; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
/** | |||||
* <p> | |||||
* MeetingExportController | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/24 | |||||
**/ | |||||
@Api(tags = "会议信息导出") | |||||
@RestController | |||||
@AllArgsConstructor | |||||
@RequestMapping("/api/v1/meeting/export") | |||||
public class MeetingExportController { | |||||
private final ExpertExportManage expertExportManage; | |||||
@GetMapping("/feeForExpert/{meetingId}") | |||||
@ApiOperation("专家费用单导出") | |||||
public void exportFeeForExpert(@PathVariable Long meetingId, HttpServletResponse response) { | |||||
expertExportManage.exportFeeForExpert(meetingId, response); | |||||
} | |||||
@GetMapping("/expertReviewTable/{meetingId}") | |||||
@ApiOperation("专家评审单导出") | |||||
public void expertReviewTable(@PathVariable Long meetingId, HttpServletResponse response) { | |||||
expertExportManage.expertReviewTable(meetingId, response); | |||||
} | |||||
} |
@@ -0,0 +1,52 @@ | |||||
package com.ningdatech.pmapi.meeting.entity.dto; | |||||
import lombok.Data; | |||||
import java.math.BigDecimal; | |||||
import java.security.SecureRandom; | |||||
import java.util.List; | |||||
/** | |||||
* <p> | |||||
* ExpertFeeExportDTO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/24 | |||||
**/ | |||||
@Data | |||||
public class ExpertFeeExportDTO { | |||||
private String projectName; | |||||
private String meetingAddress; | |||||
private String meetingTime; | |||||
private List<ExpertInfoDTO> tableData; | |||||
@Data | |||||
public static class ExpertInfoDTO { | |||||
private Integer no; | |||||
private String name; | |||||
private String bank; | |||||
private String bankNo; | |||||
private String mobile; | |||||
private String sex; | |||||
private String company; | |||||
private BigDecimal fee; | |||||
private String idcard; | |||||
} | |||||
} |
@@ -0,0 +1,24 @@ | |||||
package com.ningdatech.pmapi.meeting.entity.dto; | |||||
import lombok.Data; | |||||
/** | |||||
* <p> | |||||
* ExpertReviewTableDTO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/24 | |||||
**/ | |||||
@Data | |||||
public class ExpertReviewTableDTO { | |||||
private String projectName; | |||||
private String meetingTime; | |||||
private String meetingAddress; | |||||
private String holdOrg; | |||||
} |
@@ -0,0 +1,132 @@ | |||||
package com.ningdatech.pmapi.meeting.manage; | |||||
import cn.hutool.core.lang.UUID; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.ningdatech.basic.exception.BizException; | |||||
import com.ningdatech.basic.util.CollUtils; | |||||
import com.ningdatech.pmapi.common.util.WordUtil; | |||||
import com.ningdatech.pmapi.expert.entity.ExpertUserFullInfo; | |||||
import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService; | |||||
import com.ningdatech.pmapi.meeting.entity.domain.Meeting; | |||||
import com.ningdatech.pmapi.meeting.entity.domain.MeetingExpert; | |||||
import com.ningdatech.pmapi.meeting.entity.domain.MeetingInnerProject; | |||||
import com.ningdatech.pmapi.meeting.entity.domain.MeetingOuterProject; | |||||
import com.ningdatech.pmapi.meeting.entity.dto.ExpertFeeExportDTO; | |||||
import com.ningdatech.pmapi.meeting.entity.dto.ExpertReviewTableDTO; | |||||
import com.ningdatech.pmapi.meeting.service.IMeetingExpertService; | |||||
import com.ningdatech.pmapi.meeting.service.IMeetingInnerProjectService; | |||||
import com.ningdatech.pmapi.meeting.service.IMeetingOuterProjectService; | |||||
import com.ningdatech.pmapi.meeting.service.IMeetingService; | |||||
import com.ningdatech.pmapi.projectlib.model.entity.Project; | |||||
import com.ningdatech.pmapi.projectlib.service.IProjectService; | |||||
import com.ningdatech.pmapi.sms.utils.DateUtil; | |||||
import freemarker.template.TemplateException; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
import java.math.BigDecimal; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
import java.util.concurrent.atomic.AtomicInteger; | |||||
/** | |||||
* <p> | |||||
* ExpertExportManage | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/24 | |||||
**/ | |||||
@Slf4j | |||||
@Component | |||||
@AllArgsConstructor | |||||
public class ExpertExportManage { | |||||
private final IMeetingService meetingService; | |||||
private final IMeetingExpertService meetingExpertService; | |||||
private final IMeetingInnerProjectService meetingInnerProjectService; | |||||
private final IMeetingOuterProjectService meetingOuterProjectService; | |||||
private final IExpertUserFullInfoService expertUserInfoService; | |||||
private final IProjectService projectService; | |||||
public void exportFeeForExpert(Long meetingId, HttpServletResponse response) { | |||||
final String template = "专家费.ftl"; | |||||
String fileName = UUID.randomUUID().toString(true) + ".doc"; | |||||
try { | |||||
Meeting meeting = meetingService.getById(meetingId); | |||||
ExpertFeeExportDTO data = new ExpertFeeExportDTO(); | |||||
data.setMeetingTime(DateUtil.localDateTimeFormat(meeting.getStartTime(), "yyyy-MM-dd HH:mm")); | |||||
data.setMeetingAddress(meeting.getMeetingAddress()); | |||||
List<String> projectNames = new ArrayList<>(); | |||||
if (meeting.getIsInnerProject()) { | |||||
List<MeetingInnerProject> inners = meetingInnerProjectService.listByMeetingId(meetingId); | |||||
List<Long> projectIds = CollUtils.fieldList(inners, MeetingInnerProject::getProjectId); | |||||
List<Project> projects = projectService.listByIds(projectIds); | |||||
projects.forEach(w -> projectNames.add(w.getProjectName())); | |||||
} else { | |||||
List<MeetingOuterProject> inners = meetingOuterProjectService.listByMeetingId(meetingId); | |||||
inners.forEach(w -> projectNames.add(w.getProjectName())); | |||||
} | |||||
data.setProjectName(StrUtil.join("、", projectNames)); | |||||
data.setTableData(new ArrayList<>()); | |||||
// 设置专家信息 | |||||
List<MeetingExpert> experts = meetingExpertService.listAgreedExperts(meetingId); | |||||
List<Long> expertIds = CollUtils.fieldList(experts, MeetingExpert::getExpertId); | |||||
List<ExpertUserFullInfo> expertInfos = expertUserInfoService.listByUserId(expertIds); | |||||
Map<Long, ExpertUserFullInfo> expertMap = CollUtils.listToMap(expertInfos, ExpertUserFullInfo::getUserId); | |||||
AtomicInteger integer = new AtomicInteger(0); | |||||
experts.forEach(w -> { | |||||
ExpertFeeExportDTO.ExpertInfoDTO expert = new ExpertFeeExportDTO.ExpertInfoDTO(); | |||||
expert.setNo(integer.incrementAndGet()); | |||||
expert.setFee(BigDecimal.valueOf(500)); | |||||
expert.setName(w.getExpertName()); | |||||
expert.setMobile(w.getMobile()); | |||||
ExpertUserFullInfo expertUser = expertMap.get(w.getExpertId()); | |||||
if (expertUser != null) { | |||||
expert.setIdcard(expertUser.getIdCard()); | |||||
expert.setBankNo(expertUser.getBankNo()); | |||||
expert.setBank(expertUser.getBank()); | |||||
expert.setCompany(expertUser.getCompany()); | |||||
expert.setSex(expertUser.getGender()); | |||||
} | |||||
data.getTableData().add(expert); | |||||
}); | |||||
WordUtil.export(fileName, data, response, template); | |||||
} catch (TemplateException | IOException e) { | |||||
log.error("专家费用单导出异常:{}", meetingId, e); | |||||
throw BizException.wrap("专家费用单导出失败"); | |||||
} | |||||
} | |||||
public void expertReviewTable(Long meetingId, HttpServletResponse response) { | |||||
final String template = "专家评审单.ftl"; | |||||
String fileName = UUID.randomUUID().toString(true) + ".doc"; | |||||
try { | |||||
Meeting meeting = meetingService.getById(meetingId); | |||||
ExpertReviewTableDTO data = new ExpertReviewTableDTO(); | |||||
data.setMeetingTime(DateUtil.localDateTimeFormat(meeting.getStartTime(), "yyyy年M月d日")); | |||||
data.setMeetingAddress(meeting.getMeetingAddress()); | |||||
data.setHoldOrg(meeting.getHoldOrg()); | |||||
List<String> projectNames = new ArrayList<>(); | |||||
if (meeting.getIsInnerProject()) { | |||||
List<MeetingInnerProject> inners = meetingInnerProjectService.listByMeetingId(meetingId); | |||||
List<Long> projectIds = CollUtils.fieldList(inners, MeetingInnerProject::getProjectId); | |||||
List<Project> projects = projectService.listByIds(projectIds); | |||||
projects.forEach(w -> projectNames.add(w.getProjectName())); | |||||
} else { | |||||
List<MeetingOuterProject> inners = meetingOuterProjectService.listByMeetingId(meetingId); | |||||
inners.forEach(w -> projectNames.add(w.getProjectName())); | |||||
} | |||||
data.setProjectName(StrUtil.join("、", projectNames)); | |||||
WordUtil.export(fileName, data, response, template); | |||||
} catch (TemplateException | IOException e) { | |||||
log.error("专家评审单导出异常:{}", meetingId, e); | |||||
throw BizException.wrap("专家评审单导出失败"); | |||||
} | |||||
} | |||||
} |
@@ -45,7 +45,8 @@ public class ProjectPreliminaryInspectionHandle extends AbstractProcessBusinessH | |||||
TO_BE_FINALLY_INSPECTED, | TO_BE_FINALLY_INSPECTED, | ||||
FINAL_ACCEPTANCE_IS_UNDER_REVIEW, | FINAL_ACCEPTANCE_IS_UNDER_REVIEW, | ||||
FINAL_ACCEPTANCE_REVIEW_FAILED, | FINAL_ACCEPTANCE_REVIEW_FAILED, | ||||
ARCHIVED | |||||
ARCHIVED, | |||||
ACCEPTED | |||||
); | ); | ||||
public ProjectPreliminaryInspectionHandle(INdProjectStatusChangeService projectStatusChangeService, IProjectService projectService){ | public ProjectPreliminaryInspectionHandle(INdProjectStatusChangeService projectStatusChangeService, IProjectService projectService){ | ||||
@@ -43,7 +43,8 @@ public class TenderPurchaseHandle extends AbstractProcessBusinessHandle { | |||||
TO_BE_FINALLY_INSPECTED, | TO_BE_FINALLY_INSPECTED, | ||||
FINAL_ACCEPTANCE_IS_UNDER_REVIEW, | FINAL_ACCEPTANCE_IS_UNDER_REVIEW, | ||||
FINAL_ACCEPTANCE_REVIEW_FAILED, | FINAL_ACCEPTANCE_REVIEW_FAILED, | ||||
ARCHIVED | |||||
ARCHIVED, | |||||
ACCEPTED | |||||
); | ); | ||||
public TenderPurchaseHandle(INdProjectStatusChangeService projectStatusChangeService, IProjectService projectService){ | public TenderPurchaseHandle(INdProjectStatusChangeService projectStatusChangeService, IProjectService projectService){ | ||||
@@ -1,6 +1,5 @@ | |||||
package com.ningdatech.pmapi.projectlib.model.entity; | package com.ningdatech.pmapi.projectlib.model.entity; | ||||
import com.alibaba.fastjson.annotation.JSONField; | |||||
import com.baomidou.mybatisplus.annotation.*; | import com.baomidou.mybatisplus.annotation.*; | ||||
import com.ningdatech.pmapi.common.compare.Compare; | import com.ningdatech.pmapi.common.compare.Compare; | ||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
@@ -9,7 +8,6 @@ import lombok.Data; | |||||
import java.io.Serializable; | import java.io.Serializable; | ||||
import java.math.BigDecimal; | import java.math.BigDecimal; | ||||
import java.time.LocalDate; | |||||
import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||
/** | /** | ||||
@@ -474,14 +472,17 @@ public class Project implements Serializable { | |||||
private Long prePlanProjectId; | private Long prePlanProjectId; | ||||
@ApiModelProperty("区县预审上级条线主管单位盖章审核意见") | @ApiModelProperty("区县预审上级条线主管单位盖章审核意见") | ||||
@Compare("区县预审上级条线主管单位盖章审核意见") | |||||
private String countrySealAuditOpinion; | |||||
private String countryHigherSealAuditOpinion; | |||||
@ApiModelProperty("区县预审上级条线主管单位盖章审核日期") | @ApiModelProperty("区县预审上级条线主管单位盖章审核日期") | ||||
@Compare("区县预审上级条线主管单位盖章审核日期") | |||||
private String countrySealAuditDate; | |||||
private String countryHigherSealAuditDate; | |||||
@ApiModelProperty("区县预审盖章上级条线主管单位印章编号") | @ApiModelProperty("区县预审盖章上级条线主管单位印章编号") | ||||
@Compare("区县预审盖章上级条线主管单位印章编号") | |||||
private String countrySealNo; | |||||
private String countryHigherSealNo; | |||||
@ApiModelProperty("区县预审本级主管单位盖章审核意见") | |||||
private String countrySealAuditOpinion; | |||||
@ApiModelProperty("区县预审本级主管单位盖章审核日期") | |||||
private String countrySealAuditDate; | |||||
} | } |
@@ -25,9 +25,9 @@ public interface TodoCenterConstant { | |||||
public static final String COUNTRY_TEMPLATE = "区县-预审申请单"; | public static final String COUNTRY_TEMPLATE = "区县-预审申请单"; | ||||
public static final String CONSTRUCT_TEMPLATE = "建设方案申请单"; | public static final String CONSTRUCT_TEMPLATE = "建设方案申请单"; | ||||
public static final String COUNTRY_SEAL_POS_PAGE = "7"; | |||||
public static final Float COUNTRY_SEAL_POS_X = 483F; | |||||
public static final Float COUNTRY_SEAL_POS_Y = 619F; | |||||
public static final String COUNTRY_SEAL_POS_PAGE = "6"; | |||||
public static final Float COUNTRY_SEAL_POS_X = 487F; | |||||
public static final Float COUNTRY_SEAL_POS_Y = 380F; | |||||
public static final Integer COUNTRY_SEAL_SIGN_TYPE = 1; | public static final Integer COUNTRY_SEAL_SIGN_TYPE = 1; | ||||
} | } | ||||
@@ -28,7 +28,6 @@ import com.ningdatech.pmapi.todocenter.model.vo.TodoNumVO; | |||||
import com.ningdatech.pmapi.user.security.auth.model.UserInfoDetails; | import com.ningdatech.pmapi.user.security.auth.model.UserInfoDetails; | ||||
import com.wflow.contants.HisProInsEndActId; | import com.wflow.contants.HisProInsEndActId; | ||||
import com.wflow.workflow.bean.dto.ReqAuditOpinionSaveDTO; | import com.wflow.workflow.bean.dto.ReqAuditOpinionSaveDTO; | ||||
import com.wflow.workflow.bean.process.ProcessComment; | |||||
import com.wflow.workflow.bean.process.enums.NodeTypeEnum; | import com.wflow.workflow.bean.process.enums.NodeTypeEnum; | ||||
import com.wflow.workflow.utils.ProcessTaskUtils; | import com.wflow.workflow.utils.ProcessTaskUtils; | ||||
import org.apache.commons.io.FileUtils; | import org.apache.commons.io.FileUtils; | ||||
@@ -1198,13 +1197,13 @@ public class TodoCenterManage { | |||||
// 以是否有上级主管单位的维度判断(有上级条线主管单位,才有可能需要盖两次章) | // 以是否有上级主管单位的维度判断(有上级条线主管单位,才有可能需要盖两次章) | ||||
if (CommonEnum.YES.getCode().equals(isHigherSuperOrg)) { | if (CommonEnum.YES.getCode().equals(isHigherSuperOrg)) { | ||||
// 盖章审核登录用户所在单位为上级条线主管单位,此时为区县预审盖章流程第一个章 | // 盖章审核登录用户所在单位为上级条线主管单位,此时为区县预审盖章流程第一个章 | ||||
// 如果项目关联的预审文件ID和上级条线审核意见不为空,说明已经提交过审核意见,直接返回文件ID | |||||
if (Boolean.TRUE.equals(getCountryNotSealedInfoVO(pretrialFileId, notSealedInfoVo, | |||||
project.getCountrySealAuditOpinion()))){ | |||||
return notSealedInfoVo; | |||||
} | |||||
if (empPosUnitCode.equals(higherSuperOrgCode)) { | if (empPosUnitCode.equals(higherSuperOrgCode)) { | ||||
// 有上级条线主管单位信息且登录用户所在单位是上级条线主管单位, | // 有上级条线主管单位信息且登录用户所在单位是上级条线主管单位, | ||||
// 如果项目关联的预审文件ID和上级条线审核意见不为空,说明已经提交过审核意见,直接返回文件ID | |||||
if (Boolean.TRUE.equals(getCountryHigherNotSealedInfoVO(pretrialFileId, notSealedInfoVo, | |||||
project.getCountryHigherSealAuditOpinion()))){ | |||||
return notSealedInfoVo; | |||||
} | |||||
countryParamsMap.put("higherOrgOpinion", auditOpinion); | countryParamsMap.put("higherOrgOpinion", auditOpinion); | ||||
countryParamsMap.put("higherOrgAuditDate", auditDate); | countryParamsMap.put("higherOrgAuditDate", auditDate); | ||||
// 获取上级条线主管单位印章编号 | // 获取上级条线主管单位印章编号 | ||||
@@ -1215,9 +1214,9 @@ public class TodoCenterManage { | |||||
sealNo = companySignature.getSealSn(); | sealNo = companySignature.getSealSn(); | ||||
} | } | ||||
// 保存区县预审上级条线主管单位盖章审核意见、审核日期和盖章编号 | // 保存区县预审上级条线主管单位盖章审核意见、审核日期和盖章编号 | ||||
project.setCountrySealNo(sealNo); | |||||
project.setCountrySealAuditOpinion(auditOpinion); | |||||
project.setCountrySealAuditDate(auditDate); | |||||
project.setCountryHigherSealNo(sealNo); | |||||
project.setCountryHigherSealAuditOpinion(auditOpinion); | |||||
project.setCountryHigherSealAuditDate(auditDate); | |||||
projectService.updateById(project); | projectService.updateById(project); | ||||
countryParamsMap.put("superOrgOpinion", null); | countryParamsMap.put("superOrgOpinion", null); | ||||
countryParamsMap.put("superOrgAuditDate", null); | countryParamsMap.put("superOrgAuditDate", null); | ||||
@@ -1230,6 +1229,15 @@ public class TodoCenterManage { | |||||
// 有上级条线主管单位信息且有本级主管单位信息 | // 有上级条线主管单位信息且有本级主管单位信息 | ||||
// 有主管单位信息且登录用户所在单位是主管单位 | // 有主管单位信息且登录用户所在单位是主管单位 | ||||
// 装配本级主管单位审核意见 | // 装配本级主管单位审核意见 | ||||
// 如果项目关联的预审文件ID和上级条线审核意见以及区县审核意见不为空,说明已经提交过审核意见,直接返回文件ID | |||||
if (Boolean.TRUE.equals(getCountryNotSealedInfoVO(pretrialFileId, notSealedInfoVo, | |||||
project.getCountryHigherSealAuditOpinion(),project.getCountrySealAuditOpinion()))){ | |||||
return notSealedInfoVo; | |||||
} | |||||
// 保存区县本级主管单位盖章审核意见、审核日期 | |||||
project.setCountrySealAuditOpinion(auditOpinion); | |||||
project.setCountrySealAuditDate(auditDate); | |||||
projectService.updateById(project); | |||||
checkEmpPosUnitCode(empPosUnitCode,auditOpinion,auditDate,superOrgCode,countryParamsMap); | checkEmpPosUnitCode(empPosUnitCode,auditOpinion,auditDate,superOrgCode,countryParamsMap); | ||||
// 装配上级条线主管单位意见,调用盖章接口, | // 装配上级条线主管单位意见,调用盖章接口, | ||||
// 重新生成上级条线主管单位盖章而本级主管单位未盖章的pdf文件 | // 重新生成上级条线主管单位盖章而本级主管单位未盖章的pdf文件 | ||||
@@ -1239,6 +1247,15 @@ public class TodoCenterManage { | |||||
}else if (CommonEnum.NO.getCode().equals(isSuperOrg)) { | }else if (CommonEnum.NO.getCode().equals(isSuperOrg)) { | ||||
// 有上级条线主管单位信息,没有本级主管单位信息 | // 有上级条线主管单位信息,没有本级主管单位信息 | ||||
// 没有选主管单位,默认为项目建设单位且登录用户所在单位为项目建设单位 | // 没有选主管单位,默认为项目建设单位且登录用户所在单位为项目建设单位 | ||||
// 如果项目关联的预审文件ID和上级条线审核意见以及区县审核意见不为空,说明已经提交过审核意见,直接返回文件ID | |||||
if (Boolean.TRUE.equals(getCountryNotSealedInfoVO(pretrialFileId, notSealedInfoVo, | |||||
project.getCountryHigherSealAuditOpinion(),project.getCountrySealAuditOpinion()))){ | |||||
return notSealedInfoVo; | |||||
} | |||||
// 保存区县本级主管单位盖章审核意见、审核日期 | |||||
project.setCountrySealAuditOpinion(auditOpinion); | |||||
project.setCountrySealAuditDate(auditDate); | |||||
projectService.updateById(project); | |||||
checkEmpPosUnitCode(empPosUnitCode,auditOpinion,auditDate,buildOrgCode,countryParamsMap); | checkEmpPosUnitCode(empPosUnitCode,auditOpinion,auditDate,buildOrgCode,countryParamsMap); | ||||
// 装配上级条线主管单位意见,调用盖章接口, | // 装配上级条线主管单位意见,调用盖章接口, | ||||
// 重新生成上级条线主管单位盖章而本级主管单位未盖章的pdf文件 | // 重新生成上级条线主管单位盖章而本级主管单位未盖章的pdf文件 | ||||
@@ -1316,7 +1333,7 @@ public class TodoCenterManage { | |||||
return false; | return false; | ||||
} | } | ||||
private Boolean getCountryNotSealedInfoVO(Long fileId,NotSealedInfoVO notSealedInfoVo,String auditOpinion) { | |||||
private Boolean getCountryHigherNotSealedInfoVO(Long fileId, NotSealedInfoVO notSealedInfoVo, String auditOpinion) { | |||||
if (Objects.nonNull(fileId) && StringUtils.isNotBlank(auditOpinion)){ | if (Objects.nonNull(fileId) && StringUtils.isNotBlank(auditOpinion)){ | ||||
notSealedInfoVo.setFileId(fileId); | notSealedInfoVo.setFileId(fileId); | ||||
notSealedInfoVo.setIsCommit(Boolean.TRUE); | notSealedInfoVo.setIsCommit(Boolean.TRUE); | ||||
@@ -1325,9 +1342,20 @@ public class TodoCenterManage { | |||||
return false; | return false; | ||||
} | } | ||||
private Boolean getCountryNotSealedInfoVO(Long fileId, NotSealedInfoVO notSealedInfoVo, String higherAuditOpinion, | |||||
String auditOpinion) { | |||||
if (Objects.nonNull(fileId) && StringUtils.isNotBlank(higherAuditOpinion) | |||||
&& StringUtils.isNotBlank(auditOpinion)){ | |||||
notSealedInfoVo.setFileId(fileId); | |||||
notSealedInfoVo.setIsCommit(Boolean.TRUE); | |||||
return true; | |||||
} | |||||
return false; | |||||
} | |||||
private SealInfoDTO getHigherSealInfoDTO(Project project, JSONObject countryParamsMap) { | private SealInfoDTO getHigherSealInfoDTO(Project project, JSONObject countryParamsMap) { | ||||
String countrySealAuditOpinion = project.getCountrySealAuditOpinion(); | |||||
String countrySealAuditDate = project.getCountrySealAuditDate(); | |||||
String countrySealAuditOpinion = project.getCountryHigherSealAuditOpinion(); | |||||
String countrySealAuditDate = project.getCountryHigherSealAuditDate(); | |||||
countryParamsMap.put("higherOrgOpinion", countrySealAuditOpinion); | countryParamsMap.put("higherOrgOpinion", countrySealAuditOpinion); | ||||
countryParamsMap.put("higherOrgAuditDate", countrySealAuditDate); | countryParamsMap.put("higherOrgAuditDate", countrySealAuditDate); | ||||
SealInfoDTO sealInfoDTO = new SealInfoDTO(); | SealInfoDTO sealInfoDTO = new SealInfoDTO(); | ||||
@@ -1336,7 +1364,7 @@ public class TodoCenterManage { | |||||
sealInfoDTO.setPosX(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_POS_X); | sealInfoDTO.setPosX(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_POS_X); | ||||
sealInfoDTO.setPosY(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_POS_Y); | sealInfoDTO.setPosY(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_POS_Y); | ||||
sealInfoDTO.setSignType(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_SIGN_TYPE); | sealInfoDTO.setSignType(TodoCenterConstant.SealTemplate.COUNTRY_SEAL_SIGN_TYPE); | ||||
sealInfoDTO.setSealSn(project.getCountrySealNo()); | |||||
sealInfoDTO.setSealSn(project.getCountryHigherSealNo()); | |||||
return sealInfoDTO; | return sealInfoDTO; | ||||
} | } | ||||
@@ -1534,7 +1562,6 @@ public class TodoCenterManage { | |||||
} | } | ||||
public Long getSealedPdf(SealInfoDTO req) { | public Long getSealedPdf(SealInfoDTO req) { | ||||
Long projectId = req.getProjectId(); | Long projectId = req.getProjectId(); | ||||
Long notSealedFileId = req.getNotSealedFileId(); | Long notSealedFileId = req.getNotSealedFileId(); | ||||
Project declaredProject = projectService.getById(projectId); | Project declaredProject = projectService.getById(projectId); | ||||
@@ -16,7 +16,5 @@ public class NotSealedInfoVO { | |||||
private Long fileId; | private Long fileId; | ||||
@ApiModelProperty("是否提交了审核意见") | @ApiModelProperty("是否提交了审核意见") | ||||
private Boolean isCommit; | |||||
private Boolean isCommit = Boolean.FALSE; | |||||
} | } |
@@ -0,0 +1,799 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |||||
<?mso-application progid="Word.Document"?> | |||||
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" | |||||
xmlns:w10="urn:schemas-microsoft-com:office:word" | |||||
xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" | |||||
xmlns:aml="http://schemas.microsoft.com/aml/2001/core" | |||||
xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" | |||||
xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" | |||||
w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve" | |||||
xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData"><o:DocumentProperties> | |||||
<o:Author>Data</o:Author> | |||||
<o:LastAuthor>潦草迷茫</o:LastAuthor> | |||||
<o:Created>2023-07-21T08:04:00Z</o:Created> | |||||
<o:LastSaved>2023-07-24T20:44:34Z</o:LastSaved> | |||||
<o:TotalTime>12960</o:TotalTime> | |||||
<o:Version>14</o:Version> | |||||
</o:DocumentProperties> | |||||
<o:CustomDocumentProperties> | |||||
<o:CRO dt:dt="string">wqlLaW5nc29mdCBQREYgdG8gV1BTIDkw</o:CRO> | |||||
<o:Created dt:dt="dateTime.tz">2023-07-24T17:28:04Z</o:Created> | |||||
<o:KSOProductBuildVer dt:dt="string">2052-5.5.1.7991</o:KSOProductBuildVer> | |||||
<o:ICV dt:dt="string">1DC93F630FB80A5D3272BE6472F2ECEB_43</o:ICV> | |||||
</o:CustomDocumentProperties> | |||||
<w:fonts> | |||||
<w:defaultFonts w:ascii="Arial" w:fareast="Arial" w:h-ansi="Arial" w:cs="Arial"/> | |||||
<w:font w:name="Times New Roman"> | |||||
<w:panose-1 w:val="02020603050405020304"/> | |||||
<w:charset w:val="00"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="宋体"> | |||||
<w:altName w:val="汉仪书宋二KW"/> | |||||
<w:panose-1 w:val="00000000000000000000"/> | |||||
<w:charset w:val="86"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Wingdings"> | |||||
<w:panose-1 w:val="05000000000000000000"/> | |||||
<w:charset w:val="02"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Arial"> | |||||
<w:panose-1 w:val="020B0604020202020204"/> | |||||
<w:charset w:val="01"/> | |||||
<w:family w:val="SWiss"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="黑体"> | |||||
<w:altName w:val="汉仪中黑KW"/> | |||||
<w:panose-1 w:val="02010609060101010101"/> | |||||
<w:charset w:val="86"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="800002BF" w:usb-1="38CF7CFA" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="00040001" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Courier New"> | |||||
<w:panose-1 w:val="02070309020205020404"/> | |||||
<w:charset w:val="01"/> | |||||
<w:family w:val="Modern"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Symbol"> | |||||
<w:altName w:val="Kingsoft Sign"/> | |||||
<w:panose-1 w:val="05050102010706020507"/> | |||||
<w:charset w:val="02"/> | |||||
<w:family w:val="Roman"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="80000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Calibri"> | |||||
<w:altName w:val="Helvetica Neue"/> | |||||
<w:panose-1 w:val="020F0502020204030204"/> | |||||
<w:charset w:val="00"/> | |||||
<w:family w:val="SWiss"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000001" w:usb-3="00000000" w:csb-0="0000019F" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Helvetica Neue"> | |||||
<w:panose-1 w:val="02000503000000020004"/> | |||||
<w:charset w:val="00"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="汉仪书宋二KW"> | |||||
<w:panose-1 w:val="00020600040101010101"/> | |||||
<w:charset w:val="86"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00160000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="微软雅黑"> | |||||
<w:altName w:val="汉仪旗黑"/> | |||||
<w:panose-1 w:val="00000000000000000000"/> | |||||
<w:charset w:val="00"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="汉仪旗黑"> | |||||
<w:panose-1 w:val="00020600040101010101"/> | |||||
<w:charset w:val="86"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00060000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="汉仪中黑KW"> | |||||
<w:panose-1 w:val="00020600040101010101"/> | |||||
<w:charset w:val="86"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00160000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
<w:font w:name="Kingsoft Sign"> | |||||
<w:panose-1 w:val="05050102010706020507"/> | |||||
<w:charset w:val="00"/> | |||||
<w:family w:val="Auto"/> | |||||
<w:pitch w:val="Default"/> | |||||
<w:sig w:usb-0="00000000" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000000" | |||||
w:csb-1="00000000"/> | |||||
</w:font> | |||||
</w:fonts> | |||||
<w:styles> | |||||
<w:latentStyles w:defLockedState="off" w:latentStyleCount="260"> | |||||
<w:lsdException w:name="Normal"/> | |||||
<w:lsdException w:name="heading 1"/> | |||||
<w:lsdException w:name="heading 2"/> | |||||
<w:lsdException w:name="heading 3"/> | |||||
<w:lsdException w:name="heading 4"/> | |||||
<w:lsdException w:name="heading 5"/> | |||||
<w:lsdException w:name="heading 6"/> | |||||
<w:lsdException w:name="heading 7"/> | |||||
<w:lsdException w:name="heading 8"/> | |||||
<w:lsdException w:name="heading 9"/> | |||||
<w:lsdException w:name="index 1"/> | |||||
<w:lsdException w:name="index 2"/> | |||||
<w:lsdException w:name="index 3"/> | |||||
<w:lsdException w:name="index 4"/> | |||||
<w:lsdException w:name="index 5"/> | |||||
<w:lsdException w:name="index 6"/> | |||||
<w:lsdException w:name="index 7"/> | |||||
<w:lsdException w:name="index 8"/> | |||||
<w:lsdException w:name="index 9"/> | |||||
<w:lsdException w:name="toc 1"/> | |||||
<w:lsdException w:name="toc 2"/> | |||||
<w:lsdException w:name="toc 3"/> | |||||
<w:lsdException w:name="toc 4"/> | |||||
<w:lsdException w:name="toc 5"/> | |||||
<w:lsdException w:name="toc 6"/> | |||||
<w:lsdException w:name="toc 7"/> | |||||
<w:lsdException w:name="toc 8"/> | |||||
<w:lsdException w:name="toc 9"/> | |||||
<w:lsdException w:name="Normal Indent"/> | |||||
<w:lsdException w:name="footnote text"/> | |||||
<w:lsdException w:name="annotation text"/> | |||||
<w:lsdException w:name="header"/> | |||||
<w:lsdException w:name="footer"/> | |||||
<w:lsdException w:name="index heading"/> | |||||
<w:lsdException w:name="caption"/> | |||||
<w:lsdException w:name="table of figures"/> | |||||
<w:lsdException w:name="envelope address"/> | |||||
<w:lsdException w:name="envelope return"/> | |||||
<w:lsdException w:name="footnote reference"/> | |||||
<w:lsdException w:name="annotation reference"/> | |||||
<w:lsdException w:name="line number"/> | |||||
<w:lsdException w:name="page number"/> | |||||
<w:lsdException w:name="endnote reference"/> | |||||
<w:lsdException w:name="endnote text"/> | |||||
<w:lsdException w:name="table of authorities"/> | |||||
<w:lsdException w:name="macro"/> | |||||
<w:lsdException w:name="toa heading"/> | |||||
<w:lsdException w:name="List"/> | |||||
<w:lsdException w:name="List Bullet"/> | |||||
<w:lsdException w:name="List Number"/> | |||||
<w:lsdException w:name="List 2"/> | |||||
<w:lsdException w:name="List 3"/> | |||||
<w:lsdException w:name="List 4"/> | |||||
<w:lsdException w:name="List 5"/> | |||||
<w:lsdException w:name="List Bullet 2"/> | |||||
<w:lsdException w:name="List Bullet 3"/> | |||||
<w:lsdException w:name="List Bullet 4"/> | |||||
<w:lsdException w:name="List Bullet 5"/> | |||||
<w:lsdException w:name="List Number 2"/> | |||||
<w:lsdException w:name="List Number 3"/> | |||||
<w:lsdException w:name="List Number 4"/> | |||||
<w:lsdException w:name="List Number 5"/> | |||||
<w:lsdException w:name="Title"/> | |||||
<w:lsdException w:name="Closing"/> | |||||
<w:lsdException w:name="Signature"/> | |||||
<w:lsdException w:name="Default Paragraph Font"/> | |||||
<w:lsdException w:name="Body Text"/> | |||||
<w:lsdException w:name="Body Text Indent"/> | |||||
<w:lsdException w:name="List Continue"/> | |||||
<w:lsdException w:name="List Continue 2"/> | |||||
<w:lsdException w:name="List Continue 3"/> | |||||
<w:lsdException w:name="List Continue 4"/> | |||||
<w:lsdException w:name="List Continue 5"/> | |||||
<w:lsdException w:name="Message Header"/> | |||||
<w:lsdException w:name="Subtitle"/> | |||||
<w:lsdException w:name="Salutation"/> | |||||
<w:lsdException w:name="Date"/> | |||||
<w:lsdException w:name="Body Text First Indent"/> | |||||
<w:lsdException w:name="Body Text First Indent 2"/> | |||||
<w:lsdException w:name="Note Heading"/> | |||||
<w:lsdException w:name="Body Text 2"/> | |||||
<w:lsdException w:name="Body Text 3"/> | |||||
<w:lsdException w:name="Body Text Indent 2"/> | |||||
<w:lsdException w:name="Body Text Indent 3"/> | |||||
<w:lsdException w:name="Block Text"/> | |||||
<w:lsdException w:name="Hyperlink"/> | |||||
<w:lsdException w:name="FollowedHyperlink"/> | |||||
<w:lsdException w:name="Strong"/> | |||||
<w:lsdException w:name="Emphasis"/> | |||||
<w:lsdException w:name="Document Map"/> | |||||
<w:lsdException w:name="Plain Text"/> | |||||
<w:lsdException w:name="E-mail Signature"/> | |||||
<w:lsdException w:name="Normal (Web)"/> | |||||
<w:lsdException w:name="HTML Acronym"/> | |||||
<w:lsdException w:name="HTML Address"/> | |||||
<w:lsdException w:name="HTML Cite"/> | |||||
<w:lsdException w:name="HTML Code"/> | |||||
<w:lsdException w:name="HTML Definition"/> | |||||
<w:lsdException w:name="HTML Keyboard"/> | |||||
<w:lsdException w:name="HTML Preformatted"/> | |||||
<w:lsdException w:name="HTML Sample"/> | |||||
<w:lsdException w:name="HTML Typewriter"/> | |||||
<w:lsdException w:name="HTML Variable"/> | |||||
<w:lsdException w:name="Normal Table"/> | |||||
<w:lsdException w:name="annotation subject"/> | |||||
<w:lsdException w:name="Table Simple 1"/> | |||||
<w:lsdException w:name="Table Simple 2"/> | |||||
<w:lsdException w:name="Table Simple 3"/> | |||||
<w:lsdException w:name="Table Classic 1"/> | |||||
<w:lsdException w:name="Table Classic 2"/> | |||||
<w:lsdException w:name="Table Classic 3"/> | |||||
<w:lsdException w:name="Table Classic 4"/> | |||||
<w:lsdException w:name="Table Colorful 1"/> | |||||
<w:lsdException w:name="Table Colorful 2"/> | |||||
<w:lsdException w:name="Table Colorful 3"/> | |||||
<w:lsdException w:name="Table Columns 1"/> | |||||
<w:lsdException w:name="Table Columns 2"/> | |||||
<w:lsdException w:name="Table Columns 3"/> | |||||
<w:lsdException w:name="Table Columns 4"/> | |||||
<w:lsdException w:name="Table Columns 5"/> | |||||
<w:lsdException w:name="Table Grid 1"/> | |||||
<w:lsdException w:name="Table Grid 2"/> | |||||
<w:lsdException w:name="Table Grid 3"/> | |||||
<w:lsdException w:name="Table Grid 4"/> | |||||
<w:lsdException w:name="Table Grid 5"/> | |||||
<w:lsdException w:name="Table Grid 6"/> | |||||
<w:lsdException w:name="Table Grid 7"/> | |||||
<w:lsdException w:name="Table Grid 8"/> | |||||
<w:lsdException w:name="Table List 1"/> | |||||
<w:lsdException w:name="Table List 2"/> | |||||
<w:lsdException w:name="Table List 3"/> | |||||
<w:lsdException w:name="Table List 4"/> | |||||
<w:lsdException w:name="Table List 5"/> | |||||
<w:lsdException w:name="Table List 6"/> | |||||
<w:lsdException w:name="Table List 7"/> | |||||
<w:lsdException w:name="Table List 8"/> | |||||
<w:lsdException w:name="Table 3D effects 1"/> | |||||
<w:lsdException w:name="Table 3D effects 2"/> | |||||
<w:lsdException w:name="Table 3D effects 3"/> | |||||
<w:lsdException w:name="Table Contemporary"/> | |||||
<w:lsdException w:name="Table Elegant"/> | |||||
<w:lsdException w:name="Table Professional"/> | |||||
<w:lsdException w:name="Table Subtle 1"/> | |||||
<w:lsdException w:name="Table Subtle 2"/> | |||||
<w:lsdException w:name="Table Web 1"/> | |||||
<w:lsdException w:name="Table Web 2"/> | |||||
<w:lsdException w:name="Table Web 3"/> | |||||
<w:lsdException w:name="Balloon Text"/> | |||||
<w:lsdException w:name="Table Grid"/> | |||||
<w:lsdException w:name="Table Theme"/> | |||||
<w:lsdException w:name="Light Shading"/> | |||||
<w:lsdException w:name="Light List"/> | |||||
<w:lsdException w:name="Light Grid"/> | |||||
<w:lsdException w:name="Medium Shading 1"/> | |||||
<w:lsdException w:name="Medium Shading 2"/> | |||||
<w:lsdException w:name="Medium List 1"/> | |||||
<w:lsdException w:name="Medium List 2"/> | |||||
<w:lsdException w:name="Medium Grid 1"/> | |||||
<w:lsdException w:name="Medium Grid 2"/> | |||||
<w:lsdException w:name="Medium Grid 3"/> | |||||
<w:lsdException w:name="Dark List"/> | |||||
<w:lsdException w:name="Colorful Shading"/> | |||||
<w:lsdException w:name="Colorful List"/> | |||||
<w:lsdException w:name="Colorful Grid"/> | |||||
<w:lsdException w:name="Light Shading Accent 1"/> | |||||
<w:lsdException w:name="Light List Accent 1"/> | |||||
<w:lsdException w:name="Light Grid Accent 1"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 1"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 1"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 1"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 1"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 1"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 1"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 1"/> | |||||
<w:lsdException w:name="Dark List Accent 1"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 1"/> | |||||
<w:lsdException w:name="Colorful List Accent 1"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 1"/> | |||||
<w:lsdException w:name="Light Shading Accent 2"/> | |||||
<w:lsdException w:name="Light List Accent 2"/> | |||||
<w:lsdException w:name="Light Grid Accent 2"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 2"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 2"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 2"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 2"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 2"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 2"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 2"/> | |||||
<w:lsdException w:name="Dark List Accent 2"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 2"/> | |||||
<w:lsdException w:name="Colorful List Accent 2"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 2"/> | |||||
<w:lsdException w:name="Light Shading Accent 3"/> | |||||
<w:lsdException w:name="Light List Accent 3"/> | |||||
<w:lsdException w:name="Light Grid Accent 3"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 3"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 3"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 3"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 3"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 3"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 3"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 3"/> | |||||
<w:lsdException w:name="Dark List Accent 3"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 3"/> | |||||
<w:lsdException w:name="Colorful List Accent 3"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 3"/> | |||||
<w:lsdException w:name="Light Shading Accent 4"/> | |||||
<w:lsdException w:name="Light List Accent 4"/> | |||||
<w:lsdException w:name="Light Grid Accent 4"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 4"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 4"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 4"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 4"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 4"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 4"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 4"/> | |||||
<w:lsdException w:name="Dark List Accent 4"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 4"/> | |||||
<w:lsdException w:name="Colorful List Accent 4"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 4"/> | |||||
<w:lsdException w:name="Light Shading Accent 5"/> | |||||
<w:lsdException w:name="Light List Accent 5"/> | |||||
<w:lsdException w:name="Light Grid Accent 5"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 5"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 5"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 5"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 5"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 5"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 5"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 5"/> | |||||
<w:lsdException w:name="Dark List Accent 5"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 5"/> | |||||
<w:lsdException w:name="Colorful List Accent 5"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 5"/> | |||||
<w:lsdException w:name="Light Shading Accent 6"/> | |||||
<w:lsdException w:name="Light List Accent 6"/> | |||||
<w:lsdException w:name="Light Grid Accent 6"/> | |||||
<w:lsdException w:name="Medium Shading 1 Accent 6"/> | |||||
<w:lsdException w:name="Medium Shading 2 Accent 6"/> | |||||
<w:lsdException w:name="Medium List 1 Accent 6"/> | |||||
<w:lsdException w:name="Medium List 2 Accent 6"/> | |||||
<w:lsdException w:name="Medium Grid 1 Accent 6"/> | |||||
<w:lsdException w:name="Medium Grid 2 Accent 6"/> | |||||
<w:lsdException w:name="Medium Grid 3 Accent 6"/> | |||||
<w:lsdException w:name="Dark List Accent 6"/> | |||||
<w:lsdException w:name="Colorful Shading Accent 6"/> | |||||
<w:lsdException w:name="Colorful List Accent 6"/> | |||||
<w:lsdException w:name="Colorful Grid Accent 6"/> | |||||
</w:latentStyles> | |||||
<w:style w:type="paragraph" w:styleId="a1" w:default="on"> | |||||
<w:name w:val="Normal"/> | |||||
<w:semiHidden/> | |||||
<w:pPr> | |||||
<w:kinsoku w:val="off"/> | |||||
<w:autoSpaceDE w:val="off"/> | |||||
<w:autoSpaceDN w:val="off"/> | |||||
<w:adjustRightInd w:val="off"/> | |||||
<w:snapToGrid w:val="off"/> | |||||
<w:spacing w:line="240" w:line-rule="auto"/> | |||||
<w:jc w:val="left"/> | |||||
<w:textAlignment w:val="baseline"/> | |||||
</w:pPr> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:fareast="Arial" w:cs="Arial" w:hint="default"/> | |||||
<w:snapToGrid w:val="off"/> | |||||
<w:color w:val="000000"/> | |||||
<w:kern w:val="0"/> | |||||
<w:sz w:val="21"/> | |||||
<w:sz-cs w:val="21"/> | |||||
<w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/> | |||||
</w:rPr> | |||||
</w:style> | |||||
<w:style w:type="character" w:styleId="a4" w:default="on"> | |||||
<w:name w:val="Default Paragraph Font"/> | |||||
<w:semiHidden/> | |||||
</w:style> | |||||
<w:style w:type="table" w:styleId="a3" w:default="on"> | |||||
<w:name w:val="Normal Table"/> | |||||
<w:semiHidden/> | |||||
<w:tblPr> | |||||
<w:tblCellMar> | |||||
<w:top w:w="0" w:type="dxa"/> | |||||
<w:left w:w="108" w:type="dxa"/> | |||||
<w:bottom w:w="0" w:type="dxa"/> | |||||
<w:right w:w="108" w:type="dxa"/> | |||||
</w:tblCellMar> | |||||
</w:tblPr> | |||||
</w:style> | |||||
<w:style w:type="paragraph" w:styleId="a2"> | |||||
<w:name w:val="Body Text"/> | |||||
<w:basedOn w:val="a1"/> | |||||
<w:semiHidden/> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:fareast="Arial" w:cs="Arial" w:hint="default"/> | |||||
<w:sz w:val="21"/> | |||||
<w:sz-cs w:val="21"/> | |||||
<w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/> | |||||
</w:rPr> | |||||
</w:style> | |||||
<w:style w:type="table" w:styleId="a5"> | |||||
<w:name w:val="Table Normal"/> | |||||
<w:semiHidden/> | |||||
<w:tblPr> | |||||
<w:tblCellMar> | |||||
<w:top w:w="0" w:type="dxa"/> | |||||
<w:left w:w="0" w:type="dxa"/> | |||||
<w:bottom w:w="0" w:type="dxa"/> | |||||
<w:right w:w="0" w:type="dxa"/> | |||||
</w:tblCellMar> | |||||
</w:tblPr> | |||||
</w:style> | |||||
</w:styles> | |||||
<w:bgPict> | |||||
<w:background/> | |||||
<v:background id="_x0000_s1025"> | |||||
<v:fill on="f" focussize="0,0"/> | |||||
</v:background> | |||||
</w:bgPict> | |||||
<w:docPr> | |||||
<w:view w:val="print"/> | |||||
<w:zoom w:percent="170"/> | |||||
<w:characterSpacingControl w:val="DontCompress"/> | |||||
<w:documentProtection w:enforcement="off"/> | |||||
<w:displayBackgroundShape w:val="1"/> | |||||
<w:punctuationKerning/> | |||||
<w:doNotEmbedSystemFonts/> | |||||
<w:bordersDontSurroundHeader/> | |||||
<w:bordersDontSurroundFooter/> | |||||
<w:defaultTabStop w:val="500"/> | |||||
<w:displayHorizontalDrawingGridEvery w:val="1"/> | |||||
<w:displayVerticalDrawingGridEvery w:val="1"/> | |||||
<w:compat> | |||||
<w:ulTrailSpace/> | |||||
<w:useFELayout/> | |||||
<w:spaceForUL/> | |||||
<w:wrapTextWithPunct/> | |||||
<w:breakWrappedTables/> | |||||
<w:useAsianBreakRules/> | |||||
<w:dontGrowAutofit/> | |||||
<w:useFELayout/> | |||||
</w:compat> | |||||
</w:docPr> | |||||
<w:body> | |||||
<wx:sect> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="279" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="279" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:spacing w:before="193" w:line="176" w:line-rule="auto"/> | |||||
<w:jc w:val="center"/> | |||||
<w:outlineLvl w:val="0"/> | |||||
<w:rPr> | |||||
<w:rFonts w:fareast="微软雅黑" w:hint="default"/> | |||||
<w:lang w:val="EN-US"/> | |||||
</w:rPr> | |||||
</w:pPr> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:spacing w:val="-4"/> | |||||
<w:sz w:val="45"/> | |||||
<w:sz-cs w:val="45"/> | |||||
</w:rPr> | |||||
<w:t>${projectName}</w:t> | |||||
</w:r> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="fareast"/> | |||||
<w:spacing w:val="-4"/> | |||||
<w:sz w:val="45"/> | |||||
<w:sz-cs w:val="45"/> | |||||
<w:lang w:val="EN-US"/> | |||||
</w:rPr> | |||||
<w:t>专家评审意见</w:t> | |||||
</w:r> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="257" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="257" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="257" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:ind w:first-line="500" w:first-line-chars="0"/> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="fareast"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
</w:pPr> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="fareast"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
<w:t>${meetingTime},${holdOrg}组织专家在${meetingAddress}对${projectName}进行评审。专家组认真听取了项目业主方、建设方的情况汇报,审阅了项目材料,实地查看了设备及平台演示,专家组织质询、讨论后提出以下意见: | |||||
</w:t> | |||||
</w:r> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="244" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:pStyle w:val="a2"/> | |||||
<w:spacing w:line="245" w:line-rule="auto"/> | |||||
</w:pPr> | |||||
</w:p> | |||||
<w:p> | |||||
<w:pPr> | |||||
<w:spacing w:before="129" w:line="175" w:line-rule="auto"/> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
</w:pPr> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:spacing w:val="-8"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
<w:t>专家组</w:t> | |||||
</w:r> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:spacing w:val="-61"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
<w:t></w:t> | |||||
</w:r> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:spacing w:val="-8"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
<w:t>(签名</w:t> | |||||
</w:r> | |||||
<w:r> | |||||
<w:rPr> | |||||
<w:rFonts w:ascii="微软雅黑" w:h-ansi="微软雅黑" w:fareast="微软雅黑" w:cs="微软雅黑" | |||||
w:hint="default"/> | |||||
<w:spacing w:val="-14"/> | |||||
<w:sz w:val="30"/> | |||||
<w:sz-cs w:val="30"/> | |||||
</w:rPr> | |||||
<w:t>):</w:t> | |||||
</w:r> | |||||
</w:p> | |||||
<w:sectPr> | |||||
<w:pgSz w:w="11900" w:h="16839"/> | |||||
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="0" w:footer="0" | |||||
w:gutter="0"/> | |||||
<w:cols w:space="720"/> | |||||
</w:sectPr> | |||||
</wx:sect> | |||||
</w:body></w:wordDocument> |
@@ -37,6 +37,7 @@ | |||||
color: #999999; | color: #999999; | ||||
text-align: left; | text-align: left; | ||||
margin-bottom: 8px; | margin-bottom: 8px; | ||||
margin-top: 0; | |||||
} | } | ||||
.projectId > .time { | .projectId > .time { | ||||
float: right; | float: right; | ||||
@@ -94,18 +95,12 @@ | |||||
.h-100{ | .h-100{ | ||||
height: 100px; | height: 100px; | ||||
} | } | ||||
.h-800{ | |||||
height: 800px; | |||||
} | |||||
.h-1460{ | |||||
height: 1460px; | |||||
.h-400{ | |||||
height: 400px; | |||||
} | } | ||||
.h-1200{ | .h-1200{ | ||||
height: 1200px; | height: 1200px; | ||||
} | } | ||||
.h-400{ | |||||
height: 400px; | |||||
} | |||||
</style> | </style> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
@@ -9,7 +9,7 @@ | |||||
<title>Document</title> | <title>Document</title> | ||||
<style> | <style> | ||||
html, | html, | ||||
body { | |||||
body,p { | |||||
padding: 0; | padding: 0; | ||||
margin: 0; | margin: 0; | ||||
font-family: SimSun; | font-family: SimSun; | ||||
@@ -37,6 +37,7 @@ | |||||
color: #999999; | color: #999999; | ||||
text-align: left; | text-align: left; | ||||
margin-bottom: 8px; | margin-bottom: 8px; | ||||
margin-top: 0; | |||||
} | } | ||||
.projectId > .time { | .projectId > .time { | ||||
float: right; | float: right; | ||||
@@ -37,6 +37,7 @@ | |||||
color: #999999; | color: #999999; | ||||
text-align: left; | text-align: left; | ||||
margin-bottom: 8px; | margin-bottom: 8px; | ||||
margin-top: 0; | |||||
} | } | ||||
.projectId > .time { | .projectId > .time { | ||||
float: right; | float: right; | ||||