package com.wms_admin.server.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wms_admin.server.entity.Product;
import com.wms_admin.server.mapper.ProductMapper;
import com.wms_admin.server.service.ProductModelService;
import com.wms_admin.server.service.ProductNameService;
import com.wms_admin.server.service.ProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wms_admin.utils.MyUtils;
import com.wms_admin.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
*
* 服务实现类
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-05-24
*/
@Service
public class ProductServiceImpl extends ServiceImpl implements ProductService {
@Resource
private ProductMapper mapper;
@Autowired
private ProductModelService modelService;
@Autowired
private ProductNameService nameService;
/**
* 入库添加操作
* @param product 实体类
* @return 返回结果:1 成功;0:失败
*/
@Override
public Integer AddProductMessage(Product product) {
Integer productModelId = modelService.SelectProductModelId(product.getProductModel(), product.getProductCode());
product.setProductModelId(productModelId);
Integer productNameId = nameService.SelectProductNameId(product.getProductName());
product.setProductNameId(productNameId);
return mapper.insert(product);
}
/**
* 根据条件分页查询数据
* @param startTime 开始时间,可以为空,但是一旦有开始时间那么一定有结束时间
* @param endTime 结束时间
* @param productModel 库存型号
* @param page 分页条件
* @return 返回数据
*/
@Override
public IPage ListProductMessage(String startTime, String endTime, String productModel, Page page) {
return mapper.SelectHistory(startTime, endTime, productModel, page);
}
/**
* 根据条件导出所有的数据
* @param startTime 开始时间,可以为空,但是一旦有开始时间那么一定有结束时间
* @param endTime 结束时间
* @param productModel 库存型号
* @return 返回查询到的数据
*/
@Override
public List ExcelDerive(String startTime, String endTime, String productModel) {
return mapper.SelectHistory(startTime, endTime, productModel);
}
@Override
public List