|
|
@ -19,14 +19,23 @@ package com.logpm.distribution.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
|
|
|
import com.logpm.distribution.entity.DistributionStockupEntity; |
|
|
|
import com.logpm.distribution.entity.DistributionStockupInfoEntity; |
|
|
|
import com.logpm.distribution.entity.DistributionStockupInfoEntity; |
|
|
|
import com.logpm.distribution.excel.DistributionStockupInfoExcel; |
|
|
|
import com.logpm.distribution.excel.DistributionStockupInfoExcel; |
|
|
|
import com.logpm.distribution.mapper.DistributionStockupInfoMapper; |
|
|
|
import com.logpm.distribution.mapper.DistributionStockupInfoMapper; |
|
|
|
import com.logpm.distribution.service.IDistributionStockupInfoService; |
|
|
|
import com.logpm.distribution.service.IDistributionStockupInfoService; |
|
|
|
|
|
|
|
import com.logpm.distribution.service.IDistributionStockupService; |
|
|
|
import com.logpm.distribution.vo.DistributionStockListSelfNumVO; |
|
|
|
import com.logpm.distribution.vo.DistributionStockListSelfNumVO; |
|
|
|
import com.logpm.distribution.vo.DistributionStockupInfoVO; |
|
|
|
import com.logpm.distribution.vo.DistributionStockupInfoVO; |
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
|
|
import org.springblade.common.constant.stockup.StockupStatusConstant; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
@ -38,8 +47,13 @@ import java.util.List; |
|
|
|
* @since 2023-06-14 |
|
|
|
* @since 2023-06-14 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
@Service |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
public class DistributionStockupInfoServiceImpl extends BaseServiceImpl<DistributionStockupInfoMapper, DistributionStockupInfoEntity> implements IDistributionStockupInfoService { |
|
|
|
public class DistributionStockupInfoServiceImpl extends BaseServiceImpl<DistributionStockupInfoMapper, DistributionStockupInfoEntity> implements IDistributionStockupInfoService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
|
|
@Lazy |
|
|
|
|
|
|
|
private IDistributionStockupService distributionStockupService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public IPage<DistributionStockupInfoVO> selectReservationStockupPage(IPage<DistributionStockupInfoVO> page, DistributionStockupInfoVO reservationStockup) { |
|
|
|
public IPage<DistributionStockupInfoVO> selectReservationStockupPage(IPage<DistributionStockupInfoVO> page, DistributionStockupInfoVO reservationStockup) { |
|
|
|
return page.setRecords(baseMapper.selectDistributionStockupInfoPage(page, reservationStockup)); |
|
|
|
return page.setRecords(baseMapper.selectDistributionStockupInfoPage(page, reservationStockup)); |
|
|
@ -85,4 +99,75 @@ public class DistributionStockupInfoServiceImpl extends BaseServiceImpl<Distribu |
|
|
|
return baseMapper.selectStockListSelfNum(s); |
|
|
|
return baseMapper.selectStockListSelfNum(s); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* @param reservationId |
|
|
|
|
|
|
|
* @param type |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
|
|
|
public void maintenanceStockUp(Long reservationId, Integer type) { |
|
|
|
|
|
|
|
String method = "########################DistributionStockupInfoServiceImpl.maintenanceStockUp"; |
|
|
|
|
|
|
|
DistributionStockupInfoEntity stockupInfoEntity = null; |
|
|
|
|
|
|
|
DistributionStockupInfoEntity distributionStockupInfoEntity = null; |
|
|
|
|
|
|
|
switch (type){ |
|
|
|
|
|
|
|
case 1: |
|
|
|
|
|
|
|
//商配。市配备货任务
|
|
|
|
|
|
|
|
List<DistributionStockupInfoEntity> entityList = this.list(Wrappers.<DistributionStockupInfoEntity>query().lambda() |
|
|
|
|
|
|
|
.eq(DistributionStockupInfoEntity::getReservationId, reservationId) |
|
|
|
|
|
|
|
.ne(DistributionStockupInfoEntity::getStockUpType, 3) |
|
|
|
|
|
|
|
.ne(DistributionStockupInfoEntity::getStockStatus, "4") |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
if (entityList.size()==1){ |
|
|
|
|
|
|
|
distributionStockupInfoEntity = entityList.get(0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//可进行备货任务的完结标识
|
|
|
|
|
|
|
|
distributionStockupInfoEntity.setStockStatus("3"); |
|
|
|
|
|
|
|
this.updateById(distributionStockupInfoEntity); |
|
|
|
|
|
|
|
//查询备货任务是否都完成
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
//查询备货任务错误的原因
|
|
|
|
|
|
|
|
log.error(method+"预约单关联备货任务错误reservationId:{}",reservationId); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 2: |
|
|
|
|
|
|
|
List<DistributionStockupInfoEntity> billLadingentityList = this.list(Wrappers.<DistributionStockupInfoEntity>query().lambda() |
|
|
|
|
|
|
|
.eq(DistributionStockupInfoEntity::getReservationId, reservationId) |
|
|
|
|
|
|
|
.eq(DistributionStockupInfoEntity::getStockUpType, 3) |
|
|
|
|
|
|
|
.ne(DistributionStockupInfoEntity::getStockStatus, "4") |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
if (billLadingentityList.size() == 1){ |
|
|
|
|
|
|
|
distributionStockupInfoEntity = billLadingentityList.get(0); |
|
|
|
|
|
|
|
//可进行备货任务的完结标识
|
|
|
|
|
|
|
|
distributionStockupInfoEntity.setStockStatus("3"); |
|
|
|
|
|
|
|
this.updateById(distributionStockupInfoEntity); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
log.error(method+"预约单关联备货任务错误reservationId:{}",reservationId); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
List<DistributionStockupInfoEntity> stockupInfoEntityList = this.list(Wrappers.<DistributionStockupInfoEntity>query().lambda() |
|
|
|
|
|
|
|
.eq(DistributionStockupInfoEntity::getStockupId, distributionStockupInfoEntity.getStockupId()) |
|
|
|
|
|
|
|
.ne(DistributionStockupInfoEntity::getStockStatus, "4") |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
if (Func.isNotEmpty(stockupInfoEntityList)){ |
|
|
|
|
|
|
|
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity(); |
|
|
|
|
|
|
|
distributionStockupEntity.setId(distributionStockupInfoEntity.getStockupId()); |
|
|
|
|
|
|
|
boolean flag = stockupInfoEntityList.stream().allMatch(f -> "3".equals(f.getStockStatus())); |
|
|
|
|
|
|
|
if (flag){ |
|
|
|
|
|
|
|
distributionStockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue()); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
//查询是否存在完结
|
|
|
|
|
|
|
|
boolean anyMatch = stockupInfoEntityList.stream().anyMatch(f -> "3".equals(f.getStockStatus())); |
|
|
|
|
|
|
|
if (anyMatch){ |
|
|
|
|
|
|
|
distributionStockupEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue()); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
distributionStockupService.updateById(distributionStockupEntity); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|