From c7e24959364e65e6632e71546d607433560bb403 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期六, 06 四月 2024 17:46:30 +0800
Subject: [PATCH] 检验任务的缺漏代码

---
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java                  |    7 
 cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java                 |    1 
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java              |    6 +
 framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java            |   14 +
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                                |   21 +++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResultServiceImpl.java |   22 +++
 user-server/src/main/java/com/yuanchu/mom/service/UserService.java                         |    2 
 inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java                    |   55 +++++++++
 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java                       |    2 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResultService.java          |   13 ++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java                                 |    2 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                               |   13 ++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java     |   83 +++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java         |   13 +
 user-server/src/main/java/com/yuanchu/mom/controller/UserController.java                   |    9 +
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java            |    4 
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java                 |   12 ++
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java            |   10 +
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java        |    9 +
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java                    |   26 +--
 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java                 |    6 +
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java                          |    3 
 inspect-server/src/main/resources/mapper/InsProductResultMapper.xml                        |   10 -
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java                    |    3 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java              |    2 
 25 files changed, 302 insertions(+), 46 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index fee39a8..928eefe 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -9,6 +9,8 @@
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -114,5 +116,15 @@
     public Result selectDevicePrincipal() {
         return Result.success(deviceService.selectDevicePrincipal());
     }
+
+    @ApiOperation(value = "閫氳繃璁惧鍒嗙被鑾峰彇璁惧鍒楄〃")
+    @PostMapping("/selectDeviceByCategory")
+    @ValueAuth
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "category", value = "璁惧鍒嗙被"),
+    })
+    public Result selectDeviceByCategory(String category) {
+        return Result.success(deviceService.selectDeviceByCategory(category));
+    }
 }
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
index 2630278..d667591 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -90,7 +90,7 @@
 
     @ValueTableShow(6)
     @ApiModelProperty(value = "璁惧鐘舵��")
-    private String deviceStatus;
+    private Integer deviceStatus;
 
     @ValueTableShow(19)
     @ApiModelProperty(value = "瀛樻斁鐐�")
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
index 7459e7d..2145ff5 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
@@ -81,7 +81,6 @@
     @ApiModelProperty(value = "璁惧缁�")
     private String deviceGroup;
 
-    @ValueTableShow(11)
     @ApiModelProperty(value = "妫�楠屾鏁�")
     private Integer checkoutNumber;
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
index 0da1d90..7ade738 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -28,5 +28,7 @@
 
     List<Device> selectDevicePrincipal();
 
+    List<Device> selectDeviceByCategory(String category);
+
 }
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
index 6bc08b9..c833734 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.service.impl;
 
+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;
@@ -70,5 +71,10 @@
     public List<Device> selectDevicePrincipal() {
         return deviceMapper.selectDevicePrincipal();
     }
+
+    @Override
+    public List<Device> selectDeviceByCategory(String category) {
+        return deviceMapper.selectList(Wrappers.<Device>lambdaQuery().eq(Device::getLargeCategory, category).eq(Device::getDeviceStatus, 0));
+    }
 }
 
diff --git a/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java b/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
index 1bfa037..c8d518b 100644
--- a/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
+++ b/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
@@ -21,16 +21,24 @@
 
     @Override
     public void insertFill(MetaObject metaObject) {
+        Integer userId = null;
+        try {
+            userId = Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + "");
+        }catch (Exception ignored){}
         this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
         this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
-        this.strictInsertFill(metaObject, "createUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
-        this.strictInsertFill(metaObject, "updateUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
+        this.strictInsertFill(metaObject, "createUser", Integer.class, userId);
+        this.strictInsertFill(metaObject, "updateUser", Integer.class, userId);
     }
 
     @Override
     public void updateFill(MetaObject metaObject) {
+        Integer userId = null;
+        try {
+            userId = Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + "");
+        }catch (Exception ignored){}
         // update鐨勬椂鍊欎娇鐢紝鏇存柊鐨勬椂鍊欏己鍒惰繘琛屽~鍏�
         this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘)
