diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index fbce97d42..d40195404 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -121,4 +121,10 @@ public interface DistributionLoadscanMapper extends BaseMapper SELECT IF(sum( received_quantity) is null ,0,sum( received_quantity) ) AS signingNumber FROM logpm_distribution_loadscan WHERE is_deleted = 0 AND reservation_id = #{reservationId} AND delivery_id = #{deliveryId} AND order_id = #{orderId} AND scan_status != 1 + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index 281e682c2..19076b32d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -277,4 +277,10 @@ public interface IDistributionAsyncService { * @param distributionParcelListEntity */ void sendFactory(DistributionParcelListEntity distributionParcelListEntity,String signingTime,Long reservationId,String reservationCode,Long warehouseId); + + /** + * 推送文员 + */ + void sendReviewFactory(Long signingId,Long warehouseId); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index b887489c6..f62121e7f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -15,10 +15,10 @@ import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.mapper.*; import com.logpm.distribution.service.*; -import com.logpm.distribution.vo.DistributionParcelNumberVO; -import com.logpm.distribution.vo.DistributionStockPackageVO; -import com.logpm.distribution.vo.DistributionStockupSelfVO; -import com.logpm.distribution.vo.DistrilbutionBillStockVO; +import com.logpm.distribution.vo.*; +import com.logpm.factory.mt.dto.MtReceiveContentDTO; +import com.logpm.factory.mt.dto.MtReceiveDTO; +import com.logpm.factory.mt.dto.MtReceiveImagesDTO; import com.logpm.factory.mt.feign.IMtOrderMainClinet; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import lombok.AllArgsConstructor; @@ -49,11 +49,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -1402,11 +1398,114 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { throw new RuntimeException(e); } break; + //其他..... } } } + @Override + @Transactional + public void sendReviewFactory(Long signingId,Long warehouseId) { + String brands= "梦天";//可追加 + + //查询签收信息 + DistributionSignforEntity distributionSignforEntity = distributionSignforMapper.selectById(signingId); + if (Func.isNotEmpty(distributionSignforEntity)){ + DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId()); + + DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId()); + + + //推送内容 + MtReceiveDTO mtReceiveDTO = new MtReceiveDTO(); + mtReceiveDTO.setReceiver(distributionReservationEntity.getConsignee()); + mtReceiveDTO.setSendTaskId(distributionDeliveryListEntity.getId().toString()); + + + Map> brand = null; + List distributionReservationStockarticleEntities = distributionReservationMapper.selectStockArticleByReservationId(distributionReservationEntity.getId()); + if (Func.isNotEmpty(distributionReservationStockarticleEntities)){ + //存在订单 + List orderIds = distributionReservationStockarticleEntities.stream().filter(f -> f.getIsZero().equals(IsOrNoConstant.no.getValue())).map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList()); + List distributionStockArticleEntities = distributionStockArticleService.listByIds(orderIds); + + if (Func.isNotEmpty(distributionStockArticleEntities)){ + String[] split = Func.split(brands, ","); + //包件信息列表 + brand = handkeBrandsPackageList(split, distributionStockArticleEntities, warehouseId,distributionReservationEntity.getId(),distributionDeliveryListEntity.getOrderCode()); + } + } + + //签收图片信息 + List mtReceiveImagesDTOS = new ArrayList<>(); + List distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionSignforEntity.getReservationId()); + if (Func.isNotEmpty(distributionSignPrintVOS)){ + for (DistributionSignPrintVO distributionSignPrintVO : distributionSignPrintVOS) { + MtReceiveImagesDTO mtReceiveImagesDTO = new MtReceiveImagesDTO(); + mtReceiveImagesDTO.setImage(distributionSignPrintVO.getUrlRoute()); + mtReceiveImagesDTOS.add(mtReceiveImagesDTO); + } + mtReceiveDTO.setReceiveImagesList(mtReceiveImagesDTOS); + } + + try { + if (Func.isNotEmpty(brand.get("梦天"))){ + mtReceiveDTO.setReceiveContentList(brand.get("梦天")); + orderMainClinet.sendReceiveInfoByNewSystem(mtReceiveDTO); + } + + //....工厂 + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + + + } + + private Map> handkeBrandsPackageList(String[] split, List distributionStockArticleEntities, Long warehouseId,Long reservationId,String deliveryCode) { + Map> packageList = new HashMap<>(); + Map> orderMap = distributionStockArticleEntities.stream().collect(Collectors.groupingBy(DistributionStockArticleEntity::getBrand)); + for (String s : split) { + orderMap.forEach((k,v)->{ + if (k.equals(s)){ + List mtReceiveContentDTOS = new ArrayList<>(); + for (DistributionStockArticleEntity distributionStockArticleEntity : v) { + List distributionParcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, distributionStockArticleEntity.getId()); + for (DistributionParcelListEntity distributionParcelListEntity : distributionParcelListEntities) { + if (distributionParcelListEntity.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())){ + String signingTime = distributionLoadscanMapper.selectPackageSigningTime(distributionParcelListEntity.getId()); + MtReceiveContentDTO mtReceiveContentDTO = new MtReceiveContentDTO(); + //查询签收时间 + mtReceiveContentDTO.setWarehouse(warehouseId.toString());//仓库Id + mtReceiveContentDTO.setOrderCode(distributionStockArticleEntity.getOrderCode());//仓库Id + mtReceiveContentDTO.setUnitNo(distributionParcelListEntity.getOrderPackageCode());//仓库Id + mtReceiveContentDTO.setOperateDate(signingTime);//操作时间 + mtReceiveContentDTO.setInvoiceOrderCode(deliveryCode);//发货编号 + mtReceiveContentDTOS.add(mtReceiveContentDTO); + } + } + } + packageList.put(s,mtReceiveContentDTOS); + } + }); + + } + + return packageList; + } + + private List handleBrandPackageList(Long warehouseId, List mtOrderList, DistributionReservationEntity distributionReservationEntity, DistributionDeliveryListEntity distributionDeliveryListEntity) { + List mtReceiveContentDTOS = new ArrayList<>(); + for (DistributionStockArticleEntity distributionStockArticleEntity : mtOrderList) { + + + } + return mtReceiveContentDTOS; + } + /** * 维护配送数量和状态 * diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 5d5521c9f..21d9804ab 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -1725,7 +1725,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl