diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index b97baeb..d6f54f3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -9,6 +9,8 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; import java.text.DecimalFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -821,6 +823,9 @@ public class ExcelUtil String dictType = attr.dictType(); if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { + if (value instanceof LocalDateTime){ + value = Date.from(((LocalDateTime) value).atZone(ZoneId.systemDefault()).toInstant()); + } cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value)); } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) diff --git a/wms/src/main/java/com/cyl/wms/domain/Item.java b/wms/src/main/java/com/cyl/wms/domain/Item.java index 22c7b77..96b69fe 100644 --- a/wms/src/main/java/com/cyl/wms/domain/Item.java +++ b/wms/src/main/java/com/cyl/wms/domain/Item.java @@ -78,4 +78,10 @@ public class Item extends BaseAudit { @TableField(exist = false) private String itemTypeName; + + @TableField(exist = false) + private String warehouseName; + + @TableField(exist = false) + private String areaName; } diff --git a/wms/src/main/java/com/cyl/wms/pojo/vo/ItemVO.java b/wms/src/main/java/com/cyl/wms/pojo/vo/ItemVO.java index 56d008d..38c83ed 100644 --- a/wms/src/main/java/com/cyl/wms/pojo/vo/ItemVO.java +++ b/wms/src/main/java/com/cyl/wms/pojo/vo/ItemVO.java @@ -25,7 +25,6 @@ public class ItemVO extends BaseAudit { @Excel(name = "名称") private String itemName; /** 分类 */ - @Excel(name = "分类") private String itemType; /** * 所属类别 @@ -36,13 +35,16 @@ public class ItemVO extends BaseAudit { @Excel(name = "单位类别") private String unit; /** 所属货架 */ - @Excel(name = "所属货架") private Long rackId; /** 所属库区 */ - @Excel(name = "所属库区") private Long areaId; - /** 所属仓库 */ + /** 所属仓库名称 */ @Excel(name = "所属仓库") + private String warehouseName; + /** 所属库区名称 */ + @Excel(name = "所属库区") + private String areaName; + /** 所属仓库 */ private Long warehouseId; /** 安全库存 */ @Excel(name = "安全库存") diff --git a/wms/src/main/java/com/cyl/wms/service/ItemService.java b/wms/src/main/java/com/cyl/wms/service/ItemService.java index 5bcb742..ba1e5d6 100644 --- a/wms/src/main/java/com/cyl/wms/service/ItemService.java +++ b/wms/src/main/java/com/cyl/wms/service/ItemService.java @@ -4,9 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.cyl.wms.convert.ItemConvert; -import com.cyl.wms.domain.Item; -import com.cyl.wms.domain.ItemType; -import com.cyl.wms.domain.Rack; +import com.cyl.wms.domain.*; import com.cyl.wms.mapper.ItemMapper; import com.cyl.wms.pojo.query.ItemQuery; import com.cyl.wms.pojo.vo.ItemVO; @@ -37,6 +35,10 @@ public class ItemService { @Autowired private ItemTypeService itemTypeService; + @Autowired + private WarehouseService warehouseService; + @Autowired + private AreaService areaService; public List toVos(List items) { List list = convert.dos2vos(items); @@ -210,6 +212,8 @@ public class ItemService { private List getItemList(QueryWrapper qw) { List items = itemMapper.selectList(qw); injectTypeName(items); + injectWarehouseName(items); + injectAreaName(items); return items; } @@ -231,6 +235,40 @@ public class ItemService { }); } + /** + * 注入仓库名称 + * @param res 物料 + */ + public void injectWarehouseName(List res){ + if (CollUtil.isEmpty(res)){ + return; + } + Set warehouses = res.stream().map(Item::getWarehouseId).collect(Collectors.toSet()); + Map warehouseMap = warehouseService.selectByIdIn(warehouses).stream().collect(Collectors.toMap(Warehouse::getId, it -> it)); + res.forEach(it -> { + if (it.getWarehouseId() != null && warehouseMap.containsKey(it.getWarehouseId())){ + it.setWarehouseName(warehouseMap.get(it.getWarehouseId()).getWarehouseName()); + } + }); + } + + /** + * 注入库区名称 + * @param res 物料 + */ + public void injectAreaName(List res){ + if (CollUtil.isEmpty(res)){ + return; + } + Set areas = res.stream().map(Item::getAreaId).collect(Collectors.toSet()); + Map areaMap = areaService.selectByIdIn(areas).stream().collect(Collectors.toMap(Area::getId, it -> it)); + res.forEach(it -> { + if (it.getAreaId() != null && areaMap.containsKey(it.getAreaId())){ + it.setAreaName(areaMap.get(it.getAreaId()).getAreaName()); + } + }); + } + /** * 查询过期物料 * @param page 分页条件