opt:优化出入库回传 功能查询效率
This commit is contained in:
@@ -53,9 +53,14 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
map.put("bill_status", MapUtil.getStr(whereJson, "bill_status"));
|
map.put("bill_status", MapUtil.getStr(whereJson, "bill_status"));
|
||||||
map.put("bill_type", MapUtil.getStr(whereJson, "bill_type"));
|
map.put("bill_type", MapUtil.getStr(whereJson, "bill_type"));
|
||||||
map.put("is_upload", MapUtil.getStr(whereJson, "is_upload"));
|
map.put("is_upload", MapUtil.getStr(whereJson, "is_upload"));
|
||||||
map.put("begin_time", MapUtil.getStr(whereJson, "begin_time"));
|
String begin_time = MapUtil.getStr(whereJson, "begin_time");
|
||||||
map.put("end_time", MapUtil.getStr(whereJson, "end_time"));
|
if (StrUtil.isNotEmpty(begin_time)) {
|
||||||
map.put("is_writeoff", MapUtil.getStr(whereJson, "is_writeoff"));
|
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
|
||||||
|
}
|
||||||
|
String end_time = MapUtil.getStr(whereJson, "end_time");
|
||||||
|
if (StrUtil.isNotEmpty(end_time)) {
|
||||||
|
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
|
||||||
|
}
|
||||||
|
|
||||||
// 空格查询
|
// 空格查询
|
||||||
String vbeln = MapUtil.getStr(map, "vbeln");
|
String vbeln = MapUtil.getStr(map, "vbeln");
|
||||||
@@ -113,6 +118,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
// 空格查询
|
// 空格查询
|
||||||
String sap_pcsn = MapUtil.getStr(map, "sap_pcsn");
|
String sap_pcsn = MapUtil.getStr(map, "sap_pcsn");
|
||||||
if (StrUtil.isNotEmpty(sap_pcsn)) {
|
if (StrUtil.isNotEmpty(sap_pcsn)) {
|
||||||
|
//若客户需查询sap_pcsn字段,则调用flag 11
|
||||||
|
map.put("flag", "11");
|
||||||
// 判断是否有空格
|
// 判断是否有空格
|
||||||
boolean matches = sap_pcsn.matches(".*\\s.*");
|
boolean matches = sap_pcsn.matches(".*\\s.*");
|
||||||
|
|
||||||
@@ -127,10 +134,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ObjectUtil.isEmpty(bill_code)) {
|
if (ObjectUtil.isNotEmpty(bill_code)) {
|
||||||
map.put("bill_code", "%" + bill_code + "%");
|
map.put("bill_code", "%" + bill_code + "%");
|
||||||
}
|
}
|
||||||
if (!ObjectUtil.isEmpty(material_search)) {
|
if (ObjectUtil.isNotEmpty(material_search)) {
|
||||||
map.put("material_search", "%" + material_search + "%");
|
map.put("material_search", "%" + material_search + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,7 +149,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
map.put("in_stor_id", in_stor_id);
|
map.put("in_stor_id", in_stor_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc");
|
JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst2.input_time desc");
|
||||||
return jo;
|
return jo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,124 +66,195 @@
|
|||||||
IF 输入.flag = "1"
|
IF 输入.flag = "1"
|
||||||
PAGEQUERY
|
PAGEQUERY
|
||||||
SELECT
|
SELECT
|
||||||
mst.*,
|
mst2.*,
|
||||||
IFNULL( a.source_bill_type, '' ) AS source_bill_type,
|
IFNULL( a.source_bill_type, '' ) AS source_bill_type,
|
||||||
IFNULL(a.vbeln,'') AS vbeln,
|
IFNULL( a.vbeln, '' ) AS vbeln
|
||||||
user.person_name AS upload_name
|
|
||||||
FROM
|
FROM
|
||||||
st_ivt_iostorinv mst
|
(
|
||||||
INNER JOIN (
|
SELECT
|
||||||
SELECT
|
mst.*,
|
||||||
iostorinv_id,
|
USER.person_name AS upload_name
|
||||||
MAX( source_bill_type ) AS source_bill_type,
|
FROM
|
||||||
MAX( vbeln ) AS vbeln
|
st_ivt_iostorinv mst
|
||||||
FROM
|
LEFT JOIN sys_user USER ON USER.user_id = mst.upload_optid
|
||||||
st_ivt_iostorinvdtl dtl
|
WHERE
|
||||||
INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
mst.is_delete = '0'
|
||||||
WHERE
|
and mst.bill_status = '99'
|
||||||
1=1
|
and mst.stor_id in 输入.in_stor_id
|
||||||
|
OPTION 输入.stor_id <> ""
|
||||||
OPTION 输入.vbeln <> ""
|
mst.stor_id = 输入.stor_id
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.bill_type <> ""
|
||||||
|
mst.bill_type = 输入.bill_type
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.bill_code <> ""
|
||||||
|
mst.bill_code like 输入.bill_code
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.io_type <> ""
|
||||||
|
mst.io_type = 输入.io_type
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.is_upload <> ""
|
||||||
|
mst.is_upload = 输入.is_upload
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
mst.input_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
mst.input_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
) mst2
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
iostorinv_id
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdis dis
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
dis.pcsn like 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.pcsn_in <> ""
|
||||||
|
dis.pcsn IN 输入.pcsn_in
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.box_no <> ""
|
||||||
|
dis.box_no like 输入.box_no
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.box_no_in <> ""
|
||||||
|
dis.box_no IN 输入.box_no_in
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
iostorinv_id
|
||||||
|
) b ON b.iostorinv_id = mst2.iostorinv_id
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
iostorinv_id,
|
||||||
|
MAX( source_bill_type ) AS source_bill_type,
|
||||||
|
MAX( vbeln ) AS vbeln
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdtl dtl
|
||||||
|
INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
OPTION 输入.vbeln <> ""
|
||||||
dtl.vbeln like 输入.vbeln
|
dtl.vbeln like 输入.vbeln
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
OPTION 输入.vbeln_in <> ""
|
||||||
OPTION 输入.vbeln_in <> ""
|
|
||||||
dtl.vbeln IN 输入.vbeln_in
|
dtl.vbeln IN 输入.vbeln_in
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
OPTION 输入.material_search <> ""
|
||||||
OPTION 输入.material_search <> ""
|
(
|
||||||
(
|
mb.material_code like 输入.material_search
|
||||||
mb.material_code like 输入.material_search
|
OR
|
||||||
OR
|
mb.material_name like 输入.material_search
|
||||||
mb.material_name like 输入.material_search
|
)
|
||||||
)
|
ENDOPTION
|
||||||
ENDOPTION
|
GROUP BY
|
||||||
GROUP BY
|
iostorinv_id
|
||||||
iostorinv_id
|
) a ON mst2.iostorinv_id = a.iostorinv_id
|
||||||
) a ON mst.iostorinv_id = a.iostorinv_id
|
|
||||||
INNER JOIN (
|
|
||||||
SELECT
|
|
||||||
iostorinv_id
|
|
||||||
FROM
|
|
||||||
st_ivt_iostorinvdis dis
|
|
||||||
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn
|
|
||||||
AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id
|
|
||||||
WHERE
|
|
||||||
1=1
|
|
||||||
OPTION 输入.pcsn <> ""
|
|
||||||
dis.pcsn like 输入.pcsn
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.pcsn_in <> ""
|
|
||||||
dis.pcsn IN 输入.pcsn_in
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.sap_pcsn <> ""
|
|
||||||
sub.sap_pcsn like 输入.sap_pcsn
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.sap_pcsn_in <> ""
|
|
||||||
sub.sap_pcsn IN 输入.sap_pcsn_in
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.box_no <> ""
|
|
||||||
dis.box_no like 输入.box_no
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.box_no_in <> ""
|
|
||||||
dis.box_no IN 输入.box_no_in
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
GROUP BY
|
|
||||||
iostorinv_id
|
|
||||||
) b ON b.iostorinv_id = mst.iostorinv_id
|
|
||||||
LEFT JOIN sys_user user ON user.user_id = mst.upload_optid
|
|
||||||
WHERE
|
|
||||||
mst.is_delete = '0'
|
|
||||||
and mst.stor_id in 输入.in_stor_id
|
|
||||||
|
|
||||||
OPTION 输入.stor_id <> ""
|
|
||||||
mst.stor_id = 输入.stor_id
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.is_writeoff <> ""
|
|
||||||
mst.is_writeoff = 输入.is_writeoff
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.bill_status <> ""
|
|
||||||
mst.bill_status = 输入.bill_status
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.bill_type <> ""
|
|
||||||
mst.bill_type = 输入.bill_type
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.bill_status <> ""
|
|
||||||
mst.bill_status = 输入.bill_status
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.bill_code <> ""
|
|
||||||
mst.bill_code like 输入.bill_code
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.io_type <> ""
|
|
||||||
mst.io_type = 输入.io_type
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.is_upload <> ""
|
|
||||||
mst.is_upload = 输入.is_upload
|
|
||||||
ENDOPTION
|
|
||||||
|
|
||||||
OPTION 输入.begin_time <> ""
|
|
||||||
mst.input_time >= 输入.begin_time
|
|
||||||
ENDOPTION
|
|
||||||
OPTION 输入.end_time <> ""
|
|
||||||
mst.input_time <= 输入.end_time
|
|
||||||
ENDOPTION
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "11"
|
||||||
|
PAGEQUERY
|
||||||
|
SELECT
|
||||||
|
mst2.*,
|
||||||
|
IFNULL( a.source_bill_type, '' ) AS source_bill_type,
|
||||||
|
IFNULL( a.vbeln, '' ) AS vbeln
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
mst.*,
|
||||||
|
USER.person_name AS upload_name
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinv mst
|
||||||
|
LEFT JOIN sys_user USER ON USER.user_id = mst.upload_optid
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
and mst.bill_status = '99'
|
||||||
|
and mst.stor_id in 输入.in_stor_id
|
||||||
|
OPTION 输入.stor_id <> ""
|
||||||
|
mst.stor_id = 输入.stor_id
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.bill_type <> ""
|
||||||
|
mst.bill_type = 输入.bill_type
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.bill_code <> ""
|
||||||
|
mst.bill_code like 输入.bill_code
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.io_type <> ""
|
||||||
|
mst.io_type = 输入.io_type
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.is_upload <> ""
|
||||||
|
mst.is_upload = 输入.is_upload
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
mst.input_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
mst.input_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
) mst2
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
iostorinv_id
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdis dis
|
||||||
|
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn
|
||||||
|
AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
dis.pcsn like 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.pcsn_in <> ""
|
||||||
|
dis.pcsn IN 输入.pcsn_in
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.sap_pcsn <> ""
|
||||||
|
sub.sap_pcsn like 输入.sap_pcsn
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.sap_pcsn_in <> ""
|
||||||
|
sub.sap_pcsn IN 输入.sap_pcsn_in
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.box_no <> ""
|
||||||
|
dis.box_no like 输入.box_no
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.box_no_in <> ""
|
||||||
|
dis.box_no IN 输入.box_no_in
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
iostorinv_id
|
||||||
|
) b ON b.iostorinv_id = mst2.iostorinv_id
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
iostorinv_id,
|
||||||
|
MAX( source_bill_type ) AS source_bill_type,
|
||||||
|
MAX( vbeln ) AS vbeln
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdtl dtl
|
||||||
|
INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
OPTION 输入.vbeln <> ""
|
||||||
|
dtl.vbeln like 输入.vbeln
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.vbeln_in <> ""
|
||||||
|
dtl.vbeln IN 输入.vbeln_in
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.material_search <> ""
|
||||||
|
(
|
||||||
|
mb.material_code like 输入.material_search
|
||||||
|
OR
|
||||||
|
mb.material_name like 输入.material_search
|
||||||
|
)
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
iostorinv_id
|
||||||
|
) a ON mst2.iostorinv_id = a.iostorinv_id
|
||||||
|
ENDSELECT
|
||||||
|
ENDPAGEQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "2"
|
IF 输入.flag = "2"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
@@ -216,3 +287,4 @@
|
|||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|||||||
@@ -63,24 +63,6 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!--<el-form-item label="单据状态">
|
|
||||||
<el-select
|
|
||||||
v-model="query.bill_status"
|
|
||||||
clearable
|
|
||||||
size="mini"
|
|
||||||
placeholder="单据状态"
|
|
||||||
class="filter-item"
|
|
||||||
@change="crud.toQuery"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in dict.io_bill_status"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>-->
|
|
||||||
<el-form-item label="物料">
|
<el-form-item label="物料">
|
||||||
<label slot="label">物 料:</label>
|
<label slot="label">物 料:</label>
|
||||||
<el-input
|
<el-input
|
||||||
@@ -165,7 +147,8 @@
|
|||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
@change="crud.toQuery"
|
@input="onInput()"
|
||||||
|
@change="mytoQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<rrOperation />
|
<rrOperation />
|
||||||
@@ -286,6 +269,7 @@ import ViewDialog from '@/views/wms/st/inAndOutReturn/ViewDialog'
|
|||||||
import crudUserStor from '@/views/wms/basedata/st/userStor/userStor'
|
import crudUserStor from '@/views/wms/basedata/st/userStor/userStor'
|
||||||
import { download } from '@/api/data'
|
import { download } from '@/api/data'
|
||||||
import { downloadFile } from '@/utils'
|
import { downloadFile } from '@/utils'
|
||||||
|
import Date from '@/utils/datetime'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Return',
|
name: 'Return',
|
||||||
@@ -315,6 +299,7 @@ export default {
|
|||||||
mstrow: {},
|
mstrow: {},
|
||||||
fullscreenLoading: false,
|
fullscreenLoading: false,
|
||||||
storlist: [],
|
storlist: [],
|
||||||
|
query_flag: true,
|
||||||
billtypelist: [],
|
billtypelist: [],
|
||||||
showDtlLoading: false
|
showDtlLoading: false
|
||||||
}
|
}
|
||||||
@@ -331,18 +316,36 @@ export default {
|
|||||||
})
|
})
|
||||||
// debugger
|
// debugger
|
||||||
this.billtypelist = this.dict.ST_INV_OUT_TYPE
|
this.billtypelist = this.dict.ST_INV_OUT_TYPE
|
||||||
|
this.crud.query.createTime = [new Date().daysAgo(30), new Date()]
|
||||||
this.initQuery()
|
this.initQuery()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
if (this.query_flag) {
|
||||||
|
this.crud.query.begin_time = (new Date().daysAgo(30)).strftime('%F', 'zh')
|
||||||
|
this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
|
||||||
|
this.query_flag = false
|
||||||
|
}
|
||||||
|
},
|
||||||
/* 搜索框出入类型 默认出库*/
|
/* 搜索框出入类型 默认出库*/
|
||||||
initQuery() {
|
initQuery() {
|
||||||
this.query.io_type = '1'
|
this.query.io_type = '1'
|
||||||
this.query.is_upload = '0'
|
this.query.is_upload = '0'
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
// [CRUD.HOOK.beforeRefresh]() {
|
mytoQuery(array1) {
|
||||||
// return true
|
if (array1 === null) {
|
||||||
// },
|
this.crud.query.begin_time = ''
|
||||||
|
this.crud.query.end_time = ''
|
||||||
|
} else {
|
||||||
|
this.crud.query.begin_time = array1[0]
|
||||||
|
this.crud.query.end_time = array1[1]
|
||||||
|
}
|
||||||
|
this.crud.toQuery()
|
||||||
|
},
|
||||||
|
onInput() {
|
||||||
|
this.$forceUpdate()
|
||||||
|
},
|
||||||
querytable() {
|
querytable() {
|
||||||
this.onSelectAll()
|
this.onSelectAll()
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
|
|||||||
Reference in New Issue
Block a user