no message

main
暴炳林 2025-03-13 13:54:54 +08:00
parent ceea1c72ea
commit 0fca534de3
12 changed files with 266 additions and 79 deletions

View File

@ -45,7 +45,7 @@
<el-row :gutter="24" v-show="isShow">
<el-col :span="4">
<el-form-item label="单据类型">
<el-select v-model="param.bt_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.bt_name" multiple filterable placeholder="请选择单据类型" style="width: 100%;">
<el-option
v-for="item in Dj"
:key="item.index"
@ -59,7 +59,7 @@
<el-col :span="4">
<el-form-item label="工作站">
<el-select v-model="param.END_REGION" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.END_REGION" multiple filterable placeholder="请选择工作站" style="width: 100%;">
<el-option
v-for="item in Gz"
:key="item.index"
@ -73,7 +73,7 @@
<el-col :span="4">
<el-form-item label="拣货人">
<el-select v-model="param.w4_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.w4_name" multiple filterable placeholder="请选择拣货人" style="width: 100%;">
<el-option
v-for="item in Jhr"
:key="item.index"
@ -105,7 +105,7 @@
filterable
remote
reserve-keyword
placeholder="输入关键词"
placeholder="输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option
@ -181,7 +181,7 @@
<el-col :span="4">
<el-form-item label="加急标记">
<el-select v-model="param.equated_Quantity" placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.equated_Quantity" placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in Bj"
:key="item.index"
@ -195,7 +195,7 @@
<el-col :span="4">
<el-form-item label="下发人">
<el-select v-model="param.strBill1" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.strBill1" multiple filterable placeholder="请选择下发人" style="width: 100%;">
<el-option
v-for="item in Xf"
:key="item.index"

View File

@ -23,7 +23,7 @@
<el-col :span="4">
<el-form-item label="LOC">
<el-select v-model="param.propC2" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.propC2" multiple filterable placeholder="请选择LOC" style="width: 100%;">
<el-option
v-for="item in LOCS"
:key="item.ID"
@ -77,6 +77,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="存货日期:">
<el-date-picker style="width: 325px"

View File

