zhoushihao
2024-12-19 817a1c3860032705a9510fa26371d50cde073f1c
Merge remote-tracking branch 'origin/master'
12个文件已修改
404 ■■■■ 已修改文件
UI-Project/src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/py.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns2.vue 235 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-yw.yml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -107,6 +107,7 @@
          projectnumber:'请输入工程号',
          dilapidation:'Breakage',
          takeaway:'Manual removal',
          takeawaya:'是否人工拿走该条信息?',
          takeon:'The arrangement is complete',
      },
      searchOrder:{
UI-Project/src/lang/py.js
@@ -107,6 +107,7 @@
        projectnumber:'请输入工程号',
        takeon:'摆片完成',
        dilapidation: 'Повреждение',
        takeawaya:'是否人工拿走该条信息?',
        takeaway: 'Взять вручную',
    },
    searchOrder: {
UI-Project/src/lang/zh.js
@@ -107,6 +107,7 @@
          projectnumber:'请输入工程号',
          dilapidation:'破损',
          takeaway:'人工拿走',
          takeawaya:'是否人工拿走该条信息?',
          takeon:'摆片完成',
      },
      searchOrder:{
UI-Project/src/views/Returns/upreturns.vue
@@ -1,7 +1,7 @@
<script lang="ts" setup>
import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
import {ElMessage} from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import {useI18n} from 'vue-i18n'
import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
@@ -68,11 +68,16 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
const handleMessage = (data: any) => {
  tableDataa.value = data.list[0].slice(0, 2);
  if(data.loadTask1!=null){
  if(data.loadTask1.length !=0){
  tableData.value = data.loadTask1[0]
  canSelectProjecta.value = false;
  canSelectProjectb.value = false;
  canSelectProjectc.value = true;
}
else {
  canSelectProjecta.value = true;
  canSelectProjectb.value = true;
  canSelectProjectc.value = false;
}
};
onBeforeUnmount(() => {
@@ -113,6 +118,7 @@
    window.localStorage.setItem('filmRemove', filmRemove.value)
    if (response.code == 200) {
      ElMessage.success(response.message);
      // closeWebSocket(socket);
      tableData.value = response.data;
      dialogFormVisible.value = false;
      selectedProjectNo.value = '';
@@ -139,6 +145,7 @@
        ElMessage.success(response.message);
        tableDatad.value = response.data;
        canSelectProjecta.value = true;
        canSelectProjectb.value = true;
        canSelectProjectc.value = false;
      } else {
        ElMessage.error(response.message);
@@ -169,10 +176,11 @@
      })
      if (response.code == 200) {
        ElMessage.success(response.message);
        blind.value = false;
        canSelectProjecta.value = false;
        canSelectProjectb.value = false;
        canSelectProjectc.value = true;
        // socket = initializeWebSocket(socketUrl, handleMessage);
        blind.value = false;
      } else {
        ElMessage.error(response.message);
      }
@@ -273,6 +281,66 @@
    }
  } catch (error) {
    ElMessage.error(t('basicData.glassnull'));
  }
};
// 破损
const opena = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.broke'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
       glassId: row.glassId,
       line: 5,
       status: 1,
       type: 8,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 人工拿走
