From 95e3d91f19763a7d96c0f084bf8fcd31ea8e5896 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 13 七月 2024 21:11:05 +0800
Subject: [PATCH] 光纤接头损耗
---
inspect-server/src/main/resources/static/report-template.docx | 0
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 731 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 656 insertions(+), 75 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index ca46217..58fbd36 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -550,6 +550,7 @@
if (count == 0 && num == 5) {
List<InsUnPass> insUnPasses = new ArrayList<>();
/*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
+ //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/")
List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
for (InsSample insSample : insSamples) {
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1));
@@ -581,6 +582,7 @@
insUnPassService.saveBatch(insUnPasses);
InsOrder insOrder = insOrderMapper.selectById(orderId);
Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId());
+ //samples鏄笉鍖呮嫭甯︽湁"/"鐨勬牱鍝�
List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
InsReport insReport = new InsReport();
insReport.setCode(insOrder.getEntrustCode());
@@ -593,6 +595,7 @@
String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
AtomicReference<String> resultCh = new AtomicReference<>("");
AtomicReference<String> resultEn = new AtomicReference<>("");
+ /*鍩虹鎶ュ憡(鏍规嵁缁樺埗鐨勫師濮嬭褰曟ā鐗堝舰鎴�)*/
samples.forEach(a -> {
Set<Integer> set = new HashSet<>();
Map<Integer, String> map2 = new HashMap<>();
@@ -889,6 +892,616 @@
});
});
});
+ /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/
+ //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸
+ List<Map<String, Object>> tables4 = new ArrayList<>();
+ List<InsProduct> insProducts0 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
+ if (insProducts0.stream().map(InsProduct::getInspectionItem).collect(Collectors.toList()).contains("鍏夌氦鎺ュご鎹熻��")) {
+ //娓呯┖鍘熸湁鐨勫熀纭�琛ㄦ牸
+ tables.clear();
+ //鍘婚噸鐨勬楠岄」鐩�
+ List<String> filteredProducts = insProducts0.stream().map(insProduct -> {
+ return (insProduct.getInspectionItem() + "," + insProduct.getInspectionItemEn() + "," + insProduct.getInspectionItemSubclass() + "," + insProduct.getInspectionItemSubclassEn() + "," + insProduct.getTell());
+ }).distinct().collect(Collectors.toList());
+ //妫�楠岄」鐩殑鎬绘暟閲�(鍘婚噸)
+ long size = filteredProducts.size();
+ long number = 10;
+ long number2 = 7;
+ long index = 1;
+ //妫�楠岀粨鏋滄姤鍛�(褰撴楠岄」鐩秴杩�10涓柊寤鸿〃)
+ for (long i = 0; i < size; i++) {
+ if (i % number == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁� 鈭� 鉁� 鉁�
+ for (int j = 0; j < number + 3; j++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int k = 0; k < 6; k++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (j == 0) {
+ //绗竴琛�
+ if (k < 4) {
+ //鍓�4鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�11");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //鍚�2鍒�
+ textRenderData.setText(insSamples.get(0).getModel() + "鈭�12");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+
+ }
+ else if (j == 1) {
+ //绗簩琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("搴忓彿@No.鈭�13");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 1) {
+ //绗簩鍒�
+ textRenderData.setText("妫�楠岄」鐩瓳Test Item鈭�14");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 2 || k == 3) {
+ //绗笁鍥涘垪
+ textRenderData.setText("鏍囧噯瑕佹眰@Requirement鈭�15");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 4) {
+ //绗簲鍒�
+ textRenderData.setText("妫�楠岀粨鏋淍Test result鈭�16");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗叚鍒�
+ textRenderData.setText("缁撹@Conclusion鈭�17");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (j == number + 2) {
+ //鏈�鍚庝竴琛�
+ if (k == 0 || k == 1) {
+ //鍓嶄袱鍒�
+ textRenderData.setText("澶囨敞鈭�18");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ textRenderData.setText("鈥溾湐鈥濊〃绀洪」鐩悎鏍硷紝鈥溾湒鈥濊〃绀洪」鐩笉鍚堟牸@鈥溾湐鈥漣ndicates test Item is qualified锛屸�溾湒鈥漣ndicates test Item is unqualified鈭�19");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else {
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText((j - 1) + "");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k == 1) {
+ //绗簩鍒�
+ String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
+ String[] split = insProduct.split(",");
+ if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")) {
+ textRenderData.setText(split[0]);
+ } else {
+ textRenderData.setText(split[0] + "@" + split[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k == 2) {
+ //绗笁鍒�
+ //鍏堝垽鏂楠岄」鏄惁鏈夊瓙绫�
+ String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
+ String[] split = insProduct.split(",");
+ if (ObjectUtils.isEmpty(split[2]) || split[2].equals("")) {
+ //濡傛灉娌℃湁瀛愮被
+ textRenderData.setText(split[4] + "鈭�2" + j);//瑕佹眰鎻忚堪
+ } else {
+ //濡傛灉鏈夊瓙绫�
+ //杩樿鍒ゆ柇鏄惁鏈夎嫳鏂�
+ if (ObjectUtils.isEmpty(split[3]) || split[3].equals("")) {
+ textRenderData.setText(split[2]);//妫�楠屽瓙椤�
+ } else {
+ textRenderData.setText(split[2] + "@" + split[3]);//妫�楠屽瓙椤�+鑻辨枃
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k == 3) {
+ //绗洓鍒�
+ //鍏堝垽鏂楠岄」鏄惁鏈夊瓙绫�
+ String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
+ String[] split = insProduct.split(",");
+ if (ObjectUtils.isEmpty(split[2]) || split[2].equals("")) {
+ //濡傛灉娌℃湁瀛愮被
+ textRenderData.setText(split[4] + "鈭�2" + j);//瑕佹眰鎻忚堪
+ } else {
+ //濡傛灉鏈夊瓙绫�
+ textRenderData.setText(split[4]);//瑕佹眰鎻忚堪
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k == 4) {
+ //绗簲鍒�
+ String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
+ String[] split = insProduct.split(",");
+ //鏌ヨ鎵�鏈夋牱鍝佽妫�楠岄」鐨勬楠岀粨鏋�(鏈�缁堝��)
+ List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2])
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
+ //鑾峰彇鏈�灏忓�煎拰鏈�澶у��
+ Optional<String> max = products.stream().map(InsProduct::getLastValue)
+ .filter(value -> !value.isEmpty())
+ .max(String::compareTo);
+ Optional<String> min = products.stream().map(InsProduct::getLastValue)
+ .filter(value -> !value.isEmpty())
+ .min(String::compareTo);
+ textRenderData.setText(min+"-"+max);//妫�楠岀粨鏋�
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //鏈�鍚庝竴鍒�
+ String insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
+ String[] split = insProduct.split(",");
+ //鏌ヨ鎵�鏈夋牱鍝佽妫�楠岄」鐨勬楠岀粨璁�(ins_result)
+ List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2])
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
+ List<Integer> result = products.stream().map(InsProduct::getInsResult).distinct().collect(Collectors.toList());
+ if (result.size() == 1 && result.contains(1)) {
+ //鍚堟牸
+ textRenderData.setText("鉁�");
+ }else {
+ //涓嶅悎鏍�
+ textRenderData.setText("鉁�");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /* for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table", tableRenderData);
+ table.put("report", insReport);
+ table.put("index", index);
+ tables.add(table);
+ index++;
+ }
+ }
+ long index4 = 1;
+ //妫�楠屾姤鍛婃姤鍛�(褰撴楠岄」鐩秴杩�7涓柊寤鸿〃)
+ for (long j = 0; j < size; j++) {
+ if (j%number2==0){
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�(鏍规嵁鏍峰搧鏁伴噺鏉�)
+ for (int i = 0; i < samples.size() + 2; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int k = 0; k < 8; k++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (i==0){
+ //绗竴琛�
+ if (k==0){
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�30");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //绗簩鍒�
+ String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
+ String[] split = product.split(",");
+ if (ObjectUtils.isEmpty(split[2])||split[2].equals("")){
+ if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){
+ textRenderData.setText(split[0]+"鈭�3"+k);
+ }else {
+ textRenderData.setText(split[0]+"@"+split[1]+"鈭�3"+k);
+ }
+ }else {
+ if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){
+ textRenderData.setText(split[0]);
+ }else {
+ textRenderData.setText(split[0]+"@"+split[1]);
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i==1){
+ //绗簩琛�
+ if (k==0){
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�30");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //绗簩鍒�
+ String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
+ String[] split = product.split(",");
+ if (ObjectUtils.isEmpty(split[2])||split[2].equals("")){
+ if (ObjectUtils.isEmpty(split[1]) || split[1].equals("")){
+ textRenderData.setText(split[0]+"鈭�3"+k);
+ }else {
+ textRenderData.setText(split[0]+"@"+split[1]+"鈭�3"+k);
+ }
+ }else {
+ if (ObjectUtils.isEmpty(split[3]) || split[3].equals("")){
+ textRenderData.setText(split[2]);
+ }else {
+ textRenderData.setText(split[2]+"@"+split[3]);
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else {
+ if (k==0){
+ //绗竴鍒�
+ textRenderData.setText(samples.get(i-2).getSampleCode());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //鏍规嵁鏍峰搧缂栧彿鍜岄」鐩幓鏌ヨ鏈�缁堝��
+ String product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
+ String[] split = product.split(",");
+ InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, samples.get(i - 2).getId())
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2]));
+ if (ObjectUtils.isEmpty(insProduct)){
+ //鍙兘鏍规嵁姝e父鐨勬牱鍝佺紪鍙峰拰鍏夌氦鎺ュご鎹熻�楃殑椤圭洰鏌ヤ笉鍒板搴旂殑椤圭洰,鍒欓渶瑕佹牴鎹�"/"鏉ユ煡
+ List<InsSample> sampleList = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().like(InsSample::getSampleCode, samples.get(i - 2).getSampleCode()));
+ List<InsProduct> products = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, sampleList.stream().map(InsSample::getId).collect(Collectors.toList()))
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2]));
+ insProduct=products.get(0);
+ }
+ textRenderData.setText(insProduct.getLastValue());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /*for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table4", tableRenderData);
+ table.put("report", insReport);
+ table.put("index4", index4);
+ tables4.add(table);
+ index4++;
+ }
+ }
+ //鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡杩樻槸tables4
+ //鏌ヨ鏍峰搧(鍙煡璇㈠甫"/")鐨勬暟閲�
+ List<InsSample> sampleList = insSamples.stream().filter(insSample -> insSample.getSampleCode().contains("/")).collect(Collectors.toList());
+ //杩囨护鍑哄厜绾ゆ帴澶存崯鑰楃殑妫�楠岄」鐩�
+ List<String> strings = filteredProducts.stream().filter(s -> s.contains("鍏夌氦鎺ュご鎹熻��")).distinct().collect(Collectors.toList());
+ for (int i = 0; i < sampleList.size(); i++) {
+ if (i%16==0){
+ //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍�
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (int j = 0; j < 17; j++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int k = 0; k < 6; k++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (j==0){
+ //绗竴琛�
+ if (k==0){
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦绫诲瀷@Fiber type");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (k==1 || k==2){
+ //绗簩 涓夊垪
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else {
+ String[] split = strings.get(k - 3).split(",");
+ if (ObjectUtils.isEmpty(split[3])|| split[3].equals("")){
+ textRenderData.setText(split[2]);
+ }else {
+ textRenderData.setText(split[2]+"@"+split[3]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else {
+ if (k==0){
+ //绗竴鍒�
+ textRenderData.setText(sampleList.get(0).getSampleCode()+"鈭�44");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k==1){
+ //绗簩鍒�
+ textRenderData.setText(sampleList.get(j-1).getSampleCode().split("/")[0]);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k==2){
+ //绗笁鍒�
+ textRenderData.setText(sampleList.get(j-1).getSampleCode().split("/")[1]);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //鏍规嵁瀵瑰簲鐨勬牱鍝佺紪鍙峰拰妫�楠岄」鐩煡璇㈠搴旀暟鎹�(鏈�缁堝��)
+ String[] split = strings.get(k - 3).split(",");
+ InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId())
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2]));
+ textRenderData.setText(insProduct.getLastValue());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /*for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table4", tableRenderData);
+ table.put("report", insReport);
+ table.put("index4", index4+1);
+ tables4.add(table);
+ index4++;
+ }
+ }
+ tables4.forEach(table4 -> {
+ table4.put("tableSize4", tables4.size());
+ });
+
+ }
String url;
try {
InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
@@ -952,6 +1565,8 @@
resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��");
resultEn.set("According to commissioned requirements, all the tested items meet the requirements.");
}
+
+
/*鍏夌氦閰嶇疆鐨勬楠屾姤鍛�*/
//鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
@@ -1142,10 +1757,10 @@
tableRenderData.setRows(rows);
int countSize = tableRenderData.getRows().get(0).getCells().size();
for (RowRenderData row : tableRenderData.getRows()) {
- for (CellRenderData cell : row.getCells()) {
+ /*for (CellRenderData cell : row.getCells()) {
System.out.print(cell.getParagraphs().get(0).getContents());
}
- System.out.println("");
+ System.out.println("");*/
if (row.getCells().size() != countSize) {
throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
}
@@ -1300,8 +1915,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 1) {
+ } else if (j == 1) {
//绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -1314,8 +1928,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 2) {
+ } else if (j == 2) {
//绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -1347,8 +1960,7 @@
}
}
}
- }
- else if (j == 3) {
+ } else if (j == 3) {
//绗洓琛�
if (k == 0) {
//绗竴鍒�
@@ -1384,8 +1996,7 @@
}
}
}
- }
- else if (j == 4) {
+ } else if (j == 4) {
//绗簲琛�
if (k == 0) {
//绗竴鍒�
@@ -1418,8 +2029,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 5) {
+ } else if (j == size2 + 5) {
//鍊掓暟绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -1496,8 +2106,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 6) {
+ } else if (j == size2 + 6) {
//鍊掓暟绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -1542,8 +2151,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 7) {
+ } else if (j == size2 + 7) {
//鍊掓暟绗竴琛�
textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
renderData.add(textRenderData);
@@ -1551,8 +2159,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else {
+ } else {
//鍏朵綑濉啓妫�楠屽�肩殑鍐呭
if (k == 0) {
//绗竴鍒楀~鍐欒壊鏍�
@@ -1634,8 +2241,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 1) {
+ } else if (j == 1) {
//绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -1648,8 +2254,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 2) {
+ } else if (j == 2) {
//绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -1681,8 +2286,7 @@
}
}
}
- }
- else if (j == 3) {
+ } else if (j == 3) {
//绗洓琛�
if (k == 0) {
//绗竴鍒�
@@ -1718,8 +2322,7 @@
}
}
}
- }
- else if (j == 4) {
+ } else if (j == 4) {
//绗簲琛�
if (k == 0) {
//绗竴鍒�
@@ -1752,8 +2355,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 5) {
+ } else if (j == size2 + 5) {
//鍊掓暟绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -1830,8 +2432,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 6) {
+ } else if (j == size2 + 6) {
//鍊掓暟绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -1876,8 +2477,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 7) {
+ } else if (j == size2 + 7) {
//鍊掓暟绗竴琛�
textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
renderData.add(textRenderData);
@@ -1885,8 +2485,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else {
+ } else {
//鍏朵綑濉啓妫�楠屽�肩殑鍐呭
if (k == 0) {
//绗竴鍒楀~鍐欒壊鏍�
@@ -1923,8 +2522,7 @@
}
}
}
- }
- else if (i == size1 - 1) {
+ } else if (i == size1 - 1) {
//鏈�鍚庝竴娆″惊鐜殑鍒楁暟,閭d箞鍒楁暟鍖呮嫭20鈩�(2 * (size-nm.size())+1)
for (long k = 0; k < 2 * (size - nm.size()) + 1; k++) {
CellRenderData cellRenderData = new CellRenderData();
@@ -1962,8 +2560,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 1) {
+ } else if (j == 1) {
//绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -1976,8 +2573,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 2) {
+ } else if (j == 2) {
//绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -2001,8 +2597,7 @@
}
}
}
- }
- else if (j == 3) {
+ } else if (j == 3) {
//绗洓琛�
if (k == 0) {
//绗竴鍒�
@@ -2026,8 +2621,7 @@
}
}
}
- }
- else if (j == 4) {
+ } else if (j == 4) {
//绗簲琛�
if (k == 0) {
//绗竴鍒�
@@ -2052,8 +2646,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 5) {
+ } else if (j == size2 + 5) {
//鍊掓暟绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -2107,8 +2700,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 6) {
+ } else if (j == size2 + 6) {
//鍊掓暟绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -2146,8 +2738,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 7) {
+ } else if (j == size2 + 7) {
//鍊掓暟绗竴琛�
textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
renderData.add(textRenderData);
@@ -2155,8 +2746,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else {
+ } else {
//鍏朵綑濉啓妫�楠屽�肩殑鍐呭
if (k == 0) {
//绗竴鍒楀~鍐欒壊鏍�
@@ -2185,8 +2775,7 @@
}
}
}
- }
- else {
+ } else {
//鍏朵綑寰幆鐨勫垪鏁�,,閭d箞鍒楁暟涓嶅寘鎷�20鈩�+20鈩�(甯告俯)(2 * (size- 2*nm.size()) +1)
for (long k = 0; k < 2 * (size - 2 * nm.size()) + 1; k++) {
CellRenderData cellRenderData = new CellRenderData();
@@ -2212,7 +2801,7 @@
} else if (k > (2 * (size - 2 * nm.size()) + 1) / 4 && k <= (2 * (size - 2 * nm.size()) + 1) / 2) {
//绗簩鍒�
textRenderData.setText(sample.getSampleCode() + "鈭�998");
- } else if (k >(2 * (size - 2 * nm.size()) + 1) / 2 && k< 2 * (size - 2 * nm.size())) {
+ } else if (k > (2 * (size - 2 * nm.size()) + 1) / 2 && k < 2 * (size - 2 * nm.size())) {
//绗笁鍒�
textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999");
} else {
@@ -2224,8 +2813,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 1) {
+ } else if (j == 1) {
//绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -2238,8 +2826,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else if (j == 2) {
+ } else if (j == 2) {
//绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -2263,8 +2850,7 @@
}
}
}
- }
- else if (j == 3) {
+ } else if (j == 3) {
//绗洓琛�
if (k == 0) {
//绗竴鍒�
@@ -2288,8 +2874,7 @@
}
}
}
- }
- else if (j == 4) {
+ } else if (j == 4) {
//绗簲琛�
if (k == 0) {
//绗竴鍒�
@@ -2314,8 +2899,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 5) {
+ } else if (j == size2 + 5) {
//鍊掓暟绗笁琛�
if (k == 0) {
//绗竴鍒�
@@ -2369,8 +2953,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 6) {
+ } else if (j == size2 + 6) {
//鍊掓暟绗簩琛�
if (k == 0) {
//绗竴鍒�
@@ -2408,8 +2991,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
}
- }
- else if (j == size2 + 7) {
+ } else if (j == size2 + 7) {
//鍊掓暟绗竴琛�
textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
renderData.add(textRenderData);
@@ -2417,8 +2999,7 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- }
- else {
+ } else {
//鍏朵綑濉啓妫�楠屽�肩殑鍐呭
if (k == 0) {
//绗竴鍒楀~鍐欒壊鏍�
@@ -2458,10 +3039,10 @@
tableRenderData.setRows(rows);
int countSize = tableRenderData.getRows().get(0).getCells().size();
for (RowRenderData row : tableRenderData.getRows()) {
- for (CellRenderData cell : row.getCells()) {
+ /*for (CellRenderData cell : row.getCells()) {
System.out.print(cell.getParagraphs().get(0).getContents());
}
- System.out.println("");
+ System.out.println("");*/
if (row.getCells().size() != countSize) {
throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
}
@@ -2481,8 +3062,6 @@
Map<String, Object> table = new HashMap<>();
table.put("table3", tableRenderData);
table.put("report", insReport);
- table.put("sample_number", sample.getSampleCode());
- table.put("type", sample.getModel());
table.put("index3", index3);
tables3.add(table);
index3++;
@@ -2530,6 +3109,8 @@
put("tableSize2", tables2.size());
put("tables3", tables3);
put("tableSize3", tables3.size());
+ put("tables4", tables4);
+ put("tableSize4", tables4.size());
put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
put("deviceList", finalDeviceList);
put("twoCode", Pictures.ofLocal(codePath).create());
diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx
index 5a3546a..bea7bf2 100644
--- a/inspect-server/src/main/resources/static/report-template.docx
+++ b/inspect-server/src/main/resources/static/report-template.docx
Binary files differ
--
Gitblit v1.9.3