no message
parent
d9ece72127
commit
1a320152f3
|
|
@ -0,0 +1,114 @@
|
||||||
|
/* 查询表单样式 - query-form.css */
|
||||||
|
|
||||||
|
/* 整体容器 */
|
||||||
|
.query-wrapper {
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid #e5e6eb;
|
||||||
|
border-radius: 4px;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 查询条件区域 */
|
||||||
|
.query-conditions {
|
||||||
|
padding: 12px;
|
||||||
|
background-color: #f7f8fa;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 条件行容器 */
|
||||||
|
.condition-row {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 单个条件项 */
|
||||||
|
.condition-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 25px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 条件标签 */
|
||||||
|
.condition-label {
|
||||||
|
display: inline-block;
|
||||||
|
width: 75px;
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 8px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 输入框样式 */
|
||||||
|
.condition-input {
|
||||||
|
width: 220px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 普通选择器 */
|
||||||
|
.condition-select {
|
||||||
|
width: 220px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 短选择器 */
|
||||||
|
.condition-select-short {
|
||||||
|
width: 160px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 按钮组区域 */
|
||||||
|
.button-group {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 按钮样式 */
|
||||||
|
.button-group .el-button {
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 8px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 复选框样式 */
|
||||||
|
.button-group .el-checkbox {
|
||||||
|
margin-top: 2px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 适配多行输入框 */
|
||||||
|
.condition-input.el-textarea .el-textarea__inner {
|
||||||
|
min-height: 32px;
|
||||||
|
resize: none;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 响应式适配 */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.condition-item {
|
||||||
|
width: 100%;
|
||||||
|
margin-right: 0;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.condition-input,
|
||||||
|
.condition-select,
|
||||||
|
.condition-select-short {
|
||||||
|
width: calc(100% - 83px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-group .el-button {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog title="呼叫设置" :visible.sync="dialogVisible" width="30%">
|
||||||
|
<el-form :model="form" label-width="100px">
|
||||||
|
<el-form-item label="工作站">
|
||||||
|
<el-select v-model="form.workstation" placeholder="请选择工作站" style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
v-for="item in workstations"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.code"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="form.remark" type="textarea" :rows="2"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="是否加急">
|
||||||
|
<el-radio-group v-model="form.isUrgent">
|
||||||
|
<el-radio :label="true">是</el-radio>
|
||||||
|
<el-radio :label="false">否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="submitCall">确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
selectedRows: {
|
||||||
|
type: Array,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
form: {
|
||||||
|
workstation: '',
|
||||||
|
remark: '',
|
||||||
|
isUrgent: false
|
||||||
|
},
|
||||||
|
workstations: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
submitCall() {
|
||||||
|
const invIds = this.$parent.selectedRows.map(row => row.id).join(',');
|
||||||
|
const gzz_id = this.form.workstation;
|
||||||
|
const remarks = this.form.remark;
|
||||||
|
const be_urgent = String(this.form.isUrgent);
|
||||||
|
|
||||||
|
const payload = {
|
||||||
|
methodType: 'INVENTORYAGV',
|
||||||
|
invIds,
|
||||||
|
gzz_id,
|
||||||
|
remarks,
|
||||||
|
be_urgent
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log('发送的参数:', payload); // 调试用
|
||||||
|
|
||||||
|
this.$axios.post('http://localhost:8080/zwwms/services/rest/rpcService/deductInventory', payload)
|
||||||
|
.then(response => {
|
||||||
|
this.$message.success('呼叫成功');
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit('success');
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
this.$message.error('呼叫失败');
|
||||||
|
console.error('系统错误:', error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fetchWorkstations() {
|
||||||
|
this.$axios.post(this.$httpUrl + '/Enumerate/Gzz')
|
||||||
|
.then(response => {
|
||||||
|
this.workstations = response.data.data;
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('获取工作站数据失败:', error);
|
||||||
|
this.$message.error('获取工作站失败');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.fetchWorkstations();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,569 @@
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="div1">
|
||||||
|
|
||||||
|
<div class="query-wrapper">
|
||||||
|
<!-- 查询条件区域 -->
|
||||||
|
<div class="query-conditions">
|
||||||
|
<div class="condition-row">
|
||||||
|
<!-- 料号 -->
|
||||||
|
<label class="condition-label">料号:</label>
|
||||||
|
<el-select
|
||||||
|
v-model="param.itemCodeList"
|
||||||
|
multiple
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
remote
|
||||||
|
reserve-keyword
|
||||||
|
placeholder="请输入关键词"
|
||||||
|
:remote-method="remoteItemList"
|
||||||
|
:loading="loading">
|
||||||
|
<el-option
|
||||||
|
v-for="item in itemList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.code"
|
||||||
|
:value="item.code">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
|
||||||
|
<!-- 推荐库区 -->
|
||||||
|
<label class="condition-label">推荐库区:</label>
|
||||||
|
<el-select
|
||||||
|
v-model="param.tKq"
|
||||||
|
style="width: 130px;"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
placeholder="请选择推荐库区"
|
||||||
|
class="condition-select"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in Ku"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
<label class="condition-label">默认库区:</label>
|
||||||
|
<el-select
|
||||||
|
v-model="param.mKq"
|
||||||
|
clearable
|
||||||
|
style="width: 130px;"
|
||||||
|
filterable
|
||||||
|
placeholder="默认库区"
|
||||||
|
class="condition-select"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in Ku"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
<!-- 是否有限期 -->
|
||||||
|
<label class="condition-label">是否有限期:</label>
|
||||||
|
<el-select
|
||||||
|
style="width: 100px;"
|
||||||
|
v-model="param.isBOM"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
class="condition-select-short"
|
||||||
|
>
|
||||||
|
<el-option label="是" value="1"></el-option>
|
||||||
|
<el-option label="否" value="0"></el-option>
|
||||||
|
</el-select>
|
||||||
|
<label class="condition-label">包装:</label>
|
||||||
|
<el-input type="textarea" v-model="param.smallUnit" style="width: 200px;" rows="1"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 按钮区域 -->
|
||||||
|
<div class="button-group">
|
||||||
|
<el-button type="success" @click="find">查找</el-button>
|
||||||
|
<el-button type="success" @click="down">导出</el-button>
|
||||||
|
<el-button type="success" @click="rest">重置</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-form ref="form" :model="param" label-width="80px">
|
||||||
|
</el-form>
|
||||||
|
<el-table
|
||||||
|
v-loading="this.tableloding"
|
||||||
|
:height="MaxHeight"
|
||||||
|
:header-cell-style="{background:'#000',color:'#fff'}"
|
||||||
|
:data="tableData"
|
||||||
|
id="educe-table"
|
||||||
|
ref="tableData"
|
||||||
|
style="width: 100%;">
|
||||||
|
|
||||||
|
<el-table-column type="selection" width="55"></el-table-column>
|
||||||
|
|
||||||
|
<el-table-column fixed label="序号" v-if="false" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span style="margin-left: 10px">{{ scope.row.序号 }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="料号" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.料号 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="描述" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.描述 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="包装类型" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.包装类型 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格数量" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.规格数量 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="规格重量" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.规格重量 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="净重" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.净重 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="长" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.长 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="宽" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.宽 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="高" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.高 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="体积" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.体积 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="单位" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.单位 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="推荐库区" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.推荐库区 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="默认库区" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.默认库区 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="类型" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.类型 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="价值等级" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.价值等级 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="保质期" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.保质期 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="预警天数" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.预警天数 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="批次号" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.批次号 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="批次规则" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.批次规则 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否包装更新" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否包装更新 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="包装" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.包装 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否序列号" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否序列号 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否有限期" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否有限期 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="危险品" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.危险品 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否由库存" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否由库存 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否SAP料号" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否SAP料号 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="是否米数" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.是否米数 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="库存组" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.库存组 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="热度值" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.热度值 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="备注" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.备注 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="币种" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.币种 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="元值" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>{{ scope.row.元值 }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:current-page="pageNum"
|
||||||
|
:page-sizes="[ 50, 100, 200,500]"
|
||||||
|
:page-size="pageSize"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { downloadExcel } from '@/util/excelUtils';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemList:[],
|
||||||
|
pickerOptions: {
|
||||||
|
shortcuts: [{
|
||||||
|
text: '最近一周',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
text: '最近一个月',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
text: '最近三个月',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
tableloding: false,
|
||||||
|
isShow:false,//是否展示全部搜索条件
|
||||||
|
tableData: [],
|
||||||
|
pageSize: 50,
|
||||||
|
pageNum: 1,
|
||||||
|
total: 3,
|
||||||
|
param: {
|
||||||
|
//料号
|
||||||
|
itemCodeList: [],
|
||||||
|
//推荐库区
|
||||||
|
tKq: null,
|
||||||
|
//默认库区
|
||||||
|
mKq: null,
|
||||||
|
//包装
|
||||||
|
smallUnit:null,
|
||||||
|
//是否有限期
|
||||||
|
isBOM:null
|
||||||
|
},
|
||||||
|
Ku: [],
|
||||||
|
Gz: [],
|
||||||
|
|
||||||
|
loading: false,
|
||||||
|
checked: false,
|
||||||
|
}
|
||||||
|
},computed:{
|
||||||
|
MaxHeight(){
|
||||||
|
return window.innerHeight - 240 +"px";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted: function () {
|
||||||
|
this.queryUser();
|
||||||
|
this.KuS();
|
||||||
|
this.GzzS();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
handleEdit(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
},
|
||||||
|
handleDelete(index, row) {
|
||||||
|
console.log(index, row);
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
console.log(`每页 ${val} 条`);
|
||||||
|
this.pageNum = 1;
|
||||||
|
this.pageSize = val;
|
||||||
|
this.queryUser();
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
console.log(`当前页: ${val}`);
|
||||||
|
this.pageNum = val;
|
||||||
|
this.queryUser();
|
||||||
|
},
|
||||||
|
remoteItemList(query) {
|
||||||
|
if (query !== '') {
|
||||||
|
this.loading = true;
|
||||||
|
this.$axios.post(this.$httpUrl + '/Enumerate/Item', {
|
||||||
|
query
|
||||||
|
}).then(res => {
|
||||||
|
this.itemList = res.data.data;
|
||||||
|
},err=>{
|
||||||
|
this.tableloding=false;
|
||||||
|
})
|
||||||
|
this.loading = false;
|
||||||
|
} else {
|
||||||
|
this.options = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
KuS(){
|
||||||
|
//库区下拉列表数据加载
|
||||||
|
this.$axios.post(this.$httpUrl + '/Enumerate/Zone', {
|
||||||
|
|
||||||
|
}).then(res => res.data)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.Ku = res.data;
|
||||||
|
} else {
|
||||||
|
this.$message.error('获取数据失败');
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
},err=>{
|
||||||
|
this.tableloding=false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
GzzS(){
|
||||||
|
|
||||||
|
this.$axios.post(this.$httpUrl + '/Enumerate/Gzz ', {
|
||||||
|
|
||||||
|
}).then(res => res.data)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.Gz = res.data;
|
||||||
|
} else {
|
||||||
|
this.$message.error('获取数据失败');
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
},err=>{
|
||||||
|
this.tableloding=false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
queryUser() {
|
||||||
|
//列表数据加载
|
||||||
|
this.$axios.post(this.$httpUrl + '/item/queryList', {
|
||||||
|
pageSize: this.pageSize,
|
||||||
|
pageNum: this.pageNum,
|
||||||
|
param: this.param,
|
||||||
|
}).then(res => res.data)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
console.log(res.data)
|
||||||
|
this.tableData = res.data
|
||||||
|
this.total = res.total
|
||||||
|
} else {
|
||||||
|
this.$message.error('获取数据失败');
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
},err=>{
|
||||||
|
this.tableloding=false;
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
find(){
|
||||||
|
this.pageNum=1;
|
||||||
|
this.queryUser();
|
||||||
|
},
|
||||||
|
down(){
|
||||||
|
this.downExcel();
|
||||||
|
},
|
||||||
|
downExcel() {
|
||||||
|
this.tableloding = true;
|
||||||
|
downloadExcel('/item/download', '物料明细', this.total, this.param)
|
||||||
|
.then(() => {
|
||||||
|
this.tableloding = false;
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('系统错误:', error);
|
||||||
|
this.tableloding = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Allquesr(){
|
||||||
|
//查询按钮
|
||||||
|
if(this.checked){
|
||||||
|
this.isShow=true;
|
||||||
|
}else {
|
||||||
|
this.isShow=false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rest() {
|
||||||
|
//条件查询重置
|
||||||
|
this.checked=false;
|
||||||
|
this.isShow=false;
|
||||||
|
this.param={};
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
/* 导入外部CSS文件 */
|
||||||
|
@import "@/assets/styles/query-form.css";
|
||||||
|
</style>
|
||||||
|
|
@ -157,15 +157,21 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-button type="primary" @click="handleCall">呼叫</el-button>
|
||||||
<el-button type="success" @click="find">查找</el-button>
|
<el-button type="success" @click="find">查找</el-button>
|
||||||
<el-button type="success" @click="down">导出</el-button>
|
<el-button type="success" @click="down">导出</el-button>
|
||||||
<el-button type="success" @click="rest">重置</el-button>
|
<el-button type="success" @click="rest">重置</el-button>
|
||||||
<el-checkbox v-model="checked" @change="Allquesr">是否显示全部查询条件</el-checkbox>
|
<el-checkbox v-model="checked" @change="Allquesr">是否显示全部查询条件</el-checkbox>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
<call-dialog
|
||||||
|
:selected-rows="selectedRows"
|
||||||
|
@success="queryUser"
|
||||||
|
ref="callDialog"
|
||||||
|
/>
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="this.tableloding"
|
v-loading="this.tableloding"
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
:height="MaxHeight"
|
:height="MaxHeight"
|
||||||
:header-cell-style="{background:'#000',color:'#fff'}"
|
:header-cell-style="{background:'#000',color:'#fff'}"
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
|
|
@ -614,9 +620,14 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { downloadExcel } from '@/util/excelUtils';
|
import { downloadExcel } from '@/util/excelUtils';
|
||||||
|
import CallDialog from '@/components/dialog/KucunhuizongCallDialog.vue';
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
CallDialog
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
selectedRows: [],
|
||||||
//是否盘点
|
//是否盘点
|
||||||
pd: [
|
pd: [
|
||||||
{
|
{
|
||||||
|
|
@ -737,7 +748,17 @@ export default {
|
||||||
this.ZtS();
|
this.ZtS();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleCall() {
|
||||||
|
if (this.selectedRows.length === 0) {
|
||||||
|
this.$message.warning('请选择至少一条记录');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$refs.callDialog.dialogVisible = true; // 显示弹出窗口
|
||||||
|
},
|
||||||
|
handleSelectionChange(selectedRows) {
|
||||||
|
this.selectedRows = selectedRows;
|
||||||
|
},
|
||||||
handleEdit(index, row) {
|
handleEdit(index, row) {
|
||||||
console.log(index, row);
|
console.log(index, row);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,14 @@ const routes=[
|
||||||
},
|
},
|
||||||
component: () => import('../components/duochaxun/Pandianmingxi')
|
component: () => import('../components/duochaxun/Pandianmingxi')
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path:'/ItemIndex',
|
||||||
|
name:'ItemIndex',
|
||||||
|
meta:{
|
||||||
|
title:'物料信息'
|
||||||
|
},
|
||||||
|
component: () => import('@/components/duochaxun/ItemIndex.vue')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path:'/Zhengliqingdan',
|
path:'/Zhengliqingdan',
|
||||||
name:'Zhengliqingdan',
|
name:'Zhengliqingdan',
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
package com.yc.wms.controller;
|
package com.yc.wms.controller;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import com.yc.wms.until.Result;
|
import com.yc.wms.until.Result;
|
||||||
import com.yc.wms.utils.JdbcQueryExample;
|
import com.yc.wms.utils.JdbcQueryExample;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
|
@ -38,11 +40,39 @@ public class EnumerateController {
|
||||||
public Result Gzz() {
|
public Result Gzz() {
|
||||||
String sql = " SELECT "
|
String sql = " SELECT "
|
||||||
+" ls.code, "
|
+" ls.code, "
|
||||||
+" ls.name "
|
+" ls.name, "
|
||||||
|
+" ls.id "
|
||||||
+" FROM Location_Storage ls "
|
+" FROM Location_Storage ls "
|
||||||
+" WHERE 1=1 "
|
+" WHERE 1=1 "
|
||||||
+" and ls.name in ('201','202','203','204','205','206','207','208','209','210','211','212', "
|
+" and ls.type in ('拣货') ";
|
||||||
+" '213','214','215','101','102','103','104','105','106','107','602','603','604','605') ";
|
List<Map<String, Object>> mapList = jdbcQueryExample.sqlQuery(sql);
|
||||||
|
return Result.success(mapList);
|
||||||
|
}
|
||||||
|
/* 库区*/
|
||||||
|
@PostMapping("/Zone")
|
||||||
|
public Result Zone() {
|
||||||
|
String sql = " SELECT "
|
||||||
|
+" z.code, "
|
||||||
|
+" z.name, "
|
||||||
|
+" z.id "
|
||||||
|
+" FROM ZONE z "
|
||||||
|
+" WHERE 1=1 "
|
||||||
|
+" ";
|
||||||
|
List<Map<String, Object>> mapList = jdbcQueryExample.sqlQuery(sql);
|
||||||
|
return Result.success(mapList);
|
||||||
|
}
|
||||||
|
/* 库区*/
|
||||||
|
@PostMapping("/Item")
|
||||||
|
public Result Item(@RequestBody String query) {
|
||||||
|
JSONObject jsonObject=new JSONObject(query);
|
||||||
|
String itemCode=jsonObject.getStr("query");
|
||||||
|
String sql = " SELECT TOP 50 "
|
||||||
|
+" i.code, "
|
||||||
|
+" i.name, "
|
||||||
|
+" i.id "
|
||||||
|
+" FROM Item i "
|
||||||
|
+" WHERE 1=1 "
|
||||||
|
+" and i.code like '"+itemCode+"%' ";
|
||||||
List<Map<String, Object>> mapList = jdbcQueryExample.sqlQuery(sql);
|
List<Map<String, Object>> mapList = jdbcQueryExample.sqlQuery(sql);
|
||||||
return Result.success(mapList);
|
return Result.success(mapList);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,208 @@
|
||||||
|
package com.yc.wms.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.yc.wms.bean.Xuliehao;
|
||||||
|
import com.yc.wms.service.Xuliehaoqingdan;
|
||||||
|
import com.yc.wms.until.QueryPageUtil;
|
||||||
|
import com.yc.wms.until.Result;
|
||||||
|
import com.yc.wms.utils.FileUtil;
|
||||||
|
import com.yc.wms.utils.QueryUtil;
|
||||||
|
import com.yc.wms.utils.StringUtils;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.Future;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Slf4j
|
||||||
|
@RequestMapping("/item")
|
||||||
|
public class ItemController {
|
||||||
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
@Autowired
|
||||||
|
private NamedParameterJdbcTemplate jdbcTemplate;
|
||||||
|
@Autowired
|
||||||
|
private Xuliehaoqingdan xuliehaoqingdan;
|
||||||
|
@Autowired
|
||||||
|
private QueryUtil queryUtil;
|
||||||
|
private static /* 基础sql数据查询*/
|
||||||
|
String querySql = "";
|
||||||
|
public static String buildSql() {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append(" select "
|
||||||
|
+" item.id as id, "
|
||||||
|
+" item.id as 序号, "
|
||||||
|
+" item.code as 料号, "
|
||||||
|
+" item.name as 描述, "
|
||||||
|
+" item.CA_name as 包装类型, "
|
||||||
|
+" item.pack_Number as 规格数量, "
|
||||||
|
+" item.weight as 规格重量, "
|
||||||
|
+" item.suggest as 净重, "
|
||||||
|
+" item.length as 长, "
|
||||||
|
+" item.width as 宽, "
|
||||||
|
+" item.height as 高, "
|
||||||
|
+" item.volume as 体积 , "
|
||||||
|
+" item.unit as 单位, "
|
||||||
|
+" wa.name as 推荐库区, "
|
||||||
|
+" w.name as 默认库区, "
|
||||||
|
+" item.good_Type as 类型, "
|
||||||
|
+" item.ship_Rules as 价值等级, "
|
||||||
|
+" item.valid_Period as 保质期, "
|
||||||
|
+" item.ALERT_LEADING_DAYS as 预警天数, "
|
||||||
|
+" item.SINGLE_ITEM as 批次号, "
|
||||||
|
+" item.brand as 批次规则, "
|
||||||
|
+" item.be_Unpacking as 是否包装更新, "
|
||||||
|
+" item.smallUnit as 包装, "
|
||||||
|
+" item.be_Mark_Weight as 是否序列号, "
|
||||||
|
+" item.isBOM as 是否有限期, "
|
||||||
|
+" item.be_Weight as 危险品, "
|
||||||
|
+" item.be_Inv as 是否由库存, "
|
||||||
|
+" item.be_SAP_Item as 是否SAP料号, "
|
||||||
|
+" item.be_Whole_Line as 是否米数, "
|
||||||
|
+" P.name as 库存组, "
|
||||||
|
+" item.sale_Time as 热度值, "
|
||||||
|
+" item.str_Extend1 as 备注, "
|
||||||
|
+" item.str_Extend2 as 币种, "
|
||||||
|
+" item.str_Extend3 as 元值 "
|
||||||
|
+" from ITEM item "
|
||||||
|
+" left join ZONE wa on wa.id=item.warehouse_Area_ID "
|
||||||
|
+" left join ZONE w on w.id=item.default_Warehouse_Area_ID "
|
||||||
|
+" left join position p on p.id=item.POSITION_ID where 1=1");
|
||||||
|
sql.append(querySql); // 动态条件
|
||||||
|
return sql.toString();
|
||||||
|
}
|
||||||
|
@PostMapping("/queryList")
|
||||||
|
public Result queryList(@RequestBody String json) {
|
||||||
|
querySql="";
|
||||||
|
/* 返回data设置*/
|
||||||
|
QueryPageUtil query =new QueryPageUtil();
|
||||||
|
JSONObject jsonObject= JSONUtil.parseObj(json);
|
||||||
|
query.setPageSize((int)jsonObject.get("pageSize"));
|
||||||
|
query.setPageNum((int)jsonObject.get("pageNum"));
|
||||||
|
JSONObject param= (JSONObject)jsonObject.get("param");
|
||||||
|
|
||||||
|
if (param.getJSONArray("itemCodeList")!=null&¶m.getJSONArray("itemCodeList").size()>0){
|
||||||
|
querySql=querySql+" and item.code in ("+ StringUtils.strInSql(JSONUtil.toList(param.getJSONArray("itemCodeList"), String.class))+")";
|
||||||
|
}
|
||||||
|
//推荐库区
|
||||||
|
if (param.getStr("tKq")!=null&¶m.getStr("tKq").length()>0){
|
||||||
|
querySql=querySql+" and wa.id = "+param.getStr("tKq");
|
||||||
|
}
|
||||||
|
//默认库区
|
||||||
|
if (param.getStr("mKq")!=null&¶m.getStr("mKq").length()>0){
|
||||||
|
querySql=querySql+" and w.id = "+param.getStr("mKq");
|
||||||
|
}
|
||||||
|
if (param.getStr("isBOM")!=null&¶m.getStr("isBOM").length()>0){
|
||||||
|
querySql=querySql+" and item.isBOM = "+param.getStr("isBOM");
|
||||||
|
}
|
||||||
|
if (param.getStr("smallUnit")!=null&¶m.getStr("smallUnit").length()>0){
|
||||||
|
querySql=querySql+" and item.smallUnit like '%"+param.getStr("smallUnit")+"%'";
|
||||||
|
}
|
||||||
|
/* 当前页数据*/
|
||||||
|
int pageNum = query.getPageNum();//当前页
|
||||||
|
int pageSize = query.getPageSize();//查询条数
|
||||||
|
|
||||||
|
String sqlFa = "select * from( "
|
||||||
|
+ buildSql()
|
||||||
|
+ ") t where 1=1 "
|
||||||
|
;
|
||||||
|
/* 总条数*/
|
||||||
|
String sqlCount = "select count(t.序号 ) as nums from (" + sqlFa+") t";
|
||||||
|
List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
|
||||||
|
/* 返回数据集合*/
|
||||||
|
List<Map<String,Object>> maps;
|
||||||
|
if (pageSize>100000){
|
||||||
|
maps = queryUtil.multiThreadedQuery(sqlFa, pageSize, pageNum);
|
||||||
|
}else {
|
||||||
|
String sqlFy= sqlFa+" ORDER BY 序号 "
|
||||||
|
+" OFFSET "+ (pageNum-1) * pageSize +" ROWS "
|
||||||
|
+" FETCH NEXT "+pageSize+" ROWS ONLY ";
|
||||||
|
maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
|
||||||
|
}
|
||||||
|
for (int i = 0; i < maps.size(); i++) {
|
||||||
|
Map<String,Object> map=maps.get(i);
|
||||||
|
map.put("mergeData",new HashMap() {{
|
||||||
|
put("单据类型", new int[]{1, 1});
|
||||||
|
}});
|
||||||
|
}
|
||||||
|
// List<JhXl> jhXlList = entityManager.createNativeQuery(sqlFy, JhXl.class).getResultList();
|
||||||
|
Result result=Result.result(200,"操作成功",Long.parseLong(counts.get(0).toString()), maps);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@PostMapping("/inputPt")
|
||||||
|
public Result inputPt(@RequestBody String json) {
|
||||||
|
String sqlInput=" select 出库类型 as 'name' from ( "
|
||||||
|
+buildSql()
|
||||||
|
+" ) t "
|
||||||
|
+" WHERE 出库类型 is not null group by 出库类型 ";
|
||||||
|
List<String> ptList = entityManager.createNativeQuery(sqlInput).getResultList();
|
||||||
|
|
||||||
|
Result result=Result.result(200,"操作成功",1, ptList);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@PostMapping(value = "/download")
|
||||||
|
public synchronized void exportCompany(HttpServletResponse response, @RequestBody String json) throws Exception {
|
||||||
|
download( (List<Map<String,Object>>)queryList(json).getData(), response);
|
||||||
|
}
|
||||||
|
public void download(List<Map<String, Object>> all, HttpServletResponse response) throws Exception {
|
||||||
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
|
for (Map<String, Object> item : all) {
|
||||||
|
Map<String, Object> map = new LinkedHashMap<>();
|
||||||
|
map.put("序号", item.get("序号"));
|
||||||
|
map.put("料号", item.get("料号"));
|
||||||
|
map.put("描述", item.get("描述"));
|
||||||
|
map.put("包装类型", item.get("包装类型"));
|
||||||
|
map.put("规格数量", item.get("规格数量"));
|
||||||
|
map.put("规格重量", item.get("规格重量"));
|
||||||
|
map.put("净重", item.get("净重"));
|
||||||
|
map.put("长", item.get("长"));
|
||||||
|
map.put("宽", item.get("宽"));
|
||||||
|
map.put("高", item.get("高"));
|
||||||
|
map.put("体积", item.get("体积"));
|
||||||
|
map.put("单位", item.get("单位"));
|
||||||
|
map.put("推荐库区", item.get("推荐库区"));
|
||||||
|
map.put("默认库区", item.get("默认库区"));
|
||||||
|
map.put("类型", item.get("类型"));
|
||||||
|
map.put("价值等级", item.get("价值等级"));
|
||||||
|
map.put("保质期", item.get("保质期"));
|
||||||
|
map.put("预警天数", item.get("预警天数"));
|
||||||
|
map.put("批次号", item.get("批次号"));
|
||||||
|
map.put("批次规则", item.get("批次规则"));
|
||||||
|
map.put("是否包装更新", item.get("是否包装更新"));
|
||||||
|
map.put("包装", item.get("包装"));
|
||||||
|
map.put("是否序列号", item.get("是否序列号"));
|
||||||
|
map.put("是否有限期", item.get("是否有限期"));
|
||||||
|
map.put("危险品", item.get("危险品"));
|
||||||
|
map.put("是否由库存", item.get("是否由库存"));
|
||||||
|
map.put("是否SAP料号", item.get("是否SAP料号"));
|
||||||
|
map.put("是否米数", item.get("是否米数"));
|
||||||
|
map.put("库存组", item.get("库存组"));
|
||||||
|
map.put("热度值", item.get("热度值"));
|
||||||
|
map.put("备注", item.get("备注"));
|
||||||
|
map.put("币种", item.get("币种"));
|
||||||
|
map.put("元值", item.get("元值"));
|
||||||
|
list.add(map);
|
||||||
|
}
|
||||||
|
FileUtil.downloadExcel(list, response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -34,7 +34,7 @@ public class UserController {
|
||||||
public Result login(@RequestBody String user) {
|
public Result login(@RequestBody String user) {
|
||||||
JSONArray array=new JSONArray();
|
JSONArray array=new JSONArray();
|
||||||
JSONObject data=new JSONObject();
|
JSONObject data=new JSONObject();
|
||||||
int menuCount=13;
|
int menuCount=14;
|
||||||
for (int i=1;i<=menuCount;i++){
|
for (int i=1;i<=menuCount;i++){
|
||||||
JSONObject menu=new JSONObject();
|
JSONObject menu=new JSONObject();
|
||||||
menu.put("id",i);
|
menu.put("id",i);
|
||||||
|
|
@ -91,6 +91,10 @@ public class UserController {
|
||||||
menu.put("menuName", "容器流通");
|
menu.put("menuName", "容器流通");
|
||||||
menu.put("menuComponent","/RongQi");
|
menu.put("menuComponent","/RongQi");
|
||||||
menu.put("menuClick","RongQi");
|
menu.put("menuClick","RongQi");
|
||||||
|
}else if(i==14) {
|
||||||
|
menu.put("menuName", "物料信息");
|
||||||
|
menu.put("menuComponent","/ItemIndex");
|
||||||
|
menu.put("menuClick","ItemIndex");
|
||||||
}
|
}
|
||||||
menu.put("menuLevel",i);
|
menu.put("menuLevel",i);
|
||||||
menu.put("menuParentCode",i);
|
menu.put("menuParentCode",i);
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@ server:
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
|
# url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
|
||||||
# url: jdbc:sqlserver://47.103.100.52:1433;DatabaseName=zwlgtest
|
url: jdbc:sqlserver://192.168.56.133:1433;DatabaseName=LD_WMSDB
|
||||||
# url: jdbc:sqlserver://192.168.2.88:1433;DatabaseName=zwlgtest
|
# url: jdbc:sqlserver://192.168.2.88:1433;DatabaseName=zwlgtest
|
||||||
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||||
username: wmsdb
|
# username: wmsdb
|
||||||
password: AmecDDbb32A
|
# password: AmecDDbb32A
|
||||||
# username: WMSDB
|
username: liu
|
||||||
# password: WmsYc@5688
|
password: 123456
|
||||||
# username: sa
|
# username: sa
|
||||||
# password: Amecadmin1!
|
# password: Amecadmin1!
|
||||||
hikari:
|
hikari:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue