zhoushihao
2024-12-09 2730abdf230930f537c0d8c40161d72825949cd2
Merge remote-tracking branch 'origin/master'
5个文件已修改
234 ■■■■ 已修改文件
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue 201 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -97,6 +97,53 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {  
  // 进炉中右
  // if (data.intoGlass2 && data.intoGlass2.length > 0) {
  //   const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));
  //   const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId));
  //   const newRects = data.intoGlass2[0].map(rect => {
  //     const scaleFactor =  810.89/5087;
  //     const scaleFactorY =  430/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  // let newX = rect.yCoordinate;
  //     if (rect.width < rect.height) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  // if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + heighta);
  // }
  // return {
  //   ...rect,
  //   x: newX * scaleFactor,
  //   y: rect.xCoordinate * scaleFactorY,
  //   width: adjustedWidth,
  //   height: adjustedHeight,
  //   widtha: rect.width,
  //   heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 isActive 状态
  //   adjustedRects2.value = existingRects.map(oldRect => {
  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);
  //     if (newRect) {
  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };
  //     }
  //     return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  if (data.intoGlass2 && data.intoGlass2.length > 0) {  
    // 提取新的矩形ID  
    const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));  
@@ -151,6 +198,53 @@
    adjustedRects2.value = []
  }
  // 进炉中左
  // if (data.intoGlass && data.intoGlass.length > 0) {
  //   const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));
  //   const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));
  //   const newRects = data.intoGlass[0].map(rect => {
  //     const scaleFactor =  810.89/5087;
  //     const scaleFactorY =  430/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  // let newX = rect.yCoordinate;
  //     if (rect.width < rect.height) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  // if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + widtha);
  //   } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactorY;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   newX = 6000 - (rect.yCoordinate + heighta);
  // }
  // return {
  //   ...rect,
  //   x: newX * scaleFactor,
  //   y: rect.xCoordinate * scaleFactorY,
  //   width: adjustedWidth,
  //   height: adjustedHeight,
  //   widtha: rect.width,
  //   heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 isActive 状态
  //   adjustedRects1.value = existingRects.map(oldRect => {
  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);
  //     if (newRect) {
  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };
  //     }
  //     return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  if (data.intoGlass && data.intoGlass.length > 0) {
    console.log(data.intoGlass);
    
@@ -203,12 +297,13 @@
  else {
    adjustedRects1.value = []
  }
  // 进炉前
  if (data.waitingGlass && data.waitingGlass.length > 0) {  
    const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId));  
    const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId));  
    const newRects = data.waitingGlass[0].map(rect => {  
      const scaleFactor =  1390/6200;
      const scaleFactorY =  750/2800;
      const scaleFactor =  1621.78/6000;
      const scaleFactorY =  700/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -253,16 +348,14 @@
  else if (data.waitingGlass == null) {
    adjustedRectsa.value = []
  }
  // 已出炉
  if (data.outGlass && data.outGlass.length > 0) {  
    // 提取新的矩形ID
    const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId));  
    // 过滤出已存在的矩形
    const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId));  
    // 计算新的矩形
    const newRects = data.outGlass[0].map(rect => {  
      const scaleFactor =  1390/6000;
      const scaleFactory =  750/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
      const scaleFactor =  1621.78/6000;
      const scaleFactorY =  700/2800;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
        widtha = rect.height;
@@ -273,30 +366,27 @@
      }
  if (rect.angle === 0) {  
    adjustedWidth = widtha * scaleFactor;  
    adjustedHeight = heighta * scaleFactory;
    adjustedHeight = heighta * scaleFactorY;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    // newX = 5190 - (rect.yCoordinate + widtha);
    newY = 2800 - (rect.xCoordinate + heighta);
  } else {
    newX = 6000 - (rect.yCoordinate + widtha);
    } else {
    adjustedWidth = heighta * scaleFactor;  
    adjustedHeight = widtha * scaleFactory;
    // adjustedWidtha = heighta;
    // adjustedHeighta = widtha;
    // newX = 5190 - (rect.yCoordinate + heighta);
    newY = 2800 - (rect.xCoordinate + widtha);
    adjustedHeight = widtha * scaleFactorY;
    // adjustedWidtha = widtha;
    // adjustedHeighta = heighta;
    newX = 6000 - (rect.yCoordinate + heighta);
  }  
  return {  
        ...rect, // 复制原始对象的其他属性
        x: newX * scaleFactor,
        y: newY * scaleFactory,
        width: adjustedWidth,
        height: adjustedHeight,
        widtha: rect.width,
        heighta: rect.height,
    ...rect,
    x: newX * scaleFactor,
    y: rect.xCoordinate * scaleFactorY,
    width: adjustedWidth,
    height: adjustedHeight,
    widtha: rect.width,
    heighta: rect.height,
  }
    });
    });
    // 合并新旧矩形,并保留 isActive 状态  
    adjustedRectsb.value = existingRects.map(oldRect => {  
      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
@@ -305,7 +395,60 @@
      }  
      return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样  
    }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
  }
  }
  // if (data.outGlass && data.outGlass.length > 0) {
  //   // 提取新的矩形ID
  //   const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId));
  //   // 过滤出已存在的矩形
  //   const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId));
  //   // 计算新的矩形
  //   const newRects = data.outGlass[0].map(rect => {
  //     const scaleFactor =  1390/6000;
  //     const scaleFactory =  750/2800;
  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
  // let newX = rect.yCoordinate;
  //     if (rect.width < rect.height) {
  //       widtha = rect.height;
  //       heighta = rect.width;
  //     }else {
  //       widtha = rect.width;
  //       heighta = rect.height;
  //     }
  // if (rect.angle === 0) {
  //   adjustedWidth = widtha * scaleFactor;
  //   adjustedHeight = heighta * scaleFactory;
  //   // adjustedWidtha = widtha;
  //   // adjustedHeighta = heighta;
  //   // newX = 5190 - (rect.yCoordinate + widtha);
  //   newY = 2800 - (rect.xCoordinate + heighta);
  // } else {
  //   adjustedWidth = heighta * scaleFactor;
  //   adjustedHeight = widtha * scaleFactory;
  //   // adjustedWidtha = heighta;
  //   // adjustedHeighta = widtha;
  //   // newX = 5190 - (rect.yCoordinate + heighta);
  //   newY = 2800 - (rect.xCoordinate + widtha);
  // }
  // return {
  //       ...rect, // 复制原始对象的其他属性
  //       x: newX * scaleFactor,
  //       y: newY * scaleFactory,
  //       width: adjustedWidth,
  //       height: adjustedHeight,
  //       widtha: rect.width,
  //       heighta: rect.height,
  // }
  //   });
  //   // 合并新旧矩形,并保留 isActive 状态
  //   adjustedRectsb.value = existingRects.map(oldRect => {
  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);
  //     if (newRect) {
  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };
  //     }
  //     return oldRect; // 如果旧矩形在新数据中不存在,但保留在newGlassIds中,则保留原样
  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));
  // }
  else if (data.outGlass == null) {
    adjustedRectsb.value = []
  }
