Browse Source

fix: 修复代码 库存品备货查询缓慢的问题

pull/7/head
pref_mail@163.com 11 months ago
parent
commit
f4f8a21305
  1. 30
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  2. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  3. 2
      blade-service/logpm-distribution/src/test/java/com/logpm/distribution/TestService.java
  4. 3
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/OrderPackageStatusPushFailLogServiceImpl.java

30
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -349,11 +349,9 @@
ldslNew.tray_name AS trayName,
ldslNew.unpack AS unpack,
(SELECT SUM(aldrs.reality_num) FROM logpm_distribution_reservation_stocklist AS aldrs WHERE aldrs.reservation_id = #{reservationId} AND aldrs.stock_list_status != 2 AND FIND_IN_SET(aldrs.stocklist_id,t.aaa)) AS realNum,
(SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} ANd newldrs.stock_list_status != 2 AND FIND_IN_SET(newldrs.stocklist_id,t.aaa)) AS planNum,
(
select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number and warehouse_id=#{warehouseId} or association_value in (
SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number and warehouse_id=#{warehouseId} )
) as allocations
(SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} ANd newldrs.stock_list_status != 2 AND FIND_IN_SET(newldrs.stocklist_id,t.aaa))
AS planNum
concat(ifnull(t1.allocation_ids,''),if(t1.allocation_ids is not null,',',''), ifnull(t2.allocation_ids,'')) allocations
FROM
(
SELECT
@ -374,16 +372,32 @@
group by ldsl.cargo_number
) t
LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id
LEFT JOIN logpm_distribution_stock ldss ON FIND_IN_SET(ldss.stock_list_id,t.aaa)
LEFT JOIN (
SELECT
ldpl.material_code,
GROUP_CONCAT( DISTINCT ( lwug.allocation_id ) ) AS allocation_ids
FROM
logpm_warehouse_updown_goods lwug
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.id = lwug.association_id
WHERE
lwug.association_type != 4
AND ldpl.conditions = 2
AND ldpl.warehouse_id = #{warehouseId}
GROUP BY
ldpl.material_code
) AS t1 ON t.cargo_number = t1.material_code
where ldslNew.is_deleted = 0
AND ldslNew.warehouse_id=#{warehouseId}
LEFT JOIN ( SELECT association_value, GROUP_CONCAT( DISTINCT ( allocation_id )) AS allocation_ids FROM logpm_warehouse_updown_goods WHERE warehouse_id = #{warehouseId} AND association_type = 4 GROUP BY association_value ) AS t2 ON t.cargo_number = t2.association_value
<!-- SELECT-->
<!-- SELECT-->
<!-- ldsl.sku AS sku,-->
<!-- ldsl.cargo_number AS cargoNumber,-->
<!-- ldsl.description_goods AS materialName,-->

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -16,6 +16,7 @@
*/
package com.logpm.distribution.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@ -73,6 +74,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache;
@ -1204,7 +1206,12 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (Func.isNotEmpty(distributionStockupStockListVO.getAllocations())) {
String[] ids = distributionStockupStockListVO.getAllocations().split(",");
List<WarehouseGoodsAllocationEntity> allocationInforByIds = warehouseGoodsAllocationClient.getAllocationInforByIds(ids);
HashSet<String> strings = new HashSet<String>(CollUtil.newArrayList(ids));
String res = strings.stream().map(Object::toString).collect(Collectors.joining(","));
String[] newIds = res.split(",");
List<WarehouseGoodsAllocationEntity> allocationInforByIds = warehouseGoodsAllocationClient.getAllocationInforByIds(newIds);
for (WarehouseGoodsAllocationEntity allocationInforById : allocationInforByIds) {
if (distributionStockupStockListVO.getAllocationList() == null) {

2
blade-service/logpm-distribution/src/test/java/com/logpm/distribution/TestService.java

@ -73,7 +73,7 @@ public class TestService {
@Test
public void test5(){
DistributionSignforDTO dto = new DistributionSignforDTO();
dto.setId(1728618333252620289L);
dto.setId(1774620241420193793L);
iDistributionSignforService.buildArgsToPushMq(dto);
}

3
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/OrderPackageStatusPushFailLogServiceImpl.java

@ -30,7 +30,8 @@ public class OrderPackageStatusPushFailLogServiceImpl extends BaseServiceImpl<Or
OrderPackageStatusPushFailLogEntity orderPackageStatusPushFailLogEntity = new OrderPackageStatusPushFailLogEntity();
orderPackageStatusPushFailLogEntity.setOrderPackageStatus(status);
orderPackageStatusPushFailLogEntity.setUnitNo(unitNo);
orderPackageStatusPushFailLogEntity.setWarehouseId(currentWarehouseId);
orderPackageStatusPushFailLogEntity.setWarehouseId
(currentWarehouseId);
orderPackageStatusPushFailLogEntity.setOperationTime(operationTime);
orderPackageStatusPushFailLogEntity.setTrayId(trayId);
orderPackageStatusPushFailLogEntity.setDataStatus(0);

Loading…
Cancel
Save