移动端库区与仓库管理统计数据的优化,排序模糊查询优化

product
chuang 2 years ago
parent 35ca5b1a8d
commit 08ad5539ae

@ -113,7 +113,6 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, MaterialEnt
}else{
try {
String sidx = materialPagination.getSidx();
// MaterialEntity materialEntity = new MaterialEntity();
MaterialVoMobileEntity materialEntity = new MaterialVoMobileEntity();
Field declaredField = materialEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.permission.service.AuthorizeService;
import jnpf.reservoirarea.entity.ReservoirareaEntity;
@ -266,11 +267,26 @@ public class ReservoirareaServiceImpl extends ServiceImpl<ReservoirareaMapper, R
}else{
try {
String sidx = reservoirareaPagination.getSidx();
ReservoirareaEntity reservoirareaEntity = new ReservoirareaEntity();
Field declaredField = reservoirareaEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
reservoirareaQueryWrapper="asc".equals(reservoirareaPagination.getSort().toLowerCase())?reservoirareaQueryWrapper.orderByAsc(value):reservoirareaQueryWrapper.orderByDesc(value);
MobileReservoirareaLIstVo istVo = new MobileReservoirareaLIstVo();
Field[] declaredFields = istVo.getClass().getDeclaredFields();
Boolean isValue=false;
for (int i = 0; i < declaredFields.length; i++) {
Field declaredField = declaredFields[i];
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(JsonProperty.class).value();
if (value.equals(sidx)){
isValue=true;
}
}
if (isValue){
reservoirareaQueryWrapper="asc".equals(reservoirareaPagination.getSort().toLowerCase())?reservoirareaQueryWrapper.orderByAsc(sidx):reservoirareaQueryWrapper.orderByDesc(sidx);
}else {
ReservoirareaEntity reservoirareaEntity = new ReservoirareaEntity();
Field declaredField = reservoirareaEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
reservoirareaQueryWrapper="asc".equals(reservoirareaPagination.getSort().toLowerCase())?reservoirareaQueryWrapper.orderByAsc(value):reservoirareaQueryWrapper.orderByDesc(value);
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}

@ -14,6 +14,7 @@ import java.math.BigDecimal;
@Data
public class MobileWareHouseVO {
/** 主键 */
@JsonProperty("id")
private String id;
/** 仓库类型 **/

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.permission.service.AuthorizeService;
import jnpf.util.ServletUtil;
@ -265,11 +266,26 @@ public class WareHouseServiceImpl extends ServiceImpl<WareHouseMapper, WareHouse
}else{
try {
String sidx = wareHousePagination.getSidx();
WareHouseEntity wareHouseEntity = new WareHouseEntity();
Field declaredField = wareHouseEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
wareHouseQueryWrapper="asc".equals(wareHousePagination.getSort().toLowerCase())?wareHouseQueryWrapper.orderByAsc(value):wareHouseQueryWrapper.orderByDesc(value);
MobileWareHouseVO wareHouseEntity = new MobileWareHouseVO();
boolean isValue=false;
Field[] declaredFields = wareHouseEntity.getClass().getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field declaredField = declaredFields[i];
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(JsonProperty.class).value();
if (value.equals(sidx)){
isValue=true;
}
}
if (isValue){
wareHouseQueryWrapper="asc".equals(wareHousePagination.getSort().toLowerCase())?wareHouseQueryWrapper.orderByAsc(sidx):wareHouseQueryWrapper.orderByDesc(sidx);
}else {
WareHouseEntity wareHouseEntityy = new WareHouseEntity();
Field declaredField = wareHouseEntityy.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
wareHouseQueryWrapper="asc".equals(wareHousePagination.getSort().toLowerCase())?wareHouseQueryWrapper.orderByAsc(value):wareHouseQueryWrapper.orderByDesc(value);
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}

@ -3,14 +3,14 @@
<mapper namespace="jnpf.reservoirarea.mapper.ReservoirareaMapper">
<select id="getReservoirareaListData" resultMap="getReservoirareaListDataMap">
SELECT
*
FROM
(
SELECT
IFNULL( b.`name`, '无对应仓库' ) warehouseName,
IFNULL( d.item_name, '无对应物料' ) itemName,
@num1 :=(
SELECT
*
FROM
(
SELECT
IFNULL( b.`name`, '无对应仓库' ) warehouseName,
count( c.material_id ) itemName,
@num1 :=(
SELECT
ROUND(
IFNULL(
@ -30,8 +30,7 @@
FROM
jg_receiptout_item0 aa
WHERE
aa.material_id = c.material_id
AND aa.reservoirarea_id = d.id
aa.reservoirarea_id = a.id
AND aa.delete_mark = '0'
) outDeliveryNum,
@num2 :=(
@ -55,28 +54,23 @@
jg_receiptin_item0 aa
WHERE
aa.reservoirarea_id = a.id
AND aa.material_id = c.material_id
AND aa.delete_mark = '0'
) inputDeliveryNum,
ROUND( @num2 - @num1, 6 ) wareHouseSum,
a.*
FROM
jg_reservoirarea a
LEFT JOIN jg_warehouse b ON a.warehouse_id = b.id
AND b.delete_mark = '0'
LEFT JOIN jg_receiptin_item0 c ON c.reservoirarea_id = a.id
AND c.delete_mark = '0'
LEFT JOIN jg_material d ON c.material_id = d.id
AND d.delete_mark = '0'
WHERE
a.delete_mark = '0'
GROUP BY
b.`name`,
a.id,
d.id
ORDER BY
a.areaname
) aaa ${ew.customSqlSegment}
FROM
jg_reservoirarea a
LEFT JOIN jg_warehouse b ON a.warehouse_id = b.id
AND b.delete_mark = '0'
LEFT JOIN jg_receiptin_item0 c ON c.reservoirarea_id = a.id
AND c.delete_mark = '0'
WHERE
a.delete_mark = '0'
GROUP BY
a.id
ORDER BY
a.areaname
) aaa ${ew.customSqlSegment}
</select>
<resultMap id="getReservoirareaListDataMap" type="jnpf.reservoirarea.model.reservoirarea.MobileReservoirareaLIstVo">
@ -100,7 +94,7 @@
<result property="minimum" column="minimum"/>
<!--计量单位-->
<result property="unit" column="unit"/>
<!--仓库物料种类-->
<!--仓库物料种类数量-->
<result property="itemName" column="itemName" />
<!--仓库总量-->
<result property="wareHouseSum" column="wareHouseSum"/>

@ -8,7 +8,7 @@
FROM
(
SELECT
IFNULL( c.item_name, "无物料" ) itemName,
count( b.material_id ) itemName,
@num1 :=(
SELECT
ROUND(
@ -30,7 +30,6 @@
jg_receiptout_item0 aa
WHERE
aa.material_id = b.material_id
AND aa.warehouse_id = a.id
AND aa.delete_mark = '0'
) outDeliveryNum,
@num2 :=(
@ -54,7 +53,6 @@
jg_receiptin_item0 aa
WHERE
aa.warehouse_id = a.id
AND aa.material_id = b.material_id
AND aa.delete_mark = '0'
) inputDeliveryNum,
ROUND( @num2 - @num1, 6 ) wareHouseSum,
@ -64,14 +62,11 @@
jg_warehouse a
LEFT JOIN jg_receiptin_item0 b ON a.id = b.warehouse_id
AND b.delete_mark = '0'
LEFT JOIN jg_material c ON b.material_id = c.id
AND c.delete_mark = '0'
LEFT JOIN base_organize d ON a.company_code = d.F_Id
WHERE
a.delete_mark = '0'
GROUP BY
a.id,
c.id
a.id
ORDER BY
a.id
) aaa ${ew.customSqlSegment}

Loading…
Cancel
Save