@@ -867,7 +1010,7 @@
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">  
      <div
      <div
      v-for="(rect, index) in adjustedRectsa"  
      :key="index"  
      @click="showDialoga(rect)"  
@@ -893,7 +1036,7 @@
    <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}:{{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
    <!-- <div style="text-align: center;">炉号:{{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
      <el-scrollbar height="750px" style="background-color: #e9e9eb;">
    <div  style="position: relative;max-width: 1400px;">
    <div  style="position: relative;max-width: 1400px;">
      <div  
      v-for="(rect, index) in adjustedRectsb"  
      :key="index"  
UI-Project/src/views/Slicecage/slicecage.vue
@@ -991,12 +991,12 @@
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
       <el-table height="200px" ref="table" 
       :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="140" />
         <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
         <el-table-column prop="bigStorageCageOutTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
         <el-table-column prop="bigStorageCageOutTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="157">
         <el-table-column prop="glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="140" />
         <el-table-column prop="startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
         <el-table-column prop="targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
         <el-table-column prop="taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="157">
           <template #default="scope">
             <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
             <el-tag type="success" >{{ scope.row.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
           </template>
         </el-table-column>
       </el-table>
@@ -1006,12 +1006,12 @@
      <el-table height="200px" ref="table" 
        @selection-change="handleSelectionChange"
        :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="140" />
          <el-table-column prop="bigStorageCageFeedTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
          <el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
          <el-table-column prop="bigStorageCageFeedTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120">
          <el-table-column prop="glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="140" />
          <el-table-column prop="startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
          <el-table-column prop="targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
          <el-table-column prop="taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120">
          <template #default="scope">
            <el-tag type="success" >{{ scope.row.bigStorageCageFeedTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
            <el-tag type="success" >{{ scope.row.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
          </template>
          </el-table-column>
        </el-table>
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -145,6 +145,9 @@
     * 是否合并
     */
    private Integer combine;
    /**
     * 打标属性
     */
    private String markIcon;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java
@@ -111,5 +111,8 @@
     * 旋转角度
     */
    private double rotateAngle;
    /**
     * 打标属性
     */
    private String markIcon;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -41,7 +41,7 @@
        List<OptimizeGlassinfo> optimizeGlassinfos = null;
        if (engineeringId != null) {
            optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
                    .select("b.process_id,t.glass_type,b.o_width,b.o_height,t.glass_thickness,b.order_sort,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,c.x_axis,c.y_axis,b.project_no,b.glass_id,c.rotate_angle,d.merge as combine")
                    .select("b.process_id,t.glass_type,b.o_width,b.o_height,t.glass_thickness,b.order_sort,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,c.x_axis,c.y_axis,b.project_no,b.glass_id,c.rotate_angle,d.merge as combine ,b.mark_icon")
                    .leftJoin("optimize_detail b on t.project_no=b.project_no")
                    .leftJoin("optimize_heat_detail c on c.project_no=t.project_no and b.heat_layout_id=c.layout_id and b.heat_layout_sort=c.sort")
                    .leftJoin("flow_card d on d.process_id=b.process_id and d.technology_number=b.layer and  d.order_number=b.order_sort ")
@@ -75,6 +75,7 @@
                glassInfo.setAngle(map.getRotateAngle());
                glassInfo.setGlassId(map.getGlassId());
                glassInfo.setCombine(map.getCombine());
                glassInfo.setMarkIcon(map.getMarkIcon());
                // 将映射后的对象添加到结果列表中
                resultList.add(glassInfo);
            }