|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.doumee.core.constants.ResponseStatus; | 
|---|
|  |  |  | import com.doumee.core.exception.BusinessException; | 
|---|
|  |  |  | import com.doumee.core.model.PageData; | 
|---|
|  |  |  | import com.doumee.core.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.PageData; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformWmsDetailMapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.function.BinaryOperator; | 
|---|
|  |  |  | import java.util.function.Function; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PlatformWmsJob findByDetailId(Integer id) { | 
|---|
|  |  |  | PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda().eq(PlatformWmsJob::getIsdeleted, Constants.ZERO).eq(PlatformWmsJob::getJobId,id).last(" limit 1 ")); | 
|---|
|  |  |  | PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>(). | 
|---|
|  |  |  | lambda().eq(PlatformWmsJob::getIsdeleted, Constants.ZERO) | 
|---|
|  |  |  | .eq(PlatformWmsJob::getJobId,id).last(" limit 1 ")); | 
|---|
|  |  |  | if(Objects.isNull(platformWmsJob)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到运单信息"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | platformWmsJob.setIoQty( | 
|---|
|  |  |  | platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //获取所有合同号 | 
|---|
|  |  |  | List<String> ioCodeList = platformWmsDetailList.stream().map(m->m.getIocode()).collect(Collectors.toList()); | 
|---|
|  |  |  | //获取所有合同号(去重) | 
|---|
|  |  |  | List<String> ioCodeList = platformWmsDetailList.stream().map(m->m.getContractNum()).distinct().collect(Collectors.toList()); | 
|---|
|  |  |  | Set<String> ioCodeSet = new HashSet<String>(ioCodeList); | 
|---|
|  |  |  | List<WmsJobContractVO> wmsJobContractVOList = new ArrayList<>(); | 
|---|
|  |  |  | for (String ioCode:ioCodeSet) { | 
|---|
|  |  |  | if(StringUtils.isBlank(ioCode)){ | 
|---|
|  |  |  | //                    continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | WmsJobContractVO wmsJobContractVO = new WmsJobContractVO(); | 
|---|
|  |  |  | wmsJobContractVO.setContractCode(ioCode); | 
|---|
|  |  |  | wmsJobContractVO.setAddress(platformWmsJob.getRepertotyAddress()); | 
|---|
|  |  |  | wmsJobContractVO.setPlatformWmsDetailList( | 
|---|
|  |  |  | platformWmsDetailList.stream().filter(i->i.getIocode().equals(ioCode)).collect(Collectors.toList()) | 
|---|
|  |  |  | platformWmsDetailList.stream().filter(i-> StringUtils.equals(i.getContractNum(),ioCode)).collect(Collectors.toList()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(wmsJobContractVO.getPlatformWmsDetailList()!=null&& wmsJobContractVO.getPlatformWmsDetailList().size()>0){ | 
|---|
|  |  |  | wmsJobContractVO.setAddress(wmsJobContractVO.getPlatformWmsDetailList().get(0).getRepertotyAddress()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Objects.isNull(wmsJobContractVO.getLockStatus())&& | 
|---|
|  |  |  | com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){ | 
|---|
|  |  |  | if(Constants.equalsInteger(platformWmsJob.getType(),Constants.ONE)){ | 
|---|
|  |  |  | if(Objects.isNull(wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus())){ | 
|---|
|  |  |  | wmsJobContractVO.setLockStatus(Constants.ZERO | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | wmsJobContractVO.setLockStatus( | 
|---|
|  |  |  | wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wmsJobContractVO.setStatus( | 
|---|
|  |  |  | wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getStatus() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wmsJobContractVOList.add(wmsJobContractVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|