Browse Source

Merge remote-tracking branch 'origin/dist.1.2.0' into dist.1.2.0

dist.1.3.0
汤建军 6 months ago
parent
commit
e9209e32d7
  1. 13
      blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java
  2. 36
      blade-biz-common/src/main/java/org/springblade/common/model/ConsigneeArriveVO.java
  3. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  4. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java
  5. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  6. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java
  7. 60
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

13
blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java

@ -242,6 +242,19 @@ public abstract class FanoutConstants {
}
}
/**
* 到达
*
* @see org.springblade.common.model.ConsigneeArriveVO
**/
interface DeliveryAndConsigneeArrive {
String EXCHANGE = "fanout.distribution.ConsigneeArrive" + ModuleNameConstant.DEVAUTH;
interface QUEUE {
}
}
/**
* 签收

36
blade-biz-common/src/main/java/org/springblade/common/model/ConsigneeArriveVO.java

@ -0,0 +1,36 @@
package org.springblade.common.model;
import lombok.Data;
import java.util.List;
/**
* 客户到达
*/
@Data
public class ConsigneeArriveVO {
/**
* 车次号
*/
private String trainNumber;
/**
* 司机名
*/
private String driverName;
/**
* 车牌号
*/
private String vehicleName;
/**
* 预约单号
*/
private String reservationCode;
}

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java

@ -35,10 +35,7 @@ import com.logpm.distribution.vo.print.PrintPreviewVO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import org.springblade.common.enums.BizOperationEnums;
import org.springblade.common.model.DistributionTaskVO;
import org.springblade.common.model.NodeFanoutMsg;
import org.springblade.common.model.PackageData;
import org.springblade.common.model.ReservationVO;
import org.springblade.common.model.*;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
@ -99,7 +96,10 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
*App-装车扫描
*/
R loadingscan(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO);
/**
List<PlanDriverbindCarVO> buildDeliveryCarDriverInfor(DistributionDeliveryListEntity distributionDeliveryListEntity);
/**
*App-装车确认
*/
R loadingack(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO);

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java