const openb = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('order.takeawaya'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
       glassId: row.glassId,
       line: 5,
       status: 1,
       type: 9,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
function getStatusType2(filmRemove) {
@@ -399,16 +467,23 @@
    </template>
  </el-dialog>
<!-- 结束工程 -->
  <el-dialog v-model="blindb" top="10vh" width="50%">
    <el-table ref="table" style="margin-top: 20px;height: 300px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="line" fixed align="center" :label="$t('basicData.line')"/>
        <el-table-column prop="workProcesses" fixed align="center" :label="$t('basicData.process')"/>
        <el-table-column prop="teamsGroupsName" align="center" :label="$t('basicData.team')"/>
        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
        <el-table-column prop="deviceName" align="center" :label="$t('basicData.basic')"/>
  <el-dialog v-model="blindb" top="10vh" width="80%">
    <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')"/>
        <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')"/>
        <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')"/>
        <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')"/>
        <el-table-column prop="width" align="center" :label="$t('basicData.width')"/>
        <el-table-column prop="height" align="center" :label="$t('basicData.height')"/>
        <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')"/>
        <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')"/>
        <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')"/>
        <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
              <el-button size="mini" type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
UI-Project/src/views/Returns/upreturns2.vue
@@ -1,7 +1,7 @@
<script lang="ts" setup>
import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
import {ElMessage} from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import {useI18n} from 'vue-i18n'
import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
@@ -17,7 +17,11 @@
const blinda = ref(false)
const blindb = ref(false)
const dialoglea = ref(false)
const canSelectProjecta = ref(true);
const canSelectProjectb = ref(true);
const canSelectProjectc = ref(false);
const tableDatax = ref([])
const tableDatad = ref([])
const upstatus = ref(t('basicData.machineaa'));
const cuttingMachineStatusColor = ref('#911005');
const tableDataa = ref<any[]>([]);
@@ -50,10 +54,6 @@
    closeWebSocket(socket);
  }
});
// 删除
const handledelete = (row) => {
  blindb.value = true;
};
const fetchTableData = async () => {
  try {
    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
@@ -65,13 +65,29 @@
  }
};
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
const handleMessage = (data: any) => {
  tableDataa.value = data.list[0].slice(2, 4);
  if(data.loadTask2.length !=0){
  tableData.value = data.loadTask2[0]
  canSelectProjecta.value = false;
  canSelectProjectb.value = false;
  canSelectProjectc.value = true;
}
else {
  canSelectProjecta.value = true;
  canSelectProjectb.value = true;
  canSelectProjectc.value = false;
}
};
onBeforeUnmount(() => {
  closeWebSocket();
});
// 结束工程
const handledelete = (row) => {
  blindb.value = true;
  deleteTask()
};
const requestData = {
  state: 100
};
@@ -102,6 +118,7 @@
    window.localStorage.setItem('filmRemove', filmRemove.value)
    if (response.code == 200) {
      ElMessage.success(response.message);
      // closeWebSocket(socket);
      tableData.value = response.data;
      dialogFormVisible.value = false;
      selectedProjectNo.value = '';
@@ -115,30 +132,7 @@
    console.error(error);
  }
}
// 开始上片
const handleon = async () => {
  let filmRemove = window.localStorage.getItem('filmRemove')
  let engineeringId = window.localStorage.getItem('engineeringId')
  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
    try {
      const response = await request.post('/loadGlass/engineering/engineering/pause', {
        engineerId: engineeringId,
        state: 1,
      })
      if (response.code == 200) {
        ElMessage.success(response.message);
        blind.value = false;
      } else {
        ElMessage.error(response.message);
      }
    } catch (error) {
      console.error(error);
    }
  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
    ElMessage.warning(t('basicData.pausea'));
  }
}
// 删除
// 结束工程
const deleteTask = async () => {
  try {
    let engineeringId = window.localStorage.getItem('engineeringId')
@@ -149,7 +143,10 @@
      })
      if (response.code == 200) {
        ElMessage.success(response.message);
        blindb.value = false;
        tableDatad.value = response.data;
        canSelectProjecta.value = true;
        canSelectProjectb.value = true;
        canSelectProjectc.value = false;
      } else {
        ElMessage.error(response.message);
    }
@@ -165,13 +162,45 @@
    console.error(error);
  }
}
// 开始上片
const handleon = async () => {
  let filmRemove = window.localStorage.getItem('filmRemove')
  let engineeringId = window.localStorage.getItem('engineeringId')
  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
    try {
      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
        stationCell: 6,
        filmRemove: filmRemove,
        engineerId: engineeringId,
        state: 1,
      })
      if (response.code == 200) {
        ElMessage.success(response.message);
        canSelectProjecta.value = false;
        canSelectProjectb.value = false;
        canSelectProjectc.value = true;
        // socket = initializeWebSocket(socketUrl, handleMessage);
        blind.value = false;
      } else {
        ElMessage.error(response.message);
      }
    } catch (error) {
      console.error(error);
    }
  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
    ElMessage.warning(t('basicData.pausea'));
  }
}
// 暂停
const handleup = async () => {
  try {
    let filmRemove = window.localStorage.getItem('filmRemove')
    let engineeringId = window.localStorage.getItem('engineeringId')
    console.log(engineeringId);
    if (engineeringId !== '') {
      const response = await request.post('/loadGlass/engineering/engineering/pause', {
        stationCell: 6,
        filmRemove: filmRemove,
        engineerId: engineeringId,
        state: 0,
      })
@@ -254,6 +283,66 @@
    ElMessage.error(t('basicData.glassnull'));
  }
};
// 破损
const opena = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.broke'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
       glassId: row.glassId,
       line: 6,
       status: 1,
       type: 8,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 人工拿走
const openb = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('order.takeawaya'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
       glassId: row.glassId,
       line: 6,
       status: 1,
       type: 9,
       workingProcedure: '上片',
    })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
