zhoushihao
2024-08-16 503c45f8fd117ca58d56dcaceb44d8f95b3e2527
Merge remote-tracking branch 'origin/master'
16个文件已修改
2个文件已添加
648 ■■■■■ 已修改文件
UI-Project/src/lang/companyInfo.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Identify/identify.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/StockBasicData/stockBasicData.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/Landingindication.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/largescreen/largescreen.vue 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DateUtil.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/companyInfo.js
New file
@@ -0,0 +1,85 @@
import {defineStore} from "pinia";
export default defineStore('companyInfo', {
    state: () => ({
        companyName: '常州市吉利玻璃有限公司',
        address:'常州市天宁区郑陆镇大明南路8号',
        telephone:'022-59280088',
        fax:'022-59280066',
        widHeiLength:{//订单宽高长度
            regexp:/^(\d{1,4})$/,//正则四位整数
            //regexp:/^(0|[1-9][0-9]{0,3}([.][0-9]{1,2})?)$/,//正则0.00-9999.99
            msg:'basicData.msg.range9999Dec'
        },
        orderIdType:'month',//后端生成订单号类型,day:每天生成,month:每月生成
        deliveryIdType:'month',//后端生成发货单号类型,day:每天生成,month:每月生成
        columnName:'异形参数',
        selectOrderReviewShow:false, //订单首页加工单审核按钮是否显示
        productName:"product_abbreviation", //产品创建查重字段
        decValue:2,//订单保存面积位数
        label:2,//标签类型
        calculateType:2,//订单计算方式
        //天津
        printLabel: {
            custom: (item1) => {
                return `<div class="row3" style="text-align: center;font-weight: bolder;">
                  <label style="font-weight: bolder;font-size: 22px;margin-top: 28px;">W:${item1.width}</label>
                  &nbsp;&nbsp;&nbsp;
                  <label style="font-weight: bolder;font-size: 22px;margin-top: 28px;">H:${item1.height}</label>
                </div>`
            },
            customSemi: (item1) => {
                return `<div class="row3" style="text-align: center;font-weight: bolder;">
                  <label style="font-weight: bolder;font-size: 10px;margin-top: 28px;">W:${item1.width}</label>
                  &nbsp;&nbsp;&nbsp;
                  <label style="font-weight: bolder;font-size: 10px;margin-top: 28px;">H:${item1.height}</label>
                </div>`
            },
            labelType: '成品标签2',
            labelValue:2,
            labelType3: '成品标签3',
            labelValue3:3,
            printFlowCard: {
                patch:'正品',
                lackOf:'次品',
                processingNote: (itemtextarea) => {
                    return  `${itemtextarea.processing_note}`
                },
            },
            hideButton:'false',
            getSelectFlowCard:2,//打印流程卡查询状态
            className:{
                custom:{
                    printFlowCardName: () => {
                        return `printFlowCard_finished`
                    },
                    entiretyName: () => {
                        return `entirety_finished`
                    },
                    contentRowName: () => {
                        return `contentRow`
                    }
                },
                semi:{
                    printFlowCardName: () => {
                        return `printFlowCard_semi`
                    },
                    entiretyName: () => {
                        return `entirety_semi`
                    },
                    contentRowName: () => {
                        return `contentRow`
                    }
                }
            }
        }
    }),
    actions: {
        //
    }
})
UI-Project/src/views/Identify/identify.vue
@@ -142,11 +142,12 @@
      const rawRects = response.data[0];
      rawData.value = response.data;
      totalPages.value = rawData.value.length;
      const scaleFactor =  1621.78/6000;
      adjustedRects.value = rawRects.map(rect => ({  
        ...rect,
        x_axis: (6000 -(rect.x_axis + rect.width)) * 0.2085,
        x_axis: (6000 -(rect.x_axis + rect.width)) * scaleFactor,
        y_axis: rect.y_axis * 0.17,
        width: rect.width * 0.2 ,
        width: rect.width * scaleFactor ,
        widtha: rect.width ,
        heighta: rect.height ,
        height: rect.height * 0.165 ,
@@ -166,12 +167,13 @@
const handleCurrentChange = (val: number) => {  
  currentPage.value = val;
  const page = currentPage.value - 1
      const scaleFactor =  1621.78/6000;
      adjustedRects.value = rawData.value[page]?.map(rect => ({  
      // adjustedRects.value = rawRects.map(rect => ({  
        ...rect,
        x_axis: (6000 -(rect.x_axis + rect.width)) * 0.2085,
        x_axis: (6000 -(rect.x_axis + rect.width)) * scaleFactor,
        y_axis: rect.y_axis * 0.17,
        width: rect.width * 0.2 ,
        width: rect.width * scaleFactor ,
        widtha: rect.width ,
        heighta: rect.height ,
        height: rect.height * 0.165 ,
@@ -210,11 +212,12 @@
    webSocket = new WebSocket(socketUrl);  
    webSocket.onmessage = (event) => {  
      const data = JSON.parse(event.data);   
      const scaleFactor =  1621.78/6000;
        adjustedRects.value = data.currentCutTerritory[0].map(rect => ({  
        ...rect,
        x_axis: (6000 -(rect.x_axis + rect.width)) * 0.2085,
        x_axis: (6000 -(rect.x_axis + rect.width)) * scaleFactor,
        y_axis: rect.y_axis * 0.17,
        width: rect.width * 0.2 ,
        width: rect.width * scaleFactor ,
        widtha: rect.width ,
        heighta: rect.height ,
        height: rect.height * 0.165 ,
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -27,7 +27,7 @@
// 进炉中
  if(data.intoGlass!=null){
    adjustedRects1.value =  data.intoGlass[0].map(rect => {  
      console.log( adjustedRects1.value);
      const scaleFactor =  794.67/5087;
        let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
        let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -38,34 +38,21 @@
        heighta = rect.height;
      }
      if (rect.angle === 0) {  
    adjustedWidth = widtha * 0.12;
    adjustedWidth = widtha * scaleFactor;
    adjustedHeight = heighta * 0.1;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;   
    newX = 5087 - (rect.yCoordinate + widtha); 
    } else {  
    adjustedWidth = heighta * 0.12;
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * 0.1;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + heighta); 
  }
  // if (rect.angle === 0) {
  //         adjustedWidth = heighta * 0.12;
  //         adjustedHeight = widtha * 0.1;
  //         adjustedWidtha = heighta;
  //         adjustedHeighta = widtha;
  //         newX = 5087 - (rect.xCoordinate + heighta);
  //       } else {
  //         adjustedWidth = widtha * 0.12;
  //         adjustedHeight = heighta * 0.1;
  //         adjustedWidtha = widtha;
  //         adjustedHeighta = heighta;
  //         newX = 5087 - (rect.xCoordinate + widtha);
  //       }
  }
        return {  
        ...rect, 
        xcoordinate: newX * 0.12,
        xcoordinate: newX * scaleFactor,
        ycoordinate: rect.xCoordinate * 0.1,
        width: adjustedWidth,  
        height: adjustedHeight,  
@@ -78,7 +65,7 @@
      }
  if(data.intoGlass2!=null){
    adjustedRects2.value =  data.intoGlass2[0].map(rect => {  
      console.log( adjustedRects2.value);
      const scaleFactor =  794.67/5087;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
      let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -89,34 +76,21 @@
        heighta = rect.height;
      }
      if (rect.angle === 0) {  
    adjustedWidth = widtha * 0.12;
    adjustedWidth = widtha * scaleFactor;
    adjustedHeight = heighta * 0.1;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + widtha); 
    } else {  
    adjustedWidth = heighta * 0.12;
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * 0.1;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5087 - (rect.yCoordinate + heighta);  
  }
  //     if (rect.angle === 0) {
  //         adjustedWidth = heighta * 0.12;
  //         adjustedHeight = widtha * 0.1;
  //         adjustedWidtha = heighta;
  //         adjustedHeighta = widtha;
  //         newX = 5087 - (rect.xCoordinate + heighta);
  // } else {
  //         adjustedWidth = widtha * 0.12;
  //         adjustedHeight = heighta * 0.1;
  //         adjustedWidtha = widtha;
  //         adjustedHeighta = heighta;
  //         newX = 5087 - (rect.xCoordinate + widtha);
  // }
  }
        return {  
        ...rect, 
        xcoordinate: newX * 0.12,
        xcoordinate: newX * scaleFactor,
        ycoordinate: rect.xCoordinate * 0.1,
        width: adjustedWidth,  
        height: adjustedHeight,  
@@ -130,6 +104,7 @@
  // 进炉前
  if(data.waitingGlass!=null){
    adjustedRectsa.value = data.waitingGlass[0].map(rect => {  
      const scaleFactor =  1621.78/5190;
  let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
@@ -140,13 +115,13 @@
        heighta = rect.height;
      }
  if (rect.angle === 0) {  
    adjustedWidth = widtha * 0.24;
    adjustedWidth = widtha * scaleFactor;
    adjustedHeight = heighta * 0.16;
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    newX = 5190 - (rect.yCoordinate + widtha); 
    } else {  
    adjustedWidth = heighta * 0.24;
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * 0.16;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
@@ -154,7 +129,7 @@
  }  
  return {  
    ...rect, 
    x: newX * 0.24,
    x: newX * scaleFactor,
    y: rect.xCoordinate * 0.16,  
    width: adjustedWidth,  
    height: adjustedHeight,  
@@ -168,7 +143,8 @@
    // 已出炉
  if(data.outGlass!=null){
    adjustedRectsb.value = data.outGlass[0].map(rect => {  
  let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
      const scaleFactor =  1621.78/5190;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
  let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
        widtha = rect.height;
@@ -178,13 +154,13 @@
        heighta = rect.height;
      }
  if (rect.angle === 0) {  
    adjustedWidth = widtha * 0.24;
    adjustedWidth = widtha * scaleFactor;
    adjustedHeight = heighta * 0.16;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    // newX = 5190 - (rect.yCoordinate + widtha); 
  } else {  
    adjustedWidth = heighta * 0.24;
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * 0.16;  
    // adjustedWidtha = heighta;  
    // adjustedHeighta = widtha;  
@@ -192,7 +168,7 @@
  }  
  return {  
        ...rect, // 复制原始对象的其他属性  
        x: newX * 0.24,
        x: newX * scaleFactor,
        y: rect.xCoordinate * 0.16,
        width: adjustedWidth,  
        height: adjustedHeight,  
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -36,7 +36,8 @@
  // 更新 tableData 的数据
  if(data.overGlass!=null){
    adjustedRects.value =  data.overGlass[0].map(rect => {  
  let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
      const scaleFactor =  1621.78/5190;
      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
      let newX = rect.yCoordinate; 
      if (rect.width < rect.height) {
        widtha = rect.height;
@@ -46,13 +47,13 @@
        heighta = rect.height;
      }
    if (rect.angle === 0) {  
    adjustedWidth = widtha * 0.24;
    adjustedWidth = widtha * scaleFactor;
    adjustedHeight = heighta * 0.16;  
    // adjustedWidtha = widtha;  
    // adjustedHeighta = heighta;  
    // newX = 5190 - (rect.yCoordinate + rect.width); 
  } else {  
    adjustedWidth = heighta * 0.24;
    adjustedWidth = heighta * scaleFactor;
    adjustedHeight = widtha * 0.16;  
    // adjustedWidtha = heighta;  
    // adjustedHeighta = widtha;  
@@ -60,7 +61,7 @@
  }  
  return {  
    ...rect, 
    xcoordinate: newX * 0.24,
    xcoordinate: newX * scaleFactor,
    ycoordinate: rect.xCoordinate * 0.16,
    width: adjustedWidth,  
    height: adjustedHeight,  
UI-Project/src/views/Slicecage/slicecage.vue
@@ -790,7 +790,7 @@
            <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
          </template>
          </el-table-column>
          <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
          <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/> -->
          <el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
          <el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
          <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/>
@@ -803,11 +803,11 @@
          <el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/>
          <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/>
          <el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/>
          <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
          <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button>
            </template>
        </el-table-column>
        </el-table-column> -->
        </el-table>
      </div>
    </el-card>
@@ -825,7 +825,7 @@
          </template>
          </el-table-column>
          <el-table-column prop="bigStorageCageFeedTask.line" align="center" :label="$t('searchOrder.line')" min-width="120" />
          <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
          <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>  -->
          <el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
          <el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
          <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/>
@@ -838,11 +838,11 @@
          <el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/>
          <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/>
          <el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/>
          <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
          <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button>
            </template>
        </el-table-column>
        </el-table-column> -->
        </el-table>
      </div>
    </el-card>
@@ -850,7 +850,7 @@
            <div v-for="(item, index) in tableDatae" :key="index" id="occupy">  
               <el-col style="text-align:left;font-weight: bold;">#{{ item.device_id }}</el-col>  
               <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">  
                 <span>{{ $t('searchOrder.Usage') }}</span><span>{{ item.percentage }}</span>
                 <span>{{ $t('searchOrder.Usage') }}</span><span>{{ item.percentage }}%</span>
               </el-col>  
               <hr style="width:80%;margin: 0 auto;" />  
               <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">  
@@ -1353,7 +1353,10 @@
  </div> -->
    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id" fixed align="center" :label="$t('searchOrder.sheetID')" min-width="150"/>
          <!-- <el-table-column prop="id" fixed align="center" :label="$t('searchOrder.sheetID')" min-width="150"/>
            -->
          <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" min-width="150"/>
          <el-table-column prop="flowCardId" fixed align="center" :label="$t('searchOrder.processcards')" min-width="120" />
          <!-- <el-table-column prop="glassType" align="center" :label="$t('searchOrder.processcardtype')" min-width="150" /> -->
          <el-table-column prop="width" align="center" :label="$t('searchOrder.width')"  min-width="80" />
UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -20,8 +20,7 @@
const requestData = {  
  line: 2001  
};  
const now = new Date();
const timeRange = ref([new Date(now.setHours(0, 0, 0, 0)), new Date(now.setHours(23, 59, 59, 999))])
const timeRange = ref([])
const selectValuesa = reactive([]);
// request.post("/cacheGlass/taskCache/selectEdgTask",{
//   ...requestData,  
@@ -52,8 +51,7 @@
      stateList=[selectValuesa[1]];
    }
  }
console.log(timeRange.value[0],timeRange.value[1]);
  const response = await request.post("/cacheGlass/edgGlassTaskInfo/setEdgGlassInfoRequest", {
    cellList: celllist,
    stateList: stateList,
@@ -168,7 +166,8 @@
            <el-option label="已磨边" value="2"></el-option>
          </el-select>
          <span class="demonstration" style="margin-left: 20px;">时间段</span>
            <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" start-placeholder="开始日期"  style="margin-left: 20px;"
            <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" start-placeholder="开始日期"  style="margin-left: 20px;" value-format = "YYYY-MM-DD hh:mm:ss"
              end-placeholder="结束日期">
            </el-date-picker>
          <el-button type="primary" style="margin-left: 10px;" @click="setEdgGlassInfoRequest()">{{
UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -42,9 +42,10 @@
const racks = ref([
  { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456',downGlassInfoList:"" } },
 
  { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} },
  { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678',downGlassInfoList:"" } },
  { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} }
  
]);
watchEffect(() => {
@@ -54,18 +55,18 @@
  if (index === 0 ) {
    return rack.x;
  } else if (index === 1 ) {
    return rack.x + rack.width - item.width;
  } else {
    return rack.x + (rack.width - item.width) / 2;
  } else {
    return rack.x + rack.width - item.width;
  }
};
const calculateItemYPosition = (rack, item, index) => {
  if (index === 0 ) {
    return rack.y + (rack.height - item.height) / 2;
  } else if (index === 1) {
    return rack.y + (rack.height - item.height) / 2;
  } else {
    return rack.y + rack.height - item.height;
  } else {
    return rack.y + (rack.height - item.height) / 2;
  }
};
const fetchFlowCardId = async () => {
@@ -85,7 +86,7 @@
      height: itemData.item.height === 0 ? "" : 90,
      downGlassInfoList:itemData.item.downGlassInfoList
    };
    if (index === 2 && itemData.item.width > 0) {
    if (index === 1 && itemData.item.width > 0) {
      newItem.width = 100;
      newItem.height = 20;
    }
@@ -117,7 +118,7 @@
      height: itemData.item.height === 0 ? "" : 90,
      downGlassInfoList:itemData.item.downGlassInfoList
    };
    if (index === 2 && itemData.item.width > 0) {
    if (index === 1 && itemData.item.width > 0) {
      newItem.width = 100;
      newItem.height = 20;
    }
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -42,9 +42,9 @@
const racks = ref([
  { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
 
  { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' } },
  { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678' } },
  { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
  
]);
@@ -56,9 +56,9 @@
  if (index === 0) {
    return rack.x;
  } else if (index === 1) {
    return rack.x + rack.width - item.width;
  } else {
    return rack.x + (rack.width - item.width) / 2;
  } else {
    return rack.x + rack.width - item.width;
  }
};
@@ -66,9 +66,9 @@
  if (index === 0) {
    return rack.y + (rack.height - item.height) / 2;
  } else if (index === 1) {
    return rack.y + (rack.height - item.height) / 2;
  } else {
    return rack.y + rack.height - item.height;
  } else {
    return rack.y + (rack.height - item.height) / 2;
  }
};
@@ -92,7 +92,7 @@
    };
    console.log(itemData.item.fullCardColor);
    if (index === 2 && itemData.item.width > 0) {
    if (index === 1 && itemData.item.width > 0) {
      newItem.width = 100;
      newItem.height = 20;
    }
@@ -134,7 +134,7 @@
      downGlassInfoList:itemData.item.downGlassInfoList
    };
    if (index === 2 && itemData.item.width > 0) {
    if (index === 1 && itemData.item.width > 0) {
      newItem.width = 100;
      newItem.height = 20;
    }
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -39,7 +39,7 @@
const printFlowCardId = ref('')
const printLayer = ref('')
const now = new Date();
const timeRange = ref([new Date(now.setHours(0, 0, 0, 0)), new Date(now.setHours(23, 59, 59, 999))])
const timeRange = ref([])
const handleChange = async () => {
  console.log("触发开关")
@@ -412,7 +412,7 @@
          </el-select>
          <span class="demonstration">时间段</span>
          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" start-placeholder="开始日期"
          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" start-placeholder="开始日期" value-format = "YYYY-MM-DD hh:mm:ss"
                          end-placeholder="结束日期">
          </el-date-picker>
UI-Project/src/views/largescreen/largescreen.vue
@@ -25,26 +25,42 @@
      </el-table-column>
      </el-table>
</div>  -->
<div id="parent" style="margin-top: 10px;margin-left: 150px; height: 240px;width: 1000px;">
  <img src="../../assets/dpxsa.png" alt="" style="margin-left: -10px; width: 100%;height: 100%;position: relative;">
  <div id="lipiana" v-show="woshia"></div>
  <div id="lipianb" v-show="woshia"></div>
  <div id="lipianc" v-show="woshic"></div>
  <div id="lipiand" v-show="woshic"></div>
  <div id="overlay" v-show="flake"></div>
  <div id="overlayb" v-show="flakeb"></div>
  <div id="overlayc" v-show="flakec"></div>
  <div id="overlayd" v-show="flaked"></div>
  <div id="longa" v-show="dalipiana"></div>
  <div id="longb" v-show="dalipianb"></div>
  <div id="shangpianji" v-show="shangpian"></div>
  <div id="xiapianji1" v-show="xiapian1"></div>
  <div id="xiapianji2" v-show="xiapian2"></div>
  <div id="xiapianji3" v-show="xiapian3"></div>
  <div id="xiapianji4" v-show="xiapian4"></div>
  <div id="xiapianji5" v-show="xiapian5"></div>
  <div id="xiapianji6" v-show="xiapian6"></div>
<div class="parter" style="margin-top: 10px;margin-left: 150px; height: 240px;width: 1000px;">
    <img src="../../assets/dpxsa.png" style="margin-left: -10px; width: 100%;height: 100%;" alt="Your Image">
  <div  class="moving-rect lipiana" v-show="woshia"></div>
  <div  class="moving-rect lipianb" v-show="woshia"></div>
  <div  class="moving-rect lipianc" v-show="woshic"></div>
  <div  class="moving-rect lipiand" v-show="woshic"></div>
  <div  class="moving-rect overlaya" v-show="flake"></div>
  <div  class="moving-rect overlayb" v-show="flakeb"></div>
  <div  class="moving-rect overlayc" v-show="flakec"></div>
  <div  class="moving-rect overlayd" v-show="flaked"></div>
  <div  class="moving-rect longa" v-show="dalipiana"></div>
  <div  class="moving-rect longb" v-show="dalipianb"></div>
  <div  class="moving-rect shangpianji" v-show="shangpian"></div>
  <div  class="moving-rect xiapianji" v-show="xiapian"></div>
  <div  class="moving-rect xiapianji1" v-show="xiapian1"></div>
  <div  class="moving-rect xiapianji2" v-show="xiapian2"></div>
  <div  class="moving-rect xiapianji3" v-show="xiapian3"></div>
  <div  class="moving-rect xiapianji4" v-show="xiapian4"></div>
  <div  class="moving-rect xiapianji5" v-show="xiapian5"></div>
  <div  class="moving-rect xiapianji6" v-show="xiapian6"></div>
</div>
<!-- <div class="parter" style="margin-top: 10px;margin-left: 150px; height: 240px;width: 1000px;">
    <img src="../../assets/dpxsa.png" style="margin-left: -10px; width: 100%;height: 100%;" alt="Your Image">
    <div class="moving-rect vertical"></div>
    <div class="moving-rect all"></div>
    <div class="moving-rect horizontal"></div>
    <div class="moving-rect xiao"></div>
    <div class="moving-rect zhan"></div>
    <div class="moving-rect tu"></div>
    <div class="moving-rect zi"></div>
    <div class="moving-rect xia"></div>
    <div class="moving-rect zan"></div>
    <div class="moving-rect fa"></div>
    <div class="moving-rect hua"></div>
    <div class="moving-rect shui"></div>
</div> -->
<!-- <div id="centerright" style="margin-top: 10px;margin-left: 10px; height: 240px;width: 240px;background-color: #911005;">
  <el-table height="240" ref="table" width="340px"
      @selection-change="handleSelectionChange"
@@ -130,6 +146,7 @@
const dalipiana = ref(false)
const dalipianb = ref(false)
const shangpian = ref(false)
const xiapian = ref(false)
const xiapian1 = ref(false)
const xiapian2 = ref(false)
const xiapian3 = ref(false)
@@ -251,6 +268,7 @@
const handleMessage6 = (data) => {
  const tasks = data.downWorkstation[0];  
  if (tasks && tasks.length >= 6) {  
    xiapian.value = tasks.some(task => task.racksNumber!== 0);
    xiapian1.value = tasks[0].racksNumber !== 0;
    xiapian2.value = tasks[1].racksNumber !== 0;
    xiapian3.value = tasks[2].racksNumber !== 0;
@@ -355,162 +373,236 @@
width: 100%;
height: 100%;
}
#parent{
  position: relative;
.parter {
    position: relative;
    display: inline-block; /* 使容器大小适应图片大小 */
  width: 1500px;
  margin-left: -300px
}
#overlay{
  position: absolute;
  z-index: 1;
  width: 36px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -34px;
  margin-left: -2px;
img {
    display: block; /* 让图片以块级元素显示 */
    max-width: 100%; /* 确保图片不超出容器 */
}
#overlayb{
  position: absolute;
  z-index: 1;
  width: 17px;
  height: 115px;
  background-color: #529b2e;
  margin-top: -197px;
  margin-left:4px;
.moving-rect {
    width: 100px;
    height: 50px;
    position: absolute;
}
#overlayc{
  position: absolute;
  z-index: 1;
  width: 16px;
  height: 16px;
  background-color: #529b2e;
  margin-top: -243px;
  margin-left: 5px;
}
#overlayd{
  position: absolute;
  z-index: 1;
  width: 37px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -238px;
  margin-left: 70px;
}
#lipiana{
  position: absolute;
  z-index: 1;
  width: 100px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -57px;
  margin-left: 365px;
}
#lipianb{
  position: absolute;
  z-index: 1;
  width: 20px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -72px;
  margin-left: 492px;
}
#lipianc{
  position: absolute;
  z-index: 1;
  width: 100px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -32px;
  margin-left: 410px;
}
#lipiand{
  position: absolute;
  z-index: 1;
  width: 30px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -47px;
  margin-left: 539px;
}
#longa{
  position: absolute;
.longa{
  z-index: 1;
  width: 33px;
  height: 5px;
  background-color: #529b2e;
  margin-top: -20px;
  margin-top: -15px;
  margin-left: 130px;
}
#longb{
  position: absolute;
.longb{
  z-index: 1;
  width: 33px;
  height: 5px;
  background-color: #529b2e;
  margin-top: -20px;
  margin-top: -15px;
  margin-left: 235px;
}
#shangpianji{
  position: absolute;
  z-index: 1;
  width: 29px;
  height: 10px;
  background-color: #529b2e;
  margin-top: -90px;
  margin-left: 868px;
}
#xiapianji1{
  position: absolute;
.xiapianji1{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -213px;
  margin-top: -206px;
  margin-left: 173px;
}
#xiapianji2{
  position: absolute;
.xiapianji2{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -213px;
  margin-top: -206px;
  margin-left: 217px;
}
#xiapianji3{
  position: absolute;
.xiapianji3{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -202px;
  margin-top: -195px;
  margin-left: 196px;
}
#xiapianji4{
  position: absolute;
.xiapianji4{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -213px;
  margin-top: -206px;
  margin-left: 270px;
}
#xiapianji5{
  position: absolute;
.xiapianji5{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -213px;
  margin-top: -206px;
  margin-left: 314px;
}
#xiapianji6{
  position: absolute;
.xiapianji6{
  z-index: 1;
  width: 12px;
  height: 7px;
  background-color: #529b2e;
  margin-top: -202px;
  margin-top: -195px;
  margin-left: 293px;
}
.xiapianji {
    width: 20px;
    height: 10px;
    background-color: #529b2e;
    top: 9px;
    left: 200px;
    transform: translateX(-50%);
    animation: move-xiapianji 6s infinite;
}
@keyframes move-xiapianji {
    0% {
      left: 200px;
    }
    100% {
      left: calc(100% - 700px);
    }
}
.lipiana {
    width: 15px;
    height: 9px;
    background-color: #529b2e;
    top: 190px;
    right: 530px;
    transform: translateX(-50%);
    animation: move-lipiana 6s infinite;
}
@keyframes move-lipiana {
    0% {
      right: 530px;
    }
    100% {
      right: calc(100% - 350px);
    }
}
.lipianb {
    width: 18px;
    height: 10px;
    background-color: #529b2e;
    top: 160px;
    left: 502px;
    transform: translateX(-50%);
    animation: move-lipianb 6s infinite;
}
@keyframes move-lipianb {
    0% {
        top: 160px;
    }
    100% {
        top: calc(100% - 55px);
    }
}
.lipianc {
    width: 15px;
    height: 9px;
    background-color: #529b2e;
    top: 215px;
    right: 490px;
    transform: translateX(-50%);
    animation: move-lipianc 6s infinite;
}
@keyframes move-lipianc {
    0% {
      right: 490px;
    }
    100% {
      right: calc(100% - 350px);
    }
}
.lipiand {
    width: 25px;
    height: 10px;
    background-color: #529b2e;
    top: 160px;
    left: 555px;
    transform: translateX(-50%);
    animation: move-lipiand 6s infinite;
}
@keyframes move-lipiand {
    0% {
        top: 160px;
    }
    100% {
        top: calc(100% - 40px);
    }
}
.overlaya {
    width: 15px;
    height: 9px;
    background-color: #529b2e;
    top: 213px;
    right: 800px;
    transform: translateX(-50%);
    animation: move-overlaya 6s infinite;
}
@keyframes move-overlaya {
    0% {
      right: 880px;
    }
    100% {
      right: calc(100% - 15px);
    }
}
.overlayb {
    width: 20px;
    height: 10px;
    background-color: #529b2e;
    top: 110px;
    left: 13px;
    transform: translateX(-50%);
    animation: move-overlayb 6s infinite;
}
@keyframes move-overlayb {
    0% {
        top: 160px;
    }
    100% {
        top: calc(100% - 190px);
    }
}
.overlayc {
    width: 20px;
    height: 10px;
    background-color: #529b2e;
    top: 7px;
    left: 13px;
    transform: translateX(-50%);
    animation: move-overlayc 6s infinite;
}
@keyframes move-overlayc {
    0% {
      left: 20px;
    }
    100% {
      left: calc(100% - 900px);
    }
}
.shangpianji {
    width: 20px;
    height: 10px;
    background-color: #529b2e;
    top: 157px;
    right: 90px;
    transform: translateX(-50%);
    animation: move-shangpianji 6s infinite;
}
@keyframes move-shangpianji {
    0% {
      right: 90px;
    }
    100% {
      right: calc(100% - 770px);
    }
}
</style>
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DateUtil.java
New file
@@ -0,0 +1,24 @@
package com.mes.tools;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
    public static Date getBeginDate(){
        Calendar now = Calendar.getInstance();
        Calendar startOfDay = (Calendar) now.clone();
        startOfDay.set(Calendar.HOUR_OF_DAY, 0);
        startOfDay.set(Calendar.MINUTE, 0);
        startOfDay.set(Calendar.SECOND, 0);
        return startOfDay.getTime();
    }
    public static Date getEndDate(){
        Calendar now = Calendar.getInstance();
        Calendar endOfDay = (Calendar) now.clone();
        endOfDay.set(Calendar.HOUR_OF_DAY, 23);
        endOfDay.set(Calendar.MINUTE, 59);
        endOfDay.set(Calendar.SECOND, 59);
        return endOfDay.getTime();
    }
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -9,6 +9,7 @@
import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.tools.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -31,8 +32,13 @@
    @Override
    public List<EdgGlassTaskInfo> selectEdgInfo() {
        EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
        if (null == request) {
            request = new EdgGlassInfoRequest();
        }
        if (null == request.getBeginDate()) {
            request.setBeginDate(DateUtil.getBeginDate());
            request.setEndDate(DateUtil.getEndDate());
        }
        LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>()
                .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
@@ -51,8 +57,10 @@
        }
        return "success";
    }
    /**
     * 查询判断磨边线是否有玻璃运行
     *
     * @param
     * @return
     */
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -186,7 +186,9 @@
        TemperingGlassInfo temperingGlassInfo = temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
        LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper<>();
        bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId, glassId);
        bigStorageCageDetailsWrapper
                .eq(BigStorageCageDetails::getGlassId, glassId)
                .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_IN);
        BigStorageCageDetails bigStorageCageDetails = baseMapper.selectOne(bigStorageCageDetailsWrapper);
        if (temperingGlassInfo != null) {
@@ -197,17 +199,19 @@
            }
            temperingGlassInfoMapper.updateById(temperingGlassInfo);
        }
        Damage damage = new Damage();
        if (status == 0) {
            bigStorageCageDetails.setState(Const.GLASS_STATE_DAMAGE);
            damage.setType(Const.GLASS_STATE_DAMAGE);
        } else {
            bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE);
            damage.setType(Const.GLASS_STATE_TAKE);
        }
        baseMapper.updateById(bigStorageCageDetails);
        bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
        //todo:插入破损数据
        Damage damage = new Damage();
        damage.setGlassId(bigStorageCageDetails.getGlassId());
        damage.setWorkingProcedure("冷加工");
        damage.setLine(3001);
        damage.setRemark("大理片笼破损");
        damage.setStatus(2);
        damageService.insertDamage(damage);
@@ -217,6 +221,7 @@
    @Override
    public List<BigStorageCageDetails> selectBigStorageCageDetails(String glassId) {
        LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
        List<BigStorageCageDetails> bigStorageCageDetailsList=new ArrayList<>();
        glassInfoWrapper.eq(GlassInfo::getGlassId, glassId);
        GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper);
        BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
@@ -224,13 +229,10 @@
            BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
            bigStorageCageDetails.setState(1);
            bigStorageCageDetails.setGap(glassGap);
            List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
            bigStorageCageDetailsList = new ArrayList<>();
            bigStorageCageDetailsList.add(bigStorageCageDetails);
            return bigStorageCageDetailsList;
        } else {
            return null;
        }
        return bigStorageCageDetailsList;
    }
    //理片笼详情添加
@@ -274,6 +276,9 @@
                .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
                .last("limit 1");
        if (glassInfo.getTemperingLayoutId() == 0) {
            //todo:同流程进同一格
//            wrapper.eq(BigStorageCageDetails::getFlowCardId,glassInfo.getFlowCardId())
//                    .eq(BigStorageCageDetails::get)
            wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
        } else {
            wrapper.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -221,12 +221,12 @@
        LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
        bigStorageCageDetailsWrapper
                .eq(BigStorageCageDetails::getSlot, slot)
                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL);
                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL);
        List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
        for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
        ) {
            double widths = bigStorageCageDetails.getWidth();
            double widths = Math.max(bigStorageCageDetails.getWidth(),bigStorageCageDetails.getHeight()) ;
            width = width - widths - glassGap;
        }
        //修改格子剩余宽度
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -41,7 +41,8 @@
                             GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID) T3 ON T2.ENGINEER_ID = T3.ENGINEER_ID
            AND T2.TEMPERING_LAYOUT_ID = T3.TEMPERING_LAYOUT_ID
            AND T2.COUNT = T3.COUNT
        ORDER BY T2.ENGINEER_ID, T2.TEMPERING_LAYOUT_ID
                 INNER JOIN ENGINEERING T4 ON T2.ENGINEER_ID=T4.ENGINEER_ID
        ORDER BY T4.ID, T2.TEMPERING_LAYOUT_ID
    </select>
    <select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -157,7 +157,7 @@
        queryWrapper.eq("flow_card_id", downGlassInfo.getFlowCardId())
                .eq("layer", downGlassInfo.getLayer())
                .select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity")
                .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness");
                .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type");
        List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
        log.info("MES落架数据:{}", resultList);
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -11,6 +11,7 @@
import com.mes.downstorage.service.DownStorageCageService;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.tools.DateUtil;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
@@ -113,6 +114,10 @@
        if (null == request) {
            request = new DownGlassInfoRequest();
        }
        if (request.getBeginDate() == null) {
            request.setBeginDate(DateUtil.getBeginDate());
            request.setEndDate(DateUtil.getEndDate());
        }
        log.info("发送当前正在执行工程已落架的玻璃信息");
        LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>()
                .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate())
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml
@@ -14,6 +14,11 @@
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
        pp:
          url: jdbc:mysql://192.168.1.199:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
  cloud:
    nacos:
      discovery: