提交 4a40e206 authored 作者: 马晨俊's avatar 马晨俊

Merge branch 'lj-project' of git.yfzx.zjtys.com.cn:912-system/monitor/inspect into lj-project

......@@ -151,19 +151,7 @@ public class EvaluationController {
return ServerResponse.ok(new PageResult<>(pageList.getTotalElements(), pageList.getContent()));
}
/**
* 获取评估报告内的输出,转换为map结构
*
* @param id id
* @return wps
*/
@GetMapping(value = "/map/{id}")
@ApiOperation("获取评估报告内的map ")
public ServerResponse<Map<String, String>> findAll(@PathVariable String id) {
Evaluation evaluation = evaluationService.findById(id);
Map<String, String> wps = WpsUtil.createWps(evaluation);
return ServerResponse.ok(wps);
}
@ApiOperation("下载报告")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value = "报告主键"),
......@@ -177,37 +165,32 @@ public class EvaluationController {
public ServerResponse download(@RequestBody Download download){
// return ResponseEntity.ok("http://120.55.57.35:12345/static/uplaods/a36b17568d4e466dacf9f088a29b4dbc.docx");
// return ResponseEntity.ok("http://120.55.57.35:8078/static/defult.docx");
String w=null;
Evaluation evaluation = evaluationService.findById(download.getId());
Map<String, String> wps = WpsUtil.createWps(evaluation);
wps.put("danjia",download.getDanjia());
wps.put("yusuan",download.getYusuan());
wps.put("gong",download.getGong());
wps.put("ewai",download.getEwai());
Double aDouble = Double.valueOf(download.getDanjia());
BigDecimal b1 = BigDecimal.valueOf(aDouble);
BigDecimal b2 = BigDecimal.valueOf(1.5);
double v = b1.subtract(b2).doubleValue();
String format = new DecimalFormat("0.00").format(v);
wps.put("rgcz",format);
if(download.getAgree().equals("1")) {
wps.put("agree", "同意");
}else{
wps.put("agree", "不同意");
}
Set<String> strings = wps.keySet();
for (String str : strings) {
String s = wps.get(str);
if(!StringUtils.isEmpty(s)&&s.equals("-1")){
wps.put(str,"0");
}else if(StringUtils.isEmpty(s)){
wps.put(str,"无");
System.out.println("downloadid:"+download.getId());
System.out.println("evaluation:"+evaluation);
if(evaluation!=null) {
Map<String, Object> wps = WpsUtil.createWps(evaluation);
wps.put("danjia", download.getDanjia());
wps.put("yusuan", download.getYusuan());
wps.put("gong", download.getGong());
wps.put("ewai", download.getEwai());
Double aDouble = Double.valueOf(download.getDanjia());
BigDecimal b1 = BigDecimal.valueOf(aDouble);
BigDecimal b2 = BigDecimal.valueOf(1.5);
double v = b1.subtract(b2).doubleValue();
String format = new DecimalFormat("0.00").format(v);
wps.put("rgcz", format);
if (download.getAgree().equals("1")) {
wps.put("agree", "同意");
} else {
wps.put("agree", "不同意");
}
w = FreeMakerUtils.parseTpl("reportTemplate", wps);
}
String w = FreeMakerUtils.parseTpl("reportTemplate", wps);
if(StringUtils.isEmpty(w)){
return ServerResponse.error(500);
if(org.apache.commons.lang3.StringUtils.isNotEmpty(w)){
return ServerResponse.ok(w);
}
return ServerResponse.ok(w);
return ServerResponse.error(500);
}
}
......@@ -102,7 +102,6 @@ public class DocumentWordUtil {
String s3 = tableTile(technologyName, stra);
String s4 = Matcher.quoteReplacement(s3);
StringBuilder sb=new StringBuilder();
sb.append(s4);
for (int j = 0; j < tables.size(); j++) {
String gettb = gettb(tables.get(j));
String s1 = Matcher.quoteReplacement(gettb);
......
......@@ -24,8 +24,7 @@ public class FreeMakerUtils {
return null;
}
}
public static String createWord(Template template, Map<String, List<TechnologyContent>> dataMap){
try {
public static String createWord(Template template, Map<String, List<TechnologyContent>> dataMap)throws Exception{
//文件路径
String filePath= "/opt/monitor/inspect/static/ins/doc/";
......@@ -49,10 +48,6 @@ public class FreeMakerUtils {
out.flush();
out.close();
return fileName;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
public static void writeFile(String file, String conent) {
......
......@@ -6,7 +6,9 @@ import com.zjty.inspect.enums.*;
import io.netty.util.internal.StringUtil;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -17,11 +19,11 @@ import java.util.*;
public class WpsUtil {
public static Map<String, String> createWps(Evaluation evaluation) {
public static Map<String, Object> createWps(Evaluation evaluation) {
HashMap<String, List<TechnologyContent>> teMap = new HashMap<>();
Reform reform = JSON.parseObject(evaluation.getInEva(), Reform.class);
AssessmentReport assessmentReport = JSON.parseObject(evaluation.getOutEva(), AssessmentReport.class);
HashMap<String, String> keyValue = new HashMap<>();
Map keyValue = new HashMap<>();
keyValue.put("username", reform.getUsername());
keyValue.put("mode", getMode(reform.getMode()));
keyValue.put("projectName", reform.getProjectName());
......@@ -180,46 +182,35 @@ public class WpsUtil {
TechnologyList technologyList = assessmentReport.getTechnologyList();
keyValue.put("technologyDes", technologyList.getDes());
List<TechnologyReport> technologyReports = technologyList.getTechnologyReports();
for (int i = 0; i < technologyList.getTechnologyReports().size(); i++) {
int i2 = i + 1;
keyValue.put("technology" + i2, technologyReports.get(i).getTechnology());
for (int i1 = 0; i1 < technologyReports.get(i).getTechnologyContents().size(); i1++) {
int i3 = i1 + 1;
TechnologyContent technologyContent = technologyReports.get(i).getTechnologyContents().get(i1);
keyValue.put("technologyContentLocal" + i2 + "-" + i3, technologyContent.getLocal());
keyValue.put("technologyContentKeyWord" + i2 + "-" + i3, technologyContent.getKeyWord());
keyValue.put("technologyContentFile" + i2 + "-" + i3, technologyContent.getFile());
keyValue.put("technologyContentPosition" + i2 + "-" + i3, technologyContent.getPosition());
keyValue.put("technologyContentStrategy" + i2 + "-" + i3, getMode(technologyContent.getStrategy()));
}
}
// for (int i = 0; i < technologyList.getTechnologyReports().size(); i++) {
// int i2 = i + 1;
// keyValue.put("technology" + i2, technologyReports.get(i).getTechnology());
// for (int i1 = 0; i1 < technologyReports.get(i).getTechnologyContents().size(); i1++) {
// int i3 = i1 + 1;
// TechnologyContent technologyContent = technologyReports.get(i).getTechnologyContents().get(i1);
// keyValue.put("technologyContentLocal" + i2 + "-" + i3, technologyContent.getLocal());
// keyValue.put("technologyContentKeyWord" + i2 + "-" + i3, technologyContent.getKeyWord());
// keyValue.put("technologyContentFile" + i2 + "-" + i3, technologyContent.getFile());
// keyValue.put("technologyContentPosition" + i2 + "-" + i3, technologyContent.getPosition());
// keyValue.put("technologyContentStrategy" + i2 + "-" + i3, getMode(technologyContent.getStrategy()));
// }
// }
HashMap<String, List<TechnologyContent>> yhMap = new HashMap<>();
HashMap<String, List<TechnologyContent>> nsMap = new HashMap<>();
HashMap<String, List<TechnologyContent>> wzMap = new HashMap<>();
for (TechnologyReport technologyReport : technologyReports) {
teMap.put(technologyReport.getTechnology(), technologyReport.getTechnologyContents());
}
Set<String> strings = teMap.keySet();
StringBuilder youhua = new StringBuilder();
StringBuilder xiugai = new StringBuilder();
StringBuilder weizhi = new StringBuilder();
DocumentWordUtil documentWordUtil=new DocumentWordUtil();
for (String string : strings) {
if (string.contains("优化")) {
List<TechnologyContent> technologyContents = teMap.get(string);
String str = documentWordUtil.getTableString(technologyContents, string, "优化");
youhua.append(str);
} else if (string.contains("不支持")) {
List<TechnologyContent> technologyContents = teMap.get(string);
String str = documentWordUtil.getTableString(technologyContents, string, "重新开发");
xiugai.append(str);
} else if (string.contains("未知")) {
List<TechnologyContent> technologyContents = teMap.get(string);
String str = documentWordUtil.getTableString(technologyContents, string, "验证修改或重新开发");
weizhi.append(str);
if(technologyReport.getTechnology().contains("优化")){
yhMap.put(technologyReport.getTechnology(), technologyReport.getTechnologyContents());
}else if(technologyReport.getTechnology().contains("不支持")) {
nsMap.put(technologyReport.getTechnology(), technologyReport.getTechnologyContents());
}else if(technologyReport.getTechnology().contains("未知")){
wzMap.put(technologyReport.getTechnology(), technologyReport.getTechnologyContents());
}
}
keyValue.put("teyouhua", youhua.toString());
keyValue.put("texiugai", xiugai.toString());
keyValue.put("teweizhi", weizhi.toString());
keyValue.put("yh",yhMap);
keyValue.put("ns",nsMap);
keyValue.put("wz",wzMap);
Workload workload = assessmentReport.getWorkload();
keyValue.put("workloadDes", workload.getDes());
keyValue.put("workloadCost", String.valueOf(workload.getCost()));
......@@ -236,10 +227,17 @@ public class WpsUtil {
Basis deploy = workload.getDeploy();
keyValue.put("workloadDeployVolume", String.valueOf(deploy.getDevelopmentVolume()));
keyValue.put("workloadDeployCorrectionFactor", String.valueOf(deploy.getCorrectionFactor()));
double correctionFactor = development.getCorrectionFactor();
double correctionFactor1 = test.getCorrectionFactor();
double correctionFactor2 = deploy.getCorrectionFactor();
BigDecimal bigDecimal = BigDecimal.valueOf(correctionFactor);
BigDecimal bigDecima2 = BigDecimal.valueOf(correctionFactor1);
BigDecimal bigDecima3 = BigDecimal.valueOf(correctionFactor2);
double v = bigDecimal.add(bigDecima2).add(bigDecima3).doubleValue();
Basis total = workload.getTotal();
String correction = new DecimalFormat("0.000").format(v);
keyValue.put("workloadTotalVolume", String.valueOf(total.getDevelopmentVolume()));
keyValue.put("workloadTotalCorrectionFactor", String.valueOf(total.getCorrectionFactor()));
keyValue.put("workloadTotalCorrectionFactor", correction);
DifficultyAssessment difficultyAssessment = assessmentReport.getDifficultyAssessment();
keyValue.put("difficultyAssessmentDes", difficultyAssessment.getDes());
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -15081,51 +15081,277 @@
</w:r>
<aml:annotation aml:id="18" w:type="Word.Bookmark.End"/>
</w:p>
<#list yh?keys as key>
<w:p>
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="5422"/>
</w:tabs>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${teyouhua!''}</w:t>
<w:t>关键技术:</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="4"/>
<w:listPr>
<w:ilvl w:val="2"/>
<w:ilfo w:val="1"/>
</w:listPr>
</w:pPr>
<aml:annotation aml:id="19" w:type="Word.Bookmark.Start" w:name="_Toc37973774"/>
<w:r>
<w:t>必须</w:t>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${key}</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>替换的项</w:t>
<w:tab/>
</w:r>
<aml:annotation aml:id="19" w:type="Word.Bookmark.End"/>
</w:p>
<w:p>
<w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
<w:rFonts w:hint="fareast"/>
</w:rPr>
</w:pPr>
<aml:annotation aml:id="20" w:type="Word.Bookmark.Start" w:name="_Toc37973775"/>
<w:t>替换策略:</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${texiugai!''}</w:t>
<w:t>优化</w:t>
</w:r>
</w:p>
<w:tbl>
<w:tblPr>
<w:tblStyle w:val="a12"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLayout w:type="Fixed"/>
<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:tblGrid>
<w:gridCol w:w="1036"/>
<w:gridCol w:w="6615"/>
<w:gridCol w:w="871"/>
</w:tblGrid>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr/>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>关键字</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>所在文件</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>位置</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<#assign technos = yh[key]>
<#list technos as tec>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr>
<w:trHeight w:val="756" w:h-rule="atLeast"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.keyWord}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.file}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.position}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</#list>
</w:tbl>
</#list>
<w:p>
<w:pPr>
<w:pStyle w:val="4"/>
......@@ -15134,30 +15360,541 @@
<w:ilfo w:val="1"/>
</w:listPr>
</w:pPr>
<aml:annotation aml:id="19" w:type="Word.Bookmark.Start" w:name="_Toc37973774"/>
<w:r>
<w:t>必须</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>需要验证修改的项</w:t>
<w:t>替换的项</w:t>
</w:r>
<aml:annotation aml:id="20" w:type="Word.Bookmark.End"/>
<aml:annotation aml:id="19" w:type="Word.Bookmark.End"/>
</w:p>
<#list ns?keys as nskey>
<w:p>
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="5422"/>
</w:tabs>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>关键技术:${nskey}</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:tab/>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>替换策略:重新开发</w:t>
</w:r>
</w:p>
<w:tbl>
<w:tblPr>
<w:tblStyle w:val="a12"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLayout w:type="Fixed"/>
<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:tblGrid>
<w:gridCol w:w="1036"/>
<w:gridCol w:w="6615"/>
<w:gridCol w:w="871"/>
</w:tblGrid>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr/>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>关键字</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>所在文件</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>位置</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<#assign technos = ns[nskey]>
<#list technos as tec>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr>
<w:trHeight w:val="756" w:h-rule="atLeast"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.keyWord}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.file}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.position}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</#list>
</w:tbl>
</#list>
<w:p>
<w:pPr>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:pStyle w:val="4"/>
<w:listPr>
<w:ilvl w:val="2"/>
<w:ilfo w:val="1"/>
</w:listPr>
</w:pPr>
<aml:annotation aml:id="21" w:type="Word.Bookmark.Start" w:name="_Toc37973776"/>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${teweizhi!''}</w:t>
<w:t>需要验证修改的项</w:t>
</w:r>
<aml:annotation aml:id="20" w:type="Word.Bookmark.End"/>
</w:p>
<#list wz?keys as wzkey>
<w:p>
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="4311"/>
</w:tabs>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>关键技术:${wzkey}</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:tab/>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
</w:rPr>
<w:t>替换策略:验证修改或重新开发</w:t>
</w:r>
</w:p>
<w:tbl>
<w:tblPr>
<w:tblStyle w:val="a12"/>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLayout w:type="Fixed"/>
<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:tblGrid>
<w:gridCol w:w="1036"/>
<w:gridCol w:w="6615"/>
<w:gridCol w:w="871"/>
</w:tblGrid>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr/>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>关键字</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>所在文件</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>位置</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<#assign technos = wz[wzkey]>
<#list technos as tec>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<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:tblPrEx>
<w:trPr>
<w:trHeight w:val="756" w:h-rule="atLeast"/>
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="1036" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.keyWord}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="6615" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.file}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="871" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:spacing w:line="240" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:fareast="仿宋" w:hint="default"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="fareast"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="21"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr>
<w:t>${tec.position}</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</#list>
</w:tbl>
</#list>
<w:p>
<w:pPr>
<w:pStyle w:val="3"/>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论