You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
4.3 KiB
106 lines
4.3 KiB
|
6 months ago
|
package com.nov.KgLowDurable.service.Impl;
|
||
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||
|
|
import com.github.pagehelper.PageHelper;
|
||
|
|
import com.github.pagehelper.PageInfo;
|
||
|
|
import com.nov.KgLowDurable.exception.CustomerException;
|
||
|
|
import com.nov.KgLowDurable.mapper.LdOneFormMapper;
|
||
|
|
import com.nov.KgLowDurable.mapper.LdPurchaseEndMapper;
|
||
|
|
import com.nov.KgLowDurable.pojo.entity.*;
|
||
|
|
import com.nov.KgLowDurable.pojo.vo.QuarterVO;
|
||
|
|
import com.nov.KgLowDurable.service.*;
|
||
|
|
import com.nov.KgLowDurable.util.StringUtils;
|
||
|
|
import lombok.AllArgsConstructor;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Service;
|
||
|
|
import org.springframework.util.CollectionUtils;
|
||
|
|
|
||
|
|
import java.math.BigDecimal;
|
||
|
|
import java.util.ArrayList;
|
||
|
|
import java.util.Arrays;
|
||
|
|
import java.util.Date;
|
||
|
|
import java.util.List;
|
||
|
|
import java.util.stream.Collectors;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 服务实现类
|
||
|
|
* @author liweidong
|
||
|
|
*/
|
||
|
|
@Service
|
||
|
|
@AllArgsConstructor
|
||
|
|
public class LdPurchaseEndServiceImpl extends ServiceImpl<LdPurchaseEndMapper, LdPurchaseEnd> implements ILdPurchaseEndService {
|
||
|
|
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
LdPurchaseEndMapper purchaseEndMapper;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
ILdOnePutStorageService onePutStorageService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
ILdOnePutStorageDetailService onePutStorageDetailService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
ILdOnePutStoragePurchaseEndService onePutStoragePurchaseEndService;
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public PageInfo<LdPurchaseEnd> getPurchaseEndList(String purchaseNo, Integer pageNum, Integer pageSize) {
|
||
|
|
PageHelper.startPage(pageNum,pageSize);
|
||
|
|
List<LdPurchaseEnd> ldPurchaseEndList = purchaseEndMapper.selectPurchaseEndList(purchaseNo);
|
||
|
|
PageInfo<LdPurchaseEnd> pageInfo = new PageInfo<>(ldPurchaseEndList);
|
||
|
|
return pageInfo;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public List<QuarterVO> getAllQuarter() {
|
||
|
|
List<QuarterVO> quarterVOList = purchaseEndMapper.getAllQuarters();
|
||
|
|
return quarterVOList;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public List<LdOnePutStorageDetail> getPurchasesByIds(String ids) {
|
||
|
|
if(StringUtils.isEmpty(ids)){
|
||
|
|
throw new CustomerException("ids不能为空");
|
||
|
|
}
|
||
|
|
//查询一级入库是否有该采购单
|
||
|
|
List<Long> idList = Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList());
|
||
|
|
List<LdOnePutStoragePurchaseEnd> onePutStoragePurchaseEndList = onePutStoragePurchaseEndService.selectByPurchaseEndId(idList);
|
||
|
|
if(!CollectionUtils.isEmpty(onePutStoragePurchaseEndList)){
|
||
|
|
//获取一级库ID
|
||
|
|
List<Long> onePutStorageIds = onePutStoragePurchaseEndList.stream()
|
||
|
|
.map(LdOnePutStoragePurchaseEnd::getOnePutStorageId)
|
||
|
|
.distinct()
|
||
|
|
.collect(Collectors.toList());
|
||
|
|
//查询是否审核通过
|
||
|
|
List<LdOnePutStorage> ldOnePutStorageList = onePutStorageService.getApprove(onePutStorageIds);
|
||
|
|
if(!CollectionUtils.isEmpty(ldOnePutStorageList)){
|
||
|
|
//通过的话需要汇总入库数量
|
||
|
|
List<Long> collect = ldOnePutStorageList.stream()
|
||
|
|
.map(LdOnePutStorage::getId)
|
||
|
|
.collect(Collectors.toList());
|
||
|
|
|
||
|
|
List<LdOnePutStorageDetail> ldOnePutStorageDetailList = onePutStorageDetailService.getSummaryData(collect);
|
||
|
|
return ldOnePutStorageDetailList;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//直接返回采购单数据 查询采购单
|
||
|
|
List<LdPurchaseEnd> ldPurchaseEndList = purchaseEndMapper.selectByIdList(idList);
|
||
|
|
List<LdOnePutStorageDetail> list = new ArrayList<>();
|
||
|
|
for (LdPurchaseEnd ldPurchaseEnd : ldPurchaseEndList) {
|
||
|
|
|
||
|
|
LdOnePutStorageDetail onePutStorageDetail = new LdOnePutStorageDetail();
|
||
|
|
onePutStorageDetail.setMaterialId(ldPurchaseEnd.getMaterialId());
|
||
|
|
onePutStorageDetail.setMaterialName(ldPurchaseEnd.getMaterialName());
|
||
|
|
onePutStorageDetail.setModel(ldPurchaseEnd.getModel());
|
||
|
|
onePutStorageDetail.setType(ldPurchaseEnd.getType());
|
||
|
|
onePutStorageDetail.setUnit(ldPurchaseEnd.getUnit());
|
||
|
|
onePutStorageDetail.setRequiredQuantity(new BigDecimal(ldPurchaseEnd.getNum()));
|
||
|
|
onePutStorageDetail.setUnitPrice(ldPurchaseEnd.getMoney());
|
||
|
|
onePutStorageDetail.setLdPurchaseEndId(ldPurchaseEnd.getId());
|
||
|
|
list.add(onePutStorageDetail);
|
||
|
|
}
|
||
|
|
|
||
|
|
return list;
|
||
|
|
}
|
||
|
|
}
|