diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataDTO.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataDTO.java index 93de3da3a..72cc8a771 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataDTO.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataDTO.java @@ -38,12 +38,13 @@ public class SignPushDataDTO { /** * 出库人ID */ - private int out_to_id; + private Long out_to_id; /** * 出库人 */ private String out_to_name; + /** * 出库时间 */ @@ -114,6 +115,11 @@ public class SignPushDataDTO { */ private String administrators_name; + /** + * 操作人 + */ + private String kind; + /** * 签收客户集合 */ diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataUnitDTO.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataUnitDTO.java index c5cc7272e..e772e9069 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataUnitDTO.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/dto/SignPushDataUnitDTO.java @@ -104,7 +104,7 @@ public class SignPushDataUnitDTO { private long administrators_id; /** - * 标识状态:1=标记[无用],2=pda回库,3=pc回库,4=pda签收,5=pc签收 + * 标识状态:1=标记[无用],2=pda回库,3=pc回库,4=pda签收, 5=pc签收 */ private int broke_state; diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java index d95429c03..d710fa0ff 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java @@ -29,6 +29,7 @@ import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO; import com.logpm.distribution.vo.app.DistributionAppParcelListVO; import com.logpm.distribution.vo.app.DistributionAppStockArticleVO; +import com.logpm.oldproject.dto.SignPushDataDTO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -438,4 +439,12 @@ public interface DistributionDeliveryListMapper extends BaseMapper + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java index 430a6dd82..95ff6f745 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java @@ -25,6 +25,7 @@ import com.logpm.distribution.dto.DistributionReservationDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.excel.DistributionReservationExcel; import com.logpm.distribution.vo.*; +import com.logpm.oldproject.dto.SignPushDataContactDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -265,4 +266,12 @@ public interface DistributionReservationMapper extends BaseMapper selectPushOldCustomer(@Param("reservationId") Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 65c3fa0b9..34dbf8a00 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -1120,6 +1120,24 @@ + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java index 906fafde8..0addf16c9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java @@ -29,6 +29,7 @@ import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO; import com.logpm.distribution.vo.app.DistributionAppParcelListVO; import com.logpm.distribution.vo.app.DistributionAppSignforVO; import com.logpm.distribution.vo.app.DistributionAppStockArticleVO; +import com.logpm.oldproject.dto.SignPushDataUnitDTO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -249,4 +250,20 @@ public interface DistributionSignforMapper extends BaseMapper + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java index bcee57f3f..9cdb99d63 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java @@ -1,20 +1,27 @@ package com.logpm.distribution.receiver; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.logpm.distribution.entity.DistributionDeliveryListEntity; -import com.logpm.distribution.entity.DistributionReservationEntity; -import com.logpm.distribution.entity.DistributionSignforEntity; -import com.logpm.distribution.entity.DistributionStockEntity; -import com.logpm.distribution.mapper.DistributionDeliveryListMapper; -import com.logpm.distribution.mapper.DistributionReservationMapper; -import com.logpm.distribution.mapper.DistributionSignforMapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.distribution.entity.*; +import com.logpm.distribution.mapper.*; import com.logpm.distribution.service.IDistributionStockService; +import com.logpm.distribution.vo.DistributionStockupStockListVO; +import com.logpm.oldproject.dto.SignPushDataContactDTO; import com.logpm.oldproject.dto.SignPushDataDTO; +import com.logpm.oldproject.dto.SignPushDataUnitDTO; import com.logpm.oldproject.feign.IOldSystemDataPushClient; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; +import org.springblade.common.constant.common.IsOrNoConstant; +import org.springblade.common.constant.stockup.StockAssignStatusConstant; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.system.entity.User; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.feign.IUserSearchClient; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -22,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Map; @@ -46,6 +55,14 @@ public class ClerkCheckPushDataQueueHandler { @Autowired private DistributionReservationMapper distributionReservationMapper; + @Autowired + private DistributionDeliverySelfMapper distributionDeliverySelfMapper; + + @Autowired + private DistributionDeliveryTripartiteMapper distributionDeliveryTripartiteMapper; + @Autowired + private IUserClient userClient; + @RabbitHandler public void clerkCheckPushDataHandler(Map map, Message message, Channel channel) { @@ -60,6 +77,7 @@ public class ClerkCheckPushDataQueueHandler { //得到签收对象 DistributionSignforEntity distributionSignforEntity = distributionSignforMapper.selectById(signfor_id); + //需要检测文员是否进行复核了 if (ObjectUtil.isEmpty(distributionSignforEntity)) { log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity); @@ -79,6 +97,76 @@ public class ClerkCheckPushDataQueueHandler { return; } + + + + //组合配送信息 + SignPushDataDTO delivery = distributionDeliveryListMapper.selectPushOldDelivery(distributionSignforEntity.getReservationId(),distributionSignforEntity.getDeliveryId()); + //还需要配送的出库人、配送人、操作人信息 + if (Func.isNotEmpty(delivery)){ + if (delivery.getKind().equals("1")){ + //自主配送 + DistributionDeliverySelfEntity distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectOne(Wrappers.query().lambda() + .eq(DistributionDeliverySelfEntity::getDeliveryId, delivery.getId()) + .eq(DistributionDeliverySelfEntity::getIsMaster, delivery.getId()) + ); + if (Func.isNotEmpty(distributionDeliverySelfEntity)){ + delivery.setOut_id(Long.parseLong(distributionDeliverySelfEntity.getDriverId())); + delivery.setOut_name(distributionDeliverySelfEntity.getDriverName()); + delivery.setOut_phone(distributionDeliverySelfEntity.getDriverPhone()); + } + }else { + //外协 + DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, delivery.getId())); + if (Func.isNotEmpty(distributionDeliveryTripartiteEntity)){ + delivery.setOut_name(distributionDeliveryTripartiteEntity.getDriverName()); + delivery.setOut_phone(distributionDeliveryTripartiteEntity.getDriverPhone()); + } + } + R userR = userClient.userInfoById(delivery.getAdministrators_id()); + if (Func.isNotEmpty(userR)){ + User user = userR.getData(); + delivery.setAdministrators_name(user.getName()); + } + DistributionStockupEntity distributionStockupEntity = distributionReservationMapper.selectStockup(distributionSignforEntity.getReservationId()); + if (Func.isNotEmpty(distributionStockupEntity)){ + if (distributionStockupEntity.getAssignStatus().equals(StockAssignStatusConstant.yizhipai.getValue())){ + delivery.setOut_to_id(distributionStockupEntity.getStockupUserId()); + delivery.setOut_to_name(distributionStockupEntity.getStockupUser()); + } + + } + + //查询客户信息 + List customer = distributionReservationMapper.selectPushOldCustomer(distributionSignforEntity.getReservationId()); + if (Func.isNotEmpty(customer)){ + //查询客户订单 + List signPushDataUnitDTOS = new ArrayList<>(); + if(distributionReservationEntity.getReservationNum()>0){ + //查询包件扫描签收 + SignPushDataUnitDTO pushOldPackage = distributionSignforMapper.selectPushOldPackage(distributionSignforEntity.getReservationId(),distributionSignforEntity.getDeliveryId()); + if (Func.isNotEmpty(pushOldPackage)){ + signPushDataUnitDTOS.add(pushOldPackage); + } + } + + if (distributionReservationEntity.getReservationStockListNum() > 0){ + //查询库存品扫描签收 + SignPushDataUnitDTO pushOldInventory = distributionSignforMapper.selectPushOldInventory(distributionSignforEntity.getReservationId(),distributionSignforEntity.getDeliveryId()); + if (Func.isNotEmpty(pushOldInventory)){ + signPushDataUnitDTOS.add(pushOldInventory); + } + } + if (Func.isNotEmpty(signPushDataUnitDTOS)){ + SignPushDataContactDTO signPushDataContactDTO = customer.get(0); + signPushDataContactDTO.setSignPushDataUnitDTOs(signPushDataUnitDTOS); + } + + //完成客户信息添加 + delivery.setSignPushDataContactDTOs(customer); + } + } + //得到客户对应的签收数据 // TODO 这里的数据需要查询 等TJJ 空了来帮我写 @@ -90,18 +178,19 @@ public class ClerkCheckPushDataQueueHandler { - // 得到签收订单数量 - -// 调用方法 推送老系统 闭环 - SignPushDataDTO signPushDataDTO = new SignPushDataDTO(); +// // 得到签收订单数量 +// +//// 调用方法 推送老系统 闭环 +// SignPushDataDTO signPushDataDTO = new SignPushDataDTO(); - Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(signPushDataDTO); + Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java index d85dbbef7..89312f994 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java @@ -38,7 +38,6 @@ import java.util.Map; public interface IDistributionReservationService extends BaseService { /** * 自定义分页 - * * @param page * @param distrbutionReservation * @return diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 52f0a6f0e..90bd2feff 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -5500,9 +5500,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl good.getAssociationType().equals(3)); - if (isAll){ - int size = goodsLsit.stream().map(WarehouseTrayGoodsEntity::getAssociationValue).distinct().collect(Collectors.toList()).size(); + boolean isAll = goodsLsit.stream().allMatch(good -> good.getAssociationType().equals("3")); + if (!isAll){ + int size = goodsLsit.stream().map(WarehouseTrayGoodsEntity::getAssociationType).distinct().collect(Collectors.toList()).size(); log.error("#############托盘存在多种货物类型,货物种类:{}",size); return Resp.scanFail("该托盘存在多种货物","该托盘存在多种货物"); } @@ -5555,14 +5555,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl parcelListEntities = baseMapper.selectPackageListByDeliveryListId(deliveryId); - if (Func.isNotEmpty(parcelListEntities)){ - if (parcelListEntities.size() == deliveryListEntity.getDeliveryNumber()){ - //该配送任务下只有一个包件,那么就只会存在一个预约,此时就该进行所有的包件滞留并且进行删除 - - } - } break; case 2: //库存品