From 0ac8b852189665af7e0d0c8fb154a8b723dbe7eb Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 25 三月 2024 18:00:36 +0800
Subject: [PATCH] 检验任务

---
 inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java    |    8 +-
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java                           |   13 ----
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java                        |    2 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                               |   57 +++++++++----------
 inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java          |    2 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java                            |    4 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java     |   70 +++++++++++++++++++++-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java         |    8 +-
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java                          |    9 +++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java |    2 
 10 files changed, 115 insertions(+), 60 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java
index 633cfdb..34c02e9 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java
@@ -54,11 +54,11 @@
         return Result.success(standardTemplateService.getStandardTemplate());
     }
 
-    @ApiOperation(value = "閫氳繃妯℃澘id鍜岄」鐩悕绉拌幏鍙栨楠岄」妯℃澘鍐呭")
-    @PostMapping("/getStandTempThingByTIdAndPName")
+    @ApiOperation(value = "閫氳繃妯℃澘id鑾峰彇妫�楠岄」妯℃澘鍐呭")
+    @PostMapping("/getStandTempThingById")
     @ValueAuth
-    public Result<?> getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass) {
-        return Result.success(standardTemplateService.getStandTempThingByTIdAndPName(templateId, inspectionItem, inspectionItemSubclass));
+    public Result<?> getStandTempThingById(Integer id) {
+        return Result.success(standardTemplateService.getStandTempThingById(id));
     }
 
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
index fdfc642..d784a0a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -164,4 +164,8 @@
      */
     private String sample;
 
+    @ApiModelProperty("妫�楠屾椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime insTime;
+
 }
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 2014bd2..9f5aa68 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
@@ -1,11 +1,14 @@
 package com.yuanchu.mom.pojo;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.*;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -179,4 +182,10 @@
      * 澶栭敭锛歴tandard_template琛╥d
      */
     private Integer templateId;
+
+    @TableField(exist = false)
+    private List<JSONObject> template;
+
+    @TableField(exist = false)
+    private Map<String, Object> style;
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
index bf088aa..f27bd12 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
@@ -90,24 +90,11 @@
     private Integer insState;
 
     /**
-     * 涓嬪彂鏃堕棿
-     */
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime sendTime;
-
-    /**
      * 澶囨敞
      */
     private String remark;
 
     private Integer standardMethodListId;
-
-    /**
-     * 绾﹀畾鏃堕棿
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private LocalDate appointed;
 
     @ApiModelProperty("鏍峰搧鍗曚綅")
     private String unit;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java
index bb0b40b..6269806 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java
@@ -24,6 +24,6 @@
 
     List<StandardTemplate> getStandardTemplate();
 
-    String getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass);
+    String getStandTempThingById(Integer templateId);
 
 }
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 5b4a1e7..e9bf629 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
@@ -1,27 +1,34 @@
 package com.yuanchu.mom.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
+import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.mapper.InsOrderMapper;
 import com.yuanchu.mom.mapper.InsSampleMapper;
 import com.yuanchu.mom.mapper.InsSampleUserMapper;
 import com.yuanchu.mom.pojo.InsOrder;
+import com.yuanchu.mom.pojo.InsProduct;
 import com.yuanchu.mom.pojo.InsSampleUser;
 import com.yuanchu.mom.service.InsOrderPlanService;
 import com.yuanchu.mom.service.InsOrderService;
+import com.yuanchu.mom.service.StandardTemplateService;
 import com.yuanchu.mom.utils.QueryWrappers;
 import com.yuanchu.mom.vo.InsOrderPlanVO;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.time.LocalDateTime;
+import java.util.*;
 
 /**
  * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
@@ -39,6 +46,8 @@
     private InsOrderMapper insOrderMapper;
 
     private InsOrderService insOrderService;
+
+    private StandardTemplateService standardTemplateService;
 
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
@@ -70,7 +79,58 @@
         InsOrder insOrder = new InsOrder();
         insOrder.setId(id);
         insOrder.setInsState(1);
-        insOrderMapper.updateById(insOrder);
-        return insOrderService.getInsOrder(id);
+        InsOrder order = insOrderMapper.selectById(id);
+        if(BeanUtil.isEmpty(order.getInsTime())){
+            insOrder.setInsTime(LocalDateTime.now());
+            insOrderMapper.updateById(insOrder);
+        }
+        Map<String, Object> map = insOrderService.getInsOrder(id);
+        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) {
+            for (InsProduct product : samples.getInsProduct()) {
+                if(set.add(product.getTemplateId())){
+                    map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
+                }
+                String thing = map2.get(product.getTemplateId());
+                if (StrUtil.isNotEmpty(thing)){
+                    JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0)));
+                    JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config")));
+                    List<JSONObject> cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class);
+                    List<JSONObject> tableData = new ArrayList<>();
+                    Map<String, Object> style = new HashMap<>();
+//                    style.put("borderInfo", config.get("borderInfo"));
+                    style.put("rowlen", config.get("rowlen"));
+                    style.put("columnlen", config.get("columnlen"));
+                    int r = -1;
+                    if (BeanUtil.isNotEmpty(cellData)){
+                        for (JSONObject o : cellData) {
+                            JSONObject v = JSON.parseObject(JSON.toJSONString(o.get("v")));
+                            if(BeanUtil.isNotEmpty(v.get("ps"))){
+                                JSONObject ps = JSON.parseObject(JSON.toJSONString(v.get("ps")));
+                                if (ps.get("value").equals("妫�楠岄」") && v.get("v").equals(product.getInspectionItem())){
+                                    tableData.add(o);
+                                    r = Integer.parseInt(o.get("r")+"");
+                                    continue;
+                                }
+                            }
+                            if(tableData.size()>0){
+                                if(Integer.parseInt(o.get("r")+"") == r + 1 || Integer.parseInt(o.get("r")+"") == r){
+                                    r = Integer.parseInt(o.get("r")+"");
+                                    tableData.add(o);
+                                }else{
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                    product.setTemplate(tableData);
+                    product.setStyle(style);
+                }
+            }
+        }
+        map.put("sampleProduct", list);
+        return map;
     }
 }
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 4cc7203..9ece3f3 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
@@ -13,15 +13,13 @@
 import com.yuanchu.mom.dto.OrderThingDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.dto.SampleProductDto;
-import com.yuanchu.mom.mapper.InsOrderMapper;
-import com.yuanchu.mom.mapper.InsProductMapper;
-import com.yuanchu.mom.mapper.InsSampleMapper;
-import com.yuanchu.mom.mapper.InsSampleUserMapper;
+import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.InsOrder;
 import com.yuanchu.mom.pojo.InsProduct;
 import com.yuanchu.mom.pojo.InsSample;
 import com.yuanchu.mom.pojo.InsSampleUser;
 import com.yuanchu.mom.service.InsOrderService;
+import com.yuanchu.mom.service.StandardTemplateService;
 import com.yuanchu.mom.utils.GiveCode;
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
@@ -115,8 +113,8 @@
     @Override
     public Map<String, Object> getInsOrder(Integer id) {
         Map<String, Object> map = new HashMap<>();
-        List<SampleProductDto> list = insSampleMapper.selectSampleProductListByOrderId(id);
         InsOrder insOrder = insOrderMapper.selectById(id);
+        List<SampleProductDto> list = insSampleMapper.selectSampleProductListByOrderId(id);
         map.put("insOrder", insOrder);
         map.put("sampleProduct", list);
         return map;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java
index 6b5c035..8acb374 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java
@@ -63,7 +63,7 @@
     }
 
     @Override
-    public String getStandTempThingByTIdAndPName(Integer templateId, String inspectionItem, String inspectionItemSubclass) {
+    public String getStandTempThingById(Integer templateId) {
         return standardTemplateMapper.selectById(templateId).getThing();
     }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index feee425..1cd93c8 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -22,7 +22,7 @@
     @ValueTableShow(value = 5,name = "鐘舵��")
     private String insState;
 
-    @ValueTableShow(value = 5,name = "妫�楠岀粨鏋�")
+    @ValueTableShow(value = 8,name = "妫�楠岀粨鏋�")
     private Integer insResult;
 
     @ValueTableShow(value = 6,name = "绾﹀畾鏃堕棿")
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 6fd61d9..b5effec 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -18,10 +18,8 @@
         <result property="model" column="model" jdbcType="VARCHAR"/>
         <result property="isLeave" column="is_leave" jdbcType="INTEGER"/>
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
-        <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
         <result property="remark" column="remark" jdbcType="VARCHAR"/>
-        <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/>
         <result property="createUser" column="create_user" jdbcType="INTEGER"/>
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -71,17 +69,17 @@
 
     <select id="selectSampleProductListByOrderId" resultMap="sampleDto">
         select isa.*,
-               ip.id,
+               ip.id ip_id,
                inspection_item,
                inspection_item_classify,
                inspection_item_subclass,
-               ip.factory,
-               ip.laboratory,
-               ip.sample_type,
-               ip.sample,
-               ip.model,
+               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 ip_unit,
                price,
                man_hour,
                man_hour_group,
@@ -96,17 +94,18 @@
                bsm,
                ask,
                `last_value`,
-               ip.ins_result,
+               ip.ins_result ip_ins_result,
                state,
                ins_sample_id,
-               ip.create_user,
-               ip.update_user,
-               ip.create_time,
-               ip.update_time,
+               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
+        left join ins_product ip on isa.id = ip.ins_sample_id
         where ins_order_id = #{id}
+        and state = 1
     </select>
 
     <resultMap id="sampleDto" type="com.yuanchu.mom.dto.SampleProductDto">
@@ -123,10 +122,8 @@
         <result property="model" column="model" jdbcType="VARCHAR"/>
         <result property="isLeave" column="is_leave" jdbcType="INTEGER"/>
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
-        <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
         <result property="remark" column="remark" jdbcType="VARCHAR"/>
-        <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/>
         <result property="createUser" column="create_user" jdbcType="INTEGER"/>
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -137,17 +134,17 @@
     </resultMap>
 
     <resultMap id="product" type="com.yuanchu.mom.pojo.InsProduct">
-        <id property="id" column="ip.id" jdbcType="INTEGER"/>
+        <id property="id" column="ip_id" jdbcType="INTEGER"/>
         <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
         <result property="inspectionItemClassify" column="inspection_item_classify" jdbcType="VARCHAR"/>
         <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/>
-        <result property="factory" column="ip.factory" jdbcType="VARCHAR"/>
-        <result property="laboratory" column="ip.laboratory" jdbcType="VARCHAR"/>
-        <result property="sampleType" column="ip.sample_type" jdbcType="VARCHAR"/>
-        <result property="sample" column="ip.sample" jdbcType="VARCHAR"/>
-        <result property="model" column="ip.model" jdbcType="VARCHAR"/>
+        <result property="factory" column="ip_factory" jdbcType="VARCHAR"/>
+        <result property="laboratory" column="ip_laboratory" jdbcType="VARCHAR"/>
+        <result property="sampleType" column="ip_sample_type" jdbcType="VARCHAR"/>
+        <result property="sample" column="ip_sample" jdbcType="VARCHAR"/>
+        <result property="model" column="ip_model" jdbcType="VARCHAR"/>
         <result property="sonLaboratory" column="son_laboratory" jdbcType="VARCHAR"/>
-        <result property="unit" column="ip.unit" jdbcType="VARCHAR"/>
+        <result property="unit" column="ip_unit" jdbcType="VARCHAR"/>
         <result property="price" column="price" jdbcType="DECIMAL"/>
         <result property="manHour" column="man_hour" jdbcType="DOUBLE"/>
         <result property="manHourGroup" column="man_hour_group" jdbcType="VARCHAR"/>
@@ -162,13 +159,13 @@
         <result property="bsm" column="bsm" jdbcType="VARCHAR"/>
         <result property="ask" column="ask" jdbcType="VARCHAR"/>
         <result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
-        <result property="insResult" column="ip.ins_result" jdbcType="INTEGER"/>
+        <result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
         <result property="state" column="state" jdbcType="INTEGER"/>
         <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
-        <result property="createUser" column="ip.create_user" jdbcType="INTEGER"/>
-        <result property="updateUser" column="ip.update_user" jdbcType="INTEGER"/>
-        <result property="createTime" column="ip.create_time" jdbcType="TIMESTAMP"/>
-        <result property="updateTime" column="ip.update_time" jdbcType="TIMESTAMP"/>
-        <result property="templateId" column="ip.template_id" jdbcType="INTEGER"/>
+        <result property="createUser" column="ip_create_user" jdbcType="INTEGER"/>
+        <result property="updateUser" column="ip_update_user" jdbcType="INTEGER"/>
+        <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"/>
     </resultMap>
 </mapper>

--
Gitblit v1.9.3