@ -14,12 +14,12 @@
<el-col :span="4">
<el-form-item label="日志类型:">
<el-select v-model="param.LOG_TYPE" multiple filterable placeholder="请选择工厂" style="width: 100%;">
<el-select v-model="param.LOG_TYPE" multiple filterable placeholder="请选择日志类型" style="width: 100%;">
<el-option
v-for="item in Log"
:key="item.index"
:label="item.LOG_TYPE"
:value="item.LOG_TYPE"
v-for="item in logTypes"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
@ -60,7 +60,21 @@
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="4">
<el-form-item label="容器">
<el-input type="textarea" v-model="param.LP" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工厂">
<el-input type="textarea" v-model="param.PROP_C9" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="备注">
<el-input type="textarea" v-model="param.DESCRIPTION" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="操作员">
<el-input type="textarea" v-model="param.OPERATOR" :rows="1"></el-input>
@ -384,6 +398,8 @@ export default {
pageSize: 50,
pageNum: 1,
total: 3,
/* 日志类型下拉框*/
logTypes:[],
param: {
//
RELATED_BILL: '',
@ -401,6 +417,9 @@ export default {
OPERATOR: '',
//
OCCUR_TIME: [],
PROP_C9: '',
DESCRIPTION: '',
LP: ''
},
LOCS: [],
Log: [],
@ -419,6 +438,7 @@ export default {
mounted() {
this.queryUser();
this.LOC();
this.JdbcLogType();
},
methods: {
handleEdit(index, row) {
@ -455,6 +475,23 @@ export default {
this.tableloding=false;
})
},
JdbcLogType(){
//LOC
this.$axios.post(this.$httpUrl + '/Enumerate/InventoryLogType', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.logTypes = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
queryUser() {
//
this.$axios.post(this.$httpUrl + '/Kucunrizhi/queryRi', {

View File

@ -114,8 +114,8 @@
<el-table-column prop="g213" label="213" width="50"></el-table-column>
<el-table-column prop="g214" label="214" width="50"></el-table-column>
<el-table-column prop="g215" label="215" width="50"></el-table-column>
<el-table-column prop="total" label="汇总" width="60"></el-table-column>
<el-table-column prop="lxCount" label="容器数" width="60"></el-table-column>
<el-table-column prop="total" label="容器数" width="60"></el-table-column>
<!-- <el-table-column prop="lxCount" label="容器数" width="60"></el-table-column>-->
</el-table>
<div class="table-title" v-if="true">

View File

@ -33,7 +33,7 @@
<el-col :span="4">
<el-form-item label="库存状态">
<el-select v-model="param.STATUS" multiple filterable placeholder="请选择库" style="width: 100%;">
<el-select v-model="param.STATUS" multiple filterable placeholder="请选择库存状态" style="width: 100%;">
<el-option
v-for="item in Zt"
:key="item.index"
@ -63,7 +63,7 @@
<el-col :span="4">
<el-form-item label="LOC">
<el-select v-model="param.PROP_C2" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.PROP_C2" multiple filterable placeholder="请选择LOC" style="width: 100%;">
<el-option
v-for="item in Loc"
:key="item.ID"
@ -77,7 +77,7 @@
<el-col :span="4">
<el-form-item label="工厂">
<el-select v-model="param.PROP_C9" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-select v-model="param.PROP_C9" multiple filterable placeholder="请选择工厂" style="width: 100%;">
<el-option
v-for="item in Plant"
:key="item.ID"

View File

@ -8,9 +8,9 @@ import VueRouter from "vue-router";
import router from "@/router/router";
import store from "@/store/store";
Vue.prototype.$axios=axios;
Vue.prototype.$httpUrl='http://127.0.0.1:8083';
// Vue.prototype.$httpUrl='http://127.0.0.1:8083';
//Vue.prototype.$httpUrl='http://192.68.2.88:8081';
// Vue.prototype.$httpUrl='http://10.1.112.23:8083';
Vue.prototype.$httpUrl='http://10.1.112.23:8083';
Vue.config.productionTip = false;
Vue.use(VueRouter)
Vue.use(ElementUI,{size:'small'});

View File

@ -27,4 +27,10 @@ public class Kucunrizhi {
//发生时间
public Date[] OCCUR_TIME;
// 容器
public String LP;
// 工厂
public String PROP_C9;
// 备注
public String DESCRIPTION;
}

View File

@ -0,0 +1,56 @@
package com.yc.wms.controller;
import com.yc.wms.until.Result;
import com.yc.wms.utils.JdbcQueryExample;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@RestController
@Slf4j
@RequestMapping("/Enumerate")
public class EnumerateController {
@Autowired
private JdbcQueryExample jdbcQueryExample;
@PostMapping("/InventoryLogType")
public Result InventoryLogType() {
List<Map<String, String>> logTypes = new ArrayList<>();
// 使用LinkedHashMap保持插入顺序
logTypes.add(createEntry("ARRANGEMENT", "整理"));
logTypes.add(createEntry("RECEIVING", "入库"));
logTypes.add(createEntry("SHIPPING", "拣配"));
logTypes.add(createEntry("FROZEN", "冻结"));
logTypes.add(createEntry("CHECK_ADJUST", "盘点调整"));
logTypes.add(createEntry("HAND_ORDER", "交单"));
logTypes.add(createEntry("MOVE", "移库"));
logTypes.add(createEntry("SOLUTION_K", "解K"));
logTypes.add(createEntry("RECEIVING_ADJUST", "其它入库"));
logTypes.add(createEntry("SHIPPING_ADJUST", "其它出库"));
logTypes.add(createEntry("CONVERT_PACKAGEUNIT", "工单退料"));
logTypes.add(createEntry("INVENTORY_ADJUST", "调整"));
logTypes.add(createEntry("COUNT_ADJUST", "删除库存"));
logTypes.add(createEntry("PROCESS_DOWN", "取消整理"));
logTypes.add(createEntry("PROCESS_UP", "合单"));
logTypes.add(createEntry("MODIFY_LOT", "批次调整"));
logTypes.add(createEntry("MODIFY_STATUS", "状态调整"));
logTypes.add(createEntry("COMPANY_TRANS_OUT", "异常登记"));
logTypes.add(createEntry("COMPANY_TRANS_IN", "取消分配"));
// return logTypes;
return Result.success(logTypes);
}
private static Map<String, String> createEntry(String value, String label) {
Map<String, String> entry = new LinkedHashMap<>();
entry.put("value", value);
entry.put("label", label);
return entry;
}
}

View File

@ -30,31 +30,42 @@ public class KucunhuizongImpl implements Kucunhuizong {
String sql=" SELECT "
+" ROW_NUMBER() OVER (ORDER BY inventory.id ASC) AS Row_Num,"
+" inventory.id, "
+" inventory.locCode, "
+" inventory.itemCode, "
+" inventory.itemName, "
+" inventory.UNIT, "
+" inventory.status, "
+" inventory.statuss, "
+" inventory.quantity, "
+" inventory.queuedQuantity , "
+" inventory.LSname, "
+" inventory.weight, "
+" inventory.propC1, "
+" inventory.propC2, "
+" inventory.propC3, "
+" inventory.propC5, "
+" inventory.propC9, "
+" inventory.propD2, "
+" inventory.kqName, "
+" inventory.agvFlag, "
+" inventory.SINGLE_ITEM, "
+" inventory.validity, "
+" inventory.storageDate, "
+" inventory.invDes, "
+" inventory.propC7, "
+" inventory.lock "
+" inventory.id , "
+" inventory.locCode as 'locCode', " //库位号
+" inventory.itemCode as 'itemCode', " //料号
+" inventory.itemName as 'itemName', " //物料描述
+" inventory.UNIT as 'UNIT', " //单位
+" inventory.status as 'status', "//库存状态
+" inventory.statuss as 'inv_status', "//退料标记
+" inventory.quantity as 'quantity', "//库存数量
+" inventory.queuedQuantity as 'queuedQuantity', "//待上架数量
+" inventory.propC1 as 'propC1', "
+" inventory.propC2 as 'propC2', "
+" inventory.propC3 as 'propC3', "
+" inventory.propC4 as 'propC4', "
+" inventory.propC5 as 'propC5', "
+" inventory.propC6 as 'propC6', "
+" inventory.propC7 as 'propC7', "
+" inventory.propC8 as 'propC8', "
+" inventory.propC9 as 'propC9', "
+" inventory.propD1 as 'prop_D1', "
+" inventory.propD2 as 'prop_D2', "
+" inventory.kqName as 'kqName', "
+" inventory.lock as 'lock',"
+" inventory.LSname as 'LSname', "
+" inventory.VOLUME as 'VOLUME',"
+" inventory.BE_WEIGHT as 'BE_WEIGHT',"
+" inventory.SHIP_RULES as 'SHIP_RULES',"
+" inventory.BE_MARK_WEIGHT as 'BE_MARK_WEIGHT',"
+" inventory.STR_EXTEND1 as 'STR_EXTEND1',"
+" inventory.STR_EXTEND2 as 'STR_EXTEND2',"
+" inventory.agvFlag as 'agvFlag', "
+" inventory.lts_name as 'lts_name', "
+" inventory.SINGLE_ITEM as 'SINGLE_ITEM', "
+" inventory.validity as 'validity', "
+" inventory.storageDate as 'storageDate', "
+" inventory.invDes as 'invDes', "
+" inventory.WEIGHT as 'WEIGHT' "
+" FROM INVENTORY_VIEW inventory "
+" WHERE 1=1 "
+" and inventory.quantity>0 and inventory.Be_SAP_Item=1 "
@ -138,7 +149,7 @@ public class KucunhuizongImpl implements Kucunhuizong {
sb.append("'"+ kucunhuizong.kqName[i]+"'"+",");
}
}
sql+=" and z.kqName in ("+sb.toString()+")";;
sql+=" and inventory.kqName in ("+sb.toString()+")";;
}
//批次号

View File

@ -59,6 +59,54 @@ public class KucunrizhiImpl implements Kucunrizhi {
sql+=" and log.RELATED_BILL in ("+sb.toString()+")";
}
}
//容器
if(kucunrizhi.LP!=null){
if(!kucunrizhi.LP.trim().equals("")){
String[] str=kucunrizhi.LP.trim().split("\n");
StringBuffer sb = new StringBuffer();
for (int i=0;i<str.length;i++){
if(str.length-1==i){
sb.append("'"+ str[i]+"'");
}else {
sb.append("'"+ str[i]+"'"+",");
}
}
sql+=" and log.LP in ("+sb.toString()+")";
}
}
//备注
if(kucunrizhi.DESCRIPTION!=null){
if(!kucunrizhi.DESCRIPTION.trim().equals("")){
String[] str=kucunrizhi.DESCRIPTION.trim().split("\n");
StringBuffer sb = new StringBuffer();
for (int i=0;i<str.length;i++){
if(str.length-1==i){
sb.append("'"+ str[i]+"'");
}else {
sb.append("'"+ str[i]+"'"+",");
}
}
sql+=" and log.DESCRIPTION in ("+sb.toString()+")";
}
}
//工厂
if(kucunrizhi.PROP_C9!=null){
if(!kucunrizhi.PROP_C9.trim().equals("")){
String[] str=kucunrizhi.PROP_C9.trim().split("\n");
StringBuffer sb = new StringBuffer();
for (int i=0;i<str.length;i++){
if(str.length-1==i){
sb.append("'"+ str[i]+"'");
}else {
sb.append("'"+ str[i]+"'"+",");
}
}
sql+=" and ik.PROP_C9 in ("+sb.toString()+")";
}
}
//日志类型
if(kucunrizhi.LOG_TYPE!=null&& kucunrizhi.LOG_TYPE.length>0){

View File

@ -0,0 +1,28 @@
package com.yc.wms.utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Component
@Service
public class JdbcQueryExample {
private final JdbcTemplate jdbcTemplate;
@Autowired
public JdbcQueryExample(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<Map<String, Object>> sqlQuery(String sql, Object... params) {
return jdbcTemplate.queryForList(sql, params);
}
public int executeUpdate(String sql, Object... params) {
return jdbcTemplate.update(sql, params);
}
}

View File

@ -13,13 +13,13 @@ server:
spring:
datasource:
# url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
url: jdbc:sqlserver://47.103.100.52:1433;DatabaseName=zwlgtest
url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
# url: jdbc:sqlserver://47.103.100.52:1433;DatabaseName=zwlgtest
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: wmsdb
# password: AmecDDbb32A
username: WMSDB
password: WmsYc@5688
username: wmsdb
password: AmecDDbb32A
# username: WMSDB
# password: WmsYc@5688
hikari:
connection-timeout: 60000