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 implements SoldNoStockService { @Autowired private SoldNoStockInfoMapper soldNoStockInfoMapper; @Autowired private ProductService productService; @Override public void selectSoldNoStockDataGrid(PageInfo pageInfo) { Page page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize()); List 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 detailInfos = soldNoStockInfoMapper.selectSoldNoStockDataGrid(pageInfo.getCondition(),page); pageInfo.setResult(detailInfos); pageInfo.setTotalCount(page.getTotal()); } @Override public SoldNoStockInfo selectSoldNoStockByDire(String directionCode) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SoldNoStockInfo::getDirectioncode, directionCode); return soldNoStockInfoMapper.selectOne(queryWrapper); } @Override public List selectSoldNoStocksUnprocessed(Enterprise enterprise) { LambdaQueryWrapper 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 soldNoStockInfos) { if (soldNoStockInfos == null || soldNoStockInfos.size() == 0) { throw new BusinessException("系统入参为空"); } int i = soldNoStockInfoMapper.insertBatch(soldNoStockInfos); } }