# Conflicts:
#	dev_wms_client/src/api/goods.js
#	dev_wms_client/src/api/location.js
#	dev_wms_serve/src/main/java/com/wms_main/controller/wms/GoodsController.java
#	dev_wms_serve/src/main/java/com/wms_main/service/controller/IGoodsControllerService.java
#	dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/GoodsControllerServiceImpl.java
This commit is contained in:
李宇奇 2025-05-21 09:29:09 +08:00
commit 0f69bd4346
73 changed files with 3410 additions and 2844 deletions

View File

@ -4254,9 +4254,23 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001434",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz",
"integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA=="
"version": "1.0.30001715",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz",
"integrity": "sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
]
},
"node_modules/case-sensitive-paths-webpack-plugin": {
"version": "2.4.0",
@ -15376,9 +15390,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001434",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz",
"integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA=="
"version": "1.0.30001715",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz",
"integrity": "sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw=="
},
"case-sensitive-paths-webpack-plugin": {
"version": "2.4.0",

View File

@ -1,18 +1,24 @@
import request from "@/http/request";
const getConfigs = () => {
return request.get('/config/getConfigs')
export const updateConfig = (params) => {
return request({
url: '/config/updateConfig',
method: 'post',
data: params,
timeout: 10000
})
}
const updateConfig = (params) => {
return request.post('/config/updateConfig', params)
export const queryConfigsByPage = (params) => {
return request({
url: '/config/queryConfigsByPage',
method: 'post',
data: params,
timeout: 10000
})
}
const getConfigsByPage = (params) => {
return request.post('/config/getConfigsByPage', params)
}
const restartSystem = (params) => {
export const restartSystem = (params) => {
return request({
url: '/system/restartSystem',
method: 'post',
@ -21,7 +27,7 @@ const restartSystem = (params) => {
})
}
const reloadConfig = (params) => {
export const reloadConfig = (params) => {
return request({
url: '/system/reloadConfig',
method: 'post',
@ -29,11 +35,3 @@ const reloadConfig = (params) => {
timeout: 10000
})
}
export {
getConfigs,
getConfigsByPage,
updateConfig,
restartSystem,
reloadConfig
}

View File

@ -8,27 +8,15 @@ export const getGoodsInfoByPage = (params) => {
url: '/goods/getGoodsInfoByPage',
method: 'post',
data: params
});
};
})
}
/**
* 更新物料信息
* 根据物料id查询物料信息
*/
export const updateGoodsInfo = (params) => {
export const getGoodsInfoByGoodsId = (params) => {
return request({
url: '/goods/updateGoodsInfo',
method: 'post',
url: '/goods/getGoodsInfoByGoodsId',
method: 'get',
data: params
});
};
/**
* 关闭物料使用
*/
export const closeGoodsInfo = (params) => {
return request({
url: '/goods/closeGoodsInfo',
method: 'post',
data: params
});
};
})
}

View File

@ -180,3 +180,12 @@ export const deleteDbsPlan = (params) => {
timeout: 5000
})
}
// 获取物料需求
export const getGoodsRequirement = (params) => {
return request({
url: '/kate/getGoodsRequirement',
method: 'post',
data: params,
timeout: 5000
})
}

View File

