From 1c26d05a692239825921c146348db52540261d7c Mon Sep 17 00:00:00 2001
From: JYW <2013732181@qq.com>
Date: 星期三, 24 四月 2024 16:12:51 +0800
Subject: [PATCH] 2024-04-24 样品缺陷指数

---
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java          |    2 +
 inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsChildrenVo.java       |   17 ++++++++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java           |    1 
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                        |   50 +++++++++++++++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java    |    8 +++-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java |   15 +++++++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java       |    1 
 inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsFatherVo.java         |   17 ++++++++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java            |    4 ++
 9 files changed, 112 insertions(+), 3 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index 12210bd..d2bda67 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -36,8 +36,6 @@
 
     private InsOrderService insOrderService;
 
-    private InsSampleService insSampleService;
-
     private InsProductService insProductService;
 
     private InsOrderTemplateService insOrderTemplateService;
@@ -134,5 +132,11 @@
         CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
         return Result.success(insOrderService.costStatistics(page, costStatisticsDto));
     }
+    @ApiOperation(value = "鏍峰搧缂洪櫡鎸囨暟", tags = "鏍峰搧缂洪櫡鎸囨暟")
+    @PostMapping("/selectSampleDefects")
+    public Result selectSampleDefects(Integer size, Integer current, String inspectionItems, String orderNumber) {
+        return Result.success(insOrderService.selectSampleDefects(new Page<>(current, size),inspectionItems, orderNumber));
+
+    }
 
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 28ae993..0158ffb 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -3,11 +3,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.CostStatisticsDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.dto.SampleProductDto2;
 import com.yuanchu.mom.pojo.InsOrder;
+import com.yuanchu.mom.vo.SampleDefectsFatherVo;
 
 import java.util.List;
 import java.util.Map;
@@ -34,7 +36,9 @@
     IPage<CostStatisticsDto> selectCostStatistics(IPage<CostStatisticsDto> page, QueryWrapper<CostStatisticsDto> ew);
 
     List<Map<String, String>> selectDeviceList(Set<String> names);
+    List<SampleDefectsFatherVo> selectSampleDefects(Page page, String inspectionItems, String orderNumber);
 
+    Long getCount(String inspectionItems, String orderNumber);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
index 83fc5c9..68035dc 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
@@ -11,6 +11,7 @@
 */
 public interface InsOrderStateMapper extends BaseMapper<InsOrderState> {
 
+
 }
 
 
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 762a4bb..41f1913 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
@@ -26,7 +26,6 @@
     List<SampleProductDto> selectSampleProductListByOrderId(Integer id);
 
     List<SampleProductDto> getInsOrderAndSample(Integer id, 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 4f1f80f..ccb2eab 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
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.dto.*;
 import com.yuanchu.mom.pojo.InsOrder;
@@ -33,4 +34,5 @@
 
     Map<String, Object> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto);
 
+    Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber);
 }
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 bd725d6..52d0804 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
@@ -6,6 +6,7 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.GetLook;
 import com.yuanchu.mom.common.PrintChina;
@@ -16,6 +17,7 @@
 import com.yuanchu.mom.service.StandardTemplateService;
 import com.yuanchu.mom.utils.GiveCode;
 import com.yuanchu.mom.utils.QueryWrappers;
+import com.yuanchu.mom.vo.SampleDefectsFatherVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -48,6 +50,9 @@
     private InsSampleUserMapper insSampleUserMapper;
 
     private InsOrderStateMapper insOrderStateMapper;
+    
+   
+ 
 
     //鑾峰彇妫�楠屼笅鍗曟暟鎹�
     @Override
@@ -159,6 +164,16 @@
         map.put("body", insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto)));
         return map;
     }
+    @Override
+    public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String 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);
+        map.put("total", aLong);
+        return map;
+
+    }
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsChildrenVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsChildrenVo.java
new file mode 100644
index 0000000..aaf8c48
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsChildrenVo.java
@@ -0,0 +1,17 @@
+package com.yuanchu.mom.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SampleDefectsChildrenVo {
+    private String entrust_code;//濮旀墭缂栫爜
+    private String inspection_item;//妫�楠岄」
+    private String name;//妫�楠屼汉
+    private LocalDateTime create_time;//妫�楠屾棩鏈�
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsFatherVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsFatherVo.java
new file mode 100644
index 0000000..e54af7c
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/SampleDefectsFatherVo.java
@@ -0,0 +1,17 @@
+package com.yuanchu.mom.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SampleDefectsFatherVo {
+    private Integer id;//鏍峰搧id
+    private String sample;//鏍峰搧鍚嶇О
+
+    private List<SampleDefectsChildrenVo> children;//瀛愮被
+}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 573ed0b..3326b0e 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -50,6 +50,18 @@
         <result property="remark" column="remark"/>
     </resultMap>
 
+    <resultMap id="selectSampleDefectsMap" type="com.yuanchu.mom.vo.SampleDefectsFatherVo">
+        <id column="id" property="id"/>
+        <result column="sample" property="sample"/>
+        <association property="children" resultMap="SampleDefectsChildrenMap" javaType="java.util.List"/>
+    </resultMap>
+
+    <resultMap id="SampleDefectsChildrenMap" type="com.yuanchu.mom.vo.SampleDefectsChildrenVo">
+        <result column="entrust_code" property="entrust_code" />
+        <result column="inspection_item" property="inspection_item" />
+        <result column="name" property="name"/>
+        <result column="create_time" property="create_time" />
+    </resultMap>
     <select id="selectInsOrderParameter" resultType="com.yuanchu.mom.pojo.InsOrder">
         select *
         from (
@@ -174,4 +186,42 @@
         </where>
     </update>
 
+    <select id="selectSampleDefects" resultMap="selectSampleDefectsMap">
+        SELECT io.entrust_code,sam.sample,ip.inspection_item,u.name,b.create_time, sam.id
+        from ins_order io
+        left JOIN ins_sample sam on io.id=sam.ins_order_id
+        LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id
+        LEFT JOIN
+        (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user  ORDER BY ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b
+        on b.ins_product_id=ip.id
+        left JOIN  `user` u on u.id=b.create_user
+        WHERE (ip.ins_result=0 OR ip.state=0)
+        <if test="inspectionItems != null and inspectionItems != ''">
+            and inspection_item like concat('%', #{inspectionItems}, '%')
+        </if>
+        <if test="orderNumber != null and orderNumber != ''">
+            and io.entrust_code like concat('%', #{orderNumber}, '%')
+        </if>
+    </select>
+
+    <select id="getCount" resultType="long">
+        select count(1)
+        from (
+        SELECT io.entrust_code,sam.sample,ip.inspection_item,u.name,b.create_time, sam.id
+        from ins_order io
+        left JOIN ins_sample sam on io.id=sam.ins_order_id
+        LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id
+        LEFT JOIN
+        (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user  ORDER BY ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b
+        on b.ins_product_id=ip.id
+        left JOIN  `user` u on u.id=b.create_user
+         where (ip.ins_result=0 OR ip.state=0)
+        <if test="inspectionItems != null and inspectionItems != ''">
+            and  inspection_item like concat('%', #{inspectionItems}, '%')
+        </if>
+        <if test="orderNumber != null and orderNumber != ''">
+            and io.entrust_code like concat('%', #{orderNumber}, '%')
+        </if>
+             ) temp
+    </select>
 </mapper>

--
Gitblit v1.9.3