no message

main
liyang 2024-04-09 14:30:07 +08:00
parent 1800cb614c
commit 35af95e180
10 changed files with 781 additions and 10 deletions

View File

@ -689,7 +689,7 @@ export default {
//
z_name: [],
//
lc1_code: '',
lc2_code: '',
//
i_code: '',
//
@ -703,7 +703,7 @@ export default {
//
LP: '',
//
lc2_code: [],
lc1_code: [],
//
ORDER_DATE: [],
//

View File

@ -0,0 +1,487 @@
<template>
<div class="div1">
<div class="div2" style="padding-bottom: 10px">
<el-form ref="form" :model="param" label-width="80px">
<el-row :gutter="24">
<el-col :span="4">
<el-form-item label="相关单号:">
<el-input type="textarea" v-model="param.RELATED_BILL" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="日志类型:">
<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"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="源库位:" >
<el-input type="textarea" v-model="param.loc1_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="目标库位:">
<el-input type="textarea" v-model="param.loc_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="料号:">
<el-input type="textarea" v-model="param.i_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="LOC:">
<el-select v-model="param.PROP_C2" multiple filterable placeholder="请选择LOC" style="width: 100%;">
<el-option
v-for="item in LOCS"
:key="item.ID"
:label="item.PROP_C2"
:value="item.PROP_C2"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="4">
<el-form-item label="操作员">
<el-input type="textarea" v-model="param.OPERATOR" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发生时间:">
<el-date-picker style="width: 325px"
v-model="param.OCCUR_TIME"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-button type="success" @click="find"></el-button>
<el-button type="success" @click="rest"></el-button>&nbsp;&nbsp;
<el-checkbox v-model="checked" @change="Allquesr"></el-checkbox>
</el-form>
</div>
<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.id }}</span>
</template>
</el-table-column>
<el-table-column
label="ID"
width="180">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.id}}</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.RELATED_BILL }}</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.LOG_TYPE }}</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.NAME }}</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.loc1_code }}</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.loc_code }}</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.i_code }}</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.i_name }}</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.UNIT }}</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.number }}</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.OPERATOR }}</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.OCCUR_TIME }}</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.DESCRIPTION }}</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.PROP_C1 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="LOC"
width="180">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C2 }}</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.PROP_C3 }}</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.PROP_C5}}</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.PROP_C8}}</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.PROP_C9 }}</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.endRegion}}</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.LP}}</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>
export default {
name: "Kucunrizhi",
data() {
return {
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: {
//
RELATED_BILL: '',
//
LOG_TYPE: [],
//
loc1_code: '',
//
loc_code: '',
//
i_code: '',
//LOC
PROP_C2: [],
//
OPERATOR: '',
//
OCCUR_TIME: [],
},
LOCS: [],
Log: [],
checked: false,
}
},computed:{
MaxHeight(){
return window.innerHeight - 240 +"px";
}
},
mounted() {
this.queryUser();
this.LOC();
this.LogS();
},
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();
},
LOC(){
//LOC
this.$axios.post(this.$httpUrl + '/Rukuzhengli/LOC', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.LOCS = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
LogS(){
//
this.$axios.post(this.$httpUrl + '/Kucunrizhi/log', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Log = 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', {
pageSize: this.pageSize,
pageNum: this.pageNum,
param: this.param,
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
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.queryUser();
},
Allquesr(){
//
if(this.checked){
this.isShow=true;
}else {
this.isShow=false;
}
},
rest() {
//
this.checked=false;
this.isShow=false;
this.param={};
},
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -22,7 +22,7 @@ const routes=[
meta:{
title:'首页'
},
component: () => import('../components/duochaxun/Jianhuojiemian')
component: () => import('../components/duochaxun/Kucunrizhi')
},
{
path:'/Zhengliqingdan',
@ -56,6 +56,14 @@ const routes=[
},
component: () => import('@/components/duochaxun/Jianhuojiemian.vue')
},
{
path:'/Kucunrizhi',
name:'Kucunrizhi',
meta:{
title:'库存操作日志'
},
component: () => import('@/components/duochaxun/Kucunrizhi.vue')
},
]
}

View File

@ -0,0 +1,30 @@
package com.yc.wms.bean;
import java.util.Date;
public class Kucunrizhi {
//相关单号
public String RELATED_BILL;
//日志类型
public String[] LOG_TYPE;
//源库位
public String loc1_code;
//目标库位
public String loc_code;
//料号
public String i_code;
//LOC
public String[] PROP_C2;
//操作员
public String OPERATOR;
//发生时间
public Date[] OCCUR_TIME;
}

View File

@ -27,6 +27,7 @@ public class JianhuojiemianController {
@PostMapping("/queryJian")
public Result queryUser(@RequestBody String json) {
QueryPageUtil query =new QueryPageUtil();
JSONObject jsonObject= JSONUtil.parseObj(json);
query.setPageSize((int)jsonObject.get("pageSize"));
@ -36,6 +37,7 @@ public class JianhuojiemianController {
com.yc.wms.bean.Jianhuojiemian j = JSONUtil.toBean(param.toString(), com.yc.wms.bean.Jianhuojiemian.class);
return jianhuojiemian.QueryJson(query,j);
}
@ -63,7 +65,7 @@ public class JianhuojiemianController {
JSONObject jsonObject= JSONUtil.parseObj(query);
String w= (String) jsonObject.get("query");
System.out.println(w);
return jianhuojiemian.Kw(w);
}

View File

@ -0,0 +1,41 @@
package com.yc.wms.controller;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.yc.wms.service.Kucunrizhi;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
@RequestMapping("/Kucunrizhi")
public class KucunrizhiController {
@Autowired
private Kucunrizhi kucunrizhi;
@PostMapping("/queryRi")
public Result queryUser(@RequestBody String json) {
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");
com.yc.wms.bean.Kucunrizhi k = JSONUtil.toBean(param.toString(), com.yc.wms.bean.Kucunrizhi.class);
return kucunrizhi.QueryJson(query,k);
}
@PostMapping("/log")
public Result Log() {
return kucunrizhi.Log();
}
}

View File

@ -48,7 +48,7 @@ public class UserController {
// return result;
JSONArray array=new JSONArray();
JSONObject data=new JSONObject();
int menuCount=4;
int menuCount=5;
for (int i=1;i<=menuCount;i++){
JSONObject menu=new JSONObject();
menu.put("id",i);
@ -69,6 +69,10 @@ public class UserController {
menu.put("menuName", "拣货界面");
menu.put("menuComponent","/Jianhuojiemian");
menu.put("menuClick","Jianhuojiemian");
}else if(i==5) {
menu.put("menuName", "库存操作日志");
menu.put("menuComponent","/Kucunrizhi");
menu.put("menuClick","Kucunrizhi");
}
menu.put("menuLevel",i);
menu.put("menuParentCode",i);

View File

@ -0,0 +1,13 @@
package com.yc.wms.service;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
public interface Kucunrizhi {
// 条件查询加分页
Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunrizhi kucunrizhi);
//日志类型
Result Log();
}

View File

@ -212,23 +212,23 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
if(jianhuojiemian.ORDER_DATE!=null&&jianhuojiemian.ORDER_DATE.length>0){
String startDate = simpleDateFormat.format(jianhuojiemian.ORDER_DATE[0]);
String endDate = simpleDateFormat.format(jianhuojiemian.ORDER_DATE[1]);
sql+=" and pt.ORDER_DATE "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
sql+=" and pt.ORDER_DATE between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
}
//分配日期
if(jianhuojiemian.CREATE_TIME!=null&&jianhuojiemian.CREATE_TIME.length>0){
String startDate = simpleDateFormat.format(jianhuojiemian.CREATE_TIME[0]);
String endDate = simpleDateFormat.format(jianhuojiemian.CREATE_TIME[1]);
sql+=" and t.CREATE_TIME "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
sql+=" and t.CREATE_TIME between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
}
//拣货日期
if(jianhuojiemian.OPERATE_TIME!=null&&jianhuojiemian.OPERATE_TIME.length>0){
String startDate = simpleDateFormat.format(jianhuojiemian.OPERATE_TIME[0]);
String endDate = simpleDateFormat.format(jianhuojiemian.OPERATE_TIME[1]);
sql+=" and t.OPERATE_TIME "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
sql+=" and t.OPERATE_TIME between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
}
//拣货状态
if(jianhuojiemian.Status!=null&&!jianhuojiemian.Status.equals("")){
if(jianhuojiemian.Status.equals("处理完成")){
@ -261,10 +261,10 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
}
String sqlCount = "select count(t.id) as nums from(" + sql+") t";
String sqlFy = "select t.* from(" + sql+") t";
sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize;
//查询单数据
Map<String,Object> listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>());

View File

@ -0,0 +1,186 @@
package com.yc.wms.service.impl;
import com.yc.wms.service.Kucunrizhi;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class KucunrizhiImpl implements Kucunrizhi {
@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;
@Override
public Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunrizhi kucunrizhi) {
int pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sql="select Row_number() OVER(ORDER BY log.id) as Row_Num,log.id,log.RELATED_BILL,\n" +
"log.LOG_TYPE ,bt.NAME bt_name,loc1.CODE loc1_code,loc.CODE loc_code,\n" +
"i.CODE i_code,i.NAME i_name,i.UNIT,\n" +
"log.OCCUR_QUANTITY*log.INC_DEC number,\n" +
"log.OPERATOR ,log.OCCUR_TIME ,log.DESCRIPTION ,\n" +
"ik.PROP_C1 ,ik.PROP_C2 ,ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C8 ,\n" +
"ik.PROP_C9 ,log.endRegion ,log.LP \n" +
"FROM INVENTORY_LOG log\n" +
"left join BILL_TYPE bt on bt.ID=log.BILL_TYPE_ID\n" +
"left join LOCATION loc on loc.id=log.LOCATION_ID\n" +
"left join LOCATION loc1 on loc1.id=log.SRCLOC_ID\n" +
"left join ITEM_KEY ik on ik.id=log.ITEM_KEY_ID\n" +
"left join item i on i.id=ik.ITEM_ID\n" +
"where 1=1";
//相关单号
if(kucunrizhi.RELATED_BILL!=null){
if(!kucunrizhi.RELATED_BILL.trim().equals("")){
String[] str=kucunrizhi.RELATED_BILL.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.RELATED_BILL in ("+sb.toString()+")";
}
}
//日志类型
if(kucunrizhi.LOG_TYPE!=null&& kucunrizhi.LOG_TYPE.length>0){
StringBuffer sb = new StringBuffer();
for (int i = 0; i< kucunrizhi.LOG_TYPE.length; i++){
if(kucunrizhi.LOG_TYPE.length-1==i){
sb.append("'"+ kucunrizhi.LOG_TYPE[i]+"'");
}else {
sb.append("'"+ kucunrizhi.LOG_TYPE[i]+"'"+",");
}
}
sql+=" and log.LOG_TYPE in ("+sb.toString()+")";;
}
//源库位
if(kucunrizhi.loc1_code!=null){
if(!kucunrizhi.loc1_code.trim().equals("")){
String[] str=kucunrizhi.loc1_code.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 loc1.CODE in ("+sb.toString()+")";
}
}
//目标库位
if(kucunrizhi.loc_code!=null){
if(!kucunrizhi.loc_code.trim().equals("")){
String[] str=kucunrizhi.loc_code.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 loc.CODE in ("+sb.toString()+")";
}
}
//料号
if(kucunrizhi.i_code!=null){
if(!kucunrizhi.i_code.trim().equals("")){
String[] str=kucunrizhi.i_code.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 i.CODE in ("+sb.toString()+")";
}
}
//LOC
if(kucunrizhi.PROP_C2!=null&& kucunrizhi.PROP_C2.length>0){
StringBuffer sb = new StringBuffer();
for (int i = 0; i< kucunrizhi.PROP_C2.length; i++){
if(kucunrizhi.PROP_C2.length-1==i){
sb.append("'"+ kucunrizhi.PROP_C2[i]+"'");
}else {
sb.append("'"+ kucunrizhi.PROP_C2[i]+"'"+",");
}
}
sql+=" and ik.PROP_C2 in ("+sb.toString()+")";;
}
//操作员
if(kucunrizhi.OPERATOR!=null){
if(!kucunrizhi.OPERATOR.trim().equals("")){
String[] str=kucunrizhi.OPERATOR.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.OPERATOR in ("+sb.toString()+")";
}
}
//发生时间
if(kucunrizhi.OCCUR_TIME!=null&&kucunrizhi.OCCUR_TIME.length>0){
String startDate = simpleDateFormat.format(kucunrizhi.OCCUR_TIME[0]);
String endDate = simpleDateFormat.format(kucunrizhi.OCCUR_TIME[1]);
sql+=" and log.OCCUR_TIME between"+"'"+startDate+"'"+" and "+ "'"+endDate+"'";
}
String sqlCount = "select count(t.id) as nums from(" + sql+") t";
String sqlFy = "select t.* from(" + sql+") t";
sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize;
//查询单数据
Map<String,Object> listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>());
//查询多条数据据
List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
return Result.success(Long.parseLong(listCount.get("nums").toString()),maps);
}
@Override
public Result Log() {
String sql=" select distinct LOG_TYPE from INVENTORY_LOG";
List<Map<String,Object>> list=jdbcTemplate.queryForList(sql,new HashMap<>());
return Result.success(list);
}
}