From de49973c2b44d93349579b2203e209aed03b3656 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期五, 07 六月 2024 11:14:58 +0800
Subject: [PATCH] 部分修复
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 134 insertions(+), 24 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 fe95792..46c0711 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.UUID;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
@@ -34,11 +35,13 @@
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;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.*;
@@ -93,6 +96,9 @@
private InsProductUserMapper insProductUserMapper;
@Resource
+ private InsUnPassService insUnPassService;
+
+ @Resource
AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
@Resource
@@ -109,6 +115,9 @@
@Resource
private InsBushingService insBushingService;
+
+ @Resource
+ private InsOrderFileMapper insOrderFileMapper;
@Override
public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
@@ -160,16 +169,96 @@
insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
}
Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
- Set<Integer> set = new HashSet<>();
- Map<Integer, String> map2 = new HashMap<>();
List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
for (SampleProductDto samples : list) {
+// Set<Integer> set = new HashSet<>();
+// Map<Integer, String> map2 = new HashMap<>();
if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
- getTemplateThing(set, map2, samples);
+// getTemplateThing(set, map2, samples.getInsProduct());
}
map.put("sampleProduct", list);
return map;
+ }
+
+ @Override
+ public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory) {
+ List<InsProduct> insProducts = new ArrayList<>();
+ switch (type) {
+ case 0:
+ insProducts = insSampleMapper.getInsProduct1(id, laboratory);
+ break;
+ case 1:
+ insProducts = insSampleMapper.getInsProduct2(id);
+ break;
+ case 2:
+ insProducts = insSampleMapper.getInsProduct3(id);
+ break;
+ }
+ Set<Integer> set = new HashSet<>();
+ Map<Integer, String> map2 = new HashMap<>();
+ if (BeanUtil.isEmpty(insProducts)) return null;
+ getTemplateThing(set, map2, insProducts);
+ return insProducts;
+ }
+
+ @Override
+ public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
+ List<String> collect = new ArrayList<>();
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+ List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).eq(InsProduct::getInsResult, 0));
+ if (insProducts.size() > 0) {
+ collect = insProducts.stream().map(insProduct -> {
+ return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass();
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+
+ @Override
+ public Map<String, Object> getFileList(Page page, InsOrderFile insOrderFile) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("head", PrintChina.printChina(InsOrderFile.class));
+ IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile));
+ map.put("body", insOrderFileIPage);
+ return map;
+ }
+
+ @Override
+ public int uploadFile(Integer orderId, MultipartFile file) {
+ String urlString;
+ String pathName;
+ String path;
+ String filename = file.getOriginalFilename();
+ String contentType = file.getContentType();
+ InsOrderFile insOrderFile = new InsOrderFile();
+ insOrderFile.setInsOrderId(orderId);
+ insOrderFile.setFileName(filename);
+ if (contentType != null && contentType.startsWith("image/")) {
+ // 鏄浘鐗�
+ path = imgUrl;
+ insOrderFile.setType(1);
+ } else {
+ // 鏄枃浠�
+ path = wordUrl;
+ insOrderFile.setType(2);
+ }
+ try {
+ File realpath = new File(path);
+ if (!realpath.exists()) {
+ realpath.mkdirs();
+ }
+ pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+ urlString = realpath + "/" + pathName;
+ file.transferTo(new File(urlString));
+ insOrderFile.setFileUrl(pathName);
+ return insOrderFileMapper.insert(insOrderFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("闄勪欢涓婁紶閿欒");
+ return 0;
+ }
}
@Override
@@ -347,6 +436,7 @@
insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, getLook.selectPowerByMethodAndUserId(null).get("userId")));
Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5));
if (count == 0 && num == 5) {
+ List<InsUnPass> insUnPasses = new ArrayList<>();
/*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
for (InsSample insSample : insSamples) {
@@ -358,10 +448,28 @@
insSample.setInsResult(1);
}
insSampleMapper.updateById(insSample);
+ /*澶嶆牳閫氳繃鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
+ for (InsProduct insProduct : insProducts) {
+ if (insProduct.getInsResult() == 0) {
+ InsUnPass insUnPass = new InsUnPass();
+ insUnPass.setModel(insSample.getModel());
+ insUnPass.setSample(insSample.getSample());
+ insUnPass.setInspectionItem(insProduct.getInspectionItem());
+ insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
+ insUnPass.setLastValue(insProduct.getLastValue());
+ insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode());
+ List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
+ String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
+ insUnPass.setName(name);
+ insUnPasses.add(insUnPass);
+ }
+ }
+ insUnPassService.saveBatch(insUnPasses);
}
+
InsOrder insOrder = insOrderMapper.selectById(orderId);
Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId());
- List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId2(orderId);
+ List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
InsReport insReport = new InsReport();
insReport.setCode(insOrder.getEntrustCode());
insReport.setInsOrderId(orderId);
@@ -377,11 +485,11 @@
AtomicReference<String> resultEn = new AtomicReference<>("");
samples.forEach(a -> {
Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId()));
- productSize.set(productSize.get()+Integer.parseInt(productCount+""));
+ productSize.set(productSize.get() + Integer.parseInt(productCount + ""));
models.add(a.getModel());
standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId()));
Set<String> templateSet = new HashSet<>();
- getTemplateThing(set, map2, a);
+ getTemplateThing(set, map2, a.getInsProduct());
for (InsProduct b : a.getInsProduct()) {
if (b.getInsProductResult() != null) {
List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
@@ -399,8 +507,8 @@
}
templateSet.add(JSON.toJSONString(b.getTemplate()));
}
- AtomicInteger index = new AtomicInteger();
templateSet.forEach(tem -> {
+ AtomicInteger index = new AtomicInteger();
Set<Integer> set2 = new HashSet<>();
List<RowRenderData> rows = new ArrayList<>();
List<TextRenderData> text = new ArrayList<>();
@@ -436,6 +544,8 @@
List<JSONObject> temp = JSON.parseArray(JSON.toJSONString(excelDtos), JSONObject.class);
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) {
@@ -513,8 +623,8 @@
textRenderData.setText("鈭�");
break;
case 0:
- resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (Objects.equals(p.getInspectionItemSubclass(), "") ?"":" "+p.getInspectionItemSubclass()));
- resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "")||Objects.equals(p.getInspectionItemSubclassEn(), null)) ?"":" "+p.getInspectionItemSubclassEn()));
+ resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (Objects.equals(p.getInspectionItemSubclass(), "") ? "" : " " + p.getInspectionItemSubclass()));
+ resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn()));
textRenderData.setText("脳");
break;
default:
@@ -551,8 +661,8 @@
textRenderData.setText("鉁�");
break;
case 0:
- resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("")?"":" "+p.getInspectionItemSubclass()));
- resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "")||Objects.equals(p.getInspectionItemSubclassEn(), null)) ?"":" "+p.getInspectionItemSubclassEn()));
+ resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass()));
+ resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn()));
textRenderData.setText("鉁�");
break;
default:
@@ -575,7 +685,8 @@
textRenderData.setText(textRenderData.getText() + "鈭�" + jo1.get("mc"));
}
Style style = new Style();
- style.setFontFamily(v.get("ff") == null ? "寰蒋闆呴粦" : v.get("ff") + "");
+// style.setFontFamily(v.get("ff") == null ? "瀹嬩綋" : v.get("ff") + "");
+ style.setFontFamily("瀹嬩綋");
if (!((v.get("fc") + "").indexOf("rgb") > -1)) {
style.setColor(v.get("fc") == null ? "000000" : (v.get("fc") + "").replace("#", ""));
} else {
@@ -586,7 +697,7 @@
}
TextRenderData[] text2 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create();
- if(rowRenderData.getCells().size()!=0){
+ if (rowRenderData.getCells().size() != 0) {
rows.add(rowRenderData);
}
TableRenderData tableRenderData = new TableRenderData();
@@ -597,7 +708,7 @@
System.out.print(cell.getParagraphs().get(0).getContents());
}
System.out.println("");*/
- if(row.getCells().size()!=countSize){
+ if (row.getCells().size() != countSize) {
throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
}
}
@@ -675,13 +786,14 @@
throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
}
Custom custom = customMapper.selectById(user.get("company"));
- 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.");
- }else{
+ 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.");
+ } else {
resultCh.set("渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��");
resultEn.set("According to commissioned requirements, all the tested items meet the requirements.");
}
+
XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
new HashMap<String, Object>() {{
put("order", insOrder);
@@ -760,8 +872,6 @@
}
}
}
- maps.forEach((k, v) -> {
- });
List<String> list = new ArrayList<>();
for (String s : maps.keySet()) {
list.add(s);
@@ -790,8 +900,8 @@
return 1;
}
- private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, SampleProductDto a) {
- for (InsProduct product : a.getInsProduct()) {
+ private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) {
+ for (InsProduct product : insProducts) {
if (product.getTemplateId() == null) {
product.setTemplate(new ArrayList<>());
continue;
@@ -821,13 +931,13 @@
List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).isNull(InsProduct::getInsResult).isNull(InsProduct::getInsFiberId).isNull(InsProduct::getInsFibersId));
- insProducts.addAll(insProductMapper.selectFiberInsProduct(ids));
+ insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory));
if (insProducts.size() > 0) {
String str = "";
int count = 0;
for (InsProduct product : insProducts) {
count++;
- str += "<br/>"+count + "锛�" +product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
+ str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
}
throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str);
}
--
Gitblit v1.9.3