严智鑫
2024-04-22 2027077e00eff0b9fa6b0f68f803a9780f065e21
Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
18个文件已修改
1个文件已添加
1个文件已删除
1073 ■■■■ 已修改文件
UI-Project/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/shangpianji .png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/shangpianji.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/router/index.js 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Caching/caching.vue 657 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/returns.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/vite.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/vue.config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/config.js
@@ -1,6 +1,6 @@
export default {
  serverUrl: "localhost:88/api/loadGlass",
  serverUrl: "10.153.19.150:88/api",
  //serverUrl: "localhost:88/api/",
  serverUrl2: "localhost:8085"
  serverUrl2: "10.153.19.150:8085"
  //serverUrl:"res.abeim.cn"
}
UI-Project/src/assets/shangpianji .png
Binary files differ
UI-Project/src/assets/shangpianji.png

UI-Project/src/router/index.js
@@ -36,32 +36,32 @@
        },
      
/*----------- 用户列表 ----------------*/
{
  path: 'User',
  name: 'User',
  component: () => import('../views/User/userlist.vue'),
  children:[
    {
      path: '/User/userlist',
      name: 'userlist',
      component: () => import('../views/User/userlist.vue')
    },
  ]
  },
// {
//   path: 'User',
//   name: 'User',
//   component: () => import('../views/User/userlist.vue'),
//   children:[
//     {
//       path: '/User/userlist',
//       name: 'userlist',
//       component: () => import('../views/User/userlist.vue')
//     },
//   ]
//   },
  
/*----------- 权限列表 ----------------*/
{
  path: 'Permissions',
  name: 'Permissions',
  component: () => import('../views/Permissions/permissionslist.vue'),
  children:[
    {
      path: '/Permissions/permissionslist',
      name: 'permissionslist',
      component: () => import('../views/Permissions/permissionslist.vue')
    },
  ]
  },