function getStatusType2(filmRemove) {
  switch (filmRemove) {
    case 0:
@@ -298,12 +387,13 @@
          }}
        </el-button>
  </div>
    <el-button style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
    <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')" style="margin-top: 5px;margin-left: 20px;">
    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')"
               style="margin-top: 5px;margin-left: 20px;">
      <el-option :label="$t('Mounting.all')" value="0"></el-option>
      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -322,10 +412,10 @@
      :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
      :data="tableData"
    >
      <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/>
      <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/>
      <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/>
      <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/>
          <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center"/>
          <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center"/>
          <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
          <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
      <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
      <el-table-column :label="$t('Mounting.projectnumber')" align="center">  
      <template #default="{ row }">  
@@ -347,19 +437,6 @@
            </el-tag>
          </template>
      </el-table-column>
      <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
      <el-table-column
          align="center"
          :label="$t('Mounting.removalmethodp')"
          prop="filmRemove"
      >
        <template #default="scope">
          <el-tag :type="getStatusType2(scope.row.filmRemove)">
            {{ getStatusText2(scope.row.filmRemove) }}
          </el-tag>
        </template>
      </el-table-column>
      <el-table-column prop="stationCell" :label="$t('Mounting.loadinglinea')" align="center"/>
    </el-table>
      </div>
    </el-card>
@@ -389,7 +466,40 @@
      </div>
    </template>
  </el-dialog>
<!-- 结束工程 -->
  <el-dialog v-model="blindb" top="10vh" width="80%">
    <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')"/>
        <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')"/>
        <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')"/>
        <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')"/>
        <el-table-column prop="width" align="center" :label="$t('basicData.width')"/>
        <el-table-column prop="height" align="center" :label="$t('basicData.height')"/>
        <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')"/>
        <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')"/>
        <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')"/>
        <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
              <el-button size="mini" type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
    <!-- <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="deleteTask">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template> -->
  </el-dialog>
  <!-- 值班信息 -->
    <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
      <el-table ref="table" style="margin-top: 20px;height: 300px;"
                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
