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 +++++++++++++++-
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                            |    2 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                           |    6 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java            |    8 +
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java                        |    7 +
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java        |   25 ++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   90 ++++++++---------
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java                      |   15 ++
 inspect-server/src/main/resources/mapper/InsProductMapper.xml                          |   14 ++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java              |    5 +
 10 files changed, 192 insertions(+), 65 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 609834d..e659d28 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
@@ -11,6 +11,7 @@
 import com.yuanchu.mom.dto.SampleProductDto2;
 import com.yuanchu.mom.pojo.InsOrder;
 import com.yuanchu.mom.pojo.InsOrderTemplate;
+import com.yuanchu.mom.pojo.InsProduct;
 import com.yuanchu.mom.service.InsOrderService;
 import com.yuanchu.mom.service.InsOrderTemplateService;
 import com.yuanchu.mom.service.InsProductService;
@@ -161,11 +162,29 @@
         return Result.success();
     }
 
-    //寰呮鐨勬挙閿�
+    //寰呮鐨勬挙閿�鐨勬煡璇㈠緟妫�椤圭洰
+    @ValueAuth
+    @PostMapping("/selectNoProducts")
+    public Result<?> selectNoProducts(@RequestBody Map<String, Object> data,Integer orderId ,String ids) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        InsProduct insProduct = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsProduct.class);
+        return Result.success(insProductService.selectNoProducts(page, insProduct,orderId,ids));
+    }
+
+
+    @ApiOperation(value = "寰呮鐨勬挙閿�")
     @PutMapping("/updateInspected")
     @ValueAuth
-    public Result<?> updateInspected(Integer id){
-        insProductService.updateInspected(id);
+    public Result<?> updateInspected(Integer orderId,String ids){
+        insProductService.updateInspected(orderId,ids);
+        return Result.success();
+    }
+
+    @ValueClassify("妫�楠屼笅鍗�")
+    @ApiOperation(value = "瀹℃牳寰呮鎾ら攢")
+    @PostMapping("/checkUpdate")
+    public Result<?> checkUpdate(Integer orderId,Integer state){
+        insProductService.checkUpdate(orderId,state);
         return Result.success();
     }
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
index 2fe546e..6524a52 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
@@ -1,5 +1,8 @@
 package com.yuanchu.mom.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.ProductResultDto2;
 import com.yuanchu.mom.pojo.InsProduct;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -25,6 +28,8 @@
     int updateInspected(@Param("id") Integer id);
 
     List<InsProduct> selectFiberInsProduct(List<Integer> ids, String laboratory);
+
+    IPage<InsProduct> selectNoProducts(Page page, Integer orderId);
 }
 
 
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 0d521fd..4b7cf23 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
@@ -215,4 +215,11 @@
     @ValueTableShow(value = 15, name = "濮旀墭浜�")
     private String prepareUser;
 
+    @ApiModelProperty("鏄惁瀹℃牳鎾ら攢")
+    private Integer isRevocation;
+
+    @ApiModelProperty("瀹℃牳鎾ら攢鐨勯」鐩甶d")
+    private String revocationInsProductIds;
+
+
 }
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 a0f694d..059ef59 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
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -26,9 +27,14 @@
     @TableId(type = IdType.AUTO)
     private Integer id;
 
+    @ValueTableShow(value = 1, name = "鏍峰搧缂栧彿")
+    @TableField(exist = false,select = false)
+    private String sampleCode;
+
     /**
      * 妫�楠岄」
      */
+    @ValueTableShow(value = 2, name = "妫�楠岄」")
     private String inspectionItem;
 
     private String inspectionItemEn;
@@ -45,6 +51,7 @@
     /**
      * 妫�楠岄」瀛愮被
      */
+    @ValueTableShow(value = 2, name = "妫�楠岄」瀛愮被")
     private String inspectionItemSubclass;
 
     private String inspectionItemSubclassEn;
@@ -62,16 +69,19 @@
     /**
      * 鏍峰搧鍒嗙被
      */
+    @ValueTableShow(value = 3, name = "鏍峰搧鍒嗙被")
     private String sampleType;
 
     /**
      * 鏍峰搧
      */
+    @ValueTableShow(value = 4, name = "鏍峰搧")
     private String sample;
 
     /**
      * 鍨嬪彿
      */
+    @ValueTableShow(value = 5, name = "鍨嬪彿")
     private String model;
 
     private String methodS;
@@ -79,6 +89,7 @@
     /**
      * 瀛愬疄楠屽
      */