// {
//   path: 'Permissions',
//   name: 'Permissions',
//   component: () => import('../views/Permissions/permissionslist.vue'),
//   children:[
//     {
//       path: '/Permissions/permissionslist',
//       name: 'permissionslist',
//       component: () => import('../views/Permissions/permissionslist.vue')
//     },
//   ]
//   },
        /*----------- 上片机 ----------------*/
      {
        path: 'Returns',
UI-Project/src/views/Caching/caching.vue
@@ -4,643 +4,36 @@
import {useRouter} from "vue-router"
const router = useRouter()
import { ref } from 'vue'
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
//  import LanguageMixin from './lang/LanguageMixin'
const tableData = ref([])
const tableData = [
  {
    id: '1',
    long: '1005',
    wide: '183.6',
    thick: '1991',
    type: '1200',
    typea: '1',
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '1200'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '1200'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '1200'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
  },
  {
    id: '2',
    long: '105',
    wide: '183',
    thick: '191',
    typea: '1',
    type: '待识别'
// 发送获取表格数据的请求
const fetchTableData = async () => {
  try {
    // 发送获取表格数据的请求,并等待响应
    // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
    const response = await request.get("/unLoadGlass/unLoadGlass/downstorage");
    // 检查响应状态
    if (response.code === 200) {
      // 更新表格数据
      console.log('成功获取表格数据:', response.data);
      tableData.splice(0, tableData.length, ...response.data);
    } else {
      // 请求失败,显示错误消息
      ElMessage.error(response.msg);
    }
  } catch (error) {
    // 处理请求失败的情况
    ElMessage.error('获取表格数据失败,请重试');
  }
]
const tableDataa = [
  {
    ida: '3',
    longa: '1005',
    widea: '183.6',
    thicka: '1991',
  },
  {
    ida: '4',
    longa: '105',
    widea: '183',
    thicka: '191',
  }
]
};
onMounted(fetchTableData);
const dialogForm = () => {
  ElMessageBox.confirm(
UI-Project/src/views/Returns/returns.vue
@@ -15,47 +15,7 @@
import { ref, onMounted } from "vue";
// import http from "@/http/index";
// const tableData = ref([])
// let app = ref({
//     data(){
//         return {
//           enableState:'',
//         }
//     },
//   })
// const tableData = ref({
//   workstationId:'',
//   patternWidth :'',
//   patternHeigth :'',
//   filmsId :'',
//   number :'',
//   patternThickness :'',
//   enableState:'',
// })
// request.post(`/LoadGlass/list`).then((res) => {
//  if (res.code == 200) {
//   console.log(res.data);
//  } else {
//    ElMessage.warning(res.msg)
//           router.push("/login")
//  }
// });
// request.get("/LoadGlass/list").then((res) => {
//           if (res.code == 200) {
//           console.log(res.data);
//           tableData.value = res
//           } else {
//           ElMessage.warning(res.msg)
//           router.push("/login")
//           }
//           });
  // request
  // const requestData = {
  //   projectNo:"P24030805",
  //   state:0
  // };
const tableDataa = ref([])
  
 const requestData = {
    // projectNo:"P24030805",
@@ -63,13 +23,18 @@
  };
  
  const tableData = reactive([]);
//   let filterData = ref({
//   damageDetails: {
//     state: '',
//   },
// })
// 发送获取表格数据的请求
const fetchTableData = async () => {
  try {
    // 发送获取表格数据的请求,并等待响应
    // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
    const response = await request.get("/loadGlass/LoadGlass/list");
    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
    // 检查响应状态
    if (response.code === 200) {
@@ -85,30 +50,66 @@
    ElMessage.error('获取表格数据失败,请重试');
  }
};
request.get("/loadGlass/LoadGlass/list").then((res) => {
          if (res.code == 200) {
          console.log(res.data);
          tableDataa.value = res.data
          } else {
          ElMessage.warning(res.msg)
          router.push("/login")
          }
          });
//定义接收加载表头下拉数据
const titleSelectJson = ref({
  processType: [],
})
const getBasicData = ref({
  id: '',
  projectNo: '',
})
request.post("/loadGlass/optimizeProject/listByState", requestData)
.then((res) => {
          if (res.code == 200) {
    titleSelectJson.value.processType = res.data;
          console.log(res.data);
          } else {
          ElMessage.warning(res.msg)
          router.push("/login")
          }
          });
// const billall  = () => {
//   request.post("/loadGlass/optimizeProject/listByState", requestData)
//     .then((res: any) => {
//       // if (res.code == 200) {
//       tableData.value = res.data;
//       // let self = this
//       // }
//     })
//     .catch((err: any) => {});
// }
const user = ref('');
const remoteMethod = () => {
  request.post("/loadGlass/optimizeProject/listByState", requestData)
    .then((res: any) => {
      // if (res.code == 200) {
      tableData.value = res.data;
      // let self = this
      // }
    })
    .catch((err: any) => {});
}
// 定义表头上传数据
let titleUploadData = ref({
  projectNo:'',
})
// const billall = {
//   data () {
//     return {
//       form: {
//         projectNo: '',
//       },
//       billall:[],
//     }
//   },
//   methods:{
//   }
// }
onMounted(fetchTableData);
// onMounted(() => {
//   request
//     .post("/loadGlass/LoadGlass/selectPriority")
//     .then((res: any) => {
//       tableData.value = res.data;
//     })
//     .catch((err: any) => {});
// });
interface User {
  id: string
  name: string
@@ -144,6 +145,7 @@
    }
  }
const open = () => {
  ElMessageBox.confirm(
    '是否删除该条信息?',
@@ -236,60 +238,88 @@
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="primary">开始上片</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" >暂停</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" >停止任务</el-button>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto">
    <el-table
    height="100%"
     ref="table"
    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
    <!-- <el-table
    height="150"
     ref="table"
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
      :data="tableData"
      :span-method="objectSpanMethod"
    > -->
    <el-table
    height="150"
     ref="table"
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
      :data="tableData"
    >
    <el-table-column prop="workstationId" label="工程号" width="200" align="center"/>
      <el-table-column prop="patternWidth" label="原片宽" align="center"/>
      <el-table-column prop="patternHeigth" label="原片长" align="center"/>
    <el-table-column prop="engineeringId" label="工程号" width="200" align="center"/>
      <el-table-column prop="width" label="原片宽" align="center"/>
      <el-table-column prop="height" label="原片长" align="center"/>
      <el-table-column prop="filmsId" label="膜系" align="center"/>
      <el-table-column prop="number" label="数量" align="center"/>
      <el-table-column prop="patternThickness" label="厚度" align="center"/>
      <el-table-column prop="layoutSequence" label="数量" align="center"/>
      <el-table-column prop="thickness" label="厚度" align="center"/>
      <el-table-column
            align="center"
            label="状态"
            min-width="80"
            prop="enableState"
            prop="state"
          >
          <el-tag type="success">就绪</el-tag>
          <!-- <el-tag type="success" v-if="damageDetails.state === 1">就绪</el-tag> -->
          <!-- <el-tag type="danger" v-if="row.enableState==2">未就绪</el-tag> -->
          </el-table-column>
    </el-table>
      </div>
    </el-card>
      <div id="parent">
        <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
        <el-button style="margin-top: -830px;margin-left: -40px;"  size="mini" id="searchButton" @click="add = true">添加原片</el-button>
        <el-button style="margin-top: -10px;margin-left: -80px;"  size="mini" id="searchButton"  @click="adda = true">添加原片</el-button>
        <!-- <div id="overlay" v-show="state"></div> -->
        <!-- <div id="overlaya" v-show="statea"></div> -->
        <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
        <!-- <el-button style="margin-top: -830px;margin-left: -40px;"  size="mini" id="searchButton" @click="add = true">添加原片</el-button> -->
        <!-- <el-button style="margin-top: -10px;margin-left: -80px;"  size="mini" id="searchButton"  @click="adda = true">添加原片</el-button> -->
      </div>
      <div style="margin-top: -350px;margin-left: 650px;">
        <el-table :data="tableDataa" border style="width: 60%"
     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
        >
          <el-table-column prop="patternWidth" align="center" label="宽" min-width="80" />
          <el-table-column prop="patternHeigth" align="center" label="长" min-width="80" />
          <el-table-column prop="filmsId" align="center" label="膜系" min-width="80" />
          <el-table-column prop="number" align="center" label="数量" min-width="80" />
          <el-table-column fixed="right" label="操作" align="center" width="150">
            <template #default>
              <el-button size="mini" type="text" plain  @click="add = true">添加</el-button>
              <el-button size="mini" type="text" plain  @click="open">删除</el-button>
            </template>
        </el-table-column>
        </el-table>
    </div>
        </div>
  
  <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="工程" >
    <div style="margin-left: 50px;margin-bottom: 10px;">
      <el-form-item label="工程号:" :required="true">
        <el-select
        <el-select  v-model="getBasicData.projectNo" clearable placeholder="请选择工程" style="width: 220px"
                   >
            <el-option
                v-for="item in titleSelectJson['processType']"
                :key="item.id"
                :label="item.projectNo"
                :value="item.projectNo"
            />
          </el-select>
        <!-- <el-select
          clearable
          placeholder="请选择工程"
          style="width: 300px"
           filterable
           :remote-method="remoteMethod"
          v-model="form.id"
        >
         <el-option
           v-for="item in remoteMethod"
           :key="item.projectNo"
           v-for="item in billall"
           :key="item.id"
           :label="item.projectNo"
           :value="item.projectNo"
         />
       </el-select>
       </el-select> -->
              </el-form-item>
          </div>
    <template #footer>
@@ -432,11 +462,12 @@
  margin-left: 20px; 
  size: 50px;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-bottom: 10px;
}
#parent{
  position: relative;
  width: 1500px;
  margin-left: -300px
}
#overlay{
  position: absolute;
@@ -456,4 +487,5 @@
  margin-top: -40px;
  margin-left: 167px;
}
</style>
UI-Project/vite.config.js
@@ -22,7 +22,7 @@
    https: false,
    proxy: {
      '/api': {
        target: 'http://localhost:88/',
        target: 'http://10.153.19.150:88/',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '/'),
      },
UI-Project/vue.config.js
New file
@@ -0,0 +1,5 @@
module.exports = {
    assetsDir: 'static',
    parallel: false,
    publicPath: './',
};
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -22,12 +22,7 @@
    private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
    private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
    private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
    //    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
//            .getResource("/JsonFile/PlcParameter.json").getPath();
//    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
//            .getPath();
//    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
//            .getPath();
    private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
@@ -67,19 +62,11 @@
            // readAndUpdateWordValues(PlcReadObject);
            readAndUpdateWordValues(PlcMesObject);
//      readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(plcStateObject);
            //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
            // System.out.println(index);
            //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
            // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            List<String> addresses = new ArrayList<>();
            addresses.add("FeedID");
            addresses.add("AddStart");
            // System.out.println(addresses);
            // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
            List<String> addresses2 = new ArrayList<>();
            addresses2.add("FeedID");
            addresses2.add("FeedCarStatus");
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
@@ -29,8 +29,7 @@
                i++;
                Thread.sleep(100);
                DownGlassLogic plcService = plcServiceSupplier.get();
                // plcService.performPlcActions();
                //plcService.unloadpush();
                //当下片任务表状态为1时候将数据插入到下片玻璃信息表
                plcService.insertdownglassinfo();
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -13,7 +13,7 @@
import java.util.Map;
@Api(tags = "缓存")
@RestController
@RequestMapping("/api/unLoadGlass/downstorage")
@RequestMapping("/downStorage")
public class DownStorageCageDetailsController {
    @Autowired
@@ -30,7 +30,7 @@
    //查询磨边缓存理片笼内详情
    @ApiOperation("查询磨边缓存理片笼内详情")
    @ApiOperation("查询缓存理片笼内详情")
    @GetMapping("/selectStorageCage")
    @ResponseBody
    public Result selectEdgStorageCage () {
@@ -40,6 +40,30 @@
    @ApiOperation("添加缓存理片笼信息   功能:笼内绑定玻璃  参数(DownStorageCageDetails downStorageCageDetails)")
    @PostMapping("/insertEdgStorageCage")
    @ResponseBody
    public Result insertEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"添加成功",1);
    }
    @ApiOperation("修改缓存理片笼信息   功能:对笼内栅格进行【启用/禁用】/ 【更换】笼内栅格玻璃信息")
    @PostMapping("/updateEdgStorageCage")
    @ResponseBody
    public Result updateEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"更换成功",1);
    }
    @ApiOperation("删除缓存理片笼信息   功能:对笼内栅格玻璃进行【清除】")
    @PostMapping("/deleteEdgStorageCage")
    @ResponseBody
    public Result deleteEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"删除成功",1);
    }
//
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -15,36 +17,43 @@
 * @author zhoush
 * @since 2024-03-27
 */
@ApiModel(description = "<p> 缓存</p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class DownStorageCage implements Serializable {
    @ApiModelProperty(hidden = true)
    private static final long serialVersionUID = 1L;
    /**
     * 下片前理片笼表id
     */
    @ApiModelProperty(value = "下片前理片笼表id", position = 2)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 设备id
     */
    @ApiModelProperty(value = "设备id", position = 3)
    private Integer deviceId;
    /**
     * 栅格号
     */
    @ApiModelProperty(value = "栅格号", position = 4)
    private Integer slot;
    /**
     * 启用状态
     */
    @ApiModelProperty(value = "启用状态", position = 5)
    private String enableState;
    /**
     * 剩余
     */
    @ApiModelProperty(value = "剩余", position = 6)
    private Integer remainWidth;
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -29,8 +29,11 @@
    public static final String RESULT_IN_OUT = "3";
    @Autowired
    private DownStorageCageDetailsMapper selectInfo;
    private GlassInfoService GlassInfoService;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private DownStorageCageService downStorageCageService;
    @Autowired
    private DownGlassTaskService downGlassTaskService;
@@ -65,11 +68,11 @@
     */
    public boolean processInto(String Number) {
        GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
        glassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
        downStorageCageService = WebSocketServer.applicationContext.getBean(DownStorageCageService.class);
        //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        //存在此玻璃编号
        if (GlassInfo != null) {
@@ -92,6 +95,7 @@
                selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
               //完成后插入小片数据到缓存表
                return true;
            }
@@ -111,9 +115,12 @@
        String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list = downStorageCageService.getCacheOut(1, 5);
        List<DownStorageCageDetails> list2 = downStorageCageService.getCacheOut(6, 10);
        List<DownStorageCageDetails> list3 = downStorageCageService.getCacheOut(1, 10);
        GlassInfo Maxglass=glassInfoService.selectGlassId("2");;
        // 优先 超出尺寸优先人工出片 人工处理
        if (!list3.isEmpty()) {
            DownStorageCageDetails item3 = list3.get(0);
@@ -130,20 +137,18 @@
        }
        //同时请求 优先后端出片
        else if (!list3.isEmpty()) {
        else if (!list3.isEmpty()&&Maxglass.equals(list3.get(0))) {
            DownStorageCageDetails item3 = list3.get(0);
            if (G06.equals("0") && G11.equals("0")) {
                String endcell = "11";
                String SendEndcell = "1";
                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }
        }
        // 按照顺序符合前端出片
        // 按照大小符合前端出片
        else if (!list.isEmpty()) {
            DownStorageCageDetails item = list.get(0);
            if (G06.equals("0") && G11.equals("1")) {
@@ -185,7 +190,7 @@
    public boolean selectMessageId(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
@@ -202,7 +207,7 @@
    public boolean deleteMessageId(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
@@ -218,7 +223,7 @@
     */
    public boolean isExist(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -9,5 +9,6 @@
    void addDownStorageCageDetails(DownStorageCageDetails details);
    //修改理片笼内信息
    boolean updatedownStorageCageDetails(DownStorageCageDetails details);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -24,5 +24,6 @@
    List<Map> getCacheInfo();
    List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
    List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width);
    List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width);
    List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -33,7 +33,12 @@
    @Override
    //修改理片笼内信息 功能:对笼内栅格玻璃 【添加/删除/更换】
    public boolean updatedownStorageCageDetails(DownStorageCageDetails details){
        baseMapper.updateById(details);
        return true;
    }
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -71,7 +71,7 @@
    @Override
    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
        log.info("根据传入的工位查询符合按照顺序和大小出片的小片");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
        return  downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -82,7 +82,6 @@
                        .orderByDesc("escd.width")
                        .orderByDesc("escd.height")
        );
        return list;
    }
@@ -92,19 +91,20 @@
    @Override
    public List<Map> getCacheInfo() {
        log.info(" 查询笼子内信息");
        List<Map> map = downStorageCageMapper.selectJoinList(
        return downStorageCageMapper.selectJoinList(
                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .orderByAsc("t.slot")
        );
        return map;
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
        log.info(" 查询可进此片玻璃的栅格号  找到相同版图id并且大于前面的顺序的空格");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
@@ -118,10 +118,48 @@
        return list;
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 查询可进此片玻璃的栅格号  找到相同流程卡号的空格");
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .isNotNull("escd.slot")
                        .eq("escd.flow_card_id", flowcardid)
                        .gt("t.remain_width", width)
                        .orderByAsc("escd.tempering_feed_sequence")
        );
    }
    @Override
    public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .isNotNull("escd.slot")
                        .lt("escd.flow_card_id", flowcardid)
                        // 条件 t.remain_width - width > 0
                        .apply("t.remain_width - " + width + " > 0")
                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
        );
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -131,7 +169,7 @@
                        .apply("t.remain_width - " + width + " > 0")
                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
        );
        return list;
    }
@@ -139,4 +177,5 @@
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -26,7 +26,7 @@
@RestController
@Api(tags = "工位")
@RequestMapping("/api/unLoadGlass")
@RequestMapping("/downWorkStation")
public class DownWorkstationController {
    @Autowired
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -21,4 +21,5 @@
    List<Map<String, Object>> getFlowCardId();
    GlassInfo selectGlassId(String id);
//    List<GlassInfo> getmaxglass(GlassInfo glassInfo);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -42,6 +42,8 @@
        return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().select("DISTINCT flowcard_id"));
    }
    @Override
    public GlassInfo selectGlassId(String id) {
        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();