|
@@ -0,0 +1,87 @@
|
|
|
+package com.sd.business.service.inventory.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.sd.business.entity.bom.po.Bom;
|
|
|
+import com.sd.business.entity.bom.po.BomSpec;
|
|
|
+import com.sd.business.entity.department.po.Department;
|
|
|
+import com.sd.business.entity.inventory.dto.InventoryBackupSelectDto;
|
|
|
+import com.sd.business.entity.inventory.po.Inventory;
|
|
|
+import com.sd.business.entity.inventory.po.InventoryBackup;
|
|
|
+import com.sd.business.entity.inventory.vo.InventoryBackupVo;
|
|
|
+import com.sd.business.entity.warehouse.po.Warehouse;
|
|
|
+import com.sd.business.mapper.inventory.InventoryBackupMapper;
|
|
|
+import com.sd.business.service.inventory.InventoryBackupService;
|
|
|
+import com.sd.framework.util.excel.util.ExcelUtil;
|
|
|
+import com.sd.framework.util.sql.Sql;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 库存快照 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-12-11
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class InventoryBackupServiceImpl extends ServiceImpl<InventoryBackupMapper, InventoryBackup> implements InventoryBackupService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private HttpServletResponse response;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<InventoryBackupVo> getPage(InventoryBackupSelectDto dto) {
|
|
|
+
|
|
|
+ Page<InventoryBackupVo> page = Sql.create(InventoryBackupVo.class)
|
|
|
+ .selectAll(Inventory.class)
|
|
|
+ .selectAs(Warehouse::getName, InventoryBackupVo::getWarehouseName)
|
|
|
+ .selectAs(BomSpec::getCode, InventoryBackupVo::getBomSpecCode)
|
|
|
+ .selectAs(BomSpec::getName, InventoryBackupVo::getBomSpecName)
|
|
|
+ .selectAs(Department::getName, InventoryBackupVo::getDepartmentName)
|
|
|
+ .multiply(Inventory::getQuantity, Inventory::getBalanceUnitPrice, InventoryBackupVo::getTotalPrice)
|
|
|
+ .add(Inventory::getQuantity, Inventory::getLockQuantity, InventoryBackupVo::getTotalQuantity)
|
|
|
+
|
|
|
+ .from(Inventory.class)
|
|
|
+ .leftJoin(BomSpec.class, BomSpec::getId, Inventory::getBomSpecId)
|
|
|
+ .leftJoin(Bom.class, Bom::getId, BomSpec::getBomId)
|
|
|
+ .leftJoin(Warehouse.class, Warehouse::getId, Inventory::getWarehouseId)
|
|
|
+ .leftJoin(Department.class, Department::getId, Inventory::getDepartmentId)
|
|
|
+
|
|
|
+ .orderByDesc(Inventory::getId)
|
|
|
+ .eq(InventoryBackup::getBackupDate, DateUtil.offsetDay(dto.getBackupDate(), -1))
|
|
|
+ .eq(Inventory::getDepartmentId, dto.getDepartmentId())
|
|
|
+ .eq(Inventory::getWarehouseId, dto.getWarehouseId())
|
|
|
+ .in(Inventory::getWarehouseId, dto.getWarehouseIdList())
|
|
|
+ .like(BomSpec::getName, dto.getBomSpecName())
|
|
|
+ .like(BomSpec::getCode, dto.getBomSpecCode())
|
|
|
+ .like(BomSpec::getColour, dto.getBomSpecColour())
|
|
|
+ .like(BomSpec::getLength, dto.getBomSpecLength())
|
|
|
+ .like(BomSpec::getWidth, dto.getBomSpecWidth())
|
|
|
+ .eq(Bom::getBomClassifyId, dto.getBomClassifyId())
|
|
|
+ .eq(Bom::getSpecies, dto.getBomSpecies())
|
|
|
+ .eq(Bom::getChromatophore, dto.getBomChromatophore())
|
|
|
+ .eq(Bom::getEmbossingProcess, dto.getBomEmbossingProcess())
|
|
|
+ .eq(Bom::getFrontGrain, dto.getBomFrontGrain())
|
|
|
+ .eq(Bom::getReverseGrain, dto.getBomReverseGrain())
|
|
|
+ .page(dto);
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void exportExcel(InventoryBackupSelectDto dto) {
|
|
|
+ dto.setSearchAll(true);
|
|
|
+ Page<InventoryBackupVo> page = getPage(dto);
|
|
|
+ List<InventoryBackupVo> list = page.getRecords();
|
|
|
+ ExcelUtil.export(response, DateUtil.format(new Date(), "yyyy-MM-dd库存数据"), "库存数据", list, InventoryBackupVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|