@ -16,6 +16,7 @@
* /
package com.logpm.distribution.service.impl ;
import com.alibaba.fastjson.JSON ;
import com.alibaba.fastjson.JSONObject ;
import com.baomidou.mybatisplus.core.conditions.Wrapper ;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper ;
@ -36,18 +37,22 @@ import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO ;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderVO ;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO ;
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper ;
import lombok.AllArgsConstructor ;
import org.springblade.common.constant.DictBizConstant ;
import org.springblade.common.constant.billLading.BillLadingStatusConstant ;
import org.springblade.common.constant.order.OrderReservationStatusConstant ;
import org.springblade.common.constant.order.OrderStatusConstant ;
import org.springblade.common.constant.stockup.StockAssignStatusConstant ;
import org.springblade.common.constant.stockup.StockupStatusConstant ;
import org.springblade.common.serviceConstant.ServiceConstant ;
import org.springblade.core.log.exception.ServiceException ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.secure.BladeUser ;
import org.springblade.core.secure.utils.AuthUtil ;
import org.springblade.core.tool.api.R ;
import org.springblade.core.tool.utils.Func ;
import org.springblade.core.tool.utils.StringUtil ;
import org.springblade.system.cache.DictBizCache ;
import org.springframework.beans.BeanUtils ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
@ -142,8 +147,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} ) ;
}
//修改订单数据
if ( distrilbutionBillLading . getStockArticleList ( ) . size ( ) > 0 ) {
boolean order = getOrder ( distrilbutionBillLading . getStockArticleList ( ) , distrilbutionBillLading . getId ( ) ) ;
if ( ! order ) {
throw new ServiceException ( "修改失败!!" ) ;
}
}
//修改库存品
if ( distrilbutionBillLading . getStockDTOList ( ) . size ( ) > 0 ) {
//全部库存品数据
@ -218,6 +228,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distrilbutionBillStock . setBillLadingId ( distrilbutionBillLading . getId ( ) ) ;
distrilbutionBillStock . setStockArticleId ( Long . parseLong ( s ) ) ;
distrilbutionBillStock . setConditions ( "1" ) ;
distrilbutionBillStock . setOrderStatus ( "1" ) ;
distrilbutionBillStockService . save ( distrilbutionBillStock ) ;
}
}
@ -261,6 +272,87 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return true ;
}
/ * *
* 修改操作订单数据
* @param orderList
* @return
* /
@Transactional ( rollbackFor = Exception . class )
public boolean getOrder ( List < DistributionStockArticleEntity > orderList , Long id ) {
//查询已有的数据
List < DistrilbutionBillStockEntity > list = distrilbutionBillStockService . list ( Wrappers . < DistrilbutionBillStockEntity > query ( ) . lambda ( )
. eq ( DistrilbutionBillStockEntity : : getBillLadingId , id )
. eq ( DistrilbutionBillStockEntity : : getOrderStatus , "1" )
. or ( wp - > wp . eq ( DistrilbutionBillStockEntity : : getBillLadingId , id ) . eq ( DistrilbutionBillStockEntity : : getOrderStatus , "2" ) )
) ;
List < DistrilbutionBillStockEntity > deList = new ArrayList < > ( ) ;
list . forEach ( i - > {
boolean b = orderList . stream ( ) . anyMatch ( o - > o . getId ( ) . equals ( i . getStockArticleId ( ) ) ) ;
if ( b ) {
//存在
Iterator < DistributionStockArticleEntity > iterator = orderList . iterator ( ) ;
while ( iterator . hasNext ( ) ) {
DistributionStockArticleEntity next = iterator . next ( ) ;
if ( next . getId ( ) . equals ( i . getStockArticleId ( ) ) ) {
iterator . remove ( ) ;
}
}
} else {
//不存在
DistrilbutionBillStockEntity stockEntity = new DistrilbutionBillStockVO ( ) ;
stockEntity . setId ( i . getId ( ) ) ;
stockEntity . setOrderStatus ( BillLadingStatusConstant . QX . getValue ( ) ) ;
stockEntity . setConditions ( i . getConditions ( ) ) ;
stockEntity . setStockArticleId ( i . getStockArticleId ( ) ) ;
deList . add ( stockEntity ) ;
}
} ) ;
//删除提货订单状态
deList . forEach ( i - > {
//查询数据是否已备货
if ( ! i . getConditions ( ) . equals ( "2" ) ) {
//未
List < DistributionStockEntity > list1 = distributionStockService . list ( Wrappers . < DistributionStockEntity > query ( ) . lambda ( ) . eq ( DistributionStockEntity : : getStockArticle , i . getStockArticleId ( ) ) ) ;
if ( list1 . size ( ) = = 0 ) {
//取消
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
stockArticleEntity . setId ( i . getStockArticleId ( ) ) ;
stockArticleEntity . setStockupStatus ( StockupStatusConstant . weibeihuo . getValue ( ) ) ;
stockArticleEntity . setReservationStatus ( OrderReservationStatusConstant . daiyuyue . getValue ( ) ) ;
distributionStockArticleService . updateById ( stockArticleEntity ) ;
}
distrilbutionBillStockService . updateById ( i ) ;
}
} ) ;
List < DistrilbutionBillStockEntity > list1 = new ArrayList < > ( ) ;
//添加订单关联
orderList . forEach ( i - > {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
stockArticleEntity . setReservationStatus ( OrderReservationStatusConstant . yiyueyue . getValue ( ) ) ;
stockArticleEntity . setStockupStatus ( StockupStatusConstant . daibeihuo . getValue ( ) ) ;
stockArticleEntity . setId ( i . getId ( ) ) ;
distributionStockArticleService . updateById ( stockArticleEntity ) ;
DistrilbutionBillStockEntity distrilbutionBillStock = new DistrilbutionBillStockVO ( ) ;
distrilbutionBillStock . setBillLadingId ( id ) ;
distrilbutionBillStock . setOrderStatus ( BillLadingStatusConstant . TJ . getValue ( ) ) ;
distrilbutionBillStock . setStockArticleId ( i . getId ( ) ) ;
distrilbutionBillStock . setConditions ( "1" ) ;
list1 . add ( distrilbutionBillStock ) ;
} ) ;
distrilbutionBillStockService . saveBatch ( list1 ) ;
//查询当前备货任务
DistrilbutionBillLadingEntity billLading = baseMapper . selectById ( id ) ;
if ( billLading . getConditions ( ) . equals ( "5" ) ) {
//修改
billLading . setConsignee ( "4" ) ;
baseMapper . updateById ( billLading ) ;
}
return true ;
} ;
@Override
public IPage < DistrilbutionBillLadingVO > pageList ( IPage < Object > page , Map < String , Object > distrilbutionBillLading ) {
DistrilbutionBillLadingDTO distrilbutionBillLadingDTO = JSONObject . parseObject ( JSONObject . toJSONString ( distrilbutionBillLading ) , DistrilbutionBillLadingDTO . class ) ;
@ -271,6 +363,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List < DistributionDeliveryChargeEntity > list = distributionDeliveryChargeService . list ( Wrappers . < DistributionDeliveryChargeEntity > query ( ) . lambda ( )
. eq ( DistributionDeliveryChargeEntity : : getBillLading , i . getId ( ) )
) ;
list . forEach ( ii - > {
ii . setCostName ( DictBizCache . getValue ( DictBizConstant . DELIVERY_COST , ii . getCost ( ) ) ) ;
} ) ;
i . setList ( list ) ;
} ) ;
distrilbutionBillLadingVOIPage . setRecords ( records ) ;
@ -644,7 +739,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
@Override
public DistrilbutionBillLadingDetailsVO getDetailOne ( DistrilbutionBillLadingEntity distrilbutionBillLadingEntity ) {
DistrilbutionBillLadingDetailsVO detailOne = baseMapper . getDetailOne ( distrilbutionBillLadingEntity . getId ( ) ) ;
List < DistributionParcelList Entity > list1 = new ArrayList < > ( ) ;
List < DistributionStockArticle Entity > list1 = new ArrayList < > ( ) ;
List < DistributionStockListVO > stockListEntities = new ArrayList < > ( ) ;
//查询提货费用
List < DistributionDeliveryChargeEntity > list4 = distributionDeliveryChargeService . list ( Wrappers . < DistributionDeliveryChargeEntity > query ( ) . lambda ( )
@ -654,11 +749,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//查询提货信息
List < DistrilbutionBillStockEntity > list = distrilbutionBillStockService . list ( Wrappers . < DistrilbutionBillStockEntity > query ( ) . lambda ( )
. eq ( DistrilbutionBillStockEntity : : getBillLadingId , distrilbutionBillLadingEntity . getId ( ) )
. eq ( DistrilbutionBillStockEntity : : getOrderStatus , "1" )
. or ( eq - > eq . eq ( DistrilbutionBillStockEntity : : getBillLadingId , distrilbutionBillLadingEntity . getId ( ) ) . eq ( DistrilbutionBillStockEntity : : getOrderStatus , "2" ) )
) ;
list . forEach ( i - > {
List < DistributionParcelList Entity > list2 = distributionParcelList Service . list ( Wrappers . < DistributionParcelList Entity > query ( ) . lambda ( ) . eq ( DistributionParcelList Entity : : getStockArticle Id , i . getStockArticleId ( ) ) ) ;
List < DistributionStockArticle Entity > list2 = distributionStockArticle Service . list ( Wrappers . < DistributionStockArticle Entity > query ( ) . lambda ( ) . eq ( DistributionStockArticle Entity : : getId , i . getStockArticleId ( ) ) ) ;
if ( list2 . size ( ) > 0 ) {
list1 . addAll ( list2 ) ;
list1 . addAll ( DistributionStockArticleWrapper . build ( ) . listVO ( list2 ) ) ;
}
} ) ;
@ -889,5 +986,59 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return inventory ;
}
/ * *
* 签收
* @param ids
* @return
* /
@Override
@Transactional ( rollbackFor = Exception . class )
public Boolean updateOwn ( String ids ) {
String [ ] split = ids . split ( "," ) ;
for ( int i = 0 ; i < split . length ; i + + ) {
String s = split [ i ] ;
//修改提货状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity ( ) ;
billLadingEntity . setConditions ( BillLadingStatusConstant . YQS . getValue ( ) ) ;
billLadingEntity . setId ( Long . parseLong ( s ) ) ;
this . updateById ( billLadingEntity ) ;
//修改订单状态
List < DistrilbutionBillStockEntity > list = distrilbutionBillStockService . list ( Wrappers . < DistrilbutionBillStockEntity > query ( ) . lambda ( )
. eq ( DistrilbutionBillStockEntity : : getBillLadingId , s )
. eq ( DistrilbutionBillStockEntity : : getOrderStatus , "1" )
. or ( ew - > ew . eq ( DistrilbutionBillStockEntity : : getBillLadingId , s ) . eq ( DistrilbutionBillStockEntity : : getOrderStatus , "2" ) )
) ;
if ( list . size ( ) > 0 ) {
list . forEach ( li - > {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
stockArticleEntity . setOrderStatus ( OrderStatusConstant . qianshou . getValue ( ) ) ;
stockArticleEntity . setId ( li . getStockArticleId ( ) ) ;
distributionStockArticleService . updateById ( stockArticleEntity ) ;
} ) ;
}
}
return true ;
}
@Override
public DistrilbutionBillLadingVO listNum ( Map < String , Object > distrilbutionBillLading ) {
DistrilbutionBillLadingDTO billLadingEntity = JSONObject . parseObject ( JSONObject . toJSONString ( distrilbutionBillLading ) , DistrilbutionBillLadingDTO . class ) ;
DistrilbutionBillLadingVO billLadingVO = baseMapper . getBillLadingNum ( billLadingEntity ) ; //查询
return billLadingVO ;
}
/ * *
* 查询详细信息
* @param id
* @return
* /
@Override
public List < DistrilbutionBillLadingViewVO > getViewDetailOwn ( String id ) {
return baseMapper . getViewDetailOwn ( id ) ;
}
}