From 68897236636f9c54e34bdca52864cb424c2291e5 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 20 三月 2025 17:16:14 +0800
Subject: [PATCH] 近场/远场检验刷新目录功能修改
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 4223 ++++++++++++++++-------------------------------------------
1 files changed, 1,151 insertions(+), 3,072 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 9bab7c6..caaf65f 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,7 +3,6 @@
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;
@@ -16,13 +15,6 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.config.Configure;
-import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.data.*;
-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.*;
@@ -30,42 +22,42 @@
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.*;
-import com.yuanchu.mom.utils.JackSonUtil;
-import com.yuanchu.mom.utils.MatrixToImageWriter;
-import com.yuanchu.mom.utils.QueryWrappers;
-import com.yuanchu.mom.utils.RedisUtil;
-import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo;
-import com.yuanchu.mom.vo.InsOrderPlanVO;
-import com.yuanchu.mom.vo.ProductVo;
-import com.yuanchu.mom.vo.SampleVo;
-import org.apache.commons.io.IOUtils;
-import org.apache.poi.xwpf.usermodel.*;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
+import com.yuanchu.mom.utils.*;
+import com.yuanchu.mom.vo.*;
+import org.apache.poi.hwpf.usermodel.*;
+import org.apache.poi.ss.usermodel.CellValue;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
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 javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
import java.io.*;
-import java.math.BigInteger;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
+
+import org.apache.poi.hwpf.HWPFDocument;
/**
* 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
*/
@Service
+@Transactional(rollbackFor = Exception.class)
public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
@Resource
@@ -84,18 +76,32 @@
private InsOrderStateMapper insOrderStateMapper;
@Resource
private InsProductMapper insProductMapper;
+ @Resource
+ private InsOrderUserMapper insOrderUserMapper;
+ @Resource
+ private ShiftTimeMapper shiftTimeMapper;
+ @Resource
+ private PerformanceShiftMapper performanceShiftMapper;
+ @Resource
+ private WarehouseHistoryMapper warehouseHistoryMapper;
+
+ @Resource
+ private WarehouseService warehouseService;
@Value("${wordUrl}")
private String wordUrl;
- @Value("${twoCode}")
- private String twoCode;
+ @Resource
+ WordUtils wordUtils;
@Resource
private InsReportMapper insReportMapper;
@Resource
private InsProductResultMapper insProductResultMapper;
+
+ @Resource
+ private InsProductResult2Mapper insProductResult2Mapper;
@Resource
private InsProductUserMapper insProductUserMapper;
@@ -107,44 +113,40 @@
AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
@Resource
+ QYWXApi qywxApi;
+
+ @Resource
private InformationNotificationService informationNotificationService;
@Resource
private UserMapper userMapper;
- @Resource
- private CustomMapper customMapper;
-
@Value("${file.path}")
private String imgUrl;
@Resource
- private InsBushingService insBushingService;
-
- @Resource
- private InsBushingMapper insBushingMapper;
-
- @Resource
- private InsFiberMapper insFiberMapper;
-
- @Resource
- private InsFibersMapper insFibersMapper;
-
- @Resource
private InsOrderFileMapper insOrderFileMapper;
+
+ @Resource
+ FuSheUtils fuSheUtils;
+
+ @Resource
+ DianLuUtils dianLuUtils;
@Override
public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
- Integer userId = null;
- if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId()) ) {
- Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
- userId = map1.get("userId");
- insOrderPlanDTO.setUserId(userId.longValue());
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
+ String laboratory = null;
+ String userName = null;
+ if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
+ userName = userMapper.selectById(map1.get("userId")).getName();
+ insOrderPlanDTO.setUserId(null);
}
String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
- IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
+ insOrderPlanDTO.setSonLaboratory(null);
+ IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userName, sonLaboratory, laboratory);
map.put("body", insOrderPage);
return map;
}
@@ -155,11 +157,13 @@
map.put("head", PrintChina.printChina(InsOrderPlanTaskSwitchVo.class));
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
Integer userId = map1.get("userId");
+ User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉
+ String laboratory = null;
if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
insOrderPlanDTO.setUserId(userId.longValue());
}
String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
- IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
+ IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId, sonLaboratory, laboratory);
map.put("body", insOrderPage);
return map;
}
@@ -172,42 +176,69 @@
}
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
Integer userId = map1.get("userId");
- InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1,entity.getSonLaboratory());
+ InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 0, entity.getSonLaboratory());
return insSampleUserMapper.insert(insSampleUser) > 0;
}
@Override
- public Map<String, Object> doInsOrder(Integer id, String laboratory) {
+ public Map<String, Object> doInsOrder(Integer sampleId, String laboratory) {
+ InsSample insSample = insSampleMapper.selectById(sampleId);
InsOrder insOrder = new InsOrder();
- insOrder.setId(id);
- InsOrder order = insOrderMapper.selectById(id);
+ insOrder.setId(insSample.getInsOrderId());
+ InsOrder order = insOrderMapper.selectById(insSample.getInsOrderId());
if (BeanUtil.isEmpty(order.getInsTime())) {
- insOrder.setInsTime(LocalDateTime.now());
+ insOrder.setInsTime(LocalDateTime.now());//璁㈠崟鐨勬楠屾椂闂�
insOrderMapper.updateById(insOrder);
- 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);
+ InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory));
+ if (ObjectUtils.isEmpty(orderState.getInsTime())) {
+ //鏇存柊妫�楠屼换鍔¤〃鐨勬楠屾椂闂�
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsTime, LocalDateTime.now())
+ .set(InsOrderState::getInsState, 1));
+ }
+ Map<String, Object> map = insOrderService.getInsOrderAndSample(sampleId, laboratory);
List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
- for (SampleProductDto samples : list) {
- if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
- samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
- }
map.put("sampleProduct", list);
return map;
}
@Override
- public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory) {
+ public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
List<InsProduct> insProducts = new ArrayList<>();
switch (type) {
case 0:
+ //鏍峰搧
insProducts = insSampleMapper.getInsProduct1(id, laboratory);
+ if (insProducts.size() == 0) {
+ insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, id)
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getSonLaboratory, laboratory));
+ for (InsProduct insProduct : insProducts) {
+ List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum));
+ insProduct.setInsProductResult2(insProductResult2List);
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum));
+ insProduct.setInsProductResult(insProductResult);
+ }
+ }
break;
case 1:
- insProducts = insSampleMapper.getInsProduct2(id);
+ //鍏夌氦甯�
break;
case 2:
- insProducts = insSampleMapper.getInsProduct3(id);
+ //鍏夌氦
+ break;
+ case 3:
+ //濂楃
break;
}
Set<Integer> set = new HashSet<>();
@@ -218,12 +249,38 @@
}
@Override
- public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
+ public List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request, Integer num) {
+ List<InsProduct> insProducts = new ArrayList<>();
+ switch (type) {
+ case 0:
+ //鏍峰搧
+ insProducts = insSampleMapper.get2InsProduct1(id, laboratory, num);
+ if (insProducts.size() == 0) {
+ throw new ErrorException("褰撳墠妫�楠屾暟鎹繕娌℃湁淇濆瓨,淇濆瓨涔嬪悗鏈夋暟鎹巻鍙�");
+ }
+ break;
+ case 1:
+ //鍏夌氦甯�
+ break;
+ case 2:
+ //鍏夌氦
+ break;
+ case 3:
+ //濂楃
+ 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 sampleId, 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::getInsSampleId, sampleId)
.eq(InsProduct::getSonLaboratory, laboratory)
.eq(InsProduct::getState, 1)
.eq(InsProduct::getInsResult, 0));
@@ -239,13 +296,26 @@
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));
+ Integer insOrderId = insOrderFile.getInsOrderId();
+ insOrderFile.setInsOrderId(null);
+ String sonLaboratory = null;
+ Integer sampleId = null;
+ if (ObjectUtils.isNotEmpty(insOrderFile.getSonLaboratory())) {
+ sonLaboratory = insOrderFile.getSonLaboratory();
+ insOrderFile.setSonLaboratory(null);
+ }
+ if (ObjectUtils.isNotEmpty(insOrderFile.getInsSampleId())) {
+ sampleId = insOrderFile.getInsSampleId();
+ insOrderFile.setInsSampleId(null);
+ }
+ IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory, sampleId);
map.put("body", insOrderFileIPage);
return map;
}
@Override
- public int uploadFile(Integer orderId, MultipartFile file) {
+ public Object uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) {
+ InsOrder insOrder = insOrderMapper.selectById(orderId);
String urlString;
String pathName;
String path;
@@ -253,6 +323,12 @@
String contentType = file.getContentType();
InsOrderFile insOrderFile = new InsOrderFile();
insOrderFile.setInsOrderId(orderId);
+ if (ObjectUtils.isNotEmpty(sampleId)) {
+ insOrderFile.setInsSampleId(sampleId);
+ }
+ if (ObjectUtils.isNotEmpty(sonLaboratory)) {
+ insOrderFile.setSonLaboratory(sonLaboratory);
+ }
insOrderFile.setFileName(filename);
if (contentType != null && contentType.startsWith("image/")) {
// 鏄浘鐗�
@@ -268,187 +344,249 @@
if (!realpath.exists()) {
realpath.mkdirs();
}
- pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+ pathName = UUID.randomUUID() + "_" + file.getOriginalFilename().replace("#", "&");
urlString = realpath + "/" + pathName;
file.transferTo(new File(urlString));
insOrderFile.setFileUrl(pathName);
- return insOrderFileMapper.insert(insOrderFile);
+ insOrderFileMapper.insert(insOrderFile);
+ String[] split = filename.split("\\.");
+ if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("杩戝満") && split[split.length - 1].equals("csv")) {
+ fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile);
+ } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("杩滃満") && split[split.length - 1].equals("xlsx")) {
+ fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile);
+ } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("xlsx") && filename.contains("浜よ皟")) {
+ dianLuUtils.readDianLuFile1(sampleId, insOrderFile);
+ } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("csv") && filename.contains("椹绘尝")) {
+ dianLuUtils.readDianLuFile2(sampleId, insOrderFile);
+ } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("csv") && insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
+ dianLuUtils.readDianLuFile3(sampleId, insOrderFile);
+ }
+ // 闇囧姩doc鏂囦欢瑙f瀽
+ if(filename.contains(".doc") && sonLaboratory.equals("鎸姩")){
+ return docAnalysis(urlString,orderId,sampleId,file.getOriginalFilename());
+ }
} catch (Exception e) {
- e.printStackTrace();
- System.err.println("闄勪欢涓婁紶閿欒");
- return 0;
+ throw new ErrorException(e.getMessage());
}
+ return 0;
}
- //鍒囨崲璁板綍妯$増鏌ヨ妫�楠屽唴瀹�
@Override
- public Map<String, Object> getReportModel(Integer sampleId) {
- Map<String, Object> map = new HashMap<>();
- //鍏堟煡鍑哄绠�
- List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
- List<InsFibers> fibers = new ArrayList<>();
- List<InsFiber> fiber = new ArrayList<>();
- for (InsBushing insBushing : insBushings) {
- //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
- List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
- if (CollectionUtils.isNotEmpty(insFibers)) {
- for (InsFibers insFiber : insFibers) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFibersId, insFiber.getId()));
- List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
- if (insProducts.size()==collect.size()) {
- insFiber.setState(1);//宸叉楠�
- }else {
- insFiber.setState(0);//鏈楠�
- }
- }
- fibers.addAll(insFibers);
- //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦
- List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().in(InsFiber::getInsFibersId, insFibers.stream().map(InsFibers::getId).collect(Collectors.toList())));
- for (InsFiber insFiber : fiberList) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
- List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
- if (insProducts.size()==collect.size()) {
- insFiber.setState(1);//宸叉楠�
- }else {
- insFiber.setState(0);//鏈楠�
- }
- }
- fiber.addAll(fiberList);
- } else {
- //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
- List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
- for (InsFiber insFiber : insFiberList) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
- List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
- if (insProducts.size()==collect.size()) {
- insFiber.setState(1);//宸叉楠�
- }else {
- insFiber.setState(0);//鏈楠�
- }
- }
- fiber.addAll(insFiberList);
+ public List<String> upPlanUser2(Integer sampleId) {
+ List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sampleId))
+ .stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
+ return sonLaboratory;
+ }
+
+ @Override
+ public int deleteInsContext(InsProductResultVo insProductResultVo) {
+ return insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getFrequency, insProductResultVo.getFrequency())
+ .eq(InsProductResult2::getNum, insProductResultVo.getNum())
+ .in(InsProductResult2::getInsProductId, insProductResultVo.getProductIds()));
+ }
+
+ //鎵爜鎶ユ
+ @Override
+ public int scanInsOrderState(String sonLaboratory, String sampleCode, String trees, String entrustCode) {
+ /*鏍峰搧鍏ュ簱*/
+ warehouseService.inWarehouse(trees, sampleCode, entrustCode);
+ /*鏂板妫�楠屼换鍔�*/
+ //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
+ List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+ InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+ .eq(InsSample::getSampleCode, sampleCode)
+ .eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
+ List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
+ if (!collect.contains(sonLaboratory)) {
+ throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
+ }
+ //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙(鍙浠讳竴浠诲姟缁撴潫璇曢獙閮戒笉鑳藉啀娆¤瘯楠�)
+ List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsState, 5));
+ if (CollectionUtils.isNotEmpty(orderStates)) {
+ throw new ErrorException("璇ヨ鍗曠珯鐐圭殑浠诲姟宸茬粡缁撴潫璇曢獙,鏃犳硶鍐嶆杩涜璇曢獙!");
+ }
+ InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, insSample.getId())
+ .eq(InsOrderState::getLaboratory, sonLaboratory));
+ if (ObjectUtils.isNotEmpty(orderState)) {
+ //缁х画璇曢獙
+ if (orderState.getInsState() == 6) {
+ orderState.setInsState(0);
+ orderState.setNum(orderState.getNum() + 1);//閫掑
+ insOrderStateMapper.updateById(orderState);
+ }
+ } else {
+ InsOrderState insOrderState = new InsOrderState();
+ insOrderState.setInsOrderId(insSample.getInsOrderId());
+ insOrderState.setInsSampleId(insSample.getId());
+ insOrderState.setLaboratory(sonLaboratory);
+ insOrderState.setInsState(0);
+ insOrderState.setNum(1);//鍒濆鏄涓�娆�
+ insOrderStateMapper.insert(insOrderState);
+ }
+ return 1;
+ }
+
+ //鎵爜鍑哄簱
+ @Override
+ public int outInsOrderState(String sonLaboratory, String sampleCode, String entrustCode) {
+ //鍒ゆ柇璇ユ牱鍝佺殑妫�楠屼换鍔℃槸鍚﹀凡缁忕粨鏉�(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
+ //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
+ List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+ InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+ .eq(InsSample::getSampleCode, sampleCode)
+ .eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
+ List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
+ if (!collect.contains(sonLaboratory)) {
+ throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
+ }
+ //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
+ List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsState, 5));//缁撴潫璇曢獙
+ if (CollectionUtils.isEmpty(orderStates)) {
+ List<InsOrderState> orderStates1 = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, insSample.getId())
+ .eq(InsOrderState::getLaboratory, sonLaboratory)
+ .eq(InsOrderState::getInsState, 6));//缁х画璇曢獙
+ if (CollectionUtils.isEmpty(orderStates1)) {
+ throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!");
}
}
- map.put("鍏夌氦甯�", fibers);
- map.put("鍏夌氦", fiber);
- return map;
+ boolean a = true;
+ warehouseService.outWarehouse(sampleCode, a, entrustCode);
+ return 0;
}
- //娓╁害寰幆鏌ョ湅鍒楄〃鏁版嵁(鍖呮嫭閫氳繃鏍峰搧id,寰幆娆℃暟,娓╁害,寰幆娆℃暟杩涜绛涢��)
@Override
- public Map<String, Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
- Map<String, Object> map = new HashMap<>();
- //鏍峰搧淇℃伅
- SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
- map.put("sampleVo", sampleVo);
- List<ProductVo> productVos = new ArrayList<>();
- //鍏堟煡鍑鸿繖涓牱鍝佷笅鏈夊摢浜涚鑹叉爣,鍏夌氦甯�,鍏夌氦鑹叉爣
- //鍏堟煡鍑哄绠�
- List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
- if (insBushings.size()>0) {
- //閫氫俊--娓╁害寰幆
- for (InsBushing insBushing : insBushings) {
- //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
- List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
- if (CollectionUtils.isNotEmpty(insFibers)) {
- for (InsFibers insFiber : insFibers) {
- //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦
- List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiber.getId()));
- for (InsFiber fiber : fiberList) {
- //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem)
- .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
- .eq(InsProduct::getInsFiberId, fiber.getId()));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- productVo.setCode(insFiber.getCode());
- productVo.setColor(fiber.getColor());
- productVo.setBushColor(fiber.getBushColor());
- if (ObjectUtils.isNotEmpty(insProductResult)) {
- insProduct.setInsProductResult(insProductResult);
- }
- //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId,sampleId)
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
- .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
- if (!insProductResult1.getComValue().equals("[]")) {
- insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
+ public List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId) {
+ return insOrderUserMapper.getInsOrderUserList(insOrderStateId);
+ }
+
+ private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑鍒嗗壊绗�
+
+ //棰勮鏂囦欢
+ @Override
+ public Object preview(Integer id) throws Exception {
+ InsOrderFile insOrderFile = insOrderFileMapper.selectById(id);
+ File file = new File(wordUrl + "/" + insOrderFile.getFileUrl());
+ StringBuilder stringBuilder = new StringBuilder();
+ // 鍒涘缓 reader
+ try (BufferedReader br = Files.newBufferedReader(file.toPath())) {
+ // CSV鏂囦欢鐨勫垎闅旂
+ String DELIMITER = ",";
+ // 鎸夎璇诲彇
+ String line;
+ while ((line = br.readLine()) != null) {
+ // 鍒嗗壊
+ String[] columns = line.split(DELIMITER);
+ // 鎵撳嵃琛�
+ stringBuilder.append(String.join(splitIdentifier, columns)).append("\n");
+ }
+ } catch (Exception ex) {
+ List<Object> list = new ArrayList<>();
+ //鍒涘缓宸ヤ綔绨垮璞�
+ XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(file));
+ //鑾峰彇宸ヤ綔绨夸笅sheet鐨勪釜鏁� 鍙鍙栫涓�涓猻heet
+ int sheetNum = xssfWorkbook.getNumberOfSheets();
+ //閬嶅巻宸ヤ綔绨夸腑鐨勬墍鏈夋暟鎹�
+ for (int i = 0; i < sheetNum; i++) {
+ Map<String, Object> map = new HashMap<>();
+ StringBuilder result = new StringBuilder();
+ XSSFSheet sheet = xssfWorkbook.getSheetAt(i);
+ //鑾峰彇鏈�鍚庝竴琛岀殑num锛屽嵆鎬昏鏁般�傛澶勪粠0寮�濮�
+ int maxRow = sheet.getLastRowNum();
+ for (int row = 0; row <= maxRow; row++) {
+ XSSFRow xssfRow = sheet.getRow(row);
+ //鑾峰彇鏈�鍚庡崟鍏冩牸num锛屽嵆鎬诲崟鍏冩牸鏁� ***娉ㄦ剰锛氭澶勪粠1寮�濮嬭鏁�***
+ int maxRol = sheet.getRow(row).getLastCellNum();
+ StringBuilder aLine = new StringBuilder();
+ /*for (int rol = 0; rol < maxRol; rol++) {
+ aLine.append(sheet.getRow(row).getCell(rol)).append(",");
+ }*/
+ for (int rol = 0; rol < maxRol; rol++) {
+ XSSFCell cell = xssfRow.getCell(rol);
+ if (cell == null) {
+ aLine.append(",");
+ } else {
+ switch (cell.getCellType()) {
+ case FORMULA:
+ // 璁$畻鍏紡骞惰幏鍙栫粨鏋�
+ CellValue cellValue = xssfWorkbook.getCreationHelper().createFormulaEvaluator().evaluate(cell);
+ switch (cellValue.getCellType()) {
+ case NUMERIC:
+ String formattedValue = String.format("%.4f", cellValue.getNumberValue());
+ aLine.append(formattedValue);
+ break;
+ case STRING:
+ aLine.append(cellValue.getStringValue());
+ break;
+ case BOOLEAN:
+ aLine.append(cellValue.getBooleanValue());
+ break;
+ case ERROR:
+ aLine.append("#ERR!");
+ break;
+ default:
+ aLine.append("");
+ break;
+ }
+ break;
+ case NUMERIC:
+ String formattedValue = String.format("%.4f", cell.getNumericCellValue());
+ aLine.append(formattedValue);
+ break;
+ case STRING:
+ aLine.append(cell.getStringCellValue());
+ break;
+ case BOOLEAN:
+ aLine.append(cell.getBooleanCellValue());
+ break;
+ case ERROR:
+ aLine.append("#ERR!");
+ break;
+ default:
+ aLine.append("");
+ break;
}
+ aLine.append(",");
}
}
- } else {
- //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
- List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
- for (InsFiber fiber : insFiberList) {
- //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem)
- .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
- .eq(InsProduct::getInsFiberId, fiber.getId()));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- productVo.setCode("/");
- productVo.setColor(fiber.getColor());
- productVo.setBushColor(fiber.getBushColor());
- insProduct.setInsProductResult(insProductResult);
- //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId,sampleId)
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
- .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
- if (!insProductResult1.getComValue().equals("[]")) {
- insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- }
+ String substring = aLine.substring(0, aLine.length() - 1);
+ result.append(substring).append("\n");
}
+ map.put("sheetName", sheet.getSheetName());
+ map.put("content", result.toString());
+ list.add(map);
}
- productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
+ return list;
}
- else {
- //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- if (ObjectUtils.isNotEmpty(insProductResult)) {
- insProduct.setInsProductResult(insProductResult);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- }
- map.put("productVos", productVos);
- return map;
+ return stringBuilder.toString();
}
-
+ //妯$増淇濆瓨妫�楠屽唴瀹�
@Override
- public void saveInsContext(Map<String, Object> insContext) {
+ public void saveInsContext(Map<String, Object> insContext, Integer num) {
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
CompletableFuture.supplyAsync(() -> {
insContext.forEach((k, v) -> {
JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
InsProduct insProduct = new InsProduct();
insProduct.setId(Integer.parseInt(k));
- List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getNum, num)
+ .eq(InsProductResult::getInsProductId, insProduct.getId()));
InsProductResult result;
if (CollectionUtils.isEmpty(results)) {
result = new InsProductResult();
@@ -456,6 +594,8 @@
result = results.get(0);
}
result.setInsProductId(Integer.parseInt(k));
+ result.setNum(num);
+ //妫�楠屽��
if (jo.get("insValue") != null) {
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
List<Map<String, Object>> iv = new ArrayList<>();
@@ -465,6 +605,7 @@
map.put("v", JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"));
map.put("r", JSON.toJSONString(insValue.get("r")));
map.put("c", JSON.toJSONString(insValue.get("c")));
+ map.put("w", insValue.get("w"));
try {
if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString())) {
map.put("u", userId + "");
@@ -477,6 +618,7 @@
}
result.setInsValue(JSON.toJSONString(iv));
}
+ //璁$畻鍊�
if (jo.get("comValue") != null && !Objects.equals(jo.get("comValue"), "")) {
JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("comValue")));
List<Map<String, Object>> cv = new ArrayList<>();
@@ -488,6 +630,7 @@
}
result.setComValue(JSON.toJSONString(cv));
}
+ //鏈�缁堝��
try {
JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
if (resValue.get("v") != null) {
@@ -495,7 +638,39 @@
insProduct.setLastValue(o.equals("") ? null : (o.toString()));
}
} catch (Exception e) {
+ insProduct.setLastValue("");//''
}
+ //璇曢獙鍓嶆牱鍝佹鏌�
+ try {
+ JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("beforeCheck")));
+ if (resValue.get("v") != null) {
+ Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+ result.setBeforeCheck(o.equals("") ? null : (o.toString()));
+ }
+ } catch (Exception e) {
+ result.setBeforeCheck("");//''
+ }
+ //璇曢獙鍚庢牱鍝佹鏌�
+ try {
+ JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("afterCheck")));
+ if (resValue.get("v") != null) {
+ Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+ result.setAfterCheck(o.equals("") ? null : (o.toString()));
+ }
+ } catch (Exception e) {
+ result.setAfterCheck("");//''
+ }
+ //瀹為獙缁撴灉
+ try {
+ JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("testResult")));
+ if (resValue.get("v") != null) {
+ Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+ result.setTestResult(o.equals("") ? null : (o.toString()));
+ }
+ } catch (Exception e) {
+ result.setTestResult("");//''
+ }
+ //璁惧缂栧彿
if (jo.get("equipValue") != null) {
JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
List<Map<String, Object>> ev = new ArrayList<>();
@@ -507,6 +682,7 @@
}
result.setEquipValue(JSON.toJSONString(ev));
}
+ //璁惧鍚嶇О
if (jo.get("equipName") != null) {
JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipName")));
List<Map<String, Object>> ev = new ArrayList<>();
@@ -518,11 +694,13 @@
}
result.setEquipName(JSON.toJSONString(ev));
}
+ //缁撹
try {
JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult")));
String ir = JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + "";
insProduct.setInsResult(Integer.parseInt(ir));
} catch (Exception e) {
+ insProduct.setInsResult(2);//寰呭畾
}
if (BeanUtil.isEmpty(result.getId())) {
result.setCreateUser(userId);
@@ -536,53 +714,31 @@
insProduct.setUpdateUser(userId);
insProductMapper.updateById(insProduct);
insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
-
insProduct = insProductMapper.selectById(insProduct);
-
- //鏌ヨ妫�楠屽崟淇℃伅
- InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId());
- //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
- Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
- .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
- if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) {
- //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂,瑕佸垽鏂綋鍓嶆椂闂存槸鍚︽槸杩欎釜浜虹殑鎺掔彮鏃堕棿,濡傛灉涓嶆槸鍒欐槸鍔犵彮
- AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
- auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
- auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
- auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
- auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
- auxiliaryOutputWorkingHours.setOutputWorkTime(insProduct.getManHour());//浜ч噺宸ユ椂
- auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
- LocalDateTime localDateTime = LocalDateTime.now();
- DateTime parse = DateUtil.parse(localDateTime.format(formatter));
- auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
- }
-
InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
insSample.setInsState(1);
Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
.eq(InsProduct::getInsSampleId, insSample.getId()));
Long l1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId()).isNotNull(InsProduct::getInsResult));
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .and(wrapper -> wrapper
+ .isNotNull(InsProduct::getInsResult)
+ .or()
+ .ne(InsProduct::getInsResult, 2)
+ ));
if (l == l1) {
+ //濡傛灉鎵�鏈夐」鐩兘鏈夌粨璁�,閭d箞璇ユ牱鍝佺姸鎬佸凡妫�
insSample.setInsState(2);
}
insSampleMapper.updateById(insSample);
/*鏍¢獙涓�涓媟esult琛�*/
- List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()).orderByDesc(InsProductResult::getId));
+ List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getNum, num)
+ .eq(InsProductResult::getInsProductId, insProduct.getId()));
if (insProductResults.size() > 1) {
- insProductResultMapper.deleteById(insProductResults.get(0));
+ for (int i = 1; i < insProductResults.size(); i++) {
+ insProductResultMapper.deleteById(insProductResults.get(i));
+ }
}
});
return insContext.keySet().stream().findFirst().orElse(null);
@@ -590,17 +746,14 @@
if (res != null) {
int pId = Integer.parseInt(res.replaceAll("\\D+", ""));
InsProduct insProduct = insProductMapper.selectById(pId);
- // 閫氳繃pId 鑾峰彇褰撳墠鏍锋湰id
- int sampleId = insProductMapper.selectById(pId).getInsSampleId();
// 閫氳繃鏍锋湰id鑾峰彇璁㈠崟id
- int orderId = insSampleMapper.selectById(sampleId).getInsOrderId();
- // 閫氳繃璁㈠崟id鏌ユ壘鎵�鏈夋牱鏈琲d
- List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
- // 閫氳繃妫�鏌ユ瘡涓�涓牱鏈琲d鏌ュ埌灞炰簬妫�楠岄」缁撹 is null鐨勬暟閲�
- Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, sampleIds).isNull(InsProduct::getInsResult).eq(InsProduct::getSonLaboratory, insProduct.getSonLaboratory()).eq(InsProduct::getState, 1));
+ InsSample insSample = insSampleMapper.selectById(insProduct.getInsSampleId());
+ int orderId = insSample.getInsOrderId();
+ int count = insProductMapper.selectInsProductCountByOrderId(insSample.getId());
if (count == 0) {
insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
.eq(InsOrderState::getInsOrderId, orderId)
+ .eq(InsOrderState::getInsSampleId, insSample.getId())
.eq(InsOrderState::getLaboratory, insProduct.getSonLaboratory())
.set(InsOrderState::getInsState, 2));
}
@@ -611,12 +764,342 @@
});
}
+ //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+ @Override
+ public List<Integer> saveInsContext2(InsProductResultDto insProductResultDtos) {
+ if (ObjectUtils.isEmpty(insProductResultDtos.getFrequency())) {
+ throw new ErrorException("棰戠巼涓嶈兘涓虹┖");
+ }
+ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ //鏌ヨ鏍峰搧淇℃伅
+ InsSample insSample = insSampleMapper.selectById(insProductResultDtos.getSampleId());
+ //鏌ヨ妫�楠屽崟淇℃伅
+ InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
+ .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
+ .orderByDesc(InsOrderState::getId)
+ .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰�
+ List<Integer> list = new ArrayList<>();
+ /*鏂板妫�楠岄」鐩楠屽�艰褰曡〃(閲囧彇鍏堝垹鍚庡)*/
+ insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
+ .in(InsProductResult2::getInsProductId, insProductResultDtos.getInsProductResult2s().stream().map(InsProductResult2::getInsProductId).distinct().collect(Collectors.toList()))
+ .eq(InsProductResult2::getNum, orderState.getNum())
+ .eq(InsProductResult2::getFrequency, insProductResultDtos.getFrequency()));
+ List<InsProductResult2> result2s = new ArrayList<>();
+ List<InsProductUser> insProductUsers = new ArrayList<>();
+ for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
+ InsProduct insProduct = new InsProduct();
+ insProduct.setId(insProductResult2.getInsProductId());//椤圭洰id
+ InsProductResult2 result2 = new InsProductResult2();
+ result2.setNum(orderState.getNum());
+ result2.setInsProductId(insProductResult2.getInsProductId());
+ //棰戠巼
+ result2.setFrequency(insProductResultDtos.getFrequency());
+ //棰戠偣
+ if (insProductResult2.getOften() != null) {
+ result2.setOften(insProductResult2.getOften());
+ }
+ //绔彛
+ if (insProductResult2.getPort() != null) {
+ result2.setPort(insProductResult2.getPort());
+ }
+ //瑙掑害
+ if (insProductResult2.getAngle() != null) {
+ result2.setAngle(insProductResult2.getAngle());
+ }
+ //璁惧缂栧彿
+ if (insProductResult2.getEquipValue() != null) {
+ result2.setEquipValue(insProductResult2.getEquipValue());
+ }
+ //璁惧鍚嶇О
+ if (insProductResult2.getEquipName() != null) {
+ result2.setEquipName(insProductResult2.getEquipName());
+ }
+ insProduct = insProductMapper.selectById(insProduct.getId());
+ //鍊�
+ if (insProductResult2.getValue() != null) {
+ result2.setValue(insProductResult2.getValue());
+ //缁撹
+ int ressult = 1;
+ String valueStr = insProductResult2.getValue();
+ String regex = "[\u4e00-\u9fa5]";
+ if (!insProduct.getAsk().contains(",")) {
+ if (insProduct.getAsk().equals("/") || Pattern.compile(regex).matcher(insProduct.getAsk()).find()) {
+ ressult = 3; //涓嶅垽瀹�
+ } else if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) {
+ ressult = 0; //涓嶅悎鏍�
+ }
+ } else {
+ // 濡傛灉瑕佹眰鍊兼槸(2掳鈮�20,7掳鈮�25,12掳鈮�25)杩欑鎯呭喌
+ String[] askParts = insProduct.getAsk().split(",");
+ String[] angles = insProductResult2.getAngle().split(",");
+ for (String s : askParts) {
+ String[] askSplit = s.split("掳");
+ String angleKey = askSplit[0];
+ String angleValue = askSplit[1];
+ for (int i = 0; i < angles.length; i++) {
+ if (angles[i].split("掳")[0].equals(angleKey)) {
+ try {
+ String s1 = valueStr.substring(1, valueStr.length() - 1).split("\\],\\[")[i];
+ if (!s1.startsWith("[")) {
+ s1 = "[" + s1;
+ }
+ if (!s1.endsWith("]")) {
+ s1 = s1 + "]";
+ }
+ if (!isValueValid("[" + s1 + "]", new String[]{angleValue})) {
+ ressult = 0; // 涓嶅悎鏍�
+ break;
+ }
+ } catch (Exception e) {
+ } finally {
+ continue;
+ }
+ }
+ }
+ }
+ }
+ result2.setResult(ressult);
+ list.add(ressult);
+ }
+ result2.setCreateUser(userId);
+ result2.setUpdateUser(userId);
+ result2s.add(result2);
+ //insProductResult2Mapper.insert(result2);
+ //insProduct.setUpdateUser(userId);
+ //insProducts.add(insProduct);
+ //insProductMapper.updateById(insProduct);
+ insProductUsers.add(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+ //insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+ /*鏇存柊鏍峰搧鐨勬楠岀姸鎬�*/
+ insSample.setInsState(1);
+ Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId()));
+ Long l1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .and(wrapper -> wrapper
+ .isNotNull(InsProduct::getInsResult)
+ .or()
+ .ne(InsProduct::getInsResult, 2)
+ ));
+ if (l == l1) {
+ //濡傛灉鎵�鏈夐」鐩兘鏈夌粨璁�,閭d箞璇ユ牱鍝佺姸鎬佸凡妫�
+ insSample.setInsState(2);
+ }
+ }
+ insProductResult2Mapper.saveBatch(result2s);
+ insProductUserMapper.saveBatch(insProductUsers);
+ insSampleMapper.updateById(insSample);
+ /*鍒ゆ柇璇ョ珯鐐圭殑妫�楠岄」鐩槸鍚﹀叏閮ㄥ凡妫�*/
+ int count = insProductMapper.selectInsProductCountByOrderId(insSample.getInsOrderId());
+ if (count == 0) {
+ insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
+ .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
+ .set(InsOrderState::getInsState, 2));
+ }
+ return list;
+ }
+
+ //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�(杩斿洖/鎻愪氦)
+ @Override
+ public int saveInsContext2s(InsProductResultDtos insProductResultDtos) {
+ for (InsProductResultDto insProductResultDto : insProductResultDtos.getInsProductResultDtos()) {
+ saveInsContext2(insProductResultDto);
+ }
+ return 1;
+ }
+
+ /**
+ * 闇囧姩doc鏂囦欢瑙f瀽
+ * @param urlString
+ * @param orderId
+ * @param sampleId
+ * @param originFileName
+ * @return
+ */
+ private Map<String, String> docAnalysis(String urlString,Integer orderId,Integer sampleId,String originFileName) {
+ Map<String, String> analysisMap = new HashMap<>();
+ try {
+ File file = new File(urlString);
+ HWPFDocument document = new HWPFDocument(new FileInputStream(file));
+ Range range = document.getRange();
+ TableIterator tableIterator = new TableIterator(range);
+ List<Table> tableList = new ArrayList<>();
+ while (tableIterator.hasNext()) {
+ tableList.add(tableIterator.next());
+ }
+ for (int tableIndex = 0; tableIndex < tableList.size(); tableIndex++) {
+ // 鍙栫涓�涓〃鍗曢檺鍒跺弬鏁扮殑 鎸姩鍙板瀷鍙枫�佽繍鍔ㄩ儴浠剁瓑鏁堣川閲忋�佽瘯浠惰川閲忔暟鍊�
+ if(tableIndex == 0){
+ Table table = tableList.get(0);
+ for (int i = 0; i < table.numRows(); i++) {
+ String columnText = ObjectUtils.isEmpty(table.getRow(i).getCell(0))? "" : table.getRow(i).getCell(0).text();
+ String columnValue = ObjectUtils.isEmpty(table.getRow(i).getCell(1))? "" : table.getRow(i).getCell(1).text();
+ if(columnValue.contains("\u0007")){
+ columnValue = columnValue.replace("\u0007","");
+ }
+ if(columnText.contains("\u0007")){
+ columnText = columnText.replace("\u0007","");
+ }
+ if(columnText.equals("鎸姩鍙板瀷鍙�")){
+ analysisMap.put("11",columnValue);
+ }
+ if(columnText.equals("杩愬姩閮ㄤ欢绛夋晥璐ㄩ噺")){
+ analysisMap.put("12",columnValue);
+ }
+ if(columnText.equals("璇曚欢璐ㄩ噺")){
+ analysisMap.put("1",columnValue);
+ }
+ }
+ }
+ //鍙栫涓�涓〃鍗曡緭鍏ラ�氶亾鍙傛暟绗竴鏉℃暟鎹�
+ if(tableIndex == 1){
+ Table table = tableList.get(1);
+ if(ObjectUtils.isNotEmpty(table)&& table.numRows() > 0){
+ String columnValue = ObjectUtils.isEmpty(table.getRow(1).getCell(2))? "" : table.getRow(1).getCell(2).text();
+ if(columnValue.contains("\u0007")){
+ columnValue = columnValue.replace("\u0007","");
+ }
+ analysisMap.put("9",columnValue);
+ }
+ }
+ // 鍙栨渶鍚庝竴涓〃鍗曠涓夌鍥涜淇℃伅
+ if(tableIndex == tableList.size() - 1){
+ Table table = tableList.get(tableIndex);
+ for (int i = 0; i < table.numRows(); i++) {
+ String columnText = ObjectUtils.isEmpty(table.getRow(i).getCell(0))? "" : table.getRow(i).getCell(0).text();
+ String columnValue = ObjectUtils.isEmpty(table.getRow(i).getCell(1))? "" : table.getRow(i).getCell(1).text();
+ if(columnValue.contains("\u0007")){
+ columnValue = columnValue.replace("\u0007","");
+ }
+ if(columnText.contains("\u0007")){
+ columnText = columnText.replace("\u0007","");
+ }
+ if(columnText.contains("鎬昏繍琛屾椂闂�")){
+ analysisMap.put("13",columnValue);
+ }
+ if(columnText.contains("璇曢獙鎵鏁�")){
+ analysisMap.put("10",columnValue);
+ }
+ }
+ }
+ }
+ // 鍥剧墖缁戝畾
+ List<Picture> pictureList = document.getPicturesTable().getAllPictures();
+ String[] split = originFileName.split("\\.");
+ String docName = "";
+ if(null != split && split.length > 0){
+ docName = split[0];
+ }
+ for (Picture picture : pictureList) {
+ byte[] pictureData = picture.getContent();
+ File imgDir = new File(imgUrl);
+ if (!imgDir.exists()) {
+ imgDir.mkdirs();
+ }
+ String filename = docName + "_" + UUID.randomUUID()+".png";
+ File pictureFile = new File(imgUrl + File.separatorChar + filename);
+ // 鍒涘缓杈撳嚭娴佷互灏嗗浘鐗囨暟鎹啓鍏ュ埌鎸囧畾璺緞
+ try (OutputStream outputStream = new FileOutputStream(pictureFile)) {
+ // 鍐欏叆鏁版嵁
+ outputStream.write(pictureData);
+ }
+ InsOrderFile insOrderFile = new InsOrderFile();
+ insOrderFile.setInsOrderId(orderId);
+ insOrderFile.setInsSampleId(sampleId);
+ insOrderFile.setSonLaboratory("鎸姩");
+ insOrderFile.setType(1);
+ insOrderFile.setFileName(filename);
+ insOrderFile.setFileUrl(filename);
+ insOrderFileMapper.insert(insOrderFile);
+ }
+ }catch (Exception e){
+ log.error(e.getMessage());
+ }
+ return analysisMap;
+ }
+
+ //娓╂箍搴﹁瘯楠�+鍔熺巼璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+ @Override
+ public int saveInsContext3(InsProductResult insProductResult) {
+ //鍏堝垹鍚庡姞
+ insProductResultMapper.delete(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProductResult.getInsProductId())
+ .eq(InsProductResult::getNum, insProductResult.getNum()));
+ insProductResult.setEquipValue("[{\"v\":\"" + insProductResult.getEquipValue() + "\"}]");
+ insProductResult.setEquipName("[{\"v\":\"" + insProductResult.getEquipName() + "\"}]");
+ insProductResultMapper.insert(insProductResult);
+ return 0;
+ }
+
+ //瑙f瀽瑕佹眰鍊肩殑鏍煎紡
+ private boolean getResult(double s, String ask) {
+ // 澶勭悊卤鑼冨洿鐨勬潯浠�
+ if (ask.contains("卤")) {
+ Pattern pattern = Pattern.compile("(\\d+)卤(\\d+)");
+ Matcher matcher = pattern.matcher(ask);
+ if (matcher.matches()) {
+ double center = Double.parseDouble(matcher.group(1));
+ double tolerance = Double.parseDouble(matcher.group(2));
+ return Math.abs(s - center) <= tolerance;
+ }
+ }
+ // 澶勭悊鍏朵粬姣旇緝鏉′欢
+ if (ask.startsWith(">") || ask.startsWith("锛�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s > threshold;
+ } else if (ask.startsWith("鈮�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s >= threshold;
+ } else if (ask.startsWith("<")|| ask.startsWith("锛�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s < threshold;
+ } else if (ask.startsWith("鈮�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s <= threshold;
+ } else if (ask.equals("=")|| ask.startsWith("锛�")) {
+ double exactValue = Double.parseDouble(ask.substring(1));
+ return s == exactValue;
+ }
+ // 澶勭悊涓嶆敮鎸佺殑鏉′欢
+ throw new IllegalArgumentException("鏈煡鏍煎紡瑕佹眰鍊艰妫�鏌�" + ask);
+ }
+
+ //灏嗗墠绔紶杩囨潵鐨勫�艰浆鎹㈡垚鏁扮粍鐨勫舰寮�
+ private String[] parseValues(String valueStr) {
+ String trimmedStr = valueStr.substring(1, valueStr.length() - 1);
+ return Arrays.stream(trimmedStr.split("\\],\\["))
+ .map(s -> s.substring(1, s.length() - 1).split(","))
+ .flatMap(Arrays::stream)
+ .map(s -> s.replace("\"", ""))
+ .toArray(String[]::new);
+ }
+
+ //鍒よ鍚堟牸涓庝笉鍚堟牸
+ private boolean isValueValid(String valueStr, String[] valuesToCheck) {
+ for (String s : parseValues(valueStr)) {
+ if (ObjectUtils.isEmpty(s)) {
+ continue;
+ }
+ double numericValue = Math.abs(Double.parseDouble(s));
+ boolean valid = Arrays.stream(valuesToCheck)
+ .allMatch(v -> getResult(numericValue, v));
+ if (!valid) {
+ return false;
+ }
+ }
+ return true;
+ }
+
//浜ゆ帴
@Override
- public int upPlanUser(Integer userId, Integer orderId,String sonLaboratory) {
+ public int upPlanUser(Integer userId, Integer sampleId, String sonLaboratory) {
InsSampleUser insSampleUser = new InsSampleUser();
insSampleUser.setUserId(userId);
- insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setInsSampleId(sampleId);
insSampleUser.setState(0);
insSampleUser.setSonLaboratory(sonLaboratory);
return insSampleUserMapper.insert(insSampleUser);
@@ -624,2742 +1107,205 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
- Integer num = (type == 1 ? 5 : 4);
+ public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) {
LocalDateTime now = LocalDateTime.now();
- 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*/
- //杩欓噷鐨刬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));
- List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
- if (results.contains(0)) {
- insSample.setInsResult(0);
- } else {
- insSample.setInsResult(1);
- }
- insSampleMapper.updateById(insSample);
- /*澶嶆牳閫氳繃鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
- 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());
- 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);
- }
- }
+ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ List<InsUnPass> insUnPasses = new ArrayList<>();
+ /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
+ InsSample insSample = insSampleMapper.selectById(sampleId);
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getSonLaboratory, laboratory)
+ .eq(InsProduct::getState, 1));
+ List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
+ if (results.contains(0)) {
+ insSample.setInsResult(0);
+ } else {
+ insSample.setInsResult(1);
+ }
+ insSampleMapper.updateById(insSample);
+ /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
+ InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+ 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());
+ insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
+ insUnPass.setLastValue(insProduct.getLastValue());
+ insUnPass.setEntrustCode(insOrder.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());
- //samples鏄笉鍖呮嫭甯︽湁"/"鐨勬牱鍝�
- List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
- InsReport insReport = new InsReport();
- insReport.setCode(insOrder.getEntrustCode());
- insReport.setInsOrderId(orderId);
- List<Map<String, Object>> tables = new ArrayList<>();
- Set<String> standardMethod = new HashSet<>();
- Set<String> deviceSet = new HashSet<>();
- Set<String> models = new HashSet<>();
- AtomicReference<Integer> productSize = new AtomicReference<>(0);
- 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<>();
- Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId()));
- 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.getInsProduct());
- for (InsProduct b : a.getInsProduct()) {
- if (b.getInsProductResult() != null) {
- List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
- for (JSONObject jsonObject : jsonObjects) {
- if (!"".equals(jsonObject.get("v") + "")) {
- deviceSet.add(jsonObject.get("v") + "");
- }
- }
- }
- if (b.getTemplate() == null) {
- continue;
- }
- if (b.getTemplate().size() == 0) {
- continue;
- }
- templateSet.add(JSON.toJSONString(b.getTemplate()));
- }
- AtomicInteger index = new AtomicInteger();
- Set<String> itemSet = new HashSet<>();
- templateSet.forEach(tem -> {
- Set<Integer> set2 = new HashSet<>();
- List<RowRenderData> rows = new ArrayList<>();
- List<TextRenderData> text = new ArrayList<>();
- RowRenderData rowRenderData;
- Set<String> delSet = new HashSet<>();
- List<ExcelDto> excelDtos = JSON.parseArray(tem, ExcelDto.class);
- List<ExcelDto> mcList = new ArrayList<>();
- excelDtos.forEach(b -> {
- if (b.getV().getMc() != null && b.getV().getMc().getCs() != null && b.getV().getMc().getRs() != null) {
- mcList.add(b);
- }
- });
- int count5 = 0;
- for (ExcelDto b : mcList) {
- for (ExcelDto excelDto : excelDtos) {
- for (int i = 0; i < b.getV().getMc().getCs(); i++) {
- for (int i2 = 0; i2 < b.getV().getMc().getRs(); i2++) {
- if (excelDto.getC() == b.getC() + i && excelDto.getR() == b.getR() + i2) {
- ExcelDto bb = JSON.parseObject(JSON.toJSONString(b), ExcelDto.class);
- excelDto.getV().setV(bb.getV().getV());
- excelDto.getV().setPs(bb.getV().getPs());
- excelDto.getV().setFc(bb.getV().getFc());
- excelDto.getV().setFs(bb.getV().getFs());
- excelDto.getV().setHt(bb.getV().getHt());
- excelDto.setMc(count5);
- break;
- }
- }
- }
- }
- count5++;
- }
- List<JSONObject> temp = JSON.parseArray(JSON.toJSONString(excelDtos), JSONObject.class);
- Map<String, InsProduct> pMap = new HashMap<>();
- Set<String> delRSet = new HashSet<>();
- delRSet.add("0");
- for (JSONObject jo1 : temp) {
- JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v")));
- if (Integer.parseInt(jo1.get("c") + "") > 9) {
- delSet.add(jo1.get("c") + "");
- continue;
- }
- if (v.get("ps") != null) {
- int count3 = 0;
- String str = "";
- String s = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + "";
- if (s.contains("妫�楠屽��") || s.contains("璁惧鍚嶇О") || s.contains("璁惧缂栫爜") || s.contains("璇曢獙鏂规硶") || s.contains("妫�娴嬫柟娉�")) {
- delSet.add(jo1.get("c") + "");
- continue;
- }
- for (JSONObject jo2 : temp) {
- JSONObject v2 = JSON.parseObject(JSON.toJSONString(jo2.get("v")));
- if (jo1.get("r").equals(jo2.get("r"))) {
- if (v2.get("ps") != null && JSON.parseObject(JSON.toJSONString(v2.get("ps"))).get("value").toString().contains("妫�楠岄」")) {
- if (count3 == 0) {
- str += v2.get("v");
- count3 += 1;
- }
- } else if (v2.get("ps") != null && JSON.parseObject(JSON.toJSONString(v2.get("ps"))).get("value").toString().contains("妫�楠屽瓙椤�")) {
- if (count3 == 1) {
- str += v2.get("v");
- count3 += 1;
- }
- }
- }
- }
- if (!str.equals("")) {
- int count2 = 0;
- for (InsProduct product : a.getInsProduct()) {
- if ((product.getInspectionItem() + product.getInspectionItemSubclass()).equals(str)) {
- pMap.put(jo1.get("r") + "", product);
- break;
- } else {
- count2++;
- }
- }
- if (count2 == a.getInsProduct().size()) {
- delRSet.add(jo1.get("r") + "");
- }
- }
- }
- }
- for (int i = 0; i < temp.size(); i++) {
- JSONObject jo1 = temp.get(i);
- TextRenderData textRenderData = new TextRenderData();
- if (set2.add(Integer.parseInt(jo1.get("r") + ""))) {
- if (text.size() > 0) {
- TextRenderData[] text2 = text.toArray(new TextRenderData[0]);
- rowRenderData = Rows.of(text2).center().rowAtleastHeight(1).create();
- rows.add(rowRenderData);
- text = new ArrayList<>();
- }
- }
- if (delRSet.stream().anyMatch(e -> e.equals(jo1.get("r") + ""))) {
- continue;
- }
- if (delSet.stream().anyMatch(e -> e.equals(jo1.get("c") + ""))) {
- continue;
- }
- JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v")));
- InsProduct p = pMap.get(jo1.get("r") + "");
- if (p != null && v.get("ps") != null) {
- String value = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + "";
- if (value.contains("瑕佹眰鍊�")) {
- textRenderData.setText(ObjectUtils.isNotEmpty(p.getTell()) ? p.getTell() : "");
- } else if (value.contains("鍗曚綅")) {
- textRenderData.setText(p.getUnit());
- } else if (value.contains("缁撹")) {
- switch (p.getInsResult()) {
- case 1:
- 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()));
- textRenderData.setText("脳");
- break;
- default:
- textRenderData.setText("-");
- break;
- }
- } else if (value.contains("搴忓彿")) {
- if (itemSet.add(p.getInspectionItem())) {
- index.getAndIncrement();
- }
- textRenderData.setText(index + "");
- } else if (value.contains("璁$畻鍊�")) {
- JSONArray jsonArray = JSON.parseArray(p.getInsProductResult().getComValue());
- textRenderData.setText((JSON.parseObject(JSON.toJSONString(jsonArray.get(0))).get("v") + "").equals("") ? "/" : JSON.parseObject(JSON.toJSONString(jsonArray.get(0))).get("v") + "");
- } else if (value.contains("鏈�缁堝��")) {
- textRenderData.setText(p.getLastValue());
- } else if (value.contains("鏍峰搧缂栧彿")) {
- textRenderData.setText(a.getSampleCode());
- } else if (value.contains("鏍峰搧鍨嬪彿")) {
- textRenderData.setText(a.getModel());
- } else if (value.contains("鏍峰搧鍚嶇О")) {
- textRenderData.setText(a.getSample());
- } else if (value.contains("璇曢獙鏂规硶")) {
- textRenderData.setText(p.getMethodS());
- } else if (value.contains("妫�楠岄」")) {
- if (ObjectUtils.isEmpty(p.getInspectionItemEn())) {
- textRenderData.setText(p.getInspectionItem());
- } else {
- textRenderData.setText(p.getInspectionItem() + "@" + p.getInspectionItemEn());
- }
- } else if (value.contains("妫�楠屽瓙椤�")) {
- if (ObjectUtils.isEmpty(p.getInspectionItemSubclassEn())) {
- textRenderData.setText(p.getInspectionItemSubclass());
- } else {
- textRenderData.setText(p.getInspectionItemSubclass() + "@" + p.getInspectionItemSubclassEn());
- }
- } else {
- textRenderData.setText(v.get("v") == null ? "" : v.get("v") + "");
- }
- } else if (p == null && v.get("ps") != null) {
- String value = JSON.parseObject(JSON.toJSONString(v.get("ps"))).get("value") + "";
- p = pMap.get(pMap.keySet().iterator().next());
- if (value.contains("鏈�缁堝��")) {
- textRenderData.setText(p.getLastValue());
- } else if (value.contains("缁撹")) {
- switch (p.getInsResult()) {
- case 1:
- 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()));
- textRenderData.setText("鉁�");
- break;
- default:
- textRenderData.setText("-");
- break;
- }
- } else if (value.contains("鏍峰搧缂栧彿")) {
- textRenderData.setText(a.getSampleCode());
- } else if (value.contains("鏍峰搧鍨嬪彿")) {
- textRenderData.setText(a.getModel());
- } else if (value.contains("鏍峰搧鍚嶇О")) {
- textRenderData.setText(a.getSample());
- } else {
- textRenderData.setText(v.get("v") == null ? "" : v.get("v") + "");
- }
- } else {
- textRenderData.setText(v.get("v") == null ? "" : v.get("v") + "");
- }
- if (jo1.get("mc") != null) {
- textRenderData.setText(textRenderData.getText() + "鈭�" + jo1.get("mc"));
- }
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- if (!((v.get("fc") + "").indexOf("rgb") > -1)) {
- style.setColor(v.get("fc") == null ? "000000" : (v.get("fc") + "").replace("#", ""));
- } else {
- style.setColor("000000");
- }
- textRenderData.setStyle(style);
- text.add(textRenderData);
- }
- TextRenderData[] text2 = text.toArray(new TextRenderData[0]);
- rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create();
- if (rowRenderData.getCells().size() != 0) {
- rows.add(rowRenderData);
- }
- List<TableRenderData> tables1 = new ArrayList<>();
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(new ArrayList<>());
- double totalHeight = 0.0; // 鐢ㄤ簬璺熻釜褰撳墠琛ㄦ牸鐨勬�昏楂�
- double heightThreshold = 8000.0; // 闃堝�硷紝
- List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
- // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
- if (rows.size() >= 2) {
- firstTwoRows.add(rows.get(0));
- firstTwoRows.add(rows.get(1));
- }
- for (RowRenderData row : rows) {
- double rowHeight = row.getRowStyle().getHeight(); // 鑾峰彇褰撳墠琛岀殑琛岄珮
- totalHeight += rowHeight; // 鏇存柊鎬昏楂�
- if (totalHeight >= heightThreshold) {
- // 鍒涘缓鏂拌〃鏍煎苟澶嶅埗鍓嶄袱琛�
- TableRenderData newTableRenderData = new TableRenderData();
- newTableRenderData.setRows(new ArrayList<>(firstTwoRows));
- //璁剧疆鏍峰紡
- TableStyle tableStyle = new TableStyle();
- tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100});
- tableStyle.setWidth("10000");
- 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);
- newTableRenderData.setTableStyle(tableStyle);
- tables1.add(tableRenderData);
- tableRenderData = newTableRenderData;
- totalHeight = rowHeight;
- }
- tableRenderData.getRows().add(row);
- }
- if (!tableRenderData.getRows().isEmpty()) {
- //璁剧疆鏍峰紡
- TableStyle tableStyle = new TableStyle();
- tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100});
- tableStyle.setWidth("10000");
- 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);
- tables1.add(tableRenderData);
- }
- tables1.forEach(table -> {
- Map<String, Object> tableMap = new HashMap<>();
- tableMap.put("table", table);
- tableMap.put("report", insReport);
- tables.add(tableMap);
- });
- });
- });
- /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/
- //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸
- 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<>();
- //琛ㄦ牸鐨勮鏁� 脳 鈭� 鉁� 鉁�
- long count1 = size-(index-1)*number < number ? size-(index-1)*number + 3 : number + 3;
- for (int j = 0; j <count1 ; 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 == count1-1) {
- //鏈�鍚庝竴琛�
- 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;
- try {
- insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
- } catch (Exception e) {
- continue;
- }
- 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;
- try {
- insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
- } catch (Exception e) {
- continue;
- }
- 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;
- try {
- insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
- } catch (Exception e) {
- continue;
- }
- 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;
- try {
- insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
- } catch (Exception e) {
- continue;
- }
- 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.get() + "-" + max.get());//妫�楠岀粨鏋�
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏈�鍚庝竴鍒�
- String insProduct;
- try {
- insProduct = filteredProducts.get((int) ((j - 2) + 10 * (index - 1)));
- } catch (Exception e) {
- continue;
- }
- 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("姣忚鍗曞厓鏍间笉鐩哥瓑1");
- }
- }
- 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;
- try {
- product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
- } catch (Exception e) {
- continue;
- }
- 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;
- try {
- product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
- } catch (Exception e) {
- continue;
- }
- 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;
- try {
- product = filteredProducts.get((int) ((k - 1) + (index4 - 1) * 7));
- } catch (Exception e) {
- continue;
- }
- 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);
- }
- }
+ }
+ insUnPassService.saveBatch(insUnPasses);
+ /*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
+ // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
+ InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .orderByDesc(InsOrderState::getId)
+ .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰�
+ if (record != null) {
+ //鏇存柊璁板綍
+ insOrderUserMapper.update(null, Wrappers.<InsOrderUser>lambdaUpdate()
+ .eq(InsOrderUser::getInsOrderStateId, record.getId())
+ .eq(InsOrderUser::getNum, record.getNum())
+ .set(InsOrderUser::getTell, tell));
+ switch (type) {
+ case 0:
+ //鍐嶆璇曢獙:璇ュ崟瀛愰��鍥炲埌妫�楠岀姸鎬�(鎺掑簭鏀规垚褰撳墠鐨勬渶鍚�),娆℃暟閫掑(淇濈暀浠ュ墠鐨勬暟鎹�)锛�
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getId, record.getId())
+ .set(InsOrderState::getInsTime, now)
+ .set(InsOrderState::getInsState, 4)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId)
+ .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
+ .set(InsOrderState::getCreateTime, LocalDateTime.now()));
+ break;
+ case 1:
+ //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 6)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId));
+ break;
+ case 2:
+ //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 5)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId));
+ //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
+ for (InsSample sample : insSamples) {
+ try{
+ outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+ }catch (Exception e){
- }
- 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("姣忚鍗曞厓鏍间笉鐩哥瓑2");
- }
- }
- 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());
- long index41 = 1;
- for (int i = 0; i < sampleList.size(); i++) {
- if (i % 16 == 0) {
- //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍�
- List<RowRenderData> rows = new ArrayList<>();
- int count2 = sampleList.size()-(index41-1)*16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17;
- //琛ㄦ牸鐨勮鏁�
- for (int j = 0; j < count2; 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).getModel() + "鈭�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("姣忚鍗曞厓鏍间笉鐩哥瓑3");
- }
- }
- 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++;
- index41++;
- }
- }
- tables4.forEach(table4 -> {
- table4.put("tableSize4", tables4.size());
- });
-
- }
- String url;
- try {
- InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
- File file = File.createTempFile("temp", ".tmp");
- OutputStream outputStream = new FileOutputStream(file);
- IOUtils.copy(inputStream, outputStream);
- url = file.getAbsolutePath();
- } catch (FileNotFoundException e) {
- throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�");
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- StringBuilder standardMethod2 = new StringBuilder();
- for (String s : standardMethod) {
- standardMethod2.append("銆�").append(s);
- }
- standardMethod2.replace(0, 1, "");
- tables.forEach(table -> {
- table.put("tableSize", tables.size() + 1);
- });
- List<Map<String, String>> deviceList = null;
- if (deviceSet.size() != 0) {
- deviceList = insOrderMapper.selectDeviceList(deviceSet);
- }
- Map<String, String> codeStr = new HashMap<>();
- codeStr.put("鎶ュ憡缂栧彿", insReport.getCode());
- codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample());
- codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel());
- codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- String codePath;
- try {
- codePath = new MatrixToImageWriter().code(JackSonUtil.marshal(codeStr).replaceAll("\\{", "")
- .replaceAll("}", "").replaceAll(",", "").replaceAll("\"", ""), twoCode);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- String modelStr = "";
- for (String model : models) {
- modelStr += "," + model;
- }
- String finalModelStr = modelStr;
- String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample());
- String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType());
- String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType());
- ConfigureBuilder builder = Configure.builder();
- builder.useSpringEL(true);
- List<Map<String, String>> finalDeviceList = deviceList;
- 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("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- if (signatureUrl.equals("")) {
- throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- //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.");
- } else {
- 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()))
- .isNotNull(InsProduct::getInsFiberId)
- .isNull(InsProduct::getInspectionItemClass));//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
- List<Map<String, Object>> tables2 = new ArrayList<>();
- if (insProducts.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)
- .isNull(InsProduct::getInspectionItemClass));
- List<InsProduct> filteredProducts = insProducts1.stream()
- .collect(Collectors.groupingBy(product -> product.getInspectionItem() + product.getInspectionItemSubclass()))
- .values().stream()
- .map(group -> group.get(0))
- .sorted(Comparator.comparing(InsProduct::getInspectionItem))
- .collect(Collectors.toList());
- long size = insProducts1.stream().map(insProduct -> {
- return (insProduct.getInspectionItem() + insProduct.getInspectionItemSubclass());
- }).distinct().collect(Collectors.toList()).size();
- long size2 = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().count();
- long number = 7;
- long k = 0;
- long index2 = 1;
- for (long c = 0; c < size; c++) {
- if (c % number == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- Boolean state = true;
- for (InsProduct insProduct : filteredProducts) {
- 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 < 9; 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("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- try {
- filteredProducts.get((int) (j - 2 + k));
- } catch (Exception e) {
- continue;
- }
- textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItem() + "@" + insProducts1.get((int) (j - 2 + k)).getInspectionItemEn() + "鈭�" + (j + 101 + k));
- 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("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- try {
- filteredProducts.get((int) (j - 2 + k));
- } catch (Exception e) {
- continue;
- }
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- if (filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass().equals("") || filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass() == null) {
- textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItem() + "@" + filteredProducts.get((int) (j - 2 + k)).getInspectionItemEn() + "鈭�" + (j + 101 + k));
- } else {
- textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclass() + "@" + filteredProducts.get((int) (j - 2 + k)).getInspectionItemSubclassEn());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- int aa;
- if (a == 2) {
- aa = (int) i - 2;
- } else aa = (int) i - 1;
- List<Integer> list = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().collect(Collectors.toList());
- try {
- insFiberMapper.selectById(list.get(aa));
- } catch (Exception e) {
- continue;
- }
- InsFiber insFiber = insFiberMapper.selectById(list.get(aa));
- //濉��
- 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 {
- //椤圭洰淇℃伅
- try {
- filteredProducts.get((int) (j - 2 + k));
- } catch (Exception e) {
- continue;
- }
- textRenderData.setText(filteredProducts.get((int) (j - 2 + k)).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("姣忚鍗曞厓鏍间笉鐩哥瓑4");
- }
- }
- 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());
- table.put("index2", index2);
- tables2.add(table);
- k += 7;
- index2++;
}
}
- });
- }
- tables2.forEach(table2 -> {
- table2.put("tableSize2", tables2.size());
- });
-
- /*娓╁害寰幆鐨勬楠屾姤鍛�*/
- //鍏堝垽鏂槸鍚︽湁娓╁害寰幆
- List<InsProduct> insProducts3 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
- .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
- .isNotNull(InsProduct::getInsFiberId));
- List<Map<String, Object>> tables3 = new ArrayList<>();
- if (insProducts3.size() > 0) {
- samples.forEach(sample -> {
- //鏌ヨ娓╁害寰幆涓嬬殑妫�楠岄」鐩�
- List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .isNotNull(InsProduct::getInspectionItemClass));
-
- //鑾峰彇鎵�鏈夋楠岄」鐩�,鎸夌収寰幆娆℃暟,鑹叉爣,娓╁害,nm杩涜鎺掑簭
- Map<String, Integer> temperatureToIdMap = new HashMap<>();
- for (InsProduct product : insPros) {
- String temperature = product.getInspectionItemSubclass();
- int id = product.getId();
- temperatureToIdMap.putIfAbsent(temperature, id);
- if (temperatureToIdMap.get(temperature) > id) {
- temperatureToIdMap.put(temperature, id);
- }
- }
-
- // 鑷畾涔夋帓搴�
- Collections.sort(insPros, new Comparator<InsProduct>() {
- @Override
- public int compare(InsProduct p1, InsProduct p2) {
- // 棣栧厛鎸塯etInspectionItem鎺掑簭
- int result = p1.getInspectionItem().compareTo(p2.getInspectionItem());
- if (result != 0) {
- return result;
- }
- // 濡傛灉getInspectionItem鐩哥瓑锛屽啀鎸塯etInsFiberId鎺掑簭
- result = p1.getInsFiberId().compareTo(p2.getInsFiberId());
- if (result != 0) {
- return result;
- }
- // 濡傛灉getInsFiberId涔熺浉绛夛紝鏈�鍚庢寜getInspectionItemSubclass鎺掑簭
- return compareTemperature(p1.getInspectionItemSubclass(), p2.getInspectionItemSubclass());
- }
-
- private int compareTemperature(String temp1, String temp2) {
- // 鏍规嵁娓╁害瀵瑰簲鐨刬d杩涜鎺掑簭
- int id1 = temperatureToIdMap.get(temp1);
- int id2 = temperatureToIdMap.get(temp2);
-
- return Integer.compare(id1, id2);
- }
- });
- List<InsProduct> filteredProducts = insPros;
- //鑾峰彇鎵�鏈夊厜绾よ壊鏍�
- List<InsFiber> insFibers = insFiberMapper.selectBatchIds(insPros.stream().map(InsProduct::getInsFiberId).collect(Collectors.toList()));
- //鑾峰彇鎵�鏈夌殑娓╁害(闄や簡绗竴涓�20鈩�(甯告俯))
- List<String> temperature = insPros.stream().map(InsProduct::getInspectionItemSubclass).filter(s -> !s.equals("20鈩�(甯告俯)")).distinct().collect(Collectors.toList());
- //鑾峰彇鎵�鏈夌殑娓╁害(闄や簡绗竴涓�20鈩�(甯告俯)鍜屾渶鍚庝竴涓�20鈩�)
- List<String> temperature2 = insPros.stream().map(InsProduct::getInspectionItemSubclass).filter(s -> !s.equals("20鈩�(甯告俯)")).filter(s -> !s.equals("20鈩�")).distinct().collect(Collectors.toList());
- //鑾峰彇鎵�鏈夌殑鍏夌氦椤圭洰(1310nm)
- List<String> nm = insPros.stream().map(InsProduct::getInspectionItemClass).distinct().collect(Collectors.toList());
- //鑾峰彇鎵�鏈夋楠岄」鐩殑鏁伴噺(鍒楁暟)(杩欓噷闇�瑕佹敞鎰忎袱涓俯搴�,涓�涓槸20鈩冨父娓�(鍙湁绗竴娆″惊鐜墠鏈�),鍙︿竴涓槸20鈩�(鍙湁鏈�鍚庝竴涓惊鐜墠鏈�))
- long size = insPros.stream().map(insProduct -> {
- return (insProduct.getInspectionItemSubclass() + insProduct.getInspectionItemClass());
- }).distinct().collect(Collectors.toList()).size();
- //鑾峰彇寰幆娆℃暟(琛ㄦ牸鐨勬暟閲�)
- int size1 = insPros.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.toList()).size();
- //鑾峰彇鍏夌氦鑹叉爣鐨勬暟閲�(琛屾暟)
- long size2 = insPros.stream().map(InsProduct::getInsFiberId).distinct().count();
- long index3 = 1;
- for (int i = 0; i < size1; i++) {
- //鎸夌収寰幆娆℃暟鐢熸垚瀵瑰簲鏁伴噺鐨勮〃鏍�
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�(鍏夌氦鑹叉爣鐨勬暟閲�+8)
- for (long j = 0; j < size2 + 8; j++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁伴渶瑕佹牴鎹惊鐜殑娆℃暟瀵瑰簲鐨勬敼鍙�
- if (size1 == 1) {
- //濡傛灉鍙惊鐜竴娆�,閭d箞鍒楁暟鍖呮嫭20鈩冨拰20鈩冨父娓�(2 * size - nm.size()+1)
- for (long k = 0; k < 2 * size - nm.size() + 1; 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 <= (2 * size - nm.size() + 1) / 4) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
- } else if (k > (2 * size - nm.size() + 1) / 4 && k <= (2 * size - nm.size() + 1) / 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode() + "鈭�998");
- } else if (k > (2 * size - nm.size() + 1) / 2 && k < 2 * size - nm.size()) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type 鈭�999");
- } else {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- } else {
- textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒�
- textRenderData.setText("20鈩�(甯告俯)鈭�1006");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏍规嵁娓╁害寰幆
- for (int i1 = 0; i1 < temperature.size(); i1++) {
- if (k > (2 * i1 + 1) * nm.size() && k <= (2 * i1 + 3) * nm.size()) {
- //绗笁鍒�
- textRenderData.setText(temperature.get(i1) + "鈭�52" + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } else if (j == 3) {
- //绗洓琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒�
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k == i1 + 1) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- } else {
- for (int j1 = 0; j1 < temperature.size(); j1++) {
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k > (i1 + 1 + 2 * j1) * nm.size() && k <= (i1 + 1 + 2 * j1) * nm.size() + 2) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- }
- } else if (j == 4) {
- //绗簲琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒�
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > nm.size() && (k - (nm.size())) % 2 == 0) {
- textRenderData.setText("|鈭� 伪|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 5) {
- //鍊掓暟绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- //璁$畻20鈩冨父娓╃殑绗�(k-1)涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (k - 1)))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k + 1) / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - (nm.size() + 2)) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 6) {
- //鍊掓暟绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|鈭� 伪 max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 7) {
- //鍊掓暟绗竴琛�
- textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
- if (k == 0) {
- //绗竴鍒楀~鍐欒壊鏍�
- textRenderData.setText(insFibers.get((int) (j - 5)).getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒楀~鍐�20鈩冨父娓╃殑骞冲潎鍊�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k - 1)).getId())).getComValue().split(":")[1].split("\"")[1]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- //濉啓琛板噺宸氨鏄痩ast_value
- textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k / 2)).getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + (k + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]);
- 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);
- }
- } else {
- //濡傛灉鏈夊娆″惊鐜�
- if (i == 0) {
- //绗竴娆″惊鐜殑鍒楁暟,閭d箞鍒楁暟鍖呮嫭20鈩冨父娓�(2 * (size-nm.size()) -nm.size()+1)
- for (long k = 0; k < 2 * (size - nm.size()) - nm.size() + 1; 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 <= (2 * (size - nm.size()) - nm.size() + 1) / 4) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
- } else if (k > (2 * (size - nm.size()) - nm.size() + 1) / 4 && k <= (2 * (size - nm.size()) - nm.size() + 1) / 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode() + "鈭�998");
- } else if (k > (2 * (size - nm.size()) - nm.size() + 1) / 2 && k < 2 * (size - nm.size()) - nm.size()) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999");
- } else {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- } else {
- textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒�
- textRenderData.setText("20鈩�(甯告俯)鈭�1006");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏍规嵁娓╁害寰幆
- for (int i1 = 0; i1 < temperature2.size(); i1++) {
- if (k > (2 * i1 + 1) * nm.size() && k <= (2 * i1 + 3) * nm.size()) {
- //绗笁鍒�
- textRenderData.setText(temperature2.get(i1) + "鈭�52" + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } else if (j == 3) {
- //绗洓琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒�
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k == i1 + 1) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- } else {
- for (int j1 = 0; j1 < temperature2.size(); j1++) {
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k > (i1 + 1 + 2 * j1) * nm.size() && k <= (i1 + 1 + 2 * j1) * nm.size() + 2) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- }
- } else if (j == 4) {
- //绗簲琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 0 && k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒�
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > nm.size() && (k - (nm.size())) % 2 == 0) {
- textRenderData.setText("|鈭� 伪|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 5) {
- //鍊掓暟绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- //璁$畻20鈩冨父娓╃殑绗�(k-1)涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (k - 1)))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k + 1) / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - (nm.size() + 2)) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 6) {
- //鍊掓暟绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|鈭� 伪 max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k / (nm.size() + 2)) - 1)))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - (nm.size() + 2)) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 7) {
- //鍊掓暟绗竴琛�
- textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
- if (k == 0) {
- //绗竴鍒楀~鍐欒壊鏍�
- textRenderData.setText(insFibers.get((int) (j - 5)).getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= nm.size()) {
- //绗簩鍒楀拰绗笁鍒楀~鍐�20鈩冨父娓╃殑骞冲潎鍊�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() + 1) * nm.size() + k - 1)).getId())).getComValue().split(":")[1].split("\"")[1]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if ((k - (nm.size())) % 2 == 0) {
- //濉啓琛板噺宸氨鏄痩ast_value
- textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + k / 2)).getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + (k + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } 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();
- 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 <= (2 * (size - nm.size()) + 1) / 4) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
- } else if (k > (2 * (size - nm.size()) + 1) / 4 && k <= (2 * (size - nm.size()) + 1) / 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode() + "鈭�998");
- } else if (k > (2 * (size - nm.size()) + 1) / 2 && k < 2 * (size - nm.size())) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999");
- } else {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- } else {
- textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏍规嵁娓╁害寰幆
- for (int i1 = 0; i1 < temperature.size(); i1++) {
- if (k > (2 * i1) * nm.size() && k <= (2 * i1 + 2) * nm.size()) {
- //绗笁鍒�
- textRenderData.setText(temperature.get(i1) + "鈭�52" + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } else if (j == 3) {
- //绗洓琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- for (int j1 = 0; j1 < temperature.size(); j1++) {
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k > (i1 + 2 * j1) * nm.size() && k <= (i1 + 2 * j1) * nm.size() + 2) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- }
- } else if (j == 4) {
- //绗簲琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- textRenderData.setText("|鈭� 伪|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 5) {
- //鍊掓暟绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size()))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (k / (2 * nm.size()))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - nm.size()) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 6) {
- //鍊掓暟绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|鈭� 伪 max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size()))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 7) {
- //鍊掓暟绗竴琛�
- textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
- if (k == 0) {
- //绗竴鍒楀~鍐欒壊鏍�
- textRenderData.setText(insFibers.get((int) (j - 5)).getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- //濉啓琛板噺宸氨鏄痩ast_value
- textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + ((temperature.size() * nm.size() * size2 * i) - (size2 * nm.size() * (i - 1))) + (k - 2) / 2)).getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size()) * nm.size() + ((temperature.size() * nm.size() * size2 * i) - (size2 * nm.size() * (i - 1))) + ((k - 2) + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } 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();
- 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 <= (2 * (size - 2 * nm.size()) + 1) / 4) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
- } 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())) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�999");
- } else {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- } else {
- textRenderData.setText("妫�娴嬬粨鏋�(寰幆" + (i + 1) + ")鈭�1005");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏍规嵁娓╁害寰幆
- for (int i1 = 0; i1 < temperature2.size(); i1++) {
- if (k > (2 * i1) * nm.size() && k <= (2 * i1 + 2) * nm.size()) {
- //绗笁鍒�
- textRenderData.setText(temperature2.get(i1) + "鈭�52" + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- } else if (j == 3) {
- //绗洓琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- for (int j1 = 0; j1 < temperature2.size(); j1++) {
- for (int i1 = 0; i1 < nm.size(); i1++) {
- if (k > (i1 + 2 * j1) * nm.size() && k <= (i1 + 2 * j1) * nm.size() + 2) {
- textRenderData.setText(nm.get(i1));
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- }
- } else if (j == 4) {
- //绗簲琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- textRenderData.setText("|鈭� 伪|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("琛板噺");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 5) {
- //鍊掓暟绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (((k - 1) / (2 * nm.size())))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) (k / (2 * nm.size()))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) (((k + 1) - nm.size()) / 2 % nm.size())))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- return insProductResult.getComValue().split(":")[1].split("\"")[1];
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 6) {
- //鍊掓暟绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|鈭� 伪 max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, temperature.get((int) ((k - 1) / (2 * nm.size()))))
- .eq(InsProduct::getInspectionItemClass, nm.get((int) ((k - nm.size()) / 2 % nm.size()))))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- textRenderData.setText("-");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (j == size2 + 7) {
- //鍊掓暟绗竴琛�
- textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
- if (k == 0) {
- //绗竴鍒楀~鍐欒壊鏍�
- textRenderData.setText(insFibers.get((int) (j - 5)).getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- //濉啓琛板噺宸氨鏄痩ast_value
- textRenderData.setText(filteredProducts.get((int) ((j - 5) * (temperature.size() - 1) * nm.size() + (temperature.size() * nm.size() * size2) + (k - 2) / 2)).getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
- textRenderData.setText(insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, filteredProducts.get((int) ((j - 5) * (temperature.size() - 1) * nm.size() + (temperature.size() * nm.size() * size2) + ((k - 2) + 1) / 2)).getId())).getComValue().split(":")[1].split("\"")[1]);
- 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("姣忚鍗曞厓鏍间笉鐩哥瓑5");
- }
- }
- 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("table3", tableRenderData);
- table.put("report", insReport);
- table.put("index3", index3);
- tables3.add(table);
- index3++;
- }
- });
- }
- tables3.forEach(table3 -> {
- table3.put("tableSize3", tables3.size());
- });
-
- /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/
- 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("/");
- }
- //妫�楠岄」鐩殑鐜
- InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0);
- String environment = "";
- environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
- String finalEnvironment = environment;
- XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
- new HashMap<String, Object>() {{
- put("order", insOrder);
- put("report", insReport);
- put("environment", finalEnvironment);
- put("custom", custom);
- put("sampleSize", samples.size());
- put("tables", tables);
- put("tableSize", tables.size() + 1);
- put("tables2", tables2);
- 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());
- put("models", finalModelStr.replace(",", ""));
- put("productSize", productSize);
- put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
- put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- 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);
- put("orderType", orderType);
- put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear());
- put("seal1", null);
- put("seal2", null);
- put("formTypeCh", formType);
- put("formTypeEn", insOrder.getFormType());
- put("resultCh", resultCh.get());
- put("resultEn", resultEn.get());
- }});
- try {
- String name = insReport.getCode().replace("/", "") + ".docx";
- template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
- insReport.setUrl("/word/" + name);
- insReportMapper.insert(insReport);
- insOrder.setInsState(5);
- insOrderMapper.updateById(insOrder);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂
- String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx";
- try {
- FileInputStream stream = new FileInputStream(path);
- XWPFDocument document = new XWPFDocument(stream);
- List<XWPFTable> xwpfTables = document.getTables();
- for (int i = 1; i < xwpfTables.size() - (deviceList == null ? 1 : 2); i++) {
- Set<String> set1 = new HashSet<>();
- Map<String, Map<String, Integer>> maps = new HashMap<>();
- for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
- for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
- if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) {
- String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�");
- if (set1.add(split[1])) {
- Map<String, Integer> map = new HashMap<>();
- map.put("sr", j);
- map.put("sc", k);
- map.put("er", j + 0);
- map.put("ec", k + 0);
- maps.put(split[1], map);
- } else {
- Map<String, Integer> map1 = maps.get(split[1]);
- if (j == map1.get("sr")) {
- map1.put("ec", map1.get("ec") + 1);
- } else if (k == map1.get("sc")) {
- map1.put("er", map1.get("er") + 1);
- }
- }
- String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0];
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER);
- }
- }
- }
- List<String> list = new ArrayList<>();
- for (String s : maps.keySet()) {
- list.add(s);
- }
- for (int a = list.size() - 1; a >= 0; a--) {
- Map<String, Integer> v = maps.get(list.get(a));
- for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
- if (v.get("ec") > v.get("sc")) {
- try {
- TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
- } catch (Exception e) {
- }
- }
- }
- if (v.get("er") > v.get("sr")) {
- try {
- TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
- } catch (Exception e) {
- }
- }
- }
- }
- FileOutputStream fileOutputStream = new FileOutputStream(path);
- document.write(fileOutputStream);
- fileOutputStream.close();
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- //澶勭悊涓嫳鏂囨崲琛岀殑闂
- try {
- FileInputStream stream1 = new FileInputStream(path);
- XWPFDocument document1 = new XWPFDocument(stream1);
- List<XWPFTable> xwpfTables1 = document1.getTables();
- for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) {
- for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) {
- for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) {
- if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) {
- String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText();
- String[] split = text.split("@");
- xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
- XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph();
- XWPFRun run = xwpfParagraph.createRun();
- run.setText(split[0]);
- if (ObjectUtils.isNotNull(split[1])) {
- run.addBreak();
- run.setText(split[1]);
- }
- xwpfParagraph.setAlignment(ParagraphAlignment.CENTER);
- }
- }
- }
- }
- FileOutputStream fileOutputStream1 = new FileOutputStream(path);
- document1.write(fileOutputStream1);
- fileOutputStream1.close();
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
+ /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+ List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+ createReport(insOrder.getId(),insReportDto1s);
+ break;
}
}
return 1;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) {
+ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ InsSample insSample = insSampleMapper.selectById(sampleId);
+ InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+ /*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
+ // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
+ InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .orderByDesc(InsOrderState::getId)
+ .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰�
+ if (record != null) {
+ switch (type) {
+ case 0:
+ //鍐嶆璇曢獙:璇ュ崟瀛愰��鍥炲埌妫�楠岀姸鎬�(鎺掑簭鏀规垚褰撳墠鐨勬渶鍚�),娆℃暟閫掑(淇濈暀浠ュ墠鐨勬暟鎹�)锛�
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getId, record.getId())
+ .set(InsOrderState::getInsTime, LocalDateTime.now())
+ .set(InsOrderState::getInsState, 4)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId)
+ .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
+ .set(InsOrderState::getCreateTime, LocalDateTime.now()));
+ break;
+ case 1:
+ //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
+ //鍏堝垽鏂笂涓�涓鏍告槸浠�涔堢粨璁�
+ if (record.getInsState()==4){
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 6)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1
+ .set(InsOrderState::getVerifyUser, userId));
+ }else {
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 6)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId));
+ }
+ break;
+ case 2:
+ //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
+ //鍏堝垽鏂笂涓�涓鏍告槸浠�涔堢粨璁�
+ if (record.getInsState()==4){
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 5)
+ .set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId));
+ }else {
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, sampleId)
+ .eq(InsOrderState::getLaboratory, laboratory)
+ .set(InsOrderState::getInsState, 5)
+ .set(InsOrderState::getVerifyTell, tell)
+ .set(InsOrderState::getVerifyUser, userId));
+ }
+ //鍑哄簱
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
+ for (InsSample sample : insSamples) {
+ try{
+ outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+ }catch (Exception e){
+ }
+ }
+ /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+ List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+ createReport(insOrder.getId(),insReportDto1s);
+ break;
+ }
+ }
+ return 1;
+ }
+
+
+ /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+ private void createReport(Integer orderId,List<InsReportDto1> insReportDto1s){
+ for (InsReportDto1 insReportDto1 : insReportDto1s) {
+ if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())){
+ wordUtils.generateReport(orderId, insReportDto1);
+// try{
+// wordUtils.generateReport(orderId, insReportDto1);
+// }catch (Exception e){
+// throw new ErrorException("鎶ュ憡鏍煎紡鐢熸垚鏈夎,璇疯仈绯荤鐞嗗憳!");
+// }
+ }
+ }
}
private void getTemplateThing
@@ -3389,116 +1335,249 @@
}
@Override
- public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode) {
- 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());
+ public int submitPlan(SubmitPlanDto submitPlanDto) {
+ InsSample insSample = insSampleMapper.selectById(submitPlanDto.getSampleId());
+ InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId())
+ .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
+ .orderByDesc(InsOrderState::getId)
+ .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰�
+ /*璁板綍妫�楠屼换鍔℃瘡娆$殑澶囨敞淇℃伅*/
+ InsOrderUser insOrderUser = new InsOrderUser();
+ insOrderUser.setInsOrderStateId(orderState.getId());
+ insOrderUser.setSubmitUser(getLook.selectPowerByMethodAndUserId(null).get("userId"));
+ insOrderUser.setInsTime(orderState.getInsTime());
+ insOrderUser.setSubmitTime(LocalDateTime.now());
+ insOrderUser.setNum(orderState.getNum());
+ insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null);
+ insOrderUser.setTerm(ObjectUtils.isNotEmpty(submitPlanDto.getTerm()) ? submitPlanDto.getTerm() : null);
+ insOrderUserMapper.insert(insOrderUser);
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, laboratory));
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getSonLaboratory, submitPlanDto.getLaboratory())
+ .and(wrapper -> wrapper
+ .isNull(InsProduct::getInsResult)
+ .or()
+ .eq(InsProduct::getInsResult, 2)
+ )
+ .eq(InsProduct::getState, 1));
if (insProducts.size() > 0) {
String str = "";
int count = 0;
for (InsProduct product : insProducts) {
- //濡傛灉鏄厜缂嗙殑娓╁害寰幆
- if (product.getInspectionItem().equals("娓╁害寰幆") && insOrderMapper.selectById(orderId).getSampleType().equals("鍏夌紗")) {
- //鏌ヨ閭d簺寰幆娓╁害鐨勬楠岄」鐩殑缁撹鏄惁鍏ㄩ儴妫�楠�
- List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, product.getInsSampleId())
- .isNotNull(InsProduct::getInsFiberId).like(InsProduct::getInspectionItemSubclass, "鈩�"));
- List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
- List<Integer> tt = new ArrayList<>();
- tt.add(1);
+ //娓╂箍搴﹁瘯楠�,鍔熺巼璇曢獙鐨勬楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
+ if ( product.getInspectionItem().equals("娓╂箍搴﹁瘯楠�") || product.getInspectionItem().equals("鍔熺巼璇曢獙")) {
+ product.setInsResult(3);//涓嶅垽瀹�
+ insProductMapper.updateById(product);
+ continue;
+ }
+ //鐢佃矾璇曢獙鐨勬楠岄」鐩�,闇�瑕佸湪鎻愪氦鐨勬椂鍊欏啀鍘昏祴鍊煎悎鏍间笌涓嶅悎鏍�
+ if (product.getInspectionItem().equals("鐢佃矾璇曢獙")) {
+ List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getNum, orderState.getNum())
+ .eq(InsProductResult2::getInsProductId, product.getId())).stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList());
if (collect.contains(0)) {
- product.setLastValue("涓嶅悎鏍�");
- product.setInsResult(0);
- } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
- product.setLastValue("鍚堟牸");
- product.setInsResult(1);
+ product.setInsResult(0);//涓嶅悎鏍�
+ } else {
+ product.setInsResult(1);//鍚堟牸
}
insProductMapper.updateById(product);
+ continue;
}
- //濡傛灉鏄儹寰幆鎴栬�呮槸娓╁崌璇曢獙
- else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")){
- //鏌ヨ杩欎簺椤圭洰涓嬬殑鍏朵粬妫�楠岄」鐩槸鍚﹀叏閮ㄦ楠�
- List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, product.getInsSampleId())
- .like(InsProduct::getInspectionItemSubclass, "娓╁害"));
- List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
- List<Integer> tt = new ArrayList<>();
- tt.add(1);
- if (collect.contains(0)) {
- product.setLastValue("涓嶅悎鏍�");
- product.setInsResult(0);
- } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
- product.setLastValue("鍚堟牸");
- product.setInsResult(1);
- }
- insProductMapper.updateById(product);
- }
- else {
- count++;
- str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
- }
+ count++;
+ str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
}
if (ObjectUtils.isNotEmpty(str)) {
throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str);
}
}
- insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 3).set(InsOrderState::getVerifyUser, verifyUser));
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId())
+ .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
+ .set(InsOrderState::getInsState, 3)
+ .set(InsOrderState::getVerifyUser, submitPlanDto.getVerifyUser()));
+ InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ //LIMS绯荤粺娑堟伅鎺ㄩ��
InformationNotification info = new InformationNotification();
info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
info.setMessageType("2");
info.setTheme("澶嶆牳閫氱煡");
- info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
info.setSenderId(userId);
- info.setConsigneeId(verifyUser);
+ info.setConsigneeId(submitPlanDto.getVerifyUser());
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
informationNotificationService.addInformationNotification(info);
//澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
InsSampleUser insSampleUser = new InsSampleUser();
- insSampleUser.setUserId(verifyUser);
- insSampleUser.setInsSampleId(orderId);
- insSampleUser.setState(0);
- insSampleUser.setSonLaboratory(laboratory);
- insSampleUserMapper.insert(insSampleUser);
- /*鏍¢獙涓�涓媟esult琛�*/
- CompletableFuture.supplyAsync(() -> {
- List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
- for (Integer ip : ips) {
- List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, ip).orderByDesc(InsProductResult::getId));
- if (insProductResults.size() > 1) {
- insProductResultMapper.deleteById(insProductResults.get(0));
+ insSampleUser.setUserId(submitPlanDto.getVerifyUser());
+ insSampleUser.setInsSampleId(submitPlanDto.getSampleId());
+ insSampleUser.setState(1);
+ insSampleUser.setSonLaboratory(submitPlanDto.getLaboratory());
+ insSampleUserMapper.insert(insSampleUser);
+ /*鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婂苟涓婁紶鍒伴檮浠朵腑*/
+ if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) {
+ if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
+ wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
+ } else {
+ wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
+ }
+ //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮�
+// try {
+// if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
+// wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
+// }else {
+// wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
+// }
+// } catch (Exception e) {
+// throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
+// }
+ }
+ /*鐢熸垚浜ч噺宸ユ椂*/
+ //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
+ //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
+ LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
+ PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, today));
+ if (ObjectUtils.isNotEmpty(performanceShift)) {
+ ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
+ if (ObjectUtils.isNotEmpty(shiftTime)) {
+ DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
+ LocalTime now = LocalTime.now();
+ LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
+ LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
+ // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+ boolean isWithinRange;
+ if (endTime.isAfter(startTime)) {
+ // 涓嶈法澶╃殑鎯呭喌
+ isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ } else {
+ // 璺ㄥぉ鐨勬儏鍐�
+ isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
+ }
+ for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours : submitPlanDto.getAuxiliaryOutputWorkingHoursList()) {
+ InsProduct insProduct = insProductMapper.selectById(auxiliaryOutputWorkingHours.getInsProductId());
+ if (isWithinRange) {
+ //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
+ auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//闈炲姞鐝伐鏃�
+ auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+ } else {
+ //鍔犵彮
+ auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//鍔犵彮宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
+ }
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
}
}
- return null;
- });
- // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
- String key = "frequency" + ":" + entrustCode + ":" + sampleCode;
- RedisUtil.del(key);
+ }
+
+ // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+ HashMap<String, Object> map = new HashMap<>();
+ String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount();
+ map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
+ map.put("totag", "");//娑堟伅鏍囩id
+ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+ map.put("agentid", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+ ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鐐瑰嚮<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+ map.put("text", hashMap);//娑堟伅鍐呭
+ map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
+ map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
+ map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚�
+ qywxApi.send(map);
return 1;
}
- public int pxToCm(int px) {
- return px / 9;
- }
-
- // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
- public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
- List<LocalDateTime> localDateTimes = new ArrayList<>();
- LocalDate currentDate = start.toLocalDate();
- LocalDateTime currentLocalDateTime = start;
- while (!currentDate.isAfter(end.toLocalDate())) {
- localDateTimes.add(currentLocalDateTime);
- currentLocalDateTime = currentLocalDateTime.plusDays(1);
- currentDate = currentDate.plusDays(1);
+ @Override
+ public int cancelSubmitPlan(Integer orderStateId) {
+ InsOrderState orderState = insOrderStateMapper.selectById(orderStateId);
+ InsOrder insOrder = insOrderMapper.selectById(orderState.getInsOrderId());
+ InsSample insSample = insSampleMapper.selectById(orderState.getInsSampleId());
+ /*鍒犻櫎璁板綍妫�楠屼换鍔℃瘡娆$殑澶囨敞淇℃伅*/
+ insOrderUserMapper.delete(Wrappers.<InsOrderUser>lambdaQuery()
+ .eq(InsOrderUser::getInsOrderStateId, orderState.getId())
+ .eq(InsOrderUser::getNum, orderState.getNum()));
+ //鎾ら攢鎻愪氦
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, orderState.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, orderState.getInsSampleId())
+ .eq(InsOrderState::getLaboratory, orderState.getLaboratory())
+ .set(InsOrderState::getInsState, 2));
+ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ //LIMS绯荤粺娑堟伅鎺ㄩ��
+ InformationNotification info = new InformationNotification();
+ info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
+ info.setMessageType("2");
+ info.setTheme("澶嶆牳鎾ら攢閫氱煡");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳宸叉挙閿�鐨勬秷鎭�,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
+ info.setSenderId(userId);
+ info.setConsigneeId(orderState.getVerifyUser());
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order-plan");
+ informationNotificationService.addInformationNotification(info);
+ //鍒犻櫎澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
+ insSampleUserMapper.delete(Wrappers.<InsSampleUser>lambdaQuery()
+ .eq(InsSampleUser::getState, 1)
+ .eq(InsSampleUser::getSonLaboratory, orderState.getLaboratory())
+ .eq(InsSampleUser::getUserId, orderState.getVerifyUser())
+ .eq(InsSampleUser::getInsSampleId, orderState.getInsSampleId()));
+ //鍒犻櫎鐢熸垚鐨勬姤鍛�
+ if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")) {
+ List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
+ .eq(InsOrderFile::getType, 2)
+ .like(InsOrderFile::getFileName, "鐢佃矾鍙傛暟.docx")
+ .eq(InsOrderFile::getInsOrderId, insOrder.getId())
+ .eq(InsOrderFile::getInsSampleId, orderState.getInsSampleId())
+ .eq(InsOrderFile::getSonLaboratory, orderState.getLaboratory()));
+ for (InsOrderFile insOrderFile : insOrderFiles) {
+ File file = new File(wordUrl + "/" + insOrderFile.getFileUrl());
+ file.delete();
+ insOrderFileMapper.deleteById(insOrderFile.getId());
+ }
}
- return localDateTimes;
+
+ /*鍒犻櫎鐢熸垚浜ч噺宸ユ椂*/
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()));
+ List<Integer> productIds = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
+ auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
+ .in(AuxiliaryOutputWorkingHours::getInsProductId, productIds)
+ .eq(AuxiliaryOutputWorkingHours::getNum, orderState.getNum()));
+
+ // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+ HashMap<String, Object> map = new HashMap<>();
+ String account = userMapper.selectById(orderState.getVerifyUser()).getAccount();
+ map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
+ map.put("totag", "");//娑堟伅鏍囩id
+ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+ map.put("agentid", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉″鏍哥殑娑堟伅宸叉挙閿�,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+ ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鐐瑰嚮<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+ map.put("text", hashMap);//娑堟伅鍐呭
+ map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
+ map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
+ map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚�
+ qywxApi.send(map);
+ return 0;
}
public static String getWeek(String dayStr) {
--
Gitblit v1.9.3