feat: 成品入库查询报表、导出
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
package org.nl.b_lms.storage_manage.ios.service.iostorInv;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -41,5 +47,20 @@ public interface IStIvtIostorinvdisService extends IService<StIvtIostorinvdis> {
|
||||
* @param task_id: 任务标识
|
||||
*/
|
||||
void confirmDisIn(String task_id);
|
||||
|
||||
/**
|
||||
* 成品入库分页查询
|
||||
* @param paramMap 参数
|
||||
* @param page 分页数据
|
||||
* @return
|
||||
*/
|
||||
IPage<InBillPageVo> getInBillPage(InBillPageParam paramMap, PageQuery page);
|
||||
|
||||
/**
|
||||
* 成品入库查询 - 不分页,从写方法,sql与 {@link IStIvtIostorinvdisService#getInBillPage(InBillPageParam, PageQuery)} 一样
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
List<InBillPageVo> getInBillDatas(InBillPageParam paramMap);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,11 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -46,4 +50,23 @@ public interface StIvtIostorinvdisMapper extends BaseMapper<StIvtIostorinvdis> {
|
||||
*/
|
||||
List<JSONObject> getNotCreateDis(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 查询成品入库分页数据
|
||||
* @param pages
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
IPage<InBillPageVo> selectPageLeftJoin(IPage<InBillPageVo> pages, InBillPageParam paramMap);
|
||||
|
||||
/**
|
||||
* 查询成品入库全部分页数据
|
||||
* @param pages
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
IPage<InBillPageVo> selectPageAllLeftJoin(IPage<InBillPageVo> pages, InBillPageParam paramMap);
|
||||
|
||||
List<InBillPageVo> getInBillData(@Param("paramMap") InBillPageParam paramMap);
|
||||
|
||||
List<InBillPageVo> getInBillAllData(@Param("paramMap") InBillPageParam paramMap);
|
||||
}
|
||||
|
||||
@@ -127,7 +127,674 @@
|
||||
</if>
|
||||
|
||||
</select>
|
||||
<select id="selectPageLeftJoin" resultType="org.nl.wms.stat.service.vo.InBillPageVo">
|
||||
SELECT
|
||||
mst.stor_name,
|
||||
dis.sect_name,
|
||||
dis.struct_code,
|
||||
dis.struct_name,
|
||||
mst.bill_type,
|
||||
dis.box_no,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mb.material_name AS box_name,
|
||||
dis.pcsn,
|
||||
sub.sap_pcsn,
|
||||
sub.net_weight,
|
||||
dis.qty_unit_name,
|
||||
sub.customer_name,
|
||||
cust.sales_owner,
|
||||
cust.cust_name,
|
||||
sub.quanlity_in_box,
|
||||
sub.customer_description,
|
||||
sub.sale_order_name,
|
||||
mst.input_time,
|
||||
mst.confirm_time,
|
||||
sub.date_of_production,
|
||||
mst.input_optname,
|
||||
sub.width,
|
||||
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS
|
||||
paper_type,
|
||||
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then
|
||||
plan.FRP_material end
|
||||
AS paper_code,
|
||||
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,
|
||||
sub.box_weight,
|
||||
sub.length,
|
||||
sub.thickness_request,
|
||||
sub.width_standard,
|
||||
sub.mass_per_unit_area,
|
||||
sub.demand_limit,
|
||||
sub.standard_limit,
|
||||
sub.actual_value,
|
||||
(case when plan.parent_container_name <![CDATA[ <> ]]> '' then plan.parent_container_name else
|
||||
plan.restruct_container_name end) AS parent_container_name,
|
||||
mst.remark,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time, '%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CONCAT( sub.box_length,'*',sub.box_width,'*',sub.box_high) AS box_size,
|
||||
CASE
|
||||
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
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'
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.pcsn}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
UNION
|
||||
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'
|
||||
<if test="paramMap.new_bill_type != null and paramMap.new_bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.new_bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.new_bill_type}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_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 md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
LEFT JOIN (SELECT
|
||||
container_name,
|
||||
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
|
||||
MAX(paper_tube_material) AS paper_tube_material,
|
||||
MAX(paper_tube_description) AS paper_tube_description,
|
||||
MAX(paper_tube_model) AS paper_tube_model,
|
||||
MAX(FRP_material) AS FRP_material,
|
||||
MAX(parent_container_name) AS parent_container_name,
|
||||
MAX(restruct_container_name) AS restruct_container_name,
|
||||
MAX(FRP_description) AS FRP_description,
|
||||
MAX(FRP_model) AS FRP_model
|
||||
FROM
|
||||
pdm_bi_slittingproductionplan plan1
|
||||
WHERE
|
||||
plan1.is_delete = '0'
|
||||
GROUP BY container_name) plan ON plan.container_name = sub.container_name
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_code = sub.box_type
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
<if test="paramMap.stor_id != null and !paramMap.stor_id.isEmpty()">
|
||||
AND mst.stor_id IN
|
||||
<foreach collection="paramMap.stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '0'">
|
||||
AND sect.sect_type_attr <![CDATA[ <> ]]> '09'
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '1'">
|
||||
AND sect.sect_type_attr = '09'
|
||||
</if>
|
||||
<if test="paramMap.product_area != null and !paramMap.product_area.isEmpty()">
|
||||
AND LEFT(sub.container_name,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR SUBSTRING(sub.container_name,2,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.thickness_request != null and paramMap.thickness_request != ''">
|
||||
AND sub.thickness_request = #{paramMap.thickness_request}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != '' and paramMap.bill_type == '0001'">
|
||||
AND IFNULL(sub.sub_type,'') = ''
|
||||
</if>
|
||||
<if test="paramMap.sale_order_name != null and paramMap.sale_order_name != ''">
|
||||
AND sub.sale_order_name = #{paramMap.sale_order_name}
|
||||
</if>
|
||||
<if test="paramMap.sap_pcsn != null and paramMap.sap_pcsn != ''">
|
||||
AND sub.sap_pcsn = #{paramMap.sap_pcsn}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != '' and paramMap.bill_type == '0007'">
|
||||
AND sub.sub_type = '2'
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
<if test="paramMap.with != null and paramMap.with != ''">
|
||||
AND CONCAT( sub.thickness_request,'*',sub.width) = #{paramMap.with}
|
||||
</if>
|
||||
<if test="paramMap.classes == '1'">
|
||||
AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59'
|
||||
</if>
|
||||
<if test="paramMap.classes == '2'">
|
||||
AND (DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59')
|
||||
</if>
|
||||
ORDER BY mst.confirm_time DESC, dis.box_no
|
||||
</select>
|
||||
<select id="selectPageAllLeftJoin" resultType="org.nl.wms.stat.service.vo.InBillPageVo">
|
||||
SELECT
|
||||
MAX(mst.stor_name) AS stor_name,
|
||||
MAX(dis.sect_name) AS sect_name,
|
||||
MAX(dis.struct_code) AS struct_code,
|
||||
MAX(dis.struct_name) AS struct_name,
|
||||
MAX(mst.bill_type) AS bill_type,
|
||||
MAX(mater.material_code) AS material_code,
|
||||
MAX(mater.material_name) AS material_name,
|
||||
MAX(dis.qty_unit_name) AS qty_unit_name,
|
||||
MAX(sub.customer_description) AS customer_description,
|
||||
MAX(mst.input_optname) AS input_optname,
|
||||
MAX(mst.remark) AS remark,
|
||||
mst.iostorinv_id,
|
||||
dis.box_no,
|
||||
MAX(cust.sales_owner) AS sales_owner,
|
||||
MAX(cust.cust_name) AS cust_name,
|
||||
MAX(sub.customer_name) AS customer_name,
|
||||
MAX(sub.sale_order_name) AS sale_order_name,
|
||||
MAX(sub.date_of_production) AS date_of_production,
|
||||
SUM(sub.net_weight) AS net_weight,
|
||||
MAX(mst.input_time) AS input_time,
|
||||
MAX(mst.confirm_time) AS confirm_time,
|
||||
CONCAT_WS('',MAX(sub.thickness_request),'*',MAX(sub.width)) AS specification,
|
||||
CONCAT( MAX(sub.box_length),'*',MAX(sub.box_width),'*',MAX(sub.box_high)) AS box_size,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time, '%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CASE
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
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'
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.pcsn}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_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 md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
<if test="paramMap.stor_id != null and !paramMap.stor_id.isEmpty()">
|
||||
AND mst.stor_id IN
|
||||
<foreach collection="paramMap.stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '0'">
|
||||
AND sect.sect_type_attr <![CDATA[ <> ]]> '09'
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '1'">
|
||||
AND sect.sect_type_attr = '09'
|
||||
</if>
|
||||
<if test="paramMap.product_area != null and !paramMap.product_area.isEmpty()">
|
||||
AND LEFT(sub.container_name,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR SUBSTRING(sub.container_name,2,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.thickness_request != null and paramMap.thickness_request != ''">
|
||||
AND sub.thickness_request = #{paramMap.thickness_request}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND mst.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.sale_order_name != null and paramMap.sale_order_name != ''">
|
||||
AND sub.sale_order_name = #{paramMap.sale_order_name}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
<if test="paramMap.with != null and paramMap.with != ''">
|
||||
AND CONCAT( sub.thickness_request,'*',sub.width) = #{paramMap.with}
|
||||
</if>
|
||||
<if test="paramMap.classes == '1'">
|
||||
AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59'
|
||||
</if>
|
||||
<if test="paramMap.classes == '2'">
|
||||
AND (DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'20:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59')
|
||||
</if>
|
||||
GROUP BY
|
||||
mst.iostorinv_id,
|
||||
dis.box_no
|
||||
</select>
|
||||
<select id="getInBillData" resultType="org.nl.wms.stat.service.vo.InBillPageVo">
|
||||
SELECT
|
||||
mst.stor_name,
|
||||
dis.sect_name,
|
||||
dis.struct_code,
|
||||
dis.struct_name,
|
||||
mst.bill_type,
|
||||
dis.box_no,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mb.material_name AS box_name,
|
||||
dis.pcsn,
|
||||
sub.sap_pcsn,
|
||||
sub.net_weight,
|
||||
dis.qty_unit_name,
|
||||
sub.customer_name,
|
||||
cust.sales_owner,
|
||||
cust.cust_name,
|
||||
sub.quanlity_in_box,
|
||||
sub.customer_description,
|
||||
sub.sale_order_name,
|
||||
mst.input_time,
|
||||
mst.confirm_time,
|
||||
sub.date_of_production,
|
||||
mst.input_optname,
|
||||
sub.width,
|
||||
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS
|
||||
paper_type,
|
||||
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then
|
||||
plan.FRP_material end
|
||||
AS paper_code,
|
||||
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,
|
||||
sub.box_weight,
|
||||
sub.length,
|
||||
sub.thickness_request,
|
||||
sub.width_standard,
|
||||
sub.mass_per_unit_area,
|
||||
sub.demand_limit,
|
||||
sub.standard_limit,
|
||||
sub.actual_value,
|
||||
(case when plan.parent_container_name <![CDATA[ <> ]]> '' then plan.parent_container_name else
|
||||
plan.restruct_container_name end) AS parent_container_name,
|
||||
mst.remark,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time, '%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CONCAT( sub.box_length,'*',sub.box_width,'*',sub.box_high) AS box_size,
|
||||
CASE
|
||||
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
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'
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.pcsn}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
UNION
|
||||
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'
|
||||
<if test="paramMap.new_bill_type != null and paramMap.new_bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.new_bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.new_bill_type}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_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 md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
LEFT JOIN (SELECT
|
||||
container_name,
|
||||
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
|
||||
MAX(paper_tube_material) AS paper_tube_material,
|
||||
MAX(paper_tube_description) AS paper_tube_description,
|
||||
MAX(paper_tube_model) AS paper_tube_model,
|
||||
MAX(FRP_material) AS FRP_material,
|
||||
MAX(parent_container_name) AS parent_container_name,
|
||||
MAX(restruct_container_name) AS restruct_container_name,
|
||||
MAX(FRP_description) AS FRP_description,
|
||||
MAX(FRP_model) AS FRP_model
|
||||
FROM
|
||||
pdm_bi_slittingproductionplan plan1
|
||||
WHERE
|
||||
plan1.is_delete = '0'
|
||||
GROUP BY container_name) plan ON plan.container_name = sub.container_name
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_code = sub.box_type
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
<if test="paramMap.stor_id != null and !paramMap.stor_id.isEmpty()">
|
||||
AND mst.stor_id IN
|
||||
<foreach collection="paramMap.stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '0'">
|
||||
AND sect.sect_type_attr <![CDATA[ <> ]]> '09'
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '1'">
|
||||
AND sect.sect_type_attr = '09'
|
||||
</if>
|
||||
<if test="paramMap.product_area != null and !paramMap.product_area.isEmpty()">
|
||||
AND LEFT(sub.container_name,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR SUBSTRING(sub.container_name,2,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.thickness_request != null and paramMap.thickness_request != ''">
|
||||
AND sub.thickness_request = #{paramMap.thickness_request}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != '' and paramMap.bill_type == '0001'">
|
||||
AND IFNULL(sub.sub_type,'') = ''
|
||||
</if>
|
||||
<if test="paramMap.sale_order_name != null and paramMap.sale_order_name != ''">
|
||||
AND sub.sale_order_name = #{paramMap.sale_order_name}
|
||||
</if>
|
||||
<if test="paramMap.sap_pcsn != null and paramMap.sap_pcsn != ''">
|
||||
AND sub.sap_pcsn = #{paramMap.sap_pcsn}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != '' and paramMap.bill_type == '0007'">
|
||||
AND sub.sub_type = '2'
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
<if test="paramMap.with != null and paramMap.with != ''">
|
||||
AND CONCAT( sub.thickness_request,'*',sub.width) = #{paramMap.with}
|
||||
</if>
|
||||
<if test="paramMap.classes == '1'">
|
||||
AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59'
|
||||
</if>
|
||||
<if test="paramMap.classes == '2'">
|
||||
AND (DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59')
|
||||
</if>
|
||||
ORDER BY mst.confirm_time DESC, dis.box_no
|
||||
</select>
|
||||
<select id="getInBillAllData" resultType="org.nl.wms.stat.service.vo.InBillPageVo">
|
||||
SELECT
|
||||
MAX(mst.stor_name) AS stor_name,
|
||||
MAX(dis.sect_name) AS sect_name,
|
||||
MAX(dis.struct_code) AS struct_code,
|
||||
MAX(dis.struct_name) AS struct_name,
|
||||
MAX(mst.bill_type) AS bill_type,
|
||||
MAX(mater.material_code) AS material_code,
|
||||
MAX(mater.material_name) AS material_name,
|
||||
MAX(dis.qty_unit_name) AS qty_unit_name,
|
||||
MAX(sub.customer_description) AS customer_description,
|
||||
MAX(mst.input_optname) AS input_optname,
|
||||
MAX(mst.remark) AS remark,
|
||||
mst.iostorinv_id,
|
||||
dis.box_no,
|
||||
MAX(cust.sales_owner) AS sales_owner,
|
||||
MAX(cust.cust_name) AS cust_name,
|
||||
MAX(sub.customer_name) AS customer_name,
|
||||
MAX(sub.sale_order_name) AS sale_order_name,
|
||||
MAX(sub.date_of_production) AS date_of_production,
|
||||
SUM(sub.net_weight) AS net_weight,
|
||||
MAX(mst.input_time) AS input_time,
|
||||
MAX(mst.confirm_time) AS confirm_time,
|
||||
CONCAT_WS('',MAX(sub.thickness_request),'*',MAX(sub.width)) AS specification,
|
||||
CONCAT( MAX(sub.box_length),'*',MAX(sub.box_width),'*',MAX(sub.box_high)) AS box_size,
|
||||
(case when DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time, '%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59' then '白班'
|
||||
when ((
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '20:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
)) then '晚班' end) AS classes,
|
||||
CASE
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '08:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
THEN mst.confirm_time
|
||||
WHEN DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]> '00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59'
|
||||
THEN DATE_SUB(mst.confirm_time,INTERVAL 1 day)
|
||||
END AS confirm_time_class
|
||||
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'
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND b.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||
AND a.pcsn = #{paramMap.pcsn}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND b.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND b.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
AND b.bill_status = '99'
|
||||
GROUP BY
|
||||
pcsn
|
||||
) AS c
|
||||
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
|
||||
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_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 md_cs_customerbase cust ON cust.cust_code = sub.customer_name
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
AND mst.is_delete = '0'
|
||||
AND mst.bill_status = '99'
|
||||
<if test="paramMap.stor_id != null and !paramMap.stor_id.isEmpty()">
|
||||
AND mst.stor_id IN
|
||||
<foreach collection="paramMap.stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '0'">
|
||||
AND sect.sect_type_attr <![CDATA[ <> ]]> '09'
|
||||
</if>
|
||||
<if test="paramMap.is_virtual == '1'">
|
||||
AND sect.sect_type_attr = '09'
|
||||
</if>
|
||||
<if test="paramMap.product_area != null and !paramMap.product_area.isEmpty()">
|
||||
AND LEFT(sub.container_name,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
OR SUBSTRING(sub.container_name,2,2) IN
|
||||
<foreach collection="paramMap.product_area" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.thickness_request != null and paramMap.thickness_request != ''">
|
||||
AND sub.thickness_request = #{paramMap.thickness_request}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND mst.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.sale_order_name != null and paramMap.sale_order_name != ''">
|
||||
AND sub.sale_order_name = #{paramMap.sale_order_name}
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst.confirm_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
<if test="paramMap.with != null and paramMap.with != ''">
|
||||
AND CONCAT( sub.thickness_request,'*',sub.width) = #{paramMap.with}
|
||||
</if>
|
||||
<if test="paramMap.classes == '1'">
|
||||
AND DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'08:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '19:59:59'
|
||||
</if>
|
||||
<if test="paramMap.classes == '2'">
|
||||
AND (DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'20:00:00' AND DATE_FORMAT(
|
||||
mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '23:59:59'
|
||||
OR
|
||||
DATE_FORMAT( mst.confirm_time, '%H:%i:%s' ) <![CDATA[ >= ]]>'00:00:00' AND DATE_FORMAT( mst.confirm_time,
|
||||
'%H:%i:%s' ) <![CDATA[ <= ]]> '07:59:59')
|
||||
</if>
|
||||
GROUP BY
|
||||
mst.iostorinv_id,
|
||||
dis.box_no
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package org.nl.b_lms.storage_manage.ios.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService;
|
||||
@@ -12,8 +16,11 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlServi
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvdisMapper;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -22,6 +29,7 @@ import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -45,6 +53,8 @@ public class StIvtIostorinvdisServiceImpl extends ServiceImpl<StIvtIostorinvdisM
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvService iStIvtIostorinvService;
|
||||
@Autowired
|
||||
private StIvtIostorinvdisMapper stIvtIostorinvdisMapper;
|
||||
|
||||
@Override
|
||||
public void insertDis(Long iostorinv_id, HashMap<String, ArrayList<JSONObject>> disDaoMap) {
|
||||
@@ -148,4 +158,60 @@ public class StIvtIostorinvdisServiceImpl extends ServiceImpl<StIvtIostorinvdisM
|
||||
// 更新主表
|
||||
SpringContextHolder.getBean(StIvtIostorinvServiceImpl.class).updateMstStatus(disDaoList.get(0).getIostorinv_id());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<InBillPageVo> getInBillPage(InBillPageParam paramMap, PageQuery page) {
|
||||
String begin_time = paramMap.getBegin_time();
|
||||
String end_time = paramMap.getEnd_time();
|
||||
if (ObjectUtil.isNotEmpty(paramMap.getBill_type())) {
|
||||
paramMap.setNew_bill_type("0001".equals(paramMap.getBill_type()) ? "0007" : "-1");
|
||||
}
|
||||
// 处理时间
|
||||
if (ObjectUtil.isNotEmpty(begin_time) && ObjectUtil.isNotEmpty(end_time)) {
|
||||
String begin_time_today = begin_time.substring(0, 10);
|
||||
String end_time_today = end_time.substring(0, 10);
|
||||
// 开始时间
|
||||
String today_begin_time = begin_time_today + " 08:00:00";
|
||||
// 结束时间:19:59:59
|
||||
DateTime parse = DateUtil.parse(end_time_today);
|
||||
String substring = DateUtil.offsetDay(parse, 1).toString().substring(0, 10);
|
||||
String today_end_time = substring + " 07:59:59";
|
||||
paramMap.setBegin_time(today_begin_time);
|
||||
paramMap.setEnd_time(today_end_time);
|
||||
}
|
||||
IPage<InBillPageVo> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
if ("0".equals(paramMap.getIs_all())) {
|
||||
pages = stIvtIostorinvdisMapper.selectPageLeftJoin(pages, paramMap);
|
||||
} else {
|
||||
pages = stIvtIostorinvdisMapper.selectPageAllLeftJoin(pages, paramMap);
|
||||
}
|
||||
return pages;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InBillPageVo> getInBillDatas(InBillPageParam paramMap) {
|
||||
String begin_time = paramMap.getBegin_time();
|
||||
String end_time = paramMap.getEnd_time();
|
||||
if (ObjectUtil.isNotEmpty(paramMap.getBill_type())) {
|
||||
paramMap.setNew_bill_type("0001".equals(paramMap.getBill_type()) ? "0007" : "-1");
|
||||
}
|
||||
// 处理时间
|
||||
if (ObjectUtil.isNotEmpty(begin_time) && ObjectUtil.isNotEmpty(end_time)) {
|
||||
String begin_time_today = begin_time.substring(0, 10);
|
||||
String end_time_today = end_time.substring(0, 10);
|
||||
// 开始时间
|
||||
String today_begin_time = begin_time_today + " 08:00:00";
|
||||
// 结束时间:19:59:59
|
||||
DateTime parse = DateUtil.parse(end_time_today);
|
||||
String substring = DateUtil.offsetDay(parse, 1).toString().substring(0, 10);
|
||||
String today_end_time = substring + " 07:59:59";
|
||||
paramMap.setBegin_time(today_begin_time);
|
||||
paramMap.setEnd_time(today_end_time);
|
||||
}
|
||||
if ("0".equals(paramMap.getIs_all())) {
|
||||
return stIvtIostorinvdisMapper.getInBillData(paramMap);
|
||||
} else {
|
||||
return stIvtIostorinvdisMapper.getInBillAllData(paramMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,11 @@ package org.nl.wms.stat.rest;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.stat.service.InBillQueryService;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -36,11 +39,18 @@ public class InBillQueryController {
|
||||
return new ResponseEntity<>(inBillQueryService.queryAll(whereJson, page, product_area), HttpStatus.OK);
|
||||
}
|
||||
|
||||
// @GetMapping(value = "/query2")
|
||||
// @Log("查询")
|
||||
//
|
||||
// public ResponseEntity<Object> query2(@RequestParam Map whereJson, Pageable page, String[] product_area, String[] stor_id) {
|
||||
// return new ResponseEntity<>(inBillQueryService.queryAll2(whereJson, page, product_area, stor_id), HttpStatus.OK);
|
||||
// }
|
||||
|
||||
// 已修改
|
||||
@GetMapping(value = "/query2")
|
||||
@Log("查询")
|
||||
|
||||
public ResponseEntity<Object> query2(@RequestParam Map whereJson, Pageable page, String[] product_area, String[] stor_id) {
|
||||
return new ResponseEntity<>(inBillQueryService.queryAll2(whereJson, page, product_area, stor_id), HttpStatus.OK);
|
||||
public ResponseEntity<Object> query2(InBillPageParam whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(TableDataInfo.build(inBillQueryService.getPage2(whereJson, page)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@@ -74,10 +84,15 @@ public class InBillQueryController {
|
||||
inBillQueryService.download(map, response, product_area);
|
||||
}
|
||||
|
||||
@Log("导出数据2")
|
||||
// @Log("导出数据2")
|
||||
// @GetMapping(value = "/download2")
|
||||
// public void download2(@RequestParam Map map, HttpServletResponse response, String[] product_area,String[] stor_id) throws IOException {
|
||||
// inBillQueryService.download2(map, response, product_area,stor_id);
|
||||
// }
|
||||
|
||||
@GetMapping(value = "/download2")
|
||||
public void download2(@RequestParam Map map, HttpServletResponse response, String[] product_area,String[] stor_id) throws IOException {
|
||||
inBillQueryService.download2(map, response, product_area,stor_id);
|
||||
@Log("导出成品入库数据")
|
||||
public void downloadInBillTable(HttpServletResponse response, InBillPageParam whereJson, PageQuery page) throws IOException {
|
||||
inBillQueryService.downloadInBillTable(response, whereJson, page);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package org.nl.wms.stat.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.sch.service.dto.PointDto;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -59,4 +63,14 @@ public interface InBillQueryService {
|
||||
void download(Map map, HttpServletResponse response, String[] product_area) throws IOException;
|
||||
|
||||
void download2(Map map, HttpServletResponse response, String[] product_area,String[] stor_id) throws IOException;
|
||||
}
|
||||
|
||||
IPage<InBillPageVo> getPage2(InBillPageParam whereJson, PageQuery page);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param whereJson
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
void downloadInBillTable(HttpServletResponse response, InBillPageParam whereJson, PageQuery page) throws IOException;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.nl.wms.stat.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分页参数
|
||||
* @Author: lyd
|
||||
* @Date: 2025/6/3
|
||||
*/
|
||||
@Data
|
||||
public class InBillPageParam implements Serializable {
|
||||
private List<String> stor_id;
|
||||
private List<String> product_area;
|
||||
private String bill_type;
|
||||
private String new_bill_type;
|
||||
private String begin_time;
|
||||
private String end_time;
|
||||
private String with;
|
||||
private String thickness_request;
|
||||
private String pcsn;
|
||||
private String sap_pcsn;
|
||||
private String sale_order_name;
|
||||
private String is_virtual;
|
||||
private String classes;
|
||||
private String is_all;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package org.nl.wms.stat.service.enums;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 业务类型枚举
|
||||
* @Author: lyd
|
||||
* @Date: 2025/6/4
|
||||
*/
|
||||
public enum BillTypeEnum {
|
||||
PRODUCTION_IN("0001", "生产入库"),
|
||||
RETURN_IN("0002", "退货入库"),
|
||||
SCRAP_IN("0003", "报废入库"),
|
||||
TRANSFER_IN("0004", "调拨入库"),
|
||||
UNPACKING_IN("0005", "拆箱入库"),
|
||||
RECHECK_IN("0006", "返检入库"),
|
||||
TRIMMING_IN("0007", "改切入库"),
|
||||
MANUAL_IN("0009", "手工入库");
|
||||
|
||||
private final String code;
|
||||
private final String name;
|
||||
|
||||
/**
|
||||
* 静态映射表用于快速查找
|
||||
*/
|
||||
private static final Map<String, BillTypeEnum> CODE_MAP = new HashMap<>();
|
||||
|
||||
static {
|
||||
// 初始化时将所有枚举值放入映射表
|
||||
for (BillTypeEnum type : values()) {
|
||||
CODE_MAP.put(type.code, type);
|
||||
}
|
||||
}
|
||||
|
||||
BillTypeEnum(String code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据code获取对应的业务类型名称
|
||||
* @param code 类型编码
|
||||
* @return 对应的业务类型名称,如果未找到返回null
|
||||
*/
|
||||
public static String getNameByCode(String code) {
|
||||
BillTypeEnum type = CODE_MAP.get(code);
|
||||
return type != null ? type.getName() : "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据code获取完整的枚举实例
|
||||
* @param code 类型编码
|
||||
* @return 对应的枚举实例,如果未找到返回null
|
||||
*/
|
||||
public static BillTypeEnum getByCode(String code) {
|
||||
return CODE_MAP.get(code);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,8 +8,10 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.FileUtil;
|
||||
@@ -18,10 +20,14 @@ import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.sch.service.dto.PointDto;
|
||||
import org.nl.wms.stat.service.InBillQueryService;
|
||||
import org.nl.wms.stat.service.dto.InBillPageParam;
|
||||
import org.nl.wms.stat.service.enums.BillTypeEnum;
|
||||
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@@ -35,11 +41,11 @@ import java.util.Map;
|
||||
* @date 2023-04-07
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class InBillQueryServiceImpl implements InBillQueryService {
|
||||
|
||||
|
||||
@Resource
|
||||
private IStIvtIostorinvdisService iostorinvdisService;
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page, String[] product_area) {
|
||||
String stor_id = MapUtil.getStr(whereJson, "stor_id");
|
||||
@@ -179,6 +185,11 @@ public class InBillQueryServiceImpl implements InBillQueryService {
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<InBillPageVo> getPage2(InBillPageParam whereJson, PageQuery page) {
|
||||
return iostorinvdisService.getInBillPage(whereJson, page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PointDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("sch_base_point");
|
||||
@@ -545,4 +556,102 @@ public class InBillQueryServiceImpl implements InBillQueryService {
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void downloadInBillTable(HttpServletResponse response, InBillPageParam whereJson, PageQuery page) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<InBillPageVo> inBillPageVos = iostorinvdisService.getInBillDatas(whereJson);
|
||||
if ("0".equals(whereJson.getIs_all())) {
|
||||
for (int i = 0; i < inBillPageVos.size(); i++) {
|
||||
InBillPageVo billPageVo = inBillPageVos.get(i);
|
||||
Map<String, Object> mp = new LinkedHashMap<>();
|
||||
mp.put("日期", (billPageVo.getConfirm_time_class().substring(0, 10)).replace("-", "/"));
|
||||
mp.put("班次", billPageVo.getClasses());
|
||||
if (ObjectUtil.isEmpty(billPageVo.getSale_order_name())) {
|
||||
throw new BadRequestException("子卷" + billPageVo.getPcsn() + "销售订单为空!");
|
||||
}
|
||||
try {
|
||||
mp.put("销售订单", billPageVo.getSale_order_name().substring(0, billPageVo.getSale_order_name().indexOf("-")));
|
||||
mp.put("行号", billPageVo.getSale_order_name().substring(billPageVo.getSale_order_name().indexOf("-") + 1, billPageVo.getSale_order_name().length()));
|
||||
} catch (Exception e) {
|
||||
mp.put("销售订单", billPageVo.getSale_order_name());
|
||||
mp.put("行号", "");
|
||||
}
|
||||
// 业务类型
|
||||
String bill_type1 = billPageVo.getBill_type();
|
||||
mp.put("业务类型", BillTypeEnum.getNameByCode(bill_type1));
|
||||
mp.put("客户编码", billPageVo.getCustomer_name());
|
||||
mp.put("客户名称", billPageVo.getCust_name());
|
||||
mp.put("业务员", billPageVo.getSales_owner());
|
||||
mp.put("规格", billPageVo.getThickness_request());
|
||||
mp.put("尺寸(mm)(客户要求幅宽)", String.format("%.0f", Double.parseDouble(billPageVo.getWidth_standard())));
|
||||
mp.put("实际尺寸(mm)(实际幅宽)", String.format("%.0f", Double.parseDouble(billPageVo.getWidth())));
|
||||
String box_name = billPageVo.getBox_name();
|
||||
if (StrUtil.isNotEmpty(box_name)) {
|
||||
String[] s = box_name.split("木箱");
|
||||
String s1 = s[1];
|
||||
String[] split = s1.split("\\|");
|
||||
mp.put("木箱规格/尺寸", split[1] + "*" + split[2]);
|
||||
} else {
|
||||
mp.put("木箱规格/尺寸", "");
|
||||
}
|
||||
mp.put("毛重合计", NumberUtil.round(StrUtil.isEmpty(billPageVo.getBox_weight()) ? "0" : billPageVo.getBox_weight(), 1));
|
||||
mp.put("小卷号", billPageVo.getPcsn());
|
||||
mp.put("sap批次号", billPageVo.getSap_pcsn());
|
||||
mp.put("净重(KG)", NumberUtil.round(StrUtil.isEmpty(billPageVo.getNet_weight()) ? "0" : billPageVo.getNet_weight(), 1));
|
||||
mp.put("卷数", billPageVo.getQuanlity_in_box());
|
||||
mp.put("品级", "A");
|
||||
mp.put("箱号", billPageVo.getBox_no());
|
||||
mp.put("销售订单及行号", billPageVo.getSale_order_name());
|
||||
mp.put("母卷号", billPageVo.getParent_container_name());
|
||||
mp.put("基重(g/m³)(面密度)", NumberUtil.round(StrUtil.isEmpty(billPageVo.getMass_per_unit_area()) ? "0" : billPageVo.getMass_per_unit_area(), 1));
|
||||
mp.put("居中度(mm)", "±1");
|
||||
mp.put("塌边(mm)", "≤10");
|
||||
mp.put("米数(长度)", NumberUtil.round(StrUtil.isEmpty(billPageVo.getLength()) ? "0" : billPageVo.getLength(), 1));
|
||||
mp.put("管件类型", billPageVo.getPaper_type());
|
||||
mp.put("管件编码", billPageVo.getPaper_code());
|
||||
mp.put("管件描述", billPageVo.getPaper_name());
|
||||
mp.put("生产实际抗拉值", billPageVo.getActual_value());
|
||||
mp.put("内控标准抗拉下限", billPageVo.getStandard_limit());
|
||||
mp.put("客户需求抗拉下限", billPageVo.getDemand_limit());
|
||||
mp.put("生产日期", billPageVo.getDate_of_production().replace("-", "/"));
|
||||
mp.put("入库日期", billPageVo.getConfirm_time());
|
||||
mp.put("生产区域", billPageVo.getPcsn().substring(0, 2));
|
||||
list.add(mp);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < inBillPageVos.size(); i++) {
|
||||
InBillPageVo billPageVo = inBillPageVos.get(i);
|
||||
Map<String, Object> mp = new LinkedHashMap<>();
|
||||
mp.put("序号", String.valueOf(i + 1));
|
||||
mp.put("日期", (billPageVo.getConfirm_time_class().substring(0, 10)).replace("-", "/"));
|
||||
mp.put("班次", billPageVo.getClasses());
|
||||
mp.put("库区", billPageVo.getSect_name());
|
||||
mp.put("客户编码", billPageVo.getCustomer_name());
|
||||
mp.put("客户名称", billPageVo.getCust_name());
|
||||
mp.put("业务员", billPageVo.getSales_owner());
|
||||
if (ObjectUtil.isEmpty(billPageVo.getSale_order_name())) {
|
||||
throw new BadRequestException("箱号" + billPageVo.getBox_no() + "销售订单为空!");
|
||||
}
|
||||
try {
|
||||
mp.put("销售订单", billPageVo.getSale_order_name().substring(0, billPageVo.getSale_order_name().indexOf("-")));
|
||||
mp.put("行号", billPageVo.getSale_order_name().substring(billPageVo.getSale_order_name().indexOf("-") + 1, billPageVo.getSale_order_name().length()));
|
||||
} catch (Exception e) {
|
||||
mp.put("销售订单", billPageVo.getSale_order_name());
|
||||
mp.put("行号", "");
|
||||
}
|
||||
mp.put("生产日期", billPageVo.getDate_of_production().replace("-", "/"));
|
||||
mp.put("箱号", billPageVo.getBox_no());
|
||||
mp.put("生产批号", (billPageVo.getConfirm_time().substring(0, 10)).replace("-", "").trim());
|
||||
mp.put("规格", billPageVo.getSpecification());
|
||||
mp.put("净重", NumberUtil.round(billPageVo.getNet_weight(), 1));
|
||||
mp.put("等级", "A");
|
||||
mp.put("备注", "");
|
||||
list.add(mp);
|
||||
}
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
package org.nl.wms.stat.service.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 成品入库分页查询实体
|
||||
* @Author: lyd
|
||||
* @Date: 2025/6/3
|
||||
*/
|
||||
@Data
|
||||
public class InBillPageVo {
|
||||
private String stor_name;
|
||||
private String sect_name;
|
||||
private String struct_code;
|
||||
private String struct_name;
|
||||
/** 业务类型 */
|
||||
private String bill_type;
|
||||
private String box_no;
|
||||
private String material_code;
|
||||
private String material_name;
|
||||
private String box_name;
|
||||
/** 子卷号 */
|
||||
private String pcsn;
|
||||
/** sap批次号 */
|
||||
private String sap_pcsn;
|
||||
/** 净重(KG) */
|
||||
private String net_weight;
|
||||
private String qty_unit_name;
|
||||
/** 客户编码 */
|
||||
private String customer_name;
|
||||
/** 业务员 */
|
||||
private String sales_owner;
|
||||
/** 客户名称 */
|
||||
private String cust_name;
|
||||
/** 卷数 */
|
||||
private String quanlity_in_box;
|
||||
private String customer_description;
|
||||
/** 销售订单: 销售订单+行号 */
|
||||
private String sale_order_name;
|
||||
private String input_time;
|
||||
private String confirm_time;
|
||||
/** 生产日期 */
|
||||
private String date_of_production;
|
||||
private String input_optname;
|
||||
/**
|
||||
* 出入库单据id(汇总持有)
|
||||
*/
|
||||
private String iostorinv_id;
|
||||
private String specification;
|
||||
/** 实际尺寸(mm)(实际幅宽) */
|
||||
private String width;
|
||||
private String paper_type;
|
||||
private String paper_code;
|
||||
private String paper_name;
|
||||
private String thickness;
|
||||
/** 毛重合计 */
|
||||
private String box_weight;
|
||||
private String length;
|
||||
/** 规格 */
|
||||
private String thickness_request;
|
||||
/** 尺寸(mm)(客户要求幅宽) */
|
||||
private String width_standard;
|
||||
/** 基重(g/m³)(面密度) */
|
||||
private String mass_per_unit_area;
|
||||
/** 客户需求抗拉下限 */
|
||||
private String demand_limit;
|
||||
/** 内控标准抗拉下限 */
|
||||
private String standard_limit;
|
||||
/** 生产实际抗拉值 */
|
||||
private String actual_value;
|
||||
private String parent_container_name;
|
||||
private String remark;
|
||||
/** 班次 */
|
||||
private String classes;
|
||||
private String box_size;
|
||||
/** 日期 */
|
||||
private String confirm_time_class;
|
||||
}
|
||||
@@ -12,7 +12,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<contextName>nlAdmin</contextName>
|
||||
<property name="log.charset" value="utf-8"/>
|
||||
<property name="log.pattern"
|
||||
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %cyan(%msg%n)"/>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
|
||||
Reference in New Issue
Block a user