|
@@ -11,6 +11,7 @@ import com.fjhx.common.entity.AvailableStockBo;
|
|
|
import com.fjhx.common.entity.InOutBo;
|
|
|
import com.fjhx.common.enums.InOutType;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
+import com.fjhx.common.utils.excel.util.ExcelUtil;
|
|
|
import com.fjhx.item.entity.product.po.ProductClassify;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.entity.product.po.ProductStockInfo;
|
|
@@ -18,6 +19,7 @@ import com.fjhx.item.enums.ProductAvailableRecordType;
|
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.item.service.product.ProductStockInfoService;
|
|
|
+import com.fjhx.wms.entity.stock.StockExcelBo;
|
|
|
import com.fjhx.wms.entity.stock.dto.StockDto;
|
|
|
import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
|
|
|
import com.fjhx.wms.entity.stock.dto.StockSelectDto;
|
|
@@ -43,6 +45,7 @@ import com.ruoyi.system.service.ISysDeptService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
@@ -75,9 +78,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
@Autowired
|
|
|
private ISysDeptService sysDeptService;
|
|
|
|
|
|
- @Override
|
|
|
- public Page<StockVo> getPage(StockSelectDto dto) {
|
|
|
- IWrapper<Stock> wrapper = getWrapper();
|
|
|
+ private void setPageWrapper(StockSelectDto dto, IWrapper<Stock> wrapper) {
|
|
|
wrapper.eq(Stock::getWarehouseId, dto.getId());
|
|
|
String keyword = dto.getKeyword();
|
|
|
if (ObjectUtil.isNotEmpty(keyword)) {
|
|
@@ -97,8 +98,9 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
|
|
|
|
|
|
wrapper.orderByDesc("s", Stock::getId);
|
|
|
- Page<StockVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
- List<StockVo> stockVos = page.getRecords();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setPageInfo(List<StockVo> stockVos) {
|
|
|
//赋值产品信息
|
|
|
productInfoService.attributeAssign(stockVos, StockVo::getProductId, (item, productInfo) -> {
|
|
|
item.setProductCode(productInfo.getCode());
|
|
@@ -115,6 +117,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
item.setProductHeight(productInfo.getHeight());
|
|
|
item.setProductColor(productInfo.getColor());
|
|
|
});
|
|
|
+
|
|
|
//赋值产品分类
|
|
|
productClassifyService.attributeAssign(stockVos, StockVo::getProductClassifyId, (item, productClassify) -> {
|
|
|
item.setProductClassifyName(productClassify.getName());
|
|
@@ -157,12 +160,28 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
|
|
|
//赋值归属公司
|
|
|
stockVo.setCompanyName(sysDeptMap.get(stockVo.getCompanyId()));
|
|
|
+
|
|
|
+ stockVo.setProductSpecDim(String.format("%s * %s * %s", stockVo.getProductLength(), stockVo.getProductWidth(), stockVo.getProductHeight()));
|
|
|
}
|
|
|
|
|
|
//赋值仓库名称
|
|
|
warehouseService.attributeAssign(stockVos, StockVo::getWarehouseId, (item, warehouse) -> {
|
|
|
item.setWarehouseName(warehouse.getName());
|
|
|
});
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<StockVo> getPage(StockSelectDto dto) {
|
|
|
+
|
|
|
+ IWrapper<Stock> wrapper = getWrapper();
|
|
|
+ setPageWrapper(dto, wrapper);
|
|
|
+
|
|
|
+ Page<StockVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ List<StockVo> stockVos = page.getRecords();
|
|
|
+
|
|
|
+ setPageInfo(stockVos);
|
|
|
+
|
|
|
return page;
|
|
|
}
|
|
|
|
|
@@ -470,4 +489,22 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
return baseMapper.stockWarningPage(dto.getPage(), SecurityUtils.getCompanyId());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void exportExcel(StockSelectDto dto, HttpServletResponse httpServletResponse) {
|
|
|
+ IWrapper<Stock> wrapper = getWrapper();
|
|
|
+ setPageWrapper(dto, wrapper);
|
|
|
+ List<StockVo> list = baseMapper.getList(wrapper);
|
|
|
+ setPageInfo(list);
|
|
|
+
|
|
|
+ List<StockExcelBo> stockExcelBos = BeanUtil.copyToList(list, StockExcelBo.class);
|
|
|
+ for (StockExcelBo stockExcelBo : stockExcelBos) {
|
|
|
+
|
|
|
+ String productDefinition = stockExcelBo.getProductDefinition();
|
|
|
+ if (ObjectUtil.isNotEmpty(productDefinition)) {
|
|
|
+ stockExcelBo.setProductDefinition(stockExcelBo.getProductDefinition().equals("0") ? "产品" : "物料");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ExcelUtil.export(httpServletResponse, stockExcelBos, StockExcelBo.class);
|
|
|
+ }
|
|
|
+
|
|
|
}
|