-        this.strictUpdateFill(metaObject, "updateUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
+        this.strictUpdateFill(metaObject, "updateUser", Integer.class, userId);
     }
 }
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 70a7eb5..9aa8e09 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
@@ -6,6 +6,7 @@
 import com.yuanchu.mom.annotation.ValueAuth;
 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.pojo.InsOrderTemplate;
 import com.yuanchu.mom.service.InsOrderService;
@@ -113,4 +114,13 @@
         return Result.success(insOrderTemplateService.delInsOrderTemplate(id));
     }
 
+    @ApiOperation(value = "閫氳繃妫�楠屽崟鏌ヨ妫�楠屾暟鎹紙鏁版嵁鏌ョ湅锛�")
+    @PostMapping("/selectSampleAndProductByOrderId")
+    @ValueAuth
+    public Result<?> selectSampleAndProductByOrderId(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        SampleProductDto2 sampleProductDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), SampleProductDto2.class);
+        return Result.success(insOrderService.selectSampleAndProductByOrderId(page, sampleProductDto));
+    }
+
 }
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 30e29be..41cf322 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
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.service.InsOrderPlanService;
 import com.yuanchu.mom.utils.JackSonUtil;
@@ -64,4 +65,12 @@
         int num = insOrderPlanService.submitPlan(orderId, laboratory);
         return num==1?Result.success():Result.fail("鎻愪氦澶辫触锛岄儴鍒嗛」鐩繕鏈繘琛屾楠�");
     }
+
+    @ApiOperation(value = "淇濆瓨妫�楠屽唴瀹�")
+    @PostMapping("/saveInsContext")
+    @ValueAuth
+    public Result<?> saveInsContext(@RequestBody Map<String, Object> param){
+        insOrderPlanService.saveInsContext(param);
+        return Result.success();
+    }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
new file mode 100644
index 0000000..fd3015c
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
@@ -0,0 +1,55 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SampleProductDto2 extends OrderBy implements Serializable {
+
+    private Integer id;
+
+    @ValueTableShow(name = "鏍峰搧缂栧彿")
+    private String sampleCode;
+
+    @ValueTableShow(value = 2, name = "鏍峰搧鍚嶇О")
+    private String sample;
+
+    @ValueTableShow(value = 4, name = "鏍峰搧鍨嬪彿")
+    private String model;
+
+    @ValueTableShow(value = 5, name = "鏍峰搧鐘舵��")
+    private Integer insState;
+
+    @ValueTableShow(value = 15, name = "鍗曚綅")
+    private String unit;
+
+    @ValueTableShow(value = 7, name = "妫�楠岄」")
+    private String inspectionItem;
+
+    @ValueTableShow(value = 8, name = "妫�楠屽瓙椤�")
+    private String inspectionItemSubclass;
+
+    @ValueTableShow(value = 17, name = "瀹為獙瀹�")
+    private String sonLaboratory;
+
+    private String inspectionItemType;
+
+    @ValueTableShow(value = 11, name = "妫�楠屽�肩被鍨�")
+    private String inspectionValueType;
+
+    @ValueTableShow(value = 12, name = "瑕佹眰鍊�")
+    private String ask;
+
+    @ValueTableShow(value = 13, name = "鏈�缁堝��")
+    private String lastValue;
+
+    @ValueTableShow(value = 14, name = "鏄惁鍚堟牸")
+    private Integer insResult;
+
+    @ValueTableShow(value = 16, name = "璁惧")
+    private String equipValue;
+
+}
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 e146c78..274175b 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
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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 java.util.List;
@@ -25,6 +26,8 @@
 
     String getLaboratoryCode(String name);
 
