|
|
|
@ -1,7 +1,17 @@
|
|
|
|
|
package com.bookstore.bookmall.ware.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.bookstore.bookmall.ware.entity.PurchaseDetailEntity;
|
|
|
|
|
import com.bookstore.bookmall.ware.service.PurchaseDetailService;
|
|
|
|
|
import com.bookstore.bookmall.ware.vo.MergeVo;
|
|
|
|
|
import com.bookstore.common.constant.WareConstant;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
@ -11,12 +21,14 @@ import com.bookstore.common.utils.Query;
|
|
|
|
|
import com.bookstore.bookmall.ware.dao.PurchaseDao;
|
|
|
|
|
import com.bookstore.bookmall.ware.entity.PurchaseEntity;
|
|
|
|
|
import com.bookstore.bookmall.ware.service.PurchaseService;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Service("purchaseService")
|
|
|
|
|
public class PurchaseServiceImpl extends ServiceImpl<PurchaseDao, PurchaseEntity> implements PurchaseService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
PurchaseDetailService purchaseDetailService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -43,4 +55,39 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseDao, PurchaseEntity
|
|
|
|
|
return new PageUtils(page);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Transactional
|
|
|
|
|
@Override
|
|
|
|
|
public void mergePurchase(MergeVo mergeVo) {
|
|
|
|
|
Long purchaseId = mergeVo.getPurchaseId();
|
|
|
|
|
//没有选择采购单
|
|
|
|
|
if (purchaseId == null) {
|
|
|
|
|
//新建一个
|
|
|
|
|
PurchaseEntity purchaseEntity = new PurchaseEntity();
|
|
|
|
|
purchaseEntity.setCreateTime(new Date());
|
|
|
|
|
purchaseEntity.setCreateTime(new Date());
|
|
|
|
|
purchaseEntity.setStatus(WareConstant.PurchaseStatusEnum.CREATED.getCode());
|
|
|
|
|
this.save(purchaseEntity);
|
|
|
|
|
|
|
|
|
|
purchaseId = purchaseEntity.getId();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Long> items = mergeVo.getItems();
|
|
|
|
|
Long finalPurchaseId = purchaseId;
|
|
|
|
|
List<PurchaseDetailEntity> collect = items.stream().map(item -> {
|
|
|
|
|
PurchaseDetailEntity purchaseDetailEntity = new PurchaseDetailEntity();
|
|
|
|
|
purchaseDetailEntity.setId(item);
|
|
|
|
|
purchaseDetailEntity.setPurchaseId(finalPurchaseId);
|
|
|
|
|
purchaseDetailEntity.setStatus(WareConstant.PurchaseDetailStatusEnum.ASSIGNED.getCode());
|
|
|
|
|
return purchaseDetailEntity;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
purchaseDetailService.updateBatchById(collect);
|
|
|
|
|
|
|
|
|
|
PurchaseEntity purchaseEntity = new PurchaseEntity();
|
|
|
|
|
purchaseEntity.setId(purchaseId);
|
|
|
|
|
purchaseEntity.setUpdateTime(new Date());
|
|
|
|
|
this.updateById(purchaseEntity);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|