rev:兰州需求开发
This commit is contained in:
@@ -205,7 +205,7 @@
|
||||
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
|
||||
sub.thickness_request,
|
||||
sub.box_weight,
|
||||
sub.sales_owner
|
||||
cust.sales_owner
|
||||
FROM
|
||||
ST_IVT_StructIvt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.nl.wms.sch;
|
||||
|
||||
/**
|
||||
* 仓库枚举
|
||||
*/
|
||||
public enum AutoQueryEnum {
|
||||
AC01("01", "兰州一期仓库", "1582991156504039424"),
|
||||
BC01("02", "兰州二期仓库", "1582991156504039455"),
|
||||
WK01("03", "东莞仓库", "1597073830499717120");
|
||||
|
||||
private String name;
|
||||
private String code;
|
||||
private String id;
|
||||
|
||||
private AutoQueryEnum(String code, String name, String id) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,8 @@
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
@@ -188,6 +189,7 @@
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
@@ -198,7 +200,7 @@
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
@@ -208,7 +210,8 @@
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
@@ -217,7 +220,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT ( b.confirm_time, 10 ) = DATE_SUB( CURDATE(), INTERVAL 1 DAY )
|
||||
@@ -230,17 +233,64 @@
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "88"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT ( b.confirm_time, 10 ) = DATE_SUB( CURDATE(), INTERVAL 1 DAY )
|
||||
OR LEFT ( confirm_time, 10 ) = CURDATE())
|
||||
AND CONCAT( DATE_SUB( CURDATE(), INTERVAL 1 DAY ), ' 08:00:00' ) <= b.confirm_time
|
||||
AND CONCAT( CURDATE(), ' 08:00:00' ) >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
@@ -250,7 +300,8 @@
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
@@ -271,6 +322,8 @@
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
@@ -280,7 +333,7 @@
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
@@ -290,7 +343,8 @@
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
@@ -299,7 +353,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH (LEFT ( b.confirm_time, 10 )) = MONTH (CURDATE())
|
||||
@@ -311,16 +365,102 @@
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "100"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH (LEFT ( b.confirm_time, 10 )) = MONTH (CURDATE())
|
||||
AND CONCAT( DATE_FORMAT( NOW(), '%Y-%m-01' ), ' 08:00:00' ) <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "101"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name,
|
||||
attr.stor_id
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND DATE_FORMAT(DATE_SUB( CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 08:00:00' ) <= b.confirm_time
|
||||
AND DATE_FORMAT(CURDATE(), '%Y-%m-01 08:00:00' ) >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND DATE_FORMAT(DATE_SUB( CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 08:00:00' ) <= mst.confirm_time
|
||||
AND DATE_FORMAT(CURDATE(), '%Y-%m-01 08:00:00' ) >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name,attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
@@ -381,7 +521,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
@@ -397,7 +537,49 @@
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "122"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
@@ -467,7 +649,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
@@ -484,7 +666,51 @@
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "144"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
@@ -550,7 +776,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
@@ -565,7 +791,47 @@
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "166"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
@@ -632,7 +898,7 @@
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_type = '1001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
@@ -647,7 +913,7 @@
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_type = '1001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
@@ -658,3 +924,104 @@
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "188"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type = '1004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type = '1004'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "19"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = ivt.pcsn AND sub.package_box_sn = attr.storagevehicle_code
|
||||
WHERE
|
||||
ivt.canuse_qty > '0'
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "20"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0004'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0004'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -4,6 +4,7 @@ package org.nl.wms.sch.manage;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -13,12 +14,10 @@ import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.ext.mes.service.LmsToMesService;
|
||||
import org.nl.wms.sch.AutoQueryEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@@ -44,7 +43,7 @@ public class AutoQueryProudDayData {
|
||||
}
|
||||
} else {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("User", "");
|
||||
jo.put("User","");
|
||||
UserList.add(jo);
|
||||
}
|
||||
param.put("UserList", UserList);
|
||||
@@ -62,14 +61,15 @@ public class AutoQueryProudDayData {
|
||||
|
||||
// 查询共多少个仓库
|
||||
String in_stor_code = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("STOR_CODE_FEISHU").getValue();
|
||||
JSONArray storArr = storTab.query("is_used = '1' and stor_code in" + in_stor_code).getResultJSONArray(0);
|
||||
JSONArray storArr = storTab.query("is_used = '1' and stor_code in"+in_stor_code).getResultJSONArray(0);
|
||||
|
||||
// 客户
|
||||
String custB = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("CUST_B").getValue();
|
||||
String custC = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("CUST_C").getValue();
|
||||
String custBandC = custB + "," + custC;
|
||||
|
||||
JSONObject result = new JSONObject(); // 全部数据
|
||||
result.put("Title", DateUtil.today() + "成品数据(单位:T)");
|
||||
result.put("Title", DateUtil.today()+"成品数据(单位:T)");
|
||||
|
||||
/*
|
||||
* 查询各仓库库存
|
||||
@@ -92,45 +92,45 @@ public class AutoQueryProudDayData {
|
||||
JSONObject item = storArr.getJSONObject(i);
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("local", item.getString("stor_name")); // 存储地点
|
||||
json.put("local", item.getString("simple_name")); // 存储地点
|
||||
|
||||
// 库存总量
|
||||
// 总量
|
||||
List<JSONObject> collect = allIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("TotalInventory", collect.isEmpty() ? "0" : NumberUtil.round(collect.get(0).getString("num"), 2) + "");
|
||||
json.put("TotalInventory", collect.isEmpty() ? "0" : NumberUtil.round(collect.get(0).getString("num"), 2)+"");
|
||||
|
||||
// 超期库存
|
||||
List<JSONObject> collect2 = sidIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("OverdueInventory", collect2.isEmpty() ? "0" : NumberUtil.round(collect2.get(0).getString("num"), 2) + "");
|
||||
json.put("OverdueInventory", collect2.isEmpty() ? "0" : NumberUtil.round(collect2.get(0).getString("num"),2)+"");
|
||||
|
||||
// 临期库存
|
||||
List<JSONObject> collect3 = faceIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("InterimInventory", collect3.isEmpty() ? "0" : NumberUtil.round(collect3.get(0).getString("num"), 2) + "");
|
||||
json.put("InterimInventory", collect3.isEmpty() ? "0" : NumberUtil.round(collect3.get(0).getString("num"),2)+"");
|
||||
|
||||
// 正常库存
|
||||
List<JSONObject> collect4 = regIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("NormalStockAge", collect4.isEmpty() ? "0" : NumberUtil.round(collect4.get(0).getString("num"), 2) + "");
|
||||
json.put("NormalStockAge", collect4.isEmpty() ? "0" : NumberUtil.round(collect4.get(0).getString("num"),2)+"");
|
||||
|
||||
Arrayobject1.add(json);
|
||||
}
|
||||
|
||||
// 计算全部
|
||||
// 计算汇总
|
||||
JSONObject allIvt = new JSONObject();
|
||||
allIvt.put("local", "全部");
|
||||
allIvt.put("TotalInventory", NumberUtil.round(allIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("OverdueInventory", NumberUtil.round(sidIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("InterimInventory", NumberUtil.round(faceIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("NormalStockAge", NumberUtil.round(regIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("local", "汇总");
|
||||
;
|
||||
allIvt.put("TotalInventory", NumberUtil.round(Arrayobject1.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("TotalInventory")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
allIvt.put("OverdueInventory", NumberUtil.round(Arrayobject1.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("OverdueInventory")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
allIvt.put("InterimInventory", NumberUtil.round(Arrayobject1.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("InterimInventory")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
allIvt.put("NormalStockAge", NumberUtil.round(Arrayobject1.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("NormalStockAge")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
Arrayobject1.add(allIvt);
|
||||
|
||||
result.put("Arrayobject1", Arrayobject1);
|
||||
result.put("Arrayobject1",Arrayobject1);
|
||||
|
||||
/*
|
||||
* 各客户库存 :
|
||||
@@ -148,9 +148,9 @@ public class AutoQueryProudDayData {
|
||||
JSONObject custHand = new JSONObject();
|
||||
custHand.put("Customer1", "B库存");
|
||||
custHand.put("Customer2", "C库存");
|
||||
custHand.put("Customer3", "Other库存");
|
||||
custHand.put("Customer3", "Other库存(除BC)");
|
||||
Customernventory.add(custHand);
|
||||
result.put("Customernventory", Customernventory);
|
||||
result.put("Customernventory",Customernventory);
|
||||
|
||||
// 2.数据
|
||||
JSONArray Arrayobject2 = new JSONArray();
|
||||
@@ -171,52 +171,53 @@ public class AutoQueryProudDayData {
|
||||
|
||||
// B库存集合
|
||||
List<JSONObject> custIvtBList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "5")
|
||||
.addParam("customer_name", "('" + collectB1 + "')")
|
||||
.addParam("customer_name", "('"+collectB1+"')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// C库存集合
|
||||
List<JSONObject> custIvtCList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "5")
|
||||
.addParam("customer_name", "('" + collectC1 + "')")
|
||||
.addParam("customer_name", "('"+collectC1+"')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 其他库存集合
|
||||
List<JSONObject> custIvtOtherList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "6")
|
||||
.addParam("customer_name", "('" + collectAll + "')")
|
||||
.addParam("customer_name", "('"+collectAll+"')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
for (int i = 0; i < storArr.size(); i++) {
|
||||
JSONObject item = storArr.getJSONObject(i);
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("Local", item.getString("stor_name"));
|
||||
json.put("Local", item.getString("simple_name"));
|
||||
|
||||
// B库存
|
||||
List<JSONObject> collectB = custIvtBList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory1", collectB.isEmpty() ? "0" : NumberUtil.round(collectB.get(0).getString("num"), 2) + "");
|
||||
json.put("Customernventory1", collectB.isEmpty() ? "0" : NumberUtil.round(collectB.get(0).getString("num"), 2)+"");
|
||||
|
||||
// C库存
|
||||
List<JSONObject> collectC = custIvtCList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory2", collectC.isEmpty() ? "0" : NumberUtil.round(collectC.get(0).getString("num"), 2) + "");
|
||||
json.put("Customernventory2", collectC.isEmpty() ? "0" : NumberUtil.round(collectC.get(0).getString("num"), 2)+"");
|
||||
|
||||
// 其他库存
|
||||
List<JSONObject> collectOthen = custIvtOtherList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory3", collectOthen.isEmpty() ? "0" : NumberUtil.round(collectOthen.get(0).getString("num"), 2) + "");
|
||||
json.put("Customernventory3", collectOthen.isEmpty() ? "0" : NumberUtil.round(collectOthen.get(0).getString("num"), 2)+"");
|
||||
|
||||
Arrayobject2.add(json);
|
||||
}
|
||||
|
||||
// 计算全部
|
||||
// 计算汇总
|
||||
JSONObject allCustIvt = new JSONObject();
|
||||
allCustIvt.put("Local", "全部");
|
||||
allCustIvt.put("Customernventory1", NumberUtil.round(custIvtBList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allCustIvt.put("Customernventory2", NumberUtil.round(custIvtCList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allCustIvt.put("Customernventory3", NumberUtil.round(custIvtOtherList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allCustIvt.put("Local", "汇总");
|
||||
|
||||
allCustIvt.put("Customernventory1", NumberUtil.round(Arrayobject2.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("Customernventory1")).reduce(Double::sum).orElse(0.00).toString(), 2)+"");
|
||||
allCustIvt.put("Customernventory2", NumberUtil.round(Arrayobject2.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("Customernventory2")).reduce(Double::sum).orElse(0.00).toString(), 2)+"");
|
||||
allCustIvt.put("Customernventory3", NumberUtil.round(Arrayobject2.stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getDoubleValue("Customernventory3")).reduce(Double::sum).orElse(0.00).toString(), 2)+"");
|
||||
Arrayobject2.add(allCustIvt);
|
||||
|
||||
result.put("Arrayobject2", Arrayobject2);
|
||||
@@ -235,112 +236,87 @@ public class AutoQueryProudDayData {
|
||||
JSONArray Arrayobject3 = new JSONArray();
|
||||
|
||||
JSONObject changeIvt = new JSONObject();
|
||||
changeIvt.put("Customer1", "B客户");
|
||||
changeIvt.put("Customer2", "C客户");
|
||||
changeIvt.put("Customer3", "汇总");
|
||||
changeIvt.put("Customer1", "兰州仓库(除BC)");
|
||||
changeIvt.put("Customer2", "兰州二期仓库(除BC)");
|
||||
changeIvt.put("Customer3", "东莞仓");
|
||||
changeIvt.put("Customer4", "兰州仓B客户");
|
||||
changeIvt.put("Customer5", "兰州仓C客户");
|
||||
Arrayobject3.add(changeIvt);
|
||||
result.put("Arrayobject3", Arrayobject3);
|
||||
|
||||
// 2.数据
|
||||
JSONArray Arrayobject4 = new JSONArray();
|
||||
|
||||
// 所有昨日入库量客户分组集合
|
||||
// 所有昨日入库量客户、仓库分组集合
|
||||
List<JSONObject> yesterdayInList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "7")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日出库量客户分组集合
|
||||
// 所有昨日出库量客户、仓库分组集合
|
||||
List<JSONObject> yesterdayOutList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "8")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量客户分组集合
|
||||
// 所有昨日调拨(出库)量客户、仓库分组集合
|
||||
List<JSONObject> yesterdayAllotList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "88")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量客户、仓库分组集合
|
||||
List<JSONObject> monthInList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "9")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月出库量客户分组集合
|
||||
// 所有当月出库量客户、仓库分组集合
|
||||
List<JSONObject> monthOutList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "10")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月调拨(出库)量客户、仓库分组集合
|
||||
List<JSONObject> monthAllotList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "100")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有上个月出库量客户、仓库分组集合
|
||||
List<JSONObject> upMonthOutList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "101")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// ---- 昨日入库量 ----
|
||||
JSONObject yesterdayIn = new JSONObject();
|
||||
yesterdayIn.put("Title", "昨日入库量");
|
||||
JSONObject yesterdayIn = ivtChange(custBandC, custB, custC, yesterdayInList);
|
||||
yesterdayIn.put("Title", "昨日入");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList = yesterdayInList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayIn.put("Customerqty1", NumberUtil.round(custBList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList = yesterdayInList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayIn.put("Customerqty2", NumberUtil.round(custCList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
yesterdayIn.put("Customerqty3", NumberUtil.round(yesterdayInList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(yesterdayIn);
|
||||
|
||||
// ---- 昨日出库量 ----
|
||||
JSONObject yesterdayOut = new JSONObject();
|
||||
yesterdayOut.put("Title", "昨日出库量");
|
||||
JSONObject yesterdayOut = ivtChange(custBandC, custB, custC, yesterdayOutList);
|
||||
yesterdayOut.put("Title", "昨日出");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList2 = yesterdayOutList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayOut.put("Customerqty1", NumberUtil.round(custBList2.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList2 = yesterdayOutList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayOut.put("Customerqty2", NumberUtil.round(custCList2.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
yesterdayOut.put("Customerqty3", NumberUtil.round(yesterdayOutList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(yesterdayOut);
|
||||
|
||||
// ---- 昨日调拨量 ----
|
||||
JSONObject yesterdayAllot = ivtChange(custBandC, custB, custC, yesterdayAllotList);
|
||||
yesterdayAllot.put("Title", "昨日调");
|
||||
|
||||
Arrayobject4.add(yesterdayAllot);
|
||||
|
||||
// ---- 当月入库量 ----
|
||||
JSONObject monthdayIn = new JSONObject();
|
||||
monthdayIn.put("Title", "当月入库量");
|
||||
JSONObject monthdayIn = ivtChange(custBandC, custB, custC, monthInList);
|
||||
monthdayIn.put("Title", "当月入");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList3 = monthInList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayIn.put("Customerqty1", NumberUtil.round(custBList3.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList3 = monthInList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayIn.put("Customerqty2", NumberUtil.round(custCList3.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
monthdayIn.put("Customerqty3", NumberUtil.round(monthInList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(monthdayIn);
|
||||
|
||||
// ---- 当月出库量 ----
|
||||
JSONObject monthdayOut = new JSONObject();
|
||||
monthdayOut.put("Title", "当月出库量");
|
||||
JSONObject monthdayOut = ivtChange(custBandC, custB, custC, monthOutList);
|
||||
monthdayOut.put("Title", "当月出");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList4 = monthOutList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayOut.put("Customerqty1", NumberUtil.round(custBList4.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList4 = monthOutList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayOut.put("Customerqty2", NumberUtil.round(custCList4.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
monthdayOut.put("Customerqty3", NumberUtil.round(monthOutList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(monthdayOut);
|
||||
|
||||
result.put("Arrayobject4", Arrayobject4);
|
||||
// ---- 当月调拨量 ----
|
||||
JSONObject monthdayallot = ivtChange(custBandC, custB, custC, monthAllotList);
|
||||
monthdayallot.put("Title", "当月调");
|
||||
|
||||
Arrayobject4.add(monthdayallot);
|
||||
|
||||
// ---- 上月出库量 ----
|
||||
JSONObject upMonthdayOut= ivtChange(custBandC, custB, custC, upMonthOutList);
|
||||
upMonthdayOut.put("Title", "上月出");
|
||||
|
||||
Arrayobject4.add(upMonthdayOut);
|
||||
result.put("Arrayobject4",Arrayobject4);
|
||||
|
||||
/*
|
||||
* 各区域库存变化
|
||||
@@ -350,7 +326,7 @@ public class AutoQueryProudDayData {
|
||||
* C库存:10000426 比亚迪,2010 海亮股份
|
||||
* }
|
||||
* {
|
||||
* region_code: A1,A2,A3,A4
|
||||
* region_code: A1,A2,A3,A4,B1,B2
|
||||
* }
|
||||
*/
|
||||
JSONArray Arrayobject5 = new JSONArray();
|
||||
@@ -363,6 +339,10 @@ public class AutoQueryProudDayData {
|
||||
List<JSONObject> yesterdayOutRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "12")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日调拨出库量区域分组集合
|
||||
List<JSONObject> yesterdayAllotRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "122")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日入库量区域、客户分组集合
|
||||
List<JSONObject> yesterdayCustInRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "13")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -371,6 +351,10 @@ public class AutoQueryProudDayData {
|
||||
List<JSONObject> yesterdayCustOutRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "14")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日调拨出库量区域、客户分组集合
|
||||
List<JSONObject> yesterdayCustAllotRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "144")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量区域分组集合
|
||||
List<JSONObject> monthInRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "15")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -379,6 +363,10 @@ public class AutoQueryProudDayData {
|
||||
List<JSONObject> monthOutRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "16")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月调拨出库量区域分组集合
|
||||
List<JSONObject> monthAllotRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "166")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量区域、客户分组集合
|
||||
List<JSONObject> monthCustInRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "17")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -387,62 +375,119 @@ public class AutoQueryProudDayData {
|
||||
List<JSONObject> monthCustOutRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "18")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月调拨出库量区域、客户分组集合
|
||||
List<JSONObject> monthCustAllotRegList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "188")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// ---- 当月入库量 ----
|
||||
JSONObject monthRegIn = monthReg(monthInRegList, "当月入库量");
|
||||
JSONObject monthRegIn = monthReg(monthInRegList, "当月入");
|
||||
Arrayobject5.add(monthRegIn);
|
||||
|
||||
// ---- 当月调拨量 ----
|
||||
JSONObject monthAllotOut = monthReg(monthAllotRegList, "当月调");
|
||||
Arrayobject5.add(monthAllotOut);
|
||||
|
||||
// ---- 当月出库量 ----
|
||||
JSONObject monthRegOut = monthReg(monthOutRegList, "当月出库量");
|
||||
JSONObject monthRegOut = monthReg(monthOutRegList, "当月出");
|
||||
Arrayobject5.add(monthRegOut);
|
||||
|
||||
// ---- 昨日入库量 ----
|
||||
JSONObject yesterdayInReg = monthReg(yesterdayInRegList, "昨日入库量");
|
||||
JSONObject yesterdayInReg = monthReg(yesterdayInRegList, "昨日入");
|
||||
Arrayobject5.add(yesterdayInReg);
|
||||
|
||||
// ---- 昨日调拨量 ----
|
||||
JSONObject yesterdayAllotReg = monthReg(yesterdayAllotRegList, "昨日调");
|
||||
Arrayobject5.add(yesterdayAllotReg);
|
||||
|
||||
// ---- 昨日出库量 ----
|
||||
JSONObject yesterdayOutReg = monthReg(yesterdayOutRegList, "昨日出库量");
|
||||
JSONObject yesterdayOutReg = monthReg(yesterdayOutRegList, "昨日出");
|
||||
Arrayobject5.add(yesterdayOutReg);
|
||||
|
||||
// ---- B昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegB = monthRegCust(yesterdayCustOutRegList, "B昨日出库量", custB);
|
||||
Arrayobject5.add(yesterdayCustOutRegB);
|
||||
|
||||
// ---- B昨日入库量 ----
|
||||
JSONObject yesterdayCustInRegB = monthRegCust(yesterdayCustInRegList, "B昨日入库量", custB);
|
||||
JSONObject yesterdayCustInRegB = monthRegCust(yesterdayCustInRegList, "B昨日入", custB);
|
||||
Arrayobject5.add(yesterdayCustInRegB);
|
||||
|
||||
// ---- B昨日调拨出库量 ----
|
||||
JSONObject yesterdayCustAllotRegB = monthRegCust(yesterdayCustAllotRegList, "B昨日调", custB);
|
||||
Arrayobject5.add(yesterdayCustAllotRegB);
|
||||
|
||||
// ---- B昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegB = monthRegCust(yesterdayCustOutRegList, "B昨日出", custB);
|
||||
Arrayobject5.add(yesterdayCustOutRegB);
|
||||
|
||||
// ---- B当月入库量 ----
|
||||
JSONObject monthCustInRegB = monthRegCust(monthCustInRegList, "B当月入库量", custB);
|
||||
JSONObject monthCustInRegB = monthRegCust(monthCustInRegList, "B当月入", custB);
|
||||
Arrayobject5.add(monthCustInRegB);
|
||||
|
||||
// ---- B当月调拨出库量 ----
|
||||
JSONObject monthCustAllotRegB = monthRegCust(monthCustAllotRegList, "B当月调", custB);
|
||||
Arrayobject5.add(monthCustAllotRegB);
|
||||
|
||||
// ---- B当月出库量 ----
|
||||
JSONObject monthCustOutRegB = monthRegCust(monthCustOutRegList, "B当月出库量", custB);
|
||||
JSONObject monthCustOutRegB = monthRegCust(monthCustOutRegList, "B当月出", custB);
|
||||
Arrayobject5.add(monthCustOutRegB);
|
||||
|
||||
// ---- C昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegC = monthRegCust(yesterdayCustOutRegList, "C昨日出库量", custC);
|
||||
Arrayobject5.add(yesterdayCustOutRegC);
|
||||
|
||||
// ---- C昨日入库量 ----
|
||||
JSONObject yesterdayCustInRegC = monthRegCust(yesterdayCustInRegList, "C昨日入库量", custC);
|
||||
JSONObject yesterdayCustInRegC = monthRegCust(yesterdayCustInRegList, "C昨日入", custC);
|
||||
Arrayobject5.add(yesterdayCustInRegC);
|
||||
|
||||
// ---- C昨日调拨出库量 ----
|
||||
JSONObject yesterdayCustAllotRegC = monthRegCust(yesterdayCustAllotRegList, "C昨日调", custC);
|
||||
Arrayobject5.add(yesterdayCustAllotRegC);
|
||||
|
||||
// ---- C昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegC = monthRegCust(yesterdayCustOutRegList, "C昨日出", custC);
|
||||
Arrayobject5.add(yesterdayCustOutRegC);
|
||||
|
||||
// ---- C当月入库量 ----
|
||||
JSONObject monthCustInRegC = monthRegCust(monthCustInRegList, "C当月入库量", custC);
|
||||
JSONObject monthCustInRegC = monthRegCust(monthCustInRegList, "C当月入", custC);
|
||||
Arrayobject5.add(monthCustInRegC);
|
||||
|
||||
// ---- C当月调拨出库量 ----
|
||||
JSONObject monthCustAllotRegC = monthRegCust(monthCustAllotRegList, "C当月调", custC);
|
||||
Arrayobject5.add(monthCustAllotRegC);
|
||||
|
||||
// ---- C当月出库量 ----
|
||||
JSONObject monthCustOutRegC = monthRegCust(monthCustOutRegList, "C当月出库量", custC);
|
||||
JSONObject monthCustOutRegC = monthRegCust(monthCustOutRegList, "C当月出", custC);
|
||||
Arrayobject5.add(monthCustOutRegC);
|
||||
|
||||
result.put("Arrayobject5", Arrayobject5);
|
||||
|
||||
/*
|
||||
* 上月库存B、C库存
|
||||
*/
|
||||
String end_date = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("END_DATE").getValue();
|
||||
String nowDay = DateUtil.today().substring(8, 10);
|
||||
|
||||
if (end_date.equals(nowDay)) {
|
||||
JSONArray Arrayobject6 = new JSONArray();
|
||||
|
||||
// 当日实时库存,根据客户分组
|
||||
List<JSONObject> todayCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 当月入库量(调拨入库:默认1-21号),根据客户分组
|
||||
List<JSONObject> monthCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// ---- B公司 ----
|
||||
JSONObject CorpB = upMonthIvt(custB, todayCustIvtList, monthCustIvtList);
|
||||
CorpB.put("Customer1", "B库存");
|
||||
Arrayobject6.add(CorpB);
|
||||
|
||||
// ---- C公司 ----
|
||||
JSONObject CorpC = upMonthIvt(custC, todayCustIvtList, monthCustIvtList);
|
||||
CorpC.put("Customer1", "C库存");
|
||||
Arrayobject6.add(CorpC);
|
||||
|
||||
result.put("Arrayobject6",Arrayobject6);
|
||||
result.put("EndDate", getEndDate());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当月区域公共方法
|
||||
*
|
||||
* @param param 、
|
||||
* @param title 、
|
||||
* @return JSONObject
|
||||
@@ -456,10 +501,12 @@ public class AutoQueryProudDayData {
|
||||
.collect(Collectors.groupingBy(row -> row.getString("region_code")));
|
||||
|
||||
if (paramMap.isEmpty()) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty4", "0");
|
||||
result.put("Areaqty1","0");
|
||||
result.put("Areaqty2","0");
|
||||
result.put("Areaqty3","0");
|
||||
result.put("Areaqty4","0");
|
||||
result.put("Areaqty5","0");
|
||||
result.put("Areaqty6","0");
|
||||
}
|
||||
|
||||
for (String region_code : paramMap.keySet()) {
|
||||
@@ -468,34 +515,34 @@ public class AutoQueryProudDayData {
|
||||
String num = NumberUtil.round(list.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "";
|
||||
|
||||
switch (region_code) {
|
||||
case "A1":
|
||||
result.put("Areaqty1", num);
|
||||
break;
|
||||
case "A2":
|
||||
result.put("Areaqty2", num);
|
||||
break;
|
||||
case "A3":
|
||||
result.put("Areaqty3", num);
|
||||
break;
|
||||
case "A4":
|
||||
result.put("Areaqty4", num);
|
||||
break;
|
||||
case "A1": result.put("Areaqty1", num); break;
|
||||
case "A2": result.put("Areaqty2", num); break;
|
||||
case "A3": result.put("Areaqty3", num); break;
|
||||
case "A4": result.put("Areaqty4", num); break;
|
||||
case "B1": result.put("Areaqty5", num); break;
|
||||
case "B2": result.put("Areaqty6", num); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty1"))) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty1","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty2"))) {
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty2","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty3"))) {
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty3","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty4"))) {
|
||||
result.put("Areaqty4", "0");
|
||||
result.put("Areaqty4","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty5"))) {
|
||||
result.put("Areaqty5","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty6"))) {
|
||||
result.put("Areaqty6","0");
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -503,9 +550,8 @@ public class AutoQueryProudDayData {
|
||||
|
||||
/**
|
||||
* 当月区域、客户公共方法
|
||||
*
|
||||
* @param param 、
|
||||
* @param title 、
|
||||
* @param param 、
|
||||
* @param title 、
|
||||
* @param customer 客户 、
|
||||
* @return JSONObject
|
||||
*/
|
||||
@@ -518,10 +564,12 @@ public class AutoQueryProudDayData {
|
||||
.collect(Collectors.groupingBy(row -> row.getString("region_code")));
|
||||
|
||||
if (paramMap.isEmpty()) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty4", "0");
|
||||
result.put("Areaqty1","0");
|
||||
result.put("Areaqty2","0");
|
||||
result.put("Areaqty3","0");
|
||||
result.put("Areaqty4","0");
|
||||
result.put("Areaqty5","0");
|
||||
result.put("Areaqty6","0");
|
||||
}
|
||||
|
||||
for (String region_code : paramMap.keySet()) {
|
||||
@@ -535,36 +583,125 @@ public class AutoQueryProudDayData {
|
||||
|
||||
|
||||
switch (region_code) {
|
||||
case "A1":
|
||||
result.put("Areaqty1", num);
|
||||
break;
|
||||
case "A2":
|
||||
result.put("Areaqty2", num);
|
||||
break;
|
||||
case "A3":
|
||||
result.put("Areaqty3", num);
|
||||
break;
|
||||
case "A4":
|
||||
result.put("Areaqty4", num);
|
||||
break;
|
||||
case "A1": result.put("Areaqty1", num); break;
|
||||
case "A2": result.put("Areaqty2", num); break;
|
||||
case "A3": result.put("Areaqty3", num); break;
|
||||
case "A4": result.put("Areaqty4", num); break;
|
||||
case "B1": result.put("Areaqty5", num); break;
|
||||
case "B2": result.put("Areaqty6", num); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty1"))) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty1","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty2"))) {
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty2","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty3"))) {
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty3","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty4"))) {
|
||||
result.put("Areaqty4", "0");
|
||||
result.put("Areaqty4","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty5"))) {
|
||||
result.put("Areaqty5","0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty6"))) {
|
||||
result.put("Areaqty6", "0");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 库存变化公共方法
|
||||
* @param custBandC b和c客户
|
||||
* @param custB b客户
|
||||
* @param custC c客户
|
||||
* @param dataList 、
|
||||
* @return 、
|
||||
*/
|
||||
public JSONObject ivtChange(String custBandC, String custB, String custC, List<JSONObject> dataList) {
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
// 兰州一期仓(除BC)
|
||||
List<JSONObject> collect = dataList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(AutoQueryEnum.AC01.getId()))
|
||||
.filter(row -> !custBandC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
result.put("Customerqty1", NumberUtil.round(collect.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
|
||||
// 兰州二期仓(除BC)
|
||||
List<JSONObject> collect2 = dataList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(AutoQueryEnum.BC01.getId()))
|
||||
.filter(row -> !custBandC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
result.put("Customerqty2", NumberUtil.round(collect2.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
|
||||
// 东莞仓
|
||||
List<JSONObject> collect3 = dataList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(AutoQueryEnum.WK01.getId()))
|
||||
.collect(Collectors.toList());
|
||||
result.put("Customerqty3", NumberUtil.round(collect3.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
|
||||
// 兰州一期仓(B)
|
||||
List<JSONObject> collect4 = dataList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(AutoQueryEnum.AC01.getId()))
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
result.put("Customerqty4", NumberUtil.round(collect4.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
|
||||
// 兰州一期仓(C)
|
||||
List<JSONObject> collect5 = dataList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(AutoQueryEnum.AC01.getId()))
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
result.put("Customerqty5", NumberUtil.round(collect5.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2)+"");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上月库存公共方法
|
||||
* @param cust 客户
|
||||
* @param todayCustIvtList 实时库存客户分组
|
||||
* @param monthCustIvtList 当月入库量客户分组
|
||||
* @return /
|
||||
*/
|
||||
public JSONObject upMonthIvt(String cust, List<JSONObject> todayCustIvtList, List<JSONObject> monthCustIvtList) {
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
double ivtCust = todayCustIvtList.stream()
|
||||
.filter(row -> cust.contains(row.getString("customer_name")))
|
||||
.map(row -> row.getDoubleValue("num"))
|
||||
.reduce(Double::sum).orElse(0.00);
|
||||
|
||||
double inIvtCust = monthCustIvtList.stream()
|
||||
.filter(row -> cust.contains(row.getString("customer_name")))
|
||||
.map(row -> row.getDoubleValue("num"))
|
||||
.reduce(Double::sum).orElse(0.00);
|
||||
|
||||
double subIvt = NumberUtil.sub(ivtCust, inIvtCust);
|
||||
|
||||
result.put("Customerqty1", subIvt > 0 ? NumberUtil.round(subIvt, 2).toString() : "0");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public String getEndDate() {
|
||||
String substring = DateUtil.lastMonth().toString().substring(0, 7);
|
||||
|
||||
Calendar instance = Calendar.getInstance();
|
||||
instance.setTime(DateUtil.lastMonth());
|
||||
int actualMaximum = instance.getActualMaximum(Calendar.DAY_OF_MONTH);
|
||||
String date = substring + "-" + String.valueOf(actualMaximum);
|
||||
|
||||
String endDate = DateUtil.format(DateUtil.parse(date), "yyyy年MM月dd日");
|
||||
return endDate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,570 @@
|
||||
package org.nl.wms.sch.manage;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.ext.mes.service.LmsToMesService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class AutoQueryProudDayDataTest {
|
||||
|
||||
private final LmsToMesService lmsToMesService;
|
||||
|
||||
public void run() {
|
||||
JSONObject param = new JSONObject();
|
||||
|
||||
JSONArray UserList = new JSONArray();
|
||||
|
||||
String userList = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("USER_LIST_FEISHU").getValue();
|
||||
|
||||
String[] split = userList.split(",");
|
||||
if (split.length > 0) {
|
||||
for (String s : split) {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("User", s);
|
||||
UserList.add(jo);
|
||||
}
|
||||
} else {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("User", "");
|
||||
UserList.add(jo);
|
||||
}
|
||||
param.put("UserList", UserList);
|
||||
|
||||
param.put("Code", "ctp_AAVwgNuQOtO0");
|
||||
param.put("card", data());
|
||||
|
||||
// 调用接口
|
||||
lmsToMesService.proudDayData(param);
|
||||
|
||||
}
|
||||
|
||||
public JSONObject data() {
|
||||
WQLObject storTab = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); // 仓库表
|
||||
|
||||
// 查询共多少个仓库
|
||||
String in_stor_code = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("STOR_CODE_FEISHU").getValue();
|
||||
JSONArray storArr = storTab.query("is_used = '1' and stor_code in" + in_stor_code).getResultJSONArray(0);
|
||||
|
||||
// 客户
|
||||
String custB = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("CUST_B").getValue();
|
||||
String custC = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("CUST_C").getValue();
|
||||
|
||||
JSONObject result = new JSONObject(); // 全部数据
|
||||
result.put("Title", DateUtil.today() + "成品数据(单位:T)");
|
||||
|
||||
/*
|
||||
* 查询各仓库库存
|
||||
*/
|
||||
JSONArray Arrayobject1 = new JSONArray(); // 各仓库库存集合
|
||||
|
||||
// 库存总量集合
|
||||
List<JSONObject> allIvtList = WQL.getWO("TEST0001").addParam("flag", "1").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 超期库存集合
|
||||
List<JSONObject> sidIvtList = WQL.getWO("TEST0001").addParam("flag", "2").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 临期库存集合
|
||||
List<JSONObject> faceIvtList = WQL.getWO("TEST0001").addParam("flag", "3").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 正常库龄
|
||||
List<JSONObject> regIvtList = WQL.getWO("TEST0001").addParam("flag", "4").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
for (int i = 0; i < storArr.size(); i++) {
|
||||
JSONObject item = storArr.getJSONObject(i);
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("local", item.getString("stor_name")); // 存储地点
|
||||
|
||||
// 库存总量
|
||||
List<JSONObject> collect = allIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("TotalInventory", collect.isEmpty() ? "0" : NumberUtil.round(collect.get(0).getString("num"), 2) + "");
|
||||
|
||||
// 超期库存
|
||||
List<JSONObject> collect2 = sidIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("OverdueInventory", collect2.isEmpty() ? "0" : NumberUtil.round(collect2.get(0).getString("num"), 2) + "");
|
||||
|
||||
// 临期库存
|
||||
List<JSONObject> collect3 = faceIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("InterimInventory", collect3.isEmpty() ? "0" : NumberUtil.round(collect3.get(0).getString("num"), 2) + "");
|
||||
|
||||
// 正常库存
|
||||
List<JSONObject> collect4 = regIvtList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("NormalStockAge", collect4.isEmpty() ? "0" : NumberUtil.round(collect4.get(0).getString("num"), 2) + "");
|
||||
|
||||
Arrayobject1.add(json);
|
||||
}
|
||||
|
||||
// 计算全部
|
||||
JSONObject allIvt = new JSONObject();
|
||||
allIvt.put("local", "全部");
|
||||
allIvt.put("TotalInventory", NumberUtil.round(allIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("OverdueInventory", NumberUtil.round(sidIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("InterimInventory", NumberUtil.round(faceIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allIvt.put("NormalStockAge", NumberUtil.round(regIvtList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
// Arrayobject1.add(allIvt);
|
||||
|
||||
result.put("Arrayobject1", Arrayobject1);
|
||||
|
||||
/*
|
||||
* 各客户库存 :
|
||||
* 1.表头
|
||||
* {
|
||||
* B库存:10000708 蕉城时代,10000698 江苏时代,10000779 四川时代,10000561 宁德时代
|
||||
* C库存:10000426 比亚迪,2010 海亮股份
|
||||
* Other库存: 除B、C客户的其他客户
|
||||
* }
|
||||
* 2.数据
|
||||
*/
|
||||
// 1.表头:
|
||||
JSONArray Customernventory = new JSONArray();
|
||||
|
||||
JSONObject custHand = new JSONObject();
|
||||
custHand.put("Customer1", "B库存");
|
||||
custHand.put("Customer2", "C库存");
|
||||
custHand.put("Customer3", "Other库存");
|
||||
Customernventory.add(custHand);
|
||||
result.put("Customernventory", Customernventory);
|
||||
|
||||
// 2.数据
|
||||
JSONArray Arrayobject2 = new JSONArray();
|
||||
|
||||
String[] splitB = custB.split(",");
|
||||
ArrayList<String> bList = new ArrayList<>(Arrays.asList(splitB));
|
||||
String collectB1 = String.join("','", bList);
|
||||
|
||||
String[] splitC = custC.split(",");
|
||||
ArrayList<String> cList = new ArrayList<>(Arrays.asList(splitC));
|
||||
String collectC1 = String.join("','", cList);
|
||||
|
||||
|
||||
String in_cust = custB + "," + custC;
|
||||
String[] splitAll = in_cust.split(",");
|
||||
ArrayList<String> aAndBList = new ArrayList<>(Arrays.asList(splitAll));
|
||||
String collectAll = String.join("','", aAndBList);
|
||||
|
||||
// B库存集合
|
||||
List<JSONObject> custIvtBList = WQL.getWO("TEST0001").addParam("flag", "5")
|
||||
.addParam("customer_name", "('" + collectB1 + "')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// C库存集合
|
||||
List<JSONObject> custIvtCList = WQL.getWO("TEST0001").addParam("flag", "5")
|
||||
.addParam("customer_name", "('" + collectC1 + "')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 其他库存集合
|
||||
List<JSONObject> custIvtOtherList = WQL.getWO("TEST0001").addParam("flag", "6")
|
||||
.addParam("customer_name", "('" + collectAll + "')")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
for (int i = 0; i < storArr.size(); i++) {
|
||||
JSONObject item = storArr.getJSONObject(i);
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("Local", item.getString("stor_name"));
|
||||
|
||||
// B库存
|
||||
List<JSONObject> collectB = custIvtBList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory1", collectB.isEmpty() ? "0" : NumberUtil.round(collectB.get(0).getString("num"), 2) + "");
|
||||
|
||||
// C库存
|
||||
List<JSONObject> collectC = custIvtCList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory2", collectC.isEmpty() ? "0" : NumberUtil.round(collectC.get(0).getString("num"), 2) + "");
|
||||
|
||||
// 其他库存
|
||||
List<JSONObject> collectOthen = custIvtOtherList.stream()
|
||||
.filter(row -> row.getString("stor_id").equals(item.getString("stor_id")))
|
||||
.collect(Collectors.toList());
|
||||
json.put("Customernventory3", collectOthen.isEmpty() ? "0" : NumberUtil.round(collectOthen.get(0).getString("num"), 2) + "");
|
||||
|
||||
Arrayobject2.add(json);
|
||||
}
|
||||
|
||||
// 计算全部
|
||||
JSONObject allCustIvt = new JSONObject();
|
||||
allCustIvt.put("Local", "全部");
|
||||
allCustIvt.put("Customernventory1", NumberUtil.round(custIvtBList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allCustIvt.put("Customernventory2", NumberUtil.round(custIvtCList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
allCustIvt.put("Customernventory3", NumberUtil.round(custIvtOtherList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
// Arrayobject2.add(allCustIvt);
|
||||
|
||||
result.put("Arrayobject2", Arrayobject2);
|
||||
|
||||
/*
|
||||
* 库存变化
|
||||
* 1.表头
|
||||
* {
|
||||
* B库存:10000708 蕉城时代,10000698 江苏时代,10000779 四川时代,10000561 宁德时代
|
||||
* C库存:10000426 比亚迪,2010 海亮股份
|
||||
* 汇总: 所有客户
|
||||
* }
|
||||
* 2.数据
|
||||
*/
|
||||
// 1.表头
|
||||
JSONArray Arrayobject3 = new JSONArray();
|
||||
|
||||
JSONObject changeIvt = new JSONObject();
|
||||
changeIvt.put("Customer1", "B客户");
|
||||
changeIvt.put("Customer2", "C客户");
|
||||
changeIvt.put("Customer3", "汇总");
|
||||
Arrayobject3.add(changeIvt);
|
||||
result.put("Arrayobject3", Arrayobject3);
|
||||
|
||||
// 2.数据
|
||||
JSONArray Arrayobject4 = new JSONArray();
|
||||
|
||||
// 所有昨日入库量客户分组集合
|
||||
List<JSONObject> yesterdayInList = WQL.getWO("TEST0001").addParam("flag", "7")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日出库量客户分组集合
|
||||
List<JSONObject> yesterdayOutList = WQL.getWO("TEST0001").addParam("flag", "8")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量客户分组集合
|
||||
List<JSONObject> monthInList = WQL.getWO("TEST0001").addParam("flag", "9")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月出库量客户分组集合
|
||||
List<JSONObject> monthOutList = WQL.getWO("TEST0001").addParam("flag", "10")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// ---- 昨日入库量 ----
|
||||
JSONObject yesterdayIn = new JSONObject();
|
||||
yesterdayIn.put("Title", "昨日入库量");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList = yesterdayInList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayIn.put("Customerqty1", NumberUtil.round(custBList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList = yesterdayInList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayIn.put("Customerqty2", NumberUtil.round(custCList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
yesterdayIn.put("Customerqty3", NumberUtil.round(yesterdayInList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(yesterdayIn);
|
||||
|
||||
// ---- 昨日出库量 ----
|
||||
JSONObject yesterdayOut = new JSONObject();
|
||||
yesterdayOut.put("Title", "昨日出库量");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList2 = yesterdayOutList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayOut.put("Customerqty1", NumberUtil.round(custBList2.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList2 = yesterdayOutList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
yesterdayOut.put("Customerqty2", NumberUtil.round(custCList2.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
yesterdayOut.put("Customerqty3", NumberUtil.round(yesterdayOutList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
// Arrayobject4.add(yesterdayOut);
|
||||
|
||||
// ---- 当月入库量 ----
|
||||
JSONObject monthdayIn = new JSONObject();
|
||||
monthdayIn.put("Title", "当月入库量");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList3 = monthInList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayIn.put("Customerqty1", NumberUtil.round(custBList3.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList3 = monthInList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayIn.put("Customerqty2", NumberUtil.round(custCList3.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
monthdayIn.put("Customerqty3", NumberUtil.round(monthInList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
Arrayobject4.add(monthdayIn);
|
||||
|
||||
// ---- 当月出库量 ----
|
||||
JSONObject monthdayOut = new JSONObject();
|
||||
monthdayOut.put("Title", "当月出库量");
|
||||
|
||||
// B客户
|
||||
List<JSONObject> custBList4 = monthOutList.stream()
|
||||
.filter(row -> custB.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayOut.put("Customerqty1", NumberUtil.round(custBList4.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// C客户
|
||||
List<JSONObject> custCList4 = monthOutList.stream()
|
||||
.filter(row -> custC.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
monthdayOut.put("Customerqty2", NumberUtil.round(custCList4.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
|
||||
// 汇总
|
||||
monthdayOut.put("Customerqty3", NumberUtil.round(monthOutList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "");
|
||||
// Arrayobject4.add(monthdayOut);
|
||||
|
||||
result.put("Arrayobject4", Arrayobject4);
|
||||
|
||||
/*
|
||||
* 各区域库存变化
|
||||
* 数据
|
||||
* {
|
||||
* B库存:10000708 蕉城时代,10000698 江苏时代,10000779 四川时代,10000561 宁德时代
|
||||
* C库存:10000426 比亚迪,2010 海亮股份
|
||||
* }
|
||||
* {
|
||||
* region_code: A1,A2,A3,A4
|
||||
* }
|
||||
*/
|
||||
JSONArray Arrayobject5 = new JSONArray();
|
||||
|
||||
// 所有昨日入库量区域分组集合
|
||||
List<JSONObject> yesterdayInRegList = WQL.getWO("TEST0001").addParam("flag", "11")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日出库量区域分组集合
|
||||
List<JSONObject> yesterdayOutRegList = WQL.getWO("TEST0001").addParam("flag", "12")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日入库量区域、客户分组集合
|
||||
List<JSONObject> yesterdayCustInRegList = WQL.getWO("TEST0001").addParam("flag", "13")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有昨日出库量区域、客户分组集合
|
||||
List<JSONObject> yesterdayCustOutRegList = WQL.getWO("TEST0001").addParam("flag", "14")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量区域分组集合
|
||||
List<JSONObject> monthInRegList = WQL.getWO("TEST0001").addParam("flag", "15")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月出库量区域分组集合
|
||||
List<JSONObject> monthOutRegList = WQL.getWO("TEST0001").addParam("flag", "16")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月入库量区域、客户分组集合
|
||||
List<JSONObject> monthCustInRegList = WQL.getWO("TEST0001").addParam("flag", "17")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 所有当月出库量区域、客户分组集合
|
||||
List<JSONObject> monthCustOutRegList = WQL.getWO("TEST0001").addParam("flag", "18")
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// ---- 当月入库量 ----
|
||||
JSONObject monthRegIn = monthReg(monthInRegList, "当月入库量");
|
||||
Arrayobject5.add(monthRegIn);
|
||||
|
||||
// ---- 当月出库量 ----
|
||||
JSONObject monthRegOut = monthReg(monthOutRegList, "当月出库量");
|
||||
Arrayobject5.add(monthRegOut);
|
||||
|
||||
// ---- 昨日入库量 ----
|
||||
JSONObject yesterdayInReg = monthReg(yesterdayInRegList, "昨日入库量");
|
||||
Arrayobject5.add(yesterdayInReg);
|
||||
|
||||
// ---- 昨日出库量 ----
|
||||
JSONObject yesterdayOutReg = monthReg(yesterdayOutRegList, "昨日出库量");
|
||||
Arrayobject5.add(yesterdayOutReg);
|
||||
|
||||
// ---- B昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegB = monthRegCust(yesterdayCustOutRegList, "B昨日出库量", custB);
|
||||
Arrayobject5.add(yesterdayCustOutRegB);
|
||||
|
||||
// ---- B昨日入库量 ----
|
||||
JSONObject yesterdayCustInRegB = monthRegCust(yesterdayCustInRegList, "B昨日入库量", custB);
|
||||
Arrayobject5.add(yesterdayCustInRegB);
|
||||
|
||||
// ---- B当月入库量 ----
|
||||
JSONObject monthCustInRegB = monthRegCust(monthCustInRegList, "B当月入库量", custB);
|
||||
Arrayobject5.add(monthCustInRegB);
|
||||
|
||||
// ---- B当月出库量 ----
|
||||
JSONObject monthCustOutRegB = monthRegCust(monthCustOutRegList, "B当月出库量", custB);
|
||||
Arrayobject5.add(monthCustOutRegB);
|
||||
|
||||
// ---- C昨日出库量 ----
|
||||
JSONObject yesterdayCustOutRegC = monthRegCust(yesterdayCustOutRegList, "C昨日出库量", custC);
|
||||
Arrayobject5.add(yesterdayCustOutRegC);
|
||||
|
||||
// ---- C昨日入库量 ----
|
||||
JSONObject yesterdayCustInRegC = monthRegCust(yesterdayCustInRegList, "C昨日入库量", custC);
|
||||
Arrayobject5.add(yesterdayCustInRegC);
|
||||
|
||||
// ---- C当月入库量 ----
|
||||
JSONObject monthCustInRegC = monthRegCust(monthCustInRegList, "C当月入库量", custC);
|
||||
Arrayobject5.add(monthCustInRegC);
|
||||
|
||||
// ---- C当月出库量 ----
|
||||
JSONObject monthCustOutRegC = monthRegCust(monthCustOutRegList, "C当月出库量", custC);
|
||||
Arrayobject5.add(monthCustOutRegC);
|
||||
|
||||
result.put("Arrayobject5", Arrayobject5);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当月区域公共方法
|
||||
*
|
||||
* @param param 、
|
||||
* @param title 、
|
||||
* @return JSONObject
|
||||
*/
|
||||
private JSONObject monthReg(List<JSONObject> param, String title) {
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("Title", title);
|
||||
|
||||
Map<String, List<JSONObject>> paramMap = param.stream()
|
||||
.collect(Collectors.groupingBy(row -> row.getString("region_code")));
|
||||
|
||||
if (paramMap.isEmpty()) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty4", "0");
|
||||
}
|
||||
|
||||
for (String region_code : paramMap.keySet()) {
|
||||
List<JSONObject> list = paramMap.get(region_code);
|
||||
|
||||
String num = NumberUtil.round(list.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "";
|
||||
|
||||
switch (region_code) {
|
||||
case "A1":
|
||||
result.put("Areaqty1", num);
|
||||
break;
|
||||
case "A2":
|
||||
result.put("Areaqty2", num);
|
||||
break;
|
||||
case "A3":
|
||||
result.put("Areaqty3", num);
|
||||
break;
|
||||
case "A4":
|
||||
result.put("Areaqty4", num);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty1"))) {
|
||||
result.put("Areaqty1", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty2"))) {
|
||||
result.put("Areaqty2", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty3"))) {
|
||||
result.put("Areaqty3", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty4"))) {
|
||||
result.put("Areaqty4", "0");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当月区域、客户公共方法
|
||||
*
|
||||
* @param param 、
|
||||
* @param title 、
|
||||
* @param customer 客户 、
|
||||
* @return JSONObject
|
||||
*/
|
||||
private JSONObject monthRegCust(List<JSONObject> param, String title, String customer) {
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("Title", title);
|
||||
|
||||
Map<String, List<JSONObject>> paramMap = param.stream()
|
||||
.collect(Collectors.groupingBy(row -> row.getString("region_code")));
|
||||
|
||||
if (paramMap.isEmpty()) {
|
||||
result.put("Areaqty1", "0");
|
||||
result.put("Areaqty2", "0");
|
||||
result.put("Areaqty3", "0");
|
||||
result.put("Areaqty4", "0");
|
||||
}
|
||||
|
||||
for (String region_code : paramMap.keySet()) {
|
||||
List<JSONObject> list = paramMap.get(region_code);
|
||||
|
||||
List<JSONObject> custList = list.stream()
|
||||
.filter(row -> customer.contains(row.getString("customer_name")))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
String num = NumberUtil.round(custList.stream().map(row -> row.getDoubleValue("num")).reduce(Double::sum).orElse(0.0).toString(), 2) + "";
|
||||
|
||||
|
||||
switch (region_code) {
|
||||
case "A1":
|
||||
result.put("Areaqty1", num);
|
||||
break;
|
||||
case "A2":
|
||||
result.put("Areaqty2", num);
|
||||
break;
|
||||
case "A3":
|
||||
result.put("Areaqty3", num);
|
||||
break;
|
||||
case "A4":
|
||||
result.put("Areaqty4", num);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty1"))) {
|
||||
result.put("Areaqty1", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty2"))) {
|
||||
result.put("Areaqty2", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty3"))) {
|
||||
result.put("Areaqty3", "0");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(result.getString("Areaqty4"))) {
|
||||
result.put("Areaqty4", "0");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,660 @@
|
||||
[交易说明]
|
||||
交易名: 成品日报
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.customer_name TYPEAS f_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
||||
WHERE
|
||||
ivt.canuse_qty > '0'
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||
AND ivt.pcsn = sub.container_name
|
||||
WHERE
|
||||
DATEDIFF( NOW(), sub.date_of_production ) >= '90'
|
||||
AND ivt.canuse_qty > '0'
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||
AND ivt.pcsn = sub.container_name
|
||||
WHERE
|
||||
DATEDIFF( NOW(), sub.date_of_production ) > '60'
|
||||
AND DATEDIFF( NOW(), sub.date_of_production ) <= '90'
|
||||
AND ivt.canuse_qty > '0'
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "4"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||
AND ivt.pcsn = sub.container_name
|
||||
WHERE
|
||||
DATEDIFF( NOW(), sub.date_of_production ) < '90'
|
||||
AND ivt.canuse_qty > '0'
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "5"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||
AND ivt.pcsn = sub.container_name
|
||||
WHERE
|
||||
ivt.canuse_qty > '0'
|
||||
|
||||
OPTION 输入.customer_name <> ""
|
||||
sub.customer_name in 输入.customer_name
|
||||
ENDOPTION
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "6"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( ivt.canuse_qty ) / 1000 AS num,
|
||||
attr.stor_id
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||
AND ivt.pcsn = sub.container_name
|
||||
WHERE
|
||||
ivt.canuse_qty > '0'
|
||||
|
||||
OPTION 输入.customer_name <> ""
|
||||
sub.customer_name not in 输入.customer_name
|
||||
ENDOPTION
|
||||
|
||||
GROUP BY attr.stor_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "7"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "8"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT ( b.confirm_time, 10 ) = DATE_SUB( CURDATE(), INTERVAL 1 DAY )
|
||||
OR LEFT ( confirm_time, 10 ) = CURDATE())
|
||||
AND CONCAT( DATE_SUB( CURDATE(), INTERVAL 1 DAY ), ' 08:00:00' ) <= b.confirm_time
|
||||
AND CONCAT( CURDATE(), ' 08:00:00' ) >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "9"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "10"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH (LEFT ( b.confirm_time, 10 )) = MONTH (CURDATE())
|
||||
AND CONCAT( DATE_FORMAT( NOW(), '%Y-%m-01' ), ' 08:00:00' ) <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "11"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "12"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "13"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "14"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND (LEFT(b.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= b.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= b.confirm_time
|
||||
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND (LEFT(mst.confirm_time,10) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
||||
OR LEFT(confirm_time,10) = CURDATE())
|
||||
AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 08:00:00') <= mst.confirm_time
|
||||
AND CONCAT(CURDATE(), ' 08:00:00') >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "15"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "16"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2)
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "17"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '0'
|
||||
AND b.bill_type = '0001'
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '0'
|
||||
AND mst.bill_type = '0001'
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "18"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM( dis.plan_qty ) / 1000 AS num,
|
||||
LEFT(dis.pcsn,2) AS region_code,
|
||||
sub.customer_name
|
||||
FROM
|
||||
( SELECT
|
||||
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
AND b.bill_type in ('1001','1004')
|
||||
AND b.bill_status = '99'
|
||||
AND b.is_delete = '0'
|
||||
AND MONTH(LEFT(b.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= b.confirm_time
|
||||
AND NOW() >= b.confirm_time
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS a
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.is_delete = '0'
|
||||
AND mst.io_type = '1'
|
||||
AND mst.bill_type in ('1001','1004')
|
||||
AND mst.bill_status = '99'
|
||||
AND MONTH(LEFT(mst.confirm_time,10)) = MONTH(CURDATE())
|
||||
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
|
||||
AND NOW() >= mst.confirm_time
|
||||
|
||||
GROUP BY LEFT(dis.pcsn,2),sub.customer_name
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -792,6 +792,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
|
||||
JSONArray resultJSONArray = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).process().getResultJSONArray(0);
|
||||
|
||||
List<JSONObject> ivtList = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "20").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
@@ -818,15 +820,21 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
if (StrUtil.equals(jsonObject.getString("bill_type"), "1009")) {
|
||||
mp.put("业务类型", "手工出库");
|
||||
}
|
||||
|
||||
String box_weight = ivtList.stream()
|
||||
.filter(row -> row.getString("bill_code").equals(jsonObject.getString("bill_code")))
|
||||
.map(row -> row.getDoubleValue("box_weight"))
|
||||
.reduce(Double::sum).orElse(0.00).toString();
|
||||
|
||||
//计划重量、实际重量、实际毛重、车号、箱数、收货地址(调拨显示到货仓库)、单据状态
|
||||
mp.put("业务日期", jsonObject.getString("biz_date"));
|
||||
mp.put("计划重量", jsonObject.getString("qty"));
|
||||
mp.put("实际重量", jsonObject.getString("plan_qty"));
|
||||
mp.put("实际毛重", jsonObject.getString("box_weight"));
|
||||
mp.put("车号", jsonObject.getString("carno"));
|
||||
mp.put("实际毛重", box_weight);
|
||||
mp.put("车号", jsonObject.getString("order_number"));
|
||||
mp.put("箱数", jsonObject.getString("box_count"));
|
||||
if (StrUtil.equals(jsonObject.getString("bill_type"), "1004")){
|
||||
mp.put("收货地址", jsonObject.getString("stor_name"));
|
||||
mp.put("收货地址", jsonObject.getString("out_stor_name"));
|
||||
}else {
|
||||
mp.put("收货地址", jsonObject.getString("receiptaddress"));
|
||||
}
|
||||
|
||||
@@ -91,13 +91,27 @@
|
||||
cu.cust_name,
|
||||
IFNULL(dtl.vbeln,'') as vbeln,
|
||||
cu.cust_simple_name,
|
||||
dtl.plan_qty
|
||||
a.plan_qty,
|
||||
attr.stor_name AS out_stor_name
|
||||
FROM
|
||||
ST_IVT_IOStorInv ios
|
||||
LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code
|
||||
LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id
|
||||
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = ios.out_stor_id
|
||||
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND sub.bill_code = ios.bill_code
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
SUM(a.assign_qty) AS plan_qty,
|
||||
a.iostorinv_id
|
||||
FROM
|
||||
st_ivt_iostorinvdtl a
|
||||
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
GROUP BY a.iostorinv_id
|
||||
) a ON a.iostorinv_id = ios.iostorinv_id
|
||||
WHERE
|
||||
ios.io_type = '1'
|
||||
and ios.is_delete='0'
|
||||
@@ -169,9 +183,10 @@
|
||||
SELECT
|
||||
MAX(ios.bill_code) AS bill_code,
|
||||
MAX(ios.stor_name) AS stor_name,
|
||||
MAX(attr.stor_name) AS out_stor_name,
|
||||
MAX(ios.bill_type) AS bill_type,
|
||||
MAX(ios.biz_date) AS biz_date,
|
||||
sum(dis.real_qty) AS qty,
|
||||
MAX(ios.total_qty) AS qty,
|
||||
MAX(cu.cust_code) AS cust_code,
|
||||
MAX(cu.cust_name) AS cust_name,
|
||||
MAX(dtl.vbeln) AS vbeln,
|
||||
@@ -179,9 +194,9 @@
|
||||
CONCAT( sub.thickness_request, '*', sub.width_standard ) AS spec,
|
||||
MAX(tr.cust_name) AS wl_cust_name,
|
||||
MAX(ios.estimated_freight) AS estimated_freight,
|
||||
MAX(dtl.plan_qty) AS plan_qty,
|
||||
MAX(a.plan_qty) AS plan_qty,
|
||||
MAX(sub.box_weight) AS box_weight,
|
||||
MAX(ios.carno) AS carno,
|
||||
MAX(ios.order_number) AS order_number,
|
||||
MAX(ios.receiptaddress) AS receiptaddress,
|
||||
MAX( sd.label ) AS bill_status,
|
||||
count(DISTINCT(dis.box_no)) as box_count
|
||||
@@ -191,8 +206,21 @@
|
||||
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = dtl.iostorinv_id
|
||||
LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code
|
||||
LEFT JOIN md_cs_transportationbase tr ON ios.trans_code = tr.cust_code
|
||||
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = ios.out_stor_id
|
||||
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.package_box_sn = dis.box_no AND dis.pcsn = sub.container_name AND dis.iostorinv_id = sub.bill_id
|
||||
LEFT JOIN sys_dict sd on ios.bill_status = sd.`value` and sd.`code` = 'io_bill_status'
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
SUM(a.assign_qty) AS plan_qty,
|
||||
a.iostorinv_id
|
||||
FROM
|
||||
st_ivt_iostorinvdtl a
|
||||
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
GROUP BY a.iostorinv_id
|
||||
) a ON a.iostorinv_id = ios.iostorinv_id
|
||||
WHERE
|
||||
ios.io_type = '1'
|
||||
AND ios.is_delete = '0'
|
||||
@@ -1089,5 +1117,33 @@
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "20"
|
||||
QUERY
|
||||
SELECT
|
||||
SUM(sub.box_weight) AS box_weight,
|
||||
MAX(ios.bill_code) AS bill_code
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
a.box_no,
|
||||
MAX(b.iostorinv_id) AS iostorinv_id,
|
||||
MAX(a.pcsn) AS pcsn
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
|
||||
GROUP BY a.box_no
|
||||
) dis
|
||||
LEFT JOIN st_ivt_iostorinv ios ON dis.iostorinv_id = ios.iostorinv_id
|
||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = dis.box_no AND dis.pcsn = sub.container_name
|
||||
WHERE
|
||||
ios.io_type = '1'
|
||||
and ios.is_delete='0'
|
||||
GROUP BY ios.bill_code
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -298,11 +298,11 @@
|
||||
<el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" label="业务类型" />
|
||||
<el-table-column show-overflow-tooltip width="100" prop="biz_date" label="业务日期" />
|
||||
<el-table-column show-overflow-tooltip label="明细数" align="center" prop="detail_count" width="60" />
|
||||
<el-table-column show-overflow-tooltip label="计划重量" align="center" prop="total_qty" width="100" />
|
||||
<el-table-column show-overflow-tooltip label="实际重量" align="center" prop="plan_qty" width="100" />
|
||||
<el-table-column show-overflow-tooltip label="计划重量" align="center" prop="total_qty" width="100" :formatter="crud.formatNum3" />
|
||||
<el-table-column show-overflow-tooltip label="实际重量" align="center" prop="plan_qty" width="100" :formatter="crud.formatNum3" />
|
||||
<el-table-column show-overflow-tooltip label="收货地址" align="center" prop="total_qty" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.bill_type === '1004' ? scope.row.stor_name : scope.row.receiptaddress }}
|
||||
{{ scope.row.bill_type === '1004' ? scope.row.out_stor_name : scope.row.receiptaddress }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip label="客户" align="center" prop="cust_simple_name" width="100" />
|
||||
|
||||
Reference in New Issue
Block a user