From e691b3282287a247f92e7301d778cdbb1fe4eaab Mon Sep 17 00:00:00 2001
From: 罗媛媛 <2454262093@qq.com>
Date: 星期一, 01 四月 2024 17:58:48 +0800
Subject: [PATCH] 功能调整

---
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java              |    2 +
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java               |    2 +
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                           |   41 ++++++++++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   30 ++++++++++-----
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java     |   10 +++++
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java    |    7 +++
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java          |    2 +
 7 files changed, 84 insertions(+), 10 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index a663789..30e29be 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -57,4 +57,11 @@
     public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
         return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell));
     }
+
+    @ApiOperation(value = "妫�楠屼换鍔℃彁浜�")
+    @PostMapping("/submitPlan")
+    public Result<?> submitPlan(Integer orderId, String laboratory) {
+        int num = insOrderPlanService.submitPlan(orderId, laboratory);
+        return num==1?Result.success():Result.fail("鎻愪氦澶辫触锛岄儴鍒嗛」鐩繕鏈繘琛屾楠�");
+    }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index 720b72f..762a4bb 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -25,6 +25,8 @@
 
     List<SampleProductDto> selectSampleProductListByOrderId(Integer id);
 
+    List<SampleProductDto> getInsOrderAndSample(Integer id, String laboratory);
+
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index a2450f0..acee2fb 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -20,4 +20,6 @@
     int upPlanUser(Integer userId, Integer orderId);
 
     int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
+
+    int submitPlan(Integer orderId, String laboratory);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
index 5a96cec..b0548ba 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -30,4 +30,6 @@
 
     int upInsOrderOfState(InsOrder insOrder);
 
+    Map<String, Object> getInsOrderAndSample(Integer id, String laboratory);
+
 }
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 4e01879..4c1ad61 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
@@ -14,14 +14,8 @@
 import com.yuanchu.mom.common.PrintChina;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.SampleProductDto;
-import com.yuanchu.mom.mapper.InsOrderMapper;
-import com.yuanchu.mom.mapper.InsOrderStateMapper;
-import com.yuanchu.mom.mapper.InsSampleMapper;
-import com.yuanchu.mom.mapper.InsSampleUserMapper;
-import com.yuanchu.mom.pojo.InsOrder;
-import com.yuanchu.mom.pojo.InsOrderState;
-import com.yuanchu.mom.pojo.InsProduct;
-import com.yuanchu.mom.pojo.InsSampleUser;
+import com.yuanchu.mom.mapper.*;
+import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.InsOrderPlanService;
 import com.yuanchu.mom.service.InsOrderService;
 import com.yuanchu.mom.service.StandardTemplateService;
@@ -32,6 +26,7 @@
 
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
@@ -53,6 +48,8 @@
     private StandardTemplateService standardTemplateService;
 
     private InsOrderStateMapper insOrderStateMapper;
+
+    private InsProductMapper insProductMapper;
 
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
@@ -88,13 +85,14 @@
         if(BeanUtil.isEmpty(order.getInsTime())){
             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.getInsOrder(id);
+        insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
+        Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
         Set<Integer> set = new HashSet<>();
         Map<Integer, String> map2 = new HashMap<>();
         List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
         for (SampleProductDto samples : list) {
+            if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
             for (InsProduct product : samples.getInsProduct()) {
                 if(set.add(product.getTemplateId())){
                     map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
@@ -154,4 +152,16 @@
         Integer num = (type==1?5:4);
         return insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell));
     }
+
+    @Override
+    public int submitPlan(Integer orderId, String laboratory) {
+        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+        List<Integer> ids = insSamples.stream().map(a-> a.getId()).collect(Collectors.toList());
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).isNotNull(InsProduct::getInsResult));
+        if(insProducts.size()==0){
+            return 0;
+        }
+        insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 3));
+        return 1;
+    }
 }
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 160c8ef..c4d2fb2 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
@@ -134,6 +134,16 @@
     public int upInsOrderOfState(InsOrder insOrder) {
         return insOrderMapper.updateById(insOrder);
     }
+
+    @Override
+    public Map<String, Object> getInsOrderAndSample(Integer id, String laboratory) {
+        Map<String, Object> map = new HashMap<>();
+        InsOrder insOrder = insOrderMapper.selectById(id);
+        List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
+        map.put("insOrder", insOrder);
+        map.put("sampleProduct", list);
+        return map;
+    }
 }
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index f376e77..bede559 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -107,6 +107,47 @@
         where ins_order_id = #{id}
         and state = 1
     </select>
+    <select id="getInsOrderAndSample" resultMap="sampleDto">
+        select isa.*,
+               ip.id ip_id,
+               inspection_item,
+               inspection_item_classify,
+               inspection_item_subclass,
+               ip.factory ip_factory,
+               ip.laboratory ip_laboratory,
+               ip.sample_type ip_sample_type,
+               ip.sample ip_sample,
+               ip.model ip_model,
+               son_laboratory,
+               ip.unit ip_unit,
+               price,
+               man_hour,
+               man_hour_group,
+               inspection_item_type,
+               inspection_value_type,
+               device_group,
+               checkout_number,
+               section,
+               value_type,
+               method,
+               man_day,
+               bsm,
+               ask,
+               `last_value`,
+               ip.ins_result ip_ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user ip_create_user,
+               ip.update_user ip_update_user,
+               ip.create_time ip_create_time,
+               ip.update_time ip_update_time,
+               template_id
+        from ins_sample isa
+        left join ins_product ip on isa.id = ip.ins_sample_id
+        where ins_order_id = #{id}
+        and state = 1
+        and ip.son_laboratory = #{laboratory}
+    </select>
 
     <resultMap id="sampleDto" type="com.yuanchu.mom.dto.SampleProductDto">
         <id property="id" column="id" jdbcType="INTEGER"/>

--
Gitblit v1.9.3