Browse Source

修改订单转库存品校验

training
caoyizhong 1 year ago
parent
commit
8d5579cd7f
  1. 5
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleGroundingVO.java
  2. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  3. 22
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  4. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

5
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleGroundingVO.java

@ -3,9 +3,12 @@ package com.logpm.distribution.vo;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import lombok.Data;
/**
* 订单是否上架 打托 实体
*/
@Data
public class DistributionStockArticleGroundingVO extends DistributionStockArticleEntity {
private String associationType;

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -571,7 +571,7 @@
</where>
</select>
<select id="selectListGrounding" resultType="com.logpm.distribution.vo.DistributionStockArticleGroundingVO">
select ldsa.grounding_status,lwtg.association_type
select ldsa.grounding_status groundingStatus,lwtg.association_type associationType
from logpm_distribution_stock_article ldsa
LEFT JOIN logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id

22
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -35,14 +35,12 @@ import com.logpm.distribution.mapper.DistributionParcelListMapper;
import com.logpm.distribution.mapper.DistributionStockArticleMapper;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionParcelNumberService;
import com.logpm.distribution.vo.DistributionParcelListBaseVO;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.vo.PackageStockupVO;
import com.logpm.distribution.vo.*;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.order.OrderStockupStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageGroundingStatusConstant;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
@ -52,6 +50,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -232,11 +231,24 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
if(Func.isNotEmpty(distributionParcelListDTO.getStockArticleIds())){
String trim = distributionParcelListDTO.getStockArticleIds().trim();
List<String> list = CommonUtil.stringNum(trim);
if(list.size() > 0){
if(!list.isEmpty()){
distributionParcelListDTO.setStockArticleIdsList(list);
}else{
distributionParcelListDTO.setStockArticleIdsLike(trim);
}
//查询包件有没有上架,打托信息
List<DistributionStockArticleGroundingVO> list2 = distributionStockArticleMapper.selectListGrounding(list);
if(!list2.isEmpty()){
boolean b = list2.stream().anyMatch(i -> i.getGroundingStatus().equals(OrderPackageGroundingStatusConstant.yishangjia.getValue()));
if(b){
throw new ServiceException("选择的订单有上架的包件,请下架后在操作!");
}else{
boolean b1 = list2.stream().anyMatch(i -> ObjectUtils.isNotNull(i.getAssociationType()));
if(b1){
throw new ServiceException("选择的订单在托盘上面有包件,请解托后在操作!");
}
}
}
}
return baseMapper.pageOweList(page,distributionParcelListDTO);
}

21
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -147,20 +147,21 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
//查询
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.in(DistributionParcelListEntity::getStockArticleId, ids.split(","))
);
//查询包件有没有上架,打托信息
List<DistributionStockArticleGroundingVO> list2 = baseMapper.selectListGrounding(Arrays.asList(ids.split(",")));
boolean b = list2.stream().anyMatch(i -> i.getGroundingStatus().equals(OrderPackageGroundingStatusConstant.yishangjia.getValue()));
if(b){
throw new ServiceException("选择的订单有上架的包件,请下架过后在操作!");
List<DistributionStockArticleGroundingVO> list2 = distributionStockArticleMapper.selectListGrounding(Arrays.asList(ids.split(",")));
if(!list2.isEmpty()){
boolean b = list2.stream().anyMatch(i -> i.getGroundingStatus().equals(OrderPackageGroundingStatusConstant.yishangjia.getValue()));
if(b){
throw new ServiceException("选择的订单有上架的包件,请下架后在操作!");
}else{
boolean b1 = list2.stream().anyMatch(i -> ObjectUtils.isNotNull(i.getAssociationType()));
if(b1){
throw new ServiceException("选择的订单在托盘上面有包件,请解托后在操作!");
}
}
}
if (list1.size() > 0) {
list1.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialId))
.forEach((k ,v) ->{
int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();

Loading…
Cancel
Save