Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
| | |
| | | serialnumber: 'Order serial number', |
| | | inproductname: 'Please enter a product name', |
| | | productname: 'Product name', |
| | | engineername: 'Engineer name', |
| | | serial: 'Process validation number', |
| | | slicemarker: 'Frame marker (position)', |
| | | numberpatches: 'Number of patches', |
| | |
| | | building: '건물 번호', |
| | | serialnumber: '주문 번호', |
| | | productname: '제품 이름', |
| | | engineername: '공정명칭', |
| | | inproductname: '제품 이름을 입력하십시오.', |
| | | serial: '프로세스 확인 번호', |
| | | slicemarker: '레이어 번호', |
| | |
| | | building: '楼号', |
| | | serialnumber: '订单序号', |
| | | productname: '产品名称', |
| | | engineername: '工程名称', |
| | | inproductname: '请输入产品名称', |
| | | serial: '工艺确认序号', |
| | | slicemarker: '片标记(位置)', |
| | |
| | | building: '楼号', |
| | | serialnumber: '订单序号', |
| | | productname: '产品名称', |
| | | engineername: '工程名称', |
| | | inproductname: '请输入产品名称', |
| | | serial: '工艺确认序号', |
| | | slicemarker: '层号', |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | ] |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | import { useRouter } from "vue-router" |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { useI18n } from 'vue-i18n' |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import request from "@/utils/request" |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'; |
| | | const router = useRouter() |
| | |
| | | <el-table ref="table" style="margin-top: 20px;height: 600px;" |
| | | :data="tableDatagh" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="engineerId" fixed align="center" :label="$t('searchOrder.projectnumber')" min-width="100"/> |
| | | <el-table-column prop="engineerName" fixed align="center" :label="$t('large.productname')" min-width="120"/> |
| | | <el-table-column prop="engineerName" fixed align="center" :label="$t('large.engineername')" min-width="120"/> |
| | | <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" min-width="100" /> |
| | | <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="100" /> |
| | | <el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutnumber')" min-width="100" /> |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | <script setup> |
| | | import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | import {host, WebSocketHost} from '@/utils/constants' |
| | | import request from "@/utils/request" |
| | | import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService'; |
| | | import {ElMessage, ElMessageBox} from 'element-plus' |
| | |
| | | <script setup> |
| | | import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref } from 'vue' |
| | | import { useRouter } from 'vue-router' |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import request from '@/utils/request' |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService' |
| | | // import { ref } from 'vue' |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | const defaultTime = ref<[Date, Date]>([new Date(), new Date()]); |
| | | function parseAndSetTime() { |
| | | const backendTime = new Date(getglobalDate); |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 7 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | const oneWeekAgo = new Date(backendTime.getTime() - 0 * 24 * 60 * 60 * 1000); // 减去7天 |
| | | oneWeekAgo.setHours(0, 0, 0, 0); |
| | | timeRange.value = [formatTimestamp(oneWeekAgo), formatTimestamp(backendTime)]; |
| | | window.localStorage.setItem('startTime', formatTimestamp(oneWeekAgo)) |
| | |
| | | import { onBeforeUnmount, onMounted, ref, nextTick } from "vue"; |
| | | import { useRouter } from "vue-router"; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { host, WebSocketHost } from '@/utils/constants'; |
| | | import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; |
| | | import { useI18n } from 'vue-i18n'; |
| | | import request from '@/utils/request'; |
| | |
| | | import { onBeforeUnmount, onMounted, ref, nextTick } from "vue"; |
| | | import { useRouter } from "vue-router"; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { host, WebSocketHost } from '@/utils/constants'; |
| | | import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; |
| | | import { useI18n } from 'vue-i18n'; |
| | | import request from '@/utils/request'; |
| | |
| | | <script setup> |
| | | import { onBeforeUnmount, onMounted, ref, nextTick } from "vue"; |
| | | import { useRouter } from "vue-router"; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { host, WebSocketHost } from '@/utils/constants'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; |
| | | import { useI18n } from 'vue-i18n'; |
| | | import request from '@/utils/request'; |
| | |
| | | </template> |
| | | <script setup> |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed, getCurrentInstance } from "vue"; |
| | | import { onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed, getCurrentInstance ,toRaw } from "vue"; |
| | | import request from "@/utils/request" |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'; |
| | | import { useI18n } from 'vue-i18n' |
| | | const { t } = useI18n() |
| | |
| | | function nestedTableRowClassName(parentRow, row) { |
| | | if (parentRow.isThroughSlot == true) { |
| | | return 'row-red-background'; |
| | | } |
| | | if (row.row?.sumCount !== undefined && row.row?.pairCount !== undefined && row.row.sumCount !== row.row.pairCount) { |
| | | return 'sum-equal-pair-row' // 返回自定义类名 |
| | | } |
| | | return ''; |
| | | } |
| | |
| | | value: null, |
| | | size: null |
| | | }) |
| | | |
| | | </script> |
| | | <style scoped> |
| | | #dt { |
| | |
| | | .el-loading-mask { |
| | | z-index: 2000 !important; |
| | | } |
| | | /* 核心3:添加行变色样式,通过:deep穿透scoped */ |
| | | :deep(.sum-equal-pair-row) { |
| | | background-color: #fdf2e8 !important; /* 浅橙底色,可自行修改 */ |
| | | color: #e64340 !important; /* 文字色,可选 */ |
| | | } |
| | | </style> |
| | |
| | | if (parentRow.isThroughSlot == true) { |
| | | return 'row-red-background'; |
| | | } |
| | | if (row.row?.sumCount !== undefined && row.row?.pairCount !== undefined && row.row.sumCount !== row.row.pairCount) { |
| | | return 'sum-equal-pair-row' // 返回自定义类名 |
| | | } |
| | | return ''; |
| | | } |
| | | const fetchFlowCardsearch = async () => { |
| | |
| | | .el-loading-mask { |
| | | z-index: 2000 !important; |
| | | } |
| | | /* 核心3:添加行变色样式,通过:deep穿透scoped */ |
| | | :deep(.sum-equal-pair-row) { |
| | | background-color: #fdf2e8 !important; /* 浅橙底色,可自行修改 */ |
| | | color: #e64340 !important; /* 文字色,可选 */ |
| | | } |
| | | </style> |
| | |
| | | import { onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed, getCurrentInstance } from "vue"; |
| | | import request from "@/utils/request" |
| | | import requestErp from "@/utils/requestErp" |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService' |
| | | import PrintCustomLabelXJ from './PrintCustomLabelTwo.vue' |
| | | import { useI18n } from 'vue-i18n' |
| | |
| | | function nestedTableRowClassName(parentRow, row) { |
| | | if (parentRow.isThroughSlot == true) { |
| | | return 'row-red-background'; |
| | | } |
| | | if (row.row?.sumCount !== undefined && row.row?.pairCount !== undefined && row.row.sumCount !== row.row.pairCount) { |
| | | return 'sum-equal-pair-row' // 返回自定义类名 |
| | | } |
| | | return ''; |
| | | } |
| | |
| | | .el-loading-mask { |
| | | z-index: 2000 !important; |
| | | } |
| | | /* 核心3:添加行变色样式,通过:deep穿透scoped */ |
| | | :deep(.sum-equal-pair-row) { |
| | | background-color: #fdf2e8 !important; /* 浅橙底色,可自行修改 */ |
| | | color: #e64340 !important; /* 文字色,可选 */ |
| | | } |
| | | </style> |
| | |
| | | import { useI18n } from 'vue-i18n' |
| | | import { useRouter } from "vue-router" |
| | | import request from "@/utils/request" |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref } from "vue"; |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | |
| | | import { useI18n } from 'vue-i18n' |
| | | import { useRouter } from "vue-router" |
| | | import request from "@/utils/request" |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref , nextTick} from "vue"; |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | |
| | | import { useI18n } from 'vue-i18n' |
| | | import { useRouter, useRoute } from "vue-router" |
| | | import request from "@/utils/request" |
| | | import { host, WebSocketHost } from '@/utils/constants' |
| | | import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref } from "vue"; |
| | | import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | |
| | | Set<String> projectNoSet = projectList.stream() |
| | | .map(OptimizeProject::getProjectNo) |
| | | .collect(Collectors.toSet()); |
| | | List<OptimizeProject> resultList= new ArrayList<>(); |
| | | List<OptimizeProject> resultList = new ArrayList<>(); |
| | | for (TemperingGlassCountDTO dto : temperingGlassCountDTOS) { |
| | | if (projectNoSet.contains(dto.getEngineerId())) { |
| | | OptimizeProject project = new OptimizeProject(); |
| | |
| | | |
| | | @Override |
| | | public List<BigCageDetailsVO> queryVerticalSheetCageDetailsList(BigCageDetailsRequest request) { |
| | | return baseMapper.queryVerticalSheetCageDetailsList(request); |
| | | List<BigCageDetailsVO> cageDetails = baseMapper.queryVerticalSheetCageDetailsList(request); |
| | | if (!(com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getFlowCardId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getFilmsId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getEngineerId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getGlassId()))) { |
| | | cageDetails = cageDetails.stream() |
| | | .filter(detail -> detail.getGlassId() != null) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | return cageDetails; |
| | | } |
| | | } |
| | |
| | | damage.setWorkingProcedure("大理片笼"); |
| | | damage.setRemark("进笼前卧转立"); |
| | | damage.setStatus(1); |
| | | damage.setType(item.getTaskState()); |
| | | damage.setType(Const.GLASS_STATE_DAMAGE); |
| | | damageService.insertDamage(damage); |
| | | slotList.add(item.getTargetSlot()); |
| | | } |
| | |
| | | damage.setWorkingProcedure("钢化前"); |
| | | damage.setRemark("进笼后卧转立"); |
| | | damage.setStatus(1); |
| | | damage.setType(item.getTaskState()); |
| | | damage.setType(Const.GLASS_STATE_DAMAGE); |
| | | damageService.insertDamage(damage); |
| | | slotList.add(item.getTargetSlot()); |
| | | slotList.add(item.getStartSlot()); |
| | |
| | | // if (!THROUGH_SLOT.equals(list.get(0).getSlot())) { |
| | | // 临时解决方案:出片时考虑玻璃碰撞,改为一片一出 |
| | | // 界面关闭调度开关 !Const.BIG_STORAGE_BEFORE_DISPATCH.equals(taskType) |
| | | if (list.get(0).getSlot() >= 500 && list.get(0).getThickness() > 7) { |
| | | if (list.get(0).getSlot() >= 500 && list.get(0).getThickness() > 8) { |
| | | outGlassList = list.subList(0, 1); |
| | | } else { |
| | | List<String> glassIdList = bigStorageGlassRelationInfoService.queryNeedOutGlassId( |
| | |
| | | damage.setWorkingProcedure("钢化"); |
| | | damage.setRemark("钢化"); |
| | | damage.setStatus(1); |
| | | damage.setType(e.getState()); |
| | | damage.setType(Const.GLASS_STATE_DAMAGE); |
| | | return damage; |
| | | }).collect(Collectors.toList()); |
| | | damageService.batchInsertDamage(damageList); |
| | |
| | | |
| | | @Override |
| | | public List<HollowBigCageDetailsVO> queryVerticalSheetCageDetailsList(HollowBigCageDetailsRequest request) { |
| | | return baseMapper.queryVerticalSheetCageDetailsList(request); |
| | | List<HollowBigCageDetailsVO> cageDetails = baseMapper.queryVerticalSheetCageDetailsList(request); |
| | | if (!(com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getFlowCardId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getFilmsId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getEngineerId()) && |
| | | com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(request.getGlassId()))) { |
| | | cageDetails = cageDetails.stream() |
| | | .filter(detail -> detail.getGlassId() != null) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | return cageDetails; |
| | | } |
| | | |
| | | private List<HollowBigStorageAndDetailsDTO> hollowBigStorageCageDetailsChild(String glassId, Integer deviceId, Integer slot, int state) { |
| | |
| | | damage.setWorkingProcedure("磨边"); |
| | | damage.setRemark("进笼前卧转立"); |
| | | damage.setStatus(1); |
| | | damage.setType(item.getTaskState()); |
| | | damage.setType(Const.GLASS_STATE_DAMAGE); |
| | | damageService.insertDamage(damage); |
| | | slotList.add(item.getTargetSlot()); |
| | | } |
| | |
| | | damage.setWorkingProcedure("中空前"); |
| | | damage.setRemark("进笼后卧转立"); |
| | | damage.setStatus(1); |
| | | damage.setType(item.getTaskState()); |
| | | damage.setType(Const.GLASS_STATE_DAMAGE); |
| | | damageService.insertDamage(damage); |
| | | slotList.add(item.getTargetSlot()); |
| | | slotList.add(item.getStartSlot()); |