From 835951395f01aba7ab567d3a6c7b5450b4e54a1b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 26 六月 2024 16:14:05 +0800
Subject: [PATCH] bug
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 251 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 234 insertions(+), 17 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 46c0711..c2720da 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
@@ -3,6 +3,7 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -10,6 +11,8 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,10 +20,9 @@
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.config.ConfigureBuilder;
import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.BorderStyle;
-import com.deepoove.poi.data.style.Style;
-import com.deepoove.poi.data.style.TableStyle;
+import com.deepoove.poi.data.style.*;
import com.deepoove.poi.util.TableTools;
+import com.deepoove.poi.xwpf.WidthScalePattern;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.ExcelDto;
@@ -35,7 +37,6 @@
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo;
import com.yuanchu.mom.vo.InsOrderPlanVO;
-import com.yuanchu.mom.vo.Result;
import org.apache.commons.io.IOUtils;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
@@ -115,6 +116,9 @@
@Resource
private InsBushingService insBushingService;
+
+ @Resource
+ private InsFiberMapper insFiberMapper;
@Resource
private InsOrderFileMapper insOrderFileMapper;
@@ -269,9 +273,12 @@
JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
InsProduct insProduct = new InsProduct();
insProduct.setId(Integer.parseInt(k));
- InsProductResult result = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- if (BeanUtil.isEmpty(result)) {
- result = new InsProductResult();
+ List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ InsProductResult result;
+ if (CollectionUtils.isEmpty(results)) {
+ result = new InsProductResult();
+ } else {
+ result = results.get(0);
}
result.setInsProductId(Integer.parseInt(k));
if (jo.get("insValue") != null) {
@@ -362,7 +369,7 @@
.eq(AuxiliaryOutputWorkingHours::getCheck, userId)
.eq(AuxiliaryOutputWorkingHours::getInspectProject, insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem())
.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
- if (count == 0) {
+ if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) {
//娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂
AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
auxiliaryOutputWorkingHours.setInspectProject(insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem());//妫�娴嬮」鐩�
@@ -452,6 +459,7 @@
for (InsProduct insProduct : insProducts) {
if (insProduct.getInsResult() == 0) {
InsUnPass insUnPass = new InsUnPass();
+ insUnPass.setId(null);
insUnPass.setModel(insSample.getModel());
insUnPass.setSample(insSample.getSample());
insUnPass.setInspectionItem(insProduct.getInspectionItem());
@@ -464,17 +472,14 @@
insUnPasses.add(insUnPass);
}
}
- insUnPassService.saveBatch(insUnPasses);
}
-
+ insUnPassService.saveBatch(insUnPasses);
InsOrder insOrder = insOrderMapper.selectById(orderId);
Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId());
List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
InsReport insReport = new InsReport();
insReport.setCode(insOrder.getEntrustCode());
insReport.setInsOrderId(orderId);
- Set<Integer> set = new HashSet<>();
- Map<Integer, String> map2 = new HashMap<>();
List<Map<String, Object>> tables = new ArrayList<>();
Set<String> standardMethod = new HashSet<>();
Set<String> deviceSet = new HashSet<>();
@@ -484,6 +489,8 @@
AtomicReference<String> resultCh = new AtomicReference<>("");
AtomicReference<String> resultEn = new AtomicReference<>("");
samples.forEach(a -> {
+ Set<Integer> set = new HashSet<>();
+ Map<Integer, String> map2 = new HashMap<>();
Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId()));
productSize.set(productSize.get() + Integer.parseInt(productCount + ""));
models.add(a.getModel());
@@ -545,7 +552,6 @@
Map<String, InsProduct> pMap = new HashMap<>();
Set<String> delRSet = new HashSet<>();
delRSet.add("0");
- delRSet.add("1");
for (JSONObject jo1 : temp) {
JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v")));
if (Integer.parseInt(jo1.get("c") + "") > 9) {
@@ -614,7 +620,7 @@
if (p != null && v.get("ps") != null) {
String value = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + "";
if (value.equals("瑕佹眰鍊�")) {
- textRenderData.setText(p.getAsk());
+ textRenderData.setText(ObjectUtils.isNotEmpty(p.getTell()) ? p.getTell() : "");
} else if (value.equals("鍗曚綅")) {
textRenderData.setText(p.getUnit());
} else if (value.equals("缁撹")) {
@@ -647,6 +653,14 @@
textRenderData.setText(a.getSample());
} else if (value.equals("璇曢獙鏂规硶")) {
textRenderData.setText(p.getMethodS());
+ } else if (value.equals("妫�楠岄」")) {
+ textRenderData.setText(p.getInspectionItem() + "\n" + p.getInspectionItemEn());
+ } else if (value.equals("妫�楠屽瓙椤�")) {
+ if (ObjectUtils.isEmpty(p.getInspectionItemSubclassEn())) {
+ textRenderData.setText(p.getInspectionItemSubclass());
+ } else {
+ textRenderData.setText(p.getInspectionItemSubclass() + "\n" + p.getInspectionItemSubclassEn());
+ }
} else {
textRenderData.setText(v.get("v") == null ? "" : v.get("v") + "");
}
@@ -778,14 +792,15 @@
ConfigureBuilder builder = Configure.builder();
builder.useSpringEL(true);
List<Map<String, String>> finalDeviceList = deviceList;
- Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getCreateTime).last("limit 1")).getUserId();
+ Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).last("limit 1")).getUserId();
String signatureUrl;
try {
signatureUrl = userMapper.selectById(userId).getSignatureUrl();
} catch (Exception e) {
throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
}
- Custom custom = customMapper.selectById(user.get("company"));
+ //Custom custom = customMapper.selectById(user.get("company"));
+ Custom custom = customMapper.selectById(insOrder.getCompanyId());
if (!resultCh.get().equals("")) {
resultCh.set("渚濇嵁濮旀墭瑕佹眰锛�" + resultCh.get().replaceFirst("銆�", "") + "绛夋墍妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��");
resultEn.set("According to commissioned requirements," + resultEn.get().replaceFirst("銆�", "") + " these inspected items do not meet the requirements, all other inspected items meet the requirements.");
@@ -793,16 +808,217 @@
resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��");
resultEn.set("According to commissioned requirements, all the tested items meet the requirements.");
}
+ /*鍏夌氦鐨勬楠屾姤鍛�*/
+ //鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
+ List<Integer> collect = insProducts.stream().map(InsProduct::getInsFiberId).filter(str -> str != null).collect(Collectors.toList());
+ List<Map<String, Object>> tables2 = new ArrayList<>();
+ if (collect.size() > 0) {
+ samples.forEach(sample -> {
+ List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId));
+ long size = insProducts1.size();
+ long size2 = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().count();
+ List<RowRenderData> rows = new ArrayList<>();
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ Boolean state = true;
+ for (InsProduct insProduct : insProducts1) {
+ if (!insProduct.getInspectionItemSubclass().equals("") && insProduct.getInspectionItemSubclass() != null) {
+ state = false;
+ }
+ }
+ int a = 1;
+ if (!state) {
+ a = 2;
+ }
+ //琛ㄦ牸鐨勮鏁�
+ for (long i = 0; i < size2 + a; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (long j = 0; j < size + 2; j++) {
+ 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 (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘰nPipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣\nScanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItem() + "\n" + insProducts1.get((int) (j - 2)).getInspectionItemEn() + "鈭�" + (j + 101));
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else if (a == 2 && i == 1) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘰nPipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣\nScanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ if (insProducts1.get((int) (j - 2)).getInspectionItemSubclass().equals("") || insProducts1.get((int) (j - 2)).getInspectionItemSubclass() == null) {
+ textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItem() + "\n" + insProducts1.get((int) (j - 2)).getInspectionItemEn() + "鈭�" + (j + 101));
+ } else {
+ textRenderData.setText(insProducts1.get((int) (j - 2)).getInspectionItemSubclass() + "\n\n" + insProducts1.get((int) (j - 2)).getInspectionItemSubclassEn());
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+ int aa = 0;
+ if (a == 2) {
+ aa = (int) i - 2;
+ } else aa = (int) i - 1;
+ InsFiber insFiber = insFiberMapper.selectById(insProducts1.get(aa).getInsFiberId());
+ //濉��
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(insFiber.getBushColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(insFiber.getColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ textRenderData.setText(insProducts1.get((int) (j - 2)).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("table2", tableRenderData);
+ table.put("report", insReport);
+ table.put("sample_number", sample.getSampleCode());
+ table.put("type", sample.getModel());
+ tables2.add(table);
+ });
+ }
+
+ /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/
+ List<Map<String, Object>> images = new ArrayList<>();
+ List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId));
+ if (CollectionUtils.isNotEmpty(insOrderFiles)) {
+ insOrderFiles.forEach(insOrderFile -> {
+ Map<String, Object> image = new HashMap<>();
+ PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create();
+ image.put("url", pictureRenderData);
+ image.put("report", insReport);
+ images.add(image);
+ });
+ }
+ //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇
+ if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
+ insOrder.setPrepareUser("/");
+ }
+ if (ObjectUtils.isEmpty(insOrder.getPhone())) {
+ insOrder.setPhone("/");
+ }
XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
new HashMap<String, Object>() {{
put("order", insOrder);
put("report", insReport);
- put("user", user);
+ //put("user", user);
put("custom", custom);
put("sampleSize", samples.size());
put("tables", tables);
put("tableSize", tables.size() + 1);
+ put("tables2", tables2);
put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
put("deviceList", finalDeviceList);
put("twoCode", Pictures.ofLocal(codePath).create());
@@ -814,6 +1030,7 @@
put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
put("writeUrl", null);
put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
+ put("images", images);
put("examineUrl", null);
put("ratifyUrl", null);
put("sampleEn", sampleEn);
--
Gitblit v1.9.3