From e78cc56f04556a1d3d54f0db830ba9f16eb28a58 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 03 八月 2024 21:40:53 +0800
Subject: [PATCH] 检验下单待检撤销+删除检验值结论还在

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java |   85 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 79 insertions(+), 6 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
index bf78942..8f6d417 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
@@ -1,14 +1,27 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.PrintChina;
 import com.yuanchu.mom.dto.InsProductDto;
+import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.mapper.InsOrderMapper;
 import com.yuanchu.mom.mapper.InsProductMapper;
+import com.yuanchu.mom.mapper.InsSampleMapper;
+import com.yuanchu.mom.pojo.InsOrder;
 import com.yuanchu.mom.pojo.InsProduct;
+import com.yuanchu.mom.pojo.InsSample;
 import com.yuanchu.mom.service.InsProductService;
+import com.yuanchu.mom.utils.QueryWrappers;
+import com.yuanchu.mom.vo.InsOrderPlanVO;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @AllArgsConstructor
@@ -17,26 +30,86 @@
 
     private InsProductMapper insProductMapper;
 
+    private InsOrderMapper insOrderMapper;
+
+    private InsSampleMapper insSampleMapper;
+
     @Override
     public int selectOrderManDay(Integer orderId) {
         return insProductMapper.selectOrderManDay(orderId);
     }
 
     @Override
-    public int updateInspected(Integer id) {
-        insProductMapper.updateInspected(id);
-        return 0;
+    public int updateInspected(Integer id, String ids) {
+        InsOrder insOrder = new InsOrder();
+        insOrder.setId(id);
+        insOrder.setIsRevocation(1);//闇�瑕佸鏍�
+        insOrder.setRevocationInsProductIds(ids);
+        return insOrderMapper.updateById(insOrder);
     }
 
     @Override
     public boolean write(InsProductDto insProductDto) {
         List<InsProduct> insProducts = baseMapper.selectBatchIds(insProductDto.getIds());
         for (InsProduct insProduct : insProducts) {
-           insProduct.setTemperature(insProductDto.getTemperature());
-           insProduct.setHumidity(insProductDto.getHumidity());
+            insProduct.setTemperature(insProductDto.getTemperature());
+            insProduct.setHumidity(insProductDto.getHumidity());
         }
         return updateBatchById(insProducts);
     }
+
+    //鏌ヨ寰呮椤圭洰
+    @Override
+    public Map<String, Object> selectNoProducts(Page page, InsProduct insProduct, Integer orderId, String ids) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(InsProduct.class));
+        IPage<InsProduct> insProductIPage = baseMapper.selectNoProducts(page, orderId);
+        if (ObjectUtils.isNotEmpty(ids)) {
+            List<Integer> collect = Arrays.asList(ids.split(",")).stream()
+                    .map(Integer::parseInt)
+                    .collect(Collectors.toList());
+            List<InsProduct> products = insProductIPage.getRecords().stream().filter(record -> collect.contains(record.getId())).collect(Collectors.toList());
+            insProductIPage.setRecords(products);
+        }
+        map.put("body", insProductIPage);
+        return map;
+    }
+
+    //瀹℃牳寰呮鎾ら攢
+    @Override
+    public void checkUpdate(Integer orderId, Integer state) {
+        InsOrder insOrder = insOrderMapper.selectById(orderId);
+        if (state == 1) {
+            List<String> list = new ArrayList<>();
+            try {
+                list = Arrays.asList(insOrder.getRevocationInsProductIds().split(","));
+            } catch (Exception e) {
+                throw new ErrorException("杩樻病鏈夐�夋嫨搴旇瑕佹挙閿�鐨勬楠岄」鐩�");
+            }
+            List<Integer> ids = list.stream()
+                    .map(Integer::parseInt)
+                    .collect(Collectors.toList());
+            List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
+            List<Integer> collect = insSamples.stream().map(InsSample::getId).collect(Collectors.toList());
+            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, collect));
+            if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) {
+                //濡傛灉璇ユ楠屽崟涓嬬殑鎵�鏈夐」鐩叏閮ㄩ兘鎾ら攢,閭d箞杩欎釜鍗曞瓙涔熼渶瑕佹挙閿�
+                insOrder.setState(3);
+            } else {
+                List<InsProduct> products = insProductMapper.selectBatchIds(ids);
+                //棣栧厛鏍规嵁閫夋嫨鐨勯」鐩甶d杩涜鎾ら攢椤圭洰
+                updateBatchById(products.stream().map(insProduct -> {
+                    insProduct.setState(0);
+                    return insProduct;
+                }).collect(Collectors.toList()));
+            }
+            //insProductMapper.updateInspected(id);
+        }
+        //涓嶉�氳繃
+        insOrder.setIsRevocation(0);
+        insOrderMapper.updateById(insOrder);
+
+    }
 }
 
 

--
Gitblit v1.9.3