no message

main
暴炳林 2025-03-21 15:44:38 +08:00
parent 0fca534de3
commit c6e60d517d
22 changed files with 314 additions and 167 deletions

View File

@ -38,8 +38,8 @@
style="width: 100%;"> 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-for="item in columns" :key="item.prop" :prop="item.prop" :label="item.label" :min-width="item.minWidth">
<el-table-column v-if="item.label===''" <el-table-column v-if="item.label===''"
prop="出库" prop="拣货"
label="出库" label="拣货"
width="120"> width="120">
</el-table-column> </el-table-column>
<el-table-column v-if="item.label===''" <el-table-column v-if="item.label===''"
@ -126,12 +126,12 @@ export default {
{ {
prop: '有效时效', prop: '有效时效',
minWidth: '150px', minWidth: '150px',
label: '有效时' label: '有效时'
}, },
{ {
prop: '有效时占比', prop: '有效时占比',
minWidth: '150px', minWidth: '150px',
label: '有效时占比' label: '有效时占比'
} }
], ],
/*columns:[ /*columns:[

View File

@ -7,7 +7,7 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="4"> <el-col :span="4">
<el-form-item label="出库类型"> <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 <el-option
v-for="item in Pt" v-for="item in Pt"
:key="item" :key="item"
@ -19,8 +19,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="任务号:"> <el-form-item label="工单号:">
<el-input type="textarea" v-model="param.任务号" :rows="1"></el-input> <el-input type="textarea" v-model="param.工单号" :rows="1"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -141,9 +141,9 @@ export default {
label: '出库类型' label: '出库类型'
}, },
{ {
prop: '任务号', prop: '工单号',
minWidth: '150px', minWidth: '150px',
label: '任务号' label: '工单号'
}, },
{ {
prop: '子任务号', prop: '子任务号',
@ -156,9 +156,9 @@ export default {
label: '库区' label: '库区'
}, },
{ {
prop: '拣货行', prop: '拣货行',
minWidth: '150px', minWidth: '150px',
label: '拣货行' label: '拣货行'
}, },
{ {
prop: '创建时间', prop: '创建时间',
@ -243,7 +243,7 @@ export default {
total: 3, total: 3,
param: { param: {
出库类型:'', 出库类型:'',
任务:'', 工单:'',
子任务号:'', 子任务号:'',
库区:'', 库区:'',
创建日期:[] 创建日期:[]

View File

@ -30,7 +30,7 @@
</el-col> </el-col>
<el-col :span="5"> <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-input type="textarea" v-model="param.lc2_code" :rows="1"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -92,7 +92,7 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="容器:"> <el-form-item label="容器:">
<el-input type="text" v-model="param.LP"></el-input> <el-input type="text" v-model="param.LP"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -673,7 +673,7 @@ export default {
sourceType: '', sourceType: '',
// //
z_name: [], z_name: [],
// //
lc2_code: '', lc2_code: '',
// //
i_code: '', i_code: '',
@ -834,10 +834,9 @@ export default {
}) })
}, },
remoteMethod(query) { remoteMethod(query) {
if (query !== '') { if (query !== '') {
if(query.length>2) { if(query.length>=2) {
console.log("远程搜索")
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/kw', { this.$axios.post(this.$httpUrl + '/Jianhuojiemian/kw', {
query query
}).then(res => res.data) }).then(res => res.data)

View File

@ -67,7 +67,16 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="工厂"> <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-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -422,6 +431,7 @@ export default {
LP: '' LP: ''
}, },
LOCS: [], LOCS: [],
GcS: [],
Log: [], Log: [],
checked: false, checked: false,
} }
@ -438,6 +448,7 @@ export default {
mounted() { mounted() {
this.queryUser(); this.queryUser();
this.LOC(); this.LOC();
this.Gc();
this.JdbcLogType(); this.JdbcLogType();
}, },
methods: { methods: {
@ -475,6 +486,23 @@ export default {
this.tableloding=false; 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(){ JdbcLogType(){
//LOC //LOC
this.$axios.post(this.$httpUrl + '/Enumerate/InventoryLogType', { this.$axios.post(this.$httpUrl + '/Enumerate/InventoryLogType', {

View File

@ -21,7 +21,7 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="是否在库:" > <el-form-item label="是否在库:" >
<el-select v-model="param.agvFlag" placeholder="请选择是否在库" > <el-select v-model="param.agvFlag" clearable placeholder="请选择是否在库" >
<el-option <el-option
v-for="item in agvFlag" v-for="item in agvFlag"
:key="item.label" :key="item.label"
@ -78,7 +78,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="" label="类型"
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -64,8 +64,17 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="工作站:"> <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-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -76,7 +85,7 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="是否盘点:"> <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 <el-option
v-for="item in pd" v-for="item in pd"
:key="item.label" :key="item.label"
@ -105,7 +114,7 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="是否差异:"> <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 <el-option
v-for="item in xy" v-for="item in xy"
:key="item.label" :key="item.label"
@ -333,7 +342,7 @@
width="100"> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div slot="reference" class="name-wrapper"> <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> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -342,7 +351,7 @@
width="80"> width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<div slot="reference" class="name-wrapper"> <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> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -492,6 +501,7 @@ export default {
}, },
Ku: [], Ku: [],
Gz: [],
// //
pd: [ pd: [
{ {
@ -524,6 +534,7 @@ export default {
mounted: function () { mounted: function () {
this.queryUser(); this.queryUser();
this.KuS(); this.KuS();
this.GzzS();
}, },
methods: { methods: {
@ -561,6 +572,23 @@ export default {
this.tableloding=false; 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() { queryUser() {
// //
this.$axios.post(this.$httpUrl + '/Pandianmingxi/queryPan', { this.$axios.post(this.$httpUrl + '/Pandianmingxi/queryPan', {

View File

@ -19,6 +19,16 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </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-row>
<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>
@ -174,7 +184,9 @@ export default {
total: 3, total: 3,
// //
param: { param: {
issued_Date: [] issued_Date: [],
操作人: '',
组别: ''
}, },
loading: false, loading: false,
checked: false, checked: false,
@ -241,7 +253,7 @@ export default {
this.tableData = res.data this.tableData = res.data
this.total = res.total this.total = res.total
} else { } else {
this.$message.error('获取数据失败'); this.$message.error(res.msg);
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars

View File

@ -115,7 +115,7 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="是否批次号管理:"> <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 <el-option
v-for="item in pc" v-for="item in pc"
:key="item.label" :key="item.label"
@ -129,7 +129,7 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item label="盘点是否锁定:"> <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 <el-option
v-for="item in pd" v-for="item in pd"
:key="item.label" :key="item.label"
@ -316,7 +316,7 @@
width="210"> width="210">
<template slot-scope="scope"> <template slot-scope="scope">
<div slot="reference" class="name-wrapper"> <div slot="reference" class="name-wrapper">
<span>{{new Date(scope.row.STORAGE_DATE).toISOString().replace('T','')}}</span> <span>{{ scope.row.STORAGE_DATE}}</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -417,11 +417,11 @@ export default {
// //
PROP_C5: '', PROP_C5: '',
//
//public String ;
// //
STORAGE_DATE: [], STORAGE_DATE: [],
//
sfpc: '',
// //
sfpd: '', sfpd: '',

View File

@ -8,9 +8,9 @@ import VueRouter from "vue-router";
import router from "@/router/router"; import router from "@/router/router";
import store from "@/store/store"; import store from "@/store/store";
Vue.prototype.$axios=axios; 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://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.config.productionTip = false;
Vue.use(VueRouter) Vue.use(VueRouter)
Vue.use(ElementUI,{size:'small'}); Vue.use(ElementUI,{size:'small'});

View File

@ -16,7 +16,7 @@ public class Jianhuojiemian {
//拣货库区 //拣货库区
public String[] z_name; public String[] z_name;
//所在库位 //目标容器
public String lc2_code; public String lc2_code;
//料号 //料号

View File

@ -30,7 +30,7 @@ public class Kucunrizhi {
// 容器 // 容器
public String LP; public String LP;
// 工厂 // 工厂
public String PROP_C9; public String[] PROP_C9;
// 备注 // 备注
public String DESCRIPTION; public String DESCRIPTION;
} }

View File

@ -23,7 +23,7 @@ public class Pandianming {
public String[] z_name; public String[] z_name;
//工作站 //工作站
public String targetArea; public String[] targetArea;
//盘点人员 //盘点人员
public String w_name; public String w_name;

View File

@ -19,6 +19,30 @@ import java.util.Map;
public class EnumerateController { public class EnumerateController {
@Autowired @Autowired
private JdbcQueryExample jdbcQueryExample; 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") @PostMapping("/InventoryLogType")
public Result InventoryLogType() { public Result InventoryLogType() {
List<Map<String, String>> logTypes = new ArrayList<>(); List<Map<String, String>> logTypes = new ArrayList<>();

View File

@ -46,70 +46,104 @@ public class GGZXiaoLvController {
startDate=sdf.format(param.getJSONArray("日期").getDate(0)); startDate=sdf.format(param.getJSONArray("日期").getDate(0));
endDate=sdf.format(param.getJSONArray("日期").getDate(1)); 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 pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数 int pageSize = query.getPageSize();//条数
String querySql="";//查询条件
String sqlFy = "select * from( " String sqlFy =" SELECT "
+ sql +" ROW_NUMBER() OVER (ORDER BY v.库区, v.工作站) AS id, "
+ ") t where 1=1 " +" v.库区, "
+ querySql +" v.工作站, "
+" ORDER BY id " +" SUM(v.有效时效)/60 AS 有效时效, "
+" OFFSET "+ (pageNum-1) * pageSize +" ROWS " +" SUM(v.有效时效)/60/9 AS 有效时效占比, "
+" FETCH NEXT "+pageSize+" ROWS ONLY; "; +" 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> returnList=new ArrayList<>();
/* 查询所有数据*/ /* 查询所有数据*/
List<GGZXl> ggzXlList = entityManager.createNativeQuery(sqlFy, GGZXl.class).getResultList(); List<GGZXl> ggzXlList = entityManager.createNativeQuery(sqlFy, GGZXl.class).getResultList();
/* 按SAP类型分组*/ /* 按库区类型分组*/
Map<String, List<GGZXl>> groupedMap = ggzXlList.stream() Map<String, List<GGZXl>> groupedMap = ggzXlList.stream()
.collect(Collectors.groupingBy(ggzXl -> Objects.toString(ggzXl.get(), "unknown"))); .collect(Collectors.groupingBy(ggzXl -> Objects.toString(ggzXl.get(), "unknown")));
GGZXl dhz=new GGZXl();
dhz.set("大汇总");
/*排序获取建*/ /*排序获取建*/
List<String> sapKeys = panxu(groupedMap); List<String> sapKeys = panxu(groupedMap);
for (int i = 0; i < sapKeys.size(); i++) { for (int i = 0; i < sapKeys.size(); i++) {
List<GGZXl> ggzXls=groupedMap.get(sapKeys.get(i)); List<GGZXl> ggzXls=groupedMap.get(sapKeys.get(i));
/* 按库区分组后,按工作站分组*/
GGZXl gz=ggzXls.get(0); GGZXl gz=ggzXls.get(0);
int l=1;//合并列 int l=1;//合并列
GGZXl xhz=new GGZXl();
xhz.set("库区汇总");
for (GGZXl ggzXl:ggzXls){ for (GGZXl ggzXl:ggzXls){
l=l+1; 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<String,int[]> map=new HashMap<>();
map.put("库区", new int[]{l, 1}); map.put("库区", new int[]{l, 1});
gz.setMergeData(map); gz.setMergeData(map);
returnList.addAll(ggzXls); returnList.addAll(ggzXls);
/* 添加汇总*/
GGZXl xhz=new GGZXl();
xhz.set("汇总");
returnList.add(xhz); 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() {{ dhz.setMergeData(new HashMap() {{
put("库区", new int[]{1, 2}); put("库区", new int[]{1, 1});
}}); }});
returnList.add(dhz); 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; return result;
} }
@ -169,21 +203,13 @@ class GGZXl implements Serializable {
/* 库区名称*/ /* 库区名称*/
private String =""; private String ="";
private String =""; private String ="";
@NotNull private Integer =0;
@Transient
private Integer =0;
@NotNull
@Transient
private Integer =0;
@NotNull
@Transient
private Integer =0;
@NotNull
@Transient
private Integer =0;
private Integer ; private Integer =0;
private Integer ; private Integer =0;
private Integer =0;
private Integer =0;
private Integer =0;
@Transient @Transient
private Map<String,int[]> mergeData=new HashMap() {{ private Map<String,int[]> mergeData=new HashMap() {{
put("库区", new int[]{0, 0}); put("库区", new int[]{0, 0});

View File

@ -75,7 +75,7 @@ public class JianHuoBiaoDanController {
+" select max(id) id from ( " + sql+" ) t group by t.sap_name,t.area_name " +" select max(id) id from ( " + sql+" ) t group by t.sap_name,t.area_name "
+" ) t "; +" ) t ";
/* 总条数*/ /* 总条数*/
List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList(); // List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
/* 当前页数据*/ /* 当前页数据*/
int pageNum = query.getPageNum();//当前页 int pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数 int pageSize = query.getPageSize();//条数
@ -219,7 +219,7 @@ public class JianHuoBiaoDanController {
returnBody.accumulate("tableList", jhBdReturn); returnBody.accumulate("tableList", jhBdReturn);
returnBody.accumulate("columnList", columnList); returnBody.accumulate("columnList", columnList);
// long total=counts.get(0); // 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; return result;
} }

View File

@ -44,72 +44,93 @@ public class JianHuoXiaoLvController {
@Autowired @Autowired
private QueryUtil queryUtil; private QueryUtil queryUtil;
private static /* 基础sql数据查询*/ private static /* 基础sql数据查询*/
String sql = " SELECT t.id,bt.NAME as '单据类型',pt.sourceType as '出库类型',pt.id as '任务号',t.BILLCODE as '子任务号', " String querySql = "";
+ " z.NAME as '库区',ptd.LINE_NUMBER as '拣货行' , " public static String buildSql() {
+ " CONVERT(VARCHAR(19), pt.UPDATE_TIME, 20) as '创建时间', " StringBuilder sql = new StringBuilder();
+ " CONVERT(VARCHAR(19), t.dateBill3, 20) as '生成合单任务时间', " sql.append(" SELECT "
+ " CONVERT(VARCHAR(19), t.dateBill1, 20) as '下发时间', " +" t.BILLCODE AS '子任务号', "
+ " CONVERT(VARCHAR(19), t.OPERATE_TIME, 20) as '拣货时间', " +" MIN(bt.NAME) AS '单据类型', "
+ " CONVERT(VARCHAR(19), t.ARRIVAL_TIME, 20) as '清点时间', " +" MIN(pt.sourceType) AS '出库类型', "
+ " CONVERT(VARCHAR(19), t.operator_Date, 20) as '合单时间', " +" MIN(pt.code) AS '工单号', "
+ " CONVERT(VARCHAR(19), t.dateline, 20) as '交单时间', " +" MIN(z.NAME) AS '库区', "
+ " DATEDIFF(second, pt.UPDATE_TIME,t.dateBill1 )/60 as '创建-下发时间', " +" COUNT(*) AS '拣货行数', "
+ " DATEDIFF(second, t.dateBill1,t.OPERATE_TIME )/60 as '下发-拣货时间', " +" CONVERT(VARCHAR(19), MIN(pt.UPDATE_TIME), 20) AS '创建时间', "
+ " DATEDIFF(second, t.OPERATE_TIME,t.operator_Date )/60 as '拣货-合单时间', " +" CONVERT(VARCHAR(19), MIN(t.dateBill3), 20) AS '生成合单任务时间', "
+ " DATEDIFF(second, t.operator_Date,t.dateline )/60 as '合单-交单时间', " +" CONVERT(VARCHAR(19), MIN(t.dateBill1), 20) AS '下发时间', "
+ " DATEDIFF(second, t.OPERATE_TIME,t.ARRIVAL_TIME )/60 as '拣货-清点时间', " +" CONVERT(VARCHAR(19), MIN(t.OPERATE_TIME), 20) AS '拣货时间', "
+ " DATEDIFF(second, t.ARRIVAL_TIME,t.operator_Date )/60 as '清点-合单时间', " +" CONVERT(VARCHAR(19), MIN(t.ARRIVAL_TIME), 20) AS '清点时间', "
+ " DATEDIFF(second, t.OPERATE_TIME,t.dateline )/60 as '拣货-交单时间' " +" CONVERT(VARCHAR(19), MIN(t.operator_Date), 20) AS '合单时间', "
+ " FROM task t " +" CONVERT(VARCHAR(19), MIN(t.dateline), 20) AS '交单时间', "
+ " LEFT JOIN PICK_TICKET_DETAIL ptd ON ptd.id = t.PICK_TICKET_DETAIL_ID " +" DATEDIFF(SECOND, MIN(pt.UPDATE_TIME), MIN(t.dateBill1)) / 60 AS '创建 - 下发时间', "
+ " LEFT JOIN PICK_TICKET pt ON pt.id = ptd.PICK_TICKET_ID " +" DATEDIFF(SECOND, MIN(t.dateBill1), MIN(t.OPERATE_TIME)) / 60 AS '下发 - 拣货时间', "
+ " LEFT JOIN BILL_TYPE bt ON bt.id = pt.BILL_TYPE_ID " +" DATEDIFF(SECOND, MIN(t.OPERATE_TIME), MIN(t.operator_Date)) / 60 AS '拣货 - 合单时间', "
+ " LEFT JOIN LOCATION loc ON loc.id = t.SRC_LOC_ID " +" DATEDIFF(SECOND, MIN(t.operator_Date), MIN(t.dateline)) / 60 AS '合单 - 交单时间', "
+ " LEFT JOIN [ZONE] z ON z.id = loc.ZONE_ID " +" DATEDIFF(SECOND, MIN(t.OPERATE_TIME), MIN(t.ARRIVAL_TIME)) / 60 AS '拣货 - 清点时间', "
+ " WHERE t.PLAN_QUANTITY > 0 "; +" 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") @PostMapping("/queryList")
public Result queryList(@RequestBody String json) { public Result queryList(@RequestBody String json) {
querySql="";
/* 返回data设置*/ /* 返回data设置*/
QueryPageUtil query =new QueryPageUtil(); QueryPageUtil query =new QueryPageUtil();
JSONObject jsonObject= JSONUtil.parseObj(json); JSONObject jsonObject= JSONUtil.parseObj(json);
query.setPageSize((int)jsonObject.get("pageSize")); query.setPageSize((int)jsonObject.get("pageSize"));
query.setPageNum((int)jsonObject.get("pageNum")); query.setPageNum((int)jsonObject.get("pageNum"));
String querySql="";//查询条件
JSONObject param= (JSONObject)jsonObject.get("param"); JSONObject param= (JSONObject)jsonObject.get("param");
if (param.getJSONArray("出库类型").size()>0){ 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&&param.getStr("任务号").length()>0){ if (param.getStr("工单号")!=null&&param.getStr("工单号").length()>0){
querySql=querySql+" and 任务号 like '%"+param.getStr("任务号")+"%'"; querySql=querySql+" and pt.code like '%"+param.getStr("工单号")+"%'";
} }
if (param.getStr("子任务号")!=null&&param.getStr("子任务号").length()>0){ if (param.getStr("子任务号")!=null&&param.getStr("子任务号").length()>0){
querySql=querySql+" and 子任务号 like '%"+param.getStr("子任务号")+"%'"; querySql=querySql+" and t.BILLCODE like '%"+param.getStr("子任务号")+"%'";
} }
if (param.getJSONArray("库区")!=null&&param.getJSONArray("库区").size()>0){ if (param.getJSONArray("库区")!=null&&param.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&&param.getJSONArray("创建日期").size()>0){ if (param.getStr("创建日期")!=null&&param.getJSONArray("创建日期").size()>0){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
querySql=querySql+" and 创建时间 >= '"+sdf.format(param.getJSONArray("创建日期").getDate(0))+"'"; querySql=querySql+" and pt.UPDATE_TIME >= '"+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(1))+"'";
} }
/* 当前页数据*/ /* 当前页数据*/
int pageNum = query.getPageNum();//当前页 int pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//查询条数 int pageSize = query.getPageSize();//查询条数
String sqlFa = "select * from( " String sqlFa = "select * from( "
+ sql + buildSql()
+ ") t where 1=1 " + ") 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<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
/* 返回数据集合*/ /* 返回数据集合*/
List<Map<String,Object>> maps; List<Map<String,Object>> maps;
if (pageSize>100000){ if (pageSize>100000){
maps = queryUtil.multiThreadedQuery(sqlFa, pageSize, pageNum); maps = queryUtil.multiThreadedQuery(sqlFa, pageSize, pageNum);
}else { }else {
String sqlFy= sqlFa+" ORDER BY id " String sqlFy= sqlFa+" ORDER BY 子任务号 "
+" OFFSET "+ (pageNum-1) * pageSize +" ROWS " +" OFFSET "+ (pageNum-1) * pageSize +" ROWS "
+" FETCH NEXT "+pageSize+" ROWS ONLY "; +" FETCH NEXT "+pageSize+" ROWS ONLY ";
maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>()); maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
@ -128,7 +149,7 @@ public class JianHuoXiaoLvController {
@PostMapping("/inputPt") @PostMapping("/inputPt")
public Result inputPt(@RequestBody String json) { public Result inputPt(@RequestBody String json) {
String sqlInput=" select 出库类型 as 'name' from ( " String sqlInput=" select 出库类型 as 'name' from ( "
+sql +buildSql()
+" ) t " +" ) t "
+" WHERE 出库类型 is not null group by 出库类型 "; +" WHERE 出库类型 is not null group by 出库类型 ";
List<String> ptList = entityManager.createNativeQuery(sqlInput).getResultList(); List<String> ptList = entityManager.createNativeQuery(sqlInput).getResultList();
@ -147,10 +168,10 @@ public class JianHuoXiaoLvController {
Map<String, Object> map = new LinkedHashMap<>(); 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("拣货行")); 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 String =""; private String ="";
private String =""; private String ="";
private Integer =0; private Integer =0;
private Date ; private Date ;
private Date ; private Date ;
private Date ; private Date ;

View File

@ -42,6 +42,13 @@ public class RenXiaoController {
query.setPageNum((int)jsonObject.get("pageNum")); query.setPageNum((int)jsonObject.get("pageNum"));
JSONObject param= (JSONObject)jsonObject.get("param"); JSONObject param= (JSONObject)jsonObject.get("param");
JSONArray jsonArray=param.getJSONArray("issued_Date"); 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"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String startDate=""; String startDate="";
String endDate=""; String endDate="";
@ -55,6 +62,14 @@ public class RenXiaoController {
Date date = new Date(); Date date = new Date();
endDate=sdf.format(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数据查询*/ /* 基础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 '合单', " 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 ( " +" 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 pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数 int pageSize = query.getPageSize();//条数
String querySql="";//查询条件
String sqlFy = "select * from( " String sqlFy = "select * from( "
+ sql + sql

View File

@ -109,7 +109,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
sql+=" and z.NAME in ("+sb.toString()+")";; sql+=" and z.NAME in ("+sb.toString()+")";;
} }
//所在库位 //目标容器
if(jianhuojiemian.lc2_code!=null){ if(jianhuojiemian.lc2_code!=null){
if(!jianhuojiemian.lc2_code.trim().equals("")){ if(!jianhuojiemian.lc2_code.trim().equals("")){
String[] str=jianhuojiemian.lc2_code.trim().split("\n"); String[] str=jianhuojiemian.lc2_code.trim().split("\n");
@ -192,7 +192,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
//容器码 //容器码
if(jianhuojiemian.LP!=null){ if(jianhuojiemian.LP!=null){
if(!jianhuojiemian.LP.trim().equals("")){ 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 @Override
public Result Kw(String w) { 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<>()); List<Map<String,Object>> list=jdbcTemplate.queryForList(sql,new HashMap<>());
return Result.success(list); return Result.success(list);
} }

View File

@ -91,23 +91,19 @@ public class KucunrizhiImpl implements Kucunrizhi {
sql+=" and log.DESCRIPTION in ("+sb.toString()+")"; sql+=" and log.DESCRIPTION in ("+sb.toString()+")";
} }
} }
//工厂 //工厂
if(kucunrizhi.PROP_C9!=null){ if(kucunrizhi.PROP_C9!=null&& kucunrizhi.PROP_C9.length>0){
if(!kucunrizhi.PROP_C9.trim().equals("")){
String[] str=kucunrizhi.PROP_C9.trim().split("\n");
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
for (int i=0;i<str.length;i++){ for (int i = 0; i< kucunrizhi.PROP_C9.length; i++){
if(kucunrizhi.PROP_C9.length-1==i){
if(str.length-1==i){ sb.append("'"+ kucunrizhi.PROP_C9[i]+"'");
sb.append("'"+ str[i]+"'");
}else { }else {
sb.append("'"+ str[i]+"'"+","); 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){ if(kucunrizhi.LOG_TYPE!=null&& kucunrizhi.LOG_TYPE.length>0){
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();

View File

@ -130,20 +130,17 @@ public class PandianmingxiImpl implements Pandianmingxi {
} }
//工作站 //工作站
if(pandianming.targetArea!=null){ if(pandianming.targetArea!=null&& pandianming.targetArea.length>0){
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(str.length-1==i){ StringBuffer sb = new StringBuffer();
sb.append("'"+ str[i]+"'"); for (int i = 0; i< pandianming.targetArea.length; i++){
if(pandianming.targetArea.length-1==i){
sb.append("'"+ pandianming.targetArea[i]+"'");
}else { }else {
sb.append("'"+ str[i]+"'"+","); sb.append("'"+ pandianming.targetArea[i]+"'"+",");
} }
} }
sql+=" and cr.targetArea in ("+sb.toString()+")"; sql+=" and cr.targetArea in ("+sb.toString()+")";;
}
} }
//盘点人员 //盘点人员

View File

@ -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" + 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" + "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" + "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" + " from INVENTORY inv\n" +
" left join ITEM_KEY ik on ik.id=inv.ITEM_KEY_ID\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" + " left join item i on i.id=ik.ITEM_ID\n" +
@ -91,7 +91,7 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
sb.append("'"+ str[i]+"'"+","); 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]+"'"+","); 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(); StringBuffer sb = new StringBuffer();
for (int i = 0; i< xuliehao.PROP_C2.length; i++){ for (int i = 0; i< xuliehao.PROP_C2.length; i++){
if(xuliehao.PROP_C2.length-1==i){ if(xuliehao.PROP_C2.length-1==i){
sb.append("'"+ xuliehao.z_name[i]+"'"); sb.append("'"+ xuliehao.PROP_C2[i]+"'");
}else { }else {
sb.append("'"+ xuliehao.z_name[i]+"'"+","); sb.append("'"+ xuliehao.PROP_C2[i]+"'"+",");
} }
} }
sql+=" and ik.PROP_C2 in ("+sb.toString()+")";; sql+=" and ik.PROP_C2 in ("+sb.toString()+")";;
@ -171,9 +171,9 @@ public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
for (int i = 0; i< xuliehao.PROP_C9.length; i++){ for (int i = 0; i< xuliehao.PROP_C9.length; i++){
if(xuliehao.PROP_C9.length-1==i){ if(xuliehao.PROP_C9.length-1==i){
sb.append("'"+ xuliehao.z_name[i]+"'"); sb.append("'"+ xuliehao.PROP_C9[i]+"'");
}else { }else {
sb.append("'"+ xuliehao.z_name[i]+"'"+","); sb.append("'"+ xuliehao.PROP_C9[i]+"'"+",");
} }
} }
sql+=" and ik.PROP_C9 in ("+sb.toString()+")";; 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(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"; sql+=" and inv.coun_Plan is null";
}else { }else {
sql+=" and inv.coun_Plan is not null"; 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(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"; sql+=" and ik.PROP_C1 is null";
}else { }else {
sql+=" and ik.PROP_C1 is not null"; sql+=" and ik.PROP_C1 is not null";

View File

@ -21,7 +21,9 @@ public class JdbcQueryExample {
public List<Map<String, Object>> sqlQuery(String sql, Object... params) { public List<Map<String, Object>> sqlQuery(String sql, Object... params) {
return jdbcTemplate.queryForList(sql, 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) { public int executeUpdate(String sql, Object... params) {
return jdbcTemplate.update(sql, params); return jdbcTemplate.update(sql, params);
} }