Commit 5b1552af authored by zhengyi's avatar zhengyi

1、控货订单列表的控货状态多条件查询完善

2、订单列表补充商品类型多条件查询
parent cbe00e26
...@@ -560,9 +560,13 @@ public class OrderQueryVO { ...@@ -560,9 +560,13 @@ public class OrderQueryVO {
@ApiModelProperty(value = "报关类别:我司全代:1,自单代报:2,混合报关:3") @ApiModelProperty(value = "报关类别:我司全代:1,自单代报:2,混合报关:3")
private List<Integer> customsTypes; private List<Integer> customsTypes;
@ApiModelProperty(value = "产品备案属性:1有牌,2无牌,3中性,4混牌") @ApiModelProperty(value = "产品备案属性:1有牌,2无牌,3中性,4混牌")
private List<Integer> productRecords; private List<Integer> productRecords;
@ApiModelProperty(value = "商品类型")
private List<Integer> goodsTypes;
@ApiModelProperty(value = "客户经理ids") @ApiModelProperty(value = "客户经理ids")
private List<Long> salesmanIds; private List<Long> salesmanIds;
...@@ -586,6 +590,9 @@ public class OrderQueryVO { ...@@ -586,6 +590,9 @@ public class OrderQueryVO {
@ApiModelProperty(value = "空运可出货状态:0 默认值 1 待出 2 可出 3 备货中 4 已备货 10 可出、备货中、已备货 11 待出、可出、备货中、已备货 12 可出、备货中") @ApiModelProperty(value = "空运可出货状态:0 默认值 1 待出 2 可出 3 备货中 4 已备货 10 可出、备货中、已备货 11 待出、可出、备货中、已备货 12 可出、备货中")
private List<Integer> airShipmentList; private List<Integer> airShipmentList;
@ApiModelProperty(value = "0 控货中;1 已放完货;2 部分控货 3 放货中(此状态值为组合状态,当已放完货,但未全部复核完毕时为此状态,仅供查询条件传参使用)")
private List<Integer> cargoControlStatusList;
@ApiModelProperty(value = "内部转换状态字段") @ApiModelProperty(value = "内部转换状态字段")
private List<Integer> asStatusList; private List<Integer> asStatusList;
......
...@@ -363,7 +363,6 @@ ...@@ -363,7 +363,6 @@
#{warehouseType} #{warehouseType}
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.objectiveId != null and query.objectiveId.size() != 0"> <if test="query.objectiveId != null and query.objectiveId.size() != 0">
<if test="query.objectiveIds != null and query.objectiveIds.size()==1 "> <if test="query.objectiveIds != null and query.objectiveIds.size()==1 ">
...@@ -398,7 +397,6 @@ ...@@ -398,7 +397,6 @@
<foreach item='destWarehouseId' collection='query.destWarehouseIds' open='(' separator=',' close=')'> <foreach item='destWarehouseId' collection='query.destWarehouseIds' open='(' separator=',' close=')'>
#{destWarehouseId} #{destWarehouseId}
</foreach> </foreach>
)) ))
</if> </if>
<if test="query.startWarehouseId !=null and query.startWarehouseIds.size() > 0 and (query.destWarehouseId==null or query.destWarehouseIds.size() == 0) "> <if test="query.startWarehouseId !=null and query.startWarehouseIds.size() > 0 and (query.destWarehouseId==null or query.destWarehouseIds.size() == 0) ">
...@@ -419,26 +417,21 @@ ...@@ -419,26 +417,21 @@
<foreach item='destWarehouseId' collection='query.destWarehouseIds' open='(' separator=',' close=')'> <foreach item='destWarehouseId' collection='query.destWarehouseIds' open='(' separator=',' close=')'>
#{destWarehouseId} #{destWarehouseId}
</foreach> </foreach>
)) ))
</if> </if>
<if test="query.customsTypes != null and query.customsTypes.size()>0"> <if test="query.customsTypes != null and query.customsTypes.size()>0">
<if test="query.customsTypes != null and query.customsTypes.size()==1 "> <if test="query.customsTypes != null and query.customsTypes.size()==1 ">
AND o.`customs_type` = AND o.`customs_type` =
<foreach item='customsType' index="index" collection='query.customsTypes' > <foreach item='customsType' index="index" collection='query.customsTypes' >
#{customsType} #{customsType}
</foreach> </foreach>
</if> </if>
<if test="query.customsTypes != null and query.customsTypes.size()>1 "> <if test="query.customsTypes != null and query.customsTypes.size()>1 ">
AND o.`customs_type` in AND o.`customs_type` in
<foreach item='customsType' index="index" collection='query.customsTypes' open='(' separator=',' close=')'> <foreach item='customsType' index="index" collection='query.customsTypes' open='(' separator=',' close=')'>
#{customsType} #{customsType}
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.productRecords != null and query.productRecords.size()>0"> <if test="query.productRecords != null and query.productRecords.size()>0">
...@@ -455,7 +448,16 @@ ...@@ -455,7 +448,16 @@
#{productRecord} #{productRecord}
</foreach> </foreach>
</if> </if>
</if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if> </if>
<if test="query.packageType != null and query.packageType != '' "> <if test="query.packageType != null and query.packageType != '' ">
AND CONCAT(',',o.package_type,',') REGEXP CONCAT(',',REPLACE(#{query.packageType},',',',|,'), ',') AND CONCAT(',',o.package_type,',') REGEXP CONCAT(',',REPLACE(#{query.packageType},',',',|,'), ',')
...@@ -686,6 +688,16 @@ ...@@ -686,6 +688,16 @@
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if>
<if test="query.transportId != null"> <if test="query.transportId != null">
AND o.`transport_id` = #{query.transportId} AND o.`transport_id` = #{query.transportId}
</if> </if>
...@@ -1431,7 +1443,6 @@ ...@@ -1431,7 +1443,6 @@
</if> </if>
<if test="query.pdaStartWareIds != null and query.pdaStartWareIds != '' "> <if test="query.pdaStartWareIds != null and query.pdaStartWareIds != '' ">
AND FIND_IN_SET(ew_start.`id`, #{query.pdaStartWareIds}) AND FIND_IN_SET(ew_start.`id`, #{query.pdaStartWareIds})
</if> </if>
...@@ -1454,7 +1465,6 @@ ...@@ -1454,7 +1465,6 @@
#{isExternalWarehouse} #{isExternalWarehouse}
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.status != null"> <if test="query.status != null">
AND o.`status` = #{query.status} AND o.`status` = #{query.status}
...@@ -1663,8 +1673,6 @@ ...@@ -1663,8 +1673,6 @@
</if> </if>
</if> </if>
<if test="query.productRecords != null and query.productRecords.size()>0"> <if test="query.productRecords != null and query.productRecords.size()>0">
<if test="query.productRecords != null and query.productRecords.size()==1 "> <if test="query.productRecords != null and query.productRecords.size()==1 ">
...@@ -1680,7 +1688,16 @@ ...@@ -1680,7 +1688,16 @@
#{productRecord} #{productRecord}
</foreach> </foreach>
</if> </if>
</if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if> </if>
<if test="query.transportId != null"> <if test="query.transportId != null">
...@@ -2433,6 +2450,16 @@ ...@@ -2433,6 +2450,16 @@
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if>
<if test="query.channelIds != null and query.channelIds.size()>0"> <if test="query.channelIds != null and query.channelIds.size()>0">
<if test="query.channelIds != null and query.channelIds.size()==1 "> <if test="query.channelIds != null and query.channelIds.size()==1 ">
...@@ -2606,6 +2633,20 @@ ...@@ -2606,6 +2633,20 @@
</if> </if>
<if test = 'query.cargoControlStatus != null and query.cargoControlStatus == 3'> <if test = 'query.cargoControlStatus != null and query.cargoControlStatus == 3'>
AND o.`cargo_control_status` = 1 AND (select count(1) from ecw_order_cargo_control_pick ccp2 where ccp2.order_id = o.order_id and ccp2.status = 1) > 0 AND o.`cargo_control_status` = 1 AND (select count(1) from ecw_order_cargo_control_pick ccp2 where ccp2.order_id = o.order_id and ccp2.status = 1) > 0
</if>
<if test = 'query.cargoControlStatusList != null and query.cargoControlStatusList.size() > 0 '>
AND (1!=1
<foreach item='cargoControlStatus' index="index" collection='query.cargoControlStatusList'>
<choose>
<when test="cargoControlStatus == 3">
or o.`cargo_control_status` = 1 AND (select count(1) from ecw_order_cargo_control_pick ccp2 where ccp2.order_id = o.order_id and ccp2.status = 1) > 0
</when>
<otherwise>
or o.`cargo_control_status` = #{query.cargoControlStatus}
</otherwise>
</choose>
</foreach>
)
</if> </if>
<if test="query.searchKey != null and query.searchKey != '' "> <if test="query.searchKey != null and query.searchKey != '' ">
AND concat(IFNULL(o.`order_no`,''), IFNULL(o.`old_numbers`,'') AND concat(IFNULL(o.`order_no`,''), IFNULL(o.`old_numbers`,'')
...@@ -2994,7 +3035,6 @@ ...@@ -2994,7 +3035,6 @@
AND o.`warehouse_type` = #{query.warehouseType} AND o.`warehouse_type` = #{query.warehouseType}
</if> </if>
<if test="query.warehouseTypes != null and query.warehouseTypes.size()>0"> <if test="query.warehouseTypes != null and query.warehouseTypes.size()>0">
<if test="query.warehouseTypes != null and query.warehouseTypes.size()==1 "> <if test="query.warehouseTypes != null and query.warehouseTypes.size()==1 ">
AND o.`warehouse_type` = AND o.`warehouse_type` =
<foreach item='warehouseType' index="index" collection='query.warehouseTypes' > <foreach item='warehouseType' index="index" collection='query.warehouseTypes' >
...@@ -3008,7 +3048,6 @@ ...@@ -3008,7 +3048,6 @@
#{warehouseType} #{warehouseType}
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.objectiveId != null and query.objectiveId.size() != 0"> <if test="query.objectiveId != null and query.objectiveId.size() != 0">
<if test="query.objectiveIds != null and query.objectiveIds.size()==1 "> <if test="query.objectiveIds != null and query.objectiveIds.size()==1 ">
...@@ -3099,6 +3138,16 @@ ...@@ -3099,6 +3138,16 @@
</foreach> </foreach>
</if> </if>
</if> </if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if>
<if test="query.channelIds != null and query.channelIds.size()>0"> <if test="query.channelIds != null and query.channelIds.size()>0">
<if test="query.channelIds != null and query.channelIds.size()==1 "> <if test="query.channelIds != null and query.channelIds.size()==1 ">
...@@ -4234,7 +4283,16 @@ ...@@ -4234,7 +4283,16 @@
#{productRecord} #{productRecord}
</foreach> </foreach>
</if> </if>
</if>
<if test="query.goodsTypes != null and query.goodsTypes.size()>0">
AND o.order_id not in(
select oi.order_id
from ecw_order_item oi
where oi.deleted = 0 and oi.`prod_type` in
<foreach item='prodType' index="index" collection='query.goodsTypes' open='(' separator=',' close=')'>
#{goodType}
</foreach>
)
</if> </if>
<if test="query.channelIds != null and query.channelIds.size()>0"> <if test="query.channelIds != null and query.channelIds.size()>0">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment