From 6f507a2a6ff037346b052b2b7ce96ab2910c9735 Mon Sep 17 00:00:00 2001
From: deslrey <deslre0381@gmail.com>
Date: 星期一, 12 一月 2026 11:53:35 +0800
Subject: [PATCH] 外购订单的标签打印功能查询接口及查询

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java          |   20 +++
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                          |   37 +++++++
 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java            |   19 +++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java |  112 +++++++++++++---------
 basic-server/src/main/java/com/ruoyi/basic/dto/InventoryDetailDTO.java               |   52 ++++++++++
 inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java    |   55 +++++-----
 6 files changed, 217 insertions(+), 78 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/InventoryDetailDTO.java b/basic-server/src/main/java/com/ruoyi/basic/dto/InventoryDetailDTO.java
new file mode 100644
index 0000000..b939c06
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/InventoryDetailDTO.java
@@ -0,0 +1,52 @@
+package com.ruoyi.basic.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class InventoryDetailDTO {
+    // 鏉ヨ嚜 ifs_inventory_quantity
+    @ApiModelProperty(value = "ifs_inventory_quantityID")
+    private Integer id;
+
+    @ApiModelProperty(value = "闆朵欢鎻忚堪")
+    private String partDesc;
+
+    @ApiModelProperty(value = "SN鍙�")
+    private String lotBatchNo;
+
+    @ApiModelProperty(value = "闆朵欢鍙�")
+    private String partNo;
+
+    // 鏉ヨ嚜 ifs_part_props_record
+
+    @ApiModelProperty(value = "缁濈紭棰滆壊")
+    private String insulationColor;
+
+    @ApiModelProperty(value = "鎶ゅ棰滆壊")
+    private String outerColor;
+
+    @ApiModelProperty(value = "杞藉叿缂栧彿")
+    private String drumNo;
+
+    @ApiModelProperty(value = "璧峰绫虫爣")
+    private String startMeterMark;
+
+    @ApiModelProperty(value = "鎴绫虫爣")
+    private String endMeterMark;
+
+    // 鏉ヨ嚜 ins_order
+
+    @ApiModelProperty(value = "鍏ュ簱鏃堕棿")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "妫�娴嬬粨璁�")
+    private Integer insState;
+
+    // 閫昏緫璁$畻瀛楁锛氭楠屼汉 (COALESCE 鍚庣殑缁撴灉)
+
+    @ApiModelProperty(value = "妫�娴嬩汉鍛�")
+    private String inspectorName;
+}
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
index 37fb641..2fdf20a 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -1,15 +1,12 @@
 package com.ruoyi.inspect.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.InventoryDetailDTO;
 import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.pojo.IfsInventoryQuantity;
 import com.ruoyi.basic.pojo.StandardProductList;
 import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.JackSonUtil;
 import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.dto.*;
 import com.ruoyi.inspect.pojo.InsOrder;
@@ -26,13 +23,10 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
@@ -43,7 +37,7 @@
 @RestController
 @AllArgsConstructor
 @RequestMapping("/insOrder")
-@Api(tags="妫�楠屽崟妯″潡")
+@Api(tags = "妫�楠屽崟妯″潡")
 public class InsOrderController {
 
     private InsOrderService insOrderService;
@@ -73,8 +67,8 @@
 
     @ApiOperation(value = "妫�楠屽垎閰�")
     @PostMapping("/upInsOrder")
-    public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
-        return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory));
+    public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) {
+        return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId, sonLaboratory));
     }
 
     @ApiOperation(value = "娣诲姞妫�楠屼笅鍗曟暟鎹�")
@@ -133,7 +127,7 @@
 
     @ApiOperation(value = "閫氳繃妫�楠屽崟鏌ヨ妫�楠屾暟鎹紙鏁版嵁鏌ョ湅锛�")
     @GetMapping("/selectSampleAndProductByOrderId")
