package com.gk.firework.Service.ServiceImpl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gk.firework.Domain.*;
|
import com.gk.firework.Domain.Exception.BusinessException;
|
import com.gk.firework.Domain.Utils.PageInfo;
|
import com.gk.firework.Domain.Utils.StringUtils;
|
import com.gk.firework.Mapper.SoldNoStockInfoMapper;
|
import com.gk.firework.Service.ProductService;
|
import com.gk.firework.Service.SoldNoStockService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author : jingjy
|
* @date : 2021/4/7 15:19
|
*/
|
@Service("SoldNoStockService")
|
public class SoldNoStockServiceImpl extends ServiceImpl<SoldNoStockInfoMapper, SoldNoStockInfo> implements SoldNoStockService {
|
@Autowired
|
private SoldNoStockInfoMapper soldNoStockInfoMapper;
|
@Autowired
|
private ProductService productService;
|
|
@Override
|
public void selectSoldNoStockDataGrid(PageInfo pageInfo) {
|
Page<SaleOrderDetailInfo> page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize());
|
|
List<OrderItem> orderItems = new ArrayList<>();
|
OrderItem orderItem = new OrderItem();
|
if (StringUtils.isNotBlank(pageInfo.getSort()) && StringUtils.isNotBlank(pageInfo.getOrder())) {
|
orderItem.setAsc(pageInfo.getOrder().equalsIgnoreCase("ascending"));
|
orderItem.setColumn(pageInfo.getSort());
|
}else {
|
orderItem.setAsc(false);
|
orderItem.setColumn("createdat");
|
}
|
orderItems.add(orderItem);
|
page.setOrders(orderItems);
|
if (StringUtils.isBlank(pageInfo.getSort())){
|
pageInfo.setSort("createdat");
|
}
|
if (StringUtils.isBlank(pageInfo.getOrder())){
|
pageInfo.setOrder("desc");
|
}
|
List<SaleOrderDetailInfo> detailInfos = soldNoStockInfoMapper.selectSoldNoStockDataGrid(pageInfo.getCondition(),page);
|
pageInfo.setResult(detailInfos);
|
pageInfo.setTotalCount(page.getTotal());
|
}
|
|
@Override
|
public SoldNoStockInfo selectSoldNoStockByDire(String directionCode) {
|
LambdaQueryWrapper<SoldNoStockInfo> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(SoldNoStockInfo::getDirectioncode, directionCode);
|
return soldNoStockInfoMapper.selectOne(queryWrapper);
|
}
|
|
@Override
|
public List<SoldNoStockInfo> selectSoldNoStocksUnprocessed(Enterprise enterprise) {
|
LambdaQueryWrapper<SoldNoStockInfo> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(SoldNoStockInfo::getCompanynumber, enterprise.getEnterprisenumber());
|
queryWrapper.eq(SoldNoStockInfo::getFlag, SoldNoStockInfo.UNPROCESSED);
|
return soldNoStockInfoMapper.selectList(queryWrapper);
|
}
|
|
@Override
|
public void saveByStock(StockInfo stockInfo, Date salesTime, UserInfo userInfo) {
|
SoldNoStockInfo soldNoStockInfo = new SoldNoStockInfo();
|
soldNoStockInfo.setDirectioncode(stockInfo.getDirectioncode());
|
ProductInfo productInfo1 = productService.selectByDirection(stockInfo.getDirectioncode());
|
soldNoStockInfo.setItemcode(productInfo1.getDirectionCode());
|
soldNoStockInfo.setItemname(productInfo1.getName());
|
soldNoStockInfo.setSalestime(salesTime);
|
soldNoStockInfo.setSalesperson(userInfo.getUsername());
|
soldNoStockInfo.setCompanynumber(userInfo.getCompanynumber());
|
soldNoStockInfo.setCreatedat(new Date());
|
soldNoStockInfo.setCreatedby("系统生成");
|
soldNoStockInfo.setContent(productInfo1.getManufacturer());
|
this.save(soldNoStockInfo);
|
}
|
|
@Override
|
public void saveBatchInfo(List<SoldNoStockInfo> soldNoStockInfos) {
|
if (soldNoStockInfos == null || soldNoStockInfos.size() == 0) {
|
throw new BusinessException("系统入参为空");
|
}
|
int i = soldNoStockInfoMapper.insertBatch(soldNoStockInfos);
|
}
|
}
|