+    IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, QueryWrapper<SampleProductDto2> ew);
+
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
index db5f538..32c2551 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
@@ -5,8 +5,8 @@
 
 /**
 * @author Administrator
-* @description 閽堝琛ㄣ�恑ns_product_result銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2024-03-08 09:45:20
+* @description 閽堝琛ㄣ�恑ns_product_result(妫�楠岄」鐩殑缁撴灉)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-03-28 10:29:37
 * @Entity com.yuanchu.mom.pojo.InsProductResult
 */
 public interface InsProductResultMapper extends BaseMapper<InsProductResult> {
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
index 9f5aa68..92e92df 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -188,4 +188,7 @@
 
     @TableField(exist = false)
     private Map<String, Object> style;
+
+    @TableField(exist = false)
+    private InsProductResult insProductResult;
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
index b04040a..a62590e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
@@ -11,7 +11,7 @@
 import lombok.Data;
 
 /**
- * 
+ * 妫�楠岄」鐩殑缁撴灉
  * @TableName ins_product_result
  */
 @TableName(value ="ins_product_result")
@@ -20,7 +20,7 @@
     /**
      * 
      */
-    @TableId
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**
@@ -34,34 +34,26 @@
     private String insValue;
 
     /**
-     * 1锛氬悎鏍� 0锛氫笉鍚堟牸
+     * 璁$畻鍊�
      */
-    private Integer insResult;
+    private String comValue;
 
     /**
-     * 鏈�缁堝��
+     * 璁惧鍊�
      */
-    private String lastValue;
+    private String equipValue;
 
-    @ApiModelProperty("")
     @TableField(fill = FieldFill.INSERT)
     private Integer createUser;
-    /**
-     *
-     */
+
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
-    /**
-     *
-     */
-    @ApiModelProperty("")
+
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Integer updateUser;
-    /**
-     *
-     */
+
     @ApiModelProperty("淇敼鏃堕棿")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
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 acee2fb..9c801a8 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
@@ -15,6 +15,8 @@
 
     boolean claimInsOrderPlan(InsOrderPlanDTO entity);
 
+    void saveInsContext(Map<String, Object> insContext);
+
     Map<String, Object> doInsOrder(Integer id, String laboratory);
 
     int upPlanUser(Integer userId, Integer orderId);
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 b0548ba..5b93cf6 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
@@ -2,10 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yuanchu.mom.dto.InsOderDto;
-import com.yuanchu.mom.dto.OrderThingDto;
-import com.yuanchu.mom.dto.SampleOrderDto;
-import com.yuanchu.mom.dto.SampleProductDto;
+import com.yuanchu.mom.dto.*;
 import com.yuanchu.mom.pojo.InsOrder;
 
 import java.util.List;
@@ -32,4 +29,6 @@
 
     Map<String, Object> getInsOrderAndSample(Integer id, String laboratory);
 
+    Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto);
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResultService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResultService.java
new file mode 100644
index 0000000..181333e
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResultService.java
@@ -0,0 +1,13 @@
+package com.yuanchu.mom.service;
+
+import com.yuanchu.mom.pojo.InsProductResult;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恑ns_product_result(妫�楠岄」鐩殑缁撴灉)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2024-03-28 10:29:37
+*/
+public interface InsProductResultService extends IService<InsProductResult> {
+
+}
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 b370cb7..7332011 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
@@ -17,9 +17,9 @@
 import com.yuanchu.mom.common.PrintChina;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.SampleProductDto;
-import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
+import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.service.InsOrderPlanService;
 import com.yuanchu.mom.service.InsOrderService;
 import com.yuanchu.mom.service.StandardTemplateService;
@@ -40,6 +40,8 @@
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
@@ -73,6 +75,10 @@
 
     @Resource
     private InsReportMapper insReportMapper;
