Browse Source

市配订单选择调整、商配计划调整。增加计划加急、备注

training
kilo 2 years ago
parent
commit
5c5abe8145
  1. 17
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java
  2. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java
  3. 7
      blade-service/logpm-distribution/pom.xml
  4. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java
  5. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java
  6. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java
  7. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  8. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  9. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  10. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java
  11. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  12. 46
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  13. 53
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  14. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationPackageServiceImpl.java
  15. 462
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  16. 3
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

17
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java

@ -111,15 +111,20 @@ public class DistributionReservationEntity extends TenantEntity {
@ApiModelProperty(value = "备货状态;备货状态;1-未备货、2-待备货、3-已备货")
private String stockupStatus;
/**
* 备货区编号
* 运单ID
*/
@ApiModelProperty(value = "备货区编号")
private Long goodsAreaId;
@ApiModelProperty(value = "运单ID")
private Long waybillId;
/**
* 备货区名称
* 运单号
*/
@ApiModelProperty(value = "备货区名称")
private String goodsAreaName;
@ApiModelProperty(value = "运单号")
private String waybillNo;
/**
* 收货单位
*/
@ApiModelProperty(value = "收货单位")
private String receivingUnit;
/**
* 备注
*/

8
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java

@ -253,6 +253,12 @@ public class DistributionDeliveryInfoVO extends DistributionDeliveryInfoEntity {
* 是否加急
*/
@ApiModelProperty(value = "是否加急")
private String isUrgent;
private String isUrgentName;
// /**
// * 备注
// */
// @ApiModelProperty(value = "是否加急")
// private String remarks;
}

7
blade-service/logpm-distribution/pom.xml

@ -91,6 +91,13 @@
<version>${bladex.project.version}</version>
</dependency>
<!-- 2023/08/29-->
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-warehouse-api</artifactId>
<version>${bladex.project.version}</version>
</dependency>
</dependencies>

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java

@ -326,8 +326,8 @@ public class DistributionDeliveryListController extends BladeController {
@GetMapping("/selectDiscussStockArticleInfoList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "customArgs")
public R<IPage<DistributionStockArticleVO>> selectDiscussStockArticleInfoList(@ApiIgnore @RequestParam Map<String, Object> params, Query query) {
IPage<DistributionStockArticleVO> distributionStockArticle = distributionDeliveryListService.selectDiscussStockArticleInfoList(params,query);
public R<IPage<DistributionStockArticleVO>> selectDiscussStockArticleInfoList(@ApiIgnore @RequestParam Map<String, Object> params, Query query,@ApiIgnore @RequestParam Long deliveryListId ) {
IPage<DistributionStockArticleVO> distributionStockArticle = distributionDeliveryListService.selectDiscussStockArticleInfoList(params,query,deliveryListId);
return R.data(distributionStockArticle);
}
/**

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java

@ -24,6 +24,7 @@ import com.logpm.distribution.dto.DistributionDeliveryAllocationDTO;
import com.logpm.distribution.dto.DistributionReservationDTO;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.excel.DistributionReservationExcel;
import com.logpm.distribution.service.IDistributionAsyncService;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.vo.DistributionReservationVO;
import com.logpm.distribution.vo.DistributionStockArticleVO;
@ -64,6 +65,7 @@ public class DistributionReservationController extends BladeController {
private final IDistributionReservationService reservationService;
/**
* 预约列表 详情
*/
@ -139,6 +141,7 @@ public class DistributionReservationController extends BladeController {
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入distrbutionReservation")
public R updateClient(@Valid @RequestBody DistributionReservationDTO distributionReservationDTO) {
boolean result = reservationService.updateById(distributionReservationDTO);
return R.status(result);
}
@ -310,9 +313,10 @@ public class DistributionReservationController extends BladeController {
@GetMapping("/selectUpdateAvailableStockArticle")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入distrbutionReservation")
public R<IPage<DistributionStockArticleVO>> selectUpdateAvailableStockArticle(@ApiIgnore @RequestParam Long id, Query query,@ApiIgnore @RequestParam Map<String, Object> distributionStockArticle) {
public R<IPage<DistributionStockArticleVO>> selectUpdateAvailableStockArticle(Query query,@ApiIgnore @RequestParam Map<String, Object> distributionStockArticle) {
IPage<DistributionStockArticleVO> page = Condition.getPage(query);
List<DistributionStockArticleVO> stockArticleVOS = reservationService.selectUpdateAvailableStockArticle(id,distributionStockArticle);
Long id = (Long) distributionStockArticle.get("reservationId");
List<DistributionStockArticleVO> stockArticleVOS = reservationService.selectUpdateAvailableStockArticle(id,distributionStockArticle);
page.setRecords(stockArticleVOS);
page.setTotal(stockArticleVOS.size());
return R.data(page);

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java

@ -138,18 +138,23 @@ public class DistributionStockArticleController extends BladeController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distributionStockArticle")
public R<IPage<DistributionStockArticleVO>> selectStockArticleInfoList(@ApiIgnore @RequestParam Map<String, Object> distributionStockArticle, Query query) {
Object o = distributionStockArticle.get("orderSelfNumbering");
distributionStockArticle.remove("orderSelfNumbering");
Object o = distributionStockArticle.get("orderCode");
distributionStockArticle.remove("orderCode");
Object o2 = distributionStockArticle.get("startDate");
Object o1 = distributionStockArticle.get("entDate");
String orderIds = (String) distributionStockArticle.get("orderIds");
Object d = distributionStockArticle.get("id");
distributionStockArticle.remove("id");
distributionStockArticle.remove("startDate");
distributionStockArticle.remove("entDate");
distributionStockArticle.remove("orderIds");
// distributionStockArticle.remove("pageSize");
// distributionStockArticle.remove("currentPage");
// distributionStockArticle.remove("total");
QueryWrapper<DistributionStockArticleEntity> queryWrapper = Condition.getQueryWrapper(distributionStockArticle, DistributionStockArticleEntity.class);
queryWrapper.ne("reservation_status","30");
if(Func.isNotEmpty(o)){
queryWrapper.in("order_self_numbering",String.valueOf(o).split(","));
queryWrapper.in("orderCode",String.valueOf(o).split(","));
}
if(ObjectUtil.isNotEmpty(d)){
queryWrapper.in("id",String.valueOf(d).split(","));
@ -157,6 +162,9 @@ public class DistributionStockArticleController extends BladeController {
if(ObjectUtil.isNotEmpty(o2)){
queryWrapper.between("warehouse_entry_time",o2,o1);
}
if(Func.isNotEmpty(orderIds)){
queryWrapper.notIn("id",Func.toLongList(orderIds));
}
IPage<DistributionStockArticleEntity> pages = distributionStockArticleService.page(Condition.getPage(query), queryWrapper);
IPage<DistributionStockArticleVO> distributionStockArticleVOIPage = distributionStockArticleService.handlePackage(DistributionStockArticleWrapper.build().pageVO(pages));
return R.data(distributionStockArticleVOIPage);

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -68,6 +68,7 @@
ldr.is_urgent isUrgent,
lds.id deliveryId,
ldr.store_name,
ldr.remarks remarks,
ldr.consignee consignee,
lds.signing_type signingType,
lds.train_number trainNumber,
@ -82,6 +83,10 @@
lds.reservation_id reservationId,
lds.received_quantity receivedQuantity,
CASE
WHEN ldr.is_urgent ='1' THEN '否'
else '是'
END isUrgentName,
CASE
WHEN lds.signing_status ='1' THEN '未签收'
else '已签收'
END signingStatus,

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java

@ -32,6 +32,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 配送管理 Mapper 接口
@ -298,7 +299,7 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @param deliveryId
* @return
*/
List<DistributionStockArticleEntity> selectDiscussStockArticleList(@Param("deliveryListId")String deliveryId);
List<DistributionStockArticleEntity> selectDiscussStockArticleList(@Param("deliveryListId")Long deliveryId,@Param("par") Map<String,Object> params);
/**
* 查询商配任务包件选择情况
@ -306,7 +307,7 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @param id
* @return
*/
List<DistributionParcelListEntity> selectDiscussPackageListInfo(@Param("deliveryListId") String deliveryId,@Param("stockArticleId") Long id);
List<DistributionParcelListEntity> selectDiscussPackageListInfo(@Param("deliveryListId") Long deliveryId,@Param("stockArticleId") Long id);
/**
* 查询一个配送任务下的包件列表

24
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -1139,6 +1139,30 @@
<if test="deliveryListId != null and deliveryListId != ''">
and lds.delivery_id = #{deliveryListId}
</if>
<if test="par.mallName != null and par.mallName != ''">
and ldsa.mall_name like concat('%',#{par.mallName},'%')
</if>
<if test="par.descriptionGoods != null and par.descriptionGoods != ''">
and ldsa.description_goods like concat('%',#{par.descriptionGoods},'%')
</if>
<if test="par.waybillNumber != null and par.waybillNumber != ''">
and ldsa.waybill_Number like concat('%',#{par.waybillNumber},'%')
</if>
<if test="par.orderCode != null and par.orderCode != ''">
and ldsa.order_code like concat('%',#{par.orderCode},'%')
</if>
<if test="par.serviceNumber != null and par.serviceNumber != ''">
and ldsa.service_number like concat('%',#{par.serviceNumber},'%')
</if>
<if test="par.customerName != null and par.customerName != ''">
and ldsa.customer_name like concat('%',#{par.customerName},'%')
</if>
<if test="par.customerTelephone != null and par.customerTelephone != ''">
and ldsa.customer_telephone like concat('%',#{par.customerTelephone},'%')
</if>
<if test="par.customerAddress != null and par.customerAddress != ''">
and ldsa.customer_address like concat('%',#{par.customerAddress},'%')
</if>
</where>
</select>
<select id="selectDiscussPackageListInfo"

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java

@ -1,5 +1,6 @@
package com.logpm.distribution.service;
import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
@ -83,4 +84,16 @@ public interface IDistributionAsyncService {
* @param parcelListEntity
*/
void changeDeliverySignforListStatus(Long deliveryId, DistributionParcelListEntity parcelListEntity);
/**
* 异步检查订单的预约状态
* @param stockArticleDTO
*/
void changeOrderReservationStatus(DistributionStockArticleDTO stockArticleDTO);
/**
* 根据包件进行订单的预约装填修改
* @param p
*/
void checkStockArticleReservationStatus(DistributionParcelListEntity p);
}

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

@ -192,12 +192,12 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
List<DistributionParcelListVO> getPackageListByDeliverylistId(IPage<DistributionParcelListEntity> page, DistributionDeliveryInfoDTO distributionDeliveryInfoDTO);
/**
* 市配配送计划新增能够操作的订单列表
* 查询商配计划科操作订单列表
* @param params
* @param query
* @return
*/
IPage<DistributionStockArticleVO> selectDiscussStockArticleInfoList(Map<String, Object> params, Query query);
IPage<DistributionStockArticleVO> selectDiscussStockArticleInfoList(Map<String, Object> params, Query query, Long deliveryListId);
/**
* 发车
* @param distrilbutionloadingscanDTO

46
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -1,9 +1,11 @@
package com.logpm.distribution.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.mapper.*;
@ -13,9 +15,12 @@ import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant;
import org.springblade.common.constant.delivery.DeliveryStatusConstant;
import org.springblade.common.constant.order.OrderReservationStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.core.tool.utils.Func;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
@ -261,4 +266,45 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
distributionDeliveryListMapper.updateById(deliveryListEntity);
}
@Override
public void changeOrderReservationStatus(DistributionStockArticleDTO stockArticleDTO) {
Long id = stockArticleDTO.getId();
DistributionStockArticleEntity stockArticleEntity = Func.copy(stockArticleDTO, DistributionStockArticleEntity.class);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, id));
boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue()));
if (flag){
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
}else {
flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue()));
if (flag){
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue());
}else {
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
}
}
distributionStockArticleService.updateById(stockArticleEntity);
}
@Override
public void checkStockArticleReservationStatus(DistributionParcelListEntity p) {
Long stockArticleId = p.getStockArticleId();
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(stockArticleId);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, stockArticleId));
boolean flag = parcelListEntityList.stream().allMatch(pack -> pack.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue()));
if (flag){
//这里表示所有的包件都是已预约装填,进行订单状态修改
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
}else {
flag = parcelListEntityList.stream().allMatch(pack -> pack.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue()));
if (flag){
//全部待预约
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue());
}else {
//部分预约
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
}
}
distributionStockArticleService.updateById(stockArticleEntity);
}
}

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

@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataDriverArteryEntity;
import com.logpm.basicdata.feign.IBasicdataDriverArteryClient;
import com.logpm.distribution.bean.Resp;
@ -1862,7 +1863,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
Map<Long, List<DistributionReservationDTO>> newReservation = reservationInfos.stream().collect(Collectors.groupingBy(DistributionReservationDTO::getId));
//重新统计包件数量
AtomicInteger packageTotal = new AtomicInteger();
//客户数量
AtomicInteger clientTotal = new AtomicInteger();
newReservation.forEach((k, v) -> {
clientTotal.getAndIncrement();
if (!Func.isEmpty(oldReservation.get(k))) {
oldReservation.remove(k);
packageTotal.getAndAdd(v.get(0).getReservationNum());
@ -1963,7 +1967,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryStockupInfo.setOutboundDate(stockupInfo.getOutboundDate());
distributionStockupMapper.updateById(deliveryStockupInfo);
}
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime());
deliveryListEntity.setCustomersNumber(clientTotal.get());
//对配送进行更改
this.updateById(deliveryListEntity);
return R.status(true);
@ -1978,11 +1984,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
@Override
public IPage<DistributionStockArticleVO> selectDiscussStockArticleInfoList(Map<String, Object> params, Query query) {
IPage<Object> page = Condition.getPage(query);
public IPage<DistributionStockArticleVO> selectDiscussStockArticleInfoList(Map<String, Object> params, Query query, Long deliveryListId) {
IPage<DistributionStockArticleVO> page = Condition.getPage(query);
//这里还需要查询出该配送任务下的订单信息,在进行编辑的时候进行回显
String deliveryId = (String) params.get("deliveryId");
List<DistributionStockArticleEntity> stockArticleEntityList = baseMapper.selectDiscussStockArticleList(deliveryId);
// String deliveryId = (String) params.get("deliveryId");
//查询出配送任务下的订单
List<DistributionStockArticleEntity> stockArticleEntityList = baseMapper.selectDiscussStockArticleList(deliveryListId,params);
List<DistributionStockArticleVO> stockArticleVOList = DistributionStockArticleWrapper.build().listVO(stockArticleEntityList);
List<String> list = new ArrayList<>();
stockArticleVOList.forEach(s->{
@ -1990,11 +1997,20 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, s.getId()));
s.setParcelListVOS(DistributionParcelListWrapper.build().listVO(parcelListEntityList));
//查询该包件的具体使用情况
List<DistributionParcelListEntity> parcelListEntities = baseMapper.selectDiscussPackageListInfo(deliveryId,s.getId());
List<DistributionParcelListEntity> parcelListEntities = baseMapper.selectDiscussPackageListInfo(deliveryListId,s.getId());
s.setPackageList(DistributionParcelListWrapper.build().listVO(parcelListEntities));
list.add(s.getId().toString());
});
String typeService = (String) params.get("typeService");
String mallName = (String) params.get("mallName");
String descriptionGoods = (String) params.get("descriptionGoods");
String waybillNumber = (String) params.get("waybillNumber");
String orderCode = (String) params.get("orderCode");
String serviceNumber = (String) params.get("serviceNumber");
String customerName = (String) params.get("customerName");
String customerTelephone = (String) params.get("customerTelephone");
String customerAddress = (String) params.get("customerAddress");
String genre = (String) params.get("genre");
DistributionStockArticleEntity stockArticleEntity = Func.copy(params, DistributionStockArticleEntity.class);
QueryWrapper<DistributionStockArticleEntity> queryWrapper = Condition.getQueryWrapper(params, DistributionStockArticleEntity.class);
@ -2004,6 +2020,30 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
.ne(DistributionStockArticleEntity::getReservationStatus, "30")
.eq(DistributionStockArticleEntity::getTypeService, typeService)
.notIn(DistributionStockArticleEntity::getId, list);
if (Func.isNotEmpty(mallName)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getMallName,mallName);
}
if (Func.isNotEmpty(descriptionGoods)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getDescriptionGoods,descriptionGoods);
}
if (Func.isNotEmpty(waybillNumber)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getWaybillNumber,waybillNumber);
}
if (Func.isNotEmpty(orderCode)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getOrderCode,orderCode);
}
if (Func.isNotEmpty(serviceNumber)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getServiceNumber,serviceNumber);
}
if (Func.isNotEmpty(customerTelephone)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getCustomerTelephone,customerTelephone);
}
if (Func.isNotEmpty(customerAddress)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getCustomerAddress,customerAddress);
}
if (Func.isNotEmpty(customerName)){
lambdaQueryWrapper.like(DistributionStockArticleEntity::getCustomerName,customerName);
}
IPage<DistributionStockArticleEntity> pages = distributionStockArticleService.page(Condition.getPage(query), lambdaQueryWrapper);
IPage<DistributionStockArticleVO> distributionStockArticleVOIPage = DistributionStockArticleWrapper.build().pageVO(pages);
// List<DistributionStockArticleVO> records = distributionStockArticleVOIPage.getRecords();
@ -2012,7 +2052,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, r.getId()));
r.setParcelListVOS(DistributionParcelListWrapper.build().listVO(parcelListEntityList));
});
// records.addAll(stockArticleVOList);
distributionStockArticleVOIPage.getRecords().addAll(0,stockArticleVOList);
return distributionStockArticleVOIPage;
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationPackageServiceImpl.java

@ -69,6 +69,7 @@ public class DistributionReservationPackageServiceImpl extends BaseServiceImpl<D
@Override
public String judgmentStatus(DistributionStockArticleDTO distributionStockArticleDTO) {
int packageNum = baseMapper.selectPackageNum(distributionStockArticleDTO.getId());
if (packageNum == 0)
return OrderReservationStatusConstant.daiyuyue.getValue();
else if (packageNum == distributionStockArticleDTO.getTotalNumber())

462
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -35,6 +35,8 @@ import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import com.logpm.distribution.wrapper.DistributionReservationWrapper;
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import com.logpm.distribution.wrapper.DistributionStockListWrapper;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.delivery.DeliveryStatusConstant;
@ -151,6 +153,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Autowired
private BladeRedis bladeRedis;
@Autowired
private IDistributionAsyncService distributionAsyncService;
@Autowired
private IWarehouseWaybillClient warehouseWaybillClient;
@Override
public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) {
@ -959,10 +969,10 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationStockarticleService.updateById(reservationStockarticleEntity);
packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
oldStockArticle.remove(k);
String status = distributionReservationPackageService.judgmentStatus(distributionStockArticleDTO);
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionStockArticleDTO.getId());
stockArticleEntity.setReservationStatus(status);
distributionStockArticleService.updateById(stockArticleEntity);
distributionAsyncService.changeOrderReservationStatus(distributionStockArticleDTO);
// DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionStockArticleDTO.getId());
// stockArticleEntity.setReservationStatus(status);
// distributionStockArticleService.updateById(stockArticleEntity);
}
});
oldStockArticle.forEach((i, j) -> {
@ -978,11 +988,15 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
});
//需要修改订单的状态
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i);
DistributionStockArticleDTO stockArticleDTO = Func.copy(stockArticleEntity, DistributionStockArticleDTO.class);
String status = distributionReservationPackageService.judgmentStatus(stockArticleDTO);
stockArticleEntity.setReservationStatus(status);
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
//这里需要根据包件状态进行订单状态的修改
//这里异步查看该订单下的包件信息是否都处于预约状态,如果不是那么为订单预约装填,部分那么订单为部分预约,没有那么订单处于待预约状态
distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
// String status = distributionReservationPackageService.judgmentStatus(stockArticleDTO);
// stockArticleEntity.setReservationStatus(status);
// reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
distributionReservationStockarticleService.updateById(reservationStockarticleEntity);
});
//库存品修改
@ -1113,136 +1127,128 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionDeliveryListService.save(distributionDeliveryListEntity);
//获取所有订单
List<DistributionStockArticleDTO> stockArticle = allocationDTO.getStockArticle();
//根据门店进行分组
Map<String, List<DistributionStockArticleDTO>> storeClient = stockArticle.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getStoreName));
List<DistributionStockArticleDTO> distributionStockArticleDTOS = storeClient.get("");
Map<String, List<DistributionStockArticleDTO>> mallClient = null;
if (!Func.isEmpty(distributionStockArticleDTOS)) {
mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName));
//3、维护订单和客户
Map<String, List<DistributionStockArticleDTO>> finalMallClient = mallClient;
storeClient.forEach((k, v) -> finalMallClient.merge(k, v, (v1, v2) -> v2));
} else {
mallClient = storeClient;
}
//统计客户数.
AtomicInteger clientNum = new AtomicInteger();
// ////统计包件总数
// AtomicInteger packageTotal = new AtomicInteger();
////统计包件总数
AtomicInteger orderTotal = new AtomicInteger();
//订单拼接
// StringBuilder orderSelfNumbering = new StringBuilder();
HashSet<String> orderNumber = new HashSet<>();
HashSet<String> orderIds = new HashSet<>();
HashSet<String> serviceNumber = new HashSet<>();
HashSet<String> warehouseName = new HashSet<>();
//根据运单号进行分组
//TODO 这里先根据运单号进行运单信息查询,后期根据运单进行
Map<String, List<DistributionStockArticleDTO>> mallClient = stockArticle.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getWaybillNumber));
//配送任务仓库名称
HashSet<String> deliveryWarehouseName = new HashSet<>();
HashSet<String> mallName = new HashSet<>();
HashSet<String> storeName = new HashSet<>();
mallClient.forEach((k, v) -> {
if (!Func.isBlank(k)) {
////统计客户数
//预约任务是在客户的维度上进行数据维护
//TODO 这里需要将运单上的收货人、联系电话、收获地址进行查询后进行数据冗余
DistributionReservationDTO reservation = allocationDTO.getReservation();
DistributionReservationEntity reservationEntity = Func.copy(reservation, DistributionReservationEntity.class);
Date date = new Date();
reservationEntity.setReservationDate(date);
reservationEntity.setConsignee(k);
reservationEntity.setDeliveryAddress(v.get(0).getCustomerAddress());
reservationEntity.setDeliveryPhone(v.get(0).getCustomerTelephone());
reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue());
reservationEntity.setReservationStatus(ReservationStatusConstant.daipeisong.getValue());
reservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue());
reservationEntity.setReservationCode(Func.random(13, RandomType.INT));
//默认配送时间为全天
reservationEntity.setPeriodOfTime(ServiceConstant.RESERVATION_PERIOED_TIME_DAY);
this.save(reservationEntity);
clientNum.getAndIncrement();
//维护预约和备货的关系
DistributionStockupInfoEntity stockupInfoEntity = new DistributionStockupInfoEntity();
stockupInfoEntity.setStockUpType(StockupTypeConstant.shangpei.getValue());
stockupInfoEntity.setReservationId(reservationEntity.getId());
stockupInfoEntity.setStockupId(stockupEntity.getId());
distributionStockupInfoService.save(stockupInfoEntity);
// TODO 计算总费用
// AtomicReference<BigDecimal> initTotal = new AtomicReference<>(BigDecimal.ZERO);
//统计包件数量
AtomicInteger packageTotal = new AtomicInteger();
v.forEach(a -> {
orderTotal.getAndIncrement();
DistributionStockArticleDTO stockArticleEntity = Func.copy(a, DistributionStockArticleDTO.class);
// if (stockArticleEntity.getMallId() == -1) {
// stockArticleEntity.setMallId(null);
// }
// if (stockArticleEntity.getStoreId() == -1) {
// stockArticleEntity.setStoreId(null);
// }
warehouseName.add(stockArticleEntity.getWarehouse());
mallName.add(stockArticleEntity.getMallName());
storeName.add(stockArticleEntity.getStoreName());
//维护订单数据,订单状态直接变更未待配送
// stockArticleEntity.setOrderStatus();
// distributionStockArticleService.updateById(stockArticleEntity);
orderNumber.add(stockArticleEntity.getOrderCode());
serviceNumber.add(stockArticleEntity.getServiceNumber());
// orderSelfNumbering.append().append(",");
//订单数量累加
AtomicInteger packageNum = new AtomicInteger();
//订单存在数据源,维护订单包件信息
//维护预约和订单关系
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
List<DistributionParcelListEntity> packageList = a.getPackageListInfo();
if (Func.isNotEmpty(packageList) || packageList.size() > 0) {
packageList.forEach(p -> {
packageNum.getAndAdd(p.getQuantity());
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity();
reservationPackageEntity.setReservationId(reservationEntity.getId());
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode());
reservationPackageEntity.setStockArticleId(stockArticleEntity.getId());
reservationPackageEntity.setParceListId(p.getId());
distributionReservationPackageService.save(reservationPackageEntity);
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
});
} else {
log.error("packageList包件参数有误+{" + packageList + "}");
}
String status = distributionReservationPackageService.judgmentStatus(stockArticleEntity);
stockArticleEntity.setReservationStatus(status);
distributionStockArticleService.updateById(stockArticleEntity);
//查询出这个预约单下订单所备选取的包件数量
// List<DistributionParcelListEntity> parcelListEntityList = distributionReservationStocklistMapper.selectReservationPackageNum(reservationEntity.getId(), stockArticleEntity.getId());
// if (packageList.size() != parcelListEntityList.size()) {
// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
// } else {
// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
// }
reservationStockarticleEntity.setReservationNum(packageNum.get());
reservationStockarticleEntity.setIsHaveData(ServiceConstant.ORDER_HAVE_DATA);
//对订单下的包件进行累加
reservationStockarticleEntity.setStockArticleId(stockArticleEntity.getId());
reservationStockarticleEntity.setReservationId(reservationEntity.getId());
distributionReservationStockarticleService.save(reservationStockarticleEntity);
packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
});
//这里将预约信息进行完善
reservationEntity.setStockArticleId(String.join(",", orderNumber));
reservationEntity.setServiceNumber(String.join(",", serviceNumber));
reservationEntity.setWarehouseName(String.join(",", warehouseName));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
//预约添加订单数量
reservationEntity.setReservationNum(packageTotal.get());
this.updateById(reservationEntity);
DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity();
distributionSignforEntity.setReservationId(reservationEntity.getId());
distributionSignforEntity.setTrainNumber(str);
distributionSignforEntity.setDeliveryId(distributionDeliveryListEntity.getId());
distributionSignforService.save(distributionSignforEntity);
deliveryWarehouseName.add(reservationEntity.getWarehouseName());
}
//订单总数量
AtomicInteger orderTotal = new AtomicInteger();
//客户数量
AtomicInteger clientTotal = new AtomicInteger();
//查询运单信息
//收货单位
mallClient.forEach((k,v)->{
clientTotal.getAndIncrement();
// AtomicInteger receivingUnit = new AtomicInteger();
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(k);
DistributionReservationDTO reservation = allocationDTO.getReservation();
DistributionReservationEntity reservationEntity = Func.copy(reservation, DistributionReservationEntity.class);
reservationEntity.setReservationStatus(ReservationStatusConstant.daipeisong.getValue());
reservationEntity.setConsignee(warehouseWaybillEntity.getConsigneeName());
reservationEntity.setDeliveryPhone(warehouseWaybillEntity.getConsigneeMobile());
reservationEntity.setDeliveryAddress(warehouseWaybillEntity.getConsigneeAddress());
reservationEntity.setReceivingUnit(warehouseWaybillEntity.getConsignee());
this.save(reservationEntity);
//预约单信息构建
//订单号
HashSet<String> orderNumber = new HashSet<>();
//运单号
HashSet<String> waybillNo = new HashSet<>();
//运单ID
HashSet<Long> waybillId = new HashSet<>();
//订单服务号
HashSet<String> serviceNumber = new HashSet<>();
//仓库名称
HashSet<String> warehouseName = new HashSet<>();
//经销商名称
HashSet<String> mallName = new HashSet<>();
//门店名称
HashSet<String> storeName = new HashSet<>();
//包件总数量
AtomicInteger packageTotal = new AtomicInteger();
v.forEach(s->{
//预约单数据填充
if (Func.isNotEmpty(s.getMallName())){
mallName.add(s.getMallName());
}
if (Func.isNotEmpty(s.getStoreName())){
storeName.add(s.getStoreName());
}
if (Func.isNotEmpty(s.getOrderCode())){
orderNumber.add(s.getOrderCode());
}
if (Func.isNotEmpty(s.getWaybillNumber())){
waybillNo.add(s.getWaybillNumber());
}
if (Func.isNotEmpty(s.getWarehouse())){
warehouseName.add(s.getWarehouse());
}
if (Func.isNotEmpty(s.getWaybillId())){
waybillId.add(s.getWaybillId());
}
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
//现在前端进行订单提交必然会携带包件信息
List<DistributionParcelListEntity> packageListInfo = s.getPackageListInfo();
AtomicInteger orderPackageNum = new AtomicInteger();
if (packageListInfo.size()>0){
packageListInfo.forEach(p->{
orderPackageNum.getAndAdd(p.getQuantity());
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity();
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.zhengchang.getValue());
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode());
reservationPackageEntity.setStockArticleId(s.getId());
reservationPackageEntity.setReservationId(reservationEntity.getId());
reservationPackageEntity.setParceListId(p.getId());
distributionReservationPackageService.save(reservationPackageEntity);
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
//这里根据包件进行订单状态的改变
distributionAsyncService.checkStockArticleReservationStatus(p);
});
}else {
log.error("订单包件参数有误+{"+packageListInfo+"}");
return;
}
reservationStockarticleEntity.setReservationId(reservationEntity.getId());
reservationStockarticleEntity.setReservationNum(orderPackageNum.get());
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
reservationStockarticleEntity.setStockArticleCode(s.getStockArticleCode());
reservationStockarticleEntity.setStockArticleId(s.getId());
reservationStockarticleEntity.setIsHaveData(s.getIsHaveData());
distributionReservationStockarticleService.save(reservationStockarticleEntity);
packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
orderTotal.getAndDecrement();
});
//维护备货任务
DistributionStockupInfoEntity stockupInfoEntity = new DistributionStockupInfoEntity();
stockupInfoEntity.setStockUpType(StockupTypeConstant.shangpei.getValue());
stockupInfoEntity.setReservationId(reservationEntity.getId());
stockupInfoEntity.setStockupId(stockupEntity.getId());
distributionStockupInfoService.save(stockupInfoEntity);
//这里将预约信息进行完善
reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue());
reservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue());
reservationEntity.setPeriodOfTime(ServiceConstant.RESERVATION_PERIOED_TIME_DAY);
reservationEntity.setStockArticleId(String.join(",", orderNumber));
reservationEntity.setServiceNumber(String.join(",", serviceNumber));
reservationEntity.setWarehouseName(String.join(",", warehouseName));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
//预约添加订单数量
reservationEntity.setReservationNum(packageTotal.get());
this.updateById(reservationEntity);
DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity();
distributionSignforEntity.setReservationId(reservationEntity.getId());
distributionSignforEntity.setTrainNumber(str);
distributionSignforEntity.setDeliveryId(distributionDeliveryListEntity.getId());
distributionSignforService.save(distributionSignforEntity);
deliveryWarehouseName.add(reservationEntity.getWarehouseName());
});
//判断是否为自主配送
//车牌号拼接
@ -1295,27 +1301,189 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
}
String taskTime = allocationDTO.getTaskTime();
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Date parse = null;
// try {
// parse = format.parse(taskTime);
// } catch (ParseException e) {
// e.printStackTrace();
// }
// distributionDeliveryListEntity.setTaskTime(taskTime);
//完善配送信息
if (!Func.isEmpty(taskTime)) {
distributionDeliveryListEntity.setTaskTime(taskTime);
}
distributionDeliveryListEntity.setWarehouseName(String.join(",", deliveryWarehouseName));
distributionDeliveryListEntity.setOrderCode(String.join(",", orderNumber));
// distributionDeliveryListEntity.setOrderCode(String.join(",", orderNumber));
distributionDeliveryListEntity.setOrderNumber(orderTotal.get());
distributionDeliveryListEntity.setNoteNumber(Func.random(13, RandomType.INT));
distributionDeliveryListEntity.setCustomersNumber(clientNum.get());
distributionDeliveryListEntity.setCustomersNumber(clientTotal.get());
distributionDeliveryListService.updateById(distributionDeliveryListEntity);
return R.status(true);
}
// //根据门店进行分组
// Map<String, List<DistributionStockArticleDTO>> storeClient = stockArticle.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getStoreName));
// List<DistributionStockArticleDTO> distributionStockArticleDTOS = storeClient.get("");
// Map<String, List<DistributionStockArticleDTO>> mallClient = null;
// if (!Func.isEmpty(distributionStockArticleDTOS)) {
// mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName));
// //3、维护订单和客户
// Map<String, List<DistributionStockArticleDTO>> finalMallClient = mallClient;
// storeClient.forEach((k, v) -> finalMallClient.merge(k, v, (v1, v2) -> v2));
// } else {
// mallClient = storeClient;
// }
//
// //统计客户数.
// AtomicInteger clientNum = new AtomicInteger();
//// ////统计包件总数
//// AtomicInteger packageTotal = new AtomicInteger();
// ////统计包件总数
// AtomicInteger orderTotal = new AtomicInteger();
// //订单拼接
//// StringBuilder orderSelfNumbering = new StringBuilder();
// HashSet<String> orderNumber = new HashSet<>();
// HashSet<String> orderIds = new HashSet<>();
// HashSet<String> serviceNumber = new HashSet<>();
// HashSet<String> warehouseName = new HashSet<>();
// HashSet<String> deliveryWarehouseName = new HashSet<>();
// HashSet<String> mallName = new HashSet<>();
// HashSet<String> storeName = new HashSet<>();
// mallClient.forEach((k, v) -> {
// if (!Func.isBlank(k)) {
// ////统计客户数
// //预约任务是在客户的维度上进行数据维护
// //TODO 这里需要将运单上的收货人、联系电话、收获地址进行查询后进行数据冗余
// DistributionReservationDTO reservation = allocationDTO.getReservation();
// DistributionReservationEntity reservationEntity = Func.copy(reservation, DistributionReservationEntity.class);
// Date date = new Date();
// reservationEntity.setReservationDate(date);
// reservationEntity.setConsignee(k);
// reservationEntity.setDeliveryAddress(v.get(0).getCustomerAddress());
// reservationEntity.setDeliveryPhone(v.get(0).getCustomerTelephone());
// reservationEntity.setDeliveryType(DistributionTypeConstant.shangpei.getValue());
// reservationEntity.setReservationStatus(ReservationStatusConstant.daipeisong.getValue());
// reservationEntity.setStockupStatus(ReservationStockupStatusConstant.daibeihuo.getValue());
// reservationEntity.setReservationCode(Func.random(13, RandomType.INT));
// //默认配送时间为全天
// reservationEntity.setPeriodOfTime(ServiceConstant.RESERVATION_PERIOED_TIME_DAY);
// this.save(reservationEntity);
// clientNum.getAndIncrement();
// //维护预约和备货的关系
// DistributionStockupInfoEntity stockupInfoEntity = new DistributionStockupInfoEntity();
// stockupInfoEntity.setStockUpType(StockupTypeConstant.shangpei.getValue());
// stockupInfoEntity.setReservationId(reservationEntity.getId());
// stockupInfoEntity.setStockupId(stockupEntity.getId());
// distributionStockupInfoService.save(stockupInfoEntity);
// // TODO 计算总费用
//// AtomicReference<BigDecimal> initTotal = new AtomicReference<>(BigDecimal.ZERO);
// //统计包件数量
// AtomicInteger packageTotal = new AtomicInteger();
// v.forEach(a -> {
// orderTotal.getAndIncrement();
// DistributionStockArticleDTO stockArticleEntity = Func.copy(a, DistributionStockArticleDTO.class);
//// if (stockArticleEntity.getMallId() == -1) {
//// stockArticleEntity.setMallId(null);
//// }
//// if (stockArticleEntity.getStoreId() == -1) {
//// stockArticleEntity.setStoreId(null);
//// }
// warehouseName.add(stockArticleEntity.getWarehouse());
// mallName.add(stockArticleEntity.getMallName());
// storeName.add(stockArticleEntity.getStoreName());
// //维护订单数据,订单状态直接变更未待配送
//// stockArticleEntity.setOrderStatus();
//// distributionStockArticleService.updateById(stockArticleEntity);
// orderNumber.add(stockArticleEntity.getOrderCode());
// serviceNumber.add(stockArticleEntity.getServiceNumber());
//// orderSelfNumbering.append().append(",");
// //订单数量累加
// AtomicInteger packageNum = new AtomicInteger();
// //订单存在数据源,维护订单包件信息
// //维护预约和订单关系
// DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
// List<DistributionParcelListEntity> packageList = a.getPackageListInfo();
// if (Func.isNotEmpty(packageList) || packageList.size() > 0) {
// packageList.forEach(p -> {
// packageNum.getAndAdd(p.getQuantity());
// DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity();
// reservationPackageEntity.setReservationId(reservationEntity.getId());
// reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode());
// reservationPackageEntity.setStockArticleId(stockArticleEntity.getId());
// reservationPackageEntity.setParceListId(p.getId());
// distributionReservationPackageService.save(reservationPackageEntity);
// p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
// distributionParcelListService.updateById(p);
// });
// } else {
// log.error("packageList包件参数有误+{" + packageList + "}");
// }
// String status = distributionReservationPackageService.judgmentStatus(stockArticleEntity);
// stockArticleEntity.setReservationStatus(status);
// distributionStockArticleService.updateById(stockArticleEntity);
// //查询出这个预约单下订单所备选取的包件数量
//// List<DistributionParcelListEntity> parcelListEntityList = distributionReservationStocklistMapper.selectReservationPackageNum(reservationEntity.getId(), stockArticleEntity.getId());
//// if (packageList.size() != parcelListEntityList.size()) {
//// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
//// } else {
//// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
//// }
// reservationStockarticleEntity.setReservationNum(packageNum.get());
// reservationStockarticleEntity.setIsHaveData(ServiceConstant.ORDER_HAVE_DATA);
// //对订单下的包件进行累加
// reservationStockarticleEntity.setStockArticleId(stockArticleEntity.getId());
// reservationStockarticleEntity.setReservationId(reservationEntity.getId());
// distributionReservationStockarticleService.save(reservationStockarticleEntity);
// packageTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
// });
// //这里将预约信息进行完善
// reservationEntity.setStockArticleId(String.join(",", orderNumber));
// reservationEntity.setServiceNumber(String.join(",", serviceNumber));
// reservationEntity.setWarehouseName(String.join(",", warehouseName));
// reservationEntity.setMallName(String.join(",", mallName));
// reservationEntity.setStoreName(String.join(",", storeName));
// //预约添加订单数量
// reservationEntity.setReservationNum(packageTotal.get());
// this.updateById(reservationEntity);
// DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity();
// distributionSignforEntity.setReservationId(reservationEntity.getId());
// distributionSignforEntity.setTrainNumber(str);
// distributionSignforEntity.setDeliveryId(distributionDeliveryListEntity.getId());
// distributionSignforService.save(distributionSignforEntity);
// deliveryWarehouseName.add(reservationEntity.getWarehouseName());
// }
// });
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Date parse = null;
// try {
// parse = format.parse(taskTime);
// } catch (ParseException e) {
// e.printStackTrace();
// }
// distributionDeliveryListEntity.setTaskTime(taskTime);
//完善配送信息
@Override
@Transactional
public boolean cancelReservation(DistributionReservationDTO reservationDTO) {

3
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -252,7 +252,8 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
public WarehouseWaybillEntity findByWaybillNo(String waybillNo) {
QueryWrapper<WarehouseWaybillEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("waybill_no", waybillNo);
return warehouseWaybillMapper.selectOne(queryWrapper);
WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillMapper.selectOne(queryWrapper);
return warehouseWaybillEntity;
}
@Override

Loading…
Cancel
Save