+    @ValueTableShow(value = 6, name = "璇曢獙瀹�")
     private String sonLaboratory;
 
     /**
@@ -137,7 +148,7 @@
     private String method;
 
     /**
-     * 棰勮鏃堕棿(澶�)
+     * 棰勮鏃堕棿(h)
      */
     private Integer manDay;
 
@@ -149,11 +160,13 @@
     /**
      * 瑕佹眰鍊�
      */
+    @ValueTableShow(value = 7, name = "瑕佹眰鍊�")
     private String ask;
 
     /**
      * 瑕佹眰鎻忚堪
      */
+    @ValueTableShow(value = 8, name = "瑕佹眰鎻忚堪")
     private String tell;
 
     /**
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java
index 4f04b2a..9ad4148 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java
@@ -1,8 +1,11 @@
 package com.yuanchu.mom.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.InsProductDto;
 import com.yuanchu.mom.pojo.InsProduct;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
 
 /**
 * @author Administrator
@@ -13,8 +16,11 @@
 
     int selectOrderManDay(Integer orderId);
 
-    int updateInspected(Integer id);
+    int updateInspected(Integer id,String ids);
 
     boolean write(InsProductDto insProductDto);
 
+    Map<String,Object> selectNoProducts(Page page, InsProduct insProduct,Integer orderId,String ids);
+
+    void checkUpdate(Integer orderId,Integer state);
 }
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 0c9bc4f..cbc5ab0 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
@@ -135,6 +135,7 @@
 
     @Resource
     private InsOrderFileMapper insOrderFileMapper;
+
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
@@ -153,13 +154,13 @@
                 laboratory = departLims;
             }
         }
-        Integer userId =null;
-        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId()) ) {
+        Integer userId = null;
+        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
             userId = map1.get("userId");
             insOrderPlanDTO.setUserId(userId.longValue());
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
-        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory,laboratory);
+        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId, sonLaboratory, laboratory);
         map.put("body", insOrderPage);
         return map;
     }
@@ -187,7 +188,7 @@
             insOrderPlanDTO.setUserId(userId.longValue());
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
-        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory,laboratory);
+        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId, sonLaboratory, laboratory);
         map.put("body", insOrderPage);
         return map;
     }
@@ -200,7 +201,7 @@
         }
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
         Integer userId = map1.get("userId");
-        InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1,entity.getSonLaboratory());
+        InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1, entity.getSonLaboratory());
         return insSampleUserMapper.insert(insSampleUser) > 0;
     }
 
@@ -251,7 +252,7 @@
     private List<InsProduct> getDeviceMessage(List<InsProduct> insProducts, HttpServletRequest request) {
         String ipAddress = request.getRemoteAddr();
         // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
-        String ip =  ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+        String ip = ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
         insProducts.forEach(i -> {
             Map<String, Object> devices = baseMapper.getDeviceMessage(ip, i.getInspectionItem(), i.getInspectionItemSubclass(), i.getSampleType());
             if (ObjectUtils.isNotEmpty(devices) && ObjectUtils.isNotEmpty(devices.get("file_type")) && ObjectUtils.isNotEmpty(devices.get("collect_url"))) {
@@ -275,6 +276,7 @@
         });
         return insProducts;
     }
+
     @Override
     public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
         List<String> collect = new ArrayList<>();
@@ -353,9 +355,9 @@
                 for (InsFibers insFiber : insFibers) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFibersId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
-                    if (insProducts.size()==collect.size()) {
+                    if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
-                    }else {
+                    } else {
                         insFiber.setState(0);//鏈楠�
                     }
                 }
@@ -365,9 +367,9 @@
                 for (InsFiber insFiber : fiberList) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
-                    if (insProducts.size()==collect.size()) {
+                    if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
-                    }else {
+                    } else {
                         insFiber.setState(0);//鏈楠�
                     }
                 }
@@ -378,9 +380,9 @@
                 for (InsFiber insFiber : insFiberList) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList());
-                    if (insProducts.size()==collect.size()) {
+                    if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
-                    }else {
+                    } else {
                         insFiber.setState(0);//鏈楠�
                     }
                 }
@@ -403,7 +405,7 @@
         //鍏堟煡鍑鸿繖涓牱鍝佷笅鏈夊摢浜涚鑹叉爣,鍏夌氦甯�,鍏夌氦鑹叉爣
         //鍏堟煡鍑哄绠�
         List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
-        if (insBushings.size()>0) {
+        if (insBushings.size() > 0) {
             //閫氫俊--娓╁害寰幆
             for (InsBushing insBushing : insBushings) {
                 //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
@@ -430,13 +432,13 @@
                                     insProduct.setInsProductResult(insProductResult);
                                 }
                                 //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
-                                InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                        .eq(InsProduct::getInsSampleId,sampleId)
+                                InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                        .eq(InsProduct::getInsSampleId, sampleId)
                                         .eq(InsProduct::getInspectionItem, "1")
                                         .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
                                         .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
-                                        .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
-                                if (ObjectUtils.isNotEmpty(insProductResult1) &&!insProductResult1.getComValue().equals("[]")) {
+                                        .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
+                                if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
                                     insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                                 }
                                 productVo.setInsProduct(insProduct);
@@ -444,8 +446,7 @@
                             }
                         }
                     }
-                }
-                else {
+                } else {
                     //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
                     List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
                     for (InsFiber fiber : insFiberList) {
@@ -463,12 +464,12 @@
                             productVo.setBushColor(fiber.getBushColor());
                             insProduct.setInsProductResult(insProductResult);
                             //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
-                            InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
-                                    .eq(InsProduct::getInsSampleId,sampleId)
+                            InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                    .eq(InsProduct::getInsSampleId, sampleId)
                                     .eq(InsProduct::getInspectionItem, "1")
                                     .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
                                     .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
-                                    .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
+                                    .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
                             if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
                                 insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                             }
@@ -479,8 +480,7 @@
                 }
             }
             productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
-        }
-        else {
+        } else {
             //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙
             List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                     .eq(InsProduct::getInsSampleId, sampleId)
@@ -564,6 +564,7 @@
                         insProduct.setLastValue(o.equals("") ? null : (o.toString()));
                     }
                 } catch (Exception e) {
+                    insProduct.setLastValue("");//''
                 }
                 if (jo.get("equipValue") != null) {
                     JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
@@ -592,6 +593,7 @@
                     String ir = JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + "";
                     insProduct.setInsResult(Integer.parseInt(ir));
                 } catch (Exception e) {
+                    insProduct.setInsResult(2);//寰呭畾
                 }
                 if (BeanUtil.isEmpty(result.getId())) {
                     result.setCreateUser(userId);
@@ -616,9 +618,9 @@
                 PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
                         .eq(PerformanceShift::getUserId, userId)
                         .eq(PerformanceShift::getWorkTime, today));
-                if (ObjectUtils.isNotEmpty(performanceShift)){
+                if (ObjectUtils.isNotEmpty(performanceShift)) {
                     ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
-                    if (ObjectUtils.isNotEmpty(shiftTime)){
+                    if (ObjectUtils.isNotEmpty(shiftTime)) {
                         DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
                         LocalTime now = LocalTime.now();
                         LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
@@ -644,7 +646,7 @@
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
                                 .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
-                        if (ObjectUtils.isNotEmpty(insProduct.getManHour())&& ObjectUtils.isEmpty(count2) && ObjectUtils.isEmpty(count1)) {
+                        if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && ObjectUtils.isEmpty(count2) && ObjectUtils.isEmpty(count1)) {
                             AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
                             if (isWithinRange) {
                                 //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
@@ -654,7 +656,7 @@
                                 auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
                                 auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
                                 auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
-                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//浜ч噺宸ユ椂
+                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
                                 auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
                                 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                 DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -672,7 +674,7 @@
                                 auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
                                 auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
                                 auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
-                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//浜ч噺宸ユ椂
+                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
                                 auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
                                 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                 DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -734,7 +736,7 @@
 
     //浜ゆ帴
     @Override
-    public int upPlanUser(Integer userId, Integer orderId,String sonLaboratory) {
+    public int upPlanUser(Integer userId, Integer orderId, String sonLaboratory) {
         InsSampleUser insSampleUser = new InsSampleUser();
         insSampleUser.setUserId(userId);
         insSampleUser.setInsSampleId(orderId);
@@ -1118,8 +1120,8 @@
                     if (i % number == 0) {
                         List<RowRenderData> rows = new ArrayList<>();
                         //琛ㄦ牸鐨勮鏁� 脳 鈭� 鉁� 鉁�
-                        long count1 = size-(index-1)*number < number ? size-(index-1)*number + 3 : number + 3;
-                        for (int j = 0; j <count1 ; j++) {
+                        long count1 = size - (index - 1) * number < number ? size - (index - 1) * number + 3 : number + 3;
+                        for (int j = 0; j < count1; j++) {
                             RowRenderData rowRenderData = new RowRenderData();
                             RowStyle rowStyle = new RowStyle();
                             rowStyle.setHeight(40);
@@ -1161,8 +1163,7 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     }
-                                }
-                                else if (j == 1) {
+                                } else if (j == 1) {
                                     //绗簩琛�
                                     if (k == 0) {
                                         //绗竴鍒�
@@ -1205,8 +1206,7 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     }
-                                }
-                                else if (j == count1-1) {
+                                } else if (j == count1 - 1) {
                                     //鏈�鍚庝竴琛�
                                     if (k == 0 || k == 1) {
                                         //鍓嶄袱鍒�
@@ -1224,8 +1224,7 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     }
-                                }
-                                else {
+                                } else {
                                     if (k == 0) {
                                         //绗竴鍒�
                                         textRenderData.setText((j - 1) + "");
@@ -1593,7 +1592,7 @@
                     if (i % 16 == 0) {
                         //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍�
                         List<RowRenderData> rows = new ArrayList<>();
-                        int count2 = sampleList.size()-(index41-1)*16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17;
+                        int count2 = sampleList.size() - (index41 - 1) * 16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17;
                         //琛ㄦ牸鐨勮鏁�
                         for (int j = 0; j < count2; j++) {
                             RowRenderData rowRenderData = new RowRenderData();
@@ -1649,8 +1648,7 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     }
-                                }
-                                else {
+                                } else {
                                     if (k == 0) {
                                         //绗竴鍒�
                                         textRenderData.setText(sampleList.get(0).getModel() + "鈭�44");
@@ -1789,7 +1787,7 @@
             } catch (Exception e) {
                 throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
             }
-            if (ObjectUtils.isEmpty(signatureUrl)  || signatureUrl.equals("")) {
+            if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) {
                 throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
             }
             //Custom custom = customMapper.selectById(user.get("company"));
@@ -3479,8 +3477,7 @@
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
-        }
-        else {
+        } else {
             //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀
             Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
             insSampleUserMapper.deleteById(id);
@@ -3548,7 +3545,7 @@
                     insProductMapper.updateById(product);
                 }
                 //濡傛灉鏄儹寰幆鎴栬�呮槸娓╁崌璇曢獙
-                else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")){
+                else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
                     //鏌ヨ杩欎簺椤圭洰涓嬬殑鍏朵粬妫�楠岄」鐩槸鍚﹀叏閮ㄦ楠�
                     List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                             .eq(InsProduct::getInsSampleId, product.getInsSampleId())
@@ -3564,8 +3561,7 @@
                         product.setInsResult(1);
                     }
                     insProductMapper.updateById(product);
-                }
-                else {
+                } else {
                     count++;
                     str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
                 }
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);
+
+    }
 }
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 4e1996c..3e9e312 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -19,6 +19,8 @@
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="revocationInsProductIds" column="revocation_ins_product_ids" />
+        <result property="isRevocation" column="is_revocation" />
     </resultMap>
 
     <resultMap id="OrderThingDto" type="com.yuanchu.mom.dto.OrderThingDto">
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index d1e6308..5d9645a 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -3,7 +3,6 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.InsProductMapper">
-
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsProduct">
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
@@ -78,7 +77,7 @@
                io.entrust_code,
                ipr.update_time,
                ip.ins_result,
-               u.name updateUserName
+               u.name         updateUserName
         from ins_product ip
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_sample isa on isa.id = ip.ins_sample_id
@@ -86,7 +85,7 @@
                  left join user u on u.id = ipr.update_user
         where ip.ins_sample_id = #{sampleId}
           and ip.ins_result is not null
-        and template_id is not null
+          and template_id is not null
     </select>
     <select id="selectFiberInsProduct" resultType="com.yuanchu.mom.pojo.InsProduct">
         select * from ins_product
@@ -99,4 +98,13 @@
             #{item}
         </foreach>
     </select>
+    <select id="selectNoProducts" resultType="com.yuanchu.mom.pojo.InsProduct">
+        select *
+        from (select ip.*, sample_code
+              from ins_product ip
+                       left join ins_sample is2 on ip.ins_sample_id = is2.id
+              where ip.ins_result is null
+                and state = 1
+                and is2.ins_order_id = #{orderId}) A
+    </select>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 0e895b1..ea09efc 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,7 @@
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
         select * from(select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
+        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user
         FROM
         (
         SELECT
@@ -45,7 +45,7 @@
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-        LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
+        LEFT JOIN (
         SELECT *
         FROM ins_sample_user u
         WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
@@ -60,7 +60,6 @@
         LEFT JOIN user ON isu.user_id = user.id
         WHERE
         io.state = 1
-        # AND io.ins_state != 5
         and send_time is not null
         <if test="userId !=null and userId!=''">
             and (isu.user_id = #{userId} OR isu.user_id is NULL )
@@ -81,7 +80,6 @@
         ) isu2 on
         isu2.ins_sample_id = a.id
         ORDER BY
-        <!--a.user_id DESC,-->
         a.type DESC,
         a.id
         ) b

--
Gitblit v1.9.3