郑永安
2023-06-19 f65443d8abeaedc9d102324565e8368e7c9d90c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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);
    }
}