@ -1,48 +1,9 @@
import request from "@/http/request";
const getLocations = (params) => {
export const queryLocationsByPage = (params) => {
return request({
url: '/location/getLocationsByPage',
url: '/location/queryLocationsByPage',
method: 'post',
data: params
})
}
const updateLocation = (params) => {
return request({
url: '/location/updateLocation',
method: 'post',
data: params
})
}
const getELocationsByPage = (params) => {
return request({
url: '/location/getELocationsByPage',
method: 'post',
data: params
})
}
const updateELocationInfo = (params) => {
return request({
url: '/location/updateELocationInfo',
method: 'post',
data: params
})
}
const getAllLocations = () => {
return request({
url: '/location/getAllLocations',
method: 'get'
})
}
export {
getLocations,
updateLocation,
getELocationsByPage,
updateELocationInfo,
getAllLocations
}

View File

@ -29,7 +29,7 @@ onMounted(() => {
})
//
watch(() => router.currentRoute.value.path, (newVal, oldVal) => {
if (newVal != oldVal) {
if (newVal !== oldVal) {
// pathtag
autoScroll(router.currentRoute.value.path)
}
@ -40,23 +40,19 @@ const closeTag = (tag) => {
}
//
const handleClose = (tag, index) => {
if (tags.value.length === 1) { //
return
}
closeTag(tag) // tag
if (router.path === tag.path) { //
return
} else {
if (index === (tags.value.length - 1)) { // ,
router.push(this.tags[index].path)
//
if (router.currentRoute.value.path === tag.path) {
if (tags.value.length === 1) { // ,
router.push('/home')
} else { //
if (index === 0) {
router.push(tags.value[0].path)
router.push(tags.value[index + 1].path)
} else {
router.push(tags.value[index - 1].path)
}
}
}
closeTag(tag) // tag
}
// tags
const handleClick = (tag) => {

View File

@ -1,7 +1,8 @@
<template>
<div class="menu-title">主菜单</div>
<!-- 侧边栏菜单区域 -->
<el-menu :default-active="route.path" active-text-color="#409Eff" background-color="#fff" text-color="#000" :router="true" unique-opened>
<el-menu :default-active="route.path" active-text-color="#409Eff" background-color="#fff" text-color="#000"
:router="true" unique-opened>
<!-- 一级菜单 -->
<el-sub-menu :index="item.id" v-for="item in menuList" :key="item.id">
<!-- 一级菜单模板区域 -->
@ -25,6 +26,7 @@
<script setup>
import store from '@/store'
import {useRoute} from 'vue-router'
const menuList = store.getters.getMenuList
const route = useRoute()
//

View File

@ -264,3 +264,25 @@ export const outTypeOptions = [
label: '紧急出库'
}
]
// 是否锁定枚举
export const lockOptions = [
{
value: 0,
label: '未锁定'
},
{
value: 1,
label: '已锁定'
}
]
// 是否空闲枚举
export const occupyOptions = [
{
value: 0,
label: '空闲'
},
{
value: 1,
label: '占用'
}
]

View File

@ -1,7 +1,7 @@
import axios from 'axios'
const request = axios.create({
baseURL: 'https://s4wwjasrsp01.ap.cat.com/wmsServer/wms',
baseURL: 'http://localhost:12315/wms',
timeout: 5000
})

View File

@ -62,14 +62,14 @@
<el-table-column prop="requestTime" label="请求时间" :formatter="timeFormat" min-width="120px"
sortable="custom"
show-overflow-tooltip/>
<!-- <el-table-column fixed="right" label="操作" width="170px">
<el-table-column fixed="right" label="操作" width="170px">
<template v-slot="scope">
<div style="display: inline-block; align-content: center;">
<el-button type="primary"
@click="editCurrentRowFormEntity(scope.row)">编辑</el-button>
</div>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
<br/>
<el-pagination v-model:current-page="baseTableQuery.currentPage"

View File

@ -20,16 +20,6 @@
:options="addAllOptionOfOptions(kanbanStatusOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="工单日期开始(生成看板用)">
<el-date-picker v-model="kanbanQuery.planStartDateFrom" type="date"
placeholder="请选择开始日期" :shortcuts="shortcuts"
style="width: 196px;" clearable/>
</el-form-item>
<el-form-item label="工单日期结束(生成看板用)">
<el-date-picker v-model="kanbanQuery.planStartDateTo" type="date"
placeholder="请选择结束日期" :shortcuts="shortcuts"
style="width: 196px;" clearable/>
</el-form-item>
</el-row>
<div style="align-content: center;">
<el-row>
@ -43,10 +33,6 @@
</el-button>
</el-row>
<el-row>
<el-button
style="height: 30px; width: 80px; margin: auto 5px 5px auto; background-color: #20B2AA; color: #000;"
@click="genKanban()">生成看板
</el-button>
<el-button
style="height: 30px; width: 80px; margin: auto 5px 5px auto; background-color: #32CD32; color: #000;"
@click="exportExcel()">导出看板
@ -90,13 +76,12 @@
<script setup>
import store from '@/store'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {queryKanbanByPage, genClcKanbanRequirement} from '@/api/kateWork.js'
import {queryKanbanByPage} from '@/api/kateWork.js'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
import {ElMessage} from 'element-plus'
import {genTableRequest, addAllOptionOfOptions} from '@/utils/generator.js'
import {labelPosition, shortcuts} from '@/constant/form'
import {labelPosition} from '@/constant/form'
import {kanbanStatusOptions} from '@/constant/options'
import {loading} from '@/utils/loading.js'
import {dateFormatter} from '@/utils/formatter.js'
import {exportKanbanExcel} from '@/api/excel.js'
@ -122,9 +107,7 @@ let baseTableQuery = reactive({
let kanbanQuery = reactive({
goodsId: '',
kanbanId: '',
kanbanStatus: -99,
planStartDateFrom: null,
planStartDateTo: null
kanbanStatus: -99
})
let kanbanQueryFormRef = ref()
let recordId = ''
@ -155,10 +138,10 @@ const search = () => {
//
request.goodsId = kanbanQuery.goodsId
request.kanbanId = kanbanQuery.kanbanId
request.kanbanStatus = kanbanQuery.kanbanStatus == -99 ? null : kanbanQuery.kanbanStatus
request.kanbanStatus = kanbanQuery.kanbanStatus === -99 ? null : kanbanQuery.kanbanStatus
queryKanbanByPage(request).then((res) => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const data = response.data
if (data != null) {
kanbanList.value = data.lists
@ -188,7 +171,7 @@ const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
search()
}
const getCurrentRow = (row) => {
@ -205,29 +188,6 @@ const kanbanStatusFormat = (row, column, cellValue, index) => {
return '异常'
}
}
const genKanban = () => {
const request = {
planStartDateFrom: dateFormatter(kanbanQuery.planStartDateFrom),
planStartDateTo: dateFormatter(kanbanQuery.planStartDateTo),
standId: STAND_ID,
userName: USER_NAME
}
loading.open('生成中...')
genClcKanbanRequirement(request).then(res => {
loading.close()
const response = res.data
if (response.code == 0) {
ElMessage.success('生成看板需求成功。')
search()
} else {
ElMessage.error(response.message)
}
}).catch(err => {
loading.close()
console.log(err)
ElMessage.error('生成看板需求异常。')
})
}
//
const exportExcel = () => {
const params = {

View File

@ -22,11 +22,31 @@
<el-date-picker v-model="dbsQueryFormEntity.planStartDate" type="date"
placeholder="计划开工日期" :shortcuts="shortcuts" style="width: 196px;" clearable/>
</el-form-item>
<el-form-item label="需求工单列表">
<el-select
v-model="selectedOrders"
multiple
collapse-tags
collapse-tags-tooltip
placeholder="请选择工单列表"
style="width: 196px"
>
<el-option
v-for="item in orderOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-row>
<div style="align-content: center;">
<el-row>
<el-button type="primary" class="btn-search" @click="search()">查询</el-button>
<el-button type="warning" class="btn-search" @click="clearQuery()">清除输入</el-button>
<el-button style="background-color: #6495ED;" class="btn-search"
@click="openRequirementDialog()">生成需求
</el-button>
</el-row>
<el-row>
<el-button style="background-color: #00CED1;" class="btn-search"
@ -35,6 +55,9 @@
<el-button type="success" class="btn-search"
@click="exportExcel()">导出excel
</el-button>
<el-button style="background-color: #ADD8E6;" class="btn-search"
@click="genKanban()">生成看板
</el-button>
</el-row>
</div>
</div>
@ -86,9 +109,9 @@
show-overflow-tooltip/>
<el-table-column prop="remark" label="备注" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column fixed="right" label="操作" width="120px">
<el-table-column fixed="right" label="操作" width="240px">
<template v-slot="scope">
<!-- <el-button plain type="primary" @click="editCurrentRowStock(scope.row)">编辑</el-button>-->
<el-button plain type="primary" @click="addRequirement(scope.row)">添加需求</el-button>
<el-button plain type="danger" @click="deleteCurrentRow(scope.row)">删除</el-button>
</template>
</el-table-column>
@ -100,6 +123,19 @@
@current-change="search" layout="total, sizes, prev, pager, next, jumper"
:total="baseTableQuery.total"/>
</div>
<el-dialog v-model="showGoodsRequireDialog" title="物料需求" width="50%" center >
<el-button type="success" style="margin-left: 5px" @click="exportRequirements()">导出需求</el-button>
<el-table :data="goodsRequireList" stripe border class="table-class" max-height="450px"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }">
<el-table-column prop="goodsId" show-overflow-tooltip label="料号" fixed="left"/>
<el-table-column prop="goodsDesc" show-overflow-tooltip label="描述"/>
<el-table-column prop="needQty" show-overflow-tooltip label="需求数量"/>
<el-table-column prop="stockQty" show-overflow-tooltip label="库存数量"/>
<el-table-column prop="lackQty" show-overflow-tooltip label="缺少数量"/>
<el-table-column prop="goodsType" show-overflow-tooltip label="补料类型"/>
<el-table-column prop="stockType" show-overflow-tooltip label="存放类型"/>
</el-table>
</el-dialog>
<!-- <el-dialog v-model="dialogVisible" title="库存信息" width="40%" draggable :show-close="false">
<el-form ref="stockFormRef" :model="stockFormEntity" :label-position="labelPosition"
label-width="100px" style="max-width: 100%" :rules="rules" status-icon>
@ -222,7 +258,7 @@
<script setup>
import store from '@/store'
import {queryDbsByPage, deleteDbsPlan} from '@/api/kateWork.js'
import {queryDbsByPage, deleteDbsPlan, getGoodsRequirement, genClcKanbanRequirement} from '@/api/kateWork.js'
import {dateFormatter, timeFormatter} from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
@ -233,12 +269,15 @@ import {dbsStatusOptions} from '@/constant/options'
import UploadExcelDbs from '@/excel/UploadExcelDbs.vue'
import {exportDbsWithExcel} from '@/api/excel'
import {loading} from "@/utils/loading";
import { useRouter } from 'vue-router';
import {exportToExcel} from "@/utils/excelUtils";
/**
* 常量定义
*/
const USER_NAME = store.getters.getUserName
const STAND_ID = store.getters.getStandId
const router = useRouter()
/**
* 变量定义
*/
@ -265,6 +304,10 @@ let dbsId = ''
let dbsEditFormRef = ref()
let dbsEditFormEntity = reactive({})
let showDbsUploadDialog = ref(false)
let selectedOrders = ref([])
let orderOptions = ref([])
let goodsRequireList = ref([])
let showGoodsRequireDialog = ref(false)
/**
* 系统方法
*/
@ -292,11 +335,11 @@ const search = () => {
//
request.workOrder = dbsQueryFormEntity.workOrder.trim()
request.productId = dbsQueryFormEntity.productId.trim()
request.dbsStatus = dbsQueryFormEntity.dbsStatus == -99 ? null : dbsQueryFormEntity.dbsStatus
request.dbsStatus = dbsQueryFormEntity.dbsStatus === -99 ? null : dbsQueryFormEntity.dbsStatus
request.planStartDate = dateFormatter(dbsQueryFormEntity.planStartDate)
queryDbsByPage(request).then((res) => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const data = response.data
if (data != null) {
displayDbs.value = data.lists
@ -340,7 +383,7 @@ const timeFormat = (row, column, cellValue, index) => {
return timeFormatter(cellValue)
}
const rowStyle = ({row, rowIndex}) => {
if (row.dbsStatus == 2) {
if (row.dbsStatus === 2) {
return {"color": "green"}
}
}
@ -348,7 +391,7 @@ const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
search()
}
const getCurrentRow = (row) => {
@ -358,7 +401,7 @@ const exportExcel = () => {
const params = {
workOrder: dbsQueryFormEntity.workOrder,
productId: dbsQueryFormEntity.productId,
dbsStatus: dbsQueryFormEntity.dbsStatus == -99 ? null : dbsQueryFormEntity.dbsStatus,
dbsStatus: dbsQueryFormEntity.dbsStatus === -99 ? null : dbsQueryFormEntity.dbsStatus,
planStartDate: dateFormatter(dbsQueryFormEntity.planStartDate)
}
exportDbsWithExcel(params).then(res => {
@ -406,7 +449,7 @@ const deleteCurrentRow = (row) => {
loading.open('删除中...')
deleteDbsPlan(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
ElMessage.success(response.message)
} else {
ElMessage.error(response.message)
@ -425,6 +468,118 @@ const deleteCurrentRow = (row) => {
const openUploadDialog = () => {
showDbsUploadDialog.value = true
}
//
const addRequirement = (row) => {
const workOrder = row.workOrder
if (workOrder === undefined || workOrder === '') {
ElMessage.error('请先选择工单')
return
}
//
if (orderOptions.value.length > 0) {
const oldOption = orderOptions.value.find((item) => {return item.value === workOrder})
if (oldOption === undefined) {
orderOptions.value.push({
label: workOrder,
value: workOrder
})
}
} else {
orderOptions.value.push({
label: workOrder,
value: workOrder
})
}
addSelectWorkOrders(workOrder)
}
//
const addSelectWorkOrders = (workOrder) => {
if (selectedOrders.value.find((item) => {return item === workOrder}) === undefined) {
selectedOrders.value.push(workOrder)
} else {
ElMessage.error('请勿重复添加工单')
}
}
//
const openRequirementDialog = () => {
if (selectedOrders.value.length === 0) {
ElMessage.error('请选择工单。')
return
}
//
const request = {
orderIds: selectedOrders.value,
userName: USER_NAME,
standId: STAND_ID
}
getGoodsRequirement(request).then(res => {
const response = res.data
if (response.code === 0) {
if (response.data != null && response.data.length > 0) {
goodsRequireList.value = response.data
} else {
goodsRequireList.value = []
}
showGoodsRequireDialog.value = true
} else {
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
ElMessage.error('获取需求列表异常。')
})
}
//
const exportRequirements = () => {
try {
const header = {
goodsId: '料号',
goodsDesc: '物料描述',
needQty: '需求数量',
stockQty: '库存数量',
lackQty: '缺少数量',
goodsType: '补料类型',
stockType: '存放类型'
}
exportToExcel(header, goodsRequireList.value, '工单需求', '工单需求')
} catch (e) {
console.log(e)
ElMessage.error('导出需求异常。')
}
}
//
const genKanban = () => {
if (selectedOrders.value.length === 0) {
ElMessage.error('请选择工单。')
return
}
const request = {
orderIds: selectedOrders.value,
standId: STAND_ID,
userName: USER_NAME
}
loading.open('生成中...')
genClcKanbanRequirement(request).then(res => {
const response = res.data
if (response.code === 0) {
ElMessage.success('生成看板需求成功。')
//
const menuItem = store.getters.getMenuItemByPath('/clcKanban')
if (menuItem !== undefined) {
store.commit('mutationSelectTags', menuItem)
router.push(menuItem.path)
}
} else {
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
ElMessage.error('生成看板需求异常。')
}).finally(() => {
loading.close()
})
}
</script>
<style scoped>
.content {

View File

@ -10,11 +10,11 @@
<el-form-item label="入库类型" prop="emptyTask">
<el-select-v2 style="width: 196px" v-model="inTaskEntity.emptyTask" placeholder="请选择入库类型"
:options="inTypeOptions"
:disabled="taskRequestEntity.vehicleId != ''"></el-select-v2>
:disabled="taskRequestEntity.vehicleId !== ''"></el-select-v2>
</el-form-item>
<el-form-item label="箱号" prop="vehicleId">
<el-input v-model="inTaskEntity.vehicleId" ref="vehicleId"
:disabled="taskRequestEntity.vehicleId != ''" clearable
:disabled="taskRequestEntity.vehicleId !== ''" clearable
@keyup.enter="handleEnter()"/>
</el-form-item>
<el-form-item label="料号">
@ -44,13 +44,13 @@
</div>
</el-form>
</fieldset>
<fieldset class="confirm-area" v-if="taskRequestEntity.vehicleId != ''">
<fieldset class="confirm-area" v-if="taskRequestEntity.vehicleId !== ''">
<el-form ref="taskRequestRef" :model="taskRequestEntity" :label-position="labelPosition"
label-width="158px" style="max-width: 100%" :rules="rules" status-icon>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-form-item label="入库类型">
<el-select-v2 v-model="taskRequestEntity.emptyTask" placeholder="请选择入库类型"
<el-select-v2 style="width: 196px" v-model="taskRequestEntity.emptyTask" placeholder="请选择入库类型"
:options="inTypeOptions" disabled></el-select-v2>
</el-form-item>
<el-form-item label="箱号">
@ -135,6 +135,7 @@ import {nextTick, onMounted, reactive, ref} from 'vue'
import {loading} from '@/utils/loading.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {labelPosition} from '@/constant/form'
import {getGoodsInfoByGoodsId} from "@/api/goods";
const inTypeOptions = [
{
@ -206,19 +207,19 @@ const changeFocus = () => {
//
inTaskEntity.vehicleId = inTaskEntity.vehicleId.toUpperCase().trim()
inTaskEntity.goodsId = inTaskEntity.goodsId.toUpperCase().trim()
if (inTaskEntity.vehicleId == '') {
if (inTaskEntity.vehicleId === '') {
vehicleId.value.focus()
return
}
//
if (inTaskEntity.vehicleId != '') {
if (inTaskEntity.vehicleId !== '') {
const vehicleArray = inTaskEntity.vehicleId.split('-')
if (vehicleArray.length != 2) {
if (vehicleArray.length !== 2) {
errorBox('箱号格式不正确正确格式为“ASRS-XXXX”。')
vehicleId.value.focus()
return
} else {
if (vehicleArray[0] != 'ASRS' || !numberCheck(vehicleArray[1]) || vehicleArray[1].length != 4) {
if (vehicleArray[0] !== 'ASRS' || !numberCheck(vehicleArray[1]) || vehicleArray[1].length !== 4) {
errorBox('箱号格式不正确正确格式为“ASRS-XXXX”。')
vehicleId.value.focus()
return
@ -238,16 +239,34 @@ const changeFocus = () => {
}
//
if (!inTaskEntity.emptyTask) {
if (inTaskEntity.goodsId == '') {
if (inTaskEntity.goodsId === '') {
goodsId.value.focus()
return
} else {
//
inTaskEntity.goodsId = inTaskEntity.goodsId.toUpperCase().trim()
if (inTaskEntity.goodsId.substring(0, 1) === 'P') {
//
loading.open('请求中,请稍等...')
getGoodsInfoByGoodsId(inTaskEntity.goodsId).then(res => {
const goodsResponse = res.data
if (goodsResponse.code !== 0) {
// P
inTaskEntity.goodsId = inTaskEntity.goodsId.substring(1)
}
if (inTaskEntity.opNum == null || inTaskEntity.opNum == '') {
}).catch(err => {
console.log(err)
}).finally(() => {
loading.close()
})
}
}
if (inTaskEntity.opNum == null || inTaskEntity.opNum === '') {
opNum.value.focus()
return
}
}
if (inTaskEntity.goodsId == inTaskEntity.vehicleId || inTaskEntity.goodsId == inTaskEntity.opNum || inTaskEntity.vehicleId == inTaskEntity.opNum) {
if (inTaskEntity.goodsId === inTaskEntity.vehicleId || inTaskEntity.goodsId === inTaskEntity.opNum || inTaskEntity.vehicleId === inTaskEntity.opNum) {
errorBox('箱号、料号、数量必须为互不相同。')
goodsId.value.focus()
return
@ -256,7 +275,7 @@ const changeFocus = () => {
}
//
const numberCheck = (numberStr) => {
if (numberStr == null || numberStr == '') {
if (numberStr == null || numberStr === '') {
return false
}
try {
@ -267,7 +286,7 @@ const numberCheck = (numberStr) => {
}
//
const clearInput = () => {
if (taskRequestEntity.vehicleId != '') {
if (taskRequestEntity.vehicleId !== '') {
if (!taskRequestEntity.emptyTask) {
inTaskEntity.goodsId = ''
inTaskEntity.opNum = null
@ -286,21 +305,21 @@ const confirmBinding = () => {
inTaskEntity.vehicleId = inTaskEntity.vehicleId.toUpperCase().trim()
inTaskEntity.goodsId = inTaskEntity.goodsId.toUpperCase().trim()
//
if (!inTaskEntity.emptyTask && inTaskEntity.goodsId == '' && inTaskEntity.vehicleId != '') {
if (inTaskEntity.vehicleId == '') {
if (!inTaskEntity.emptyTask && inTaskEntity.goodsId === '' && inTaskEntity.vehicleId !== '') {
if (inTaskEntity.vehicleId === '') {
ElMessage.error("请输入箱号。")
vehicleId.value.focus()
return
}
//
if (inTaskEntity.vehicleId != '') {
if (inTaskEntity.vehicleId !== '') {
const vehicleArray = inTaskEntity.vehicleId.split('-')
if (vehicleArray.length != 2) {
if (vehicleArray.length !== 2) {
errorBox('箱号格式不正确正确格式为“ASRS-XXXX”。')
vehicleId.value.focus()
return
} else {
if (vehicleArray[0] != 'ASRS' || !numberCheck(vehicleArray[1]) || vehicleArray[1].length != 4) {
if (vehicleArray[0] !== 'ASRS' || !numberCheck(vehicleArray[1]) || vehicleArray[1].length !== 4) {
errorBox('箱号格式不正确正确格式为“ASRS-XXXX”。')
vehicleId.value.focus()
return
@ -330,18 +349,18 @@ const confirmBinding = () => {
}
//
const addBinding = () => {
if (taskRequestEntity.vehicleId != '' && taskRequestEntity.vehicleId != inTaskEntity.vehicleId) {
if (taskRequestEntity.vehicleId !== '' && taskRequestEntity.vehicleId !== inTaskEntity.vehicleId) {
errorBox('请下发已绑定的任务或取消绑定后重试。')
return
}
if (taskRequestEntity.vehicleId == '') {
if (inTaskEntity.vehicleId == '') {
if (taskRequestEntity.vehicleId === '') {
if (inTaskEntity.vehicleId === '') {
errorBox('请输入箱号。')
vehicleId.value.focus()
return
}
if (!inTaskEntity.emptyTask) {
if (inTaskEntity.goodsId != '' && inTaskEntity.opNum != null && inTaskEntity.opNum > 0) {
if (inTaskEntity.goodsId !== '' && inTaskEntity.opNum != null && inTaskEntity.opNum > 0) {
//
taskRequestEntity.goodsInfo.push({
goodsId: inTaskEntity.goodsId.trim().toUpperCase(),
@ -356,12 +375,12 @@ const addBinding = () => {
taskRequestEntity.vehicleId = inTaskEntity.vehicleId.trim().toUpperCase()
} else {
if (!taskRequestEntity.emptyTask) {
if (inTaskEntity.goodsId == '') {
if (inTaskEntity.goodsId === '') {
errorBox('请输入料号。')
goodsId.value.focus()
return
}
if (inTaskEntity.opNum == null || inTaskEntity.opNum == 0) {
if (inTaskEntity.opNum == null || inTaskEntity.opNum === 0) {
errorBox('请输入正确的数量。')
opNum.value.focus()
return
@ -384,7 +403,7 @@ const addBinding = () => {
//
const confirmTasks = () => {
//
if (!taskRequestEntity.emptyTask && taskRequestEntity.goodsInfo.length == 0) {
if (!taskRequestEntity.emptyTask && taskRequestEntity.goodsInfo.length === 0) {
ElMessageBox.confirm(
'非空箱入库未绑定物料,默认生成回库任务。\n是否继续',
'警告',
@ -408,7 +427,7 @@ const confirmSend = () => {
loading.open()
requireStockIn(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
ElMessage.success(response.message)
cancelBinding()
} else {
@ -430,7 +449,7 @@ const cancelBinding = () => {
//
const removeThisRow = (row) => {
taskRequestEntity.goodsInfo.splice(taskRequestEntity.goodsInfo.indexOf(row), 1)
if (taskRequestEntity.goodsInfo.length == 0 && taskRequestEntity.vehicleId != '' && !taskRequestEntity.emptyTask) {
if (taskRequestEntity.goodsInfo.length === 0 && taskRequestEntity.vehicleId !== '' && !taskRequestEntity.emptyTask) {
//
resetTaskEntity()
}
@ -454,7 +473,7 @@ const openOutForInDialog = () => {
//
const addForInGoods = () => {
outForInEntity.goodsId = outForInEntity.goodsId.trim()
if (outForInEntity.goodsId == '') {
if (outForInEntity.goodsId === '') {
errorBox('请输入料号。')
} else {
outForInEntity.goodsId = outForInEntity.goodsId.toUpperCase()
@ -475,7 +494,7 @@ const confirmCallVehicles = () => {
const goodsIds = outForInRequestEntity.goodsIds.flatMap(item => {
return item.goodsId
})
if (goodsIds.length == 0) {
if (goodsIds.length === 0) {
errorBox('请输入料号。')
return
}
@ -487,7 +506,7 @@ const confirmCallVehicles = () => {
loading.open()
requireVehiclesForIn(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
successBox(response.message)
} else {
errorBox(response.message)

View File

@ -18,21 +18,23 @@
<el-input v-model="outTaskEntity.vehicleId" ref="vehicleId" clearable/>
</el-form-item>
<el-form-item label="数量" prop="needNum">
<el-input-number v-model.number="outTaskEntity.needNum" ref="needNum"
<el-input-number style="width: 196px" v-model.number="outTaskEntity.needNum" ref="needNum"
controls-position="right" :min="1" clearable/>
</el-form-item>
<el-form-item label="原因" prop="reason" v-if="outTaskEntity.outType == 9">
<el-select-v2 style="width: 196px" v-model="outTaskEntity.reason" placeholder="请选择紧急出库原因"
:options="resonOptions"></el-select-v2>
:options="reasonOptions"></el-select-v2>
</el-form-item>
</el-row>
<el-row>
<el-button type="primary"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="confirmOut()">确认出库</el-button>
@click="confirmOut()">确认出库
</el-button>
<el-button type="warning"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="clearInput()">清除输入</el-button>
@click="clearInput()">清除输入
</el-button>
</el-row>
</div>
</el-form>
@ -44,7 +46,7 @@
<el-row>
<el-row style="border-bottom: dashed 1px black;">
<el-form-item label="出库类型" prop="outType">
<el-select-v2 v-model="confirmEntity.outType" placeholder=" "
<el-select-v2 style="width: 196px" v-model="confirmEntity.outType" placeholder=" "
:options="outTypeOptions" disabled></el-select-v2>
</el-form-item>
<el-form-item label="物料号" prop="goodsId">
@ -60,7 +62,7 @@
<el-input v-model="confirmEntity.planPickQty" disabled/>
</el-form-item>
<el-form-item label="本次实际拣选" prop="realPickQty">
<el-input-number v-model.number="confirmEntity.realPickQty"
<el-input-number style="width: 196px" v-model.number="confirmEntity.realPickQty"
controls-position="right" :min="0" clearable @change="changePlanQty()"/>
</el-form-item>
</el-row>
@ -72,7 +74,7 @@
<el-input v-model="confirmEntity.planRemainQty" disabled/>
</el-form-item>
<el-form-item label="实际剩余数量" prop="realRemainQty">
<el-input-number v-model.number="confirmEntity.realRemainQty"
<el-input-number style="width: 196px" v-model.number="confirmEntity.realRemainQty"
controls-position="right" :min="0" clearable/>
</el-form-item>
</el-row>
@ -80,7 +82,8 @@
<el-row>
<el-button type="success"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="confirmOrRelease()">确认/放行</el-button>
@click="confirmOrRelease()">确认/放行
</el-button>
</el-row>
</div>
</el-form>
@ -95,29 +98,24 @@ import store from '@/store'
import {requireStockOut, getCurrentTask, confirmCurrentTask} from '@/api/task.js'
import {errorBox, warningBox} from '@/utils/myMessageBox.js'
import {ElMessage} from 'element-plus'
import { reactive, ref } from 'vue'
import {nextTick, onBeforeUnmount, onMounted, reactive, ref, watch} from 'vue'
import {loading} from '@/utils/loading'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script>
import {useRoute} from "vue-router";
import {labelPosition} from '@/constant/form'
<script>
export default {
name: 'goodsOut',
data() {
return {
standId: store.getters.getStandId,
userName: store.getters.getUserName,
timer: '',
labelPosition: 'top',
outTaskRef: ref(),
outTaskEntity: reactive({
const STAND_ID = store.getters.getStandId
const USER_NAME = store.getters.getUserName
let timer = ref()
let outTaskRef = ref()
let outTaskEntity = reactive({
outType: 9,
goodsId: '',
vehicleId: '',
reason: '',
needNum: null
}),
requestRules: reactive({
})
const requestRules = reactive({
outType: [
{required: true, message: '请选择入库类型'}
],
@ -125,8 +123,8 @@ export default {
{required: true, message: '请输入数量'},
{type: 'number', message: '请输入数字值'}
],
}),
outTypeOptions: [
})
const outTypeOptions = [
{
label: '空箱出库',
value: 1
@ -135,8 +133,8 @@ export default {
label: '紧急出库',
value: 9
}
],
resonOptions: [
]
const reasonOptions = [
{
label: '补料',
value: '补料'
@ -153,68 +151,139 @@ export default {
label: '返工工单',
value: '返工工单'
}
],
confirmRef: ref(),
confirmEntity: reactive({}),
confirmRules: reactive({}),
pauseGetPickFlag: false,
}
},
mounted() {
this.$nextTick(() => {
this.timer = setInterval(() => {
this.getTask()
]
let confirmRef = ref()
let confirmEntity = reactive({
taskId: '',
outType: null,
goodsId: '',
totalNeed: null,
remainNeed: null,
planPickQty: null,
realPickQty: null,
stockId: '',
vehicleId: '',
planRemainQty: null,
realRemainQty: null,
isOut: null,
putArea: '',
warningQty: null
})
const confirmRules = reactive({})
let pauseGetPickFlag = ref(false)
const route = useRoute()//
//
onMounted(() => {
nextTick(() => {
timer.value = setInterval(() => {
timerTask_1()
}, 1000)
})
},
beforeUnmount() {
clearInterval(this.timer)
},
methods: {
//
clearInput() {
this.outTaskEntity = reactive({
outType: 9,
goodsId: '',
vehicleId: '',
needNum: null
})
},
onBeforeUnmount(() => {
clearInterval(timer.value)
})
//
watch(() => route.path, (newVal, oldVal) => {
if (newVal === '/goodsOut') {
timer.value = setInterval(() => {
timerTask_1()
}, 1000)
} else {
clearInterval(timer.value)
}
})
// 1
const timerTask_1 = () => {
getTask()
}
//
const getTask = () => {
if (pauseGetPickFlag.value) {
return
}
const request = {
standId: STAND_ID,
userName: USER_NAME
}
//
getCurrentTask(request).then(res => {
const response = res.data
if (response.code === 0) {
const confirmVo = response.data
// form
confirmEntity.taskId = confirmVo.taskConfirm.taskId
confirmEntity.outType = confirmVo.taskConfirm.outType
confirmEntity.goodsId = confirmVo.taskConfirm.goodsId
confirmEntity.totalNeed = confirmVo.taskConfirm.totalNeed
confirmEntity.remainNeed = confirmVo.taskConfirm.remainNeed
confirmEntity.planPickQty = confirmVo.taskConfirm.planPickQty
confirmEntity.realPickQty = confirmVo.taskConfirm.realPickQty
confirmEntity.stockId = confirmVo.stockConfirm.stockId
confirmEntity.vehicleId = confirmVo.stockConfirm.vehicleId
confirmEntity.planRemainQty = confirmVo.stockConfirm.planRemainQty
confirmEntity.realRemainQty = confirmVo.stockConfirm.realRemainQty
confirmEntity.isOut = confirmVo.stockConfirm.isOut
confirmEntity.putArea = confirmVo.stockConfirm.putArea
confirmEntity.warningQty = confirmVo.stockConfirm.warningQty
pauseGetPickFlag.value = true
//
if (confirmEntity.isOut === 0 && confirmEntity.planRemainQty <= confirmEntity.warningQty) {
warningBox('剩余数量低于预警值,请清点库存数量。')
}
} else if (response.code === 400) {
//
pauseGetPickFlag.value = true
warningBox(response.message)
}
}).catch(err => {
console.log(err)
pauseGetPickFlag.value = true
errorBox('请求错误,请检查完原因后刷新界面。')
})
}
//
const clearInput = () => {
outTaskEntity.outType = 9
outTaskEntity.goodsId = ''
outTaskEntity.vehicleId = ''
outTaskEntity.needNum = null
}
//
confirmOut() {
if (this.outTaskEntity.needNum == null) {
const confirmOut = () => {
if (outTaskEntity.needNum == null) {
errorBox('请输入正确的数量。')
return
}
if (this.outTaskEntity.outType != 1) {
if (this.outTaskEntity.goodsId == '') {
if (outTaskEntity.outType !== 1) {
if (outTaskEntity.goodsId === '') {
errorBox('非空箱出库时,请输入料号。')
return
}
}
if (this.outTaskEntity.outType == 9) {
if (this.outTaskEntity.reason == '') {
if (outTaskEntity.outType === 9) {
if (outTaskEntity.reason === '') {
errorBox('紧急出库请选择原因。')
return
}
}
const request = {
outType: this.outTaskEntity.outType,
goodsId: this.outTaskEntity.goodsId.toUpperCase(),
vehicleId: this.outTaskEntity.vehicleId,
needNum: this.outTaskEntity.needNum,
reason: this.outTaskEntity.reason,
destination: this.standId,
userName: this.userName,
standId: this.standId
outType: outTaskEntity.outType,
goodsId: outTaskEntity.goodsId.toUpperCase().trim(),
vehicleId: outTaskEntity.vehicleId.toUpperCase().trim(),
needNum: outTaskEntity.needNum,
reason: outTaskEntity.reason,
destination: STAND_ID,
userName: USER_NAME,
standId: STAND_ID
}
loading.open('请求中,请稍等...')
requireStockOut(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
//
ElMessage.success(response.message)
this.clearInput()
clearInput()
} else {
errorBox(response.message)
}
@ -224,88 +293,41 @@ export default {
}).finally(() => {
loading.close()
})
},
//
getTask() {
if (this.pauseGetPickFlag) {
return
}
const request = {
standId: this.standId,
userName: this.userName
}
//
getCurrentTask(request).then(res => {
const response = res.data
if (response.code == 0) {
const confirmVo = response.data
// form
this.confirmEntity = {
taskId: confirmVo.taskConfirm.taskId,
outType: confirmVo.taskConfirm.outType,
goodsId: confirmVo.taskConfirm.goodsId,
totalNeed: confirmVo.taskConfirm.totalNeed,
remainNeed: confirmVo.taskConfirm.remainNeed,
planPickQty: confirmVo.taskConfirm.planPickQty,
realPickQty: confirmVo.taskConfirm.realPickQty,
stockId: confirmVo.stockConfirm.stockId,
vehicleId: confirmVo.stockConfirm.vehicleId,
planRemainQty: confirmVo.stockConfirm.planRemainQty,
realRemainQty: confirmVo.stockConfirm.realRemainQty,
isOut: confirmVo.stockConfirm.isOut,
putArea: confirmVo.stockConfirm.putArea,
warningQty: confirmVo.stockConfirm.warningQty
}
this.pauseGetPickFlag = true
//
if (this.confirmEntity.isOut == 0 && this.confirmEntity.planRemainQty <= this.confirmEntity.warningQty) {
warningBox('剩余数量低于预警值,请清点库存数量。')
}
} else if (response.code == 400) {
//
this.pauseGetPickFlag = true
warningBox(response.message)
}
}).catch(err => {
console.log(err)
this.pauseGetPickFlag = true
errorBox('请求错误,请检查完原因后刷新界面。')
})
},
// /
confirmOrRelease() {
const confirmOrRelease = () => {
// ---
const request = {
taskConfirm: {
taskId: this.confirmEntity.taskId,
outType: this.confirmEntity.outType,
goodsId: this.confirmEntity.goodsId,
totalNeed: this.confirmEntity.totalNeed,
remainNeed: this.confirmEntity.remainNeed,
planPickQty: this.confirmEntity.planPickQty,
realPickQty: this.confirmEntity.realPickQty,
taskId: confirmEntity.taskId,
outType: confirmEntity.outType,
goodsId: confirmEntity.goodsId,
totalNeed: confirmEntity.totalNeed,
remainNeed: confirmEntity.remainNeed,
planPickQty: confirmEntity.planPickQty,
realPickQty: confirmEntity.realPickQty,
},
stockConfirm: {
stockId: this.confirmEntity.stockId,
vehicleId: this.confirmEntity.vehicleId,
goodsId: this.confirmEntity.goodsId,
planRemainQty: this.confirmEntity.planRemainQty,
realRemainQty: this.confirmEntity.realRemainQty,
isOut: this.confirmEntity.isOut,
putArea: this.confirmEntity.putArea,
stockId: confirmEntity.stockId,
vehicleId: confirmEntity.vehicleId,
goodsId: confirmEntity.goodsId,
planRemainQty: confirmEntity.planRemainQty,
realRemainQty: confirmEntity.realRemainQty,
isOut: confirmEntity.isOut,
putArea: confirmEntity.putArea,
},
standId: this.standId,
userName: this.userName
standId: STAND_ID,
userName: USER_NAME
}
confirmCurrentTask(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
// form
this.confirmEntity = reactive({})
this.pauseGetPickFlag = false
clearConfirmEntity()
pauseGetPickFlag.value = false
ElMessage.success(response.message)
} else if (response.code == 400) {
this.pauseGetPickFlag = false
} else if (response.code === 400) {
pauseGetPickFlag.value = false
warningBox(response.message)
} else {
//
@ -315,17 +337,30 @@ export default {
console.log(err)
errorBox('请求错误,请检查完原因后刷新界面。')
})
},
}
//
changePlanQty() {
if (this.confirmEntity.isOut == 0 && this.confirmEntity.realPickQty != this.confirmEntity.planPickQty) {
//
const changeQty = this.confirmEntity.realPickQty - this.confirmEntity.planPickQty
const changePlanQty = () => {
if (confirmEntity.isOut === 0 && confirmEntity.realPickQty !== confirmEntity.planPickQty) {
//
this.confirmEntity.realRemainQty = this.confirmEntity.planRemainQty - changeQty
}
confirmEntity.realRemainQty = confirmEntity.planRemainQty - confirmEntity.realPickQty + confirmEntity.planPickQty
}
}
// confirmEntity
const clearConfirmEntity = () => {
confirmEntity.taskId = ''
confirmEntity.outType = null
confirmEntity.goodsId = ''
confirmEntity.totalNeed = null
confirmEntity.remainNeed = null
confirmEntity.planPickQty = null
confirmEntity.realPickQty = null
confirmEntity.stockId = ''
confirmEntity.vehicleId = ''
confirmEntity.planRemainQty = null
confirmEntity.realRemainQty = null
confirmEntity.isOut = null
confirmEntity.putArea = ''
confirmEntity.warningQty = null
}
</script>

View File

@ -46,7 +46,7 @@
<el-input v-model="confirmEntity.stockNum" disabled/>
</el-form-item>
<el-form-item label="确认数量" prop="confirmNum">
<el-input-number v-model.number="confirmEntity.confirmNum"
<el-input-number style="width: 196px" v-model.number="confirmEntity.confirmNum"
controls-position="right" :min="0" clearable/>
</el-form-item>
</el-row>

View File

@ -1,152 +1,314 @@
<template>
<div style="margin-bottom: 15px">
<el-config-provider :locale="zhCn">
<el-container class="content">
<div class="work-area">
<fieldset class="search-area">
<el-form ref="searchQueryFormRef" :model="searchQueryFormEntity" :label-position="labelPosition"
label-width="158px" style="max-width: 100%" status-icon>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-input v-model="goodsIdQuery" style="width: 256px; margin-right: 10px;" placeholder="零件号" />
<el-input v-model="vehicleNoQuery" style="width: 256px; margin-right: 10px;" placeholder="箱号" />
<el-button type="primary" @click="search()">搜索</el-button>
<el-button type="warning" @click="reset()">重置</el-button>
<el-button type="success" @click="refresh()">刷新</el-button>
<el-form-item label="箱号">
<el-input v-model="searchQueryFormEntity.vehicleId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="料号">
<el-input v-model="searchQueryFormEntity.goodsId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="创建时间from">
<el-date-picker v-model="searchQueryFormEntity.fromTime" type="datetime"
placeholder="请选择from时间" :shortcuts="shortcuts"
style="width: 196px;" clearable/>
</el-form-item>
<el-form-item label="创建时间to">
<el-date-picker v-model="searchQueryFormEntity.toTime" type="datetime"
placeholder="请选择to时间" :shortcuts="shortcuts"
style="width: 196px;" clearable/>
</el-form-item>
</el-row>
<br />
<el-table :data="tasks" stripe border v-loading="loading" style="width: 100%" max-height="684px"
class="table-class" :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }">
<el-table-column prop="goodsId" label="零件号" fixed="left" min-width="120px" />
<el-table-column prop="vehicleNo" label="箱号" fixed="left" min-width="120px" />
<el-table-column prop="goodsName" label="零件名称" min-width="120px" />
<el-table-column prop="taskType" label="任务类型" :formatter="taskTypeFormat" sortable min-width="120px" />
<el-table-column prop="taskGroup" label="任务组" min-width="120px" />
<el-table-column prop="origin" label="起点" min-width="120px" />
<el-table-column prop="destination" label="终点" min-width="120px" />
<el-table-column prop="pickStand" label="拣选站台" min-width="120px" />
<el-table-column prop="weight" label="重量" min-width="120px" />
<el-table-column prop="productionDate" label="生产日期" :formatter="dateFormat" min-width="120px" />
<el-table-column prop="expirationDate" label="有效日期" :formatter="dateFormat" min-width="120px" />
<el-table-column prop="operateNum" label="操作数量" min-width="120px" />
<el-table-column prop="totalNum" label="库存数量" min-width="120px" />
<el-table-column prop="taskPriority" label="任务优先级" sortable min-width="120px" />
<el-table-column prop="kateTaskId" label="配件任务号" sortable min-width="140px" />
<el-table-column prop="userName" label="操作人员姓名" min-width="120px" />
<el-table-column prop="createTime" label="创建时间" :formatter="timeFormat" min-width="120px" />
<el-table-column prop="finishTime" label="任务完成时间" :formatter="timeFormat" min-width="120px" />
<el-table-column prop="taskStatus" label="任务状态" fixed="right" :formatter="taskStatusFormat" min-width="120px" />
<!-- <el-table-column fixed="right" label="操作" width="180px">
<div style="align-content: center;">
<el-row>
<el-button type="primary" class="btn-search" @click="search()">查询</el-button>
<el-button type="warning" class="btn-search" @click="clearQuery()">清除输入</el-button>
</el-row>
<el-row>
<el-button type="success" class="btn-search"
@click="exportExcel()">导出excel
</el-button>
</el-row>
</div>
</div>
</el-form>
</fieldset>
<div class="table-area">
<el-table :data="tableData" stripe border v-loading="tableLoading" class="table-class"
:max-height="maxHeight" highlight-current-row @row-click="getCurrentRow"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
@sort-change="handleSortChange">
<el-table-column width="65px" fixed="left">
<template v-slot="scope">
<el-popconfirm confirm-button-text="" cancel-button-text="" title="请确认是否取消任务?" :hide-after="10" @confirm="">
<template #reference>
<el-button plain type="warning">取消</el-button>
<el-radio :label="scope.row.taskId" v-model="taskId">&nbsp;</el-radio>
</template>
</el-popconfirm>
<el-popconfirm confirm-button-text="" cancel-button-text="" title="请确认是否完成任务?" :hide-after="10" @confirm="">
<template #reference>
<el-button plain type="primary">完成</el-button>
</template>
</el-popconfirm>
</template>
</el-table-column> -->
</el-table-column>
<el-table-column prop="taskId" label="任务号" fixed="left" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskType" label="任务类型" :formatter="taskTypeFormat" min-width="120px"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskStatus" label="任务状态" :formatter="taskStatusFormat" min-width="120px"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskPriority" label="优先级" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="vehicleId" label="箱号" fixed="left" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="goodsId" label="料号" min-width="120px" fixed="left" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="goodsDesc" label="物料描述"
min-width="120px" sortable="custom" show-overflow-tooltip/>
<el-table-column prop="opNum" label="操作数量" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="stockNum" label="库存数量" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="origin" label="起点" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="destination" label="终点" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="wcsTaskId" label="wcs任务号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="createTime" label="创建时间" :formatter="timeFormat" fixed="right" min-width="120px"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="finishTime" label="完成时间" :formatter="timeFormat" fixed="right" min-width="120px"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="opUser" label="操作用户" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="remark" label="备注" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="callStand" label="呼叫站台" min-width="120px"
sortable="custom" show-overflow-tooltip/>
</el-table>
<br/>
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize" :page-sizes="[10, 25, 50]"
:small="false" :disabled="false" :background="false" :default-page-size="10"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="search"
@current-change="search" />
</el-config-provider>
<el-pagination v-model:current-page="baseTableQuery.currentPage"
v-model:page-size="baseTableQuery.pageSize" :page-sizes="[10, 25, 50]" :small="false"
:disabled="false" :background="false" :default-page-size="10" @size-change="search"
@current-change="search" layout="total, sizes, prev, pager, next, jumper"
:total="baseTableQuery.total"/>
</div>
</div>
</el-container>
</el-config-provider>
</template>
<script setup>
import { getTaskRecords } from '@/api/record.js'
import { dateFormatter, taskStatusFormatter, timeFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { errorBox } from '@/utils/myMessageBox.js'
import store from '@/store'
</script>
<script>
export default {
name: 'inventoryRecord',
data() {
return {
pageInfo: {},
tasks: [],
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {queryInTaskRecordByPage} from '@/api/taskQuery.js'
import {timeFormatter, wmsTaskTypeFormatter, wmsTaskStatusFormatter, dateFormatter} from '@/utils/formatter.js'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
import {ElMessage} from 'element-plus'
import {genTableRequest} from '@/utils/generator.js'
import {labelPosition, shortcuts} from '@/constant/form.js'
import {exportInTaskRecordExcel} from '@/api/excel.js'
/**
* 常量定义
*/
const STAND_ID = store.getters.getStandId
const USER_NAME = store.getters.getUserName
/**
* 变量定义
*/
let maxHeight = ref(window.innerHeight * 0.55)
let tableLoading = ref(false)
let tableData = ref([])
let baseTableQuery = reactive({
currentPage: 1,
pageSize: 10,
total: 0,
goodsIdQuery: '',
vehicleNoQuery: '',
loading: true
sortBy: new Map([['createTime', false]]),//
standId: STAND_ID,
userName: USER_NAME
})
let searchQueryFormEntity = reactive({
vehicleId: '',
goodsId: '',
fromTime: null,
toTime: null
})
let searchQueryFormRef = ref()
let taskId = ''
/**
* 系统方法
*/
onMounted(() => {
nextTick(() => {
window.addEventListener('resize', resizeHeight)
search()
})
})
onBeforeUnmount(() => {
nextTick(() => {
window.removeEventListener('resize', resizeHeight)
})
})
const resizeHeight = () => {
maxHeight.value = window.innerHeight * 0.55
}
},
mounted() {
this.search()
},
methods: {
dateFormat: (row, column, cellValue, index) => {
return dateFormatter(cellValue)
},
timeFormat: (row, column, cellValue, index) => {
return timeFormatter(cellValue)
},
taskStatusFormat: (row, column, cellValue, index) => {
return taskStatusFormatter(cellValue)
},
taskTypeFormat: (row, column, cellValue, index) => {
switch (cellValue) {
case 1: return '入库'
case 2: return '出库'
case 3: return '盘点'
default: return '未知'
}
},
search() {
this.loading = true
this.pageInfo.pageNum = this.currentPage
this.pageInfo.pageSize = this.pageSize
const tableRequest = {
page: this.pageInfo,
param: {
taskType: 3,
goodsId: this.goodsIdQuery.trim(),
vehicleNo: this.vehicleNoQuery.trim(),
userName: store.getters.getUserName
}
}
getTaskRecords(tableRequest).then(res => {
const tableResponse = res.data
if (tableResponse.code == 0) {
this.tasks = tableResponse.rows
this.total = tableResponse.total
/**
* 自定义方法
*/
//
const search = () => {
tableLoading.value = true
let request = genTableRequest(baseTableQuery)
//
request.vehicleId = searchQueryFormEntity.vehicleId.trim()
request.goodsId = searchQueryFormEntity.goodsId.trim()
request.fromTime = searchQueryFormEntity.fromTime == null ? null : timeFormatter(searchQueryFormEntity.fromTime)
request.toTime = searchQueryFormEntity.toTime == null ? null : timeFormatter(searchQueryFormEntity.toTime)
queryInTaskRecordByPage(request).then((res) => {
const response = res.data
if (response.code === 0) {
const data = response.data
if (data != null) {
tableData.value = data.lists
baseTableQuery.total = data.total
} else {
errorBox(tableResponse.message)
tableData.value = []
baseTableQuery.total = 0
}
} else {
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
errorBox('查询盘点记录错误')
ElMessage.error('查询数据异常。')
}).finally(() => {
tableLoading.value = false
})
}
const clearQuery = () => {
searchQueryFormEntity.vehicleId = ''
searchQueryFormEntity.goodsId = ''
searchQueryFormEntity.fromTime = null
searchQueryFormEntity.toTime = null
}
const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
search()
}
const getCurrentRow = (row) => {
taskId = row.taskId
}
const timeFormat = (row, column, cellValue, index) => {
return timeFormatter(cellValue)
}
const taskTypeFormat = (row, column, cellValue, index) => {
return wmsTaskTypeFormatter(cellValue)
}
const taskStatusFormat = (row, column, cellValue, index) => {
return wmsTaskStatusFormatter(cellValue)
}
const exportExcel = () => {
const params = {
goodsId: searchQueryFormEntity.goodsId,
vehicleId: searchQueryFormEntity.vehicleId,
fromTime: searchQueryFormEntity.fromTime == null ? null : timeFormatter(searchQueryFormEntity.fromTime),
toTime: searchQueryFormEntity.toTime == null ? null : timeFormatter(searchQueryFormEntity.toTime),
userName: USER_NAME
}
exportInTaskRecordExcel(params).then(res => {
const link = document.createElement('a');//a
try {
// let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls
let blob = res.data //blob
// let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //
let _fileName = '入库记录' + dateFormatter(new Date) + '.xlsx'
link.style.display = 'none'//
// URL
const url = window.URL || window.webkitURL || window.moxURL
link.href = url.createObjectURL(blob)
link.setAttribute('download', _fileName.substring(_fileName.lastIndexOf('_') + 1))
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
url.revokeObjectURL(link.href)//url
} catch (e) {
console.log(e)
ElMessage.error('下载文件失败')
}
}).catch(err => {
console.log(err)
ElMessage.error('导出失败')
})
this.loading = false
},
reset() {
this.goodsIdQuery = ''
this.vehicleNoQuery = ''
this.search()
},
},
}
</script>
<style scoped>
.content {
display: flex;
width: 100%;
}
.work-area {
width: 100%;
/* padding: 5px; */
}
.search-area {
margin: auto;
min-height: fit-content;
max-height: 40%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
padding: 10px;
}
.table-area {
margin: auto;
min-height: fit-content;
max-height: 60%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
padding: 10px;
}
.el-form-item {
margin: 5px 5px 5px 5px;
}
.el-form-item .el-input {
width: 196px;
}
.el-form-item .el-input-number {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;
}
.el-pagination {
padding-left: 5px;
}
.el-row .el-button {
width: 72px;
margin-left: 0px;
margin-right: 5px;
}
.table-class {
width: 100%;
.btn-search {
height: 30px;
width: 80px;
margin: auto 5px 5px auto;
color: black;
}
</style>

View File

@ -22,6 +22,11 @@
:value="item"/>
</el-select>
</el-form-item>
<el-form-item label="K料备注" prop="kittingRemark"
v-if="workFormEntity.kittingRemark !== '' && workFormEntity.kittingRemark !== null && workFormEntity.kittingRemark !== undefined">
<el-input v-model="workFormEntity.kittingRemark" placeholder="K料备注"
:input-style="{'color':'red'}" readonly/>
</el-form-item>
<el-form-item label="原始成品号" prop="productIdOrigin">
<el-input v-model="workFormEntity.productIdOrigin" placeholder="原始成品号" disabled/>
</el-form-item>
@ -96,11 +101,15 @@
<el-form-item label="料盒号" prop="boxNo">
<el-input v-model="confirmEntity.boxNo" disabled/>
</el-form-item>
<el-form-item label="K料备注" prop="kittingRemark">
<el-input v-model="confirmEntity.kittingRemark"
:input-style="{'color': 'red'}" readonly/>
</el-form-item>
<el-form-item label="计划拣选数量" prop="planPickQty">
<el-input v-model="confirmEntity.planPickQty" disabled/>
</el-form-item>
<el-form-item label="实际拣选数量" prop="realPickQty">
<el-input-number v-model.number="confirmEntity.realPickQty"
<el-input-number style="width: 196px" v-model.number="confirmEntity.realPickQty"
controls-position="right" :min="0" clearable @change="changePlanQty()"/>
</el-form-item>
</el-row>
@ -111,11 +120,11 @@
<el-form-item label="存放区域" prop="putArea">
<el-input v-model="confirmEntity.putArea" disabled/>
</el-form-item>
<el-form-item label="计划剩余数量" prop="planRemainQty" v-if="confirmEntity.isOut != 1">
<el-form-item label="计划剩余数量" prop="planRemainQty" v-if="confirmEntity.isOut !== 1">
<el-input v-model="confirmEntity.planRemainQty" disabled/>
</el-form-item>
<el-form-item label="实际剩余数量" prop="realRemainQty" v-if="confirmEntity.isOut != 1">
<el-input-number v-model.number="confirmEntity.realRemainQty"
<el-form-item label="实际剩余数量" prop="realRemainQty" v-if="confirmEntity.isOut !== 1">
<el-input-number style="width: 196px" v-model.number="confirmEntity.realRemainQty"
controls-position="right" :min="0" clearable/>
</el-form-item>
</el-row>
@ -260,7 +269,8 @@ let workFormEntity = reactive({
singleProductId: '',
boxNo: '',
goodsId: '',
planStartDate: null
planStartDate: null,
kittingRemark: ''
})
let workFormQuery = reactive({
workOrder: '',
@ -319,7 +329,7 @@ onBeforeUnmount(() => {
})
//
watch(() => route.path, (newVal, oldVal) => {
if (newVal == '/kitting') {
if (newVal === '/kitting') {
timer.value = setInterval(() => {
timerTask_1()
}, 1000)
@ -331,29 +341,30 @@ watch(() => route.path, (newVal, oldVal) => {
}
})
watch(() => workFormEntity.workOrder, (newVal, oldVal) => {
if (newVal == '') {
if (newVal === '') {
workFormEntity.productIdOrigin = ''
workFormEntity.productId = ''
workFormEntity.singleProductId = ''
workFormEntity.boxNo = ''
workFormEntity.goodsId = ''
workFormEntity.kittingRemark = ''
}
})
watch(() => workFormEntity.productId, (newVal, oldVal) => {
if (newVal != oldVal) {
if (newVal !== oldVal) {
workFormEntity.singleProductId = ''
workFormEntity.boxNo = ''
workFormEntity.goodsId = ''
}
})
watch(() => workFormEntity.singleProductId, (newVal, oldVal) => {
if (newVal != oldVal) {
if (newVal !== oldVal) {
workFormEntity.boxNo = ''
workFormEntity.goodsId = ''
}
})
watch(() => workFormEntity.boxNo, (newVal, oldVal) => {
if (newVal != oldVal) {
if (newVal !== oldVal) {
workFormEntity.goodsId = ''
}
})
@ -368,27 +379,28 @@ const timerTask_1 = () => {
}
//
const solveEnterKey = (e) => {
if (e.key.toLocaleLowerCase() == 'enter') {
if (e.key.toLowerCase() === 'enter') {
confirmReleaseBtn.value.$el.click()
}
}
// options
const initWorkOptions = () => {
const request = {
workOrder: workFormQuery.workOrder != '' ? workFormQuery.workOrder : workFormEntity.workOrder,
singleProductId: workFormQuery.singleProductId != '' ? workFormQuery.singleProductId : workFormEntity.singleProductId,
boxNo: workFormQuery.boxNo != '' ? workFormQuery.boxNo : workFormEntity.boxNo,
goodsId: workFormQuery.goodsId != '' ? workFormQuery.goodsId : workFormEntity.goodsId,
workOrder: workFormQuery.workOrder !== '' ? workFormQuery.workOrder : workFormEntity.workOrder,
singleProductId: workFormQuery.singleProductId !== '' ? workFormQuery.singleProductId : workFormEntity.singleProductId,
boxNo: workFormQuery.boxNo !== '' ? workFormQuery.boxNo : workFormEntity.boxNo,
goodsId: workFormQuery.goodsId !== '' ? workFormQuery.goodsId : workFormEntity.goodsId,
planStartDate: dateFormatter(workFormEntity.planStartDate)
}
optionLoading.value = true
queryKateWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
workOptions.workOrder = response.data.workOrder
//
workFormEntity.productIdOrigin = response.data.productIdOrigin
workFormEntity.productId = response.data.productId
workFormEntity.kittingRemark = response.data.kittingRemark
workOptions.singleProductId = response.data.singleProductId
workOptions.boxNo = response.data.boxNo
workOptions.goodsId = response.data.goodsId
@ -397,6 +409,7 @@ const initWorkOptions = () => {
//
workFormEntity.productIdOrigin = ''
workFormEntity.productId = ''
workFormEntity.kittingRemark = ''
workOptions.singleProductId = []
workOptions.boxNo = []
workOptions.goodsId = []
@ -420,6 +433,7 @@ const resetWorkFormQuery = () => {
workFormEntity.singleProductId = ''
workFormEntity.boxNo = ''
workFormEntity.goodsId = ''
workFormEntity.kittingRemark = ''
}
//
const confirmStart = () => {
@ -434,7 +448,7 @@ const confirmStart = () => {
loading.open()
initWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
ElMessage.success(response.message)
setTimeout(() => {
showBoxSummary()
@ -463,7 +477,7 @@ const showBoxSummary = () => {
}
getBoxesAndLacks(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const boxDetailVo = response.data
//
getPrintTabs(boxDetailVo.boxSummary)
@ -496,7 +510,7 @@ const getWork = () => {
}
getCurrentWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
// form
confirmEntity.workIndex = response.data.orderConfirm.workIndex
confirmEntity.workOrder = response.data.orderConfirm.workOrder
@ -506,6 +520,7 @@ const getWork = () => {
confirmEntity.goodsId = response.data.orderConfirm.goodsId
confirmEntity.planPickQty = response.data.orderConfirm.planPickQty
confirmEntity.realPickQty = response.data.orderConfirm.realPickQty
confirmEntity.kittingRemark = response.data.orderConfirm.kittingRemark
confirmEntity.stockId = response.data.stockConfirm.stockId
confirmEntity.vehicleId = response.data.stockConfirm.vehicleId
confirmEntity.planRemainQty = response.data.stockConfirm.planRemainQty
@ -515,10 +530,10 @@ const getWork = () => {
confirmEntity.warningQty = response.data.stockConfirm.warningQty
pauseGetWorkFlag.value = true
//
if (confirmEntity.isOut == 0 && confirmEntity.planRemainQty <= confirmEntity.warningQty) {
if (confirmEntity.isOut === 0 && confirmEntity.planRemainQty <= confirmEntity.warningQty) {
warningBox('剩余数量低于预警值,请清点库存数量。')
}
} else if (response.code == 400) {
} else if (response.code === 400) {
//
pauseGetWorkFlag.value = true
warningBox(response.message)
@ -528,11 +543,13 @@ const getWork = () => {
confirmEntity.boxNo = response.data.orderConfirm.boxNo
confirmEntity.productId = response.data.orderConfirm.productId
confirmEntity.singleProductId = response.data.orderConfirm.singleProductId
confirmEntity.kittingRemark = response.data.orderConfirm.kittingRemark
} else {
confirmEntity.workOrder = ''
confirmEntity.boxNo = ''
confirmEntity.productId = ''
confirmEntity.singleProductId = ''
confirmEntity.kittingRemark = ''
}
}
}).catch(err => {
@ -543,17 +560,17 @@ const getWork = () => {
}
//
const ifNeedShowBoxSummary = () => {
if (storeKittingWork.workOrder != '') {
if (storeKittingWork.workOrder !== '') {
//
if (confirmEntity.workOrder != storeKittingWork.workOrder
|| confirmEntity.productId != storeKittingWork.productId
|| confirmEntity.singleProductId != storeKittingWork.singleProductId
|| confirmEntity.boxNo != storeKittingWork.boxNo) {
if (confirmEntity.workOrder !== storeKittingWork.workOrder
|| confirmEntity.productId !== storeKittingWork.productId
|| confirmEntity.singleProductId !== storeKittingWork.singleProductId
|| confirmEntity.boxNo !== storeKittingWork.boxNo) {
printLacks(storeKittingWork.workOrder, storeKittingWork.productId, storeKittingWork.singleProductId, storeKittingWork.boxNo)
if (confirmEntity.workOrder == '') {
if (confirmEntity.workOrder === '') {
//
successBox('当前工单已完成。')
} else if (confirmEntity.boxNo != storeKittingWork.boxNo) {
} else if (confirmEntity.boxNo !== storeKittingWork.boxNo) {
//
showBoxSummary()
}
@ -599,11 +616,11 @@ const confirmOrRelease = () => {
}
confirmCurrentWork(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
// form
resetConfirmEntity()
ElMessage.success(response.message)
} else if (response.code == 400) {
} else if (response.code === 400) {
// form
resetConfirmEntity()
//
@ -624,6 +641,7 @@ const resetConfirmEntity = () => {
confirmEntity.planPickQty = null
confirmEntity.realPickQty = null
confirmEntity.stockId = ''
confirmEntity.kittingRemark = ''
confirmEntity.vehicleId = ''
confirmEntity.planRemainQty = null
confirmEntity.realRemainQty = null
@ -633,7 +651,7 @@ const resetConfirmEntity = () => {
}
//
const changePlanQty = () => {
if (confirmEntity.isOut == 0 && confirmEntity.realPickQty != confirmEntity.planPickQty) {
if (confirmEntity.isOut === 0 && confirmEntity.realPickQty !== confirmEntity.planPickQty) {
//
const changeQty = confirmEntity.realPickQty - confirmEntity.planPickQty
//
@ -648,7 +666,7 @@ const requestPrint = () => {
//
const getPrintTabs = (boxSummary) => {
printTabs.value = []
if (boxSummary != undefined) {
if (boxSummary !== undefined) {
for (let i = 1; i <= boxSummary.boxQty; i++) {
printTabs.value.push(
{
@ -675,7 +693,7 @@ const searchKittingGoods = () => {
request.boxNo = confirmEntity.boxNo
queryWorkingGoodsByPage(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const data = response.data
if (data != null) {
currentBoxGoodsList.value = data.lists
@ -695,7 +713,7 @@ const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
searchKittingGoods()
}
//
@ -710,7 +728,7 @@ const printLacks = (workOrder, productId, singleProductId, boxNo) => {
}
getLackGoods(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
lackGoodsForPrint.value = response.data
nextTick(() => {
printLackGoodsBtn.value.click()

View File

@ -1,185 +0,0 @@
<template>
<div style="margin-bottom: 10px">
<el-config-provider :locale="zhCn">
<el-row style="align-items: center;">
<!-- <span>选择库区</span>
<el-select v-model="areaId" placeholder="请选择库区" style="width: 120px;" @change="getAllLocations">
<el-option label="3楼库区" :value='1' />
<el-option label="2楼库区" :value='2' />
</el-select> -->
<span style="margin-left: 5px;">状态说明</span>
<el-button color="green">空闲</el-button>
<el-button color="red">占用</el-button>
<el-button color="yellow">锁定</el-button>
<el-button color="#00BFFF" style="margin: 0 0 0 auto;" @click="getAllLocations">刷新</el-button>
</el-row>
<hr style="border: 1px solid #ff0000" />
<div>
<el-scrollbar max-height="760px">
<div v-for="currentRowLocation in allLocations">
<span>{{ currentRowLocation.row }}</span>
<div class="row" v-for="currentLayerLocation in currentRowLocation.currentLayerLocations">
<div class="col" v-for="currentColLocation in currentLayerLocation.currentColLocations">
<el-button :color="getLocationStatus(currentColLocation)"
@click="showDialog(currentColLocation)">
<span style="font-size: 15px;">{{ currentColLocation.queue }}{{ currentColLocation.line}}{{ currentColLocation.layer}}</span>
</el-button>
</div>
</div>
<hr style="border: 1px solid #000000" />
</div>
</el-scrollbar>
<el-dialog v-model="dialogVisible" :title="currentLocationTitle" width="30%" draggable :show-close="false">
<el-form :model="location">
<el-form-item label="占用/解除占用库位" :label-width="140">
<el-select v-model="location.locationStatus" placeholder="库位是否占用" style="width: 70%;">
<el-option label="空闲" :value='0' />
<el-option label="占用" :value='1' />
</el-select>
</el-form-item>
<el-form-item label="锁定/解锁库位" :label-width="140">
<el-select v-model="location.isLock" placeholder="库位是否锁定" style="width: 70%;">
<el-option label="解锁" :value='0' />
<el-option label="锁定" :value='1' />
</el-select>
</el-form-item>
<el-form-item label="载具" :label-width="140">
<el-input v-model="location.vehicleId" style="width: 70%;" />
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitLocationStatus()">
确定
</el-button>
</span>
</template>
</el-dialog>
</div>
</el-config-provider>
</div>
</template>
<script setup>
import store from '@/store'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { getLocations, updateLocation } from '@/api/location.js'
import { ElMessage, ElLoading } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox.js'
import { reactive } from 'vue'
</script>
<script>
export default {
name: 'location',
data() {
return {
dialogVisible: false,
currentSelectedLocation: {},
allLocations: [],
location: reactive({
locationStatus: '',
isLock: '',
vehicleId: ''
}),
currentLocationTitle: '',
areaId: 1
}
},
mounted() {
this.getAllLocations()
},
methods: {
getLocationStatus: (currentColLocation) => {
if (currentColLocation.isLock === 1) {
return 'yellow'
}
if (currentColLocation.locationStatus === 1) {
return 'red'
}
return 'green'
},
getAllLocations() {
const loading = ElLoading.service({
lock: true,
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
})
const data = { areaId: this.areaId }
getLocations(data).then(res => {
loading.close()
if (res.data.code == 0) {
console.log(res.data.returnData)
this.allLocations = res.data.returnData
} else {
ElMessage.error(res.data.message)
}
}).catch(err => {
loading.close()
ElMessage.error('查询库位失败!')
})
},
showDialog(currentColLocation) {
this.dialogVisible = true
this.currentSelectedLocation = currentColLocation
this.setCurrentLocationTitle()
this.location.locationStatus = this.currentSelectedLocation.locationStatus
this.location.isLock = this.currentSelectedLocation.isLock
this.location.vehicleId = this.currentSelectedLocation.vehicleId
},
submitLocationStatus() {
const loading = ElLoading.service({
lock: true,
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
})
this.currentSelectedLocation.locationStatus = this.location.locationStatus
this.currentSelectedLocation.isLock = this.location.isLock
this.currentSelectedLocation.vehicleId = this.location.vehicleId
updateLocation(this.currentSelectedLocation).then(res => {
if (res.data.code == 0) {
loading.close()
this.dialogVisible = false
ElMessage({
message: '更新库位信息成功!',
type: 'success',
})
this.getAllLocations()
} else {
ElMessage.error(res.data.message)
}
}).catch(err => {
loading.close()
ElMessage.error('更新库位信息失败')
})
},
setCurrentLocationTitle() {
this.currentLocationTitle = '当前选择库位:' + this.currentSelectedLocation.queue + '排' + this.currentSelectedLocation.line + '列' + this.currentSelectedLocation.layer + '层'
}
}
}
</script>
<style scoped>
.el-pagination {
padding-left: 5px;
}
.row {
display: flex;
justify-content: space-between;
margin: 5px;
}
.col {
/* width: 100px; */
/* height: 40px; */
padding: 1px;
margin: 1px;
}
.col .el-button {
width: 100px;
height: 50px;
}
</style>

View File

@ -7,22 +7,22 @@
label-width="158px" style="max-width: 100%" status-icon>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-form-item label="任务类型">
<el-select-v2 v-model="searchQueryFormEntity.taskType" placeholder="任务类型"
:options="addAllOptionOfOptions(taskTypeOptions)"
<el-form-item label="锁定状态">
<el-select-v2 style="width: 196px;" v-model="searchQueryFormEntity.isLock" placeholder="锁定状态"
:options="addAllOptionOfOptions(lockOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="任务状态">
<el-select-v2 v-model="searchQueryFormEntity.taskStatus" placeholder="任务状态"
:options="addAllOptionOfOptions(wmsTaskStatusOptions)"
<el-form-item label="占用状态">
<el-select-v2 style="width: 196px;" v-model="searchQueryFormEntity.isOccupy" placeholder="占用状态"
:options="addAllOptionOfOptions(occupyOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="库位号">
<el-input v-model="searchQueryFormEntity.locationId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="箱号">
<el-input v-model="searchQueryFormEntity.vehicleId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="料号">
<el-input v-model="searchQueryFormEntity.goodsId" @keyup.enter="search()" clearable />
</el-form-item>
</el-row>
<div style="align-content: center;">
<el-row>
@ -40,43 +40,33 @@
@sort-change="handleSortChange">
<el-table-column width="65px" fixed="left">
<template v-slot="scope">
<el-radio :label="scope.row.taskId" v-model="taskId">&nbsp;</el-radio>
<el-radio :label="scope.row.locationId" v-model="locationId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column prop="taskId" label="任务号" fixed="left" min-width="120px" sortable="custom"
<el-table-column prop="locationId" label="库位号" fixed="left" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskType" label="任务类型" fixed="left" :formatter="taskTypeFormat" min-width="120px" sortable="custom"
<el-table-column prop="vehicleId" label="箱号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskStatus" label="任务状态" :formatter="taskStatusFormat" fixed="right" min-width="120px" sortable="custom"
<el-table-column prop="isLock" label="锁定状态" min-width="120px" :formatter="isLockFormat"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="taskPriority" label="优先级" min-width="120px" sortable="custom"
<el-table-column prop="isOccupy" label="占用状态" :formatter="isOccupyFormat"
min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="vehicleId" label="箱号" fixed="left" min-width="120px" sortable="custom"
<el-table-column prop="equipmentId" label="设备号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="goodsId" label="料号" min-width="120px" sortable="custom"
<el-table-column prop="tunnelId" label="巷道号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="goodsDesc" label="物料描述"
<el-table-column prop="lRow" label="排" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="lCol" label="列"
min-width="120px" sortable="custom" show-overflow-tooltip/>
<el-table-column prop="opNum" label="操作数量" min-width="120px" sortable="custom"
<el-table-column prop="lLayer" label="层" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="stockNum" label="库存数量" min-width="120px"
<el-table-column prop="lDepth" label="深度" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="origin" label="起点" min-width="120px" sortable="custom"
<el-table-column prop="subArea" label="子区域" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="destination" label="终点" min-width="120px"
sortable="custom" show-overflow-tooltip />
<el-table-column prop="wcsTaskId" label="wcs任务号" min-width="120px" sortable="custom"
show-overflow-tooltip />
<el-table-column prop="createTime" label="创建时间" :formatter="timeFormat" min-width="120px" sortable="custom"
show-overflow-tooltip />
<el-table-column prop="finishTime" label="完成时间" :formatter="timeFormat" min-width="120px" sortable="custom"
show-overflow-tooltip />
<el-table-column prop="opUser" label="操作用户" min-width="120px"
sortable="custom" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" min-width="120px"
sortable="custom" show-overflow-tooltip />
<el-table-column prop="callStand" label="呼叫站台" min-width="120px"
sortable="custom" show-overflow-tooltip />
<!-- <el-table-column fixed="right" label="操作" width="170px">
<template v-slot="scope">
<div style="display: inline-block; align-content: center;">
@ -186,15 +176,15 @@
<script setup>
import store from '@/store'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { queryTasksByPage } from '@/api/taskQuery.js'
import { timeFormatter, wmsTaskTypeFormatter, wmsTaskStatusFormatter } from '@/utils/formatter.js'
import {timeFormatter} from '@/utils/formatter.js'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
import {ElMessage} from 'element-plus'
import { genTableRequest } from '@/utils/generator.js'
import {genTableRequest, addAllOptionOfOptions} from '@/utils/generator.js'
import {labelPosition} from '@/constant/form.js'
import { taskTypeOptions, wmsTaskStatusOptions } from '@/constant/options.js'
import { addAllOptionOfOptions } from '@/utils/generator.js'
import {loading} from '@/utils/loading'
import {queryLocationsByPage} from "@/api/location";
import {lockOptions, occupyOptions} from "@/constant/options";
/**
* 常量定义
*/
@ -210,19 +200,19 @@ let baseTableQuery = reactive({
currentPage: 1,
pageSize: 10,
total: 0,
sortBy: new Map([['createTime', true]]),//
sortBy: new Map([['lDepth', true], ['lLayer', true], ['lCol', true], ['lRow', true]]),//
standId: STAND_ID,
userName: USER_NAME
})
let searchQueryFormEntity = reactive({
locationId: '',
vehicleId: '',
goodsId: '',
taskType: -99,
taskStatus: -99
isLock: -99,
isOccupy: -99
})
let searchQueryFormRef = ref()
let rowEditFlag = ref(false)
let taskId = ''
let locationId = ''
let rowEditFormRef = ref()
let rowFormEntity = reactive({})
/**
@ -250,13 +240,13 @@ const search = () => {
tableLoading.value = true
let request = genTableRequest(baseTableQuery)
//
request.locationId = searchQueryFormEntity.locationId.trim()
request.vehicleId = searchQueryFormEntity.vehicleId.trim()
request.goodsId = searchQueryFormEntity.goodsId.trim()
request.taskType = searchQueryFormEntity.taskType == -99 ? null : searchQueryFormEntity.taskType
request.taskStatus = searchQueryFormEntity.taskStatus == -99 ? null : searchQueryFormEntity.taskStatus
queryTasksByPage(request).then((res) => {
request.isLock = searchQueryFormEntity.isLock === -99 ? null : searchQueryFormEntity.isLock
request.isOccupy = searchQueryFormEntity.isOccupy === -99 ? null : searchQueryFormEntity.isOccupy
queryLocationsByPage(request).then((res) => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const data = response.data
if (data != null) {
tableData.value = data.lists
@ -276,27 +266,27 @@ const search = () => {
})
}
const clearQuery = () => {
searchQueryFormEntity.locationId = ''
searchQueryFormEntity.vehicleId = ''
searchQueryFormEntity.goodsId = ''
}
const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
search()
}
const getCurrentRow = (row) => {
taskId = row.taskId
locationId = row.locationId
}
const timeFormat = (row, column, cellValue, index) => {
return timeFormatter(cellValue)
}
const taskTypeFormat = (row, column, cellValue, index) => {
return wmsTaskTypeFormatter(cellValue)
const isLockFormat = (row, column, cellValue, index) => {
return cellValue === 1 ? '已锁定' : '未锁定'
}
const taskStatusFormat = (row, column, cellValue, index) => {
return wmsTaskStatusFormatter(cellValue)
const isOccupyFormat = (row, column, cellValue, index) => {
return cellValue === 1 ? '占用' : '空闲'
}
//
const editCurrentRowFormEntity = (row) => {

View File

@ -1,337 +1,455 @@
<template>
<div style="margin-bottom: 10px; height: 100%; padding-left: 1%; padding-right: 1%;">
<el-config-provider :locale="zhCn">
<el-container class="content">
<div class="work-area">
<fieldset class="search-area">
<el-form ref="searchQueryFormRef" :model="searchQueryFormEntity" :label-position="labelPosition"
label-width="158px" style="max-width: 100%" status-icon>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-input v-model="standIdQuery" style="width: 158px; margin-right: 10px;" placeholder="站台号"
:suffix-icon="Search" />
<el-select-v2 v-model="standTypeQuery" style="width: 158px; margin-right: 10px;"
placeholder="请选择站台类型" :options="standTypeOptions" @change="search()"></el-select-v2>
<el-button type="primary" @click="search()">搜索</el-button>
<el-button type="warning" @click="reset()">重置</el-button>
<el-form-item label="锁定状态">
<el-select-v2 style="width: 196px;" v-model="searchQueryFormEntity.isLock" placeholder="锁定状态"
:options="addAllOptionOfOptions(lockOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="占用状态">
<el-select-v2 style="width: 196px;" v-model="searchQueryFormEntity.isOccupy" placeholder="占用状态"
:options="addAllOptionOfOptions(occupyOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="库位号">
<el-input v-model="searchQueryFormEntity.locationId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="箱号">
<el-input v-model="searchQueryFormEntity.vehicleId" @keyup.enter="search()" clearable/>
</el-form-item>
</el-row>
<div style="align-content: center;">
<el-row>
<el-button type="primary" class="btn-search" @click="search()">查询</el-button>
<el-button type="warning" class="btn-search" @click="clearQuery()">清除输入</el-button>
</el-row>
</div>
<br />
<el-table :data="standList" stripe border v-loading="loading" class="table-class" highlight-current-row
max-height="650px" @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }"
:cell-style="{ 'text-align': 'center' }">
</div>
</el-form>
</fieldset>
<div class="table-area">
<el-table :data="tableData" stripe border v-loading="tableLoading" class="table-class"
:max-height="maxHeight" highlight-current-row @row-click="getCurrentRow"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
@sort-change="handleSortChange">
<el-table-column width="65px" fixed="left">
<template v-slot="scope">
<el-radio :label="scope.row.standId" v-model="standId">&nbsp;</el-radio>
<el-radio :label="scope.row.locationId" v-model="locationId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column prop="standId" label="id" fixed="left" min-width="120px" show-overflow-tooltip />
<el-table-column prop="allowIn" label="允许入库" min-width="120px" show-overflow-tooltip />
<el-table-column prop="allowOut" label="允许出库" min-width="120px" show-overflow-tooltip />
<el-table-column prop="isLock" label="锁定" :formatter="isLockFormat" min-width="120px"
<el-table-column prop="locationId" label="库位号" fixed="left" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="standStatus" label="状态" :formatter="standStatusFormat" show-overflow-tooltip
min-width="120px" />
<el-table-column prop="equipmentId" label="设备号" min-width="120px" show-overflow-tooltip />
<el-table-column prop="areaId" label="区域" min-width="120px" />
<el-table-column prop="standType" label="类型" :formatter="standTypeFormat" min-width="120px" />
<el-table-column prop="standIp" label="电脑ip地址" min-width="120px" />
<el-table-column prop="outerId" label="外部编号" min-width="120px" />
<el-table-column prop="lastUseTime" label="上次使用时间" :formatter="timeFormat" min-width="120px"
<el-table-column prop="vehicleId" label="箱号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="pickGoods" label="拣选料号" show-overflow-tooltip min-width="120px" />
<el-table-column prop="pickVehicle" label="拣选箱号" show-overflow-tooltip min-width="120px" />
<el-table-column prop="pickTip" label="提示" show-overflow-tooltip min-width="120px" />
<el-table-column prop="pickVehicleCount" label="站台料箱数量" min-width="120px" />
<el-table-column fixed="right" label="操作" width="120px">
<el-table-column prop="isLock" label="锁定状态" min-width="120px" :formatter="isLockFormat"
sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="isOccupy" label="占用状态" :formatter="isOccupyFormat"
min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="equipmentId" label="设备号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="tunnelId" label="巷道号" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="lRow" label="排" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="lCol" label="列"
min-width="120px" sortable="custom" show-overflow-tooltip/>
<el-table-column prop="lLayer" label="层" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<el-table-column prop="lDepth" label="深度" min-width="120px"
sortable="custom" show-overflow-tooltip/>
<el-table-column prop="subArea" label="子区域" min-width="120px" sortable="custom"
show-overflow-tooltip/>
<!-- <el-table-column fixed="right" label="操作" width="170px">
<template v-slot="scope">
<el-button plain type="primary" @click="editCurrentRow(scope.row)">编辑</el-button>
<div style="display: inline-block; align-content: center;">
<el-button type="primary"
@click="editCurrentRowFormEntity(scope.row)">编辑</el-button>
</div>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<br/>
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize" :page-sizes="[10, 25, 50]"
:small="false" :disabled="false" :background="false" :default-page-size="10"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="search"
@current-change="search" />
<el-dialog v-model="dialogVisible" title="编辑站台信息" width="40%" draggable :show-close="false">
<div
style="max-width: 100%; max-height: 500px; overflow: auto; display: flex; justify-content: center;">
<el-form ref="standFormRef" :model="standFormEntity" :label-position="labelPosition"
label-width="100px" style="width: 95%;" :rules="rules" status-icon>
<el-pagination v-model:current-page="baseTableQuery.currentPage"
v-model:page-size="baseTableQuery.pageSize" :page-sizes="[10, 25, 50]" :small="false"
:disabled="false" :background="false" :default-page-size="10" @size-change="search"
@current-change="search" layout="total, sizes, prev, pager, next, jumper"
:total="baseTableQuery.total"/>
</div>
<el-dialog v-model="rowEditFlag" title="工作信息" width="40%" draggable :show-close="false">
<el-form ref="rowEditFormRef" :model="rowFormEntity" :label-position="labelPosition"
label-width="100px" style="max-width: 100%" status-icon>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="站台号" prop="standId">
<el-input v-model="standFormEntity.standId" disabled />
<el-form-item label="工作编号">
<el-input v-model="rowFormEntity.workIndex" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="isLock">
<el-select-v2 v-model="standFormEntity.standType" placeholder="请选择类型"
:options="standTypeOptions" disabled></el-select-v2>
<el-form-item label="工单号">
<el-input v-model="rowFormEntity.workOrder" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="锁定" prop="isLock">
<el-select-v2 v-model="standFormEntity.isLock" placeholder="请选择是否锁定"
:options="isLockOptions"></el-select-v2>
<el-form-item label="总成号">
<el-input v-model="rowFormEntity.productId" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="standStatus">
<el-select-v2 v-model="standFormEntity.standStatus" placeholder="请选择站台状态"
:options="standStatusOptions"></el-select-v2>
<el-form-item label="成品号">
<el-input v-model="rowFormEntity.singleProductId" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="上次使用时间" prop="lastUseTime">
<el-input v-model="standFormEntity.lastUseTime" />
<el-form-item label="料盒号">
<el-input v-model="rowFormEntity.boxNo" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站台料箱数量" prop="pickVehicleCount">
<el-input-number v-model.number="standFormEntity.pickVehicleCount"
controls-position="right" clearable />
<el-form-item label="料号">
<el-input v-model="rowFormEntity.goodsId" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="需求数量">
<el-input-number v-model.number="rowFormEntity.needNum" controls-position="right"
:min="0" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已完成数量">
<el-input-number v-model.number="rowFormEntity.finishNum" controls-position="right"
:min="0" :max="rowFormEntity.needNum" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="已分配数量">
<el-input-number v-model.number="rowFormEntity.distributeNum"
controls-position="right" :min="0" :max="rowFormEntity.needNum" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="工作状态">
<el-select-v2 v-model="rowFormEntity.workStatus" placeholder="请选择工作状态"
:options="workStatusOptions"></el-select-v2>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="缺料状态">
<el-select-v2 v-model="rowFormEntity.lackStatus" placeholder="请选择缺料状态"
:options="lackStatusOptions"></el-select-v2>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitInfo(standFormEntity)">
<el-button type="primary" @click="rowEditFlag = false">取消</el-button>
<el-button type="success" @click="submitUpdateRow(rowFormEntity)">
确定
</el-button>
</span>
</template>
</el-dialog>
</el-config-provider>
</div>
</el-container>
</el-config-provider>
</template>
<script setup>
import store from '@/store'
import { getStandsByPage, updateStandInfo } from '@/api/stand.js'
import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script>
<script>
export default {
name: 'standSettings',
data() {
return {
standList: [],
import {timeFormatter} from '@/utils/formatter.js'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
import {ElMessage} from 'element-plus'
import {genTableRequest, addAllOptionOfOptions} from '@/utils/generator.js'
import {labelPosition} from '@/constant/form.js'
import {loading} from '@/utils/loading'
import {queryLocationsByPage} from "@/api/location";
import {lockOptions, occupyOptions} from "@/constant/options";
/**
* 常量定义
*/
const STAND_ID = store.getters.getStandId
const USER_NAME = store.getters.getUserName
/**
* 变量定义
*/
let maxHeight = ref(window.innerHeight * 0.55)
let tableLoading = ref(false)
let tableData = ref([])
let baseTableQuery = reactive({
currentPage: 1,
pageSize: 10,
total: 0,
standIdQuery: '',
standTypeQuery: -99,
loading: true,
dialogVisible: false,
standId: '',
standFormEntity: reactive({}),
standFormRef: ref(),
labelPosition: 'top',
rules: reactive({}),
standTypeOptions: [
{
value: -99,
label: '全部'
},
{
value: 1,
label: '入库站台'
},
{
value: 2,
label: '备料站台'
},
{
value: 3,
label: '堆垛机'
sortBy: new Map([['lDepth', true], ['lLayer', true], ['lCol', true], ['lRow', true]]),//
standId: STAND_ID,
userName: USER_NAME
})
let searchQueryFormEntity = reactive({
locationId: '',
vehicleId: '',
isLock: -99,
isOccupy: -99
})
let searchQueryFormRef = ref()
let rowEditFlag = ref(false)
let locationId = ''
let rowEditFormRef = ref()
let rowFormEntity = reactive({})
/**
* 系统方法
*/
onMounted(() => {
nextTick(() => {
window.addEventListener('resize', resizeHeight)
search()
})
})
onBeforeUnmount(() => {
nextTick(() => {
window.removeEventListener('resize', resizeHeight)
})
})
const resizeHeight = () => {
maxHeight.value = window.innerHeight * 0.55
}
],
isLockOptions: [
{
value: 0,
label: '未锁定'
},
{
value: 1,
label: '已锁定'
},
],
standStatusOptions: [
{
value: 0,
label: '可用'
},
{
value: 1,
label: '不可用'
},
],
}
},
mounted() {
this.search()
},
methods: {
search() {
this.loading = true
const request = {
pageNo: this.currentPage,
pageSize: this.pageSize,
standId: this.standIdQuery.trim(),
standType: this.standTypeQuery == -99 ? null : this.standTypeQuery,
userName: store.getters.getUserName
}
getStandsByPage(request).then(res => {
const tableResponse = res.data
if (tableResponse.code == 0) {
this.standList = tableResponse.returnData.lists
this.total = tableResponse.returnData.total
/**
* 自定义方法
*/
//
const search = () => {
tableLoading.value = true
let request = genTableRequest(baseTableQuery)
//
request.locationId = searchQueryFormEntity.locationId.trim()
request.vehicleId = searchQueryFormEntity.vehicleId.trim()
request.isLock = searchQueryFormEntity.isLock === -99 ? null : searchQueryFormEntity.isLock
request.isOccupy = searchQueryFormEntity.isOccupy === -99 ? null : searchQueryFormEntity.isOccupy
queryLocationsByPage(request).then((res) => {
const response = res.data
if (response.code === 0) {
const data = response.data
if (data != null) {
tableData.value = data.lists
baseTableQuery.total = data.total
} else {
errorBox(tableResponse.message)
tableData.value = []
baseTableQuery.total = 0
}
} else {
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
errorBox('查询站台信息错误')
ElMessage.error('查询数据异常。')
}).finally(() => {
tableLoading.value = false
})
this.loading = false
},
dateFormat: (row, column, cellValue, index) => {
return dateFormatter(cellValue)
},
timeFormat: (row, column, cellValue, index) => {
}
const clearQuery = () => {
searchQueryFormEntity.locationId = ''
searchQueryFormEntity.vehicleId = ''
}
const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
search()
}
const getCurrentRow = (row) => {
locationId = row.locationId
}
const timeFormat = (row, column, cellValue, index) => {
return timeFormatter(cellValue)
},
standTypeFormat: (row, column, cellValue, index) => {
switch (cellValue) {
case 1:
return '入库站台'
case 2:
return '备料站台'
case 3:
return '堆垛机'
default:
return '未知'
}
},
isLockFormat: (row, column, cellValue, index) => {
switch (cellValue) {
case 0:
return '未锁定'
case 1:
return '已锁定'
default:
return '未知'
const isLockFormat = (row, column, cellValue, index) => {
return cellValue === 1 ? '已锁定' : '未锁定'
}
},
standStatusFormat: (row, column, cellValue, index) => {
switch (cellValue) {
case 0:
return '可用'
case 1:
return '不可用'
default:
return '未知'
const isOccupyFormat = (row, column, cellValue, index) => {
return cellValue === 1 ? '占用' : '空闲'
}
},
reset() {
this.standIdQuery = ''
this.standTypeQuery = -99
this.search()
},
editCurrentRow(row) {
this.standId = row.standId
this.standFormEntity = {
standId: row.standId,
standType: row.standType,
isLock: row.isLock,
standStatus: row.standStatus,
lastUseTime: row.lastUseTime,
pickVehicleCount: row.pickVehicleCount,
//
const editCurrentRowFormEntity = (row) => {
// form
rowFormEntity.workIndex = row.workIndex
rowFormEntity.workOrder = row.workOrder
rowFormEntity.productId = row.productId
rowFormEntity.singleProductId = row.singleProductId
rowFormEntity.boxNo = row.boxNo
rowFormEntity.goodsId = row.goodsId
rowFormEntity.needNum = row.needNum
rowFormEntity.distributeNum = row.distributeNum
rowFormEntity.finishNum = row.finishNum
rowFormEntity.workStatus = row.workStatus
rowFormEntity.lackStatus = row.lackStatus
//
rowEditFlag.value = true
}
this.dialogVisible = true
},
submitInfo(formData) {
const params = {
standId: formData.standId,
standType: formData.standType,
isLock: formData.isLock,
standStatus: formData.standStatus,
lastUseTime: formData.lastUseTime,
pickVehicleCount: formData.pickVehicleCount,
userName: store.getters.getUserName
//
const closeLackWork = (row) => {
const request = {
workIndex: row.workIndex,
standId: STAND_ID,
userName: USER_NAME
}
updateStandInfo(params).then(res => {
if (res.data.code == 0) {
this.dialogVisible = false
ElMessage.success('更新站台信息成功。')
this.search()
loading.open('关闭中...')
closeCurrentWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
ElMessage.success(response.message)
search()
} else {
errorBox(res.data.message)
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
errorBox('更新站台信息失败。')
ElMessage.error('请求异常。')
}).finally(() => {
loading.close()
})
}
//
const submitUpdateRow = (rowFormEntity) => {
const request = {
workIndex: rowFormEntity.workIndex,
distributeNum: rowFormEntity.distributeNum,
finishNum: rowFormEntity.finishNum,
workStatus: rowFormEntity.workStatus,
lackStatus: rowFormEntity.lackStatus,
standId: STAND_ID,
userName: USER_NAME
}
loading.open('更新中...')
updateKateWorks(request).then(res => {
if (res.data.code == 0) {
ElMessage.success('更新数据成功。')
rowEditFlag.value = false
search()
} else {
ElMessage.error('更新数据失败。')
}
}).catch(err => {
console.log(err)
ElMessage.error('更新数据异常。')
}).finally(() => {
loading.close()
})
},
getCurrentRow(row) {
this.standId = row.standId
},
},
}
</script>
<style scoped>
.el-pagination {
padding-left: 5px;
}
.el-row .el-button {
width: 72px;
margin-left: 0px;
margin-right: 5px;
}
.table-class {
.content {
display: flex;
width: 100%;
}
.el-row .el-form-item {
width: 10% inherit;
justify-content: center;
.work-area {
width: 100%;
/* padding: 5px; */
}
.el-row .el-form-item .el-select-v2 {
width: 100% !important;
}
.el-row .el-form-item .el-input-number {
width: 100% !important;
}
.el-row .el-form-item .el-button {
.search-area {
margin: auto;
}
.title-area {
display: flex;
/* min-height: 10%; */
max-height: max-content;
min-height: fit-content;
max-height: 40%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
flex-direction: column;
padding: 10px;
}
.table-area {
margin: auto;
min-height: fit-content;
max-height: 60%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
padding: 10px;
}
.el-form-item {
margin: 5px 5px 5px 5px;
}
.el-form-item .el-input {
width: 196px;
}
.el-form-item .el-input-number {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;
}
.el-pagination {
padding-left: 5px;
}
.my-autocomplete li {
width: 196px;
line-height: normal;
padding: 7px;
}
.my-autocomplete li .name {
text-overflow: ellipsis;
overflow: hidden;
}
.my-autocomplete li .addr {
font-size: 12px;
color: #b4b4b4;
}
.my-autocomplete li .highlighted .addr {
color: #ddd;
}
.my-autocomplete li .goods_id {
color: brown;
}
.my-autocomplete li .goods_name {
color: cornflowerblue;
}
.btn-search {
height: 30px;
width: 80px;
margin: auto 5px 5px auto;
color: black;
}
</style>

View File

@ -4,7 +4,7 @@
<div class="work-area">
<fieldset class="search-area">
<el-form ref="stockQueryFormRef" :model="stockQuery" :label-position="labelPosition"
label-width="158px" style="max-width: 100%" status-icon>
label-width="auto" style="max-width: 100%" status-icon>
<div style="display: flex;justify-content: space-between;">
<el-row>
<el-form-item label="箱号">
@ -226,8 +226,7 @@
<script setup>
import store from '@/store'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { queryStocksByPage, updateStockInfo } from '@/api/stock.js'
import { getGoodsInfoByGoodsId } from '@/api/goods.js'
import { queryStocksByPage } from '@/api/stock.js'
import { exportStockExcel } from '@/api/excel.js'
import { dateFormatter, locationFormatter, timeFormatter, yesOrNoFormatter } from '@/utils/formatter.js'
import { ref, reactive, onMounted, nextTick, onBeforeUnmount } from 'vue'
@ -297,8 +296,8 @@ const search = () => {
request.locationId = stockQuery.locationId.trim()
request.stockStatus = stockQuery.stockStatus == -99 ? null : stockQuery.stockStatus
request.goodsStatus = stockQuery.goodsStatus == -99 ? null : stockQuery.goodsStatus
request.fromDate = stockQuery.fromDate
request.toDate = stockQuery.toDate
request.fromDate = stockQuery.fromDate == null ? null : dateFormatter(stockQuery.fromDate)
request.toDate = stockQuery.toDate == null ? null : dateFormatter(stockQuery.toDate)
queryStocksByPage(request).then((res) => {
const response = res.data
if (response.code == 0) {

View File

@ -10,7 +10,7 @@
<el-form-item label="料号">
<el-input v-model="searchQueryFormEntity.goodsId" clearable/>
</el-form-item>
<el-form-item label="载具号">
<el-form-item label="号">
<el-input v-model="searchQueryFormEntity.vehicleId" clearable/>
</el-form-item>
<el-form-item label="创建时间from">

View File

@ -112,7 +112,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="任务类型">
<el-select-v2 v-model="rowEditFormEntity.taskType" placeholder="请选择任务类型"
<el-select-v2 style="width: 196px" v-model="rowEditFormEntity.taskType" placeholder="请选择任务类型"
:options="taskTypeOptions" disabled></el-select-v2>
</el-form-item>
</el-col>
@ -120,7 +120,7 @@
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="任务状态">
<el-select-v2 v-model="rowEditFormEntity.taskStatus" placeholder="请选择任务状态"
<el-select-v2 style="width: 196px" v-model="rowEditFormEntity.taskStatus" placeholder="请选择任务状态"
:options="wmsTaskStatusOptions"></el-select-v2>
</el-form-item>
</el-col>

View File

@ -1,462 +1,8 @@
<template>
<el-config-provider :locale="zhCn">
<el-container class="content">
<div class="work-area">
<fieldset class="main-area">
<el-form ref="workFormRef" :model="workFormEntity" :label-position="labelPosition"
label-width="158px" style="max-width: 100%" :rules="rules" status-icon>
<div style="display: flex; justify-content: space-between;">
<el-row>
<el-form-item label="计划开工日期" prop="planStartDate">
<el-date-picker v-model="workFormEntity.planStartDate" type="date"
placeholder="选择开工日期" :shortcuts="shortcuts" style="width: 196px;" clearable />
</el-form-item>
<el-form-item label="工单号" prop="workOrder">
<el-select v-model="workFormEntity.workOrder" filterable default-first-option
placeholder="请选择工单号" style="width: 196px" :loading="optionLoading" remote
:remote-method="(query) => {
workFormQuery.workOrder = query
initWorkOptions()
}" remote-show-suffix reserve-keyword clearable>
<el-option v-for="item in workOptions.workOrder" :key="item" :label="item"
:value="item" />
</el-select>
</el-form-item>
<el-form-item label="成品号" prop="productId">
<el-select v-model="workFormEntity.productId" filterable default-first-option
placeholder="请选择成品号" style="width: 196px" :loading="optionLoading" remote
:remote-method="(query) => {
workFormQuery.productId = query
initWorkOptions()
}" remote-show-suffix reserve-keyword clearable>
<el-option v-for="item in workOptions.productId" :key="item" :label="item"
:value="item" />
</el-select>
</el-form-item>
<el-form-item label="单片号" prop="singleProductId">
<el-select v-model="workFormEntity.singleProductId" filterable default-first-option
placeholder="请选择单片号" style="width: 196px" :loading="optionLoading" remote
:remote-method="(query) => {
workFormQuery.singleProductId = query
initWorkOptions()
}" remote-show-suffix reserve-keyword clearable>
<el-option v-for="item in workOptions.singleProductId" :key="item" :label="item"
:value="item" />
</el-select>
</el-form-item>
<el-form-item label="料盒号" prop="boxNo">
<el-select v-model="workFormEntity.boxNo" filterable default-first-option
placeholder="请选择料盒号" style="width: 196px" :loading="optionLoading" remote
:remote-method="(query) => {
workFormQuery.boxNo = query
initWorkOptions()
}" remote-show-suffix reserve-keyword clearable>
<el-option v-for="item in workOptions.boxNo" :key="item" :label="item"
:value="item" />
</el-select>
</el-form-item>
<el-form-item label="原材料号" prop="goodsId">
<el-select v-model="workFormEntity.goodsId" filterable default-first-option
placeholder="请选择原材料号" style="width: 196px" :loading="optionLoading" remote
:remote-method="(query) => {
workFormQuery.goodsId = query
initWorkOptions()
}" remote-show-suffix reserve-keyword clearable>
<el-option v-for="item in workOptions.goodsId" :key="item" :label="item"
:value="item" />
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-button type="success"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="confirmStart()">确认配料</el-button>
<el-button type="warning"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="resetWorkFormQuery()">清除选择</el-button>
</el-row>
</div>
</el-form>
</fieldset>
<fieldset class="confirm-area">
<el-form ref="confirmRef" :model="confirmEntity" :label-position="labelPosition" label-width="158px"
style="max-width: 100%" :rules="confirmRules" status-icon>
<div style="display: flex; justify-content: space-between;">
<el-row>
<el-row style="border-bottom: dashed 1px black;">
<el-form-item label="工单号" prop="workOrder">
<el-input v-model="confirmEntity.workOrder" disabled />
</el-form-item>
<el-form-item label="成品号" prop="productId">
<el-input v-model="confirmEntity.productId" disabled />
</el-form-item>
<el-form-item label="单片号" prop="singleProductId">
<el-input v-model="confirmEntity.singleProductId" disabled />
</el-form-item>
<el-form-item label="物料号" prop="goodsId">
<el-input v-model="confirmEntity.goodsId" disabled />
</el-form-item>
<el-form-item label="料盒号" prop="boxNo">
<el-input v-model="confirmEntity.boxNo" disabled />
</el-form-item>
<el-form-item label="计划拣选数量" prop="planPickQty">
<el-input v-model="confirmEntity.planPickQty" disabled />
</el-form-item>
<el-form-item label="实际拣选数量" prop="realPickQty">
<el-input-number v-model.number="confirmEntity.realPickQty"
controls-position="right" :min="0" clearable />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="箱号" prop="vehicleId">
<el-input v-model="confirmEntity.vehicleId" disabled />
</el-form-item>
<el-form-item label="物料号" prop="goodsId">
<el-input v-model="confirmEntity.goodsId" disabled />
</el-form-item>
<el-form-item label="是否库外料" prop="isOut">
<el-input v-model="confirmEntity.isOut" :formatter="formatter => {
return confirmEntity.isOut === 1 ? '是' : '否'
}" disabled />
</el-form-item>
<el-form-item label="存放区域" prop="putArea">
<el-input v-model="confirmEntity.putArea" disabled />
</el-form-item>
<el-form-item label="计划剩余数量" prop="planRemainQty">
<el-input v-model="confirmEntity.planRemainQty" disabled />
</el-form-item>
<el-form-item label="实际剩余数量" prop="realRemainQty">
<el-input-number v-model.number="confirmEntity.realRemainQty"
controls-position="right" :min="0" clearable />
</el-form-item>
</el-row>
</el-row>
<el-row>
<el-button type="primary"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="showBoxSummary()">显示料盒</el-button>
<el-button type="success"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="confirmOrRelease()">确认/放行</el-button>
<el-button type="warning"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="resetWorkFormQuery()">打印标签</el-button>
</el-row>
</div>
</el-form>
</fieldset>
<el-dialog v-model="boxShowFlag" title="料盒总览" width="50%" center>
<el-table :data="boxSummary" stripe border class="table-class" max-height="450px"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }">
<el-table-column prop="workOrder" label="工单号" fixed="left" />
<el-table-column prop="productId" label="成品号" />
<el-table-column prop="singleProductId" label="单片号" />
<el-table-column prop="boxNo" label="料盒号" />
<el-table-column prop="boxQty" label="料盒数量" />
</el-table>
</el-dialog>
</div>
</el-container>
</el-config-provider>
</template>
<script setup>
import store from '@/store'
import { queryKateWorks, initWorks, getCurrentWorks, confirmCurrentWork } from '@/api/kateWork.js'
import { errorBox, warningBox } from '@/utils/myMessageBox.js'
import { ElMessage, formatter } from 'element-plus'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { reactive, ref } from 'vue'
import loading from '@/utils/loading'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script>
<script>
export default {
name: 'test',
data() {
return {
standId: store.getters.getStandId,
userName: store.getters.getUserName,
timer: '',
labelPosition: 'top',
workFormRef: ref(),
workFormEntity: reactive({
workOrder: '',
productId: '',
singleProductId: '',
boxNo: '',
goodsId: '',
planStartDate: null
}),
workFormQuery: reactive({
workOrder: '',
productId: '',
singleProductId: '',
boxNo: '',
goodsId: '',
}),
rules: reactive({
workOrder: [
{ required: true, message: '请选择工单号。' }
]
}),
shortcuts: [
{
text: '今天',
value: new Date(),
},
{
text: '昨天',
value: () => {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24)
return date
},
},
],
optionLoading: false,
workOptions: {
workOrder: [],
productId: [],
singleProductId: [],
boxNo: [],
goodsId: []
},
confirmRef: ref(),
confirmEntity: reactive({}),
confirmRules: reactive({}),
boxShowFlag: false,
boxSummary: [],
pauseGetWorkFlag: true,
}
},
mounted() {
this.initWorkOptions()
this.timer = setInterval(() => {
this.getWork()
}, 1000)
},
beforeUnmount() {
clearInterval(this.timer)
},
methods: {
// options
initWorkOptions() {
const request = {
workOrder: this.workFormQuery.workOrder != '' ? this.workFormQuery.workOrder : this.workFormEntity.workOrder,
productId: this.workFormQuery.productId != '' ? this.workFormQuery.productId : this.workFormEntity.productId,
singleProductId: this.workFormQuery.singleProductId != '' ? this.workFormQuery.singleProductId : this.workFormEntity.singleProductId,
boxNo: this.workFormQuery.boxNo != '' ? this.workFormQuery.boxNo : this.workFormEntity.boxNo,
goodsId: this.workFormQuery.goodsId != '' ? this.workFormQuery.goodsId : this.workFormEntity.goodsId,
planStartDate: dateFormatter(this.workFormEntity.planStartDate)
}
this.optionLoading = true
queryKateWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
this.workOptions = response.data
} else {
this.workOptions = {
workOrder: [],
productId: [],
singleProductId: [],
boxNo: [],
goodsId: []
}
}
}).catch(err => {
console.log(err)
errorBox('查询选项错误。')
}).finally(() => {
this.optionLoading = false
})
},
//
resetWorkFormQuery() {
const planStartDate = this.workFormEntity.planStartDate
this.workFormEntity = reactive({
workOrder: '',
productId: '',
singleProductId: '',
boxNo: '',
goodsId: '',
planStartDate: planStartDate
})
},
//
confirmStart() {
const request = {
workOrder: this.workFormEntity.workOrder,
productId: this.workFormEntity.productId,
singleProductId: this.workFormEntity.singleProductId,
boxNo: this.workFormEntity.boxNo,
goodsId: this.workFormEntity.goodsId,
planStartDate: dateFormatter(this.workFormEntity.planStartDate),
standId: 'P1',
userName: this.userName
}
loading.open()
initWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
ElMessage.success(response.message)
} else {
errorBox(response.message)
}
}).catch(err => {
console.log(err)
errorBox('请求错误。')
}).finally(() => {
loading.close()
})
},
//
showBoxSummary() {
this.boxShowFlag = true
},
getWork() {
if (this.pauseGetWorkFlag) {
return
}
const request = {
standId: this.standId,
userName: this.userName
}
getCurrentWorks(request).then(res => {
const response = res.data
if (response.code == 0) {
// form
this.confirmEntity = {
workOrder: response.data.orderConfirmVo.workOrder,
productId: response.data.orderConfirmVo.productId,
singleProductId: response.data.orderConfirmVo.singleProductId,
boxNo: response.data.orderConfirmVo.boxNo,
goodsId: response.data.orderConfirmVo.goodsId,
planPickQty: response.data.orderConfirmVo.planPickQty,
realPickQty: response.data.orderConfirmVo.realPickQty,
stockId: response.data.stockConfirmVo.stockId,
vehicleId: response.data.stockConfirmVo.vehicleId,
goodsId: response.data.stockConfirmVo.goodsId,
planRemainQty: response.data.stockConfirmVo.planRemainQty,
realRemainQty: response.data.stockConfirmVo.realRemainQty,
isOut: response.data.stockConfirmVo.isOut,
putArea: response.data.stockConfirmVo.putArea,
}
this.pauseGetWorkFlag = true
} else if (response.code == 400) {
//
this.pauseGetWorkFlag = true
warningBox(response.message)
}
}).catch(err => {
console.log(err)
this.pauseGetWorkFlag = true
errorBox('请求错误,请检查完原因后刷新界面。')
})
},
confirmOrRelease() {
const request = {
orderConfirm: {
workOrder: this.confirmEntity.workOrder,
productId: this.confirmEntity.productId,
singleProductId: this.confirmEntity.singleProductId,
boxNo: this.confirmEntity.boxNo,
goodsId: this.confirmEntity.goodsId,
planPickQty: this.confirmEntity.planPickQty,
realPickQty: this.confirmEntity.realPickQty,
},
stockConfirm: {
stockId: this.confirmEntity.stockId,
vehicleId: this.confirmEntity.vehicleId,
goodsId: this.confirmEntity.goodsId,
planRemainQty: this.confirmEntity.planRemainQty,
realRemainQty: this.confirmEntity.realRemainQty,
isOut: this.confirmEntity.isOut,
putArea: this.confirmEntity.putArea,
},
standId: this.standId,
userName: this.userName
}
confirmCurrentWork(request).then(res => {
const response = res.data
if (response.code == 0) {
// form
this.confirmEntity = reactive({})
this.pauseGetWorkFlag = false
ElMessage.success(response.message)
} else {
//
errorBox(response.message)
}
}).catch(err => {
console.log(err)
errorBox('请求错误,请检查完原因后刷新界面。')
})
}
}
}
</script>
<style scoped>
.content {
display: flex;
width: 100%;
}
.work-area {
width: 100%;
/* padding: 5px; */
}
.main-area {
margin: auto;
min-height: fit-content;
max-height: 90%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
padding: 10px;
}
.confirm-area {
margin: auto;
min-height: fit-content;
max-height: 90%;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
padding: 10px;
}
.title-area {
display: flex;
/* min-height: 10%; */
max-height: max-content;
margin-bottom: 10px;
min-width: inherit;
border: solid 1px;
border-radius: 10px;
box-shadow: 0px 15px 10px -15px #000;
overflow: auto;
}
.el-form-item {
margin: 10px 5px 10px 5px;
}
.el-form-item .el-input {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;
}
</style>

View File

@ -1,261 +0,0 @@
<template>
<div style="margin-bottom: 10px">
<el-config-provider :locale="zhCn">
<el-row>
<el-input v-model="configNameQuery" style="width: 256px; margin-right: 10px;" placeholder="配置名称"
:suffix-icon="Search" />
<el-button type="primary" @click="search()">搜索</el-button>
<el-button type="warning" @click="reset()">重置</el-button>
</el-row>
<br />
<el-table :data="configList" stripe border v-loading="loading" class="table-class" max-height="550px"
highlight-current-row @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }"
:cell-style="{ 'text-align': 'center' }">
<el-table-column width="65px" fixed="left">
<template v-slot="scope">
<el-radio :label="scope.row.configId" v-model="configId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column prop="configId" label="配置id" fixed="left" min-width="80px" show-overflow-tooltip />
<el-table-column prop="configName" label="配置名称" fixed="left" min-width="120px" show-overflow-tooltip />
<el-table-column prop="configKey" label="配置键" show-overflow-tooltip min-width="120px" />
<el-table-column prop="configValue" label="配置值" show-overflow-tooltip min-width="140px" />
<el-table-column prop="configType" label="配置类型" :formatter="configTypeFormat" min-width="100px"
show-overflow-tooltip />
<el-table-column fixed="right" label="操作" width="120px">
<template v-slot="scope">
<el-button plain type="primary" @click="editCurrentRow(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
<br />
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize" :page-sizes="[10, 25, 50]"
:small="false" :disabled="false" :background="false" :default-page-size="10" @size-change="search"
@current-change="search" layout="total, sizes, prev, pager, next, jumper" :total="total" />
<el-dialog v-model="dialogVisible" title="库存信息" width="40%" draggable :show-close="false">
<el-form ref="configFormRef" :model="configFormEntity" :label-position="labelPosition"
label-width="100px" style="max-width: 100%" :rules="rules" status-icon>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="配置名称" prop="configName">
<el-input v-model="configFormEntity.configName" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="配置类型" prop="configType">
<el-select-v2 v-model="configFormEntity.configType" placeholder="请选择配置类型"
:options="configTypeOptions" disabled></el-select-v2>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="配置键" prop="configKey">
<el-input v-model="configFormEntity.configKey" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="配置值" prop="configValue">
<el-input v-if="configFormEntity.configType == '1'" type="textarea" :rows="1"
v-model="configFormEntity.configValue" placeholder="" :maxlength="-1"
:show-word-limit="false" :autosize="{ minRows: 1, maxRows: 4 }">
</el-input>
<el-select v-if="configFormEntity.configType == '2'"
v-model="configFormEntity.configValue" multiple collapse-tags collapse-tags-tooltip
:placeholder="'请选择' + configFormEntity.configName">
<el-option v-for="(value, index) in mails" :key="index" :label="value"
:value="value" />
</el-select>
<el-switch v-if="configFormEntity.configType == '3'" style="margin-left: 5px;"
v-model="configFormEntity.configValue" active-value="1" inactive-value="0" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitChange()">
确定
</el-button>
</span>
</template>
</el-dialog>
</el-config-provider>
</div>
</template>
<script setup>
import { getConfigsByPage, updateConfig } from '@/api/config.js'
import { configTypeFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { Search } from '@element-plus/icons-vue'
import { ref, reactive } from 'vue'
import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox.js'
import store from '@/store'
</script>
<script>
export default {
name: 'wmsConfig',
data() {
return {
pageInfo: {},
configList: [],
currentPage: 1,
pageSize: 10,
total: 0,
configNameQuery: '',
loading: false,
configId: '',
configFormRef: ref(),
configFormEntity: reactive({}),
rules: reactive({
configId: [
{ required: true, message: '请输入配置id' }
],
configName: [
{ required: true, message: '请输入配置名称' }
],
configKey: [
{ required: true, message: '请输入配置键' }
],
configValue: [
{ required: true, message: '请输入配置值' }
],
configType: [
{ required: true, message: '请输入配置类型' }
]
}),
labelPosition: 'top',
dialogVisible: false,
configTypeOptions: [
{
value: '1',
label: '输入框'
},
{
value: '2',
label: '下拉多选'
},
{
value: '3',
label: '开关'
}
],
mails: []
}
},
mounted() {
this.search()
},
methods: {
configTypeFormat: (row, column, cellValue, index) => {
return configTypeFormatter(cellValue)
},
search() {
this.loading = true
const request = {
pageNo: this.currentPage,
pageSize: this.pageSize,
configName: this.configNameQuery.trim(),
userName: store.getters.getUserName
}
getConfigsByPage(request).then(res => {
const tableResponse = res.data
if (tableResponse.code == 0) {
this.configList = tableResponse.returnData.lists
this.configList.forEach((config) => {
if (config.configType == '2') {
const tempArray = config.configValue.split(';')
config.configValue = tempArray
}
if (config.configKey == 'MAIL_ADDRESS') {
const tempArray = config.configValue.split(';')
this.mails = tempArray
}
})
this.total = tableResponse.returnData.total
} else {
errorBox(tableResponse.message)
}
}).catch(err => {
console.log(err)
errorBox('查询配置错误')
})
this.loading = false
},
reset() {
this.configNameQuery = ''
this.search()
},
getCurrentRow(row) {
this.configId = row.configId
},
editCurrentRow(row) {
this.configFormEntity = reactive({
configId: row.configId,
configName: row.configName,
configKey: row.configKey,
configValue: row.configValue,
configType: row.configType
})
this.dialogVisible = true
},
submitChange() {
const request = {
configId: this.configFormEntity.configId,
configName: this.configFormEntity.configName,
configKey: this.configFormEntity.configKey,
configValue: this.configFormEntity.configValue,
configType: this.configFormEntity.configType,
userName: store.getters.getUserName
}
updateConfig(request).then(res => {
if (res.data.code == 0) {
this.dialogVisible = false
ElMessage.success('更新系统配置成功')
this.search()
} else {
errorBox(res.data.message)
}
}).catch(err => {
console.log(err)
errorBox('更新系统配置失败')
})
}
},
}
</script>
<style scoped>
.el-pagination {
padding-left: 5px;
}
.el-row .el-button {
width: 72px;
margin-left: 0px;
margin-right: 5px;
}
.table-class {
width: 100%;
}
.el-row .el-form-item .el-select-v2 {
width: 100% !important;
}
.el-row .el-form-item .el-input-number {
width: 100% !important;
}
.el-row .el-form-item .el-select {
width: 100% !important;
}
.el-row .el-form-item .el-input {
width: 100% !important;
}
</style>

View File

@ -34,13 +34,13 @@
</template>
</el-table-column>
<el-table-column prop="configId" label="配置id" fixed="left" min-width="80px"
show-overflow-tooltip/>
show-overflow-tooltip sortable="custom" />
<el-table-column prop="configName" label="配置名称" fixed="left" min-width="120px"
show-overflow-tooltip/>
<el-table-column prop="configKey" label="配置键" show-overflow-tooltip min-width="120px"/>
<el-table-column prop="configValue" label="配置值" show-overflow-tooltip min-width="140px"/>
show-overflow-tooltip sortable="custom" />
<el-table-column prop="configKey" label="配置键" show-overflow-tooltip min-width="120px" sortable="custom" />
<el-table-column prop="configValue" label="配置值" show-overflow-tooltip min-width="140px" sortable="custom" />
<el-table-column prop="configType" label="配置类型" :formatter="configTypeFormat" min-width="100px"
show-overflow-tooltip/>
show-overflow-tooltip sortable="custom" />
<el-table-column fixed="right" label="操作" width="120px">
<template v-slot="scope">
<el-button plain type="primary" @click="editCurrentRow(scope.row)">编辑</el-button>
@ -56,7 +56,7 @@
</div>
<el-dialog v-model="showConfigEditFlag" title="编辑配置信息" width="40%" draggable :show-close="false">
<el-form ref="configEditFormRef" :model="configEditFormEntity" :label-position="labelPosition"
label-width="100px" style="max-width: 100%" :rules="rules" status-icon>
label-width="100px" style="max-width: 100%" :rules="editRules" status-icon>
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="配置名称" prop="configName">
@ -73,30 +73,31 @@
<el-row :gutter="16">
<el-col :span="12" :offset="0">
<el-form-item label="配置键" prop="configKey">
<el-input v-model="configFormEntity.configKey" disabled/>
<el-input v-model="configEditFormEntity.configKey" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="配置值" prop="configValue">
<el-input v-if="configFormEntity.configType == '1'" type="textarea" :rows="1"
v-model="configFormEntity.configValue" placeholder="" :maxlength="-1"
<el-input v-if="configEditFormEntity.configType === 1" type="textarea" :rows="1"
v-model="configEditFormEntity.configValue" placeholder="" :maxlength="-1"
:show-word-limit="false" :autosize="{ minRows: 1, maxRows: 4 }">
</el-input>
<el-select v-if="configFormEntity.configType == '2'"
v-model="configFormEntity.configValue" multiple collapse-tags
collapse-tags-tooltip :placeholder="'请选择' + configFormEntity.configName">
<el-option v-for="(value, index) in mails" :key="index" :label="value"
:value="value"/>
</el-select>
<el-switch v-if="configFormEntity.configType == '3'" style="margin-left: 5px;"
v-model="configFormEntity.configValue" active-value="1" inactive-value="0"/>
<!-- 类型2需要增加subKey-->
<!-- <el-select v-if="configEditFormEntity.configType === 2"-->
<!-- v-model="configEditFormEntity.configValue" multiple collapse-tags-->
<!-- collapse-tags-tooltip :placeholder="'请选择' + configEditFormEntity.configName">-->
<!-- <el-option v-for="(value, index) in mails" :key="index" :label="value"-->
<!-- :value="value"/>-->
<!-- </el-select>-->
<el-switch v-if="configEditFormEntity.configType === 3" style="margin-left: 5px;"
v-model="configEditFormEntity.configValue" active-value="1" inactive-value="0"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button @click="showConfigEditFlag = false">取消</el-button>
<el-button type="primary" @click="submitChange()">
确定
</el-button>
@ -109,20 +110,19 @@
</template>
<script setup>
import store from '@/store'
import {queryDbsByPage} from '@/api/kateWork.js'
import {dateFormatter, timeFormatter, configTypeFormatter} from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import store from '@/store'
import {configTypeFormatter} from '@/utils/formatter.js'
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
import {ElMessage} from 'element-plus'
import {genTableRequest, addAllOptionOfOptions} from '@/utils/generator.js'
import {labelPosition, shortcuts} from '@/constant/form'
import {dbsStatusOptions} from '@/constant/options'
import {exportDbsWithExcel} from '@/api/excel'
import {genTableRequest} from '@/utils/generator.js'
import {labelPosition} from '@/constant/form'
import {queryConfigsByPage, updateConfig} from "@/api/config";
/**
* 常量定义
*/
const USER_NAME = store.getters.getUserName
const STAND_ID = store.getters.getStandId
const configTypeOptions = [
{
value: '1',
@ -137,6 +137,23 @@ const configTypeOptions = [
label: '开关'
}
]
const editRules = {
configId: [
{required: true, message: '请输入配置id'}
],
configName: [
{required: true, message: '请输入配置名称'}
],
configKey: [
{required: true, message: '请输入配置键'}
],
configValue: [
{required: true, message: '请输入配置值'}
],
configType: [
{required: true, message: '请输入配置类型'}
]
}
/**
* 变量定义
*/
@ -159,7 +176,14 @@ let configQueryFormRef = ref()
let showConfigEditFlag = ref(false)
let configId = ''
let configEditFormRef = ref()
let configEditFormEntity = reactive({})
let configEditFormEntity = reactive({
configId: '',
configName: '',
configKey: '',
configValue: '',
configType: null
// subKey: ''
})
/**
* 系统方法
*/
@ -187,15 +211,15 @@ const search = () => {
//
request.configKey = configQueryFormEntity.configKey
request.configName = configQueryFormEntity.configName
queryDbsByPage(request).then((res) => {
queryConfigsByPage(request).then((res) => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const data = response.data
if (data != null) {
displayConfigs.value = data.lists
baseTableQuery.total = data.total
} else {
displayDbs.value = []
displayConfigs.value = []
baseTableQuery.total = 0
}
} else {
@ -203,22 +227,20 @@ const search = () => {
}
}).catch(err => {
console.log(err)
ElMessage.error('查询DBS数据异常。')
ElMessage.error('查询配置数据异常。')
}).finally(() => {
tableLoading.value = false
})
}
const clearQuery = () => {
dbsQueryFormEntity.workOrder = ''
dbsQueryFormEntity.productId = ''
dbsQueryFormEntity.dbsStatus = -99
dbsQueryFormEntity.planStartDate = null
configQueryFormEntity.configKey = ''
configQueryFormEntity.configName = ''
}
const handleSortChange = (data) => {
if (baseTableQuery.sortBy.has(data.prop)) {
baseTableQuery.sortBy.delete(data.prop)
}
baseTableQuery.sortBy.set(data.prop, data.order == 'ascending')
baseTableQuery.sortBy.set(data.prop, data.order.toLowerCase() === 'ascending')
search()
}
const getCurrentRow = (row) => {
@ -227,70 +249,38 @@ const getCurrentRow = (row) => {
const configTypeFormat = (row, column, cellValue, index) => {
return configTypeFormatter(cellValue)
}
const exportExcel = () => {
const params = {
workOrder: dbsQueryFormEntity.workOrder,
productId: dbsQueryFormEntity.productId,
dbsStatus: dbsQueryFormEntity.dbsStatus == -99 ? null : dbsQueryFormEntity.dbsStatus,
planStartDate: dateFormatter(dbsQueryFormEntity.planStartDate)
}
exportDbsWithExcel(params).then(res => {
const link = document.createElement('a');//a
try {
// let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls
let blob = res.data //blob
// let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //
let _fileName = 'DBS计划' + dateFormatter(new Date) + '.xlsx'
link.style.display = 'none'//
// URL
const url = window.URL || window.webkitURL || window.moxURL
link.href = url.createObjectURL(blob)
link.setAttribute('download', _fileName.substring(_fileName.lastIndexOf('_') + 1))
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
url.revokeObjectURL(link.href)//url
} catch (e) {
console.log(e)
ElMessage.error('下载文件失败')
}
}).catch(err => {
console.log(err)
ElMessage.error('导出失败')
})
}
const editCurrentRow = (row) => {
showConfigEditFlag.value = true
configEditFormEntity.configId = row.configId
configEditFormEntity.configName = row.configName
configEditFormEntity.configKey = row.configKey
configEditFormEntity.configValue = row.configValue
configEditFormEntity.configType = row.configType
}
const submitStockInfo = () => {
const submitChange = () => {
const request = {
stockId: this.stockFormEntity.stockId,
locationId: this.stockFormEntity.locationId,
vehicleId: this.stockFormEntity.vehicleId,
stockStatus: this.stockFormEntity.stockStatus,
goodsId: this.stockFormEntity.goodsId,
goodsStatus: this.stockFormEntity.goodsStatus,
remainNum: this.stockFormEntity.remainNum,
userName: store.getters.getUserName
configId: configEditFormEntity.configId,
configName: configEditFormEntity.configName,
configKey: configEditFormEntity.configKey,
configValue: configEditFormEntity.configValue,
configType: configEditFormEntity.configType,
userName: USER_NAME,
standId: STAND_ID
}
updateStockInfo(request).then(res => {
if (res.data.code == 0) {
this.dialogVisible = false
ElMessage.success('更新库存成功')
this.search()
updateConfig(request).then(res => {
const response = res.data
if (response.code === 0) {
showConfigEditFlag.value = false
ElMessage.success('更新系统配置成功')
search()
} else {
errorBox(res.data.message)
ElMessage.error(response.message)
}
}).catch(err => {
console.log(err)
errorBox('更新库存失败')
ElMessage.error('更新系统配置失败')
})
}
const openUploadDialog = () => {
showDbsUploadDialog.value = true
}
</script>
<style scoped>
.content {

View File

@ -24,12 +24,12 @@
<el-input v-model="searchQueryFormEntity.singleProductId" @keyup.enter="search()" clearable/>
</el-form-item>
<el-form-item label="工作状态">
<el-select-v2 v-model="searchQueryFormEntity.workStatus" placeholder="工作状态"
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.workStatus" placeholder="工作状态"
:options="addAllOptionOfOptions(workStatusOptions)"
@change="search()"></el-select-v2>
</el-form-item>
<el-form-item label="缺料状态">
<el-select-v2 v-model="searchQueryFormEntity.lackStatus" placeholder="缺料状态"
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.lackStatus" placeholder="缺料状态"
:options="addAllOptionOfOptions(lackStatusOptions)"
@change="search()"></el-select-v2>
</el-form-item>
@ -297,7 +297,7 @@ const USER_NAME = store.getters.getUserName
/**
* 变量定义
*/
let maxHeight = ref(window.innerHeight * 0.55)
let maxHeight = ref(window.innerHeight * 0.48)
let tableLoading = ref(false)
let tableData = ref([])
let baseTableQuery = reactive({

View File

@ -43,6 +43,18 @@ export default createStore({
getKittingWork(state) {
return state.kittingWork
},
getMenuItemByPath(state) {
return function (path) {
for (const item of state.menuList) {
for (const subItem of item.children) {
if (subItem.path === path) {
return subItem
}
}
}
return undefined
}
}
},
mutations: {
/**
@ -51,7 +63,7 @@ export default createStore({
mutationSelectTags(state, data) {
let result = false
for (let i = 0; i < state.stateTagsList.length; i++) {
if (state.stateTagsList[i].path == data.path) {
if (state.stateTagsList[i].path === data.path) {
return result = true
}
}

View File

@ -0,0 +1,13 @@
import * as XLSX from 'xlsx'
import {timeFormatter} from "@/utils/formatter";
export const exportToExcel = (excelHead, data, sheetName, fileName) => {
const workBook = XLSX.utils.book_new()
const dataWithHead = [excelHead, ...data]
const worksheet = XLSX.utils.json_to_sheet(dataWithHead, {
skipHeader: true
})
XLSX.utils.book_append_sheet(workBook, worksheet, sheetName)
const fileNameWithTime = fileName + timeFormatter(new Date()) + '.xlsx'
XLSX.writeFile(workBook, fileNameWithTime)
}

View File

@ -39,11 +39,11 @@ export const locationFormatter = (locationId) => {
// 配置类型格式化
export const configTypeFormatter = (value) => {
switch (value) {
case '1':
case 1:
return '输入框'
case '2':
case 2:
return '下拉多选'
case '3':
case 3:
return '开关'
default:
return '任务类型异常'

View File

@ -8,9 +8,6 @@
<el-form-item style="width: 100%">
<el-button color="#87CEEB" style="width: 100%; border: none" @click="loginToImage">工作图纸</el-button>
</el-form-item>
<el-form-item style="width: 100%">
<el-button color="#87CEEB" style="width: 100%; border: none" @click="loginToImageTable">所有图纸预览</el-button>
</el-form-item>
<el-form-item style="width: 100%">
<el-button color="#87CEEB" style="width: 100%; border: none" @click="loginToScanImage">产线扫码</el-button>
</el-form-item>
@ -30,7 +27,8 @@
<script setup>
import store from '@/store'
import router from '@/router'
const user = store.getters.getUserNam//
const user = store.getters.getUserName//
const token = store.getters.getToken//
// WMS
const loginToWms = () => {
@ -40,22 +38,16 @@ const loginToWms = () => {
const loginToImage = () => {
router.replace({ path: '/imageDisplay' })
}
//
const loginToImageTable = () => {
router.replace({ path: '/imageTable' })
}
// 线
const loginToScanImage = () => {
router.replace({ path: '/scanForImage' })
}
// WCS
const loginToWcs = () => {
const wcsUrl = `https://cxlasrs.ecorp.cat.com/wcs/#/login?user=user&pwd=user`
window.location.href = wcsUrl//
window.location.href = `https://cxlasrs.ecorp.cat.com/wcs/#/login?user=user&pwd=user`//
}
const loginToMonitor = () => {
const mpnitorUrl = `https://cxlasrs.ecorp.cat.com?user=${user}&token=${token}`
window.location.href = mpnitorUrl//
window.location.href = `https://cxlasrs.ecorp.cat.com?user=${user}&token=${token}`//
}
</script>

View File

@ -41,7 +41,7 @@ const login = () => {
loading.open('登录中...')
loginWithAuth(loginForm).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
store.commit('mutationUser', response.data.user)//
store.commit('mutationMenu', response.data.menuList)//
store.commit('mutationStand', response.data.stand)

View File

@ -1,10 +1,14 @@
package com.wms_main.controller.wms;
import com.wms_main.model.dto.query.ConfigQuery;
import com.wms_main.model.dto.request.wms.ConfigUpdateRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.vo.wms.ConfigVo;
import com.wms_main.model.vo.wms.PageVo;
import com.wms_main.service.controller.IConfigControllerService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* 配置控制类
@ -15,4 +19,26 @@ import org.springframework.web.bind.annotation.RestController;
@RequiredArgsConstructor
@RequestMapping("/wms/config")
public class ConfigController {
private final IConfigControllerService configControllerService;
/**
* 配置查询
* @param configQuery 查询参数
* @return 查询结果
*/
@PostMapping("/queryConfigsByPage")
public WmsApiResponse<PageVo<ConfigVo>> queryConfigsByPage(@RequestBody ConfigQuery configQuery) {
return configControllerService.queryConfigsByPage(configQuery);
}
/**
* 配置更新
* @param configUpdateRequest 更新请求
* @return 更新结果
*/
@PostMapping("/updateConfig")
public BaseWmsApiResponse updateConfig(@RequestBody ConfigUpdateRequest configUpdateRequest) {
return configControllerService.updateConfig(configUpdateRequest);
}
}

View File

@ -1,8 +1,6 @@
package com.wms_main.controller.wms;
import com.wms_main.model.dto.query.GoodsQuery;
import com.wms_main.model.dto.request.wms.UpdateGoodsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.vo.wms.GoodsVo;
import com.wms_main.model.vo.wms.PageVo;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
@ -32,22 +30,12 @@ public class GoodsController {
}
/**
* 更新物料信息
* @param updateGoodsRequest 更新请求
* @return 更新结果
* 根据物料id查询物料信息
* @param goodsId 查询参数
* @return 查询结果
*/
@PostMapping("/updateGoodsInfo")
public BaseWmsApiResponse updateGoodsInfo(@RequestBody UpdateGoodsRequest updateGoodsRequest) {
return goodsControllerService.updateGoodsInfo(updateGoodsRequest);
}
/**
* 关闭物料使用
* @param updateGoodsRequest 关闭请求
* @return 关闭结果
*/
@PostMapping("/closeGoodsInfo")
public BaseWmsApiResponse closeGoodsInfo(@RequestBody UpdateGoodsRequest updateGoodsRequest) {
return goodsControllerService.closeGoodsInfo(updateGoodsRequest);
@GetMapping("/getGoodsInfoByGoodsId")
public WmsApiResponse<GoodsVo> getGoodsInfoByGoodsId(@RequestParam("goodsId") String goodsId) {
return goodsControllerService.getGoodsInfoByGoodsId(goodsId);
}
}

View File

@ -103,6 +103,16 @@ public class KateWorkController {
return kateWorkControllerService.genClcKanbanRequirement(genRequest);
}
/**
* 获取物料需求
* @param goodsRequireRequest 请求参数
* @return 处理结果
*/
@PostMapping("/getGoodsRequirement")
WmsApiResponse<List<GoodsRequireVo>> getGoodsRequirement(@RequestBody GoodsRequireRequest goodsRequireRequest) {
return kateWorkControllerService.getGoodsRequirement(goodsRequireRequest);
}
/**
* 查询图纸
* @param imageQuery 查询参数

View File

@ -0,0 +1,39 @@
package com.wms_main.controller.wms;
import com.wms_main.model.dto.request.wms.BaseWmsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.service.controller.ISystemControllerService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* 系统控制类
*/
@RestController
@ResponseBody
@CrossOrigin
@RequiredArgsConstructor
@RequestMapping("/wms/system")
public class SystemController {
private final ISystemControllerService systemControllerService;// 系统控制类服务
/**
* 重启系统
* @param baseWmsRequest 请求
* @return 响应结果
*/
@PostMapping("/restartSystem")
public BaseWmsApiResponse restartSystem(@RequestBody BaseWmsRequest baseWmsRequest) {
return systemControllerService.restartSystem(baseWmsRequest);
}
/**
* 重载配置
* @param baseWmsRequest 请求
* @return 响应结果
*/
@PostMapping("/reloadConfig")
public BaseWmsApiResponse reloadConfig(@RequestBody BaseWmsRequest baseWmsRequest) {
return systemControllerService.reloadConfig(baseWmsRequest);
}
}

View File

@ -1,5 +1,6 @@
package com.wms_main.controller.wms;
import com.wms_main.model.dto.query.InventoryQuery;
import com.wms_main.model.dto.query.OutsQuery;
import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
@ -75,4 +76,15 @@ public class TaskQueryController {
{
return taskQueryControllerService.queryOutsByPage(outsQuery);
}
/**
* 盘点信息分页查询
* @param inventoryQuery 查询参数
* @return 查询结果
*/
@PostMapping("/queryInventoryRecordByPage")
public WmsApiResponse<PageVo<InventoryRecordVo>> queryInventoryRecordByPage(@RequestBody InventoryQuery inventoryQuery)
{
return taskQueryControllerService.queryInventoryRecordByPage(inventoryQuery);
}
}

View File

@ -0,0 +1,45 @@
package com.wms_main.excel.easypoi.excelTemplate;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 物料需求excel模版
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GoodsRequireExcelTemplate {
/**
* 料号
*/
private String goodsId;
/**
* 描述
*/
private String goodsDesc;
/**
* 需求数量
*/
private Integer needQty;
/**
* 库存数量
*/
private Integer stockQty;
/**
* 缺少数量
*/
private Integer lackQty;
/**
* 物料类型
* 1: 看板 2: MRP
*/
private String goodsType;
/**
* 库存类型
* 1: 库内料 2库外料
*/
private String stockType;
}

View File

@ -1,12 +1,9 @@
package com.wms_main.excel.easypoi.excelTemplate;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;

View File

@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@ -71,11 +72,11 @@ public class BaseExportExcelEasyPoi implements IBaseExportExcelEasyPoi {
.eq(stockQuery.getStockStatus() != null, TAppStock::getStockStatus, stockQuery.getStockStatus())
.eq(stockQuery.getGoodsStatus() != null, TAppStock::getGoodsStatus, stockQuery.getGoodsStatus());
if (stockQuery.getFromDate() != null) {
lambdaQueryWrapper.ge(TAppStock::getFirstInTime, stockQuery.getFromDate().atStartOfDay());
lambdaQueryWrapper.ge(TAppStock::getFirstInTime, LocalDateTime.of(stockQuery.getFromDate(), LocalDateTime.MIN.toLocalTime()));
}
if (stockQuery.getToDate() != null) {
// toDate + 1天的凌晨
lambdaQueryWrapper.lt(TAppStock::getFirstInTime, stockQuery.getToDate().plusDays(1).atStartOfDay());
lambdaQueryWrapper.le(TAppStock::getFirstInTime, LocalDateTime.of(stockQuery.getToDate(), LocalDateTime.MAX.toLocalTime()));
}
List<TAppStock> stockList = appStockService.list(lambdaQueryWrapper);
// excel模版列表

View File

@ -52,4 +52,9 @@ public class OrderConfirmEntity {
*/
@JsonProperty("realPickQty")
private Integer realPickQty;
/**
* 拣选备注
*/
@JsonProperty("kittingRemark")
private String kittingRemark;
}

View File

@ -0,0 +1,45 @@
package com.wms_main.model.dto.query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 配置查询
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ConfigQuery extends PageQuery {
/**
* 配置ID
*/
@JsonProperty("configId")
private String configId;
/**
* 配置键
*/
@JsonProperty("configKey")
private String configKey;
/**
* 配置值
*/
@JsonProperty("configValue")
private String configValue;
/**
* 配置类型
* 1输入框
* 2下拉多选
* 3开关
*/
@JsonProperty("configType")
private Integer configType;
/**
* 配置显示名称
*/
@JsonProperty("configName")
private String configName;
}

View File

@ -0,0 +1,64 @@
package com.wms_main.model.dto.query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 盘点查询参数
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InventoryQuery extends PageQuery {
/**
* 查询类型
*/
@JsonProperty("queryType")
private Integer queryType;
/**
* 盘点id
*/
@JsonProperty("inventoryId")
private String inventoryId;
/**
* 料号
*/
@JsonProperty("goodsId")
private String goodsId;
/**
* 载具号
*/
@JsonProperty("vehicleId")
private String vehicleId;
/**
* 盘点站台
*/
@JsonProperty("invStand")
private String invStand;
/**
* 盘点类型1明盘2盲盘
*/
@JsonProperty("invType")
private Integer invType;
/**
* 盘点状态
* 1. 初始化
* 2. 已解析
* 3. 数量确认
* 4. 盘点关闭
*/
@JsonProperty("invStatus")
private Integer invStatus;
/**
* 盘点结果
* -1: 盘亏
* 0: 正常
* 1: 盘盈
*/
@JsonProperty("invResult")
private Integer invResult;
}

View File

@ -46,15 +46,15 @@ public class StockQuery extends PageQuery{
/**
* 起始日期
*/
@JsonProperty("起始日期")
@JsonProperty("fromDate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate fromDate;
/**
* 结束日期
*/
@JsonProperty("toDate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("结束日期")
private LocalDate toDate;
}

View File

@ -0,0 +1,45 @@
package com.wms_main.model.dto.request.wms;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 配置更新请求
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ConfigUpdateRequest extends BaseWmsRequest {
/**
* 配置ID
*/
@JsonProperty("configId")
private String configId;
/**
* 配置键
*/
@JsonProperty("configKey")
private String configKey;
/**
* 配置值
*/
@JsonProperty("configValue")
private String configValue;
/**
* 配置类型
* 1输入框
* 2下拉多选
* 3开关
*/
@JsonProperty("configType")
private Integer configType;
/**
* 配置显示名称
*/
@JsonProperty("configName")
private String configName;
}

View File

@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.util.List;
/**
* 生成看板需求请求
@ -26,4 +27,9 @@ public class GenKanbanRequirementRequest extends BaseWmsRequest{
*/
@JsonProperty("planStartDateTo")
private LocalDate planStartDateTo;
/**
* 工单列表
*/
@JsonProperty("orderIds")
private List<String> orderIds;
}

View File

@ -0,0 +1,24 @@
package com.wms_main.model.dto.request.wms;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 获取物料需求 请求类
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GoodsRequireRequest extends BaseWmsRequest {
/**
* 工单列表
*/
@JsonProperty("orderIds")
private List<String> orderIds;
}

View File

@ -0,0 +1,30 @@
package com.wms_main.model.dto.request.wms;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 出库单更新请求
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OutsUpdateRequest extends BaseWmsRequest {
/**
* 任务号
*/
@JsonProperty("taskId")
private String taskId;
/**
* 更新类型
* 1: 取消
* 2: 完成
* 3: 重置
*/
@JsonProperty("updateType")
private Integer updateType;
}

View File

@ -92,4 +92,10 @@ public class TAppStandWork {
*/
@TableField(value = "put_area")
private String putArea;
/**
* 备注
* 主要用于标识ECN
*/
@TableField(value = "kitting_remark")
private String kittingRemark;
}

View File

@ -113,4 +113,10 @@ public class TAppWork {
*/
@TableField(value = "product_type")
private Integer productType;
/**
* 备注
* 用于ECN相关
*/
@TableField(value = "kitting_remark")
private String kittingRemark;
}

View File

@ -105,4 +105,10 @@ public class TAppWorkRecord {
*/
@TableField(value = "product_type")
private Integer productType;
/**
* 备注
* 用于ECN相关
*/
@TableField(value = "kitting_remark")
private String kittingRemark;
}

View File

@ -0,0 +1,57 @@
package com.wms_main.model.vo.wms;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms_main.model.po.TAppConfig;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 配置显示类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ConfigVo {
/**
* 配置ID
*/
@JsonProperty("configId")
private String configId;
/**
* 配置键
*/
@JsonProperty("configKey")
private String configKey;
/**
* 配置值
*/
@JsonProperty("configValue")
private String configValue;
/**
* 配置类型
* 1输入框
* 2下拉多选
* 3开关
*/
@JsonProperty("configType")
private Integer configType;
/**
* 配置显示名称
*/
@JsonProperty("configName")
private String configName;
/**
* 将po转化为vo
* @param tAppConfig po
* @return vo
*/
public static ConfigVo of(TAppConfig tAppConfig)
{
if (tAppConfig == null) {
return new ConfigVo();
}
return new ConfigVo(tAppConfig.getConfigId(), tAppConfig.getConfigKey(), tAppConfig.getConfigValue(), tAppConfig.getConfigType(), tAppConfig.getConfigName());
}
}

View File

@ -0,0 +1,50 @@
package com.wms_main.model.vo.wms;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 物料需求Vo
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GoodsRequireVo {
/**
* 料号
*/
@JsonProperty("goodsId")
private String goodsId;
/**
* 描述
*/
@JsonProperty("goodsDesc")
private String goodsDesc;
/**
* 需求数量
*/
@JsonProperty("needQty")
private Integer needQty;
/**
* 库存数量
*/
@JsonProperty("stockQty")
private Integer stockQty;
/**
* 缺少数量
*/
@JsonProperty("lackQty")
private Integer lackQty;
/**
* 物料类型
*/
@JsonProperty("goodsType")
private String goodsType;
/**
* 库存类型
*/
@JsonProperty("stockType")
private String stockType;
}

View File

@ -0,0 +1,150 @@
package com.wms_main.model.vo.wms;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms_main.model.po.TAppInventory;
import com.wms_main.model.po.TAppInventoryRecord;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* 盘点记录Vo
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InventoryRecordVo {
/**
* 盘点id
*/
@JsonProperty("inventoryId")
private String inventoryId;
/**
* 料号
*/
@JsonProperty("goodsId")
private String goodsId;
/**
* 载具号
*/
@JsonProperty("vehicleId")
private String vehicleId;
/**
* 库存数量
* 只记录盘点确认时间点
*/
@JsonProperty("stockNum")
private Integer stockNum;
/**
* 确认数量
*/
@JsonProperty("confirmNum")
private Integer confirmNum;
/**
* 盘点站台
*/
@JsonProperty("invStand")
private String invStand;
/**
* 盘点人
*/
@JsonProperty("invUser")
private String invUser;
/**
* 盘点类型1明盘2盲盘
*/
@JsonProperty("invType")
private Integer invType;
/**
* 盘点状态
* 1. 初始化
* 2. 已解析
* 3. 数量确认
* 4. 盘点关闭
*/
@JsonProperty("invStatus")
private Integer invStatus;
/**
* 盘点结果
* -1: 盘亏
* 0: 正常
* 1: 盘盈
*/
@JsonProperty("invResult")
private Integer invResult;
/**
* 盘点任务创建时间
*/
@JsonProperty("invCreateTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime invCreateTime;
/**
* 盘点确认时间
*/
@JsonProperty("invConfirmTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime invConfirmTime;
/**
* 这个字段用于合并哪些任务是同一时间下发的
*/
@JsonProperty("invOrderId")
private String invOrderId;
/**
* 将盘点请求的Po转化为Vo
* @param inventoryPo 请求Po
* @return 盘点Vo
*/
public static InventoryRecordVo ofTaskPo(TAppInventory inventoryPo) {
if (inventoryPo == null) {
return new InventoryRecordVo();
}
return new InventoryRecordVo(
inventoryPo.getInventoryId(),
inventoryPo.getGoodsId(),
inventoryPo.getVehicleId(),
inventoryPo.getStockNum(),
inventoryPo.getConfirmNum(),
inventoryPo.getInvStand(),
inventoryPo.getInvUser(),
inventoryPo.getInvType(),
inventoryPo.getInvStatus(),
inventoryPo.getInvResult(),
inventoryPo.getInvCreateTime(),
inventoryPo.getInvConfirmTime(),
inventoryPo.getInvOrderId()
);
}
/**
* 将盘点记录的Po转化为Vo
* @param inventoryRecordPo 盘点记录Po
* @return 盘点记录Vo
*/
public static InventoryRecordVo ofRecordPo(TAppInventoryRecord inventoryRecordPo) {
if (inventoryRecordPo == null) {
return new InventoryRecordVo();
}
return new InventoryRecordVo(
inventoryRecordPo.getInventoryId(),
inventoryRecordPo.getGoodsId(),
inventoryRecordPo.getVehicleId(),
inventoryRecordPo.getStockNum(),
inventoryRecordPo.getConfirmNum(),
inventoryRecordPo.getInvStand(),
inventoryRecordPo.getInvUser(),
inventoryRecordPo.getInvType(),
inventoryRecordPo.getInvStatus(),
inventoryRecordPo.getInvResult(),
inventoryRecordPo.getInvCreateTime(),
inventoryRecordPo.getInvConfirmTime(),
inventoryRecordPo.getInvOrderId()
);
}
}

View File

@ -50,4 +50,10 @@ public class KateWorkOptionsVo {
*/
@JsonProperty("goodsId")
private List<String> goodsId = Collections.emptyList();
/**
* 备注
* 主要用于ECN
*/
@JsonProperty("kittingRemark")
private String kittingRemark = "";
}

View File

@ -181,11 +181,11 @@ public class ConveyTaskServiceImpl implements IConveyTaskService {
}
// 生成记录并删除
pickRecords.add(new TAppPickTaskBak(
targetPickTask.getPickId(),
targetPickTask.getPickStand(),
targetPickTask.getVehicleId(),
forInPickTask.getPickId(),
forInPickTask.getPickStand(),
forInPickTask.getVehicleId(),
WmsPickTaskStatusEnum.FOR_IN.getCode(),
targetPickTask.getCreateTime(),
forInPickTask.getCreateTime(),
null,
null,
LocalDateTime.now()
@ -347,7 +347,8 @@ public class ConveyTaskServiceImpl implements IConveyTaskService {
thisWork.getGoodsId(),
thisWork.getBoxNo(),
planPickQty,
planPickQty
planPickQty,
thisWork.getKittingRemark()
);
StockConfirmEntity stockConfirmVo = new StockConfirmEntity(
pickPlan.getPlanId(),

View File

@ -144,8 +144,9 @@ public class StackerTaskServiceImpl implements IStackerTaskService {
}
}
return filterResult;
}).sorted(Comparator.comparingInt(TAppLocation::getLDepth).reversed())
})
.sorted(Comparator.comparingInt(location -> location.getLCol() + location.getLLayer()))
.sorted(Comparator.comparingInt(TAppLocation::getLDepth).reversed())
.toList();
// 判断是否输入了subArea
if (locationFilter != null && StringUtils.isNotEmpty(locationFilter.getSubArea())) {

View File

@ -0,0 +1,27 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.query.ConfigQuery;
import com.wms_main.model.dto.request.wms.ConfigUpdateRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.vo.wms.ConfigVo;
import com.wms_main.model.vo.wms.PageVo;
/**
* 配置控制类 服务接口
*/
public interface IConfigControllerService {
/**
* 查询配置信息---分页
* @param configQuery 查询参数
* @return 查询结果
*/
WmsApiResponse<PageVo<ConfigVo>> queryConfigsByPage(ConfigQuery configQuery);
/**
* 更新配置信息
* @param configUpdateRequest 请求参数
* @return 更新结果
*/
BaseWmsApiResponse updateConfig(ConfigUpdateRequest configUpdateRequest);
}

View File

@ -1,8 +1,6 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.query.GoodsQuery;
import com.wms_main.model.dto.request.wms.UpdateGoodsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.vo.wms.GoodsVo;
import com.wms_main.model.vo.wms.PageVo;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
@ -17,19 +15,12 @@ public interface IGoodsControllerService {
* @param goodsQuery 查询参数
* @return 查询结果
*/
WmsApiResponse<PageVo<GoodsVo>> getGoodsInfoByPage(@RequestBody GoodsQuery goodsQuery);
WmsApiResponse<PageVo<GoodsVo>> getGoodsInfoByPage(GoodsQuery goodsQuery);
/**
* 更新物料信息
* @param updateGoodsRequest 更新请求
* @return 更新结果
* 根据物料id获取物料信息
* @param goodsId 物料id
* @return 物料信息
*/
BaseWmsApiResponse updateGoodsInfo(@RequestBody UpdateGoodsRequest updateGoodsRequest);
/**
* 关闭物料使用
* @param updateGoodsRequest 关闭请求
* @return 关闭结果
*/
BaseWmsApiResponse closeGoodsInfo(@RequestBody UpdateGoodsRequest updateGoodsRequest);
WmsApiResponse<GoodsVo> getGoodsInfoByGoodsId(String goodsId);
}

View File

@ -69,6 +69,13 @@ public interface IKateWorkControllerService {
*/
BaseWmsApiResponse genClcKanbanRequirement(GenKanbanRequirementRequest genRequest);
/**
* 获取物料需求
* @param goodsRequireRequest 请求参数
* @return 请求结果
*/
WmsApiResponse<List<GoodsRequireVo>> getGoodsRequirement(GoodsRequireRequest goodsRequireRequest);
/**
* 查询图纸
* @param imageQuery 查询参数

View File

@ -0,0 +1,23 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.request.wms.BaseWmsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
/**
* 系统控制类服务接口
*/
public interface ISystemControllerService {
/**
* 重启系统
* @param baseWmsRequest 请求
* @return 响应
*/
BaseWmsApiResponse restartSystem(BaseWmsRequest baseWmsRequest);
/**
* 重载配置
* @param baseWmsRequest 请求
* @return 响应
*/
BaseWmsApiResponse reloadConfig(BaseWmsRequest baseWmsRequest);
}

View File

@ -1,5 +1,6 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.request.wms.OutsUpdateRequest;
import com.wms_main.model.dto.request.wms.WmsTaskRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
@ -20,4 +21,11 @@ public interface ITaskOperationControllerService {
* @return 更新结果
*/
BaseWmsApiResponse updateWmsTask(WmsTaskRequest wmsTaskRequest);
/**
* 更新出库表单---取消或者完成
* @param outsUpdateRequest 请求
* @return 结果
*/
BaseWmsApiResponse updateOutsTask(OutsUpdateRequest outsUpdateRequest);
}

View File

@ -1,5 +1,6 @@
package com.wms_main.service.controller;
import com.wms_main.model.dto.query.InventoryQuery;
import com.wms_main.model.dto.query.OutsQuery;
import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
@ -44,4 +45,11 @@ public interface ITaskQueryControllerService {
* @return 查询结果---分页
*/
WmsApiResponse<PageVo<OutsVo>> queryOutsByPage(OutsQuery outsQuery);
/**
* 查询盘点相关信息
* @param inventoryQuery 查询参数
* @return 查询结果---分页
*/
WmsApiResponse<PageVo<InventoryRecordVo>> queryInventoryRecordByPage(InventoryQuery inventoryQuery);
}

View File

@ -0,0 +1,82 @@
package com.wms_main.service.controller.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wms_main.dao.ITAppConfigService;
import com.wms_main.model.dto.query.ConfigQuery;
import com.wms_main.model.dto.request.wms.ConfigUpdateRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.po.TAppConfig;
import com.wms_main.model.vo.wms.ConfigVo;
import com.wms_main.model.vo.wms.PageVo;
import com.wms_main.repository.utils.StringUtils;
import com.wms_main.service.controller.IConfigControllerService;
import com.wms_main.service.system.ISystemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 配置控制类服务实现
*/
@Service
@RequiredArgsConstructor
public class ConfigControllerServiceImpl implements IConfigControllerService {
// 配置服务
private final ITAppConfigService appConfigService;
// 系统服务
private final ISystemService systemService;
/**
* 查询系统配置(分页)---实现
*
* @param configQuery 配置
* @return 结果
*/
public WmsApiResponse<PageVo<ConfigVo>> queryConfigsByPage(ConfigQuery configQuery) {
if (configQuery == null) {
return WmsApiResponse.error("查询参数不能为NULL", null);
}
Page<TAppConfig> page = configQuery.toMpPage();
LambdaQueryWrapper<TAppConfig> lambdaQueryWrapper = new LambdaQueryWrapper<TAppConfig>()
.like(StringUtils.isNotEmpty(configQuery.getConfigKey()), TAppConfig::getConfigKey, configQuery.getConfigKey())
.like(StringUtils.isNotEmpty(configQuery.getConfigName()), TAppConfig::getConfigName, configQuery.getConfigName());
Page<TAppConfig> configPage = appConfigService.page(page, lambdaQueryWrapper);
PageVo<ConfigVo> pageVo = PageVo.of(configPage, ConfigVo::of);
return WmsApiResponse.success("查询配置数据成功", pageVo);
}
/**
* 更新系统配置
*
* @param configUpdateRequest 更新请求
* @return 结果
*/
@Transactional(rollbackFor = Exception.class)
public BaseWmsApiResponse updateConfig(ConfigUpdateRequest configUpdateRequest) {
if (configUpdateRequest == null) {
return BaseWmsApiResponse.error("更新请求不能为NULL。");
}
if (StringUtils.isEmpty(configUpdateRequest.getConfigId())) {
return BaseWmsApiResponse.error("请求缺少配置id无法更新。");
}
// 查询对应的配置信息
TAppConfig targetConfig = appConfigService.getById(configUpdateRequest.getConfigId());
if (targetConfig == null) {
return BaseWmsApiResponse.error("id不正确未查询到对应的配置信息。");
}
// 更新配置
appConfigService.update(new LambdaUpdateWrapper<TAppConfig>()
.set(TAppConfig::getConfigValue, configUpdateRequest.getConfigValue())
.eq(TAppConfig::getConfigId, configUpdateRequest.getConfigId()));
// 重载配置
if (systemService.reloadConfig()) {
return BaseWmsApiResponse.success("更新配置成功,重载配置成功。");
} else {
return BaseWmsApiResponse.success("更新配置成功,但重载配置失败,需手动重载配置。");
}
}
}

View File

@ -1,11 +1,8 @@
package com.wms_main.service.controller.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wms_main.dao.ITAppGoodsService;
import com.wms_main.model.dto.request.wms.UpdateGoodsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.po.TAppGoods;
import com.wms_main.model.dto.query.GoodsQuery;
import com.wms_main.model.vo.wms.GoodsVo;
@ -16,9 +13,6 @@ import com.wms_main.service.controller.IGoodsControllerService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
/**
* 物料控制类 服务实现
@ -49,77 +43,19 @@ public class GoodsControllerServiceImpl implements IGoodsControllerService {
}
/**
* 实现--更新物料信息
* @param updateGoodsRequest 更新请求
* @return 更新结果
* 根据物料id查询物料信息
* @param goodsId 物料id
* @return 查询结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public BaseWmsApiResponse updateGoodsInfo(UpdateGoodsRequest updateGoodsRequest) {
if (updateGoodsRequest == null) {
return BaseWmsApiResponse.error("更新参数不能为NULL");
public WmsApiResponse<GoodsVo> getGoodsInfoByGoodsId(String goodsId) {
if (StringUtils.isEmpty(goodsId)) {
return WmsApiResponse.error("请求参数不能为空。", null);
}
if (StringUtils.isEmpty(updateGoodsRequest.getGoodsId())) {
return BaseWmsApiResponse.error("物料编号不能为空");
}
try {
// 更新物料信息
boolean result = goodsService.update(new LambdaUpdateWrapper<TAppGoods>()
.eq(TAppGoods::getGoodsId, updateGoodsRequest.getGoodsId())
.set(updateGoodsRequest.getBoxQty() != null, TAppGoods::getBoxQty, updateGoodsRequest.getBoxQty())
.set(updateGoodsRequest.getMaxBoxNum() != null, TAppGoods::getMaxBoxNum, updateGoodsRequest.getMaxBoxNum())
.set(StringUtils.isNotEmpty(updateGoodsRequest.getPutArea()), TAppGoods::getPutArea, updateGoodsRequest.getPutArea())
.set(StringUtils.isNotEmpty(updateGoodsRequest.getHotPoint()), TAppGoods::getHotPoint, updateGoodsRequest.getHotPoint())
.set(TAppGoods::getLastUpdateUser, updateGoodsRequest.getUserName())
.set(TAppGoods::getLastUpdateTime, LocalDateTime.now()));
if (result) {
return BaseWmsApiResponse.success("更新物料信息成功");
} else {
return BaseWmsApiResponse.error("更新物料信息失败,未找到对应物料或物料信息未发生变更");
}
} catch (Exception e) {
log.error("更新物料信息异常: {}", e.getMessage(), e);
return BaseWmsApiResponse.error("更新物料信息异常: " + e.getMessage());
}
}
/**
* 实现--关闭物料使用
* @param updateGoodsRequest 关闭请求
* @return 关闭结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public BaseWmsApiResponse closeGoodsInfo(UpdateGoodsRequest updateGoodsRequest) {
if (updateGoodsRequest == null) {
return BaseWmsApiResponse.error("关闭参数不能为NULL");
}
if (StringUtils.isEmpty(updateGoodsRequest.getGoodsId())) {
return BaseWmsApiResponse.error("物料编号不能为空");
}
try {
// 这里根据业务需求实现物料关闭逻辑
// 例如将物料设置为不可用状态更新特定字段等
boolean result = goodsService.update(new LambdaUpdateWrapper<TAppGoods>()
.eq(TAppGoods::getGoodsId, updateGoodsRequest.getGoodsId())
.set(TAppGoods::getPutArea, "已关闭")
.set(TAppGoods::getHotPoint, "已关闭")
.set(TAppGoods::getLastUpdateUser, updateGoodsRequest.getUserName())
.set(TAppGoods::getLastUpdateTime, LocalDateTime.now()));
if (result) {
return BaseWmsApiResponse.success("关闭物料成功");
} else {
return BaseWmsApiResponse.error("关闭物料失败,未找到对应物料");
}
} catch (Exception e) {
log.error("关闭物料异常: {}", e.getMessage(), e);
return BaseWmsApiResponse.error("关闭物料异常: " + e.getMessage());
TAppGoods targetGoods = goodsService.getById(goodsId);
if (targetGoods == null) {
return WmsApiResponse.error("查询结果为空。", null);
}
return WmsApiResponse.success("查询成功。", GoodsVo.of(targetGoods));
}
}

View File

@ -103,6 +103,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
result.setProductIdOrigin(dbs.getProductIdOrigin());
// 设置过滤成品号
result.setProductId(dbs.getProductId());
// 设置备注
result.setKittingRemark(dbs.getKittingRemark());
if (!getWorkOptionsOfServicePieces(kateWorksQuery, dbs.getProductIdOrigin(), result)) {
if (getWorkOptionsOfNonServicePieces(kateWorksQuery, dbs.getProductId(), result)) {
result.setProductType(1);// 普通成品
@ -298,7 +300,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
thisStandWork.getGoodsId(),
thisStandWork.getBoxNo(),
thisStandWork.getPlanPickQty(),
thisStandWork.getRealPickQty()),
thisStandWork.getRealPickQty(),
thisStandWork.getKittingRemark()),
new StockConfirmEntity(
thisStandWork.getStockId(),
thisStandWork.getVehicleId(),
@ -669,59 +672,23 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
@Override
@Transactional(rollbackFor = Exception.class)
public BaseWmsApiResponse genClcKanbanRequirement(GenKanbanRequirementRequest genRequest) {
if (genRequest.getPlanStartDateFrom() == null || genRequest.getPlanStartDateTo() == null) {
return BaseWmsApiResponse.error("请选择开始时间和结束时间。");
// 判断工单列表是否为空
if (genRequest == null) {
return WmsApiResponse.error("查询参数为空。", null);
}
if (genRequest.getPlanStartDateFrom().isAfter(genRequest.getPlanStartDateTo())) {
return BaseWmsApiResponse.error("开始时间不能大于结束时间。");
if (genRequest.getOrderIds() == null || genRequest.getOrderIds().isEmpty()) {
return WmsApiResponse.error("工单列表为空,无法生成看板。", null);
}
// 找这个时间段内的所有dbs计划---未开始的
// 询出所有的dbs
List<TAppDbs> dbsList = appDbsService.list(new LambdaQueryWrapper<TAppDbs>()
.between(TAppDbs::getTestPlanStartDate, genRequest.getPlanStartDateFrom(), genRequest.getPlanStartDateTo())
.in(TAppDbs::getWorkOrder, genRequest.getOrderIds())
.lt(TAppDbs::getDbsStatus, 2));
// 总的物料需求
Map<String, Integer> totalGoodsRequireMap = new HashMap<>();
// 物料数量需求---根据总成号区分
Map<String, Map<String, Integer>> goodsRequireByProductMap = new HashMap<>();
// 迭代计划表获取
for (TAppDbs dbs : dbsList) {
Map<String, Integer> goodsRequireOfDbsMap = new HashMap<>();// 当前dbs的物料需求
Map<String, Integer> goodsRequireOfProductMap;// 当前成品的物料需求
// 获得物料需求
if (dbs.getDbsStatus() == 0) {
if (goodsRequireByProductMap.containsKey(dbs.getProductIdOrigin())) {
// 包含原始成品号
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductIdOrigin());
} else {
goodsRequireOfProductMap = getGoodsRequireMapOfServiceProduct(dbs.getProductIdOrigin());
if (!goodsRequireOfProductMap.isEmpty()) {
// 存在服务件配料单添加这个总成的Map
goodsRequireByProductMap.put(dbs.getProductIdOrigin(), goodsRequireOfProductMap);
} else {
if (goodsRequireByProductMap.containsKey(dbs.getProductId())) {
// 直接获得当前总成的物料需求
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductId());
} else {
// 去查询非服务件配料单
goodsRequireOfProductMap = getGoodsRequireMapOfNonServiceProduct(dbs.getProductId());
if (goodsRequireOfProductMap.isEmpty()) {
return BaseWmsApiResponse.error("工单" + dbs.getWorkOrder() + "的物料需求为空,请检查数据。");
}
// 添加这个非服务件配件清单的map
goodsRequireByProductMap.put(dbs.getProductId(), goodsRequireOfProductMap);
}
}
}
// 需求*产量
for (String goodsId : goodsRequireOfProductMap.keySet()) {
goodsRequireOfDbsMap.put(goodsId, goodsRequireOfProductMap.get(goodsId) * dbs.getPlanProduction());
}
} else {
// 查询已经生成的工作清单里面的物料需求
goodsRequireOfDbsMap = getRemainRequireMapOfOrder(dbs.getWorkOrder());
}
// 合并需求
mergeRequire(totalGoodsRequireMap, goodsRequireOfDbsMap);
Map<String, Integer> totalGoodsRequireMap;
try {
totalGoodsRequireMap = getGoodsRequireMap(dbsList);
} catch (Exception e) {
return BaseWmsApiResponse.error(e.getMessage());
}
// 获取需要的物料的基本信息
List<String> goodsIds = new ArrayList<>(totalGoodsRequireMap.keySet());
@ -795,6 +762,77 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
return BaseWmsApiResponse.success("生成看板需求成功。");
}
/**
* 获取物料需求
* @param goodsRequireRequest 请求参数
* @return 响应结果
*/
@Override
public WmsApiResponse<List<GoodsRequireVo>> getGoodsRequirement(GoodsRequireRequest goodsRequireRequest) {
// 判断工单列表是否为空
if (goodsRequireRequest == null) {
return WmsApiResponse.error("查询参数为空。", null);
}
if (goodsRequireRequest.getOrderIds() == null || goodsRequireRequest.getOrderIds().isEmpty()) {
return WmsApiResponse.error("工单列表为空,无法生成需求。", null);
}
// 查询出所有的dbs
List<TAppDbs> dbsList = appDbsService.list(new LambdaQueryWrapper<TAppDbs>()
.in(TAppDbs::getWorkOrder, goodsRequireRequest.getOrderIds())
.lt(TAppDbs::getDbsStatus, 2));
// 总的物料需求
Map<String, Integer> totalGoodsRequireMap;
try {
totalGoodsRequireMap = getGoodsRequireMap(dbsList);
} catch (Exception e) {
return WmsApiResponse.error(e.getMessage(), null);
}
// 获取需要的物料的基本信息
List<String> goodsIds = new ArrayList<>(totalGoodsRequireMap.keySet());
if (goodsIds.isEmpty()) {
return WmsApiResponse.success("获取需求成功。", Collections.emptyList());
}
// 物料信息
List<TAppGoods> goodsList = appGoodsService.list(new LambdaQueryWrapper<TAppGoods>()
.in(TAppGoods::getGoodsId, goodsIds));
// 整合物料信息为map
Map<String, TAppGoods> filterGoodsMap = goodsList.stream().collect(Collectors.toMap(TAppGoods::getGoodsId, goods -> goods));
// 获取筛选过的需要的物料的库存信息
List<TAppStock> stockList = appStockService.list(new LambdaQueryWrapper<TAppStock>()
.in(TAppStock::getGoodsId, filterGoodsMap.keySet())
.gt(TAppStock::getRemainNum, 0));
// 生成物料数量map
Map<String, Integer> stockByGoodsMap = new HashMap<>();
for (TAppStock stock : stockList) {
if (stockByGoodsMap.containsKey(stock.getGoodsId())) {
stockByGoodsMap.replace(stock.getGoodsId(), stockByGoodsMap.get(stock.getGoodsId()) + stock.getRemainNum());
} else {
stockByGoodsMap.put(stock.getGoodsId(), stock.getRemainNum());
}
}
// 获取需求
List<GoodsRequireVo> resultList = new ArrayList<>();
for (String goodsId : filterGoodsMap.keySet()) {
TAppGoods thisGoods = filterGoodsMap.get(goodsId);
// 需求数量
int needNum = totalGoodsRequireMap.get(goodsId);
// 库存数量
int stockNum = stockByGoodsMap.getOrDefault(goodsId, 0);
resultList.add(new GoodsRequireVo(
goodsId,
thisGoods.getGoodsDescription(),
needNum,
stockNum,
Math.max(needNum - stockNum, 0),
thisGoods.getFeedingType().toUpperCase(),
thisGoods.getPutArea().toUpperCase()));
}
// 对结果集排序缺料放于最前
return WmsApiResponse.success("获取需求成功。", resultList.stream()
.sorted(Comparator.comparing(GoodsRequireVo::getLackQty, Comparator.reverseOrder()))
.toList());
}
/**
* 查询图纸---实现
*
@ -1329,16 +1367,25 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
Map<String, Integer> goodsRequireMap = new HashMap<>();
// 查找到这个工单下未完成的工作
List<TAppWork> workList = appWorkService.list(new LambdaQueryWrapper<TAppWork>()
.eq(TAppWork::getWorkOrder, workOrder)
.ne(TAppWork::getWorkStatus, 2));
.eq(TAppWork::getWorkOrder, workOrder));
if (workList == null || workList.isEmpty()) {
return goodsRequireMap;
}
for (TAppWork work : workList) {
if (goodsRequireMap.containsKey(work.getGoodsId())) {
goodsRequireMap.replace(work.getGoodsId(), goodsRequireMap.get(work.getGoodsId()) + work.getNeedNum() - work.getFinishNum());
if (work.getWorkStatus() == 2 && work.getLackStatus() == 0) {
// 已完成且不缺料
continue;
}
int remainNeedNum;
if (work.getWorkStatus() == 2) {
remainNeedNum = work.getNeedNum() - work.getFinishNum();
} else {
goodsRequireMap.put(work.getGoodsId(), work.getNeedNum() - work.getFinishNum());
remainNeedNum = work.getNeedNum() - work.getDistributeNum();
}
if (goodsRequireMap.containsKey(work.getGoodsId())) {
goodsRequireMap.replace(work.getGoodsId(), goodsRequireMap.get(work.getGoodsId()) + remainNeedNum);
} else {
goodsRequireMap.put(work.getGoodsId(), remainNeedNum);
}
}
return goodsRequireMap;
@ -1394,7 +1441,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
work.getGoodsId(),
work.getBoxNo(),
thisNeedNum,
thisNeedNum
thisNeedNum,
work.getKittingRemark()
);
// 查找到这个库外料
TAppGoods outGoods = new TAppGoods();
@ -1658,6 +1706,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
tempServiceProductWork.setIsOut(0);
}
tempServiceProductWork.setLackStatus(0);
tempServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
workList.add(tempServiceProductWork);
}
// 查询服务件是否包含单片
@ -1692,6 +1741,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
tempSingleServiceProductWork.setIsOut(0);
}
tempSingleServiceProductWork.setLackStatus(0);
tempSingleServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
workList.add(tempSingleServiceProductWork);
}
}
@ -1728,6 +1778,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
tempNonServiceProductWork.setIsOut(0);
}
tempNonServiceProductWork.setLackStatus(0);
tempNonServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
workList.add(tempNonServiceProductWork);
}
// 查询服务件是否包含单片
@ -1762,7 +1813,62 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
tempSingleNonServiceProductWork.setIsOut(0);
}
tempSingleNonServiceProductWork.setLackStatus(0);
tempSingleNonServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
workList.add(tempSingleNonServiceProductWork);
}
}
/**
* 获取所有物料需求
* @param dbsList dbs计划
* @return getGoodsRequireMap 结果
* @throws Exception 异常
*/
private Map<String, Integer> getGoodsRequireMap(List<TAppDbs> dbsList) throws Exception {
// 总的物料需求
Map<String, Integer> totalGoodsRequireMap = new HashMap<>();
// 物料数量需求---根据总成号区分
Map<String, Map<String, Integer>> goodsRequireByProductMap = new HashMap<>();
// 迭代计划表获取
for (TAppDbs dbs : dbsList) {
Map<String, Integer> goodsRequireOfDbsMap = new HashMap<>();// 当前dbs的物料需求
Map<String, Integer> goodsRequireOfProductMap;// 当前成品的物料需求
// 获得物料需求
if (dbs.getDbsStatus() == 0) {
if (goodsRequireByProductMap.containsKey(dbs.getProductIdOrigin())) {
// 包含原始成品号
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductIdOrigin());
} else {
goodsRequireOfProductMap = getGoodsRequireMapOfServiceProduct(dbs.getProductIdOrigin());
if (!goodsRequireOfProductMap.isEmpty()) {
// 存在服务件配料单添加这个总成的Map
goodsRequireByProductMap.put(dbs.getProductIdOrigin(), goodsRequireOfProductMap);
} else {
if (goodsRequireByProductMap.containsKey(dbs.getProductId())) {
// 直接获得当前总成的物料需求
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductId());
} else {
// 去查询非服务件配料单
goodsRequireOfProductMap = getGoodsRequireMapOfNonServiceProduct(dbs.getProductId());
if (goodsRequireOfProductMap.isEmpty()) {
throw new Exception("工单" + dbs.getWorkOrder() + "的物料需求为空,请检查数据。");
}
// 添加这个非服务件配件清单的map
goodsRequireByProductMap.put(dbs.getProductId(), goodsRequireOfProductMap);
}
}
}
// 需求*产量
for (String goodsId : goodsRequireOfProductMap.keySet()) {
goodsRequireOfDbsMap.put(goodsId, goodsRequireOfProductMap.get(goodsId) * dbs.getPlanProduction());
}
} else {
// 查询已经生成的工作清单里面的物料需求
goodsRequireOfDbsMap = getRemainRequireMapOfOrder(dbs.getWorkOrder());
}
// 合并需求
mergeRequire(totalGoodsRequireMap, goodsRequireOfDbsMap);
}
return totalGoodsRequireMap;
}
}

View File

@ -110,7 +110,6 @@ public class LoginControllerServiceImpl implements ILoginControllerService {
}
List<MenuVo> menuVoList = new LinkedList<>();
// 查找一级菜单
// TODO 这里可以用递归优化减少代码量
for (TSysMenu firstMenu : menuPoList) {
if (AppConstant.ROOT_MENU_ID.equals(firstMenu.getParentId())) {// 查找到所有的一级子菜单
MenuVo tempFirstMenu = new MenuVo();

View File

@ -17,6 +17,8 @@ import com.wms_main.service.controller.IStockControllerService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
/**
* 库存控制类 服务实现
*/
@ -45,11 +47,11 @@ public class StockControllerServiceImpl implements IStockControllerService {
.eq(stockQuery.getStockStatus() != null, TAppStock::getStockStatus, stockQuery.getStockStatus())
.eq(stockQuery.getGoodsStatus() != null, TAppStock::getGoodsStatus, stockQuery.getGoodsStatus());
if (stockQuery.getFromDate() != null) {
lambdaQueryWrapper.ge(TAppStock::getFirstInTime, stockQuery.getFromDate().atStartOfDay());
lambdaQueryWrapper.ge(TAppStock::getFirstInTime, LocalDateTime.of(stockQuery.getFromDate(), LocalDateTime.MIN.toLocalTime()));
}
if (stockQuery.getToDate() != null) {
// toDate + 1天的凌晨
lambdaQueryWrapper.lt(TAppStock::getFirstInTime, stockQuery.getToDate().plusDays(1).atStartOfDay());
lambdaQueryWrapper.le(TAppStock::getFirstInTime, LocalDateTime.of(stockQuery.getToDate(), LocalDateTime.MAX.toLocalTime()));
}
Page<TAppStock> stockPage = appStockService.page(page, lambdaQueryWrapper);

View File

@ -0,0 +1,37 @@
package com.wms_main.service.controller.serviceImpl;
import com.wms_main.model.dto.request.wms.BaseWmsRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.service.controller.ISystemControllerService;
import com.wms_main.service.system.ISystemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 系统控制类 服务实现
*/
@Service
@RequiredArgsConstructor
public class SystemControllerServiceImpl implements ISystemControllerService {
private final ISystemService systemService;// 系统服务
/**
* 重启系统---实现
* @param baseWmsRequest 请求
* @return 重启结果
*/
@Override
public BaseWmsApiResponse restartSystem(BaseWmsRequest baseWmsRequest) {
return systemService.restartSystem() ? BaseWmsApiResponse.success("重启系统成功。") : BaseWmsApiResponse.error("重启系统失败。");
}
/**
* 重新加载配置文件---实现
* @param baseWmsRequest 请求
* @return 重新加载结果
*/
@Override
public BaseWmsApiResponse reloadConfig(BaseWmsRequest baseWmsRequest) {
return systemService.reloadConfig() ? BaseWmsApiResponse.success("重载配置成功。") : BaseWmsApiResponse.error("重载配置失败。");
}
}

View File

@ -4,16 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.wms_main.constant.enums.wcs.WcsStackerTaskStatusEnums;
import com.wms_main.constant.enums.wms.WmsStackerTaskStatusEnums;
import com.wms_main.dao.ITAppTaskBakService;
import com.wms_main.dao.ITAppTaskService;
import com.wms_main.dao.ITAppWcsTaskBakService;
import com.wms_main.dao.ITAppWcsTaskService;
import com.wms_main.dao.*;
import com.wms_main.model.dto.request.wms.OutsUpdateRequest;
import com.wms_main.model.dto.request.wms.WmsTaskRequest;
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.po.TAppTask;
import com.wms_main.model.po.TAppTaskBak;
import com.wms_main.model.po.TAppWcsTask;
import com.wms_main.model.po.TAppWcsTaskBak;
import com.wms_main.model.po.*;
import com.wms_main.repository.utils.ConvertUtils;
import com.wms_main.repository.utils.StringUtils;
import com.wms_main.service.controller.ITaskOperationControllerService;
@ -34,9 +29,14 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
private final ITAppTaskBakService appTaskBakService;// wms任务记录服务
private final ITAppWcsTaskService appWcsTaskService;// wcs任务服务
private final ITAppWcsTaskBakService appWcsTaskBakService;// wcs任务记录服务
private final ITAppOutsService appOutsService;// 出库单服务
private final ITAppOutsRecordService appOutsRecordService;// 出库单记录服务
private final ITAppPickPlanService appPickPlanService;// 拣选计划服务
private final ITAppPickTaskService appPickTaskService;// 拣选任务服务
/**
* 删除wms任务
*
* @param wmsTaskRequest 请求参数
* @return 删除结果
*/
@ -60,6 +60,7 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
/**
* 更新wms任务
*
* @param wmsTaskRequest 请求参数
* @return 更新结果
*/
@ -176,24 +177,95 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
}
}
/**
* 更新当前的出库单任务---取消或者完成
*
* @param outsUpdateRequest 请求
* @return 处理结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public BaseWmsApiResponse updateOutsTask(OutsUpdateRequest outsUpdateRequest) {
// 校验参数
if (outsUpdateRequest == null) {
return BaseWmsApiResponse.error("请求参数不能为NULL。");
}
if (StringUtils.isEmpty(outsUpdateRequest.getTaskId())) {
return BaseWmsApiResponse.error("请求缺少任务号taskId。");
}
if (outsUpdateRequest.getUpdateType() == null) {
return BaseWmsApiResponse.error("请求缺少更新类型updateType。");
}
// 查询对应的出库单
TAppOuts targetOuts = appOutsService.getById(outsUpdateRequest.getTaskId());
if (targetOuts == null) {
return BaseWmsApiResponse.error("未查询到对应的出库单。");
}
// 查询对应的pickPlan
List<TAppPickPlan> pickPlansOfThisTask = appPickPlanService.list(new LambdaQueryWrapper<TAppPickPlan>()
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
if (pickPlansOfThisTask != null && !pickPlansOfThisTask.isEmpty()) {
// 查询这些plan包含的拣选任务
List<TAppPickTask> pickTasksOfThisTask = appPickTaskService.list(new LambdaQueryWrapper<TAppPickTask>()
.eq(TAppPickTask::getPickStand, targetOuts.getDestination())
.in(TAppPickTask::getVehicleId, pickPlansOfThisTask.stream().map(TAppPickPlan::getVehicleId).distinct().toList()));
if (pickTasksOfThisTask != null && !pickTasksOfThisTask.isEmpty()) {
// 如果存在pickPlan且存在pickTask那么不允许后续操作
return BaseWmsApiResponse.error("当前任务已经下发且未完成,不可进行后续操作。");
}
}
// 根据不用的更新类型进行操作
if (outsUpdateRequest.getUpdateType() == 1) {// CANCEL
// 移除这个出库单并删除其对应的pickPlan
appOutsService.removeById(targetOuts.getTaskId());
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
} else if (outsUpdateRequest.getUpdateType() == 2) {// FINISH
// 移除这个出库单生成记录并删除对应的pickPlan
appOutsService.removeById(targetOuts.getTaskId());
appOutsRecordService.save(new TAppOutsRecord(
targetOuts.getTaskId(),
targetOuts.getGoodsId(),
targetOuts.getVehicleId(),
targetOuts.getNeedNum(),
targetOuts.getDistributeNum(),
targetOuts.getPickNum(),
targetOuts.getOutType(),
targetOuts.getDestination(),
targetOuts.getUserName(),
targetOuts.getReason(),
targetOuts.getRequestTime()
));
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
} else if (outsUpdateRequest.getUpdateType() == 3) {// REBOOT
// 将已分配数量更改掉并删除pickPlan
targetOuts.setDistributeNum(targetOuts.getNeedNum() - targetOuts.getPickNum());
appOutsService.updateById(targetOuts);
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
} else {
return BaseWmsApiResponse.error("更新类型错误。");
}
return BaseWmsApiResponse.success("更新信息成功。");
}
/**
* 更新详情
*
* @param targetTask 目标任务
* @param wmsTaskRequest 请求信息
*/
private void updateDetailInfoExceptStatus(TAppTask targetTask, WmsTaskRequest wmsTaskRequest) {
targetTask.setTaskType(wmsTaskRequest.getTaskType());
targetTask.setTaskPriority(wmsTaskRequest.getTaskPriority());
targetTask.setVehicleId(wmsTaskRequest.getVehicleId());
targetTask.setOrigin(wmsTaskRequest.getOrigin());
targetTask.setDestination(wmsTaskRequest.getDestination());
targetTask.setWcsTaskId(wmsTaskRequest.getWcsTaskId());
targetTask.setGoodsId(wmsTaskRequest.getGoodsId());
targetTask.setOpNum(wmsTaskRequest.getOpNum());
targetTask.setStockNum(wmsTaskRequest.getStockNum());
targetTask.setOpUser(wmsTaskRequest.getOpUser());
targetTask.setOpUser(wmsTaskRequest.getUserName());
targetTask.setRemark(wmsTaskRequest.getRemark());
targetTask.setCallStand(wmsTaskRequest.getCallStand());
targetTask.setGoodsDesc(wmsTaskRequest.getGoodsDesc());
}
}

View File

@ -3,18 +3,13 @@ package com.wms_main.service.controller.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wms_main.constant.enums.wms.WmsTaskTypeEnums;
import com.wms_main.dao.ITAppOutsService;
import com.wms_main.dao.ITAppPickTaskService;
import com.wms_main.dao.ITAppTaskBakService;
import com.wms_main.dao.ITAppTaskService;
import com.wms_main.dao.*;
import com.wms_main.model.dto.query.InventoryQuery;
import com.wms_main.model.dto.query.OutsQuery;
import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.po.TAppOuts;
import com.wms_main.model.po.TAppPickTask;
import com.wms_main.model.po.TAppTask;
import com.wms_main.model.po.TAppTaskBak;
import com.wms_main.model.po.*;
import com.wms_main.model.vo.wms.*;
import com.wms_main.repository.utils.StringUtils;
import com.wms_main.service.controller.ITaskQueryControllerService;
@ -31,6 +26,8 @@ public class TaskQueryControllerServiceImpl implements ITaskQueryControllerServi
private final ITAppTaskBakService appTaskBakService;// 任务记录服务
private final ITAppPickTaskService appPickTaskService;// 拣选任务服务
private final ITAppOutsService appOutsService;// 出库单服务
private final ITAppInventoryService appInventoryService;// 盘点请求服务
private final ITAppInventoryRecordService appInventoryRecordService;// 盘点记录服务
/**
* 查询wms任务监控---分页
@ -164,4 +161,37 @@ public class TaskQueryControllerServiceImpl implements ITaskQueryControllerServi
PageVo<OutsVo> pageVo = PageVo.of(outsPage, OutsVo::of);
return WmsApiResponse.success("查询出库单成功。", pageVo);
}
/**
* 分页查询盘点相关信息---实现
* @param inventoryQuery 查询参数
* @return 查询结果
*/
@Override
public WmsApiResponse<PageVo<InventoryRecordVo>> queryInventoryRecordByPage(InventoryQuery inventoryQuery) {
if (inventoryQuery == null) {
return WmsApiResponse.error("查询参数不能为NULL", null);
}
if (inventoryQuery.getQueryType() == 1) {
// 查询盘点请求
Page<TAppInventory> page = inventoryQuery.toMpPage();
LambdaQueryWrapper<TAppInventory> lambdaQueryWrapper = new LambdaQueryWrapper<TAppInventory>()
.like(StringUtils.isNotEmpty(inventoryQuery.getGoodsId()), TAppInventory::getGoodsId, inventoryQuery.getGoodsId())
.like(StringUtils.isNotEmpty(inventoryQuery.getVehicleId()), TAppInventory::getVehicleId, inventoryQuery.getVehicleId())
.eq(inventoryQuery.getInvResult() != null, TAppInventory::getInvResult, inventoryQuery.getInvResult());
Page<TAppInventory> inventoryPage = appInventoryService.page(page, lambdaQueryWrapper);
PageVo<InventoryRecordVo> pageVo = PageVo.of(inventoryPage, InventoryRecordVo::ofTaskPo);
return WmsApiResponse.success("查询盘点任务成功。", pageVo);
} else {
// 默认查询盘点记录
Page<TAppInventoryRecord> page = inventoryQuery.toMpPage();
LambdaQueryWrapper<TAppInventoryRecord> lambdaQueryWrapper = new LambdaQueryWrapper<TAppInventoryRecord>()
.like(StringUtils.isNotEmpty(inventoryQuery.getGoodsId()), TAppInventoryRecord::getGoodsId, inventoryQuery.getGoodsId())
.like(StringUtils.isNotEmpty(inventoryQuery.getVehicleId()), TAppInventoryRecord::getVehicleId, inventoryQuery.getVehicleId())
.eq(inventoryQuery.getInvResult() != null, TAppInventoryRecord::getInvResult, inventoryQuery.getInvResult());
Page<TAppInventoryRecord> inventoryRecordPage = appInventoryRecordService.page(page, lambdaQueryWrapper);
PageVo<InventoryRecordVo> pageVo = PageVo.of(inventoryRecordPage, InventoryRecordVo::ofRecordPo);
return WmsApiResponse.success("查询盘点记录成功。", pageVo);
}
}
}

View File

@ -1102,7 +1102,8 @@ public class OutsExecutorServiceImpl implements IOutsExecutorService {
appWork.getFinishTime(),
appWork.getLackStatus(),
appWork.getIsOut(),
appWork.getProductType()
appWork.getProductType(),
appWork.getKittingRemark()
);
}

View File

@ -5,13 +5,13 @@
Source Server Type : MySQL
Source Server Version : 80404 (8.4.4)
Source Host : localhost:3306
Source Schema : wms_kate_wuxi_test
Source Schema : wms_kate_wuxi
Target Server Type : MySQL
Target Server Version : 80404 (8.4.4)
File Encoding : 65001
Date: 11/04/2025 11:03:02
Date: 23/04/2025 16:29:31
*/
SET NAMES utf8mb4;
@ -89,7 +89,6 @@ INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_i
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010007', '110002189152', '3749878-MA', '3749878', '2025-03-28', '2025-03-29', '2025-03-29', '2025-03-31', 3, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010008', '110002203993', '4413485-A', '4413485', '2025-03-28', '2025-03-29', '2025-03-29', '2025-03-31', 4, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010009', '110002203997', '4413485-A', '4413485', '2025-03-28', '2025-03-29', '2025-03-29', '2025-03-31', 4, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 0, NULL, NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010010', '110002189126', '6457847-A', '6457847', '2025-03-28', '2025-03-29', '2025-03-29', '2025-03-31', 5, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 0, NULL, NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010011', '110002189127', '6457847-A', '6457847', '2025-03-29', '2025-03-31', '2025-03-31', '2025-04-01', 13, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 0, NULL, NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010012', '110002189154', '5429999-A', '5429999', '2025-03-29', '2025-03-31', '2025-03-31', '2025-04-01', 9, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1742539653431010013', '110002189080', '2965662-A', '2965662', '2025-03-26', '2025-03-27', '2025-03-27', '2025-03-28', 10, '2#&3#组装配', '早班', 'NEU', 'Test 03#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-21 14:47:33', '管理员', NULL, NULL);
@ -138,7 +137,6 @@ INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_i
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809693010054', '110002196239', '2965662-MA', '2965662', '2025-04-03', '2025-04-07', '2025-04-07', '2025-04-08', 16, '2#&3#组装配', '早班', 'NEU', 'Test 03#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809693010055', '110002196234', '2119696-MA', '2119696', '2025-04-03', '2025-04-07', '2025-04-07', '2025-04-08', 4, '2#&3#组装配', '早班', 'NEU', 'Test 03#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809693010056', '110002196240', '2965662-MA', '2965662', '2025-04-03', '2025-04-07', '2025-04-07', '2025-04-08', 4, '2#&3#组装配', '早班', 'NEU', 'Test 03#', NULL, NULL, 1, 'P3', NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809694010059', '110002188911', '6063779-N', '6063779', '2025-03-31', '2025-04-01', '2025-04-01', '2025-04-02', 30, '1#&4#&5#组装配', '早班', 'TRS', 'Test 05#', '已K料', NULL, 0, NULL, NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809694010060', '110002195776', '5426075-A', '5426075', '2025-03-31', '2025-04-01', '2025-04-01', '2025-04-02', 3, '1#&4#&5#组装配', '早班', 'Fenix', 'Test 05#', '已K料', NULL, 0, NULL, NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743059809694010075', '110002195777', '5426077-A', '5426077', '2025-04-03', '2025-04-07', '2025-04-07', '2025-04-08', 4, '1#&4#&5#组装配', '早班', 'Fenix', 'Test 05#', NULL, NULL, 0, NULL, NULL, NULL, '2025-03-27 15:16:50', '管理员', NULL, NULL);
INSERT INTO `t_app_dbs` (`dbs_id`, `work_order`, `product_id_origin`, `product_id`, `test_plan_start_date`, `test_plan_finish_date`, `pnt_plan_start_date`, `pnt_plan_finish_date`, `plan_production`, `equipment_name`, `work_shift`, `family`, `test_no`, `kitting_remark`, `remark`, `dbs_status`, `work_stand`, `real_work_date`, `finish_time`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743659565894010000', '110002196274', '4560777', '4560777', '2025-04-07', '2025-04-08', '2025-04-08', '2025-04-09', 3, '1#&4#&5#组装配', '早班', 'Steering', 'Test 01#', '已K料', NULL, 0, NULL, NULL, NULL, '2025-04-03 13:52:46', '管理员', NULL, NULL);
@ -3849,6 +3847,61 @@ INSERT INTO `t_app_image` (`image_id`, `product_id`, `box_no`, `image_path`, `im
INSERT INTO `t_app_image` (`image_id`, `product_id`, `box_no`, `image_path`, `image_name`, `image_detail`, `image_type`, `first_import_time`, `first_import_user`, `last_update_time`, `last_update_user`) VALUES ('1743584147786010000', '5256743', 'H', './image', '5256743_H.PNG', '', 1, '2025-04-02 16:55:48', '管理员', NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for t_app_inventory
-- ----------------------------
DROP TABLE IF EXISTS `t_app_inventory`;
CREATE TABLE `t_app_inventory` (
`inventory_id` varchar(64) NOT NULL COMMENT '盘点任务id',
`goods_id` varchar(64) NOT NULL COMMENT '料号',
`vehicle_id` varchar(64) NOT NULL COMMENT '载具号',
`stock_num` int DEFAULT NULL COMMENT '库存数量',
`confirm_num` int DEFAULT NULL COMMENT '确认数量',
`inv_stand` varchar(64) NOT NULL COMMENT '盘点站台',
`inv_user` varchar(64) DEFAULT NULL COMMENT '盘点用户',
`inv_type` int NOT NULL COMMENT '盘点类型',
`inv_status` int NOT NULL COMMENT '盘点状态',
`inv_result` int DEFAULT NULL COMMENT '盘点结果',
`inv_create_time` datetime NOT NULL COMMENT '盘点创建时间',
`inv_confirm_time` datetime DEFAULT NULL COMMENT '盘点确认时间',
`inv_order_id` varchar(255) NOT NULL COMMENT '盘点单号',
PRIMARY KEY (`inventory_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- ----------------------------
-- Records of t_app_inventory
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for t_app_inventory_record
-- ----------------------------
DROP TABLE IF EXISTS `t_app_inventory_record`;
CREATE TABLE `t_app_inventory_record` (
`inventory_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '盘点任务id',
`goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '料号',
`vehicle_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号',
`stock_num` int DEFAULT NULL COMMENT '库存数量',
`confirm_num` int DEFAULT NULL COMMENT '确认数量',
`inv_stand` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '盘点站台',
`inv_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '盘点用户',
`inv_type` int NOT NULL COMMENT '盘点类型',
`inv_status` int NOT NULL COMMENT '盘点状态',
`inv_result` int DEFAULT NULL COMMENT '盘点结果',
`inv_create_time` datetime NOT NULL COMMENT '盘点创建时间',
`inv_confirm_time` datetime DEFAULT NULL COMMENT '盘点确认时间',
`inv_order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '盘点单号',
PRIMARY KEY (`inventory_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- ----------------------------
-- Records of t_app_inventory_record
-- ----------------------------
BEGIN;
INSERT INTO `t_app_inventory_record` (`inventory_id`, `goods_id`, `vehicle_id`, `stock_num`, `confirm_num`, `inv_stand`, `inv_user`, `inv_type`, `inv_status`, `inv_result`, `inv_create_time`, `inv_confirm_time`, `inv_order_id`) VALUES ('1744535455291010000', '7X0448', 'ASRS-0326', 310, 320, 'P1', '管理员', 1, 2, 1, '2025-04-13 17:10:55', '2025-04-13 17:17:21', '1744535455291010000');
COMMIT;
-- ----------------------------
-- Table structure for t_app_jobs
-- ----------------------------
@ -3868,12 +3921,12 @@ CREATE TABLE `t_app_jobs` (
-- ----------------------------
BEGIN;
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('DataSolver', 'com.wms_main.service.quartz_job.job_executor.DataSolver', '0/2 * * * * ? *', 2000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('OutsExecutor', 'com.wms_main.service.quartz_job.job_executor.OutsExecutor', '0/1 * * * * ? *', 1000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('OutsExecutor', 'com.wms_main.service.quartz_job.job_executor.OutsExecutor', '0/1 * * * * ? *', 1000, 1, 1);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('OutsRepair', 'com.wms_main.service.quartz_job.job_executor.OutsRepair', '0/5 * * * * ? *', 5000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('WcsPickTaskSender', 'com.wms_main.service.quartz_job.job_executor.WcsPickTaskSender', '0/1 * * * * ? *', 1000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('WcsStackerTaskSender', 'com.wms_main.service.quartz_job.job_executor.WcsStackerTaskSender', '0/1 * * * * ? *', 1000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('WmsTaskExecutor', 'com.wms_main.service.quartz_job.job_executor.WmsTaskExecutor', '0/1 * * * * ? *', 1000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('WmsTaskFinisher', 'com.wms_main.service.quartz_job.job_executor.WmsTaskFinisher', '0/1 * * * * ? *', 1000, 1, 0);
INSERT INTO `t_app_jobs` (`job_name`, `job_class`, `cron_expression`, `timer`, `timer_type`, `job_status`) VALUES ('WmsTaskFinisher', 'com.wms_main.service.quartz_job.job_executor.WmsTaskFinisher', '0/1 * * * * ? *', 1000, 1, 1);
COMMIT;
-- ----------------------------
@ -4951,7 +5004,7 @@ INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lo
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-06', '', 1, 0, 1, 0, 1, 1, 2, 23, 6, 1, 'ASRS-0147', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-07', '', 1, 0, 1, 0, 1, 1, 2, 23, 7, 1, 'ASRS-1755', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-08', '', 1, 0, 1, 0, 1, 1, 2, 23, 8, 1, 'ASRS-1824', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-09', '', 1, 0, 1, 0, 1, 1, 2, 23, 9, 1, 'ASRS-0326', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-09', '', 1, 0, 0, 0, 1, 1, 2, 23, 9, 1, '', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-10', '', 1, 0, 1, 0, 1, 1, 2, 23, 10, 1, 'ASRS-0567', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-11', '', 1, 0, 1, 0, 1, 1, 2, 23, 11, 1, 'ASRS-1048', 1, '');
INSERT INTO `t_app_location` (`location_id`, `outer_id`, `location_type`, `is_lock`, `is_occupy`, `is_working`, `equipment_id`, `tunnel_id`, `l_row`, `l_col`, `l_layer`, `l_depth`, `vehicle_id`, `area_id`, `sub_area`) VALUES ('A02-23-12', '', 1, 1, 0, 0, 1, 1, 2, 23, 12, 1, '', 1, '');
@ -6216,6 +6269,7 @@ CREATE TABLE `t_app_outs` (
-- Records of t_app_outs
-- ----------------------------
BEGIN;
INSERT INTO `t_app_outs` (`task_id`, `goods_id`, `vehicle_id`, `need_num`, `distribute_num`, `pick_num`, `out_type`, `destination`, `user_name`, `reason`, `request_time`) VALUES ('1745222923178010000', '', '', 1, 1, 0, 1, 'P1', '管理员', '', '2025-04-21 16:08:43');
COMMIT;
-- ----------------------------
@ -6349,6 +6403,7 @@ CREATE TABLE `t_app_pick_task` (
-- Records of t_app_pick_task
-- ----------------------------
BEGIN;
INSERT INTO `t_app_pick_task` (`pick_id`, `pick_stand`, `vehicle_id`, `pick_status`, `create_time`, `send_time`, `arrive_time`, `leave_time`) VALUES ('1744535455422010000', 'P1', 'ASRS-0326', 3, '2025-04-13 17:10:55', '2025-04-20 15:39:14', '2025-04-22 15:39:18', '2025-04-23 15:39:22');
COMMIT;
-- ----------------------------
@ -7230,7 +7285,7 @@ CREATE TABLE `t_app_product` (
`model` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '机型',
`product_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '成品号--dbs零件号',
`goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料号',
`goods_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料物料描述',
`goods_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '原材料物料描述',
`quantity_1_pair` int NOT NULL COMMENT '单套数量',
`box_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '料盒号',
`quantity_of_pair` int NOT NULL COMMENT '套数',
@ -17635,7 +17690,7 @@ CREATE TABLE `t_app_single_product` (
`model` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '机型',
`product_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '成品号--dbs零件号',
`goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料号',
`goods_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原材料物料描述',
`goods_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '原材料物料描述',
`quantity_1_pair` int NOT NULL COMMENT '单套数量',
`box_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '料盒号',
`quantity_of_pair` int NOT NULL COMMENT '套数',
@ -17688,7 +17743,7 @@ CREATE TABLE `t_app_stand` (
-- Records of t_app_stand
-- ----------------------------
BEGIN;
INSERT INTO `t_app_stand` (`stand_id`, `stand_type`, `stand_status`, `stand_ip`, `stand_name`, `stand_desc`, `last_update_time`, `last_update_user`) VALUES ('P1', 1, 1, '10.90.80.53', '1号拣选站台', '1号拣选站台', '2025-02-15 15:23:08', 'admin');
INSERT INTO `t_app_stand` (`stand_id`, `stand_type`, `stand_status`, `stand_ip`, `stand_name`, `stand_desc`, `last_update_time`, `last_update_user`) VALUES ('P1', 1, 1, '127.0.0.1', '1号拣选站台', '1号拣选站台', '2025-02-15 15:23:08', 'admin');
INSERT INTO `t_app_stand` (`stand_id`, `stand_type`, `stand_status`, `stand_ip`, `stand_name`, `stand_desc`, `last_update_time`, `last_update_user`) VALUES ('P2', 1, 1, '10.90.80.114', '2号拣选站台', '2号拣选站台', '2025-02-15 15:23:41', 'admin');
INSERT INTO `t_app_stand` (`stand_id`, `stand_type`, `stand_status`, `stand_ip`, `stand_name`, `stand_desc`, `last_update_time`, `last_update_user`) VALUES ('P3', 1, 1, '10.90.80.125', '3号拣选站台', '3号拣选站台', '2025-02-15 15:26:25', 'admin');
INSERT INTO `t_app_stand` (`stand_id`, `stand_type`, `stand_status`, `stand_ip`, `stand_name`, `stand_desc`, `last_update_time`, `last_update_user`) VALUES ('R1', 2, 1, '10.90.21.19', '1号入库站台', '1号入库站台', '2025-02-15 15:28:10', 'admin');
@ -17745,6 +17800,8 @@ CREATE TABLE `t_app_stock` (
`goods_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`expire_date` date DEFAULT NULL,
`sled` int DEFAULT NULL,
`last_inventory_time` datetime DEFAULT NULL COMMENT '上次盘点时间',
`last_inventory_id` varchar(64) DEFAULT NULL COMMENT '上次盘点id',
PRIMARY KEY (`stock_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
@ -17752,180 +17809,180 @@ CREATE TABLE `t_app_stock` (
-- Records of t_app_stock
-- ----------------------------
BEGIN;
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534689406010000', 'ASRS-0326', 'A02-23-09', 1, '7X0448', 0, '2025-03-21 13:23:03', 'clc', '2025-03-21 13:24:49', 'clc', 320, 320, 320, 'NUT-HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534724405010000', 'ASRS-0325', 'A04-29-04', 0, '6V8676', 0, '2025-03-21 13:23:56', 'clc', '2025-03-21 13:25:24', 'clc', 300, 300, 300, 'SEAL-O-RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534760406010000', 'ASRS-0324', 'A04-31-04', 0, '6V8398', 0, '2025-03-21 13:24:35', 'clc', '2025-04-01 10:09:28', 'clc', 2000, 1879, 1879, 'SEAL-O-RING-ORFS', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534779408010000', 'ASRS-0323', 'A04-30-03', 0, '8T4182', 0, '2025-03-21 13:24:55', 'clc', '2025-03-21 13:26:19', 'clc', 300, 300, 300, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534826405010000', 'ASRS-0322', 'A01-26-11', 0, '4J0519', 0, '2025-03-21 13:25:40', 'clc', '2025-03-21 13:27:06', 'clc', 500, 500, 500, 'SEAL-O-RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534865406010000', 'ASRS-0312', 'A04-31-02', 0, '3D4603', 0, '2025-03-21 13:26:19', 'clc', '2025-03-21 13:27:45', 'clc', 250, 250, 250, 'PLUG-PIPE', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534929405010000', 'ASRS-0311', 'A01-31-06', 0, '5S7383', 0, '2025-03-21 13:27:14', 'clc', '2025-03-21 13:28:49', 'clc', 400, 400, 400, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742534983407010000', 'ASRS-0310', 'A04-28-06', 0, '1159977', 0, '2025-03-21 13:28:20', 'clc', '2025-03-21 13:29:43', 'clc', 30, 30, 30, 'PLUG-LDSTOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742535050406010000', 'ASRS-0309', 'A01-32-05', 0, '9X8256', 0, '2025-03-21 13:29:22', 'clc', '2025-03-21 13:30:50', 'clc', 2000, 2000, 2000, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742535078405010000', 'ASRS-0308', 'A04-29-05', 0, '1H1023', 0, '2025-03-21 13:29:56', 'clc', '2025-03-21 13:31:18', 'clc', 500, 500, 500, 'SEAL-O RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742538914406010000', 'ASRS-0321', 'A02-33-04', 0, '7T8797', 0, '2025-03-21 14:33:48', 'clc', '2025-03-21 14:35:14', 'clc', 228, 228, 228, 'SPACER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742538942406010000', 'ASRS-0307', 'A03-27-08', 0, '6K0806', 0, '2025-03-21 14:34:20', 'clc', '2025-03-21 14:35:42', 'clc', 800, 800, 800, 'STRAP-CABLE', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742538976406010000', 'ASRS-0320', 'A02-34-04', 0, '5H6005', 0, '2025-03-21 14:34:47', 'clc', '2025-03-21 14:36:16', 'clc', 1400, 1400, 1400, 'SEAL-O RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742539022406010000', 'ASRS-0306', 'A03-35-04', 0, '5M2057', 0, '2025-03-21 14:35:07', 'clc', '2025-04-01 10:15:43', 'clc', 1000, 913, 913, 'SEAL-O-RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742539052405010000', 'ASRS-0319', 'A03-28-07', 0, '4J0527', 0, '2025-03-21 14:36:07', 'clc', '2025-03-21 14:37:32', 'clc', 250, 250, 250, 'SEAL-O-RING', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742539087406010000', 'ASRS-0318', 'A02-32-11', 0, '2S4078', 0, '2025-03-21 14:36:39', 'clc', '2025-04-01 09:26:26', 'clc', 450, 405, 405, 'SEAL-O-RING-STOR', '2030-03-20', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742539133405010000', 'ASRS-0317', 'A02-40-04', 0, '9S8001', 0, '2025-03-21 14:37:01', 'clc', '2025-04-01 09:47:03', 'clc', 1188, 1102, 1102, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742539135408010000', 'ASRS-0316', 'A01-41-04', 0, '8M3175', 0, '2025-03-21 14:37:32', 'clc', '2025-04-01 10:24:15', 'clc', 700, 526, 526, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742602980408010000', 'ASRS-0315', 'A01-34-06', 0, '9S4182', 0, '2025-03-22 08:21:36', 'clc', '2025-04-01 10:03:00', 'clc', 350, 56, 56, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742603043407010000', 'ASRS-0332', 'A01-32-11', 0, '9S8009', 0, '2025-03-22 08:22:27', 'clc', '2025-04-01 10:03:45', 'clc', 100, 13, 13, 'PLUG-LD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742603185405010000', 'ASRS-0333', 'A02-42-02', 0, '3676001', 0, '2025-03-22 08:22:06', 'clc', '2025-04-01 10:15:14', 'clc', 160, 72, 72, 'PLUG AS-HD STOR', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742603224405010000', 'ASRS-0305', 'A01-29-07', 0, '9S8003', 0, '2025-03-22 08:24:34', 'clc', '2025-04-01 10:09:16', 'clc', 500, 413, 413, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742603279406010000', 'ASRS-0304', 'A03-29-06', 0, '4K1388', 0, '2025-03-22 08:24:46', 'clc', '2025-04-01 10:03:09', 'clc', 600, 505, 505, 'SEAL-O-RING-STOR', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742615490405010000', 'ASRS-0297', 'A03-32-03', 0, '7B8194', 0, '2025-03-22 11:50:05', 'clc', '2025-03-28 09:26:10', 'clc', 183, 167, 167, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742615509408010000', 'ASRS-0299', 'A02-34-11', 0, '9J0477', 0, '2025-03-22 11:50:32', 'clc', '2025-03-28 09:25:42', 'clc', 46, 30, 30, 'PLUG', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742615541408010000', 'ASRS-0269', 'A01-36-07', 0, '8T9535', 0, '2025-03-22 11:50:53', 'clc', '2025-03-22 11:52:21', 'clc', 288, 288, 288, 'BOLT-HEX SKT HD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742615574405010000', 'ASRS-0250', 'A02-35-10', 0, '6J4694', 0, '2025-03-22 11:51:30', 'clc', '2025-03-28 09:26:17', 'clc', 297, 281, 281, 'PLUG-LD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742615619405010000', 'ASRS-0247', 'A01-42-01', 0, '7T8810', 0, '2025-03-22 11:52:16', 'clc', '2025-03-22 11:53:39', 'clc', 271, 271, 271, 'PLUNGER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624058414010000', 'ASRS-1907', 'A02-38-02', 0, '5H3193', 0, '2025-03-22 14:12:38', 'clc', '2025-03-26 15:31:56', 'clc', 200, 132, 132, 'PIN-SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624101407010000', 'ASRS-0370', 'A04-33-06', 0, '8T4224', 0, '2025-03-22 14:13:35', 'clc', '2025-03-22 14:15:01', 'clc', 3700, 3700, 3700, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624147405010000', 'ASRS-0368', 'A04-34-05', 0, '8T9383', 0, '2025-03-22 14:14:21', 'clc', '2025-03-22 14:15:47', 'clc', 300, 300, 300, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624151408010000', 'ASRS-0369', 'A02-36-07', 0, '4J9780', 0, '2025-03-22 14:13:49', 'clc', '2025-03-22 14:15:51', 'clc', 125, 125, 125, 'PLUG-NPTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624192406010000', 'ASRS-0366', 'A04-35-04', 0, '9J8126', 0, '2025-03-22 14:14:52', 'clc', '2025-03-22 14:16:32', 'clc', 300, 300, 300, 'PLUG-NPTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624198405010000', 'ASRS-0367', 'A02-37-06', 0, '8T4896', 0, '2025-03-22 14:14:39', 'clc', '2025-03-22 14:16:38', 'clc', 2500, 2500, 2500, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624239408010000', 'ASRS-1033', 'A04-36-03', 0, '1212051', 0, '2025-03-22 14:15:25', 'clc', '2025-03-22 14:17:19', 'clc', 200, 200, 200, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624246407010000', 'ASRS-0365', 'A02-38-05', 0, '9T4697', 0, '2025-03-22 14:15:05', 'clc', '2025-03-22 14:17:26', 'clc', 40, 40, 40, 'BOOT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624286407010000', 'ASRS-0363', 'A04-37-02', 0, '9T4685', 0, '2025-03-22 14:15:58', 'clc', '2025-03-22 14:18:06', 'clc', 200, 200, 200, 'SHIM', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624295406010000', 'ASRS-0361', 'A02-39-04', 0, '0304605', 0, '2025-03-22 14:15:33', 'clc', '2025-03-22 14:18:15', 'clc', 260, 260, 260, 'SEAL-O RING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624343405010000', 'ASRS-0267', 'A02-40-03', 0, '7J9933', 0, '2025-03-22 14:16:25', 'clc', '2025-03-22 14:19:03', 'clc', 300, 300, 300, 'SEAL-O RING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624378405010000', 'ASRS-0266', 'A03-29-11', 0, '6V4432', 0, '2025-03-22 14:16:56', 'clc', '2025-03-22 14:19:38', 'clc', 100, 100, 100, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624392407010000', 'ASRS-0268', 'A02-41-02', 0, '4H5232', 0, '2025-03-22 14:16:36', 'clc', '2025-03-22 14:19:52', 'clc', 1000, 1000, 1000, 'PIN-SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624421407010000', 'ASRS-0382', 'A03-30-10', 0, '8T2396', 0, '2025-03-22 14:17:23', 'clc', '2025-03-22 14:20:21', 'clc', 500, 500, 500, 'BOLT-SOCKET HD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624442405010000', 'ASRS-0265', 'A02-42-01', 0, '4J2506', 0, '2025-03-22 14:17:07', 'clc', '2025-03-22 14:20:42', 'clc', 720, 720, 720, 'SEAL-O RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624465405010000', 'ASRS-0380', 'A03-31-09', 0, '7X7888', 0, '2025-03-22 14:17:44', 'clc', '2025-03-22 14:21:05', 'clc', 250, 250, 250, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624489405010000', 'ASRS-0381', 'A01-33-11', 0, '7J0204', 0, '2025-03-22 14:17:35', 'clc', '2025-03-22 14:21:29', 'clc', 1000, 1000, 1000, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624536407010000', 'ASRS-0379', 'A01-34-10', 0, '6V5391', 0, '2025-03-22 14:17:54', 'clc', '2025-03-22 14:22:16', 'clc', 250, 250, 250, 'SEAL-O RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624556407010000', 'ASRS-0376', 'A02-33-11', 0, '7X0352', 0, '2025-03-22 14:20:47', 'clc', '2025-03-24 12:19:44', 'clc', 40, 36, 36, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624583407010000', 'ASRS-0377', 'A01-35-09', 0, '6J5899', 0, '2025-03-22 14:20:27', 'clc', '2025-03-22 14:23:03', 'clc', 20, 20, 20, 'COVER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624631407010000', 'ASRS-0354', 'A03-34-06', 0, '4J0524', 0, '2025-03-22 14:22:26', 'clc', '2025-03-22 14:23:51', 'clc', 400, 400, 400, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624645405010000', 'ASRS-0346', 'A01-36-08', 0, '4T1021', 0, '2025-03-22 14:22:37', 'clc', '2025-03-25 13:26:20', 'clc', 60, 55, 55, 'RETAINER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624725407010000', 'ASRS-0341', 'A03-33-07', 0, '4T0993', 0, '2025-03-22 14:23:27', 'clc', '2025-03-25 13:18:59', 'clc', 100, 86, 86, 'RETAINER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624740405010000', 'ASRS-0372', 'A01-38-06', 0, '2458472/X', 0, '2025-03-22 14:23:36', 'clc', '2025-03-22 14:25:40', 'clc', 250, 250, 250, 'PLUG-EXPANSION', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624788406010000', 'ASRS-0387', 'A01-39-05', 0, '4J8997', 0, '2025-03-22 14:23:46', 'clc', '2025-03-22 14:26:28', 'clc', 600, 600, 600, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624819408010000', 'ASRS-0390', 'A03-38-02', 0, '1089402', 0, '2025-03-22 14:24:14', 'clc', '2025-03-22 14:26:59', 'clc', 20, 20, 20, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624837405010000', 'ASRS-0391', 'A01-40-04', 0, '4D0514', 0, '2025-03-22 14:24:07', 'clc', '2025-03-22 14:27:17', 'clc', 150, 150, 150, 'PLUG-PTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624867405010000', 'ASRS-0389', 'A03-39-01', 0, '4T4207', 0, '2025-03-22 14:24:22', 'clc', '2025-03-22 14:27:47', 'clc', 75, 75, 75, 'PLUG-NPTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624885405010000', 'ASRS-0340', 'A01-39-06', 0, '1J9671', 0, '2025-03-22 14:24:32', 'clc', '2025-04-01 10:10:04', 'clc', 900, 797, 797, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624913407010000', 'ASRS-1898', 'A04-29-11', 0, '7M1297', 0, '2025-03-22 14:25:11', 'clc', '2025-03-22 14:28:33', 'clc', 55, 55, 55, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624935407010000', 'ASRS-0388', 'A03-31-04', 0, '6V8647', 0, '2025-03-22 14:25:21', 'clc', '2025-04-01 10:04:01', 'clc', 300, 126, 126, 'ADAPTER-STR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742624989407010000', 'ASRS-1901', 'A04-30-10', 0, '3J5553', 0, '2025-03-22 14:26:14', 'clc', '2025-03-22 14:29:49', 'clc', 150, 150, 150, 'GASKET', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742625029405010000', 'ASRS-0344', 'A02-34-10', 0, '1749194', 0, '2025-03-22 14:26:55', 'clc', '2025-03-22 14:30:29', 'clc', 700, 700, 700, 'BOLT-HEX FLG HD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742625064408010000', 'ASRS-0349', 'A04-31-09', 0, '6V5195', 0, '2025-03-22 14:26:39', 'clc', '2025-03-26 15:01:25', 'clc', 200, 196, 196, 'BOLT-SOCKET HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742625075407010000', 'ASRS-0339', 'A03-39-02', 0, '1D4566', 0, '2025-03-22 14:27:11', 'clc', '2025-03-24 10:11:05', 'clc', 100, 50, 50, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742625122405010000', 'ASRS-1902', 'A04-29-10', 0, '3P9498', 0, '2025-03-22 14:27:44', 'clc', '2025-04-01 10:16:56', 'clc', 100, 13, 13, 'PLUG-NPTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742625154405010000', 'ASRS-1905', 'A04-33-07', 0, '7X2535', 0, '2025-03-22 14:27:53', 'clc', '2025-03-22 14:32:34', 'clc', 600, 600, 600, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742627679407010000', 'ASRS-0352', 'A02-35-08', 0, '7X0272', 0, '2025-03-22 15:13:12', '管理员', '2025-03-22 15:14:39', '管理员', 500, 500, 500, 'BOLT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742627750407010000', 'ASRS-0345', 'A01-37-07', 0, '4D9986', 0, '2025-03-22 15:14:19', '管理员', '2025-03-22 15:15:50', '管理员', 1000, 1000, 1000, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742627757408010000', 'ASRS-0343', 'A04-32-07', 0, '2D6648', 0, '2025-03-22 15:14:42', '管理员', '2025-03-22 15:15:57', '管理员', 700, 700, 700, 'RING-RETAINING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742627831405010000', 'ASRS-0335', 'A01-33-10', 0, '8F9206', 0, '2025-03-22 15:15:41', '管理员', '2025-03-26 14:56:24', '管理员', 3485, 3394, 3394, 'SEAL-O-RING', '2030-03-21', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759169404010000', 'ASRS-1713', 'A02-38-06', 0, '8T5005', 0, '2025-03-24 03:39:53', '管理员', '2025-03-26 15:01:54', '管理员', 235, 183, 183, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759372405010000', 'ASRS-0545', 'A03-35-05', 0, '8T4121', 0, '2025-03-24 03:48:01', '管理员', '2025-03-26 15:07:05', '管理员', 2000, 1896, 1896, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759392405010000', 'ASRS-1245', 'A02-32-09', 0, '6V3965', 0, '2025-03-24 03:48:27', '管理员', '2025-04-01 09:21:03', '管理员', 250, 219, 219, 'NIPPLE-QDISC', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759472405010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-24 03:49:21', '管理员', '2025-03-26 15:07:41', '管理员', 70, 18, 18, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759484407010000', 'ASRS-1683', 'A01-35-10', 0, '6V0852', 0, '2025-03-24 03:49:27', '管理员', '2025-04-01 09:59:38', '管理员', 100, 69, 69, 'CAP-DUST', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759529405010000', 'ASRS-0350', 'A04-32-03', 0, '3D2824', 0, '2025-03-24 03:50:18', '管理员', '2025-04-01 10:04:43', '管理员', 1000, 556, 556, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759570405010000', 'ASRS-1026', 'A03-37-04', 0, '8T4196', 0, '2025-03-24 03:49:56', '管理员', '2025-03-26 15:08:29', '管理员', 425, 295, 295, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759576405010000', 'ASRS-0351', 'A03-36-04', 0, '7J1089', 0, '2025-03-24 03:50:25', '管理员', '2025-03-26 15:33:51', '管理员', 100, 66, 66, 'PLUG-O-RING SPL', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759617406010000', 'ASRS-0342', 'A04-30-11', 0, '7S0530', 0, '2025-03-24 03:50:46', '管理员', '2025-03-26 15:08:49', '管理员', 60, 47, 47, 'CLIP', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759623405010000', 'ASRS-1524', 'A01-31-08', 0, '2191891', 0, '2025-03-24 03:51:09', '管理员', '2025-04-01 11:40:53', '管理员', 150, 104, 104, 'PLUG AS.', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759670405010000', 'ASRS-0336', 'A01-42-02', 0, '3J1907', 0, '2025-03-24 03:51:13', '管理员', '2025-04-01 09:21:45', '管理员', 2700, 2623, 2623, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759710405010000', 'ASRS-0521', 'A04-32-08', 0, '6E5289', 0, '2025-03-24 03:51:36', '管理员', '2025-03-26 14:35:02', '管理员', 100, 74, 74, 'ADAPTER-STR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759716405010000', 'ASRS-1900', 'A01-39-02', 0, '9S8002', 0, '2025-03-24 03:51:40', '管理员', '2025-04-01 09:09:55', '管理员', 1000, 774, 774, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759757405010000', 'ASRS-1023', 'A03-38-03', 0, '4564624', 0, '2025-03-24 03:52:18', '管理员', '2025-03-26 14:17:00', '管理员', 25, 15, 15, 'VALVE GP-D RLF-B', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759806405010000', 'ASRS-1899', 'A04-35-05', 0, '9S8006', 0, '2025-03-24 03:52:22', '管理员', '2025-03-26 15:34:27', '管理员', 200, 183, 183, 'PLUG-LD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759810408010000', 'ASRS-0284', 'A03-34-07', 0, '6V9830', 0, '2025-03-24 03:53:47', '管理员', '2025-03-26 14:57:47', '管理员', 200, 174, 174, 'CAP', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759854405010000', 'ASRS-0270', 'A03-40-01', 0, '4564633', 0, '2025-03-24 03:53:11', '管理员', '2025-03-26 14:17:51', '管理员', 25, 15, 15, 'VALVE GP-D RLF-B', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759856407010000', 'ASRS-0383', 'A03-31-06', 0, '6V9833', 0, '2025-03-24 03:53:38', '管理员', '2025-04-01 09:26:42', '管理员', 50, 7, 7, 'CAP', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759946405010000', 'ASRS-1189', 'A03-32-09', 0, '4B9782', 0, '2025-03-24 03:55:05', '管理员', '2025-03-26 14:34:20', '管理员', 200, 127, 127, 'BALL', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759951408010000', 'ASRS-1030', 'A03-30-11', 0, '1298222', 0, '2025-03-24 03:54:33', '管理员', '2025-03-26 15:04:32', '管理员', 15, 12, 12, 'VALVE GP-D RLF-', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759991405010000', 'ASRS-0244', 'A02-34-09', 0, '5J2974', 0, '2025-03-24 03:55:30', '管理员', '2025-03-26 14:57:06', '管理员', 150, 124, 124, 'SEAL-O-RING', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742759999405010000', 'ASRS-1526', 'A02-41-01', 0, '3676002', 0, '2025-03-24 03:55:22', '管理员', '2025-04-01 10:16:35', '管理员', 600, 556, 556, 'PLUG AS-HD STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760038405010000', 'ASRS-0385', 'A02-41-03', 0, '4J0520', 0, '2025-03-24 03:56:52', '管理员', '2025-03-26 15:09:18', '管理员', 300, 261, 261, 'SEAL-O-RING', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760084407010000', 'ASRS-1249', 'A03-36-05', 0, '1268473', 0, '2025-03-24 03:54:37', '管理员', '2025-03-26 15:02:09', '管理员', 100, 87, 87, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760093405010000', 'ASRS-0517', 'A03-38-04', 0, '9S4191', 0, '2025-03-24 03:55:59', '管理员', '2025-04-01 08:41:07', '管理员', 500, 488, 488, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760131406010000', 'ASRS-0525', 'A02-35-09', 0, '5H4019', 0, '2025-03-24 03:57:27', '管理员', '2025-03-26 15:08:03', '管理员', 150, 124, 124, 'COVER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760139406010000', 'ASRS-0520', 'A03-34-08', 0, '2M9780', 0, '2025-03-24 03:54:58', '管理员', '2025-04-01 10:06:07', '管理员', 500, 396, 396, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760178405010000', 'ASRS-0334', 'A02-36-08', 0, '3J7354', 0, '2025-03-24 03:56:58', '管理员', '2025-04-01 10:07:43', '管理员', 1200, 569, 569, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760186405010000', 'ASRS-0384', 'A03-32-08', 0, '9S4185', 0, '2025-03-24 03:57:23', '管理员', '2025-04-01 09:14:34', '管理员', 250, 5, 5, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760225408010000', 'ASRS-0522', 'A03-37-03', 0, '2965987', 0, '2025-03-24 03:57:55', '管理员', '2025-04-01 11:41:12', '管理员', 500, 456, 456, 'PLUG', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742760283405010000', 'ASRS-1027', 'A01-39-08', 0, '3K0360', 0, '2025-03-24 03:57:51', '管理员', '2025-04-01 10:11:11', '管理员', 3000, 2435, 2435, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742778696406010000', 'ASRS-0527', 'A04-30-09', 0, '4J7533', 0, '2025-03-24 09:10:12', 'clc', '2025-04-01 09:49:34', 'clc', 500, 414, 414, 'SEAL-O-RING-STOR', '2030-03-23', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742778743417010000', 'ASRS-1034', 'A02-33-10', 0, '6E1925', 0, '2025-03-24 09:10:38', 'clc', '2025-04-01 10:20:55', 'clc', 50, 2, 2, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742865961612010000', 'ASRS-1531', 'A01-41-03', 0, '2521631', 0, '2025-03-25 09:24:36', '管理员', '2025-03-31 09:35:11', '管理员', 172, 44, 44, 'PLUG AS.', '2030-03-24', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742870290603010000', 'ASRS-1025', 'A02-37-03', 0, '6E1925', 0, '2025-03-25 10:36:57', '管理员', '2025-03-29 13:30:36', '管理员', 38, 33, 33, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742870321605010000', 'ASRS-1221', 'A02-36-09', 0, '9F6705', 0, '2025-03-25 10:37:32', '管理员', '2025-04-01 10:17:19', '管理员', 48, 33, 33, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742870503606010000', 'ASRS-0337', 'A01-42-05', 0, '6V9834', 0, '2025-03-25 10:40:21', '管理员', '2025-04-01 10:27:25', '管理员', 18, 5, 5, 'CAP-ORFS', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742870522606010000', 'ASRS-0519', 'A02-37-08', 0, '6E1924', 0, '2025-03-25 10:40:46', '管理员', '2025-04-01 10:22:34', '管理员', 38, 13, 13, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742871088605010000', 'ASRS-1088', 'A01-36-09', 0, '2191893', 0, '2025-03-25 10:50:16', '管理员', '2025-04-05 09:10:58', '管理员', 51, 22, 22, 'PLUG AS.', '2030-03-24', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742880319605010000', 'ASRS-1032', 'A01-40-07', 0, '3603693', 0, '2025-03-25 10:50:49', '管理员', '2025-04-01 10:12:37', '管理员', 50, 24, 24, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742957508606010000', 'ASRS-1443', 'A02-37-07', 0, '6E5291', 0, '2025-03-26 08:33:07', 'clc', '2025-03-26 14:58:09', 'clc', 150, 124, 124, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742957553607010000', 'ASRS-1030', 'A03-30-11', 0, '1298222', 0, '2025-03-26 08:34:55', 'clc', '2025-03-26 10:52:34', 'clc', 15, 15, 15, 'VALVE GP-D RLF-', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742957598606010000', 'ASRS-0338', 'A04-38-01', 0, '6V5230', 0, '2025-03-26 08:36:59', 'clc', '2025-04-01 10:24:27', 'clc', 250, 126, 126, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742957626605010000', 'ASRS-0386', 'A01-37-08', 0, '6J4568', 0, '2025-03-26 08:37:20', 'clc', '2025-03-31 09:27:23', 'clc', 70, 56, 56, 'BOOT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1742973803606010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-26 15:22:08', 'clc', '2025-03-26 15:23:24', 'clc', 140, 140, 140, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125074607010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-28 09:23:14', 'clc', '2025-03-28 09:24:35', 'clc', 70, 70, 70, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125323605010000', 'ASRS-1031', 'A01-37-09', 0, '6E1923', 0, '2025-03-28 09:27:26', 'clc', '2025-04-01 10:25:39', 'clc', 40, 13, 13, 'TUBE AS.', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125331608010000', 'ASRS-0386', 'A01-37-08', 0, '6J4568', 0, '2025-03-28 09:26:50', 'clc', '2025-03-28 09:28:52', 'clc', 70, 70, 70, 'BOOT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125369615010000', 'ASRS-1531', 'A01-41-03', 0, '2521631', 0, '2025-03-28 09:28:10', 'clc', '2025-03-28 09:29:30', 'clc', 200, 200, 200, 'PLUG AS.', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125382606010000', 'ASRS-1683', 'A01-35-10', 0, '6V0852', 0, '2025-03-28 09:27:47', 'clc', '2025-03-28 09:29:43', 'clc', 100, 100, 100, 'CAP-DUST', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125415603010000', 'ASRS-0348', 'A03-38-01', 0, '4681134', 0, '2025-03-28 09:28:23', 'clc', '2025-03-28 09:30:16', 'clc', 17, 17, 17, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125434606010000', 'ASRS-1254', 'A02-38-07', 0, '8C3206', 0, '2025-03-28 09:28:42', 'clc', '2025-03-28 09:30:35', 'clc', 70, 70, 70, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125461606010000', 'ASRS-1250', 'A03-31-10', 0, '3603690', 0, '2025-03-28 09:29:11', 'clc', '2025-03-28 09:31:02', 'clc', 50, 50, 50, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125486605010000', 'ASRS-1258', 'A02-39-06', 0, '4829841', 0, '2025-03-28 09:28:58', 'clc', '2025-03-28 09:31:27', 'clc', 100, 100, 100, 'RING-BACKUP', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125507605010000', 'ASRS-1592', 'A03-35-06', 0, '4J0522', 0, '2025-03-28 09:29:38', 'clc', '2025-03-28 09:31:48', 'clc', 400, 400, 400, 'SEAL-O-RING', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125539606010000', 'ASRS-1667', 'A02-40-05', 0, '1P4578', 0, '2025-03-28 09:29:25', 'clc', '2025-03-28 09:32:20', 'clc', 50, 50, 50, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125551607010000', 'ASRS-0378', 'A04-31-10', 0, '2N7029', 0, '2025-03-28 09:30:06', 'clc', '2025-03-28 09:32:32', 'clc', 50, 50, 50, 'SPRING-CONT PIN', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125592607010000', 'ASRS-1222', 'A02-41-04', 0, '4681135', 0, '2025-03-28 09:29:53', 'clc', '2025-03-28 09:33:13', 'clc', 14, 14, 14, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125596606010000', 'ASRS-1259', 'A04-32-09', 0, '9S8005', 0, '2025-03-28 09:30:34', 'clc', '2025-03-28 09:33:17', 'clc', 200, 200, 200, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125641606010000', 'ASRS-1219', 'A04-33-08', 0, '4681133', 0, '2025-03-28 09:30:50', 'clc', '2025-03-28 09:34:02', 'clc', 25, 25, 25, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125646606010000', 'ASRS-1220', 'A02-42-03', 0, '4M8239', 0, '2025-03-28 09:30:20', 'clc', '2025-03-28 09:34:07', 'clc', 60, 60, 60, 'COVER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125720605010000', 'ASRS-1271', 'A04-34-07', 0, '7X5308', 0, '2025-03-28 09:32:15', 'clc', '2025-03-28 09:35:21', 'clc', 100, 100, 100, 'CAP-DUST', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125727605010000', 'ASRS-1223', 'A01-35-11', 0, '9L9068', 0, '2025-03-28 09:31:04', 'clc', '2025-03-28 09:35:28', 'clc', 300, 300, 300, 'DOWEL', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125797605010000', 'ASRS-1660', 'A04-35-06', 0, '2608590', 0, '2025-03-28 09:32:27', 'clc', '2025-03-28 09:36:38', 'clc', 80, 80, 80, 'VALVE GP-SHTL -B', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125810603010000', 'ASRS-1244', 'A01-36-10', 0, '5H4020', 0, '2025-03-28 09:31:19', 'clc', '2025-03-28 09:36:51', 'clc', 100, 100, 100, 'FLANGE-COVER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125926611010000', 'ASRS-0384', 'A03-32-08', 0, '9S4185', 0, '2025-03-28 09:37:29', 'clc', '2025-03-28 09:38:47', 'clc', 250, 250, 250, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743125992605010000', 'ASRS-0525', 'A02-35-09', 0, '5H4019', 0, '2025-03-28 09:38:24', 'clc', '2025-03-28 09:39:53', 'clc', 150, 150, 150, 'COVER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126031606010000', 'ASRS-0501', 'A02-36-11', 0, '1488356', 0, '2025-03-28 09:39:08', 'clc', '2025-04-01 10:29:03', 'clc', 16, 2, 2, 'ADAPTER AS-ELBOW', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126083605010000', 'ASRS-0313', 'A01-38-08', 0, '9S4189', 0, '2025-03-28 09:39:56', 'clc', '2025-04-01 10:04:31', 'clc', 75, 63, 63, 'PLUG-EXT HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126089606010000', 'ASRS-0017', 'A04-36-05', 0, '7X5315', 0, '2025-03-28 09:40:11', 'clc', '2025-03-28 09:41:30', 'clc', 100, 100, 100, 'COUPLING-QDISC', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126135603010000', 'ASRS-1885', 'A01-40-05', 0, '6Y4638', 0, '2025-03-28 09:40:23', 'clc', '2025-03-28 09:42:16', 'clc', 60, 60, 60, 'PLUG-LD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126137606010000', 'ASRS-1630', 'A04-37-04', 0, '9S8004', 0, '2025-03-28 09:40:36', 'clc', '2025-03-28 09:42:18', 'clc', 600, 600, 600, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126182606010000', 'ASRS-0523', 'A04-38-03', 0, '2828827', 0, '2025-03-28 09:41:24', 'clc', '2025-03-28 09:43:03', 'clc', 500, 500, 500, 'PLUG-EXPANSION', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126187606010000', 'ASRS-0999', 'A01-39-07', 0, '3603692', 0, '2025-03-28 09:40:54', 'clc', '2025-03-28 09:43:08', 'clc', 300, 300, 300, 'PLUG-HD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126229609010000', 'ASRS-0362', 'A04-39-02', 0, '9T7419', 0, '2025-03-28 09:41:52', 'clc', '2025-03-28 09:43:50', 'clc', 8, 8, 8, 'VALVE GP-D RLF-B', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126240605010000', 'ASRS-0347', 'A01-40-06', 0, '8T4223', 0, '2025-03-28 09:41:38', 'clc', '2025-03-28 09:44:01', 'clc', 1000, 1000, 1000, 'WASHER-HARD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126277605010000', 'ASRS-0901', 'A04-40-01', 0, '3P1979', 0, '2025-03-28 09:42:15', 'clc', '2025-03-28 09:44:38', 'clc', 71, 71, 71, 'SEAL-O-RING', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126293605010000', 'ASRS-0371', 'A01-41-05', 0, '6V5555', 0, '2025-03-28 09:42:03', 'clc', '2025-03-28 09:44:54', 'clc', 500, 500, 500, 'SEAL-O RING', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126323605010000', 'ASRS-1604', 'A03-31-11', 0, '2660531', 0, '2025-03-28 09:42:58', 'clc', '2025-03-28 09:45:24', 'clc', 300, 300, 300, 'CAP-CONNECTOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126346603010000', 'ASRS-0889', 'A01-42-04', 0, '1483483', 0, '2025-03-28 09:42:31', 'clc', '2025-03-28 09:45:47', 'clc', 1000, 1000, 1000, 'PLUG', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126369607010000', 'ASRS-1371', 'A03-32-10', 0, '2147568', 0, '2025-03-28 09:43:23', 'clc', '2025-03-28 09:46:10', 'clc', 500, 500, 500, 'SEAL-O-RING-STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126399605010000', 'ASRS-1261', 'A02-35-11', 0, '1014845', 0, '2025-03-28 09:43:10', 'clc', '2025-03-28 09:46:40', 'clc', 100, 100, 100, 'PLUG-NPTF', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126414610010000', 'ASRS-0314', 'A03-33-09', 0, '1483483', 0, '2025-03-28 09:44:06', 'clc', '2025-03-28 09:46:55', 'clc', 600, 600, 600, 'PLUG', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126450606010000', 'ASRS-0302', 'A02-36-10', 0, '1160014', 0, '2025-03-28 09:43:51', 'clc', '2025-03-28 09:47:31', 'clc', 10, 10, 10, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126501612010000', 'ASRS-0327', 'A02-37-09', 0, '4681136', 0, '2025-03-28 09:44:32', 'clc', '2025-03-28 09:48:22', 'clc', 25, 25, 25, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743126553606010000', 'ASRS-1257', 'A02-38-08', 0, '7M8485', 0, '2025-03-28 09:44:42', 'clc', '2025-03-28 09:49:14', 'clc', 800, 800, 800, 'SEAL-O-RING-STOR', '2030-03-27', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743133813606010000', 'ASRS-1254', 'A02-38-07', 0, '8C3206', 0, '2025-03-28 11:48:55', 'clc', '2025-03-28 11:50:14', 'clc', 2, 2, 2, 'FLANGE-SPLIT', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743207961607010000', 'ASRS-0359', 'A04-31-05', 0, '1007000', 0, '2025-03-28 21:26:47', 'clc', '2025-04-01 10:13:21', 'clc', 140, 120, 120, 'Ring-back up', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209190603010000', 'ASRS-1529', 'A01-35-04', 0, '1007000', 0, '2025-03-29 08:44:55', '管理员', '2025-03-29 08:46:31', '管理员', 94, 94, 94, 'Ring-back up', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209207606010000', 'ASRS-0249', 'A04-05-06', 0, '6H2948', 0, '2025-03-29 08:45:37', '管理员', '2025-03-29 08:46:48', '管理员', 240, 240, 240, 'DOWEL', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209261607010000', 'ASRS-0276', 'A01-40-03', 0, '1501285', 0, '2025-03-29 08:46:03', '管理员', '2025-03-29 08:47:42', '管理员', 50, 50, 50, 'PLUG-BREATHER', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209300609010000', 'ASRS-1246', 'A04-02-11', 0, '2385082', 0, '2025-03-29 08:47:01', '管理员', '2025-03-29 08:48:21', '管理员', 500, 500, 500, 'SEAL-O-RING-STOR', '2030-03-28', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209314606010000', 'ASRS-0300', 'A01-41-02', 0, '9N4049', 0, '2025-03-29 08:46:10', '管理员', '2025-03-29 08:48:35', '管理员', 100, 100, 100, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209342605010000', 'ASRS-0248', 'A03-34-05', 0, '9S8008', 0, '2025-03-29 08:47:06', '管理员', '2025-03-29 08:49:03', '管理员', 150, 150, 150, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209401611010000', 'ASRS-1392', 'A04-28-11', 0, '3603695', 0, '2025-03-29 08:48:32', '管理员', '2025-03-29 08:50:02', '管理员', 100, 100, 100, 'PLUG-HD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743209407606010000', 'ASRS-1035', 'A01-38-09', 0, '0344160', 0, '2025-03-29 08:47:51', '管理员', '2025-03-29 08:50:08', '管理员', 150, 150, 150, 'BOLT-LOCKING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743220643144010000', 'ASRS-0273', 'A01-33-06', 0, '8T4196', 0, '2025-03-29 11:56:10', '管理员', '2025-03-29 11:57:23', '管理员', 425, 425, 425, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743220676126010000', 'ASRS-0328', 'A02-39-01', 0, '9S4684', 0, '2025-03-29 11:56:22', '管理员', '2025-03-29 11:57:56', '管理员', 50, 50, 50, 'PLUG-O-RING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743220729135010000', 'ASRS-0330', 'A02-39-05', 0, '3603688', 0, '2025-03-29 11:56:39', '管理员', '2025-03-29 11:58:49', '管理员', 200, 200, 200, 'PLUG-HD STOR', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743227358531010000', 'ASRS-0273', 'A01-33-06', 0, '8T4196', 0, '2025-03-29 13:47:59', '管理员', '2025-03-29 13:49:19', '管理员', 425, 425, 425, 'BOLT-HEX HEAD', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743229830531010000', 'ASRS-0331', 'A04-31-08', 0, '3T8236', 0, '2025-03-29 14:29:12', '管理员', '2025-04-01 10:17:45', '管理员', 44, 12, 12, 'SPRING', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743397363532010000', 'ASRS-0329', 'A01-34-11', 0, '8T8987', 0, '2025-03-31 13:01:17', '管理员', '2025-04-01 09:45:10', '管理员', 20, 8, 8, 'ADPTR-ELB 90 DEG', '2030-03-30', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743397406531010000', 'ASRS-0364', 'A01-36-03', 0, '8T8987', 0, '2025-03-31 13:01:50', '管理员', '2025-03-31 14:17:46', '管理员', 10, 9, 9, 'ADPTR-ELB 90 DEG', '2030-03-30', 1825);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743397592536010000', 'ASRS-0303', 'A01-41-06', 0, '8J6815', 0, '2025-03-31 13:05:17', '管理员', '2025-04-01 10:18:51', '管理员', 500, 458, 458, 'PLUG-INTL HEX', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`) VALUES ('1743401862531010000', 'ASRS-0298', 'A01-37-06', 0, '1007000', 0, '2025-03-31 14:15:37', '管理员', '2025-03-31 15:44:42', '管理员', 140, 134, 134, 'Ring-back up', NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534689406010000', 'ASRS-0326', '', 2, '7X0448', 0, '2025-03-21 13:23:03', 'clc', '2025-04-13 17:17:21', 'clc', 320, 320, 320, 'NUT-HEX', NULL, NULL, '2025-04-13 17:17:21', '1744535455291010000');
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534724405010000', 'ASRS-0325', 'A04-29-04', 0, '6V8676', 0, '2025-03-21 13:23:56', 'clc', '2025-03-21 13:25:24', 'clc', 300, 300, 300, 'SEAL-O-RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534760406010000', 'ASRS-0324', 'A04-31-04', 0, '6V8398', 0, '2025-03-21 13:24:35', 'clc', '2025-04-01 10:09:28', 'clc', 2000, 1879, 1879, 'SEAL-O-RING-ORFS', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534779408010000', 'ASRS-0323', 'A04-30-03', 0, '8T4182', 0, '2025-03-21 13:24:55', 'clc', '2025-03-21 13:26:19', 'clc', 300, 300, 300, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534826405010000', 'ASRS-0322', 'A01-26-11', 0, '4J0519', 0, '2025-03-21 13:25:40', 'clc', '2025-03-21 13:27:06', 'clc', 500, 500, 500, 'SEAL-O-RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534865406010000', 'ASRS-0312', 'A04-31-02', 0, '3D4603', 0, '2025-03-21 13:26:19', 'clc', '2025-03-21 13:27:45', 'clc', 250, 250, 250, 'PLUG-PIPE', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534929405010000', 'ASRS-0311', 'A01-31-06', 0, '5S7383', 0, '2025-03-21 13:27:14', 'clc', '2025-03-21 13:28:49', 'clc', 400, 400, 400, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742534983407010000', 'ASRS-0310', 'A04-28-06', 0, '1159977', 0, '2025-03-21 13:28:20', 'clc', '2025-03-21 13:29:43', 'clc', 30, 30, 30, 'PLUG-LDSTOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742535050406010000', 'ASRS-0309', 'A01-32-05', 0, '9X8256', 0, '2025-03-21 13:29:22', 'clc', '2025-03-21 13:30:50', 'clc', 2000, 2000, 2000, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742535078405010000', 'ASRS-0308', 'A04-29-05', 0, '1H1023', 0, '2025-03-21 13:29:56', 'clc', '2025-03-21 13:31:18', 'clc', 500, 500, 500, 'SEAL-O RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742538914406010000', 'ASRS-0321', 'A02-33-04', 0, '7T8797', 0, '2025-03-21 14:33:48', 'clc', '2025-03-21 14:35:14', 'clc', 228, 228, 228, 'SPACER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742538942406010000', 'ASRS-0307', 'A03-27-08', 0, '6K0806', 0, '2025-03-21 14:34:20', 'clc', '2025-03-21 14:35:42', 'clc', 800, 800, 800, 'STRAP-CABLE', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742538976406010000', 'ASRS-0320', 'A02-34-04', 0, '5H6005', 0, '2025-03-21 14:34:47', 'clc', '2025-03-21 14:36:16', 'clc', 1400, 1400, 1400, 'SEAL-O RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742539022406010000', 'ASRS-0306', 'A03-35-04', 0, '5M2057', 0, '2025-03-21 14:35:07', 'clc', '2025-04-01 10:15:43', 'clc', 1000, 913, 913, 'SEAL-O-RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742539052405010000', 'ASRS-0319', 'A03-28-07', 0, '4J0527', 0, '2025-03-21 14:36:07', 'clc', '2025-03-21 14:37:32', 'clc', 250, 250, 250, 'SEAL-O-RING', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742539087406010000', 'ASRS-0318', 'A02-32-11', 0, '2S4078', 0, '2025-03-21 14:36:39', 'clc', '2025-04-01 09:26:26', 'clc', 450, 405, 405, 'SEAL-O-RING-STOR', '2030-03-20', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742539133405010000', 'ASRS-0317', 'A02-40-04', 0, '9S8001', 0, '2025-03-21 14:37:01', 'clc', '2025-04-01 09:47:03', 'clc', 1188, 1102, 1102, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742539135408010000', 'ASRS-0316', 'A01-41-04', 0, '8M3175', 0, '2025-03-21 14:37:32', 'clc', '2025-04-01 10:24:15', 'clc', 700, 526, 526, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742602980408010000', 'ASRS-0315', 'A01-34-06', 0, '9S4182', 0, '2025-03-22 08:21:36', 'clc', '2025-04-01 10:03:00', 'clc', 350, 56, 56, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742603043407010000', 'ASRS-0332', 'A01-32-11', 0, '9S8009', 0, '2025-03-22 08:22:27', 'clc', '2025-04-01 10:03:45', 'clc', 100, 13, 13, 'PLUG-LD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742603185405010000', 'ASRS-0333', 'A02-42-02', 0, '3676001', 0, '2025-03-22 08:22:06', 'clc', '2025-04-01 10:15:14', 'clc', 160, 72, 72, 'PLUG AS-HD STOR', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742603224405010000', 'ASRS-0305', 'A01-29-07', 0, '9S8003', 0, '2025-03-22 08:24:34', 'clc', '2025-04-01 10:09:16', 'clc', 500, 413, 413, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742603279406010000', 'ASRS-0304', 'A03-29-06', 0, '4K1388', 0, '2025-03-22 08:24:46', 'clc', '2025-04-01 10:03:09', 'clc', 600, 505, 505, 'SEAL-O-RING-STOR', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742615490405010000', 'ASRS-0297', 'A03-32-03', 0, '7B8194', 0, '2025-03-22 11:50:05', 'clc', '2025-03-28 09:26:10', 'clc', 183, 167, 167, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742615509408010000', 'ASRS-0299', 'A02-34-11', 0, '9J0477', 0, '2025-03-22 11:50:32', 'clc', '2025-03-28 09:25:42', 'clc', 46, 30, 30, 'PLUG', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742615541408010000', 'ASRS-0269', 'A01-36-07', 0, '8T9535', 0, '2025-03-22 11:50:53', 'clc', '2025-03-22 11:52:21', 'clc', 288, 288, 288, 'BOLT-HEX SKT HD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742615574405010000', 'ASRS-0250', 'A02-35-10', 0, '6J4694', 0, '2025-03-22 11:51:30', 'clc', '2025-03-28 09:26:17', 'clc', 297, 281, 281, 'PLUG-LD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742615619405010000', 'ASRS-0247', 'A01-42-01', 0, '7T8810', 0, '2025-03-22 11:52:16', 'clc', '2025-03-22 11:53:39', 'clc', 271, 271, 271, 'PLUNGER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624058414010000', 'ASRS-1907', 'A02-38-02', 0, '5H3193', 0, '2025-03-22 14:12:38', 'clc', '2025-03-26 15:31:56', 'clc', 200, 132, 132, 'PIN-SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624101407010000', 'ASRS-0370', 'A04-33-06', 0, '8T4224', 0, '2025-03-22 14:13:35', 'clc', '2025-03-22 14:15:01', 'clc', 3700, 3700, 3700, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624147405010000', 'ASRS-0368', 'A04-34-05', 0, '8T9383', 0, '2025-03-22 14:14:21', 'clc', '2025-03-22 14:15:47', 'clc', 300, 300, 300, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624151408010000', 'ASRS-0369', 'A02-36-07', 0, '4J9780', 0, '2025-03-22 14:13:49', 'clc', '2025-03-22 14:15:51', 'clc', 125, 125, 125, 'PLUG-NPTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624192406010000', 'ASRS-0366', 'A04-35-04', 0, '9J8126', 0, '2025-03-22 14:14:52', 'clc', '2025-03-22 14:16:32', 'clc', 300, 300, 300, 'PLUG-NPTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624198405010000', 'ASRS-0367', 'A02-37-06', 0, '8T4896', 0, '2025-03-22 14:14:39', 'clc', '2025-03-22 14:16:38', 'clc', 2500, 2500, 2500, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624239408010000', 'ASRS-1033', 'A04-36-03', 0, '1212051', 0, '2025-03-22 14:15:25', 'clc', '2025-03-22 14:17:19', 'clc', 200, 200, 200, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624246407010000', 'ASRS-0365', 'A02-38-05', 0, '9T4697', 0, '2025-03-22 14:15:05', 'clc', '2025-03-22 14:17:26', 'clc', 40, 40, 40, 'BOOT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624286407010000', 'ASRS-0363', 'A04-37-02', 0, '9T4685', 0, '2025-03-22 14:15:58', 'clc', '2025-03-22 14:18:06', 'clc', 200, 200, 200, 'SHIM', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624295406010000', 'ASRS-0361', 'A02-39-04', 0, '0304605', 0, '2025-03-22 14:15:33', 'clc', '2025-03-22 14:18:15', 'clc', 260, 260, 260, 'SEAL-O RING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624343405010000', 'ASRS-0267', 'A02-40-03', 0, '7J9933', 0, '2025-03-22 14:16:25', 'clc', '2025-03-22 14:19:03', 'clc', 300, 300, 300, 'SEAL-O RING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624378405010000', 'ASRS-0266', 'A03-29-11', 0, '6V4432', 0, '2025-03-22 14:16:56', 'clc', '2025-03-22 14:19:38', 'clc', 100, 100, 100, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624392407010000', 'ASRS-0268', 'A02-41-02', 0, '4H5232', 0, '2025-03-22 14:16:36', 'clc', '2025-03-22 14:19:52', 'clc', 1000, 1000, 1000, 'PIN-SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624421407010000', 'ASRS-0382', 'A03-30-10', 0, '8T2396', 0, '2025-03-22 14:17:23', 'clc', '2025-03-22 14:20:21', 'clc', 500, 500, 500, 'BOLT-SOCKET HD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624442405010000', 'ASRS-0265', 'A02-42-01', 0, '4J2506', 0, '2025-03-22 14:17:07', 'clc', '2025-03-22 14:20:42', 'clc', 720, 720, 720, 'SEAL-O RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624465405010000', 'ASRS-0380', 'A03-31-09', 0, '7X7888', 0, '2025-03-22 14:17:44', 'clc', '2025-03-22 14:21:05', 'clc', 250, 250, 250, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624489405010000', 'ASRS-0381', 'A01-33-11', 0, '7J0204', 0, '2025-03-22 14:17:35', 'clc', '2025-03-22 14:21:29', 'clc', 1000, 1000, 1000, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624536407010000', 'ASRS-0379', 'A01-34-10', 0, '6V5391', 0, '2025-03-22 14:17:54', 'clc', '2025-03-22 14:22:16', 'clc', 250, 250, 250, 'SEAL-O RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624556407010000', 'ASRS-0376', 'A02-33-11', 0, '7X0352', 0, '2025-03-22 14:20:47', 'clc', '2025-03-24 12:19:44', 'clc', 40, 36, 36, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624583407010000', 'ASRS-0377', 'A01-35-09', 0, '6J5899', 0, '2025-03-22 14:20:27', 'clc', '2025-03-22 14:23:03', 'clc', 20, 20, 20, 'COVER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624631407010000', 'ASRS-0354', 'A03-34-06', 0, '4J0524', 0, '2025-03-22 14:22:26', 'clc', '2025-03-22 14:23:51', 'clc', 400, 400, 400, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624645405010000', 'ASRS-0346', 'A01-36-08', 0, '4T1021', 0, '2025-03-22 14:22:37', 'clc', '2025-03-25 13:26:20', 'clc', 60, 55, 55, 'RETAINER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624725407010000', 'ASRS-0341', 'A03-33-07', 0, '4T0993', 0, '2025-03-22 14:23:27', 'clc', '2025-03-25 13:18:59', 'clc', 100, 86, 86, 'RETAINER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624740405010000', 'ASRS-0372', 'A01-38-06', 0, '2458472/X', 0, '2025-03-22 14:23:36', 'clc', '2025-03-22 14:25:40', 'clc', 250, 250, 250, 'PLUG-EXPANSION', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624788406010000', 'ASRS-0387', 'A01-39-05', 0, '4J8997', 0, '2025-03-22 14:23:46', 'clc', '2025-03-22 14:26:28', 'clc', 600, 600, 600, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624819408010000', 'ASRS-0390', 'A03-38-02', 0, '1089402', 0, '2025-03-22 14:24:14', 'clc', '2025-03-22 14:26:59', 'clc', 20, 20, 20, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624837405010000', 'ASRS-0391', 'A01-40-04', 0, '4D0514', 0, '2025-03-22 14:24:07', 'clc', '2025-03-22 14:27:17', 'clc', 150, 150, 150, 'PLUG-PTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624867405010000', 'ASRS-0389', 'A03-39-01', 0, '4T4207', 0, '2025-03-22 14:24:22', 'clc', '2025-03-22 14:27:47', 'clc', 75, 75, 75, 'PLUG-NPTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624885405010000', 'ASRS-0340', 'A01-39-06', 0, '1J9671', 0, '2025-03-22 14:24:32', 'clc', '2025-04-01 10:10:04', 'clc', 900, 797, 797, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624913407010000', 'ASRS-1898', 'A04-29-11', 0, '7M1297', 0, '2025-03-22 14:25:11', 'clc', '2025-03-22 14:28:33', 'clc', 55, 55, 55, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624935407010000', 'ASRS-0388', 'A03-31-04', 0, '6V8647', 0, '2025-03-22 14:25:21', 'clc', '2025-04-01 10:04:01', 'clc', 300, 126, 126, 'ADAPTER-STR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742624989407010000', 'ASRS-1901', 'A04-30-10', 0, '3J5553', 0, '2025-03-22 14:26:14', 'clc', '2025-03-22 14:29:49', 'clc', 150, 150, 150, 'GASKET', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742625029405010000', 'ASRS-0344', 'A02-34-10', 0, '1749194', 0, '2025-03-22 14:26:55', 'clc', '2025-03-22 14:30:29', 'clc', 700, 700, 700, 'BOLT-HEX FLG HD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742625064408010000', 'ASRS-0349', 'A04-31-09', 0, '6V5195', 0, '2025-03-22 14:26:39', 'clc', '2025-03-26 15:01:25', 'clc', 200, 196, 196, 'BOLT-SOCKET HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742625075407010000', 'ASRS-0339', 'A03-39-02', 0, '1D4566', 0, '2025-03-22 14:27:11', 'clc', '2025-03-24 10:11:05', 'clc', 100, 50, 50, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742625122405010000', 'ASRS-1902', 'A04-29-10', 0, '3P9498', 0, '2025-03-22 14:27:44', 'clc', '2025-04-01 10:16:56', 'clc', 100, 13, 13, 'PLUG-NPTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742625154405010000', 'ASRS-1905', 'A04-33-07', 0, '7X2535', 0, '2025-03-22 14:27:53', 'clc', '2025-03-22 14:32:34', 'clc', 600, 600, 600, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742627679407010000', 'ASRS-0352', 'A02-35-08', 0, '7X0272', 0, '2025-03-22 15:13:12', '管理员', '2025-03-22 15:14:39', '管理员', 500, 500, 500, 'BOLT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742627750407010000', 'ASRS-0345', 'A01-37-07', 0, '4D9986', 0, '2025-03-22 15:14:19', '管理员', '2025-03-22 15:15:50', '管理员', 1000, 1000, 1000, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742627757408010000', 'ASRS-0343', 'A04-32-07', 0, '2D6648', 0, '2025-03-22 15:14:42', '管理员', '2025-03-22 15:15:57', '管理员', 700, 700, 700, 'RING-RETAINING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742627831405010000', 'ASRS-0335', 'A01-33-10', 0, '8F9206', 0, '2025-03-22 15:15:41', '管理员', '2025-03-26 14:56:24', '管理员', 3485, 3394, 3394, 'SEAL-O-RING', '2030-03-21', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759169404010000', 'ASRS-1713', 'A02-38-06', 0, '8T5005', 0, '2025-03-24 03:39:53', '管理员', '2025-03-26 15:01:54', '管理员', 235, 183, 183, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759372405010000', 'ASRS-0545', 'A03-35-05', 0, '8T4121', 0, '2025-03-24 03:48:01', '管理员', '2025-03-26 15:07:05', '管理员', 2000, 1896, 1896, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759392405010000', 'ASRS-1245', 'A02-32-09', 0, '6V3965', 0, '2025-03-24 03:48:27', '管理员', '2025-04-01 09:21:03', '管理员', 250, 219, 219, 'NIPPLE-QDISC', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759472405010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-24 03:49:21', '管理员', '2025-03-26 15:07:41', '管理员', 70, 18, 18, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759484407010000', 'ASRS-1683', 'A01-35-10', 0, '6V0852', 0, '2025-03-24 03:49:27', '管理员', '2025-04-01 09:59:38', '管理员', 100, 69, 69, 'CAP-DUST', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759529405010000', 'ASRS-0350', 'A04-32-03', 0, '3D2824', 0, '2025-03-24 03:50:18', '管理员', '2025-04-01 10:04:43', '管理员', 1000, 556, 556, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759570405010000', 'ASRS-1026', 'A03-37-04', 0, '8T4196', 0, '2025-03-24 03:49:56', '管理员', '2025-03-26 15:08:29', '管理员', 425, 295, 295, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759576405010000', 'ASRS-0351', 'A03-36-04', 0, '7J1089', 0, '2025-03-24 03:50:25', '管理员', '2025-03-26 15:33:51', '管理员', 100, 66, 66, 'PLUG-O-RING SPL', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759617406010000', 'ASRS-0342', 'A04-30-11', 0, '7S0530', 0, '2025-03-24 03:50:46', '管理员', '2025-03-26 15:08:49', '管理员', 60, 47, 47, 'CLIP', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759623405010000', 'ASRS-1524', 'A01-31-08', 0, '2191891', 0, '2025-03-24 03:51:09', '管理员', '2025-04-01 11:40:53', '管理员', 150, 104, 104, 'PLUG AS.', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759670405010000', 'ASRS-0336', 'A01-42-02', 0, '3J1907', 0, '2025-03-24 03:51:13', '管理员', '2025-04-01 09:21:45', '管理员', 2700, 2623, 2623, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759710405010000', 'ASRS-0521', 'A04-32-08', 0, '6E5289', 0, '2025-03-24 03:51:36', '管理员', '2025-03-26 14:35:02', '管理员', 100, 74, 74, 'ADAPTER-STR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759716405010000', 'ASRS-1900', 'A01-39-02', 0, '9S8002', 0, '2025-03-24 03:51:40', '管理员', '2025-04-01 09:09:55', '管理员', 1000, 774, 774, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759757405010000', 'ASRS-1023', 'A03-38-03', 0, '4564624', 0, '2025-03-24 03:52:18', '管理员', '2025-03-26 14:17:00', '管理员', 25, 15, 15, 'VALVE GP-D RLF-B', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759806405010000', 'ASRS-1899', 'A04-35-05', 0, '9S8006', 0, '2025-03-24 03:52:22', '管理员', '2025-03-26 15:34:27', '管理员', 200, 183, 183, 'PLUG-LD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759810408010000', 'ASRS-0284', 'A03-34-07', 0, '6V9830', 0, '2025-03-24 03:53:47', '管理员', '2025-03-26 14:57:47', '管理员', 200, 174, 174, 'CAP', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759854405010000', 'ASRS-0270', 'A03-40-01', 0, '4564633', 0, '2025-03-24 03:53:11', '管理员', '2025-03-26 14:17:51', '管理员', 25, 15, 15, 'VALVE GP-D RLF-B', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759856407010000', 'ASRS-0383', 'A03-31-06', 0, '6V9833', 0, '2025-03-24 03:53:38', '管理员', '2025-04-01 09:26:42', '管理员', 50, 7, 7, 'CAP', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759946405010000', 'ASRS-1189', 'A03-32-09', 0, '4B9782', 0, '2025-03-24 03:55:05', '管理员', '2025-03-26 14:34:20', '管理员', 200, 127, 127, 'BALL', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759951408010000', 'ASRS-1030', 'A03-30-11', 0, '1298222', 0, '2025-03-24 03:54:33', '管理员', '2025-03-26 15:04:32', '管理员', 15, 12, 12, 'VALVE GP-D RLF-', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759991405010000', 'ASRS-0244', 'A02-34-09', 0, '5J2974', 0, '2025-03-24 03:55:30', '管理员', '2025-03-26 14:57:06', '管理员', 150, 124, 124, 'SEAL-O-RING', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742759999405010000', 'ASRS-1526', 'A02-41-01', 0, '3676002', 0, '2025-03-24 03:55:22', '管理员', '2025-04-01 10:16:35', '管理员', 600, 556, 556, 'PLUG AS-HD STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760038405010000', 'ASRS-0385', 'A02-41-03', 0, '4J0520', 0, '2025-03-24 03:56:52', '管理员', '2025-03-26 15:09:18', '管理员', 300, 261, 261, 'SEAL-O-RING', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760084407010000', 'ASRS-1249', 'A03-36-05', 0, '1268473', 0, '2025-03-24 03:54:37', '管理员', '2025-03-26 15:02:09', '管理员', 100, 87, 87, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760093405010000', 'ASRS-0517', 'A03-38-04', 0, '9S4191', 0, '2025-03-24 03:55:59', '管理员', '2025-04-01 08:41:07', '管理员', 500, 488, 488, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760131406010000', 'ASRS-0525', 'A02-35-09', 0, '5H4019', 0, '2025-03-24 03:57:27', '管理员', '2025-03-26 15:08:03', '管理员', 150, 124, 124, 'COVER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760139406010000', 'ASRS-0520', 'A03-34-08', 0, '2M9780', 0, '2025-03-24 03:54:58', '管理员', '2025-04-01 10:06:07', '管理员', 500, 396, 396, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760178405010000', 'ASRS-0334', 'A02-36-08', 0, '3J7354', 0, '2025-03-24 03:56:58', '管理员', '2025-04-01 10:07:43', '管理员', 1200, 569, 569, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760186405010000', 'ASRS-0384', 'A03-32-08', 0, '9S4185', 0, '2025-03-24 03:57:23', '管理员', '2025-04-01 09:14:34', '管理员', 250, 5, 5, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760225408010000', 'ASRS-0522', 'A03-37-03', 0, '2965987', 0, '2025-03-24 03:57:55', '管理员', '2025-04-01 11:41:12', '管理员', 500, 456, 456, 'PLUG', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742760283405010000', 'ASRS-1027', 'A01-39-08', 0, '3K0360', 0, '2025-03-24 03:57:51', '管理员', '2025-04-01 10:11:11', '管理员', 3000, 2435, 2435, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742778696406010000', 'ASRS-0527', 'A04-30-09', 0, '4J7533', 0, '2025-03-24 09:10:12', 'clc', '2025-04-01 09:49:34', 'clc', 500, 414, 414, 'SEAL-O-RING-STOR', '2030-03-23', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742778743417010000', 'ASRS-1034', 'A02-33-10', 0, '6E1925', 0, '2025-03-24 09:10:38', 'clc', '2025-04-01 10:20:55', 'clc', 50, 2, 2, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742865961612010000', 'ASRS-1531', 'A01-41-03', 0, '2521631', 0, '2025-03-25 09:24:36', '管理员', '2025-03-31 09:35:11', '管理员', 172, 44, 44, 'PLUG AS.', '2030-03-24', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742870290603010000', 'ASRS-1025', 'A02-37-03', 0, '6E1925', 0, '2025-03-25 10:36:57', '管理员', '2025-03-29 13:30:36', '管理员', 38, 33, 33, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742870321605010000', 'ASRS-1221', 'A02-36-09', 0, '9F6705', 0, '2025-03-25 10:37:32', '管理员', '2025-04-01 10:17:19', '管理员', 48, 33, 33, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742870503606010000', 'ASRS-0337', 'A01-42-05', 0, '6V9834', 0, '2025-03-25 10:40:21', '管理员', '2025-04-01 10:27:25', '管理员', 18, 5, 5, 'CAP-ORFS', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742870522606010000', 'ASRS-0519', 'A02-37-08', 0, '6E1924', 0, '2025-03-25 10:40:46', '管理员', '2025-04-01 10:22:34', '管理员', 38, 13, 13, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742871088605010000', 'ASRS-1088', 'A01-36-09', 0, '2191893', 0, '2025-03-25 10:50:16', '管理员', '2025-04-05 09:10:58', '管理员', 51, 22, 22, 'PLUG AS.', '2030-03-24', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742880319605010000', 'ASRS-1032', 'A01-40-07', 0, '3603693', 0, '2025-03-25 10:50:49', '管理员', '2025-04-01 10:12:37', '管理员', 50, 24, 24, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742957508606010000', 'ASRS-1443', 'A02-37-07', 0, '6E5291', 0, '2025-03-26 08:33:07', 'clc', '2025-03-26 14:58:09', 'clc', 150, 124, 124, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742957553607010000', 'ASRS-1030', 'A03-30-11', 0, '1298222', 0, '2025-03-26 08:34:55', 'clc', '2025-03-26 10:52:34', 'clc', 15, 15, 15, 'VALVE GP-D RLF-', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742957598606010000', 'ASRS-0338', 'A04-38-01', 0, '6V5230', 0, '2025-03-26 08:36:59', 'clc', '2025-04-01 10:24:27', 'clc', 250, 126, 126, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742957626605010000', 'ASRS-0386', 'A01-37-08', 0, '6J4568', 0, '2025-03-26 08:37:20', 'clc', '2025-03-31 09:27:23', 'clc', 70, 56, 56, 'BOOT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1742973803606010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-26 15:22:08', 'clc', '2025-03-26 15:23:24', 'clc', 140, 140, 140, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125074607010000', 'ASRS-1528', 'A01-38-07', 0, '8C3206', 0, '2025-03-28 09:23:14', 'clc', '2025-03-28 09:24:35', 'clc', 70, 70, 70, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125323605010000', 'ASRS-1031', 'A01-37-09', 0, '6E1923', 0, '2025-03-28 09:27:26', 'clc', '2025-04-01 10:25:39', 'clc', 40, 13, 13, 'TUBE AS.', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125331608010000', 'ASRS-0386', 'A01-37-08', 0, '6J4568', 0, '2025-03-28 09:26:50', 'clc', '2025-03-28 09:28:52', 'clc', 70, 70, 70, 'BOOT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125369615010000', 'ASRS-1531', 'A01-41-03', 0, '2521631', 0, '2025-03-28 09:28:10', 'clc', '2025-03-28 09:29:30', 'clc', 200, 200, 200, 'PLUG AS.', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125382606010000', 'ASRS-1683', 'A01-35-10', 0, '6V0852', 0, '2025-03-28 09:27:47', 'clc', '2025-03-28 09:29:43', 'clc', 100, 100, 100, 'CAP-DUST', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125415603010000', 'ASRS-0348', 'A03-38-01', 0, '4681134', 0, '2025-03-28 09:28:23', 'clc', '2025-03-28 09:30:16', 'clc', 17, 17, 17, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125434606010000', 'ASRS-1254', 'A02-38-07', 0, '8C3206', 0, '2025-03-28 09:28:42', 'clc', '2025-03-28 09:30:35', 'clc', 70, 70, 70, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125461606010000', 'ASRS-1250', 'A03-31-10', 0, '3603690', 0, '2025-03-28 09:29:11', 'clc', '2025-03-28 09:31:02', 'clc', 50, 50, 50, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125486605010000', 'ASRS-1258', 'A02-39-06', 0, '4829841', 0, '2025-03-28 09:28:58', 'clc', '2025-03-28 09:31:27', 'clc', 100, 100, 100, 'RING-BACKUP', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125507605010000', 'ASRS-1592', 'A03-35-06', 0, '4J0522', 0, '2025-03-28 09:29:38', 'clc', '2025-03-28 09:31:48', 'clc', 400, 400, 400, 'SEAL-O-RING', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125539606010000', 'ASRS-1667', 'A02-40-05', 0, '1P4578', 0, '2025-03-28 09:29:25', 'clc', '2025-03-28 09:32:20', 'clc', 50, 50, 50, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125551607010000', 'ASRS-0378', 'A04-31-10', 0, '2N7029', 0, '2025-03-28 09:30:06', 'clc', '2025-03-28 09:32:32', 'clc', 50, 50, 50, 'SPRING-CONT PIN', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125592607010000', 'ASRS-1222', 'A02-41-04', 0, '4681135', 0, '2025-03-28 09:29:53', 'clc', '2025-03-28 09:33:13', 'clc', 14, 14, 14, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125596606010000', 'ASRS-1259', 'A04-32-09', 0, '9S8005', 0, '2025-03-28 09:30:34', 'clc', '2025-03-28 09:33:17', 'clc', 200, 200, 200, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125641606010000', 'ASRS-1219', 'A04-33-08', 0, '4681133', 0, '2025-03-28 09:30:50', 'clc', '2025-03-28 09:34:02', 'clc', 25, 25, 25, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125646606010000', 'ASRS-1220', 'A02-42-03', 0, '4M8239', 0, '2025-03-28 09:30:20', 'clc', '2025-03-28 09:34:07', 'clc', 60, 60, 60, 'COVER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125720605010000', 'ASRS-1271', 'A04-34-07', 0, '7X5308', 0, '2025-03-28 09:32:15', 'clc', '2025-03-28 09:35:21', 'clc', 100, 100, 100, 'CAP-DUST', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125727605010000', 'ASRS-1223', 'A01-35-11', 0, '9L9068', 0, '2025-03-28 09:31:04', 'clc', '2025-03-28 09:35:28', 'clc', 300, 300, 300, 'DOWEL', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125797605010000', 'ASRS-1660', 'A04-35-06', 0, '2608590', 0, '2025-03-28 09:32:27', 'clc', '2025-03-28 09:36:38', 'clc', 80, 80, 80, 'VALVE GP-SHTL -B', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125810603010000', 'ASRS-1244', 'A01-36-10', 0, '5H4020', 0, '2025-03-28 09:31:19', 'clc', '2025-03-28 09:36:51', 'clc', 100, 100, 100, 'FLANGE-COVER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125926611010000', 'ASRS-0384', 'A03-32-08', 0, '9S4185', 0, '2025-03-28 09:37:29', 'clc', '2025-03-28 09:38:47', 'clc', 250, 250, 250, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743125992605010000', 'ASRS-0525', 'A02-35-09', 0, '5H4019', 0, '2025-03-28 09:38:24', 'clc', '2025-03-28 09:39:53', 'clc', 150, 150, 150, 'COVER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126031606010000', 'ASRS-0501', 'A02-36-11', 0, '1488356', 0, '2025-03-28 09:39:08', 'clc', '2025-04-01 10:29:03', 'clc', 16, 2, 2, 'ADAPTER AS-ELBOW', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126083605010000', 'ASRS-0313', 'A01-38-08', 0, '9S4189', 0, '2025-03-28 09:39:56', 'clc', '2025-04-01 10:04:31', 'clc', 75, 63, 63, 'PLUG-EXT HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126089606010000', 'ASRS-0017', 'A04-36-05', 0, '7X5315', 0, '2025-03-28 09:40:11', 'clc', '2025-03-28 09:41:30', 'clc', 100, 100, 100, 'COUPLING-QDISC', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126135603010000', 'ASRS-1885', 'A01-40-05', 0, '6Y4638', 0, '2025-03-28 09:40:23', 'clc', '2025-03-28 09:42:16', 'clc', 60, 60, 60, 'PLUG-LD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126137606010000', 'ASRS-1630', 'A04-37-04', 0, '9S8004', 0, '2025-03-28 09:40:36', 'clc', '2025-03-28 09:42:18', 'clc', 600, 600, 600, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126182606010000', 'ASRS-0523', 'A04-38-03', 0, '2828827', 0, '2025-03-28 09:41:24', 'clc', '2025-03-28 09:43:03', 'clc', 500, 500, 500, 'PLUG-EXPANSION', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126187606010000', 'ASRS-0999', 'A01-39-07', 0, '3603692', 0, '2025-03-28 09:40:54', 'clc', '2025-03-28 09:43:08', 'clc', 300, 300, 300, 'PLUG-HD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126229609010000', 'ASRS-0362', 'A04-39-02', 0, '9T7419', 0, '2025-03-28 09:41:52', 'clc', '2025-03-28 09:43:50', 'clc', 8, 8, 8, 'VALVE GP-D RLF-B', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126240605010000', 'ASRS-0347', 'A01-40-06', 0, '8T4223', 0, '2025-03-28 09:41:38', 'clc', '2025-03-28 09:44:01', 'clc', 1000, 1000, 1000, 'WASHER-HARD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126277605010000', 'ASRS-0901', 'A04-40-01', 0, '3P1979', 0, '2025-03-28 09:42:15', 'clc', '2025-03-28 09:44:38', 'clc', 71, 71, 71, 'SEAL-O-RING', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126293605010000', 'ASRS-0371', 'A01-41-05', 0, '6V5555', 0, '2025-03-28 09:42:03', 'clc', '2025-03-28 09:44:54', 'clc', 500, 500, 500, 'SEAL-O RING', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126323605010000', 'ASRS-1604', 'A03-31-11', 0, '2660531', 0, '2025-03-28 09:42:58', 'clc', '2025-03-28 09:45:24', 'clc', 300, 300, 300, 'CAP-CONNECTOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126346603010000', 'ASRS-0889', 'A01-42-04', 0, '1483483', 0, '2025-03-28 09:42:31', 'clc', '2025-03-28 09:45:47', 'clc', 1000, 1000, 1000, 'PLUG', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126369607010000', 'ASRS-1371', 'A03-32-10', 0, '2147568', 0, '2025-03-28 09:43:23', 'clc', '2025-03-28 09:46:10', 'clc', 500, 500, 500, 'SEAL-O-RING-STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126399605010000', 'ASRS-1261', 'A02-35-11', 0, '1014845', 0, '2025-03-28 09:43:10', 'clc', '2025-03-28 09:46:40', 'clc', 100, 100, 100, 'PLUG-NPTF', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126414610010000', 'ASRS-0314', 'A03-33-09', 0, '1483483', 0, '2025-03-28 09:44:06', 'clc', '2025-03-28 09:46:55', 'clc', 600, 600, 600, 'PLUG', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126450606010000', 'ASRS-0302', 'A02-36-10', 0, '1160014', 0, '2025-03-28 09:43:51', 'clc', '2025-03-28 09:47:31', 'clc', 10, 10, 10, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126501612010000', 'ASRS-0327', 'A02-37-09', 0, '4681136', 0, '2025-03-28 09:44:32', 'clc', '2025-03-28 09:48:22', 'clc', 25, 25, 25, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743126553606010000', 'ASRS-1257', 'A02-38-08', 0, '7M8485', 0, '2025-03-28 09:44:42', 'clc', '2025-03-28 09:49:14', 'clc', 800, 800, 800, 'SEAL-O-RING-STOR', '2030-03-27', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743133813606010000', 'ASRS-1254', 'A02-38-07', 0, '8C3206', 0, '2025-03-28 11:48:55', 'clc', '2025-03-28 11:50:14', 'clc', 2, 2, 2, 'FLANGE-SPLIT', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743207961607010000', 'ASRS-0359', 'A04-31-05', 0, '1007000', 0, '2025-03-28 21:26:47', 'clc', '2025-04-01 10:13:21', 'clc', 140, 120, 120, 'Ring-back up', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209190603010000', 'ASRS-1529', 'A01-35-04', 0, '1007000', 0, '2025-03-29 08:44:55', '管理员', '2025-03-29 08:46:31', '管理员', 94, 94, 94, 'Ring-back up', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209207606010000', 'ASRS-0249', 'A04-05-06', 0, '6H2948', 0, '2025-03-29 08:45:37', '管理员', '2025-03-29 08:46:48', '管理员', 240, 240, 240, 'DOWEL', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209261607010000', 'ASRS-0276', 'A01-40-03', 0, '1501285', 0, '2025-03-29 08:46:03', '管理员', '2025-03-29 08:47:42', '管理员', 50, 50, 50, 'PLUG-BREATHER', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209300609010000', 'ASRS-1246', 'A04-02-11', 0, '2385082', 0, '2025-03-29 08:47:01', '管理员', '2025-03-29 08:48:21', '管理员', 500, 500, 500, 'SEAL-O-RING-STOR', '2030-03-28', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209314606010000', 'ASRS-0300', 'A01-41-02', 0, '9N4049', 0, '2025-03-29 08:46:10', '管理员', '2025-03-29 08:48:35', '管理员', 100, 100, 100, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209342605010000', 'ASRS-0248', 'A03-34-05', 0, '9S8008', 0, '2025-03-29 08:47:06', '管理员', '2025-03-29 08:49:03', '管理员', 150, 150, 150, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209401611010000', 'ASRS-1392', 'A04-28-11', 0, '3603695', 0, '2025-03-29 08:48:32', '管理员', '2025-03-29 08:50:02', '管理员', 100, 100, 100, 'PLUG-HD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743209407606010000', 'ASRS-1035', 'A01-38-09', 0, '0344160', 0, '2025-03-29 08:47:51', '管理员', '2025-03-29 08:50:08', '管理员', 150, 150, 150, 'BOLT-LOCKING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743220643144010000', 'ASRS-0273', 'A01-33-06', 0, '8T4196', 0, '2025-03-29 11:56:10', '管理员', '2025-03-29 11:57:23', '管理员', 425, 425, 425, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743220676126010000', 'ASRS-0328', 'A02-39-01', 0, '9S4684', 0, '2025-03-29 11:56:22', '管理员', '2025-03-29 11:57:56', '管理员', 50, 50, 50, 'PLUG-O-RING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743220729135010000', 'ASRS-0330', 'A02-39-05', 0, '3603688', 0, '2025-03-29 11:56:39', '管理员', '2025-03-29 11:58:49', '管理员', 200, 200, 200, 'PLUG-HD STOR', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743227358531010000', 'ASRS-0273', 'A01-33-06', 0, '8T4196', 0, '2025-03-29 13:47:59', '管理员', '2025-03-29 13:49:19', '管理员', 425, 425, 425, 'BOLT-HEX HEAD', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743229830531010000', 'ASRS-0331', 'A04-31-08', 0, '3T8236', 0, '2025-03-29 14:29:12', '管理员', '2025-04-01 10:17:45', '管理员', 44, 12, 12, 'SPRING', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743397363532010000', 'ASRS-0329', 'A01-34-11', 0, '8T8987', 0, '2025-03-31 13:01:17', '管理员', '2025-04-01 09:45:10', '管理员', 20, 8, 8, 'ADPTR-ELB 90 DEG', '2030-03-30', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743397406531010000', 'ASRS-0364', 'A01-36-03', 0, '8T8987', 0, '2025-03-31 13:01:50', '管理员', '2025-03-31 14:17:46', '管理员', 10, 9, 9, 'ADPTR-ELB 90 DEG', '2030-03-30', 1825, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743397592536010000', 'ASRS-0303', 'A01-41-06', 0, '8J6815', 0, '2025-03-31 13:05:17', '管理员', '2025-04-01 10:18:51', '管理员', 500, 458, 458, 'PLUG-INTL HEX', NULL, NULL, NULL, NULL);
INSERT INTO `t_app_stock` (`stock_id`, `vehicle_id`, `location_id`, `stock_status`, `goods_id`, `goods_status`, `first_in_time`, `first_in_user`, `last_update_time`, `last_update_user`, `total_num`, `remain_num`, `real_num`, `goods_desc`, `expire_date`, `sled`, `last_inventory_time`, `last_inventory_id`) VALUES ('1743401862531010000', 'ASRS-0298', 'A01-37-06', 0, '1007000', 0, '2025-03-31 14:15:37', '管理员', '2025-03-31 15:44:42', '管理员', 140, 134, 134, 'Ring-back up', NULL, NULL, NULL, NULL);
COMMIT;
-- ----------------------------
@ -18796,6 +18853,8 @@ INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_
INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_in_time`, `before_num`, `after_num`, `reason`, `update_user`, `update_time`) VALUES ('1743478852871010000', 'ASRS-1524', '2191891', '2025-03-24 03:51:09', 108, 104, 'P3配料拣选', '管理员', '2025-04-01 11:40:53');
INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_in_time`, `before_num`, `after_num`, `reason`, `update_user`, `update_time`) VALUES ('1743478872072010000', 'ASRS-0522', '2965987', '2025-03-24 03:57:55', 460, 456, 'P3配料拣选', '管理员', '2025-04-01 11:41:12');
INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_in_time`, `before_num`, `after_num`, `reason`, `update_user`, `update_time`) VALUES ('1743478999596010000', 'ASRS-1088', '2191893', '2025-03-25 10:50:16', 39, 23, 'P3配料拣选', '管理员', '2025-04-01 11:43:20');
INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_in_time`, `before_num`, `after_num`, `reason`, `update_user`, `update_time`) VALUES ('1744535722773010000', 'ASRS-0326', '7X0448', '2025-03-21 13:23:03', 320, 310, 'P1盘点确认', '管理员', '2025-04-13 17:15:23');
INSERT INTO `t_app_stock_update` (`update_id`, `vehicle_id`, `goods_id`, `first_in_time`, `before_num`, `after_num`, `reason`, `update_user`, `update_time`) VALUES ('1744535841320010000', 'ASRS-0326', '7X0448', '2025-03-21 13:23:03', 310, 320, 'P1盘点确认', '管理员', '2025-04-13 17:17:21');
COMMIT;
-- ----------------------------
@ -18828,6 +18887,7 @@ CREATE TABLE `t_app_task` (
-- Records of t_app_task
-- ----------------------------
BEGIN;
INSERT INTO `t_app_task` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1745222923297010000', 2, 0, 1, 'ASRS-0872', 'A01-02-09', NULL, NULL, '2025-04-21 16:08:43', NULL, '000000000', 0, 0, '管理员', NULL, '', 'P1', '');
COMMIT;
-- ----------------------------
@ -20014,6 +20074,8 @@ INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_prior
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1743474546534010001', 2, 4, 1, 'ASRS-1524', 'A01-36-09', NULL, '1743474547529010000', '2025-04-01 10:29:07', '2025-04-01 10:29:55', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1743474596529010001', 2, 4, 1, 'ASRS-0522', 'A01-31-08', NULL, '1743474597530010000', '2025-04-01 10:29:57', '2025-04-01 10:31:16', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1743478876528010001', 2, 4, 1, 'ASRS-1088', 'A03-33-08', NULL, '1743478877530010000', '2025-04-01 11:41:17', '2025-04-01 11:42:06', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1744534428353010000', 2, 4, 2, 'ASRS-0326', 'A02-23-09', NULL, NULL, '2025-04-13 16:53:48', NULL, '000000000', 0, 0, '管理员', NULL, '', 'P1', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('1744535455421010000', 2, 4, 2, 'ASRS-0326', 'A02-23-09', NULL, NULL, '2025-04-13 17:10:55', NULL, '000000000', 0, 0, '管理员', NULL, '', 'P1', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('BACK_1742627181353010000', 1, 4, 1, 'ASRS-0348', 'P3', 'A02-35-08', '1742627207227010000', '2025-03-22 15:06:21', '2025-03-22 15:07:39', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('BACK_1742627210434010000', 1, 4, 1, 'ASRS-0347', 'P3', 'A04-32-07', '1742627236328010000', '2025-03-22 15:06:50', '2025-03-22 15:08:04', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
INSERT INTO `t_app_task_bak` (`task_id`, `task_type`, `task_status`, `task_priority`, `vehicle_id`, `origin`, `destination`, `wcs_task_id`, `create_time`, `finish_time`, `goods_id`, `op_num`, `stock_num`, `op_user`, `pre_task`, `remark`, `call_stand`, `goods_desc`) VALUES ('BACK_1742775892056010000', 1, 4, 1, 'ASRS-0315', 'P3', 'A01-34-06', '1742775918384010000', '2025-03-24 08:24:52', '2025-03-24 08:26:22', '000000000', 0, 0, 'wms_auto', NULL, '', 'P3', '');
@ -21159,7 +21221,7 @@ INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicl
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0323', 0, 2, '', 0, 'A04-30-03', '2025-03-21 13:26:19');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0324', 0, 2, '', 0, 'A04-31-04', '2025-04-01 10:10:49');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0325', 0, 2, '', 0, 'A04-29-04', '2025-03-21 13:25:24');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0326', 0, 3, '', 0, 'A02-23-09', '2025-03-21 13:24:49');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0326', 0, 3, '', 0, '', '2025-03-21 13:24:49');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0327', 0, 2, '', 0, 'A02-37-09', '2025-03-28 09:48:22');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0328', 0, 2, '', 0, 'A02-39-01', '2025-03-29 11:57:56');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0329', 0, 2, '', 0, 'A01-34-11', '2025-04-01 09:46:42');
@ -21516,7 +21578,7 @@ INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicl
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0869', 1, 2, '', 0, 'A02-11-06', '2025-03-05 14:22:30');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0870', 1, 2, '', 0, 'A02-12-05', '2025-03-05 14:23:56');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0871', 1, 2, '', 0, 'A01-08-10', '2025-03-05 14:28:24');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0872', 1, 2, '', 0, 'A01-02-09', '2025-03-05 09:37:25');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0872', 1, 3, '', 0, 'A01-02-09', '2025-03-05 09:37:25');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0873', 1, 2, '', 0, 'A04-33-01', '2025-03-18 15:21:36');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0874', 1, 2, '', 0, 'A01-22-01', '2025-03-15 10:09:29');
INSERT INTO `t_app_vehicle` (`vehicle_id`, `is_empty`, `vehicle_status`, `vehicle_type`, `is_lock`, `location_id`, `last_in_time`) VALUES ('ASRS-0875', 1, 2, '', 0, 'A01-03-06', '2025-03-05 09:37:26');
@ -25725,19 +25787,21 @@ INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('2-1', 'DBS计划', '', '/dbsList', '2');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('2-2', '配料单', '', '/kittingList', '2');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('2-3', '配对关系', '', '/kittingRelation', '2');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('2-4', '图纸', '', '/imageTable', '2');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('2-6', '工作详情', '', '/workSummary', '2');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3', '报表', 'DataLine', '', '0');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-1', '库存信息', '', '/stock', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-10', '盘点记录', '', '/inventoryRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-11', '拣选任务', '', '/pickTask', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-2', '库存更新记录', '', '/stockUpdateRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-3', '物料信息', '', '/goods', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-4', '料箱监控', '', '/vehicles', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-5', '站台监控', '', '/standSettings', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-6', '库位监控', '', '/location', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-7', '任务监控', '', '/taskMonitor', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-8', '入库记录', '', '/inTaskRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-9', '出库记录', '', '/outTaskRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-11', '物料信息', '', '/goods', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-21', '库存信息', '', '/stock', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-22', '库存流水', '', '/stockUpdateRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-23', '料箱监控', '', '/vehicles', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-24', '库位监控', '', '/location', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-25', '站台监控', '', '/standSettings', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-31', '任务监控', '', '/taskMonitor', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-32', '拣选任务', '', '/pickTask', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-41', '入库记录', '', '/inTaskRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-42', '出库记录', '', '/outTaskRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-43', '盘点记录', '', '/inventoryRecord', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('3-51', '出库表单', '', '/outsMonitor', '3');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('4', '系统', 'Setting', '', '0');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('4-1', '系统配置', '', '/config', '4');
INSERT INTO `t_sys_menu` (`menu_id`, `label_name`, `icon_value`, `path`, `parent_id`) VALUES ('4-2', '角色列表', '', '/rolePermission', '4');