+
+    private InsProductResultMapper insProductResultMapper;
+
+    private InsProductMapper insProductMapper;
 
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
@@ -147,7 +153,7 @@
                                 }
                             }
                             if (tableData.size() > 0) {
-                                if (Integer.parseInt(o.get("r") + "") == r + 1 || Integer.parseInt(o.get("r") + "") == r) {
+                                if ((Integer.parseInt(o.get("r") + "") == r + 1 || Integer.parseInt(o.get("r") + "") == r) && !(o.get("v") + "").equals("{\"ht\":\"0\"}")) {
                                     r = Integer.parseInt(o.get("r") + "");
                                     tableData.add(o);
                                 } else {
@@ -166,6 +172,79 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveInsContext(Map<String, Object> insContext) {
+        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        CompletableFuture.supplyAsync(() -> {
+            AtomicInteger count = new AtomicInteger();
+            insContext.forEach((k, v) -> {
+                JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
+                InsProduct insProduct = new InsProduct();
+                insProduct.setId(Integer.parseInt(k));
+                InsProductResult result = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+                if (BeanUtil.isEmpty(result)) {
+                    result = new InsProductResult();
+                }
+                result.setInsProductId(Integer.parseInt(k));
+                JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
+                List<Map<String, Object>> iv = new ArrayList<>();
+                for (Object o : jsonArray) {
+                    JSONObject insValue = JSON.parseObject(JSON.toJSONString(o));
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("v", JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"));
+                    if (insValue.get("u") == null && StrUtil.isNotEmpty(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString())) {
+                        map.put("u", userId);
+                    }else {
+                        map.put("u", insValue.get("u"));
+                    }
+                    iv.add(map);
+                }
+                result.setInsValue(JSON.toJSONString(iv));
+                JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("comValue")));
+                List<Map<String, Object>> cv = new ArrayList<>();
+                for (Object o : jsonArray2) {
+                    JSONObject comValue = JSON.parseObject(JSON.toJSONString(o));
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("v", JSON.parseObject(JSON.toJSONString(comValue.get("v"))).get("v"));
+                    cv.add(map);
+                }
+                result.setComValue(JSON.toJSONString(cv));
+                JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
+                insProduct.setLastValue(JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v") + "");
+                JSONObject equipValue = JSON.parseObject(JSON.toJSONString(jo.get("equipValue")));
+                try {
+                    result.setEquipValue(JSON.parseObject(JSON.toJSONString(equipValue.get("v"))).get("v") + "");
+                }catch (Exception ignored){
+                    result.setEquipValue(null);
+                }
+                JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult")));
+                insProduct.setInsResult(Integer.parseInt(JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + ""));
+                if (BeanUtil.isEmpty(result.getId())) {
+                    result.setCreateUser(userId);
+                    result.setUpdateUser(userId);
+                    insProductResultMapper.insert(result);
+                } else {
+                    result.setUpdateUser(userId);
+                    result.setUpdateTime(LocalDateTime.now());
+                    insProductResultMapper.updateById(result);
+                }
+                insProduct.setUpdateUser(userId);
+                insProductMapper.updateById(insProduct);
+                if(count.get() == 0){
+                    InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
+                    insSample.setInsState(1);
+                    count.addAndGet(1);
+                }
+            });
+            return null;
+        }).thenAccept(res -> {
+        }).exceptionally(e -> {
+            e.printStackTrace();
+            return null;
+        });
+    }
+
+    @Override
     public int upPlanUser(Integer userId, Integer orderId) {
         InsSampleUser insSampleUser = new InsSampleUser();
         insSampleUser.setUserId(userId);
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 c4d2fb2..007168e 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
@@ -9,10 +9,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
-import com.yuanchu.mom.dto.InsOderDto;
-import com.yuanchu.mom.dto.OrderThingDto;
-import com.yuanchu.mom.dto.SampleOrderDto;
-import com.yuanchu.mom.dto.SampleProductDto;
+import com.yuanchu.mom.dto.*;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.InsOrderService;
@@ -144,6 +141,14 @@
         map.put("sampleProduct", list);
         return map;
     }
+
+    @Override
+    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)));
+        return map;
+    }
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResultServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResultServiceImpl.java
new file mode 100644
index 0000000..b3cc8b0
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResultServiceImpl.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.pojo.InsProductResult;
+import com.yuanchu.mom.service.InsProductResultService;
+import com.yuanchu.mom.mapper.InsProductResultMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恑ns_product_result(妫�楠岄」鐩殑缁撴灉)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2024-03-28 10:29:37
+*/
+@Service
+public class InsProductResultServiceImpl extends ServiceImpl<InsProductResultMapper, InsProductResult>
+    implements InsProductResultService{
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 8bbe137..50bacda 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -87,7 +87,8 @@
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
-        LEFT JOIN ( SELECT id, ins_order_id, is_ratify FROM ins_report WHERE is_ratify = 1 ) ir ON io.id = ir.ins_order_id
+        LEFT JOIN ( SELECT id, ins_order_id, is_ratify FROM ins_report WHERE is_ratify = 1 ) ir ON io.id =
+        ir.ins_order_id
         GROUP BY
         io.id
         ) a
