郑永安
2023-06-19 2fcd97552d16718cc7997629fd637a73a5a4483f
src/main/java/com/gk/firework/Service/ServiceImpl/SoldNoStockServiceImpl.java
对比新文件
@@ -0,0 +1,96 @@
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);
    }
}