-    public Result<?> selectSampleAndProductByOrderId(Page page, SampleProductDto2 sampleProductDto){
+    public Result<?> selectSampleAndProductByOrderId(Page page, SampleProductDto2 sampleProductDto) {
         return Result.success(insOrderService.selectSampleAndProductByOrderId(page, sampleProductDto));
     }
 
@@ -148,34 +142,34 @@
 
     //寰呮鐨勬挙閿�鐨勬煡璇㈠緟妫�椤圭洰
     @GetMapping("/selectNoProducts")
-    public Result<?> selectNoProducts(Page page, InsProduct insProduct,Integer orderId ,String ids){
-        return Result.success(insProductService.selectNoProducts(page, insProduct,orderId,ids));
+    public Result<?> selectNoProducts(Page page, InsProduct insProduct, Integer orderId, String ids) {
+        return Result.success(insProductService.selectNoProducts(page, insProduct, orderId, ids));
     }
 
 
     @ApiOperation(value = "寰呮鐨勬挙閿�")
     @PostMapping("/updateInspected")
-    public Result<?> updateInspected(@RequestBody Map<String, Object> param){
+    public Result<?> updateInspected(@RequestBody Map<String, Object> param) {
         Integer orderId = (Integer) param.get("orderId");
         String ids = (String) param.get("ids");
         Integer typeSource = (Integer) param.get("typeSource");
         Long ifsInventoryId = Long.parseLong(param.get("ifsInventoryId").toString());
-        if(Objects.nonNull(typeSource) && typeSource == 1){
-            ifsInventoryQuantityMapper.update(null,new LambdaUpdateWrapper<IfsInventoryQuantity>()
-                    .set(IfsInventoryQuantity::getState,0)
-                    .eq(IfsInventoryQuantity::getId,ifsInventoryId));
-            insOrderService.update(null,new LambdaUpdateWrapper<InsOrder>().set(InsOrder::getState,-1).eq(InsOrder::getId,orderId)); // 鎾ら攢
+        if (Objects.nonNull(typeSource) && typeSource == 1) {
+            ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>()
+                    .set(IfsInventoryQuantity::getState, 0)
+                    .eq(IfsInventoryQuantity::getId, ifsInventoryId));
+            insOrderService.update(null, new LambdaUpdateWrapper<InsOrder>().set(InsOrder::getState, -1).eq(InsOrder::getId, orderId)); // 鎾ら攢
         }
-        insProductService.updateInspected(orderId,ids);
+        insProductService.updateInspected(orderId, ids);
         return Result.success();
     }
 
     @ApiOperation(value = "瀹℃牳寰呮鎾ら攢")
     @PostMapping("/checkUpdate")
-    public Result<?> checkUpdate(@RequestBody Map<String, Object> param){
+    public Result<?> checkUpdate(@RequestBody Map<String, Object> param) {
         Integer orderId = (Integer) param.get("orderId");
         Integer state = (Integer) param.get("state");
-        insProductService.checkUpdate(orderId,state);
+        insProductService.checkUpdate(orderId, state);
         return Result.success();
     }
 
@@ -184,9 +178,9 @@
     @GetMapping("/getIfsOrder")
     public Result<?> getIfsOrder() {
         HashMap<String, Object> map = new HashMap<>();
-        map.put("LOCATION_NO","1302;WG-04-001");
-        map.put("STATE_DB","To be Inspected");
-        insOrderService.getIfsOrder(map,false);
+        map.put("LOCATION_NO", "1302;WG-04-001");
+        map.put("STATE_DB", "To be Inspected");
+        insOrderService.getIfsOrder(map, false);
         return Result.success();
     }
 
@@ -236,6 +230,13 @@
         return Result.success(insOrderService.labelOrderPrinting(ids));
     }
 
+    @ApiOperation(value = "澶栬喘涓嬪崟鎴愬搧鏍囩鎵撳嵃")
+    @PostMapping("/labelOutsideOrderPrinting")
+    public Result<List<InventoryDetailDTO>> labelOutsideOrderPrinting(@RequestBody Map<String, Object> param) {
+        List<Integer> ids = (List<Integer>) param.get("ids");
+        return Result.success(insOrderService.labelOutsideOrderPrinting(ids));
+    }
+
     @ApiOperation(value = "鏍规嵁璁㈠崟id鏌ヨ鏍峰搧")
     @GetMapping("/getSampleByOrderId")
     public Result<List<InsSample>> getSampleByOrderId(Integer insOrderId) {
@@ -257,8 +258,8 @@
 
     @ApiOperation(value = "鎴愬搧妫�楠屽崟鍏ㄩ儴淇℃伅瀵煎嚭")
     @GetMapping("/rawAllInsOrderExport")
-    public void rawAllInsOrderExport(SampleOrderDto sampleOrderDto, HttpServletResponse response){
-        insOrderService.rawAllInsOrderExport(sampleOrderDto,response);
+    public void rawAllInsOrderExport(SampleOrderDto sampleOrderDto, HttpServletResponse response) {
+        insOrderService.rawAllInsOrderExport(sampleOrderDto, response);
     }
 
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
index e1b8321..59b8af7 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
+import com.ruoyi.basic.dto.InventoryDetailDTO;
 import com.ruoyi.basic.pojo.StructureTestObject;
 import com.ruoyi.inspect.dto.SampleOrderDto;
 import com.ruoyi.inspect.dto.SampleProductDto2;
@@ -37,6 +39,7 @@
     IPage<SampleProductDto2> selectSampleAndProductByOrderId(@Param("page") IPage<SampleProductDto2> page, @Param("ew") QueryWrapper<SampleProductDto2> ew, @Param("id") Integer id);
 
     List<Map<String, String>> selectDeviceList(@Param("managementNumbers") Set<String> managementNumbers);
+
     List<SampleDefectsFatherVo> selectSampleDefects(Page page, @Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber);
 
     String getStandardMethodCode(@Param("id") Integer id);
@@ -51,6 +54,7 @@
 
     /**
      * 鏌ヨ妫�楠岀粨鏋�
+     *
      * @param ids
      * @return
      */
@@ -58,6 +62,7 @@
 
     /**
      * 鑾峰彇鎵归噺妫�楠岀殑鎬绘暟
+     *
      * @param id
      * @return
      */
@@ -65,13 +70,13 @@
 
     /**
      * 鑾峰彇绾胯姱棰滆壊
+     *
      * @param id
      * @return
      */
     List<String> selectSampleCableTag(@Param("id") Integer id);
 
     /**
-     *
      * @param orderId
      * @return
      */
@@ -79,6 +84,7 @@
 
     /**
      * 鍙煡璇㈤粯璁ょ涓�涓殑浜у搧
+     *
      * @param id
      * @return
      */
@@ -86,20 +92,19 @@
 
     /**
      * 鏌ヨ鏃ュ巻鍥�
+     *
      * @param
      * @return
      */
     List<Map<String, Object>> selectCalendarWorkByWeek(@Param("day") Integer day);
 
     /**
-     *
      * @param partNo
      * @return
      */
     StructureTestObject selectProductByPartNo(@Param("partNo") String partNo);
 
     /**
-     *
      * @param partNo
      * @return
      */
@@ -107,19 +112,24 @@
 
     /**
      * 鎴愬搧鏍囩鎵撳嵃
+     *
      * @param ids
      * @return
      */
     List<InsOrderPrintingVo> labelOrderPrinting(@Param("ids") List<Integer> ids);
 
+    List<InventoryDetailDTO> labelOutsideOrderPrinting(@Param("ids") List<Integer> ids);
+
     /**
      * 鏌ヨ瀵煎嚭淇℃伅
+     *
      * @return
      */
     List<SampleOrderDto> rawAllInsOrderExport(@Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory, @Param("isOrderAll") String isOrderAll);
 
     /**
      * 鏍规嵁璁㈠崟鏌ヨ璇曢獙瀹�
+     *
      * @param insOrderId
      * @return
      */
@@ -127,6 +137,7 @@
 
     /**
      * 鏌ヨ璁㈠崟淇℃伅
+     *
      * @param insSampleId
      * @return
      */
@@ -134,6 +145,7 @@
 
     /**
      * 鏍规嵁璁㈠崟id鏌ヨ璁㈠崟瀵煎嚭淇℃伅
+     *
      * @param orderIds
      * @return
      */
@@ -141,6 +153,7 @@
 
     /**
      * 鏌ヨ褰撳墠鏃堕棿鏄惁鏈夎妫�娴嬮」鐨勬娊鏍疯鍒掕鍗�
+     *
      * @param itmeId    鏍峰搧Id
      * @param startTime 寮�濮嬫椂闂�
      * @param endTime   缁撴潫鏃堕棿
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
index 28bdc73..ef8614b 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
+import com.ruoyi.basic.dto.InventoryDetailDTO;
 import com.ruoyi.basic.pojo.IfsInventoryQuantity;
 import com.ruoyi.basic.pojo.StandardProductList;
 import com.ruoyi.common.core.domain.Result;
@@ -30,7 +32,7 @@
 
 
     //淇敼妫�楠屼笅鍗曟暟鎹�
-    int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory);
+    int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory);
 
     int addInsOrder(List<SampleProductDto> list, InsOrder insOrder);
 
@@ -47,10 +49,11 @@
 
 
     // 鑾峰彇ifs搴撳瓨淇℃伅
-    void getIfsOrder(Map<String,Object> objectMap,Boolean isSplitOrder);
+    void getIfsOrder(Map<String, Object> objectMap, Boolean isSplitOrder);
 
     /**
      * 淇敼璁㈠崟鍗曞彿
+     *
      * @param insOrder
      */
     void updateEntrustCode(InsOrder insOrder);
@@ -58,11 +61,11 @@
     List<InsUnqualifiedRetestProduct> getRetestResult(Integer insProductId);
 
 
-
     void updateIfsInventoryQuantity(Long id);
 
     /**
      * 閾滄潗涓嬪崟
+     *
      * @param list
      * @param copperInsOrder
      * @return
@@ -71,6 +74,7 @@
 
     /**
      * 淇敼濮旀墭缂栧彿
+     *
      * @param insOrder
      */
     void updateOrderEntrustCode(InsOrder insOrder);
@@ -78,6 +82,7 @@
 
     /**
      * 淇敼妫�楠屼笅鍗曞唴瀹�
+     *
      * @param insOrderUpdateDto
      * @return
      */
@@ -85,13 +90,17 @@
 
     /**
      * 鎴愬搧鏍囩鎵撳嵃
+     *
      * @param ids
      * @return
      */
     List<InsOrderPrintingVo> labelOrderPrinting(List<Integer> ids);
 
+    List<InventoryDetailDTO> labelOutsideOrderPrinting(List<Integer> ids);
+
     /**
      * 鏍规嵁鏍峰搧id鏌ヨ妫�楠岄」鏍�
+     *
      * @param insSampleId
      * @return
      */
@@ -99,6 +108,7 @@
 
     /**
      * 娣诲姞閬楁紡鐨勬楠岄」
+     *
      * @param omitOrderProductDto
      * @return
      */
@@ -106,6 +116,7 @@
 
     /**
      * 鎴愬搧妫�楠屽崟瀵煎嚭
+     *
      * @param sampleOrderDto
      * @param response
      */
@@ -113,12 +124,14 @@
 
     /**
      * 淇敼鏍峰搧鍨嬪彿
+     *
      * @param insSample
      */
     void updateSampleModel(InsSample insSample);
 
     /**
      * 鏌ヨ褰撳墠鏃堕棿鏄惁娌℃湁璇ユ娴嬮」鐨勬娊鏍疯鍒�
+     *
      * @param sampleList
      * @param insOrder
      * @return
@@ -128,6 +141,7 @@
 
     /**
      * 绉诲簱鎿嶄綔
+     *
      * @param one
      * @return
      */
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 759ecbb..4c474ec 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -16,6 +16,8 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
+import com.ruoyi.basic.dto.InventoryDetailDTO;
 import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.mapper.StandardProductListMapper;
 import com.ruoyi.basic.mapper.StructureItemParameterMapper;
@@ -89,7 +91,6 @@
     private StructureItemParameterMapper structureItemParameterMapper;
 
 
-
     //鑾峰彇妫�楠屼笅鍗曟暟鎹�
     @Override
     public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
@@ -150,7 +151,7 @@
         // 鍒ゆ柇璁㈠崟鏈夋病鏈夌粦瀹氭娊鏍疯鍒�
         InsOrder order = insOrderMapper.selectById(orderId);
         if (order.getQuarterItemId() != null) {
-           // 闇�瑕佹坊鍔犱笅鍙戞椂闂村埌鎶芥牱鏃堕棿, 鍙栨牱浜哄憳灏辨槸妫�娴嬩汉
+            // 闇�瑕佹坊鍔犱笅鍙戞椂闂村埌鎶芥牱鏃堕棿, 鍙栨牱浜哄憳灏辨槸妫�娴嬩汉
             SpotCheckQuarterItem spotCheckQuarterItem = spotCheckQuarterItemMapper.selectById(order.getQuarterItemId());
             spotCheckQuarterItem.setSpotCheckTime(order.getSendTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
             User user = userMapper.selectById(userId);
@@ -218,7 +219,7 @@
         if (insOrder.getQuarterItemId() != null) {
             Long quarterItemCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
                     .eq(InsOrder::getQuarterItemId, insOrder.getQuarterItemId())
-                    .notIn(InsOrder::getState, -1 ,2 ,3));
+                    .notIn(InsOrder::getState, -1, 2, 3));
             if (quarterItemCount > 0) {
                 throw new ErrorException("璇ユ娊鏍疯鍒掑凡琚粦瀹氳繃");
             }
@@ -314,13 +315,13 @@
         });
 
         //鍘熸潗鏂欎笅鍗曟垨澶栬喘鎴愬搧涓嬪崟
-        if (Objects.nonNull(insOrder.getTypeSource())&&Objects.nonNull(insOrder.getIfsInventoryId())) {
+        if (Objects.nonNull(insOrder.getTypeSource()) && Objects.nonNull(insOrder.getIfsInventoryId())) {
             // 濮旀墭浜哄氨鏄姤妫�浜�, 鐢熶骇鍗曚綅灏辨槸渚涘簲鍟嗗崟浣�
             IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(insOrder.getIfsInventoryId());
             Integer declareUserId = ifsInventoryQuantity.getDeclareUserId();
             User user = userMapper.selectById(declareUserId);
             if (user == null) {
-               throw new ErrorException("缂哄皯鎶ユ浜轰俊鎭�");
+                throw new ErrorException("缂哄皯鎶ユ浜轰俊鎭�");
             }
             // 渚涘簲鍟嗗悕绉�
             insOrder.setProduction(ifsInventoryQuantity.getSupplierName());
@@ -353,11 +354,11 @@
             upInsOrderOfState(insOrder);
 
             // 鍒嗛厤妫�楠屼汉
-            String sonLaboratory = insOrder.getTypeSource().equals(1)?"鍘熸潗鏂�":"鎴愬搧瀹為獙瀹�";
+            String sonLaboratory = insOrder.getTypeSource().equals(1) ? "鍘熸潗鏂�" : "鎴愬搧瀹為獙瀹�";
             upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), sonLaboratory);
 
             //鏄惁涓哄師鏉愭枡涓嬪崟
-            if(insOrder.getTypeSource().equals(1)){
+            if (insOrder.getTypeSource().equals(1)) {
                 // 鏍规嵁闆朵欢鍙峰垽鏂槸鍚︽槸杈呮潗
                 boolean isRaw = false;
                 StructureTestObject productObject = insOrderMapper.selectProductByPartNo(ifsInventoryQuantity.getPartNo());
@@ -365,7 +366,7 @@
                 if (productObject != null && StrUtil.isNotBlank(productObject.getObjectType()) && productObject.getObjectType().equals("1")) {
                     isRaw = true;
                 } else {
-                // 鏌ヨ瀵硅薄
+                    // 鏌ヨ瀵硅薄
                     StructureTestObject testObject = insOrderMapper.selectByPartNo(ifsInventoryQuantity.getPartNo());
                     if (testObject != null && StrUtil.isNotBlank(testObject.getObjectType()) && testObject.getObjectType().equals("1")) {
                         isRaw = true;
@@ -392,7 +393,7 @@
                             startOfNextQuarter,
                             endOfQuarter);
 
-                    if(count == 0) {
+                    if (count == 0) {
                         ifsInventoryQuantity.setIsFirst(1);
                         ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                                 .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())
@@ -406,6 +407,7 @@
 
     /**
      * 娣诲姞妫�楠岄」
+     *
      * @param sampleId
      * @param productList
      */
@@ -453,6 +455,7 @@
 
     /**
      * 瀹℃牳妫�楠屽崟
+     *
      * @param insOrder
      * @return
      */
@@ -482,7 +485,7 @@
                     InsOrder::getEntrustCode);
             // 鍒ゆ柇鏄惁鏄搴︽楠�, 鏄搴︽楠屽彇娑堝師鏉愭枡瀛e害妫�楠屼笅鍗�
             if (InsOrderTypeConstants.QUARTERLY_TEST.equals(order.getOrderType())) {
-                ifsInventoryQuantityMapper.update(null,  Wrappers.<IfsInventoryQuantity>lambdaUpdate()
+                ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                         .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())
                         .set(IfsInventoryQuantity::getIsQuarter, 0));
 
@@ -492,7 +495,7 @@
                         .ne(InsOrder::getState, -1)
                         .eq(InsOrder::getOrderType, InsOrderTypeConstants.ENTER_THE_FACTORY));
                 if (order1 != null) {
-                  no = order1.getEntrustCode();
+                    no = order1.getEntrustCode();
                 }
             }
 
@@ -552,13 +555,14 @@
 
     /**
      * 鑾峰彇ifs搴撳瓨淇℃伅
+     *
      * @param
      * @return
      */
     @Override
-    public void getIfsOrder(Map<String, Object> map,Boolean isSplitOrder) {
+    public void getIfsOrder(Map<String, Object> map, Boolean isSplitOrder) {
         List<Map<String, Object>> inventory = ifsApiUtils.getInventory(JSONUtil.toJsonStr(map));
-        if(inventory.isEmpty()) {
+        if (inventory.isEmpty()) {
             return;
         }
         // 杩涜淇濆瓨
@@ -566,7 +570,7 @@
             DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 鏃堕棿鏍煎紡鍖�
             IfsInventoryQuantity ifsInventoryQuantity = new IfsInventoryQuantity();
             ifsInventoryQuantity.setContract(map1.get("CONTRACT") == null ? "" : map1.get("CONTRACT").toString()); // 鍩�
-            ifsInventoryQuantity.setPartNo(map1.get("PART_NO") == null ? "" : map1.get("PART_NO").toString() ); // 闆朵欢鍙�
+            ifsInventoryQuantity.setPartNo(map1.get("PART_NO") == null ? "" : map1.get("PART_NO").toString()); // 闆朵欢鍙�
             ifsInventoryQuantity.setPartDesc(map1.get("PART_DESC") == null ? "" : map1.get("PART_DESC").toString()); // 闆朵欢鎻忚堪
             ifsInventoryQuantity.setOrderNo(map1.get("ORDER_NO") == null ? "" : map1.get("ORDER_NO").toString()); // 璁㈠崟鍙�
             ifsInventoryQuantity.setLineNo(map1.get("LINE_NO") == null ? "" : map1.get("LINE_NO").toString()); // 琛屽彿
@@ -574,20 +578,20 @@
             ifsInventoryQuantity.setReceiptNo(Integer.parseInt(map1.get("RECEIPT_NO") == null ? "" : map1.get("RECEIPT_NO").toString())); // 鎺ユ敹鍙�
             ifsInventoryQuantity.setStatus(map1.get("STATE") == null ? "" : map1.get("STATE").toString()); // 鐘舵�佹弿杩�
             ifsInventoryQuantity.setStatusDb(map1.get("STATE_DB") == null ? "" : map1.get("STATE_DB").toString()); // 鐘舵��
-            if(map1.get("QTY_ARRIVED") != null) {
+            if (map1.get("QTY_ARRIVED") != null) {
                 ifsInventoryQuantity.setQtyArrived(new BigDecimal(map1.get("QTY_ARRIVED").toString())); // 鎶佃揪鐨勯噰璐暟閲�
             }
-            if(map1.get("QTY_INSPECTED") != null) {
+            if (map1.get("QTY_INSPECTED") != null) {
                 ifsInventoryQuantity.setQtyInspected(new BigDecimal(map1.get("QTY_INSPECTED").toString())); // 宸叉楠岀殑璐拱鏁伴噺
             }
-            if(map1.get("QTY_TO_INSPECT") != null) {
+            if (map1.get("QTY_TO_INSPECT") != null) {
                 ifsInventoryQuantity.setQtyToInspect(new BigDecimal(map1.get("QTY_TO_INSPECT").toString())); // 瑕佹楠岀殑閲囪喘鏁伴噺
             }
-            if(map1.get("INV_QTY_IN_STORE") != null) {
+            if (map1.get("INV_QTY_IN_STORE") != null) {
                 ifsInventoryQuantity.setInvQtyInStore(new BigDecimal(map1.get("INV_QTY_IN_STORE").toString())); // 鎶佃揪鐨勫簱瀛樻暟閲�
             }
-            if(map1.get("PUR_QTY_IN_STORE") != null) {
-                ifsInventoryQuantity.setPurQtyInStore(new BigDecimal( map1.get("PUR_QTY_IN_STORE").toString())); // 鎶佃揪鐨勯噰璐暟閲�
+            if (map1.get("PUR_QTY_IN_STORE") != null) {
+                ifsInventoryQuantity.setPurQtyInStore(new BigDecimal(map1.get("PUR_QTY_IN_STORE").toString())); // 鎶佃揪鐨勯噰璐暟閲�
 
             }
             ifsInventoryQuantity.setSupplierId(map1.get("SUPPLIER_ID") == null ? "" : map1.get("SUPPLIER_ID").toString()); // 渚涘簲鍟咺D
@@ -605,21 +609,21 @@
             ifsInventoryQuantity.setBuyerCode(map1.get("BUYER_CODE") == null ? "" : map1.get("BUYER_CODE").toString()); // 閲囪喘鍛�
             ifsInventoryQuantity.setBuyerName(map1.get("BUYER_NAME") == null ? "" : map1.get("BUYER_NAME").toString()); // 閲囪喘鍛樺悕绉�
 
-            if(map1.get("ARRIVE_DATE") != null) {
-                ifsInventoryQuantity.setArriveDate(LocalDateTime.parse(map1.get("ARRIVE_DATE").toString(),dateTimeFormatter)); // 瀹為檯鍒拌揣鏃ユ湡
+            if (map1.get("ARRIVE_DATE") != null) {
+                ifsInventoryQuantity.setArriveDate(LocalDateTime.parse(map1.get("ARRIVE_DATE").toString(), dateTimeFormatter)); // 瀹為檯鍒拌揣鏃ユ湡
             }
-            if(map1.get("DELIVERY_DATE") != null) {
-                ifsInventoryQuantity.setDeliveryDate(LocalDateTime.parse(map1.get("DELIVERY_DATE").toString(),dateTimeFormatter)); // 瀹為檯浜よ揣鏃ユ湡
+            if (map1.get("DELIVERY_DATE") != null) {
+                ifsInventoryQuantity.setDeliveryDate(LocalDateTime.parse(map1.get("DELIVERY_DATE").toString(), dateTimeFormatter)); // 瀹為檯浜よ揣鏃ユ湡
             }
-            if(map1.get("PRODUCT_DATE") != null) {
-                ifsInventoryQuantity.setProductDate(LocalDateTime.parse(map1.get("PRODUCT_DATE").toString(),dateTimeFormatter)); // 鐢熶骇鏃ユ湡
+            if (map1.get("PRODUCT_DATE") != null) {
+                ifsInventoryQuantity.setProductDate(LocalDateTime.parse(map1.get("PRODUCT_DATE").toString(), dateTimeFormatter)); // 鐢熶骇鏃ユ湡
 
             }
-            if(map1.get("INVALID_DATE") != null) {
-                ifsInventoryQuantity.setInvalidDate(LocalDateTime.parse(map1.get("INVALID_DATE").toString(),dateTimeFormatter)); // 澶辨晥鏃ユ湡
+            if (map1.get("INVALID_DATE") != null) {
+                ifsInventoryQuantity.setInvalidDate(LocalDateTime.parse(map1.get("INVALID_DATE").toString(), dateTimeFormatter)); // 澶辨晥鏃ユ湡
             }
-            if(map1.get("APPROVED_DATE") != null) {
-                ifsInventoryQuantity.setApprovedDate(LocalDateTime.parse(map1.get("APPROVED_DATE").toString(),dateTimeFormatter)); // 瀹℃壒鏃ユ湡
+            if (map1.get("APPROVED_DATE") != null) {
+                ifsInventoryQuantity.setApprovedDate(LocalDateTime.parse(map1.get("APPROVED_DATE").toString(), dateTimeFormatter)); // 瀹℃壒鏃ユ湡
             }
             ifsInventoryQuantity.setReqCeater(map1.get("REQ_CEATER") == null ? "" : map1.get("REQ_CEATER").toString()); // 閲囪喘鐢宠鍒涘缓浜�
             ifsInventoryQuantity.setReqCeaterName(map1.get("REQ_CEATER_NAME") == null ? "" : map1.get("REQ_CEATER_NAME").toString()); // 閲囪喘鐢宠鍒涘缓浜哄悕绉�
@@ -641,9 +645,9 @@
                     .eq(IfsInventoryQuantity::getWaivDevRejNo, ifsInventoryQuantity.getWaivDevRejNo())
                     .eq(IfsInventoryQuantity::getActivitySeq, ifsInventoryQuantity.getActivitySeq())
             );
-            if(count == 0) {
+            if (count == 0) {
                 ifsInventoryQuantity.setIsFirst(0);
-                if(isSplitOrder){
+                if (isSplitOrder) {
                     ifsInventoryQuantity.setIsSplitOrder(1);
                 }
                 //todo:涓嶆竻妤氱敤閫旓紝鏆傛椂娉ㄩ噴鎺�
@@ -660,8 +664,9 @@
 
     /**
      * id鏄師鏉愭枡鐨刬d
-     *
+     * <p>
      * 淇敼璁㈠崟鍗曞彿
+     *
      * @param insOrder
      */
     @Override
@@ -674,7 +679,7 @@
         List<Integer> insOrderIds = insOrders.stream().map(InsOrder::getId).collect(Collectors.toList());
         Long count = insReportMapper.selectCount(Wrappers.<InsReport>lambdaQuery()
                 .in(InsReport::getInsOrderId, insOrderIds));
-        if (count > 0 ) {
+        if (count > 0) {
             throw new ErrorException("褰撳墠璁㈠崟宸茬粡鐢熸垚浜嗘姤鍛婁笉鑳戒慨鏀圭紪鍙�");
         }
 
@@ -726,6 +731,7 @@
 
     /**
      * 淇敼閲囪喘璁㈠崟鎺ユ敹鐘舵��, 閬垮厤鍥炴粴
+     *
      * @param id
      */
     @Transactional
@@ -737,6 +743,7 @@
 
     /**
      * 鏂板閾滃崟涓濅笅鍗�
+     *
      * @param list
      * @param insOrder
      * @return
@@ -822,6 +829,7 @@
 
     /**
      * 淇敼濮旀墭涓嬪崟缂栧彿
+     *
      * @param insOrder
      */
     @Override
@@ -829,7 +837,7 @@
         // 鍒ゆ柇褰撳墠璁㈠崟鏄惁鐢熸垚浜嗘姤鍛�, 鐢熸垚浜嗘姤鍛婁笉鑳戒慨鏀瑰崟鍙�
         Long count = insReportMapper.selectCount(Wrappers.<InsReport>lambdaQuery()
                 .eq(InsReport::getInsOrderId, insOrder.getId()));
-        if (count > 0 ) {
+        if (count > 0) {
             throw new ErrorException("褰撳墠璁㈠崟宸茬粡鐢熸垚浜嗘姤鍛婁笉鑳戒慨鏀圭紪鍙�");
         }
 
@@ -872,6 +880,7 @@
 
     /**
      * 淇敼妫�楠屼笅鍗曞唴瀹�
+     *
      * @param insOrderUpdateDto
      * @return
      */
@@ -897,6 +906,7 @@
 
     /**
      * 鎴愬搧鏍囩鎵撳嵃
+     *
      * @param ids
      * @return
      */
@@ -905,8 +915,14 @@
         return insOrderMapper.labelOrderPrinting(ids);
     }
 
+    @Override
+    public List<InventoryDetailDTO> labelOutsideOrderPrinting(List<Integer> ids) {
+        return insOrderMapper.labelOutsideOrderPrinting(ids);
+    }
+
     /**
      * 鏍规嵁鏍峰搧id鏌ヨ妫�楠岄」鏍�
+     *
      * @param insSampleId
      * @return
      */
@@ -935,6 +951,7 @@
 
     /**
      * 娣诲姞閬楁紡鐨勬楠岄」
+     *
      * @param omitOrderProductDto
      * @return
      */
@@ -970,6 +987,7 @@
 
     /**
      * 鎴愬搧妫�楠屽崟瀵煎嚭
+     *
      * @param sampleOrderDto
      * @param response
      */
@@ -993,7 +1011,7 @@
 
         // 鍒ゆ柇鏄惁鏄笉鍚堟牸, 涓嶅悎鏍兼煡璇笉鍚堟牸椤�
         for (SampleOrderDto orderDto : sampleOrderDtoList) {
-            if (orderDto.getInsResult() != null && orderDto.getInsResult() == 0){
+            if (orderDto.getInsResult() != null && orderDto.getInsResult() == 0) {
                 // 鏌ヨ涓嶅悎鏍奸」
                 List<String> unqualifiedList = insProductMapper.selectUnqualifiedList(orderDto.getId());
                 orderDto.setUnqualifiedItem(CollUtil.join(unqualifiedList, ","));
@@ -1024,6 +1042,7 @@
 
     /**
      * 淇敼鏍峰搧鍨嬪彿
+     *
      * @param insSample
      */
     @Override
@@ -1031,7 +1050,7 @@
         // 鍒ゆ柇褰撳墠璁㈠崟鏄惁鐢熸垚浜嗘姤鍛�, 鐢熸垚浜嗘姤鍛婁笉鑳戒慨鏀瑰崟鍙�
         Long count = insReportMapper.selectCount(Wrappers.<InsReport>lambdaQuery()
                 .eq(InsReport::getInsOrderId, insSample.getInsOrderId()));
-        if (count > 0 ) {
+        if (count > 0) {
             throw new ErrorException("褰撳墠璁㈠崟宸茬粡鐢熸垚浜嗘姤鍛婁笉鑳戒慨鏀圭紪鍙�");
         }
 
@@ -1042,6 +1061,7 @@
 
     /**
      * 鏌ヨ褰撳墠鏃堕棿鏄惁娌℃湁璇ユ娴嬮」鐨勬娊鏍疯鍒�
+     *
      * @param sampleList
      * @param insOrder
      * @return
@@ -1052,7 +1072,7 @@
         if (insOrder.getQuarterItemId() != null) {
             Long quarterItemCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
                     .eq(InsOrder::getQuarterItemId, insOrder.getQuarterItemId())
-                    .notIn(InsOrder::getState, -1 ,2 ,3));
+                    .notIn(InsOrder::getState, -1, 2, 3));
             if (quarterItemCount > 0) {
                 throw new ErrorException("璇ユ娊鏍疯鍒掑凡琚粦瀹氳繃");
             }
@@ -1159,11 +1179,12 @@
 
     /**
      * ifs绉诲簱鎿嶄綔
+     *
      * @param inventoryQuantity
      * @return
      */
     @Override
-    @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public String moveRawMaterial(IfsInventoryQuantity inventoryQuantity) {
         //鏌ヨifs璁㈠崟璇︽儏
         IfsInventoryQuantity one = ifsInventoryQuantityMapper.selectById(inventoryQuantity.getId());
@@ -1188,7 +1209,7 @@
                 throw new ErrorException("IFS鐧昏閲囪喘妫�楠岀粨鏋滃け璐�: " + result.getMessage());
             }
             //濡傛灉鏄媶鍒嗚鍗曪紝鍒欏皢鍚屼竴鎺ユ敹鍙风殑璁㈠崟鏍囪宸茬櫥璁版牎楠�
-            if(one.getIsSplitOrder()==1){
+            if (one.getIsSplitOrder() == 1) {
                 //鏌ヨ鍏朵綑鎷嗗垎鐨勮鍗�
                 List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery()
                         .eq(IfsInventoryQuantity::getOrderNo, one.getOrderNo())
@@ -1198,15 +1219,15 @@
                         .eq(IfsInventoryQuantity::getReceiptNo, one.getReceiptNo())
                         .eq(IfsInventoryQuantity::getIsSplitOrder, 1)
                 );
-                if(Objects.nonNull(quantityList) && !quantityList.isEmpty()){
+                if (Objects.nonNull(quantityList) && !quantityList.isEmpty()) {
                     //淇敼閲囪喘璁㈠崟鐧昏鐘舵��
                     List<Long> ids = quantityList.stream().map(IfsInventoryQuantity::getId).collect(Collectors.toList());
-                    ifsInventoryQuantityMapper.update(null,Wrappers.<IfsInventoryQuantity>lambdaUpdate()
-                            .set(IfsInventoryQuantity::getIsRegister,1)
+                    ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
+                            .set(IfsInventoryQuantity::getIsRegister, 1)
                             .in(IfsInventoryQuantity::getId, ids)
                     );
                 }
-            }else{
+            } else {
                 this.updateIfsInventoryQuantity(one.getId());
             }
         }
@@ -1215,7 +1236,7 @@
          */
         // 妫�楠屽悗绉诲簱
         //1301:鍘熸潗鏂欏悎鏍煎簱锛孋P-02-001:鎴愬搧搴�
-        toLocation = StringUtils.equals(inventoryQuantity.getOrderType(), OrderType.RAW.getValue())?"1301":"CP-02-001";
+        toLocation = StringUtils.equals(inventoryQuantity.getOrderType(), OrderType.RAW.getValue()) ? "1301" : "CP-02-001";
         Map<String, Object> moveResultMap = new HashMap<>();
         List<Map<String, Object>> moveResultList = new ArrayList<>();
         Map<String, Object> moveMap = new HashMap<>();
@@ -1254,6 +1275,7 @@
 
     /**
      * 鍏堜慨鏀归噰璐鍗曟壒娆″彿, 鍚庤繘琛岀Щ搴撴搷浣�
+     *
      * @param one
      * @param toLocation
      */
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 0a64bc3..18f7a41 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -408,6 +408,43 @@
         </foreach>
     </select>
 
+    <!-- 澶栬喘涓嬪崟鎴愬搧鏍囩鎵撳嵃 -->
+    <select id="labelOutsideOrderPrinting" resultType="com.ruoyi.basic.dto.InventoryDetailDTO">
+        SELECT
+        iiq.id,
+        iiq.part_desc,
+        iiq.lot_batch_no,
+        iiq.part_no,
+        ippr.insulation_color,
+        ippr.outer_color,
+        ippr.drum_no,
+        ippr.start_meter_mark,
+        ippr.end_meter_mark,
+        io.update_time,
+        io.ins_state,
+        -- 妫�楠屼汉鏌ヨ锛氫紭鍏堝彇鎸囨淳鐨勮礋璐d汉锛屽鏋滄病鏈夊垯鍙栬鍗曞垱寤轰汉
+        COALESCE(isu.userName, u.name) AS inspector_name
+        FROM ifs_inventory_quantity iiq
+        LEFT JOIN ifs_part_props_record ippr ON ippr.ifs_inventory_id = iiq.id
+        LEFT JOIN ins_order io ON io.ifs_inventory_id = iiq.id AND io.state != -1
+        -- 鍏宠仈鐢ㄦ埛琛紝鐢ㄤ簬鑾峰彇璁㈠崟鍒涘缓浜哄鍚�
+        LEFT JOIN user u ON io.create_user = u.id
+        -- 鍏宠仈瀛愭煡璇紝鐢ㄤ簬鑾峰彇 ins_sample_user 琛ㄤ腑鎸囨淳鐨勬楠岃礋璐d汉
+        LEFT JOIN (
+        SELECT
+        ins_sample_id,
+        GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS userName
+        FROM ins_sample_user isu_inner
+        LEFT JOIN user uu ON isu_inner.user_id = uu.id
+        WHERE isu_inner.state = 0
+        GROUP BY ins_sample_id
+        ) isu ON isu.ins_sample_id = io.id
+        WHERE iiq.id IN
+        <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
+            #{val}
+        </foreach>
+    </select>
+
     <!-- 鏌ヨ妫�楠屽崟鏁版嵁 -->
     <select id="rawAllInsOrderExport" resultType="com.ruoyi.inspect.dto.SampleOrderDto">
         select *

--
Gitblit v1.9.3