@ -64,7 +64,7 @@ public interface IDistributionNodeWorkService {
/**
* 配送到达
*/
void carArrived();
void carArrived(NodeFanoutMsg<ConsigneeArriveVO> nodeFanoutMsg, BladeUser user );
/**

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -1157,7 +1157,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return nodeFanoutMsg;
}
private List<PlanDriverbindCarVO> buildDeliveryCarDriverInfor(DistributionDeliveryListEntity distributionDeliveryListEntity) {
@Override
public List<PlanDriverbindCarVO> buildDeliveryCarDriverInfor(DistributionDeliveryListEntity distributionDeliveryListEntity) {
List<PlanDriverbindCarVO> jsonArray = new ArrayList<>();
// 自主配送
if ("1".equals(distributionDeliveryListEntity.getKind())) {

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java

@ -110,8 +110,12 @@ public class DistributionNodeWorkServiceImpl implements IDistributionNodeWorkSer
}
@Override
public void carArrived() {
public void carArrived(NodeFanoutMsg<ConsigneeArriveVO> nodeFanoutMsg, BladeUser user) {
try {
rabbitTemplate.convertAndSend(FanoutConstants.distribution.DeliveryAndConsigneeArrive.EXCHANGE, null, com.alibaba.fastjson.JSONObject.toJSONString(nodeFanoutMsg));
} catch (AmqpException e) {
log.error(">>>>>>>>>>>>>>>>>>>>>>>>>> 消息推送失败~ 请联系管理员! ", e);
}
}
@Override

60
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -41,6 +41,7 @@ import com.logpm.distribution.excel.*;
import com.logpm.distribution.mapper.*;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.DistributionSignforVO;
import com.logpm.distribution.vo.app.*;
import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
@ -78,8 +79,7 @@ import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.enums.BizOperationEnums;
import org.springblade.common.enums.PackageTypeEnums;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.model.NodeFanoutMsg;
import org.springblade.common.model.PackageData;
import org.springblade.common.model.*;
import org.springblade.common.node.BillLadingNode;
import org.springblade.common.node.DeliveryNode;
import org.springblade.common.node.ReservationNode;
@ -255,7 +255,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Autowired
private ILogClient logClient;
private IDistributionNodeWorkService distributionNodeWorkService;
@Autowired
private IBasicdataDriverArteryClient basicdataDriverArteryClient;
@Override
public IPage<DistributionSignforVO> selectDistributionSignforPage(IPage<DistributionSignforVO> page, DistributionSignforVO distributionSignfor) {
@ -708,7 +711,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
// 推送作业节点数据
NodeFanoutMsg<org.springblade.common.model.DistributionSignforVO> nodeFanoutMsg = buildNodeFanoutMsgByReCheck(reservationEntity);
distributionNodeWorkService.signForCheck(nodeFanoutMsg, AuthUtil.getUser());
iDistributionNodeWorkService.signForCheck(nodeFanoutMsg, AuthUtil.getUser());
// // 复核作业节点推送
// iDistributionNodeWorkService.signForCheck(DistributionSignforEntity distributionSignforEntity,DistributionReservationEntity reservationEntity);
@ -4689,9 +4692,58 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
.set(StringUtils.isNotBlank(distributionSignfor.getPositioning()), DistributionSignforEntity::getPositioning, distributionSignfor.getPositioning())
.set(StringUtils.isNotBlank(add), DistributionSignforEntity::getPositioningAdr, add)
);
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(distributionSignforEntity.getDeliveryId());
DistributionReservationEntity reservationEntity = distributionReservationService.getById(deliveryListEntity.getReservationId());
BladeUser user = AuthUtil.getUser();
NodeFanoutMsg<ConsigneeArriveVO> nodeFanoutMsg= buildConsigneeArriveVO(deliveryListEntity,reservationEntity,user);
iDistributionNodeWorkService.carArrived(nodeFanoutMsg,user);
return Resp.scanSuccess("打卡成功", "打卡成功");
}
private NodeFanoutMsg<ConsigneeArriveVO> buildConsigneeArriveVO(DistributionDeliveryListEntity deliveryListEntity, DistributionReservationEntity reservationEntity, BladeUser user) {
NodeFanoutMsg<ConsigneeArriveVO> nodeFanoutMsg = new NodeFanoutMsg();
nodeFanoutMsg.setBizOperation(BizOperationEnums.ADD);
nodeFanoutMsg.setNode(WorkNodeEnums.DISTRIBUTION_CAR_ARRIVED);
nodeFanoutMsg.setWarehouse(deliveryListEntity.getWarehouseName());
nodeFanoutMsg.setWarehouseId(deliveryListEntity.getWarehouseId());
nodeFanoutMsg.setOperator(AuthUtil.getTenantId());
nodeFanoutMsg.setOperatorTime(deliveryListEntity.getCreateTime());
List<PlanDriverbindCarVO> planDriverbindCarVOS = distributionDeliveryListService.buildDeliveryCarDriverInfor(deliveryListEntity);
String driverName = deliveryListEntity.getDriverName();
String vehicleName = deliveryListEntity.getVehicleName();
// 如果是自主配送 需要去获取当前司机绑定的车牌
if ("1".equals(deliveryListEntity.getKind())) {
BasicdataDriverArteryEntity driverArteryById = basicdataDriverArteryClient.getDriverArteryById(AuthUtil.getUserId());
if (driverArteryById != null) {
for (int i = 0; i < planDriverbindCarVOS.size(); i++) {
if (planDriverbindCarVOS.get(i).getDriverName().equals(driverArteryById.getName())) {
driverName = planDriverbindCarVOS.get(i).getDriverName();
vehicleName = planDriverbindCarVOS.get(i).getCarPlate();
break;
}
}
}
}
ConsigneeArriveVO consigneeArriveVO = new ConsigneeArriveVO();
consigneeArriveVO.setTrainNumber(deliveryListEntity.getTrainNumber());
consigneeArriveVO.setReservationCode(reservationEntity.getReservationCode());
consigneeArriveVO.setDriverName(driverName);
consigneeArriveVO.setVehicleName(vehicleName);
nodeFanoutMsg.setMain(consigneeArriveVO);
return nodeFanoutMsg;
}
@Override
@Transactional(rollbackFor = Exception.class)
public R oneclick(DistributionSignforDTO distributionSignfor) {

Loading…
Cancel
Save