@@ -96,9 +97,25 @@
         </if>
     </select>
     <select id="getLaboratoryCode" resultType="java.lang.String">
-        select laboratory_number from laboratory
+        select laboratory_number
+        from laboratory
         where laboratory_name = #{name}
     </select>
+    <select id="selectSampleAndProductByOrderId" resultType="com.yuanchu.mom.dto.SampleProductDto2">
+        select *
+        from (
+        select i.id,isa.sample_code,isa.sample,isa.model,ip.state,ip.unit,ip.inspection_item,ip.inspection_item_subclass,
+        ip.son_laboratory,ip.inspection_item_type,ip.inspection_value_type,ip.ask,ip.`last_value`,ip.ins_result,ipr.equip_value
+        from ins_sample isa
+        left join ins_order i on isa.ins_order_id = i.id
+        left join ins_product ip on isa.id = ip.ins_sample_id
+        left join ins_product_result ipr on ip.id = ipr.ins_product_id
+        where ip.state = 1
+        ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
 
     <update id="upInsOrderParameter" parameterType="com.yuanchu.mom.pojo.InsOrder">
         UPDATE ins_order
diff --git a/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml b/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
index 21f30bb..260a400 100644
--- a/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
@@ -8,17 +8,11 @@
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="insProductId" column="ins_product_id" jdbcType="INTEGER"/>
             <result property="insValue" column="ins_value" jdbcType="VARCHAR"/>
-            <result property="insResult" column="ins_result" jdbcType="INTEGER"/>
-            <result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
+            <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
+            <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
             <result property="createUser" column="create_user" jdbcType="INTEGER"/>
             <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
-
-    <sql id="Base_Column_List">
-        id,ins_product_id,ins_value,
-        ins_result,last_value,create_user,
-        update_user,create_time,update_time
-    </sql>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index bede559..e87d717 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -101,9 +101,13 @@
                ip.update_user ip_update_user,
                ip.create_time ip_create_time,
                ip.update_time ip_update_time,
-               template_id
+               template_id,
+               ipr.ins_value,
+               ipr.com_value,
+               ipr.equip_value
         from ins_sample isa
         left join ins_product ip on isa.id = ip.ins_sample_id
+        left join ins_product_result ipr on ip.id = ipr.ins_product_id
         where ins_order_id = #{id}
         and state = 1
     </select>
@@ -208,5 +212,12 @@
         <result property="createTime" column="ip_create_time" jdbcType="TIMESTAMP"/>
         <result property="updateTime" column="ip_update_time" jdbcType="TIMESTAMP"/>
         <result property="templateId" column="template_id" jdbcType="INTEGER"/>
+        <collection property="insProductResult" resultMap="insProductResult"/>
+    </resultMap>
+
+    <resultMap id="insProductResult" type="com.yuanchu.mom.pojo.InsProductResult">
+        <result property="insValue" column="ins_value" jdbcType="VARCHAR"/>
+        <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
+        <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
     </resultMap>
 </mapper>
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index 813d151..fbdad69 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -150,8 +150,15 @@
 
     @ValueAuth
     @GetMapping("/getUserNow")
-    @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�")
+    @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�")
     public Result<?> getUserNow(){
         return Result.success(userService.getUserNow());
     }
+
+    @ValueAuth
+    @GetMapping("/getUserInfo")
+    @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�")
+    public Result<?> getUserInfo(){
+        return Result.success(userService.getUserInfo());
+    }
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
index a02b77c..85472fa 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
@@ -28,4 +28,6 @@
 
     User getUserNow();
 
+    User getUserInfo();
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
index 867bd57..9d8db2f 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -80,4 +80,10 @@
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
         return userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map1.get("userId")).eq(User::getIsCustom, 1).select(User::getId,User::getCompany,User::getName,User::getCode));
     }
+
+    @Override
+    public User getUserInfo() {
+        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
+        return userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getId, map1.get("userId")).select(User::getId,User::getCompany,User::getName,User::getCode));
+    }
 }

--
Gitblit v1.9.3