no message
parent
0fca534de3
commit
c6e60d517d
|
|
@ -38,8 +38,8 @@
|
|||
style="width: 100%;">
|
||||
<el-table-column v-for="item in columns" :key="item.prop" :prop="item.prop" :label="item.label" :min-width="item.minWidth">
|
||||
<el-table-column v-if="item.label==='作业类型'"
|
||||
prop="出库"
|
||||
label="出库"
|
||||
prop="拣货"
|
||||
label="拣货"
|
||||
width="120">
|
||||
</el-table-column>
|
||||
<el-table-column v-if="item.label==='作业类型'"
|
||||
|
|
@ -126,12 +126,12 @@ export default {
|
|||
{
|
||||
prop: '有效时效',
|
||||
minWidth: '150px',
|
||||
label: '有效时间'
|
||||
label: '有效时效'
|
||||
},
|
||||
{
|
||||
prop: '有效时间占比',
|
||||
prop: '有效时效占比',
|
||||
minWidth: '150px',
|
||||
label: '有效时间占比'
|
||||
label: '有效时效占比'
|
||||
}
|
||||
],
|
||||
/*columns:[
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="出库类型">
|
||||
<el-select v-model="param.出库类型" multiple filterable placeholder="请选择库区" style="width: 155px;">
|
||||
<el-select v-model="param.出库类型" multiple filterable placeholder="请选择出库类型" style="width: 155px;">
|
||||
<el-option
|
||||
v-for="item in Pt"
|
||||
:key="item"
|
||||
|
|
@ -19,8 +19,8 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="任务号:">
|
||||
<el-input type="textarea" v-model="param.任务号" :rows="1"></el-input>
|
||||
<el-form-item label="工单号:">
|
||||
<el-input type="textarea" v-model="param.工单号" :rows="1"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
|
|
@ -141,9 +141,9 @@ export default {
|
|||
label: '出库类型'
|
||||
},
|
||||
{
|
||||
prop: '任务号',
|
||||
prop: '工单号',
|
||||
minWidth: '150px',
|
||||
label: '任务号'
|
||||
label: '工单号'
|
||||
},
|
||||
{
|
||||
prop: '子任务号',
|
||||
|
|
@ -156,9 +156,9 @@ export default {
|
|||
label: '库区'
|
||||
},
|
||||
{
|
||||
prop: '拣货行',
|
||||
prop: '拣货行数',
|
||||
minWidth: '150px',
|
||||
label: '拣货行'
|
||||
label: '拣货行数'
|
||||
},
|
||||
{
|
||||
prop: '创建时间',
|
||||
|
|
@ -243,7 +243,7 @@ export default {
|
|||
total: 3,
|
||||
param: {
|
||||
出库类型:'',
|
||||
任务号:'',
|
||||
工单号:'',
|
||||
子任务号:'',
|
||||
库区:'',
|
||||
创建日期:[]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="所在库位:">
|
||||
<el-form-item label="目标容器:">
|
||||
<el-input type="textarea" v-model="param.lc2_code" :rows="1"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="容器码:">
|
||||
<el-form-item label="容器:">
|
||||
<el-input type="text" v-model="param.LP"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -673,7 +673,7 @@ export default {
|
|||
sourceType: '',
|
||||
//拣货库区
|
||||
z_name: [],
|
||||
//所在库位
|
||||
//目标容器
|
||||
lc2_code: '',
|
||||
//料号
|
||||
i_code: '',
|
||||
|
|
@ -834,10 +834,9 @@ export default {
|
|||
})
|
||||
},
|
||||
remoteMethod(query) {
|
||||
|
||||
if (query !== '') {
|
||||
if(query.length>2) {
|
||||
|
||||
if(query.length>=2) {
|
||||
console.log("远程搜索")
|
||||
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/kw', {
|
||||
query
|
||||
}).then(res => res.data)
|
||||
|
|
|
|||
|
|
@ -67,7 +67,16 @@
|
|||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="工厂">
|
||||
<el-input type="textarea" v-model="param.PROP_C9" :rows="1"></el-input>
|
||||
<el-select v-model="param.PROP_C9" multiple filterable placeholder="请选择工厂" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in GcS"
|
||||
:key="item.index"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <el-input type="textarea" v-model="param.PROP_C9" :rows="1"></el-input>-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
|
|
@ -422,6 +431,7 @@ export default {
|
|||
LP: ''
|
||||
},
|
||||
LOCS: [],
|
||||
GcS: [],
|
||||
Log: [],
|
||||
checked: false,
|
||||
}
|
||||
|
|
@ -438,6 +448,7 @@ export default {
|
|||
mounted() {
|
||||
this.queryUser();
|
||||
this.LOC();
|
||||
this.Gc();
|
||||
this.JdbcLogType();
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -475,6 +486,23 @@ export default {
|
|||
this.tableloding=false;
|
||||
})
|
||||
},
|
||||
Gc(){
|
||||
//工厂
|
||||
this.$axios.post(this.$httpUrl + '/Enumerate/Gc', {
|
||||
|
||||
}).then(res => res.data)
|
||||
.then(res => {
|
||||
if (res.code == 200) {
|
||||
this.GcS = res.data;
|
||||
} else {
|
||||
this.$message.error('获取数据失败');
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
},err=>{
|
||||
this.tableloding=false;
|
||||
})
|
||||
},
|
||||
JdbcLogType(){
|
||||
//LOC下拉列表数据加载
|
||||
this.$axios.post(this.$httpUrl + '/Enumerate/InventoryLogType', {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="是否在库:" >
|
||||
<el-select v-model="param.agvFlag" placeholder="请选择是否在库" >
|
||||
<el-select v-model="param.agvFlag" clearable placeholder="请选择是否在库" >
|
||||
<el-option
|
||||
v-for="item in agvFlag"
|
||||
:key="item.label"
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label=""
|
||||
label="类型"
|
||||
width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
|
|
@ -64,8 +64,17 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="工作站:">
|
||||
<el-input type="textarea" v-model="param.targetArea" :rows="1"></el-input>
|
||||
<el-select v-model="param.targetArea" multiple filterable placeholder="请选择工作站" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in Gz"
|
||||
:key="item.index"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
|
|
@ -76,7 +85,7 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="是否盘点:">
|
||||
<el-select v-model="param.NEED_COUNT" placeholder="请选择" style="width: 100%;">
|
||||
<el-select v-model="param.NEED_COUNT" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in pd"
|
||||
:key="item.label"
|
||||
|
|
@ -105,7 +114,7 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="是否差异:">
|
||||
<el-select v-model="param.sfcy" placeholder="请选择" style="width: 100%;">
|
||||
<el-select v-model="param.sfcy" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in xy"
|
||||
:key="item.label"
|
||||
|
|
@ -333,7 +342,7 @@
|
|||
width="100">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(1,10)}}</span>
|
||||
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(0,10)}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -342,7 +351,7 @@
|
|||
width="80">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(10,19)}}</span>
|
||||
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(10,18)}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -492,6 +501,7 @@ export default {
|
|||
|
||||
},
|
||||
Ku: [],
|
||||
Gz: [],
|
||||
//是否盘点
|
||||
pd: [
|
||||
{
|
||||
|
|
@ -524,6 +534,7 @@ export default {
|
|||
mounted: function () {
|
||||
this.queryUser();
|
||||
this.KuS();
|
||||
this.GzzS();
|
||||
},
|
||||
methods: {
|
||||
|
||||
|
|
@ -561,6 +572,23 @@ export default {
|
|||
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 + '/Pandianmingxi/queryPan', {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,16 @@
|
|||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="操作人:">
|
||||
<el-input type="textarea" v-model="param.操作人" :rows="1"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="组别:">
|
||||
<el-input type="textarea" v-model="param.组别" :rows="1"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-button type="success" @click="find">查找</el-button>
|
||||
<el-button type="success" @click="down">导出</el-button>
|
||||
|
|
@ -174,7 +184,9 @@ export default {
|
|||
total: 3,
|
||||
//查询条件
|
||||
param: {
|
||||
issued_Date: []
|
||||
issued_Date: [],
|
||||
操作人: '',
|
||||
组别: ''
|
||||
},
|
||||
loading: false,
|
||||
checked: false,
|
||||
|
|
@ -241,7 +253,7 @@ export default {
|
|||
this.tableData = res.data
|
||||
this.total = res.total
|
||||
} else {
|
||||
this.$message.error('获取数据失败');
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="是否批次号管理:">
|
||||
<el-select v-model="param.Status" placeholder="请选择" style="width: 100%;">
|
||||
<el-select v-model="param.sfpc" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in pc"
|
||||
:key="item.label"
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="盘点是否锁定:">
|
||||
<el-select v-model="param.sfpd" placeholder="请选择" style="width: 100%;">
|
||||
<el-select v-model="param.sfpd" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in pd"
|
||||
:key="item.label"
|
||||
|
|
@ -316,7 +316,7 @@
|
|||
width="210">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<span>{{new Date(scope.row.STORAGE_DATE).toISOString().replace('T','')}}</span>
|
||||
<span>{{ scope.row.STORAGE_DATE}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -417,11 +417,11 @@ export default {
|
|||
//供应商代码
|
||||
PROP_C5: '',
|
||||
|
||||
//是否批次号管理
|
||||
//public String ;
|
||||
|
||||
//存货日期
|
||||
STORAGE_DATE: [],
|
||||
// 是否批次号管理
|
||||
sfpc: '',
|
||||
|
||||
//盘点是否锁定
|
||||
sfpd: '',
|
||||
|
|
|
|||
|
|
@ -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'});
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class Jianhuojiemian {
|
|||
//拣货库区
|
||||
public String[] z_name;
|
||||
|
||||
//所在库位
|
||||
//目标容器
|
||||
public String lc2_code;
|
||||
|
||||
//料号
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class Kucunrizhi {
|
|||
// 容器
|
||||
public String LP;
|
||||
// 工厂
|
||||
public String PROP_C9;
|
||||
public String[] PROP_C9;
|
||||
// 备注
|
||||
public String DESCRIPTION;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class Pandianming {
|
|||
public String[] z_name;
|
||||
|
||||
//工作站
|
||||
public String targetArea;
|
||||
public String[] targetArea;
|
||||
|
||||
//盘点人员
|
||||
public String w_name;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,30 @@ import java.util.Map;
|
|||
public class EnumerateController {
|
||||
@Autowired
|
||||
private JdbcQueryExample jdbcQueryExample;
|
||||
/* 工厂*/
|
||||
@PostMapping("/Gc")
|
||||
public Result Gc() {
|
||||
String sql = " SELECT "
|
||||
+" commonCode.code, "
|
||||
+" commonCode.name From COMMON_CODE commonCode "
|
||||
+" where commonCode.code_Type = '工厂' ";
|
||||
List<Map<String, Object>> mapList = jdbcQueryExample.sqlQuery(sql);
|
||||
return Result.success(mapList);
|
||||
}
|
||||
/* 工作站*/
|
||||
@PostMapping("/Gzz")
|
||||
public Result Gzz() {
|
||||
String sql = " SELECT "
|
||||
+" ls.code, "
|
||||
+" ls.name "
|
||||
+" FROM Location_Storage ls "
|
||||
+" WHERE 1=1 "
|
||||
+" and ls.name in ('201','202','203','204','205','206','207','208','209','210','211','212', "
|
||||
+" '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("/InventoryLogType")
|
||||
public Result InventoryLogType() {
|
||||
List<Map<String, String>> logTypes = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -46,70 +46,104 @@ public class GGZXiaoLvController {
|
|||
startDate=sdf.format(param.getJSONArray("日期").getDate(0));
|
||||
endDate=sdf.format(param.getJSONArray("日期").getDate(1));
|
||||
}
|
||||
/* 基础sql数据查询*/
|
||||
String sql=" select Row_number() OVER(order by v.库区,v.工作站,v.业务类型 asc) as id,v.库区, "
|
||||
+" v.工作站,sum(v.有效时效) '有效时效', v.业务类型 ,sum(v.有效时效)/540 '有效时间占比' ," +
|
||||
" count(DISTINCT(v.任务号)) 任务数 from ( "
|
||||
+" select (case when left(agv.targetArea,1)='1' then '货架到人' when left(agv.targetArea,1)='2' then '料箱到人' end) as '库区', "
|
||||
+" (agv.id) ID,(agv.robotJobId) as '任务号',left(agv.targetArea,3) as '工作站',(agv.status) as '状态', "
|
||||
+" (CONVERT(VARCHAR,agv.createTime , 23)) as '创建时间', "
|
||||
+" (agv.arrivalTime),(agv.agvCode) as '车子',(agv.type) as '类型',(agv.classification) as '业务类型', "
|
||||
+" (agv.founderName) as '创建人', "
|
||||
+" (agv.jobPriorityType) as '加急', (agv.leaveTime) as '到站时间',(agv.returnTime) as '返库时间', "
|
||||
+" DATEDIFF(second,(agv.leaveTime), (agv.returnTime) )/60 as '有效时效' "
|
||||
+" from agvtask agv "
|
||||
+" where CONVERT(VARCHAR,agv.createTime , 23)>='"+startDate+"' "
|
||||
+" and CONVERT(VARCHAR,agv.createTime , 23)<='"+endDate+"' ) v "
|
||||
+" GROUP BY v.库区,v.工作站 ,v.业务类型 ";
|
||||
String sqlCount = "select count(t.id) as nums from (" + sql+") t";
|
||||
/* 总条数*/
|
||||
List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
|
||||
/* 当前页数据*/
|
||||
int pageNum = query.getPageNum();//当前页
|
||||
int pageSize = query.getPageSize();//条数
|
||||
String querySql="";//查询条件
|
||||
|
||||
String sqlFy = "select * from( "
|
||||
+ sql
|
||||
+ ") t where 1=1 "
|
||||
+ querySql
|
||||
+" ORDER BY id "
|
||||
+" OFFSET "+ (pageNum-1) * pageSize +" ROWS "
|
||||
+" FETCH NEXT "+pageSize+" ROWS ONLY; ";
|
||||
String sqlFy =" SELECT "
|
||||
+" ROW_NUMBER() OVER (ORDER BY v.库区, v.工作站) AS id, "
|
||||
+" v.库区, "
|
||||
+" v.工作站, "
|
||||
+" SUM(v.有效时效)/60 AS 有效时效, "
|
||||
+" SUM(v.有效时效)/60/9 AS 有效时效占比, "
|
||||
+" COUNT(DISTINCT CASE WHEN v.业务类型 = '入库' THEN v.任务号 END) AS 入库, "
|
||||
+" COUNT(DISTINCT CASE WHEN v.业务类型 = '拣货' THEN v.任务号 END) AS 拣货, "
|
||||
+" COUNT(DISTINCT CASE WHEN v.业务类型 = '料箱整理' THEN v.任务号 END) AS 整理, "
|
||||
+" COUNT(DISTINCT CASE WHEN v.业务类型 = '盘点' THEN v.任务号 END) AS 盘点 "
|
||||
+" FROM "
|
||||
+" ( "
|
||||
+" SELECT "
|
||||
+" (CASE WHEN LEFT(agv.targetArea, 1) = '1' THEN '货架到人' WHEN LEFT(agv.targetArea, 1) = '2' THEN '料箱到人' END) AS '库区', "
|
||||
+" (agv.id) ID, "
|
||||
+" (agv.robotJobId) AS '任务号', "
|
||||
+" LEFT(agv.targetArea, 3) AS '工作站', "
|
||||
+" (agv.status) AS '状态', "
|
||||
+" (CONVERT(VARCHAR, agv.createTime, 23)) AS '创建时间', "
|
||||
+" (agv.arrivalTime), "
|
||||
+" (agv.agvCode) AS '车子', "
|
||||
+" (agv.type) AS '类型', "
|
||||
+" (agv.classification) AS '业务类型', "
|
||||
+" (agv.founderName) AS '创建人', "
|
||||
+" (agv.jobPriorityType) AS '加急', "
|
||||
+" (agv.leaveTime) AS '到站时间', "
|
||||
+" (agv.returnTime) AS '返库时间', "
|
||||
+" agv.arrivalTime AS '更新时间', "
|
||||
+" CASE "
|
||||
+" WHEN agv.classification IN ('拣货', '料箱整理') THEN ISNULL(DATEDIFF(SECOND, (agv.leaveTime), (agv.returnTime)), 0) "
|
||||
+" WHEN agv.classification = '盘点' AND agv.type = '货架返库' THEN ISNULL(DATEDIFF(SECOND, (agv.leaveTime), (agv.arrivalTime)), 0) "
|
||||
+" WHEN agv.classification = '入库' THEN (CASE WHEN agv.classification = '入库' THEN 1 ELSE 0 END) * 10 "
|
||||
+" ELSE 0 "
|
||||
+" END AS '有效时效', "
|
||||
+" (CASE WHEN agv.classification = '入库' THEN 1 ELSE 0 END) AS '料箱入库任务数' "
|
||||
+" FROM "
|
||||
+" agvtask agv "
|
||||
+" WHERE "
|
||||
+" CONVERT(VARCHAR, agv.createTime, 23) >= '2025-01-01' "
|
||||
+" AND CONVERT(VARCHAR, agv.createTime, 23) <= '2025-03-20' "
|
||||
+" AND agv.classification IN ('入库', '拣货', '料箱整理', '盘点') "
|
||||
+" ) v "
|
||||
+" GROUP BY "
|
||||
+" v.库区, "
|
||||
+" v.工作站; ";
|
||||
|
||||
/* 返回数据*/
|
||||
List<GGZXl> returnList=new ArrayList<>();
|
||||
/* 查询所有数据*/
|
||||
List<GGZXl> ggzXlList = entityManager.createNativeQuery(sqlFy, GGZXl.class).getResultList();
|
||||
/* 按SAP类型分组*/
|
||||
/* 按库区类型分组*/
|
||||
Map<String, List<GGZXl>> groupedMap = ggzXlList.stream()
|
||||
.collect(Collectors.groupingBy(ggzXl -> Objects.toString(ggzXl.get库区(), "unknown")));
|
||||
GGZXl dhz=new GGZXl();
|
||||
dhz.set库区("大汇总");
|
||||
/*排序获取建*/
|
||||
List<String> sapKeys = panxu(groupedMap);
|
||||
for (int i = 0; i < sapKeys.size(); i++) {
|
||||
List<GGZXl> ggzXls=groupedMap.get(sapKeys.get(i));
|
||||
/* 按库区分组后,按工作站分组*/
|
||||
|
||||
|
||||
GGZXl gz=ggzXls.get(0);
|
||||
int l=1;//合并列
|
||||
GGZXl xhz=new GGZXl();
|
||||
xhz.set工作站("库区汇总");
|
||||
|
||||
for (GGZXl ggzXl:ggzXls){
|
||||
l=l+1;
|
||||
xhz.set拣货(xhz.get拣货()+ggzXl.get拣货());
|
||||
xhz.set入库(xhz.get入库()+ggzXl.get入库());
|
||||
xhz.set整理(xhz.get整理()+ggzXl.get整理());
|
||||
xhz.set盘点(xhz.get盘点()+ggzXl.get盘点());
|
||||
xhz.set有效时效(xhz.get有效时效()+ggzXl.get有效时效());
|
||||
xhz.set有效时效占比(xhz.get有效时效占比()+ggzXl.get有效时效占比());
|
||||
}
|
||||
Map<String,int[]> map=new HashMap<>();
|
||||
map.put("库区", new int[]{l, 1});
|
||||
gz.setMergeData(map);
|
||||
returnList.addAll(ggzXls);
|
||||
|
||||
GGZXl xhz=new GGZXl();
|
||||
xhz.set工作站("汇总");
|
||||
/* 添加汇总*/
|
||||
returnList.add(xhz);
|
||||
dhz.set拣货(dhz.get拣货()+xhz.get拣货());
|
||||
dhz.set入库(dhz.get入库()+xhz.get入库());
|
||||
dhz.set整理(dhz.get整理()+xhz.get整理());
|
||||
dhz.set盘点(dhz.get盘点()+xhz.get盘点());
|
||||
dhz.set有效时效(dhz.get有效时效()+xhz.get有效时效());
|
||||
dhz.set有效时效占比(dhz.get有效时效占比()+xhz.get有效时效占比());
|
||||
}
|
||||
GGZXl dhz=new GGZXl();
|
||||
dhz.set库区("汇总");
|
||||
dhz.setMergeData(new HashMap() {{
|
||||
put("库区", new int[]{1, 2});
|
||||
put("库区", new int[]{1, 1});
|
||||
}});
|
||||
returnList.add(dhz);
|
||||
Result result=Result.result(200,"操作成功",Long.parseLong(counts.get(0).toString()), returnList);
|
||||
Result result=Result.result(200,"操作成功",Long.parseLong(returnList.size()+""), returnList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -169,21 +203,13 @@ class GGZXl implements Serializable {
|
|||
/* 库区名称*/
|
||||
private String 库区="";
|
||||
private String 工作站="";
|
||||
@NotNull
|
||||
@Transient
|
||||
private Integer 出库=0;
|
||||
@NotNull
|
||||
@Transient
|
||||
private Integer 入库=0;
|
||||
@NotNull
|
||||
@Transient
|
||||
private Integer 盘点=0;
|
||||
@NotNull
|
||||
@Transient
|
||||
private Integer 整理=0;
|
||||
private Integer 拣货=0;
|
||||
|
||||
private Integer 有效时效;
|
||||
private Integer 有效时间占比;
|
||||
private Integer 入库=0;
|
||||
private Integer 盘点=0;
|
||||
private Integer 整理=0;
|
||||
private Integer 有效时效=0;
|
||||
private Integer 有效时效占比=0;
|
||||
@Transient
|
||||
private Map<String,int[]> mergeData=new HashMap() {{
|
||||
put("库区", new int[]{0, 0});
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public class JianHuoBiaoDanController {
|
|||
+" select max(id) id from ( " + sql+" ) t group by t.sap_name,t.area_name "
|
||||
+" ) t ";
|
||||
/* 总条数*/
|
||||
List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
|
||||
// List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
|
||||
/* 当前页数据*/
|
||||
int pageNum = query.getPageNum();//当前页
|
||||
int pageSize = query.getPageSize();//条数
|
||||
|
|
@ -219,7 +219,7 @@ public class JianHuoBiaoDanController {
|
|||
returnBody.accumulate("tableList", jhBdReturn);
|
||||
returnBody.accumulate("columnList", columnList);
|
||||
// long total=counts.get(0);
|
||||
Result result=Result.result(200,"操作成功",Long.parseLong(counts.get(0).toString()), returnBody);
|
||||
Result result=Result.result(200,"操作成功",Long.parseLong(columnList.size()+""), returnBody);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,72 +44,93 @@ public class JianHuoXiaoLvController {
|
|||
@Autowired
|
||||
private QueryUtil queryUtil;
|
||||
private static /* 基础sql数据查询*/
|
||||
String sql = " SELECT t.id,bt.NAME as '单据类型',pt.sourceType as '出库类型',pt.id as '任务号',t.BILLCODE as '子任务号', "
|
||||
+ " z.NAME as '库区',ptd.LINE_NUMBER as '拣货行' , "
|
||||
+ " CONVERT(VARCHAR(19), pt.UPDATE_TIME, 20) as '创建时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.dateBill3, 20) as '生成合单任务时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.dateBill1, 20) as '下发时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.OPERATE_TIME, 20) as '拣货时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.ARRIVAL_TIME, 20) as '清点时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.operator_Date, 20) as '合单时间', "
|
||||
+ " CONVERT(VARCHAR(19), t.dateline, 20) as '交单时间', "
|
||||
+ " DATEDIFF(second, pt.UPDATE_TIME,t.dateBill1 )/60 as '创建-下发时间', "
|
||||
+ " DATEDIFF(second, t.dateBill1,t.OPERATE_TIME )/60 as '下发-拣货时间', "
|
||||
+ " DATEDIFF(second, t.OPERATE_TIME,t.operator_Date )/60 as '拣货-合单时间', "
|
||||
+ " DATEDIFF(second, t.operator_Date,t.dateline )/60 as '合单-交单时间', "
|
||||
+ " DATEDIFF(second, t.OPERATE_TIME,t.ARRIVAL_TIME )/60 as '拣货-清点时间', "
|
||||
+ " DATEDIFF(second, t.ARRIVAL_TIME,t.operator_Date )/60 as '清点-合单时间', "
|
||||
+ " DATEDIFF(second, t.OPERATE_TIME,t.dateline )/60 as '拣货-交单时间' "
|
||||
+ " FROM task t "
|
||||
+ " LEFT JOIN PICK_TICKET_DETAIL ptd ON ptd.id = t.PICK_TICKET_DETAIL_ID "
|
||||
+ " LEFT JOIN PICK_TICKET pt ON pt.id = ptd.PICK_TICKET_ID "
|
||||
+ " LEFT JOIN BILL_TYPE bt ON bt.id = pt.BILL_TYPE_ID "
|
||||
+ " LEFT JOIN LOCATION loc ON loc.id = t.SRC_LOC_ID "
|
||||
+ " LEFT JOIN [ZONE] z ON z.id = loc.ZONE_ID "
|
||||
+ " WHERE t.PLAN_QUANTITY > 0 ";
|
||||
String querySql = "";
|
||||
public static String buildSql() {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" SELECT "
|
||||
+" t.BILLCODE AS '子任务号', "
|
||||
+" MIN(bt.NAME) AS '单据类型', "
|
||||
+" MIN(pt.sourceType) AS '出库类型', "
|
||||
+" MIN(pt.code) AS '工单号', "
|
||||
+" MIN(z.NAME) AS '库区', "
|
||||
+" COUNT(*) AS '拣货行数', "
|
||||
+" CONVERT(VARCHAR(19), MIN(pt.UPDATE_TIME), 20) AS '创建时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.dateBill3), 20) AS '生成合单任务时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.dateBill1), 20) AS '下发时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.OPERATE_TIME), 20) AS '拣货时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.ARRIVAL_TIME), 20) AS '清点时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.operator_Date), 20) AS '合单时间', "
|
||||
+" CONVERT(VARCHAR(19), MIN(t.dateline), 20) AS '交单时间', "
|
||||
+" DATEDIFF(SECOND, MIN(pt.UPDATE_TIME), MIN(t.dateBill1)) / 60 AS '创建 - 下发时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.dateBill1), MIN(t.OPERATE_TIME)) / 60 AS '下发 - 拣货时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.OPERATE_TIME), MIN(t.operator_Date)) / 60 AS '拣货 - 合单时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.operator_Date), MIN(t.dateline)) / 60 AS '合单 - 交单时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.OPERATE_TIME), MIN(t.ARRIVAL_TIME)) / 60 AS '拣货 - 清点时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.ARRIVAL_TIME), MIN(t.operator_Date)) / 60 AS '清点 - 合单时间', "
|
||||
+" DATEDIFF(SECOND, MIN(t.OPERATE_TIME), MIN(t.dateline)) / 60 AS '拣货 - 交单时间' "
|
||||
+" FROM "
|
||||
+" task t "
|
||||
+" LEFT JOIN "
|
||||
+" PICK_TICKET_DETAIL ptd ON ptd.id = t.PICK_TICKET_DETAIL_ID "
|
||||
+" LEFT JOIN "
|
||||
+" PICK_TICKET pt ON pt.id = ptd.PICK_TICKET_ID "
|
||||
+" LEFT JOIN "
|
||||
+" BILL_TYPE bt ON bt.id = pt.BILL_TYPE_ID "
|
||||
+" LEFT JOIN "
|
||||
+" LOCATION loc ON loc.id = t.SRC_LOC_ID "
|
||||
+" LEFT JOIN "
|
||||
+" [ZONE] z ON z.id = loc.ZONE_ID "
|
||||
+" WHERE "
|
||||
+" t.PLAN_QUANTITY > 0 "
|
||||
+" AND t.PICK_TICKET_DETAIL_ID IS NOT NULL ");
|
||||
sql.append(querySql); // 动态条件
|
||||
sql.append(" GROUP BY "
|
||||
+" t.BILLCODE ");
|
||||
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"));
|
||||
String querySql="";//查询条件
|
||||
JSONObject param= (JSONObject)jsonObject.get("param");
|
||||
if (param.getJSONArray("出库类型").size()>0){
|
||||
querySql=querySql+" and 出库类型 in ("+ StringUtils.strInSql(JSONUtil.toList(param.getJSONArray("出库类型"), String.class))+")";
|
||||
querySql=querySql+" and pt.sourceType in ("+ StringUtils.strInSql(JSONUtil.toList(param.getJSONArray("出库类型"), String.class))+")";
|
||||
}
|
||||
if (param.getStr("任务号")!=null&¶m.getStr("任务号").length()>0){
|
||||
querySql=querySql+" and 任务号 like '%"+param.getStr("任务号")+"%'";
|
||||
if (param.getStr("工单号")!=null&¶m.getStr("工单号").length()>0){
|
||||
querySql=querySql+" and pt.code like '%"+param.getStr("工单号")+"%'";
|
||||
}
|
||||
if (param.getStr("子任务号")!=null&¶m.getStr("子任务号").length()>0){
|
||||
querySql=querySql+" and 子任务号 like '%"+param.getStr("子任务号")+"%'";
|
||||
querySql=querySql+" and t.BILLCODE like '%"+param.getStr("子任务号")+"%'";
|
||||
}
|
||||
if (param.getJSONArray("库区")!=null&¶m.getJSONArray("库区").size()>0){
|
||||
querySql=querySql+" and 库区 in ("+ StringUtils.strInSql(JSONUtil.toList(param.getJSONArray("库区"), String.class))+")";
|
||||
querySql=querySql+" and z.NAME in ("+ StringUtils.strInSql(JSONUtil.toList(param.getJSONArray("库区"), String.class))+")";
|
||||
}
|
||||
if (param.getStr("创建日期")!=null&¶m.getJSONArray("创建日期").size()>0){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
querySql=querySql+" and 创建时间 >= '"+sdf.format(param.getJSONArray("创建日期").getDate(0))+"'";
|
||||
querySql=querySql+" and 创建时间 <= '"+sdf.format(param.getJSONArray("创建日期").getDate(1))+"'";
|
||||
querySql=querySql+" and pt.UPDATE_TIME >= '"+sdf.format(param.getJSONArray("创建日期").getDate(0))+"'";
|
||||
querySql=querySql+" and pt.UPDATE_TIME <= '"+sdf.format(param.getJSONArray("创建日期").getDate(1))+"'";
|
||||
}
|
||||
/* 当前页数据*/
|
||||
int pageNum = query.getPageNum();//当前页
|
||||
int pageSize = query.getPageSize();//查询条数
|
||||
|
||||
String sqlFa = "select * from( "
|
||||
+ sql
|
||||
+ buildSql()
|
||||
+ ") t where 1=1 "
|
||||
+ querySql ;
|
||||
;
|
||||
/* 总条数*/
|
||||
String sqlCount = "select count(t.id) as nums from (" + sqlFa+") t";
|
||||
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 id "
|
||||
String sqlFy= sqlFa+" ORDER BY 子任务号 "
|
||||
+" OFFSET "+ (pageNum-1) * pageSize +" ROWS "
|
||||
+" FETCH NEXT "+pageSize+" ROWS ONLY ";
|
||||
maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
|
||||
|
|
@ -128,7 +149,7 @@ public class JianHuoXiaoLvController {
|
|||
@PostMapping("/inputPt")
|
||||
public Result inputPt(@RequestBody String json) {
|
||||
String sqlInput=" select 出库类型 as 'name' from ( "
|
||||
+sql
|
||||
+buildSql()
|
||||
+" ) t "
|
||||
+" WHERE 出库类型 is not null group by 出库类型 ";
|
||||
List<String> ptList = entityManager.createNativeQuery(sqlInput).getResultList();
|
||||
|
|
@ -147,10 +168,10 @@ public class JianHuoXiaoLvController {
|
|||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("单据类型", company.get("单据类型"));
|
||||
map.put("出库类型", company.get("出库类型"));
|
||||
map.put("任务号", company.get("任务号"));
|
||||
map.put("工单号", company.get("工单号"));
|
||||
map.put("子任务号", company.get("子任务号"));
|
||||
map.put("库区", company.get("库区"));
|
||||
map.put("拣货行", company.get("拣货行"));
|
||||
map.put("拣货行数", company.get("拣货行数"));
|
||||
map.put("创建时间", company.get("创建时间"));
|
||||
map.put("生成合单任务时间", company.get("生成合单任务时间"));
|
||||
map.put("下发时间", company.get("下发时间"));
|
||||
|
|
@ -179,10 +200,10 @@ class JhXl implements Serializable {
|
|||
/* 库区名称*/
|
||||
private String 单据类型="";
|
||||
private String 出库类型="";
|
||||
private String 任务号="";
|
||||
private String 工单号="";
|
||||
private String 子任务号="";
|
||||
private String 库区="";
|
||||
private Integer 拣货行=0;
|
||||
private Integer 拣货行数=0;
|
||||
private Date 创建时间;
|
||||
private Date 生成合单任务时间;
|
||||
private Date 下发时间;
|
||||
|
|
|
|||
|
|
@ -42,6 +42,13 @@ public class RenXiaoController {
|
|||
query.setPageNum((int)jsonObject.get("pageNum"));
|
||||
JSONObject param= (JSONObject)jsonObject.get("param");
|
||||
JSONArray jsonArray=param.getJSONArray("issued_Date");
|
||||
if (jsonArray.size()==0){
|
||||
Result result=Result.result(400,"请选择日期范围",Long.parseLong("0"), null);
|
||||
|
||||
return result;
|
||||
}
|
||||
String operator=param.getStr("操作人");
|
||||
String describe=param.getStr("组别");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String startDate="";
|
||||
String endDate="";
|
||||
|
|
@ -55,6 +62,14 @@ public class RenXiaoController {
|
|||
Date date = new Date();
|
||||
endDate=sdf.format(date);
|
||||
}
|
||||
String querySql="";//查询条件
|
||||
|
||||
if (operator!=null&&operator.length()>0){
|
||||
querySql=" and t.操作人 like '%"+operator+"%'";
|
||||
}
|
||||
if (describe!=null&&describe.length()>0){
|
||||
querySql=" and t.组别 like '%"+describe+"%'";
|
||||
}
|
||||
/* 基础sql数据查询*/
|
||||
String sql=" select Row_number() OVER(order by v.操作人 asc) as id,max(v.组别) '组别',max(v.账号) '账号',v.操作人,sum(v.整理 ) '整理',sum(v.拣货 ) as '拣货',sum(v.清点 ) as '清点',sum(v.合单 ) as '合单', "
|
||||
+" sum(v.交单 ) as '交单',sum(v.盘点) as '盘点',sum(v.入库) as '入库',sum(v.移库) as '移库' from ( "
|
||||
|
|
@ -116,7 +131,6 @@ public class RenXiaoController {
|
|||
/* 当前页数据*/
|
||||
int pageNum = query.getPageNum();//当前页
|
||||
int pageSize = query.getPageSize();//条数
|
||||
String querySql="";//查询条件
|
||||
|
||||
String sqlFy = "select * from( "
|
||||
+ sql
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
|
|||
sql+=" and z.NAME in ("+sb.toString()+")";;
|
||||
}
|
||||
|
||||
//所在库位
|
||||
//目标容器
|
||||
if(jianhuojiemian.lc2_code!=null){
|
||||
if(!jianhuojiemian.lc2_code.trim().equals("")){
|
||||
String[] str=jianhuojiemian.lc2_code.trim().split("\n");
|
||||
|
|
@ -192,7 +192,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
|
|||
//容器码
|
||||
if(jianhuojiemian.LP!=null){
|
||||
if(!jianhuojiemian.LP.trim().equals("")){
|
||||
sql+=" and wd.CODE="+"'"+jianhuojiemian.LP.trim()+"'";
|
||||
sql+=" and st.LP="+"'"+jianhuojiemian.LP.trim()+"'";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -298,7 +298,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
|
|||
|
||||
@Override
|
||||
public Result Kw(String w) {
|
||||
String sql="select distinct CODE from LOCATION where CODE like "+"'%"+w+"%'";
|
||||
String sql="select TOP 20 CODE from LOCATION where CODE like "+"'%"+w+"%'";
|
||||
List<Map<String,Object>> list=jdbcTemplate.queryForList(sql,new HashMap<>());
|
||||
return Result.success(list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,23 +91,19 @@ public class KucunrizhiImpl implements Kucunrizhi {
|
|||
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]+"'"+",");
|
||||
}
|
||||
if(kucunrizhi.PROP_C9!=null&& kucunrizhi.PROP_C9.length>0){
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (int i = 0; i< kucunrizhi.PROP_C9.length; i++){
|
||||
if(kucunrizhi.PROP_C9.length-1==i){
|
||||
sb.append("'"+ kucunrizhi.PROP_C9[i]+"'");
|
||||
}else {
|
||||
sb.append("'"+ kucunrizhi.PROP_C9[i]+"'"+",");
|
||||
}
|
||||
sql+=" and ik.PROP_C9 in ("+sb.toString()+")";
|
||||
}
|
||||
sql+=" and ik.PROP_C9 in ("+sb.toString()+")";;
|
||||
}
|
||||
|
||||
//日志类型
|
||||
if(kucunrizhi.LOG_TYPE!=null&& kucunrizhi.LOG_TYPE.length>0){
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
|
|
|||
|
|
@ -130,20 +130,17 @@ public class PandianmingxiImpl implements Pandianmingxi {
|
|||
}
|
||||
|
||||
//工作站
|
||||
if(pandianming.targetArea!=null){
|
||||
if(!pandianming.targetArea.trim().equals("")){
|
||||
String[] str=pandianming.targetArea.trim().split("\n");
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (int i=0;i<str.length;i++){
|
||||
if(pandianming.targetArea!=null&& pandianming.targetArea.length>0){
|
||||
|
||||
if(str.length-1==i){
|
||||
sb.append("'"+ str[i]+"'");
|
||||
}else {
|
||||
sb.append("'"+ str[i]+"'"+",");
|
||||
}
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (int i = 0; i< pandianming.targetArea.length; i++){
|
||||
if(pandianming.targetArea.length-1==i){
|
||||
sb.append("'"+ pandianming.targetArea[i]+"'");
|
||||
}else {
|
||||
sb.append("'"+ pandianming.targetArea[i]+"'"+",");
|
||||
}
|
||||
sql+=" and cr.targetArea in ("+sb.toString()+")";
|
||||
}
|
||||
sql+=" and cr.targetArea in ("+sb.toString()+")";;
|
||||
}
|
||||
|
||||
//盘点人员
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
String sql="select Row_number() OVER(ORDER BY inv.id) as Row_Num, inv.id,lc.CODE lc_code,i.CODE i_code,inv.BAR_CODE ,i.NAME i_name,i.UNIT ,\n" +
|
||||
"inv.STATUS ,inv.QUANTITY ,inv.QUEUED_QUANTITY ,\n" +
|
||||
"ik.PROP_C1 ,ik.PROP_C2 ,ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C9 ,ik.PROP_D2 ,\n" +
|
||||
"z.NAME z_name,inv.STORAGE_DATE ,case when inv.coun_Plan is null then '否' else '是' end as sfpd\n" +
|
||||
"z.NAME z_name,CONVERT(VARCHAR(10), inv.STORAGE_DATE, 23) AS STORAGE_DATE ,case when inv.coun_Plan is null then '否' else '是' end as sfpd\n" +
|
||||
" from INVENTORY inv\n" +
|
||||
" left join ITEM_KEY ik on ik.id=inv.ITEM_KEY_ID\n" +
|
||||
" left join item i on i.id=ik.ITEM_ID\n" +
|
||||
|
|
@ -91,7 +91,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
sb.append("'"+ str[i]+"'"+",");
|
||||
}
|
||||
}
|
||||
sql+=" and i_code in ("+sb.toString()+")";
|
||||
sql+=" and i.CODE in ("+sb.toString()+")";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
sb.append("'"+ xuliehao.STATUS[i]+"'"+",");
|
||||
}
|
||||
}
|
||||
sql+=" and z.NAME in ("+sb.toString()+")";;
|
||||
sql+=" and inv.STATUS in ("+sb.toString()+")";;
|
||||
}
|
||||
|
||||
//库区
|
||||
|
|
@ -151,9 +151,9 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
StringBuffer sb = new StringBuffer();
|
||||
for (int i = 0; i< xuliehao.PROP_C2.length; i++){
|
||||
if(xuliehao.PROP_C2.length-1==i){
|
||||
sb.append("'"+ xuliehao.z_name[i]+"'");
|
||||
sb.append("'"+ xuliehao.PROP_C2[i]+"'");
|
||||
}else {
|
||||
sb.append("'"+ xuliehao.z_name[i]+"'"+",");
|
||||
sb.append("'"+ xuliehao.PROP_C2[i]+"'"+",");
|
||||
}
|
||||
}
|
||||
sql+=" and ik.PROP_C2 in ("+sb.toString()+")";;
|
||||
|
|
@ -171,9 +171,9 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
StringBuffer sb = new StringBuffer();
|
||||
for (int i = 0; i< xuliehao.PROP_C9.length; i++){
|
||||
if(xuliehao.PROP_C9.length-1==i){
|
||||
sb.append("'"+ xuliehao.z_name[i]+"'");
|
||||
sb.append("'"+ xuliehao.PROP_C9[i]+"'");
|
||||
}else {
|
||||
sb.append("'"+ xuliehao.z_name[i]+"'"+",");
|
||||
sb.append("'"+ xuliehao.PROP_C9[i]+"'"+",");
|
||||
}
|
||||
}
|
||||
sql+=" and ik.PROP_C9 in ("+sb.toString()+")";;
|
||||
|
|
@ -198,7 +198,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
|
||||
//是否盘点
|
||||
if(xuliehao.sfpd!=null&& !xuliehao.sfpd.equals("")){
|
||||
if (Integer.parseInt(xuliehao.sfpd)==1) {
|
||||
if (Integer.parseInt(xuliehao.sfpd)==0) {
|
||||
sql+=" and inv.coun_Plan is null";
|
||||
}else {
|
||||
sql+=" and inv.coun_Plan is not null";
|
||||
|
|
@ -208,7 +208,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
|
|||
//是否批次号管理
|
||||
if(xuliehao.sfpc!=null&& !xuliehao.sfpc.equals("")){
|
||||
|
||||
if (Integer.parseInt(xuliehao.sfpc)==1) {
|
||||
if (Integer.parseInt(xuliehao.sfpc)==0) {
|
||||
sql+=" and ik.PROP_C1 is null";
|
||||
}else {
|
||||
sql+=" and ik.PROP_C1 is not null";
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ public class JdbcQueryExample {
|
|||
public List<Map<String, Object>> sqlQuery(String sql, Object... params) {
|
||||
return jdbcTemplate.queryForList(sql, params);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> sqlQuery(String sql) {
|
||||
return jdbcTemplate.queryForList(sql);
|
||||
}
|
||||
public int executeUpdate(String sql, Object... params) {
|
||||
return jdbcTemplate.update(sql, params);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue