优化
This commit is contained in:
@@ -67,19 +67,36 @@ public class IvtQueryServiceImpl implements IvtQueryService {
|
|||||||
}
|
}
|
||||||
JSONObject jo = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "me.material_code,me.material_name");
|
JSONObject jo = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "me.material_code,me.material_name");
|
||||||
JSONArray json = jo.getJSONArray("content");
|
JSONArray json = jo.getJSONArray("content");
|
||||||
|
JSONArray ja = new JSONArray();
|
||||||
|
for(int i=0;i<json.size();i++){
|
||||||
|
JSONObject jo_now = json.getJSONObject(i);
|
||||||
|
JSONObject jo2 = WQL.getWO("Qivt_query_02").addParam("flag","1")
|
||||||
|
.addParam("storagevehicle_code",jo_now.getString("storagevehicle_code"))
|
||||||
|
.addParam("is_active",jo_now.getString("is_active"))
|
||||||
|
.addParam("ivt_level",jo_now.getString("ivt_level"))
|
||||||
|
.addParam("quality_scode",jo_now.getString("quality_scode"))
|
||||||
|
.addParam("pcsn",jo_now.getString("pcsn"))
|
||||||
|
.addParam("material_id",jo_now.getString("material_id")).process().uniqueResult(0);
|
||||||
|
if(jo2!=null){
|
||||||
|
jo_now.put("bucket_num",jo2.getDouble("bucket_num"));
|
||||||
|
}else{
|
||||||
|
jo_now.put("bucket_num","0");
|
||||||
|
}
|
||||||
|
ja.add(jo_now);
|
||||||
|
}
|
||||||
map.put("flag", "01");
|
map.put("flag", "01");
|
||||||
JSONArray jo2 = WQL.getWO("Qivt_query_01").addParamMap(map).process().getResultJSONArray(1);
|
JSONArray jo2 = WQL.getWO("Qivt_query_01").addParamMap(map).process().getResultJSONArray(1);
|
||||||
|
|
||||||
if(jo2.size()!=0){
|
if(jo2.size()!=0){
|
||||||
JSONObject jo3 = jo2.getJSONObject(0);
|
JSONObject jo3 = jo2.getJSONObject(0);
|
||||||
jo3.put("stor_name","合计");
|
jo3.put("stor_name","合计");
|
||||||
json.add(jo3);
|
ja.add(jo3);
|
||||||
}else{
|
}else{
|
||||||
JSONObject jo3 = new JSONObject();
|
JSONObject jo3 = new JSONObject();
|
||||||
jo3.put("stor_name","合计");
|
jo3.put("stor_name","合计");
|
||||||
json.add(jo3);
|
ja.add(jo3);
|
||||||
}
|
}
|
||||||
jo.put("content",json);
|
jo.put("content",ja);
|
||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,22 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map.put("flag", "1");
|
map.put("flag", "1");
|
||||||
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("pcsn", MapUtil.getStr(whereJson, "pcsn"));
|
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 pcsn = MapUtil.getStr(whereJson, "pcsn");
|
||||||
|
if (!StrUtil.isEmpty(pcsn)) {
|
||||||
|
//处理转义字符
|
||||||
|
if (pcsn.contains("\\")) {
|
||||||
|
pcsn = pcsn.replace("\\", "\\\\\\");
|
||||||
|
}
|
||||||
|
map.put("pcsn", "%" + pcsn + "%");
|
||||||
|
}
|
||||||
if (!StrUtil.isEmpty(material_code)) {
|
if (!StrUtil.isEmpty(material_code)) {
|
||||||
//处理转义字符
|
//处理转义字符
|
||||||
if (material_code.contains("\\")) {
|
if (material_code.contains("\\")) {
|
||||||
|
|||||||
@@ -60,6 +60,7 @@
|
|||||||
struct.struct_code,
|
struct.struct_code,
|
||||||
struct.struct_name,
|
struct.struct_name,
|
||||||
struct.storagevehicle_code,
|
struct.storagevehicle_code,
|
||||||
|
ivt.material_id,
|
||||||
me.material_code,
|
me.material_code,
|
||||||
me.material_name,
|
me.material_name,
|
||||||
me.material_spec,
|
me.material_spec,
|
||||||
@@ -73,139 +74,64 @@
|
|||||||
ivt.frozen_qty,
|
ivt.frozen_qty,
|
||||||
ivt.warehousing_qty,
|
ivt.warehousing_qty,
|
||||||
ivt.qty_unit_name,
|
ivt.qty_unit_name,
|
||||||
ivt.instorage_time,
|
ivt.instorage_time
|
||||||
bucket.bucket_num
|
|
||||||
FROM
|
FROM
|
||||||
ST_IVT_StructIvt ivt
|
ST_IVT_StructIvt ivt
|
||||||
LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
|
inner JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
|
||||||
LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
|
inner JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
|
||||||
LEFT JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id
|
inner JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
COUNT(*) AS bucket_num,
|
|
||||||
br.storagevehicle_code,
|
|
||||||
br.material_id,
|
|
||||||
br.pcsn,
|
|
||||||
br.is_active,
|
|
||||||
br.ivt_level,
|
|
||||||
br.quality_scode
|
|
||||||
FROM
|
|
||||||
MD_PB_BucketRecord br
|
|
||||||
WHERE 1=1
|
|
||||||
GROUP BY
|
|
||||||
br.storagevehicle_code,
|
|
||||||
br.material_id,
|
|
||||||
br.pcsn,
|
|
||||||
br.is_active,
|
|
||||||
br.ivt_level,
|
|
||||||
br.quality_scode
|
|
||||||
) bucket ON (bucket.storagevehicle_code = struct.storagevehicle_code
|
|
||||||
and bucket.material_id=ivt.material_id
|
|
||||||
and bucket.pcsn=ivt.pcsn
|
|
||||||
and bucket.is_active=ivt.is_active
|
|
||||||
and bucket.ivt_level=ivt.ivt_level
|
|
||||||
and bucket.quality_scode=ivt.quality_scode)
|
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
OPTION 输入.stor_id <> ""
|
OPTION 输入.stor_id <> ""
|
||||||
struct.stor_id = 输入.stor_id
|
struct.stor_id = 输入.stor_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.sects <> ""
|
OPTION 输入.sects <> ""
|
||||||
struct.sect_id in 输入.sects
|
struct.sect_id in 输入.sects
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.material_name <> ""
|
OPTION 输入.material_name <> ""
|
||||||
( me.material_name like "%" 输入.material_name "%" or me.material_code like "%" 输入.material_name "%" )
|
( me.material_name like "%" 输入.material_name "%" or me.material_code like "%" 输入.material_name "%" )
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.storagevehicle_code <> ""
|
OPTION 输入.storagevehicle_code <> ""
|
||||||
(struct.storagevehicle_code like "%" 输入.storagevehicle_code "%")
|
(struct.storagevehicle_code like "%" 输入.storagevehicle_code "%")
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.struct_name <> ""
|
OPTION 输入.struct_name <> ""
|
||||||
( struct.struct_name like "%" 输入.struct_name "%" or struct.struct_code like "%" 输入.struct_name "%" )
|
( struct.struct_name like "%" 输入.struct_name "%" or struct.struct_code like "%" 输入.struct_name "%" )
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.is_active <> ""
|
OPTION 输入.is_active <> ""
|
||||||
ivt.is_active = 输入.is_active
|
ivt.is_active = 输入.is_active
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.ivt_level <> ""
|
OPTION 输入.ivt_level <> ""
|
||||||
ivt.ivt_level = 输入.ivt_level
|
ivt.ivt_level = 输入.ivt_level
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.quality_scode <> ""
|
OPTION 输入.quality_scode <> ""
|
||||||
ivt.quality_scode = 输入.quality_scode
|
ivt.quality_scode = 输入.quality_scode
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.pcsn <> ""
|
OPTION 输入.pcsn <> ""
|
||||||
ivt.pcsn like "%" 输入.pcsn "%"
|
ivt.pcsn like "%" 输入.pcsn "%"
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.material_model <> ""
|
OPTION 输入.material_model <> ""
|
||||||
me.material_model like "%" 输入.material_model "%"
|
me.material_model like "%" 输入.material_model "%"
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.classIds <> ""
|
OPTION 输入.classIds <> ""
|
||||||
class.class_id in 输入.classIds
|
class.class_id in 输入.classIds
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "01"
|
IF 输入.flag = "01"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
sum(outq.bucket_num) AS bucket_num,
|
sum( ivt.ivt_qty ) AS ivt_qty,
|
||||||
sum(outq.ivt_qty) AS ivt_qty,
|
sum( ivt.canuse_qty ) AS canuse_qty,
|
||||||
sum(outq.canuse_qty) AS canuse_qty,
|
sum( ivt.frozen_qty ) AS frozen_qty,
|
||||||
sum(outq.frozen_qty) AS frozen_qty,
|
sum( ivt.warehousing_qty ) AS warehousing_qty
|
||||||
sum(outq.warehousing_qty) AS warehousing_qty
|
|
||||||
FROM
|
FROM
|
||||||
(
|
ST_IVT_StructIvt ivt
|
||||||
SELECT
|
inner JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
|
||||||
struct.stor_name,
|
inner JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
|
||||||
struct.sect_name,
|
inner JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id
|
||||||
struct.struct_code,
|
WHERE
|
||||||
struct.struct_name,
|
1 = 1
|
||||||
struct.storagevehicle_code,
|
|
||||||
me.material_code,
|
|
||||||
me.material_name,
|
|
||||||
me.material_spec,
|
|
||||||
me.material_model,
|
|
||||||
ivt.quality_scode,
|
|
||||||
ivt.ivt_level,
|
|
||||||
ivt.is_active,
|
|
||||||
ivt.pcsn,
|
|
||||||
ivt.ivt_qty,
|
|
||||||
ivt.canuse_qty,
|
|
||||||
ivt.frozen_qty,
|
|
||||||
ivt.warehousing_qty,
|
|
||||||
ivt.qty_unit_name,
|
|
||||||
ivt.instorage_time,
|
|
||||||
bucket.bucket_num
|
|
||||||
FROM
|
|
||||||
ST_IVT_StructIvt ivt
|
|
||||||
LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
|
|
||||||
LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
|
|
||||||
LEFT JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
COUNT(*) AS bucket_num,
|
|
||||||
br.storagevehicle_code,
|
|
||||||
br.material_id,
|
|
||||||
br.pcsn,
|
|
||||||
br.is_active,
|
|
||||||
br.ivt_level,
|
|
||||||
br.quality_scode
|
|
||||||
FROM
|
|
||||||
MD_PB_BucketRecord br
|
|
||||||
WHERE 1=1
|
|
||||||
GROUP BY
|
|
||||||
br.storagevehicle_code,
|
|
||||||
br.material_id,
|
|
||||||
br.pcsn,
|
|
||||||
br.is_active,
|
|
||||||
br.ivt_level,
|
|
||||||
br.quality_scode
|
|
||||||
) bucket ON (bucket.storagevehicle_code = struct.storagevehicle_code
|
|
||||||
and bucket.material_id=ivt.material_id
|
|
||||||
and bucket.pcsn=ivt.pcsn
|
|
||||||
and bucket.is_active=ivt.is_active
|
|
||||||
and bucket.ivt_level=ivt.ivt_level
|
|
||||||
and bucket.quality_scode=ivt.quality_scode)
|
|
||||||
WHERE 1=1
|
|
||||||
OPTION 输入.stor_id <> ""
|
OPTION 输入.stor_id <> ""
|
||||||
struct.stor_id = 输入.stor_id
|
struct.stor_id = 输入.stor_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
@@ -239,8 +165,6 @@
|
|||||||
OPTION 输入.classIds <> ""
|
OPTION 输入.classIds <> ""
|
||||||
class.class_id in 输入.classIds
|
class.class_id in 输入.classIds
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
) outq
|
|
||||||
where 1=1
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
[交易说明]
|
||||||
|
交易名: 库存分页查询
|
||||||
|
所属模块:
|
||||||
|
功能简述:
|
||||||
|
版权所有:
|
||||||
|
表引用:
|
||||||
|
版本经历:
|
||||||
|
|
||||||
|
[数据库]
|
||||||
|
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||||
|
|
||||||
|
[IO定义]
|
||||||
|
#################################################
|
||||||
|
## 表字段对应输入参数
|
||||||
|
#################################################
|
||||||
|
输入.flag TYPEAS s_string
|
||||||
|
输入.storagevehicle_code TYPEAS s_string
|
||||||
|
输入.material_id TYPEAS s_string
|
||||||
|
输入.quality_scode TYPEAS s_string
|
||||||
|
输入.ivt_level TYPEAS s_string
|
||||||
|
输入.is_active TYPEAS s_string
|
||||||
|
输入.pcsn TYPEAS s_string
|
||||||
|
|
||||||
|
|
||||||
|
[临时表]
|
||||||
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
|
|
||||||
|
[临时变量]
|
||||||
|
--所有中间过程变量均可在此处定义
|
||||||
|
|
||||||
|
[业务过程]
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 1、输入输出检查 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 2、主过程前处理 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 3、业务主过程 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
IF 输入.flag = "1"
|
||||||
|
PAGEQUERY
|
||||||
|
SELECT
|
||||||
|
COUNT(bucket.bucketunique) AS bucket_num
|
||||||
|
FROM
|
||||||
|
MD_PB_BucketRecord bucket
|
||||||
|
WHERE 1=1
|
||||||
|
OPTION 输入.storagevehicle_code <> ""
|
||||||
|
bucket.storagevehicle_code = 输入.storagevehicle_code
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.is_active <> ""
|
||||||
|
bucket.is_active = 输入.is_active
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.ivt_level <> ""
|
||||||
|
bucket.ivt_level = 输入.ivt_level
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.quality_scode <> ""
|
||||||
|
bucket.quality_scode = 输入.quality_scode
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
bucket.pcsn = 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.material_id <> ""
|
||||||
|
bucket.material_id = 输入.material_id
|
||||||
|
ENDOPTION
|
||||||
|
ENDSELECT
|
||||||
|
ENDPAGEQUERY
|
||||||
|
ENDIF
|
||||||
@@ -68,9 +68,9 @@
|
|||||||
MAX( ext.old_mark) AS old_mark
|
MAX( ext.old_mark) AS old_mark
|
||||||
FROM
|
FROM
|
||||||
pdm_bi_procedureoffline off
|
pdm_bi_procedureoffline off
|
||||||
LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn)
|
inner JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn)
|
||||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id
|
inner JOIN md_me_materialbase mb ON mb.material_id = off.material_id
|
||||||
LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id
|
inner JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id
|
||||||
WHERE
|
WHERE
|
||||||
1=1 and wo.is_delete='0'
|
1=1 and wo.is_delete='0'
|
||||||
OPTION 输入.material_code <> ""
|
OPTION 输入.material_code <> ""
|
||||||
@@ -81,20 +81,18 @@
|
|||||||
)
|
)
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.pcsn <> ""
|
OPTION 输入.pcsn <> ""
|
||||||
off.pcsn = 输入.pcsn
|
off.pcsn like 输入.pcsn
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
off.create_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
off.create_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
GROUP BY
|
GROUP BY
|
||||||
off.material_id,
|
off.material_id,
|
||||||
off.pcsn,
|
off.pcsn,
|
||||||
wo.org_id
|
wo.org_id
|
||||||
HAVING
|
|
||||||
1=1
|
|
||||||
OPTION 输入.begin_time <> ""
|
|
||||||
create_time >= 输入.begin_time
|
|
||||||
ENDOPTION
|
|
||||||
OPTION 输入.end_time <> ""
|
|
||||||
create_time <= 输入.end_time
|
|
||||||
ENDOPTION
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -102,28 +100,12 @@
|
|||||||
IF 输入.flag = "01"
|
IF 输入.flag = "01"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
sum(outq.qty) AS qty
|
SUM( off.qty ) AS qty
|
||||||
FROM
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
MAX( mb.material_code ) AS material_code,
|
|
||||||
SUM( off.qty ) AS qty,
|
|
||||||
off.material_id,
|
|
||||||
off.pcsn,
|
|
||||||
wo.org_id,
|
|
||||||
MAX( off.create_time ) AS create_time,
|
|
||||||
MAX( off.create_name ) AS create_name,
|
|
||||||
MAX( wo.planend_time ) AS planend_time,
|
|
||||||
MAX( wo.realend_time ) AS realend_time,
|
|
||||||
datediff (MAX( wo.planend_time ),MAX( wo.realend_time )) AS off_days,
|
|
||||||
MAX( ext.old_mark) AS old_mark
|
|
||||||
FROM
|
FROM
|
||||||
pdm_bi_procedureoffline off
|
pdm_bi_procedureoffline off
|
||||||
LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn)
|
inner JOIN md_me_materialbase mb ON mb.material_id = off.material_id
|
||||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id
|
|
||||||
LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id
|
|
||||||
WHERE
|
WHERE
|
||||||
1=1 and wo.is_delete='0'
|
1=1
|
||||||
OPTION 输入.material_code <> ""
|
OPTION 输入.material_code <> ""
|
||||||
(
|
(
|
||||||
mb.material_code like 输入.material_code
|
mb.material_code like 输入.material_code
|
||||||
@@ -132,22 +114,14 @@
|
|||||||
)
|
)
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.pcsn <> ""
|
OPTION 输入.pcsn <> ""
|
||||||
off.pcsn = 输入.pcsn
|
off.pcsn like 输入.pcsn
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
GROUP BY
|
|
||||||
off.material_id,
|
|
||||||
off.pcsn,
|
|
||||||
wo.org_id
|
|
||||||
HAVING
|
|
||||||
1=1
|
|
||||||
OPTION 输入.begin_time <> ""
|
OPTION 输入.begin_time <> ""
|
||||||
create_time >= 输入.begin_time
|
off.create_time >= 输入.begin_time
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_time <> ""
|
||||||
create_time <= 输入.end_time
|
off.create_time <= 输入.end_time
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
) outq
|
|
||||||
where 1=1
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|||||||
@@ -25,10 +25,12 @@ Date.prototype.daysLater = function(days, midnight) {
|
|||||||
return midnight ? date.toMidnight() : date
|
return midnight ? date.toMidnight() : date
|
||||||
}
|
}
|
||||||
|
|
||||||
Date.prototype.monthBegin = function(offset) {
|
Date.prototype.monthBegin = function() {
|
||||||
offset = offset ? offset - 0 : 0
|
const year = new Date().getFullYear()
|
||||||
const days = this.getDate() - 1 - offset
|
const mouth = new Date().getMonth()
|
||||||
return this.daysAgo(days, true)
|
const days = new Date(year,mouth,1).strftime('%F', 'zh')
|
||||||
|
debugger
|
||||||
|
return days
|
||||||
}
|
}
|
||||||
|
|
||||||
Date.prototype.quarterBegin = function() {
|
Date.prototype.quarterBegin = function() {
|
||||||
|
|||||||
@@ -166,21 +166,21 @@
|
|||||||
<el-link type="warning" @click="openBucket(scope.row)">{{ scope.row.storagevehicle_code }}</el-link>
|
<el-link type="warning" @click="openBucket(scope.row)">{{ scope.row.storagevehicle_code }}</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="material_code" label="物料编码" min-width="150" show-overflow-tooltip />
|
<el-table-column prop="bucket_num" label="桶数" min-width="100" />
|
||||||
<el-table-column prop="material_name" label="物料名称" min-width="120" show-overflow-tooltip />
|
<el-table-column prop="material_code" label="物料编码" min-width="150" />
|
||||||
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip />
|
<el-table-column prop="material_name" label="物料名称" min-width="120" />
|
||||||
<el-table-column prop="material_model" label="型号" />
|
<el-table-column prop="material_spec" label="物料规格" min-width="120" />
|
||||||
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="150px" />
|
<el-table-column prop="material_model" label="型号" min-width="120" />
|
||||||
<el-table-column prop="quality_scode" label="品质类型" :formatter="format_quality_scode" />
|
<el-table-column prop="pcsn" label="批次" min-width="140" />
|
||||||
<el-table-column prop="ivt_level" label="库存等级" :formatter="format_ivt_level" />
|
<el-table-column prop="quality_scode" label="品质类型" :formatter="format_quality_scode" min-width="90" />
|
||||||
<el-table-column prop="is_active" label="是否可用" :formatter="format_is_active" />
|
<el-table-column prop="ivt_level" label="库存等级" :formatter="format_ivt_level" min-width="90" />
|
||||||
<el-table-column prop="bucket_num" :formatter="crud.formatNum0" label="桶数" min-width="100" />
|
<el-table-column prop="is_active" label="是否可用" :formatter="format_is_active" min-width="90" />
|
||||||
<el-table-column prop="ivt_qty" label="库存重量" :formatter="formatQty" min-width="100" />
|
<el-table-column prop="ivt_qty" label="库存重量" :formatter="formatQty" min-width="100" />
|
||||||
<el-table-column prop="canuse_qty" label="可用重量" :formatter="formatQty" min-width="100" />
|
<el-table-column prop="canuse_qty" label="可用重量" :formatter="formatQty" min-width="100" />
|
||||||
<el-table-column prop="frozen_qty" label="冻结数" :formatter="formatQty" min-width="100" />
|
<el-table-column prop="frozen_qty" label="冻结数" :formatter="formatQty" min-width="100" />
|
||||||
<el-table-column prop="warehousing_qty" label="待入数" :formatter="formatQty" min-width="100" />
|
<el-table-column prop="warehousing_qty" label="待入数" :formatter="formatQty" min-width="100" />
|
||||||
<el-table-column prop="qty_unit_name" label="单位" />
|
<el-table-column prop="qty_unit_name" label="单位" min-width="100" />
|
||||||
<el-table-column prop="instorage_time" label="入库时间" width="135" />
|
<el-table-column prop="instorage_time" label="入库时间" minwidth="140" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
@@ -242,9 +242,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// crudSectattr.getSect().then(res => {
|
|
||||||
// this.sects = res.content
|
|
||||||
// })
|
|
||||||
crudSectattr.getSect({ 'is_materialstore': '1' }).then(res => {
|
crudSectattr.getSect({ 'is_materialstore': '1' }).then(res => {
|
||||||
this.sects = res.content
|
this.sects = res.content
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -15,12 +15,12 @@
|
|||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="query.createTime"
|
v-model="query.createTime"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
@input="onInput()"
|
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
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>
|
||||||
<el-form-item label="物料">
|
<el-form-item label="物料">
|
||||||
@@ -88,7 +88,7 @@ import StructIvt from '@/views/wms/statistics/outStorQuery/StructIvt'
|
|||||||
import crudRawAssist from '@/api/wms/st/core/inbill/rawassist'
|
import crudRawAssist from '@/api/wms/st/core/inbill/rawassist'
|
||||||
import workorder from '@/api/wms/pdm/workorder'
|
import workorder from '@/api/wms/pdm/workorder'
|
||||||
|
|
||||||
const start = new Date()
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ProductInstor',
|
name: 'ProductInstor',
|
||||||
components: { StructIvt, crudOperation, rrOperation, pagination },
|
components: { StructIvt, crudOperation, rrOperation, pagination },
|
||||||
@@ -105,9 +105,6 @@ export default {
|
|||||||
del: false,
|
del: false,
|
||||||
reset: true,
|
reset: true,
|
||||||
download: false
|
download: false
|
||||||
},
|
|
||||||
query: {
|
|
||||||
createTime: [start.monthBegin(), new Date()]
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -122,6 +119,7 @@ export default {
|
|||||||
currentRow: null,
|
currentRow: null,
|
||||||
storlist: [],
|
storlist: [],
|
||||||
sum: 0,
|
sum: 0,
|
||||||
|
query_flag: true,
|
||||||
Depts: [],
|
Depts: [],
|
||||||
billtypelist: []
|
billtypelist: []
|
||||||
}
|
}
|
||||||
@@ -142,11 +140,29 @@ export default {
|
|||||||
workorder.getDepts().then(res => {
|
workorder.getDepts().then(res => {
|
||||||
this.Depts = res
|
this.Depts = res
|
||||||
})
|
})
|
||||||
|
this.crud.query.createTime = [new Date(new Date().monthBegin()), new Date()]
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
if (this.query_flag) {
|
||||||
|
this.crud.query.begin_time = new Date().monthBegin()
|
||||||
|
this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
|
||||||
|
this.query_flag = false
|
||||||
|
}
|
||||||
|
},
|
||||||
onInput() {
|
onInput() {
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
|
mytoQuery(array1) {
|
||||||
|
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()
|
||||||
|
},
|
||||||
async queryMater() {
|
async queryMater() {
|
||||||
this.structshow = true
|
this.structshow = true
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user