From f8644e0a13befc0e28e569926a7f9f024cf1e17d Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 31 七月 2024 17:57:48 +0800
Subject: [PATCH] 不合格管理 添加权限
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 94 ++++++++++++++++++++++++++++-------------------
1 files changed, 56 insertions(+), 38 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index c9689b7..c087572 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -29,18 +29,13 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Function;
-import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
@@ -102,7 +97,8 @@
}
}
//鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄�
- Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder"));
+ Power power =
+ powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder"));
if (ObjectUtils.isEmpty(power)) {
if (map1.get("look") == 1) {
//涓汉
@@ -116,21 +112,24 @@
}
}
}
- map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory));
+ map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto),
+ laboratory));
return map;
}
@Override
@Transactional(rollbackFor = Exception.class)
- public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId) {
+ public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) {
InsOrder insOrder = new InsOrder();
insOrder.setId(orderId);
insOrder.setAppointed(LocalDate.parse(appointed));
insOrder.setSendTime(LocalDateTime.now());
insOrderMapper.updateById(insOrder);
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+ 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::getState, 1).isNull(InsProduct::getInsFibersId).isNull(InsProduct::getInsFiberId).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
+ List<InsProduct> insProducts =
+ insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getState, 1).isNull(InsProduct::getInsFibersId).isNull(InsProduct::getInsFiberId).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
for (InsProduct insProduct : insProducts) {
InsOrderState insOrderState = new InsOrderState();
insOrderState.setInsOrderId(orderId);
@@ -147,6 +146,7 @@
insSampleUser.setState(0);
insSampleUser.setUserId(userId);
insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setSonLaboratory(sonLaboratory);
insSampleUserMapper.insert(insSampleUser);
}
return 1;
@@ -158,7 +158,7 @@
insOrder.setState(0);
String code = customMapper.selectById(insOrder.getCompanyId()).getCode2();
//insOrder.setEntrustCode(giveCode.giveCode("JCZX-" + code + "-", "ins_order", "", "yyMMdd"));
- String giveCode = this.giveCode.giveCode("JCZX-" + code + "-", "ins_order", "", "yyMMdd");
+ String giveCode = this.giveCode.giveCode("JCZX-" + code + "-", "ins_sample", "", "yyMMdd");
insOrderMapper.insert(insOrder);
AtomicInteger count = new AtomicInteger();
list.forEach(a -> {
@@ -191,7 +191,8 @@
fiberDto.setInsFibersId(fibersDto.getId());
insFiberMapper.insert(fiberDto);
addInsProductMethod(a.getId(), a.getInsProduct(), fiberDto.getId(), 2, true);
- addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2, false);
+ addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2,
+ false);
}
//addInsProductMethod(a.getId(), a.getInsProduct(), fibersDto.getId(), 1);
addInsProductMethod(a.getId(), fibersDto.getProductList(), fibersDto.getId(), 1, false);
@@ -259,12 +260,14 @@
}
});
for (List<Integer> i : pairing) {
- SampleProductDto sample = JSON.parseObject(JSON.toJSONString(list.get(i.get(0) - 1)), SampleProductDto.class);
+ SampleProductDto sample = JSON.parseObject(JSON.toJSONString(list.get(i.get(0) - 1)),
+ SampleProductDto.class);
sample.setSampleCode(list.get(i.get(0) - 1).getSampleCode() + "/" + list.get(i.get(1) - 1).getSampleCode());
sample.setId(null);
insSampleMapper.insert(sample);
try {
- List<InsProduct> insProducts = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
+ List<InsProduct> insProducts =
+ sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
for (InsProduct insProduct : insProducts) {
insProduct.setId(null);
insProduct.setInsSampleId(sample.getId());
@@ -276,7 +279,8 @@
return insOrder.getId();
}
- private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type, Boolean is) {
+ private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type,
+ Boolean is) {
InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(sampleId).getInsOrderId());
for (InsProduct product : productList) {
if (product.getState() == 1 && !product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
@@ -372,21 +376,16 @@
insProduct.setManHourGroup(product.getManHourGroup());
insProduct.setInspectionItemType("0");
insProduct.setInspectionValueType("1");
+ if (product.getInspectionItem().equals("鐑惊鐜�")) {
+ insProduct.setInspectionItemClass("鐩存祦鐢甸樆");//妫�楠屽瓙瀛愰」--鐩存祦鐢甸樆
+ insProduct.setInspectionItemClassEn("DC resistance");//妫�楠屽瓙瀛愰」鑻辨枃--鐩存祦鐢甸樆
+ insProduct.setUnit("惟/km");//鍗曚綅
+ }
insProducts.add(insProduct);
+ insProductes.add(insProduct);
+ insProductess.add(insProduct);
}
//鐑惊鐜墠鏈夊娆″惊鐜鏁�
- if (product.getInspectionItem().equals("鐑惊鐜�")) {
- //鐑惊鐜繕瑕佸姞涓婄洿娴佺數闃�
- for (InsProduct insProduct : insProducts) {
- InsProduct insProduct1 = new InsProduct();
- BeanUtils.copyProperties(insProduct, insProduct1);
- insProduct1.setInspectionItemClass("鐩存祦鐢甸樆");//妫�楠屽瓙瀛愰」--鐩存祦鐢甸樆
- insProduct1.setInspectionItemClassEn("DC resistance");//妫�楠屽瓙瀛愰」鑻辨枃--鐩存祦鐢甸樆
- insProduct1.setUnit("惟/km");//鍗曚綅
- insProductes.add(insProduct1);
- insProductess.add(insProduct1);
- }
- }
if (count > 1) {
//寰幆瓒呰繃1娆�
for (int j = 2; j <= count; j++) {
@@ -445,7 +444,8 @@
code = "";
}
String code2 = customMapper.selectById(insOrder.getCompanyId()).getCode2();
- insOrder.setEntrustCode(giveCode.giveCode2("JCZX/" + code + "-" + code2 + "-", insOrder.getCompanyId(), insOrder.getLaboratory(), "ins_order", "", "yyMM"));
+ insOrder.setEntrustCode(giveCode.giveCode2("JCZX/" + code + "-" + code2 + "-", insOrder.getCompanyId(),
+ insOrder.getLaboratory(), "ins_order", "", "yyMM"));
}
return insOrderMapper.updateById(insOrder);
}
@@ -464,10 +464,12 @@
}
@Override
- public Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto) {
+ public Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page,
+ SampleProductDto2 sampleProductDto) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(SampleProductDto2.class));
- map.put("body", insOrderMapper.selectSampleAndProductByOrderId(page, QueryWrappers.queryWrappers(sampleProductDto)));
+ map.put("body", insOrderMapper.selectSampleAndProductByOrderId(page,
+ QueryWrappers.queryWrappers(sampleProductDto)));
return map;
}
@@ -480,7 +482,9 @@
map.put("head", PrintChina.printChina(CostStatisticsDto.class));
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("costStatistics");
if (map1.get("look") == 1) costStatisticsDto.setCreateUser(map1.get("userId"));
- IPage<CostStatisticsDto> dtoIPage = insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
+ IPage<CostStatisticsDto> dtoIPage = insOrderMapper.selectCostStatistics(page,
+ QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time",
+ split[1] + " 23:59:59"));
List<CostStatisticsDto> collect = dtoIPage.getRecords().stream().map(dto -> {
Set<String> uniqueTags = new HashSet<>();
if (dto.getInspectionItem().contains(",")) {
@@ -504,7 +508,9 @@
String dates = costStatisticsDto.getDates();
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
costStatisticsDto.setDates(null);
- List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
+ List<CostStatisticsDto> costStatisticsDtos =
+ insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time",
+ split[0]).le("create_time", split[1] + " 23:59:59"));
double totalPrice = costStatisticsDtos.stream()
.filter(dto -> dto.getPrice() != null) // 杩囨护鎺変环鏍间负 null 鐨勫璞�
.mapToDouble(value -> value.getPrice().doubleValue() * value.getNum())
@@ -515,7 +521,8 @@
@Override
public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) {
- List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems, orderNumber);
+ List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems
+ , orderNumber);
Map<String, Object> map = new HashMap<>();
map.put("records", sampleDefectsFatherVos);
Long aLong = insOrderMapper.getCount(inspectionItems, orderNumber);
@@ -550,12 +557,14 @@
}
@Override
- public void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response) throws IOException {
+ public void export(CostStatisticsDto costStatisticsDto, HttpServletResponse response) throws IOException {
//鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
String dates = costStatisticsDto.getDates();
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
costStatisticsDto.setDates(null);
- List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
+ List<CostStatisticsDto> costStatisticsDtos =
+ insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time",
+ split[0]).le("create_time", split[1] + " 23:59:59"));
costStatisticsDtos = costStatisticsDtos.stream().map(dto -> {
Set<String> uniqueTags = new HashSet<>();
if (dto.getInspectionItem().contains(",")) {
@@ -574,12 +583,21 @@
// 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
String fileName = URLEncoder.encode("鏍峰搧璐圭敤缁熻瀵煎嚭", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ Map<String, List<CostStatisticsDto>> groupByCompany =
+ costStatisticsDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany()))
+ .collect(Collectors.groupingBy(CostStatisticsDto::getCompany));
try {
// 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ ExcelWriter excelWriter =
+ EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- WriteSheet mainSheet = EasyExcel.writerSheet( "鏍峰搧璐圭敤缁熻瀵煎嚭").head(CostStatisticsDto.class).build();
- excelWriter.write(costStatisticsDtos, mainSheet);
+ for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) {
+ String sheetName = companyDataEntry.getKey();
+ List<CostStatisticsDto> dataList = companyDataEntry.getValue();
+ WriteSheet mainSheet = EasyExcel.writerSheet(sheetName).head(CostStatisticsDto.class).build();
+ excelWriter.write(dataList, mainSheet);
+ }
+
// 鍏抽棴娴�
excelWriter.finish();
--
Gitblit v1.9.3