@@ -409,8 +519,7 @@
  <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
      <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
                 style="margin-left: 20px;">
      <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;">
        <el-option :label="$t('Mounting.all')" value="0"></el-option>
        <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
        <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -469,25 +578,15 @@
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('searchOrder.pdeleteTask')">
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="deleteTask">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  </div>
</template>
<style scoped>
 .flex-container {  
  display: flex;  
  align-items: center; /* 垂直居中 */
  align-items: center;
}  
.flex-container .el-form-item {  
  flex: 1; /* 使每个表单项占据相等的空间 */
  flex: 1;
  margin-right: 0; /* 移除默认的右侧边距 */  
}  
.flex-container .el-form-item:last-child {  
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -154,7 +154,7 @@
        List<GlassInfo> glassInfos = null;
        if (engineeringId != null) {
            glassInfos = baseMapper.selectJoinList(GlassInfo.class, new MPJQueryWrapper<GlassInfo>()
                    .select("t.*")
                    .select("t.engineer_id,t.glass_id,t.tempering_layout_id,t.tempering_feed_sequence,t.width,t.height,t.thickness,t.filmsid,t.flow_card_id")
                    .leftJoin("edg_storage_cage_details b on t.engineer_id=b.engineer_id and t.glass_id=b.glass_id")
                    .isNull("b.glass_id")
                    .eq("t.engineer_id", engineeringId));
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-yw.yml
@@ -5,26 +5,26 @@
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        hangzhoumes:
          url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8
          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8
          url: jdbc:mysql://127.0.0.1:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_hangzhoumes:
          url: jdbc:sqlserver://192.168.2.100:1433;databasename=mes
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=mes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.2.100:8848
        server-addr: 127.0.0.1:8848
  redis:
    database: 0
    host: 192.168.2.100
    host: 127.0.0.1
    port: 6379
    password: 123456
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -35,7 +35,7 @@
    port: 5000
kangaroohy:
  milo:
    enabled: true
    enabled: false
    primary: default
    config:
      default:
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -1,11 +1,14 @@
package com.mes.engineering.controller;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.service.OptimizeProjectService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.UpPattenUsageService;
import com.mes.utils.Result;
@@ -36,6 +39,8 @@
    private GlassInfoService glassInfoService;
    @Autowired
    private OptimizeProjectService optimizeProjectService;
    @Autowired
    DamageService damageService;
    @ApiOperation("开始/暂停任务/传递工程号和状态,开始是1 暂停是0")
    @PostMapping("/pauseTask") //暂停上片任务
@@ -70,7 +75,7 @@
        log.info("engineeringId:{}", engineering);
        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
        if (upPattenUsage != null) {
            boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
            boolean work = engineeringService.changeTasks(engineering);
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            return Result.build(200, "已保存过", work);
@@ -86,7 +91,7 @@
            engineeringService.saveEngineering(listEngineering);
            log.info("更改pp表状态为已领取");
            //将engineering表状态为正在上片
            boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
            boolean work = engineeringService.changeTasks(engineering);
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            if (work) {
@@ -124,5 +129,13 @@
        log.info("可领取任务返回:{}", engineering);
        return Result.build(200, "",engineering);
    }
    @ApiOperation("//上片破损拿走")
    @PostMapping("/insetDamage") //上片破损拿走
    public Result <Integer> updateTemperingState(@RequestBody Damage damage) {
        damageService.insertDamage(damage);
        return Result.build(200, "操作成功", null);
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -57,6 +57,9 @@
    boolean deleteTask(String engineerId);
    boolean changeTasks(Engineering engineering);
//    boolean changeTask(String engineerId, Integer state, Integer filmRemove, Integer stationCell);
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -37,15 +37,15 @@
    @Override
    public  boolean  changeTask(String projectId, Integer state) {
        //暂停正在进行工程
        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        pauseWrapper.set(Engineering::getState,0);
        pauseWrapper.eq(Engineering::getState,1);
        boolean pause = pauseWrapper.update();
//        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
//        pauseWrapper.set(Engineering::getState,0);
//        pauseWrapper.eq(Engineering::getState,1);
//        boolean pause = pauseWrapper.update();
        //使用projectId作为条件开始工程
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,state);
        wrapper.eq(Engineering::getEngineerId,projectId);
        wrapper.update();
        boolean pause = wrapper.update();
        return pause;
    }
@@ -142,5 +142,23 @@
        return this.remove(wrapper);
    }
    @Override
    public boolean changeTasks(Engineering engineering) {
        //暂停正在进行工程
        LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        pauseWrapper.set(Engineering::getState,0);
        pauseWrapper.eq(Engineering::getState,1);
        pauseWrapper.eq(Engineering::getStationCell,engineering.getStationCell());
        pauseWrapper.update();
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,engineering.getState());
        wrapper.set(Engineering::getStationCell,engineering.getStationCell());
        wrapper.set(Engineering::getFilmRemove,engineering.getFilmRemove());
        wrapper.eq(Engineering::getEngineerId,engineering.getEngineerId());
        boolean pause = wrapper.update();
        return pause;
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -26,6 +26,7 @@
    @Autowired
    private DamageService damageService;
    @ApiOperation("查询钢化等片中的版图信息,状态为1的为已到,状态为0的为等待中")
    @GetMapping("/selectWaitingGlass") // 查询钢化等片中的版图信息,状态为1的为已到,状态为0的为等待中
    public Result <List<TemperingGlassInfo>> selectWaitingGlass() {