|
|
|
@ -45,6 +45,7 @@ import com.logpm.distribution.wrapper.DistributionDeliveryListWrapper;
|
|
|
|
|
import com.logpm.distribution.wrapper.DistributionParcelListWrapper; |
|
|
|
|
import com.logpm.distribution.wrapper.DistributionReservationWrapper; |
|
|
|
|
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.log4j.Log4j2; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
@ -134,6 +135,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
private final IBasicdataWarehouseClient warehouseClient; |
|
|
|
|
private final IDisStockListDetailService disStockListDetailService; |
|
|
|
|
private final DistributionStockListMapper distributionStockListMapper; |
|
|
|
|
private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient; |
|
|
|
|
private final IBasicPrintTemplateClient basicPrintTemplateClient; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -152,15 +154,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
distributionDeliveryList.setWarehouseIdList(collect); |
|
|
|
|
List<DistributionDeliveryListEntity> distributionDeliveryListEntities = baseMapper.selectDistributionDeliveryListPage(page, distributionDeliveryList); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return page.setRecords(distributionDeliveryListEntities); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<DistributionDeliveryListExcel> exportDistributionDeliveryList(Wrapper<DistributionDeliveryListEntity> queryWrapper) { |
|
|
|
|
|
|
|
|
|
List<DistributionDeliveryListExcel> distributionDeliveryListList = baseMapper.exportDistributionDeliveryList(queryWrapper); |
|
|
|
|
//distributionDeliveryListList.forEach(distributionDeliveryList -> {
|
|
|
|
|
// distributionDeliveryList.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionDeliveryList.getType()));
|
|
|
|
@ -484,6 +483,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
} |
|
|
|
|
warehouseUpdownTypeClient.downPackage(distrilbutionloadingscanDTO.getBarcode()); |
|
|
|
|
distributionLoadscanService.saveBatch(distributionLoadscanEntities); |
|
|
|
|
// //找出该包条码
|
|
|
|
|
// List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper<DistributionParcelListEntity>().lambda()
|
|
|
|
@ -906,7 +906,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
List<Long> list = reservationPackageEntityList.stream().map(DistributionReservationPackageEntity::getParceListId).collect(Collectors.toList()); |
|
|
|
|
List<DistributionParcelListEntity> distributionParcelListEntityList = distributionParcelListService.list(new QueryWrapper<DistributionParcelListEntity>().lambda().in(DistributionParcelListEntity::getId, list)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
boolean packageLoadingFlag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); |
|
|
|
|
List<DisStockListDetailEntity> stockListDetailEntityList = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda() |
|
|
|
@ -919,7 +918,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return R.fail("该客户存在库存品暂未备货 一键装车失败!!!"); |
|
|
|
|
} |
|
|
|
|
if (packageLoadingFlag && inventoryLoadingFlag) { |
|
|
|
|
//此时包件和库存品均已完成装车,这里不需要进行装车;需要进行进行提示
|
|
|
|
|
//此时包件和库存品均已完成装车,这里不需要进行装车;需要进行进行提示
|
|
|
|
|
//这里需要对包件、库存品包件进行库位信息的解绑
|
|
|
|
|
} else { |
|
|
|
|
if (!packageLoadingFlag) { |
|
|
|
@ -974,6 +973,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionLoadscanService.save(loadscanEntity); |
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub()); |
|
|
|
|
warehouseUpdownTypeClient.downPackage(parcelListEntity.getOrderPackageCode()); |
|
|
|
|
//异步修改包件状态
|
|
|
|
|
distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId()); |
|
|
|
|
} |
|
|
|
@ -1024,6 +1024,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionLoadscaninvnService.save(loadscaninvnEntity); |
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
Integer j = distributionSignforMapper.updateloadByinvn(loadscaninvnEntity.getDeliveryId(), loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getPackageNub()); |
|
|
|
|
// warehouseUpdownTypeClient.downStock()
|
|
|
|
|
//异步修改包件状态 //对于存在库存品的这里还需要将库存品从对应的信息中进行扣除
|
|
|
|
|
distributionAsyncService.changeMarketDeliveryListStatus(loadscaninvnEntity.getOrderPackageCode(), loadscaninvnEntity.getDeliveryId()); |
|
|
|
|
DistributionStockListEntity stockListEntity = distributionStockListMapper.selectOne(Wrappers.<DistributionStockListEntity>query().lambda().eq(DistributionStockListEntity::getId, loadscaninvnEntity.getInventoryId())); |
|
|
|
@ -2286,8 +2287,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
deliveryListEntity.setUnloadingTeamName(stockupInfo.getUnloaderName()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getLoaderId()) && Func.isNotEmpty(stockupInfo.getLoaderName())) { |
|
|
|
|
deliveryListEntity.setUnloadingTeamId(stockupInfo.getLoaderId()); |
|
|
|
|
deliveryListEntity.setUnloadingTeamName(stockupInfo.getLoaderName()); |
|
|
|
|
deliveryListEntity.setLoadingTeamId(stockupInfo.getLoaderId()); |
|
|
|
|
deliveryListEntity.setLoadingTeamName(stockupInfo.getLoaderName()); |
|
|
|
|
} |
|
|
|
|
deliveryListEntity.setOrderNumber(orderTotal.get()); |
|
|
|
|
deliveryListEntity.setDeliveryNumber(deliveryPackageTotal.get()); |
|
|
|
@ -2672,31 +2673,33 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
//查询配送下的预约信息和配送司机信息
|
|
|
|
|
DistributionDeliveryListEntity deliveryListEntity = this.getById(id); |
|
|
|
|
DistributionDeliveryListVO deliveryListVO = Func.copy(deliveryListEntity, DistributionDeliveryListVO.class); |
|
|
|
|
switch (deliveryListEntity.getKind()) { |
|
|
|
|
case "1": |
|
|
|
|
//查询自主配送
|
|
|
|
|
QueryWrapper<DistributionDeliverySelfEntity> qw = new QueryWrapper<>(); |
|
|
|
|
qw.lambda().eq(DistributionDeliverySelfEntity::getDeliveryId, id); |
|
|
|
|
List<DistributionDeliverySelfEntity> distributionDeliverySelfEntities = distributionDeliverySelfService.getBaseMapper().selectList(qw); |
|
|
|
|
List<DistributionDeliverySelfVO> deliverySelfVOS = new ArrayList<>(); |
|
|
|
|
distributionDeliverySelfEntities.forEach(s -> { |
|
|
|
|
DistributionDeliverySelfVO deliverySelfVO = Func.copy(s, DistributionDeliverySelfVO.class); |
|
|
|
|
deliverySelfVOS.add(deliverySelfVO); |
|
|
|
|
}); |
|
|
|
|
deliveryListVO.setDeliverySelfVO(deliverySelfVOS); |
|
|
|
|
break; |
|
|
|
|
case "2": |
|
|
|
|
QueryWrapper<DistributionDeliveryTripartiteEntity> tqw = new QueryWrapper<>(); |
|
|
|
|
tqw.lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, id); |
|
|
|
|
DistributionDeliveryTripartiteEntity tripartiteEntity = distributionDeliveryTripartiteService.getBaseMapper().selectOne(tqw); |
|
|
|
|
DistributionDeliveryTripartiteVO deliveryTripartiteVO = Func.copy(tripartiteEntity, DistributionDeliveryTripartiteVO.class); |
|
|
|
|
deliveryListVO.setDeliveryTripartiteVO(deliveryTripartiteVO); |
|
|
|
|
break; |
|
|
|
|
if (Func.isNotEmpty(deliveryListVO)){ |
|
|
|
|
switch (deliveryListEntity.getKind()) { |
|
|
|
|
case "1": |
|
|
|
|
//查询自主配送
|
|
|
|
|
QueryWrapper<DistributionDeliverySelfEntity> qw = new QueryWrapper<>(); |
|
|
|
|
qw.lambda().eq(DistributionDeliverySelfEntity::getDeliveryId, id); |
|
|
|
|
List<DistributionDeliverySelfEntity> distributionDeliverySelfEntities = distributionDeliverySelfService.getBaseMapper().selectList(qw); |
|
|
|
|
List<DistributionDeliverySelfVO> deliverySelfVOS = new ArrayList<>(); |
|
|
|
|
distributionDeliverySelfEntities.forEach(s -> { |
|
|
|
|
DistributionDeliverySelfVO deliverySelfVO = Func.copy(s, DistributionDeliverySelfVO.class); |
|
|
|
|
deliverySelfVOS.add(deliverySelfVO); |
|
|
|
|
}); |
|
|
|
|
deliveryListVO.setDeliverySelfVO(deliverySelfVOS); |
|
|
|
|
break; |
|
|
|
|
case "2": |
|
|
|
|
QueryWrapper<DistributionDeliveryTripartiteEntity> tqw = new QueryWrapper<>(); |
|
|
|
|
tqw.lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, id); |
|
|
|
|
DistributionDeliveryTripartiteEntity tripartiteEntity = distributionDeliveryTripartiteService.getBaseMapper().selectOne(tqw); |
|
|
|
|
DistributionDeliveryTripartiteVO deliveryTripartiteVO = Func.copy(tripartiteEntity, DistributionDeliveryTripartiteVO.class); |
|
|
|
|
deliveryListVO.setDeliveryTripartiteVO(deliveryTripartiteVO); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//查询备货信息进行数据回显
|
|
|
|
|
//2、查询出备货信息
|
|
|
|
|
DistributionStockupVO stockupEntity = distributionStockupMapper.getDeliveryStockupInfo(id); |
|
|
|
|
deliveryListVO.setStockupInfo(stockupEntity); |
|
|
|
|
// DistributionStockupVO stockupEntity = distributionStockupMapper.getDeliveryStockupInfo(id);
|
|
|
|
|
// deliveryListVO.setStockupInfo(stockupEntity);
|
|
|
|
|
List<DistributionReservationEntity> reservationVOS = distributionReservationMapper.getMarketReservationInfo(id); |
|
|
|
|
deliveryListVO.setReservationInfos(DistributionReservationWrapper.build().listVO(reservationVOS)); |
|
|
|
|
return deliveryListVO; |
|
|
|
@ -2794,56 +2797,67 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
deliveryListEntity.setVehicleName(vehicleNubs.deleteCharAt(vehicleNubs.length() - 1).toString()); |
|
|
|
|
} |
|
|
|
|
//查询出原来配送信息的备货任务
|
|
|
|
|
DistributionStockupVO deliveryStockupInfo = distributionStockupMapper.getDeliveryStockupInfo(deliveryListEntity.getId()); |
|
|
|
|
// DistributionStockupVO deliveryStockupInfo = distributionStockupMapper.getDeliveryStockupInfo(deliveryListEntity.getId());
|
|
|
|
|
//这里查询出该备货任务的执行情况,如果该任务处于已完成的状态需要创建新的备货任务,其他的备货状态则是进行备货任务的修改
|
|
|
|
|
DistributionStockupDTO stockupInfo = deliveryListDTO.getStockupInfo(); |
|
|
|
|
// DistributionStockupDTO stockupInfo = deliveryListDTO.getStockupInfo();
|
|
|
|
|
//前端进行校验这个备货任务是否发生改变,没有发生改变则不需要传递此参数
|
|
|
|
|
if (!Func.isEmpty(stockupInfo)) { |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getForkliftName())) { |
|
|
|
|
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.weizhipai.getValue()); |
|
|
|
|
deliveryStockupInfo.setStockupStatus(StockupStatusConstant.weibeihuo.getValue()); |
|
|
|
|
deliveryStockupInfo.setForkliftName(stockupInfo.getForkliftName()); |
|
|
|
|
deliveryStockupInfo.setForkliftId(stockupInfo.getForkliftId()); |
|
|
|
|
//不存在备货人员,此时该任务的状态处于未指派、待分配的状态
|
|
|
|
|
} else { |
|
|
|
|
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.yizhipai.getValue()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getGoodsAreaId())) { |
|
|
|
|
deliveryStockupInfo.setGoodsAreaId(stockupInfo.getGoodsAreaId()); |
|
|
|
|
deliveryStockupInfo.setStockupArea(stockupInfo.getGoodsAreaName()); |
|
|
|
|
} |
|
|
|
|
// ---------------------------2023-09-06 取消班组职能字段维护------------------------------------
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getLoaderId())) {
|
|
|
|
|
// deliveryStockupInfo.setLoaderId(stockupInfo.getLoaderId());
|
|
|
|
|
// deliveryStockupInfo.setLoaderName(stockupInfo.getLoaderName());
|
|
|
|
|
// if (!Func.isEmpty(stockupInfo)) {
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getForkliftName())) {
|
|
|
|
|
// deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.weizhipai.getValue());
|
|
|
|
|
// deliveryStockupInfo.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
|
|
|
|
|
// deliveryStockupInfo.setForkliftName(stockupInfo.getForkliftName());
|
|
|
|
|
// deliveryStockupInfo.setForkliftId(stockupInfo.getForkliftId());
|
|
|
|
|
// //不存在备货人员,此时该任务的状态处于未指派、待分配的状态
|
|
|
|
|
// } else {
|
|
|
|
|
// deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.yizhipai.getValue());
|
|
|
|
|
// }
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getLoadAndUnload())) {
|
|
|
|
|
// deliveryStockupInfo.setTeamResponsibility(stockupInfo.getLoadAndUnload());
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getGoodsAreaId())) {
|
|
|
|
|
// deliveryStockupInfo.setGoodsAreaId(stockupInfo.getGoodsAreaId());
|
|
|
|
|
// deliveryStockupInfo.setStockupArea(stockupInfo.getGoodsAreaName());
|
|
|
|
|
// }
|
|
|
|
|
//// ---------------------------2023-09-06 取消班组职能字段维护------------------------------------
|
|
|
|
|
//// if (Func.isNotEmpty(stockupInfo.getLoaderId())) {
|
|
|
|
|
//// deliveryStockupInfo.setLoaderId(stockupInfo.getLoaderId());
|
|
|
|
|
//// deliveryStockupInfo.setLoaderName(stockupInfo.getLoaderName());
|
|
|
|
|
//// }
|
|
|
|
|
//// if (Func.isNotEmpty(stockupInfo.getLoadAndUnload())) {
|
|
|
|
|
//// deliveryStockupInfo.setTeamResponsibility(stockupInfo.getLoadAndUnload());
|
|
|
|
|
//// }
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getStockupDate())) {
|
|
|
|
|
// deliveryStockupInfo.setStockupDate(stockupInfo.getStockupDate());
|
|
|
|
|
// }
|
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getStockupDate())) { |
|
|
|
|
deliveryStockupInfo.setStockupDate(stockupInfo.getStockupDate()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getRemarks())) { |
|
|
|
|
deliveryStockupInfo.setRemarks(stockupInfo.getRemarks()); |
|
|
|
|
} |
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getRemarks())) {
|
|
|
|
|
// deliveryStockupInfo.setRemarks(stockupInfo.getRemarks());
|
|
|
|
|
// }
|
|
|
|
|
deliveryStockupInfo.setOutboundDate(stockupInfo.getOutboundDate()); |
|
|
|
|
distributionStockupMapper.updateById(deliveryStockupInfo); |
|
|
|
|
} |
|
|
|
|
//// if (Func.isNotEmpty(stockupInfo.getRemarks())) {
|
|
|
|
|
//// deliveryStockupInfo.setRemarks(stockupInfo.getRemarks());
|
|
|
|
|
//// }
|
|
|
|
|
// deliveryStockupInfo.setOutboundDate(stockupInfo.getOutboundDate());
|
|
|
|
|
// distributionStockupMapper.updateById(deliveryStockupInfo);
|
|
|
|
|
// }
|
|
|
|
|
if (Func.isNotEmpty(deliveryListDTO.getRemarks())) { |
|
|
|
|
deliveryListEntity.setRemarks(deliveryListDTO.getRemarks()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getUnloaderName()) && Func.isNotEmpty(stockupInfo.getUnloaderId())) { |
|
|
|
|
deliveryListEntity.setUnloadingTeamId(stockupInfo.getUnloaderId()); |
|
|
|
|
deliveryListEntity.setUnloadingTeamName(stockupInfo.getUnloaderName()); |
|
|
|
|
if (Func.isNotEmpty(deliveryListDTO.getUnloadingTeamId())) { |
|
|
|
|
deliveryListEntity.setUnloadingTeamId(deliveryListDTO.getUnloadingTeamId()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(stockupInfo.getLoaderId()) && Func.isNotEmpty(stockupInfo.getLoaderName())) { |
|
|
|
|
deliveryListEntity.setUnloadingTeamId(stockupInfo.getLoaderId()); |
|
|
|
|
deliveryListEntity.setUnloadingTeamName(stockupInfo.getLoaderName()); |
|
|
|
|
if (Func.isNotEmpty(deliveryListDTO.getUnloadingTeamName())) { |
|
|
|
|
deliveryListEntity.setUnloadingTeamName(deliveryListDTO.getUnloadingTeamName()); |
|
|
|
|
} |
|
|
|
|
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime()); |
|
|
|
|
if (Func.isNotEmpty(deliveryListDTO.getTaskTime())) { |
|
|
|
|
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotEmpty(deliveryListDTO.getFee())) { |
|
|
|
|
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime()); |
|
|
|
|
} |
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getUnloaderName()) && Func.isNotEmpty(stockupInfo.getUnloaderId())) {
|
|
|
|
|
// deliveryListEntity.setUnloadingTeamId(stockupInfo.getUnloaderId());
|
|
|
|
|
// deliveryListEntity.setUnloadingTeamName(stockupInfo.getUnloaderName());
|
|
|
|
|
// }
|
|
|
|
|
// if (Func.isNotEmpty(stockupInfo.getLoaderId()) && Func.isNotEmpty(stockupInfo.getLoaderName())) {
|
|
|
|
|
// deliveryListEntity.setUnloadingTeamId(stockupInfo.getLoaderId());
|
|
|
|
|
// deliveryListEntity.setUnloadingTeamName(stockupInfo.getLoaderName());
|
|
|
|
|
// }
|
|
|
|
|
deliveryListEntity.setCustomersNumber(clientTotal.get()); |
|
|
|
|
//对配送进行更改
|
|
|
|
|
this.updateById(deliveryListEntity); |
|
|
|
|