From f03c46edc26d3527b9ebb380f1beec60ee16edd0 Mon Sep 17 00:00:00 2001
From: psh <psh>
Date: Thu, 1 Aug 2024 17:59:26 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../nl/wms/board/service/dao/dto/KcDto.java   |  8 +-
 .../nl/wms/board/service/dao/dto/SckbDto.java |  2 +
 .../wms/board/service/dao/dto/WuliaoDto.java  | 10 +-
 .../board/service/dao/mapper/BoardMapper.java |  7 ++
 .../board/service/impl/BoardServiceImpl.java  |  2 +
 .../wms/mes/domain/QPMES060RequestBody.java   |  1 +
 .../sch/data/service/dto/MaterialDataDto.java |  3 -
 .../sch/material/service/dao/Material.java    | 10 +-
 .../nl/wms/sch/report/ReportController.java   |  8 ++
 .../sch/report/service/IReportService.java    |  2 +
 .../service/dao/mapper/ReportMapper.java      |  3 +
 .../service/dao/mapper/ReportMapper.xml       | 19 ++--
 .../wms/sch/report/service/dto/ReportDto.java |  4 +
 .../sch/report/service/dto/ReportQuery.java   |  5 +
 .../nl/wms/sch/report/service/dto/YlDto.java  | 80 +++++++++++++---
 .../service/impl/ReportServiceImpl.java       |  6 ++
 .../sch/task_manage/task/tasks/YCLCKTask.java |  1 -
 .../sch/task_manage/task/tasks/YCLRKTask.java |  1 -
 .../src/views/wms/hw/detail/detail.js         |  8 ++
 .../src/views/wms/hw/detail/index.vue         | 95 ++++++++++++++++++-
 .../src/views/wms/sch/point/schBasePoint.js   | 10 +-
 .../src/views/wms/sch/report/index.vue        | 28 ++++++
 .../src/views/wms/sch/report/report.js        | 10 +-
 .../src/views/wms/ycl/detail/detail.js        | 10 +-
 .../src/views/wms/ycl/detail/index.vue        | 39 +++++++-
 25 files changed, 325 insertions(+), 47 deletions(-)

diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/KcDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/KcDto.java
index 9616f59..61062a8 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/KcDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/KcDto.java
@@ -6,9 +6,9 @@ import java.util.List;
 
 @Data
 public class KcDto {
-    private String sum;
-    private String weight;
-    private String pendSum;
-    private String pendWeight;
+//    private String sum;
+//    private String weight;
+//    private String pendSum;
+//    private String pendWeight;
     private List<WuliaoDto> list;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/SckbDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/SckbDto.java
index 56a1177..5b0d6f6 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/SckbDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/SckbDto.java
@@ -6,6 +6,8 @@ import java.util.List;
 
 @Data
 public class SckbDto {
+    private Integer ptNumber;
     private List<ScDto> pt;
+    private Integer ksNumber;
     private List<ScDto> ks;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/WuliaoDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/WuliaoDto.java
index 0b791b1..8f5ecb4 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/WuliaoDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/dto/WuliaoDto.java
@@ -4,8 +4,10 @@ import lombok.Data;
 
 @Data
 public class WuliaoDto {
-    String name;
-    String number;
-
-    String percentage;
+    String productDescription;
+    String specification;
+    Double count1;
+    Double count2;
+    Double count3;
+    Double count4;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.java
index 29c6e9d..e7d00d9 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.java
@@ -1,6 +1,7 @@
 package org.nl.wms.board.service.dao.mapper;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Select;
 import org.nl.wms.board.service.dao.dto.*;
 import org.nl.wms.pdm.service.dao.PointDetail;
 
@@ -22,4 +23,10 @@ public interface BoardMapper {
     KcDto kc();
 
     List<WuliaoDto> wuliao();
+
+    @Select("select count(*) from sch_base_point where region_code ='HW' and (vehicle_code2='' OR vehicle_code2 is null)")
+    Integer ptNumber();
+
+    @Select("select count(*) from sch_base_point where region_code ='HWK' and (vehicle_code2='' OR vehicle_code2 is null)")
+    Integer ksNumber();
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/impl/BoardServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/impl/BoardServiceImpl.java
index 44d7e8e..234fa87 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/impl/BoardServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/impl/BoardServiceImpl.java
@@ -63,6 +63,8 @@ public class BoardServiceImpl implements BoardService {
         SckbDto sckbDto = new SckbDto();
         sckbDto.setPt(boardMapper.sc("HW"));
         sckbDto.setKs(boardMapper.sc("HWK"));
+        sckbDto.setPtNumber(boardMapper.ptNumber());
+        sckbDto.setKsNumber(boardMapper.ksNumber());
         return JSONObject.parseObject(JSON.toJSONString(sckbDto, SerializerFeature.WriteNullStringAsEmpty));
     }
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java
index b749faf..6f7bbc0 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java
@@ -22,6 +22,7 @@ public class QPMES060RequestBody {
     private double incomingLength;
     private double incomingWeight;
     private double incomingchipping;
+    private String planZBNum;
     private String ingotBatch;
     private String siliconGrade;
     private String siliconPolarity;
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/data/service/dto/MaterialDataDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/data/service/dto/MaterialDataDto.java
index 3125e86..74eda58 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/data/service/dto/MaterialDataDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/data/service/dto/MaterialDataDto.java
@@ -33,9 +33,6 @@ public class MaterialDataDto implements Serializable {
     /** 来料批次 */
     private String batch;
 
-    /** 棒源等级 */
-    private String barLevel;
-
     /** 领料批次 */
     private String pickingBatch;
 
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java
index b79f734..9a29d0e 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java
@@ -56,17 +56,17 @@ public class Material implements Serializable {
     private String incomingchipping;
     @ApiModelProperty(value = "绑定状态")
     private String group_bind_material_status;
-    @ApiModelProperty(value = "棒源等级")
-    private String barLevel;
+    @ApiModelProperty(value = "拼棒类型")
+    private String planZBNum;
     @ApiModelProperty(value = "客户来料批次号")
     private String ingotBatch;
     @ApiModelProperty(value = "晶棒等级")
     private String siliconGrade;
-    @ApiModelProperty(value = "晶棒等级")
+    @ApiModelProperty(value = "极性")
     private String siliconPolarity;
-    @ApiModelProperty(value = "重量")
+    @ApiModelProperty(value = "重量折算系数")
     private String weightCoefficientValue;
-    @ApiModelProperty(value = "线直径")
+    @ApiModelProperty(value = "线径")
     private String lineDiameter;
 
 
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java
index 9a8d61c..91062a1 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java
@@ -91,4 +91,12 @@ public class ReportController {
         return new ResponseEntity<>(TableDataInfo.build(reportService.getLotSNList()),HttpStatus.OK);
     }
 
+    @GetMapping("/getIngotBatchList")
+    @Log("查询批次号列表")
+    @ApiOperation("查询批次号列表")
+    //@SaCheckPermission("@el.check('material:list')")
+    public ResponseEntity<Object> getIngotBatchList(){
+        return new ResponseEntity<>(TableDataInfo.build(reportService.getIngotBatchList()),HttpStatus.OK);
+    }
+
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java
index bdad6bc..0f937cc 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java
@@ -37,4 +37,6 @@ public interface IReportService extends IService<ReportDto> {
 
     List<String> getLotSNList();
 
+    List<String> getIngotBatchList();
+
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.java
index 17c7e8f..0231301 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.java
@@ -38,4 +38,7 @@ public interface ReportMapper extends BaseMapper<ReportDto> {
 
     @Select("select lotSN from sch_base_material")
     List<String> getLotSNList();
+
+    @Select("select ingotBatch from sch_base_material group by ingotBatch")
+    List<String> getIngotBatchList();
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml
index 066e6e5..395c752 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml
@@ -11,7 +11,8 @@
         p.vehicle_code2 as subTray,
         p.vehicle_code as motherTray,
             m.productDescription,
-            m.supplierName
+            m.supplierName,
+            m.ingotBatch
         FROM
             sch_base_point p
                 LEFT JOIN sch_base_material m ON p.vehicle_code2 = m.PalletSN
@@ -30,6 +31,9 @@
         <if test="query.region_code  != null">
             and p.region_code = #{query.region_code}
         </if>
+        <if test="query.ingotBatch  != null">
+            and m.ingotBatch like  CONCAT('%', #{query.ingotBatch}, '%')
+        </if>
         ORDER BY point_code ASC
     </select>
 
@@ -43,12 +47,7 @@
         p.vehicle_code2 as subTray,
         p.vehicle_code as motherTray,
         p.update_time as updateTime,
-        m.siliconGrade,
-        m.productDescription,
-        m.supplierName,
-        m.ingotBatch,
-        m.incomingLength,
-        m.incomingWeight
+        m.*
         FROM
         sch_base_point p,sch_base_material m
         WHERE
@@ -70,6 +69,9 @@
         <if test="query.lotSN  != null">
             and m.lotSN like  CONCAT('%', #{query.lotSN}, '%')
         </if>
+        <if test="query.ingotBatch  != null">
+            and m.ingotBatch like  CONCAT('%', #{query.ingotBatch}, '%')
+        </if>
         ORDER BY point_code ASC
     </select>
 
@@ -116,6 +118,9 @@
         <if test="query.lotSN  != null">
             and m.lotSN like  CONCAT('%', #{query.lotSN}, '%')
         </if>
+        <if test="query.ingotBatch  != null">
+            and m.ingotBatch like  CONCAT('%', #{query.ingotBatch}, '%')
+        </if>
         GROUP BY
         pointCode
         ORDER BY pointCode ASC
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportDto.java
index f52aa97..9207430 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportDto.java
@@ -22,4 +22,8 @@ public class ReportDto implements Serializable {
     private String productDescription;
     /** 供应商名称 */
     private String supplierName;
+    /**
+     * 客户来料批次号
+     */
+    private String ingotBatch;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportQuery.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportQuery.java
index 5d91164..eae1a58 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportQuery.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/ReportQuery.java
@@ -24,4 +24,9 @@ public class ReportQuery implements Serializable {
     private String point_code;
 
     private String region_code;
+
+    private String ingotBatch;
+
+    private String start_point;
+    private String end_point;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/YlDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/YlDto.java
index b7277ba..e5ee147 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/YlDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/YlDto.java
@@ -7,32 +7,84 @@ import java.io.Serializable;
 
 @Data
 public class YlDto implements Serializable {
-    /** 点位编码 */
+    /**
+     * 点位编码
+     */
     private String pointCode;
-    /** 点位名称 */
+    /**
+     * 点位名称
+     */
     private String pointName;
-    /** 区域编码 */
+    /**
+     * 区域编码
+     */
     private String regionCode;
-    /** 区域名称 */
+    /**
+     * 区域名称
+     */
     private String regionName;
-    /** 子托号 */
+    /**
+     * 子托号
+     */
     private String subTray;
-    /** 母拖号 */
+    /**
+     * 母拖号
+     */
     private String motherTray;
-    /** 物料名称 */
+    /**
+     * 物料名称
+     */
     private String productDescription;
-    /** 供应商名称 */
+    /**
+     * 供应商名称
+     */
     private String supplierName;
-    /** 入库时间 */
+    /**
+     * 入库时间
+     */
     private String updateTime;
-    /** 棒源等级 */
+    /**
+     * 棒源等级
+     */
     private String siliconGrade;
-    /** 客户来料批次号 */
+    /**
+     * 客户来料批次号
+     */
     private String ingotBatch;
-    /** 晶棒号 */
+    /**
+     * 晶棒号
+     */
     private String lotSN;
-    /** 来料长度 */
+    /**
+     * 来料长度
+     */
     private String incomingLength;
-    /** 来料重量 */
+    /**
+     * 来料重量
+     */
     private String incomingWeight;
+    /**
+     * 物料编码
+     */
+    private String productName;
+    /**
+     * 来料缺陷长度
+     */
+    private String incomingchipping;
+    /**
+     * 拼棒类型
+     */
+    private String planZBNum;
+    /**
+     * 极性
+     */
+    private String siliconPolarity;
+    /**
+     * 重量折算系数
+     */
+    private String weightCoefficientValue;
+    /**
+     * 线径
+     */
+    private String lineDiameter;
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java
index 1254cd3..7fd13fb 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java
@@ -122,5 +122,11 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, ReportDto> impl
         return reportMapper.getLotSNList();
     }
 
+    public List<String> getIngotBatchList(){
+        return reportMapper.getIngotBatchList();
+    }
+
+
+
 
 }
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
index 01e302c..988c0c6 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
@@ -291,7 +291,6 @@ public class YCLCKTask extends AbstractTask {
                         materialDataDto.setProductName(material.getProductName());
                         materialDataDto.setSpecification(material.getSpecification());
                         materialDataDto.setPickingBatch(extGroupData.getString("batch"));
-                        materialDataDto.setBarLevel(material.getBarLevel());
                         materialDataDto.setLength(BigDecimal.valueOf(length));
                         materialDataDto.setWeight(BigDecimal.valueOf(weight));
                         materialDataDto.setCreateTime(new DateTime().toTimestamp());
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
index 8e87cb1..112d0ae 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
@@ -268,7 +268,6 @@ public class YCLRKTask extends AbstractTask {
                         materialDataDto.setProductName(material.getProductName());
                         materialDataDto.setSpecification(material.getSpecification());
                         materialDataDto.setBatch(material.getBatch());
-                        materialDataDto.setBarLevel(material.getBarLevel());
                         materialDataDto.setLength(BigDecimal.valueOf(length));
                         materialDataDto.setWeight(BigDecimal.valueOf(weight));
                         materialDataDto.setCreateTime(new DateTime().toTimestamp());
diff --git a/lms/nladmin-ui/src/views/wms/hw/detail/detail.js b/lms/nladmin-ui/src/views/wms/hw/detail/detail.js
index 5509bb4..03750fb 100644
--- a/lms/nladmin-ui/src/views/wms/hw/detail/detail.js
+++ b/lms/nladmin-ui/src/views/wms/hw/detail/detail.js
@@ -55,5 +55,13 @@ export function getLotSNList(data) {
     data
   })
 }
+export function getIngotBatchList(data) {
+  return request({
+    url: 'api/report/getIngotBatchList',
+    method: 'get',
+    data
+  })
+}
 
 export default { add, edit, del, getGroup, getSupplierNameList, getProductDescriptionList, getLotSNList }
+
diff --git a/lms/nladmin-ui/src/views/wms/hw/detail/index.vue b/lms/nladmin-ui/src/views/wms/hw/detail/index.vue
index fdeb5c8..4505a13 100644
--- a/lms/nladmin-ui/src/views/wms/hw/detail/index.vue
+++ b/lms/nladmin-ui/src/views/wms/hw/detail/index.vue
@@ -70,6 +70,23 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item label="批次">
+            <el-select
+              v-model="query.ingotBatch"
+              clearable
+              size="mini"
+              placeholder="批次"
+              class="filter-item"
+              filterable
+              @remote-method="getIngotBatchList"
+            >
+              <el-option
+                v-for="item in ingotBatchList"
+                :label="item"
+                :value="item"
+              />
+            </el-select>
+          </el-form-item>
           <rrOperation />
         </el-form>
       </div>
@@ -228,7 +245,16 @@
         </div>
       </el-dialog>
       <!--表格渲染-->
-      <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
+      <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler"  height="300">
+        <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
+          <template slot-scope="scope">
+            <el-button
+              type="text"
+              icon="el-icon-add"
+              @click="handleButtonClick(scope.row)"
+            >回温出库</el-button>
+          </template>
+        </el-table-column>
         <el-table-column prop="pointCode" label="点位编码" :min-width="flexWidth('pointCode',crud.data,'点位编码')" />
         <el-table-column prop="pointName" label="点位名称" :min-width="flexWidth('pointName',crud.data,'点位名称')" />
         <el-table-column prop="regionCode" label="区域编码" :min-width="flexWidth('regionCode',crud.data,'区域编码')" />
@@ -237,7 +263,7 @@
         <el-table-column prop="motherTray" label="母托编码" :min-width="flexWidth('motherTray',crud.data,'母托编码')" />
         <el-table-column prop="supplierName" label="供应商名称" :min-width="flexWidth('supplierName',crud.data,'供应商名称')" />
         <el-table-column prop="productDescription" label="物料名称" :min-width="flexWidth('productDescription',crud.data,'物料名称')" />
-        <el-table-column prop="batch" label="批次" :min-width="flexWidth('batch',crud.data,'批次')" />
+        <el-table-column prop="ingotBatch" label="批次" :min-width="flexWidth('ingotBatch',crud.data,'批次')" />
         <el-table-column prop="siliconGrade" label="棒源等级" :min-width="flexWidth('siliconGrade',crud.data,'棒源等级')" />
         <el-table-column prop="number" label="每托数量(根)" :min-width="flexWidth('number',crud.data,'每托数量(根)')" />
         <el-table-column prop="updateTime" label="入库时间" :min-width="170" />
@@ -249,6 +275,28 @@
           </template>
         </el-table-column>
       </el-table>
+
+      <el-dialog
+    :visible.sync="dialogVisible"
+    title="选择点位"
+  >
+    <el-form ref="form" :model="form">
+      <el-form-item label="点位列表">
+        <el-select v-model="form.selectedPoint" placeholder="请选择点位">
+          <el-option
+                v-for="item in points"
+                :key="item.point_code"
+                :label="item.point_code"
+                :value="item.point_code"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="dialogVisible = false">取消</el-button>
+      <el-button type="primary" @click="submitSelectedPoint">确认</el-button>
+    </div>
+  </el-dialog>
       <!--分页组件-->
       <pagination />
     </div>
@@ -335,8 +383,14 @@ export default {
       regionList: [],
       supplierNameList: [],
       lotSNList: [],
+      ingotBatchList: [],
       productDescriptionList: [],
-      choose: '物料'
+      choose: '物料',
+      dialogVisible: false,
+      form: {
+        selectedPoint: null
+      }, 
+      points: []
     }
   },
   created() {
@@ -345,6 +399,8 @@ export default {
     this.getRegionList()
     this.getSupplierNameList()
     // this.getLotSNList()
+    this.getIngotBatchList()
+    this.fetchPoints()
     this.getProductDescriptionList()
   },
   methods: {
@@ -382,6 +438,11 @@ export default {
         this.productDescriptionList = res.content
       })
     },
+    getIngotBatchList() {
+      crudMaterial.getIngotBatchList().then(res => {
+        this.ingotBatchList = res.content
+      })
+    },
     tableChanged(row) {
       this.form.material_name = row.material_name
       this.form.material_id = row.material_id
@@ -403,6 +464,34 @@ export default {
     },
     hand(value) {
       this.crud.toQuery()
+    },handleButtonClick(row) {
+      this.selectedRow = row;
+      this.dialogVisible = true;
+      this.fetchPoints();
+    },
+    fetchPoints() {
+      crudSchBasePoint.getCBPointList().then(res => {
+        this.points = res;
+        alert(points);
+      })
+
+    },
+    submitSelectedPoint() {
+      const selectedPoint = this.form.selectedPoint;
+      if (!selectedPoint) {
+        this.$message.warning('请选择一个点位');
+        return;
+      }
+      // Submit the selected point to the backend
+      this.$axios.post('/api/pda/task', {
+        start_point: this.selectedRow.pointCode,
+        next_point: selectedPoint
+      }).then(response => {
+        this.$message.success('提交成功');
+        this.dialogVisible = false;
+      }).catch(error => {
+        this.$message.error('提交失败');
+      });
     }
   }
 }
diff --git a/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js b/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js
index edd1dec..7cf0215 100644
--- a/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js
+++ b/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js
@@ -39,5 +39,13 @@ export function getPointList(data) {
     data
   })
 }
+export function getCBPointList(data) {
+  data ={ region_code: 'CB' }
+  return request({
+    url: 'api/schBasePoint/getPointList',
+    method: 'post',
+    data
+  })
+}
 
-export default { add, edit, del, changeUsed, getPointList }
+export default { add, edit, del, changeUsed, getPointList,getCBPointList }
diff --git a/lms/nladmin-ui/src/views/wms/sch/report/index.vue b/lms/nladmin-ui/src/views/wms/sch/report/index.vue
index b10c932..851fec4 100644
--- a/lms/nladmin-ui/src/views/wms/sch/report/index.vue
+++ b/lms/nladmin-ui/src/views/wms/sch/report/index.vue
@@ -78,6 +78,23 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item label="批次">
+            <el-select
+              v-model="query.ingotBatch"
+              clearable
+              size="mini"
+              placeholder="批次"
+              class="filter-item"
+              filterable
+              @remote-method="getIngotBatchList"
+            >
+              <el-option
+                v-for="item in ingotBatchList"
+                :label="item"
+                :value="item"
+              />
+            </el-select>
+          </el-form-item>
           <rrOperation />
         </el-form>
       </div>
@@ -245,6 +262,7 @@
         <el-table-column prop="motherTray" label="母托编码" :min-width="flexWidth('motherTray',crud.data,'母托编码')" />
         <el-table-column prop="supplierName" label="供应商名称" :min-width="flexWidth('supplierName',crud.data,'供应商名称')" />
         <el-table-column prop="productDescription" label="物料名称" :min-width="flexWidth('productDescription',crud.data,'物料名称')" />
+        <el-table-column prop="ingotBatch" label="批次" :min-width="flexWidth('ingotBatch',crud.data,'客户来料批次号')" />
       </el-table>
       <!--分页组件-->
       <pagination />
@@ -330,6 +348,7 @@ export default {
       pointList: [],
       regionList: [],
       supplierNameList: [],
+      ingotBatchList: [],
       productDescriptionList: [],
       choose: '物料'
     }
@@ -339,6 +358,7 @@ export default {
     this.getPointList()
     this.getRegionList()
     this.getSupplierNameList()
+    this.getIngotBatchList()
     this.getProductDescriptionList()
   },
   methods: {
@@ -371,6 +391,11 @@ export default {
         this.productDescriptionList = res.content
       })
     },
+    getIngotBatchList() {
+      crudMaterial.getIngotBatchList().then(res => {
+        this.ingotBatchList = res.content
+      })
+    },
     tableChanged(row) {
       this.form.material_name = row.material_name
       this.form.material_id = row.material_id
@@ -392,6 +417,9 @@ export default {
     },
     hand(value) {
       this.crud.toQuery()
+    },
+    getEffectiveLength(row) {
+      return (row.incomingLength - row.incomingchipping).toFixed(2);
     }
   }
 }
diff --git a/lms/nladmin-ui/src/views/wms/sch/report/report.js b/lms/nladmin-ui/src/views/wms/sch/report/report.js
index e8514b7..ea88fc4 100644
--- a/lms/nladmin-ui/src/views/wms/sch/report/report.js
+++ b/lms/nladmin-ui/src/views/wms/sch/report/report.js
@@ -48,4 +48,12 @@ export function getProductDescriptionList(data) {
   })
 }
 
-export default { add, edit, del, getGroup,getSupplierNameList,getProductDescriptionList }
+export function getIngotBatchList(data) {
+  return request({
+    url: 'api/report/getIngotBatchList',
+    method: 'get',
+    data
+  })
+}
+
+export default { add, edit, del, getGroup,getSupplierNameList,getProductDescriptionList,getIngotBatchList }
diff --git a/lms/nladmin-ui/src/views/wms/ycl/detail/detail.js b/lms/nladmin-ui/src/views/wms/ycl/detail/detail.js
index 5509bb4..4be38c4 100644
--- a/lms/nladmin-ui/src/views/wms/ycl/detail/detail.js
+++ b/lms/nladmin-ui/src/views/wms/ycl/detail/detail.js
@@ -56,4 +56,12 @@ export function getLotSNList(data) {
   })
 }
 
-export default { add, edit, del, getGroup, getSupplierNameList, getProductDescriptionList, getLotSNList }
+export function getIngotBatchList(data) {
+  return request({
+    url: 'api/report/getIngotBatchList',
+    method: 'get',
+    data
+  })
+}
+
+export default { add, edit, del, getGroup, getSupplierNameList, getProductDescriptionList, getLotSNList,getIngotBatchList }
diff --git a/lms/nladmin-ui/src/views/wms/ycl/detail/index.vue b/lms/nladmin-ui/src/views/wms/ycl/detail/index.vue
index 50d3dcf..2cea049 100644
--- a/lms/nladmin-ui/src/views/wms/ycl/detail/index.vue
+++ b/lms/nladmin-ui/src/views/wms/ycl/detail/index.vue
@@ -70,6 +70,23 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item label="批次">
+            <el-select
+              v-model="query.ingotBatch"
+              clearable
+              size="mini"
+              placeholder="批次"
+              class="filter-item"
+              filterable
+              @remote-method="getIngotBatchList"
+            >
+              <el-option
+                v-for="item in ingotBatchList"
+                :label="item"
+                :value="item"
+              />
+            </el-select>
+          </el-form-item>
           <rrOperation />
         </el-form>
       </div>
@@ -228,7 +245,7 @@
         </div>
       </el-dialog>
       <!--表格渲染-->
-      <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
+      <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler" height="550">
         <el-table-column prop="pointCode" label="点位编码" :min-width="flexWidth('pointCode',crud.data,'点位编码')" />
         <el-table-column prop="pointName" label="点位名称" :min-width="flexWidth('pointName',crud.data,'点位名称')" />
         <el-table-column prop="regionCode" label="区域编码" :min-width="flexWidth('regionCode',crud.data,'区域编码')" />
@@ -237,12 +254,20 @@
         <el-table-column prop="motherTray" label="母托编码" :min-width="flexWidth('motherTray',crud.data,'母托编码')" />
         <el-table-column prop="supplierName" label="供应商名称" :min-width="flexWidth('supplierName',crud.data,'供应商名称')" />
         <el-table-column prop="productDescription" label="物料名称" :min-width="flexWidth('productDescription',crud.data,'物料名称')" />
+        <el-table-column prop="productName" label="物料名称" :min-width="flexWidth('productName',crud.data,'物料名称')" />
         <el-table-column prop="lotSN" label="晶体编号" :min-width="flexWidth('lotSN',crud.data,'晶体编号')" />
         <el-table-column prop="ingotBatch" label="批次" :min-width="flexWidth('ingotBatch',crud.data,'客户来料批次号')" />
         <el-table-column prop="siliconGrade" label="棒源等级" :min-width="flexWidth('siliconGrade',crud.data,'棒源等级')" />
         <el-table-column prop="updateTime" label="入库时间" :min-width="70" />
         <el-table-column prop="incomingWeight" label="重量KG" :min-width="70" />
-        <el-table-column prop="incomingLength" label="长度mm" :min-width="flexWidth('incomingLength',crud.data,'长度mm')" />
+        <el-table-column prop="weightCoefficientValue" label="折算系数" :min-width="flexWidth('weightCoefficientValue',crud.data,'折算系数')" />
+        <el-table-column prop="incomingLength" label="来料长度mm" :min-width="flexWidth('incomingLength',crud.data,'来料长度mm')" />
+        <el-table-column prop="incomingchipping" label="来料缺陷长度mm" :min-width="flexWidth('incomingchipping',crud.data,'来料缺陷长度mm')" />
+        <el-table-column label="有效长度mm" :min-width="flexWidth('effectiveLength', crud.data, '有效长度mm')" >
+      <template slot-scope="scope">
+        {{ getEffectiveLength(scope.row) }}
+      </template>
+    </el-table-column>
       </el-table>
       <!--分页组件-->
       <pagination />
@@ -330,6 +355,7 @@ export default {
       regionList: [],
       supplierNameList: [],
       lotSNList: [],
+      ingotBatchList: [],
       productDescriptionList: [],
       choose: '物料'
     }
@@ -340,6 +366,7 @@ export default {
     this.getRegionList()
     this.getSupplierNameList()
     // this.getLotSNList()
+    this.getIngotBatchList()
     this.getProductDescriptionList()
   },
   methods: {
@@ -377,6 +404,11 @@ export default {
         this.productDescriptionList = res.content
       })
     },
+    getIngotBatchList() {
+      crudMaterial.getIngotBatchList().then(res => {
+        this.ingotBatchList = res.content
+      })
+    },
     tableChanged(row) {
       this.form.material_name = row.material_name
       this.form.material_id = row.material_id
@@ -398,6 +430,9 @@ export default {
     },
     hand(value) {
       this.crud.toQuery()
+    },
+    getEffectiveLength(row) {
+      return (row.incomingLength - row.incomingchipping).toFixed(2);
     }
   }
 }