From 58ec40780b806e8d191243cb327fb88869f9c321 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Thu, 28 Dec 2023 09:37:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=99=A8=E5=85=B7=E7=BB=91=E5=AE=9A=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=AF=BC=E5=87=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wms/enums/DictTypeConstants.java | 1 + .../ContainerBindRecordMainController.java | 14 +++- .../vo/ContainerBindRecordMainExcelVO.java | 75 ++++++------------- .../ContainerBindRecordMainService.java | 2 +- .../ContainerBindRecordMainServiceImpl.java | 35 ++++++++- 5 files changed, 68 insertions(+), 59 deletions(-) diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java index 803e99b3..4e1be048 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java @@ -87,4 +87,5 @@ public interface DictTypeConstants { String BIND_TYPE = "bind_type"; // 器具绑定类型 String CONTAINER_TYPE = "container_type"; // 器具类型 String CONTAINER_STATUS = "container_status"; // 器具状态 + String CONTAINER_CONTENT_TYPE = "container_content_type"; // 器具内容类型 } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/ContainerBindRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/ContainerBindRecordMainController.java index 99e9f215..1806c07a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/ContainerBindRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/ContainerBindRecordMainController.java @@ -2,11 +2,13 @@ package com.win.module.wms.controller.containerBind; import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.PageResult; +import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.wms.controller.containerBind.vo.*; import com.win.module.wms.convert.containerBind.ContainerBindRecordMainConvert; import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordMainDO; +import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.containerBind.ContainerBindRecordMainService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -93,10 +95,16 @@ public class ContainerBindRecordMainController { @OperateLog(type = EXPORT) public void exportContainerBindRecordMainExcel(@Valid ContainerBindRecordMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { - List list = containerBindRecordMainService.getContainerBindRecordMainList(exportReqVO); + Map mapDropDown = new HashMap<>(); + String[] componentContainerContentType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CONTAINER_CONTENT_TYPE); + mapDropDown.put(3, componentContainerContentType); + String[] componentInventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(7, componentInventoryStatus); + String[] componentUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(8, componentUom); + List list = containerBindRecordMainService.getContainerBindRecordMainList(exportReqVO); // 导出 Excel - List datas = ContainerBindRecordMainConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "器具绑定记录主.xls", "数据", ContainerBindRecordMainExcelVO.class, datas); + ExcelUtils.write(response, "器具绑定记录主.xls", "数据", ContainerBindRecordMainExcelVO.class, list,mapDropDown); } @GetMapping("/get-import-template") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainExcelVO.java index dc0fe2c8..e72e1243 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainExcelVO.java @@ -1,8 +1,12 @@ package com.win.module.wms.controller.containerBind.vo; import com.alibaba.excel.annotation.ExcelProperty; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.wms.enums.DictTypeConstants; import lombok.Data; +import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -19,70 +23,35 @@ public class ContainerBindRecordMainExcelVO { @ExcelProperty("器具号") private String containerNumber; - @ExcelProperty("从仓库代码") + @ExcelProperty("仓库代码") private String fromWarehouseCode; - @ExcelProperty("到仓库代码") - private String toWarehouseCode; + @ExcelProperty(value = "内容物类型",converter = DictConvert.class) + @DictFormat(DictTypeConstants.CONTAINER_CONTENT_TYPE) + private String containerContentType; - @ExcelProperty("出库事务类型") - private String outTransactionType; + @ExcelProperty("内容物号") + private String contentNumber; - @ExcelProperty("入库事务类型") - private String inTransactionType; + @ExcelProperty("物料代码") + private String itemCode; - @ExcelProperty("执行时间") - private LocalDateTime executeTime; + @ExcelProperty("批次") + private String batch; - @ExcelProperty("生效日期") - private LocalDateTime activeDate; + @ExcelProperty(value = "库存状态",converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; - @ExcelProperty("是否可用") - private String available; + @ExcelProperty(value = "计量单位",converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String uom; - @ExcelProperty("申请时间") - private LocalDateTime requestTime; - - @ExcelProperty("截止时间") - private LocalDateTime dueTime; - - @ExcelProperty("部门") - private String departmentCode; - - @ExcelProperty("用户组") - private String userGroupCode; - - @ExcelProperty("接口类型") - private String interfaceType; - - @ExcelProperty("业务类型") - private String businessType; - - @ExcelProperty("备注") - private String remark; + @ExcelProperty("数量") + private BigDecimal qty; @ExcelProperty("创建时间") private LocalDateTime createTime; - @ExcelProperty("扩展属性") - private String extraProperties; - - @ExcelProperty("地点ID") - private String siteId; - - @ExcelProperty("代码") - private String code; - - @ExcelProperty("从库位类型范围") - private String fromLocationTypes; - - @ExcelProperty("到库位类型范围") - private String toLocationTypes; - - @ExcelProperty("从库区代码范围") - private String fromAreaCodes; - - @ExcelProperty("到库区代码范围") - private String toAreaCodes; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainService.java index 0bfb8b00..a103be3d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainService.java @@ -67,7 +67,7 @@ public interface ContainerBindRecordMainService { * @param exportReqVO 查询条件 * @return 器具绑定记录主列表 */ - List getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO); + List getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO); /** * 导入器具绑定记录主主信息 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainServiceImpl.java index f04251e0..cf20097f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainServiceImpl.java @@ -3,9 +3,16 @@ package com.win.module.wms.service.containerBind; import cn.hutool.core.collection.CollUtil; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.containerBind.vo.*; +import com.win.module.wms.controller.containerinit.vo.ContainerInitRecordDetailExportReqVO; +import com.win.module.wms.controller.containerinit.vo.ContainerInitRecordMainExcelVO; import com.win.module.wms.convert.containerBind.ContainerBindRecordMainConvert; +import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordDetailDO; import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordMainDO; +import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordDetailDO; +import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordMainDO; +import com.win.module.wms.dal.mysql.containerBind.ContainerBindRecordDetailMapper; import com.win.module.wms.dal.mysql.containerBind.ContainerBindRecordMainMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -13,6 +20,8 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.wms.enums.ErrorCodeConstants.CONTAINER_BIND_RECORD_MAIN_IMPORT_LIST_IS_EMPTY; @@ -29,6 +38,8 @@ public class ContainerBindRecordMainServiceImpl implements ContainerBindRecordMa @Resource private ContainerBindRecordMainMapper containerBindRecordMainMapper; + @Resource + private ContainerBindRecordDetailMapper containerBindRecordDetailMapper; @Override public Long createContainerBindRecordMain(ContainerBindRecordMainCreateReqVO createReqVO) { @@ -78,8 +89,28 @@ public class ContainerBindRecordMainServiceImpl implements ContainerBindRecordMa } @Override - public List getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO) { - return containerBindRecordMainMapper.selectList(exportReqVO); + public List getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO) { + List excelVOList = new ArrayList<>(); + List mainDOList = containerBindRecordMainMapper.selectList(exportReqVO); + if(mainDOList != null && mainDOList.size() > 0){ + ContainerBindRecordDetailExportReqVO reqVO = new ContainerBindRecordDetailExportReqVO(); + BeanUtils.copyProperties(exportReqVO,reqVO); + List detailDOList = containerBindRecordDetailMapper.selectList(reqVO); + Map> groupMasterIdMap = detailDOList.stream().collect(Collectors.groupingBy(ContainerBindRecordDetailDO::getMasterId)); + for(ContainerBindRecordMainDO mainDO:mainDOList){ + Long id = mainDO.getId(); + List detailChildList = groupMasterIdMap.get(id); + if(detailChildList != null && detailChildList.size() > 0){ + for(ContainerBindRecordDetailDO detailDO:detailChildList){ + ContainerBindRecordMainExcelVO containerInitRecordMainExcelVO = new ContainerBindRecordMainExcelVO(); + BeanUtils.copyProperties(mainDO,containerInitRecordMainExcelVO); + BeanUtils.copyProperties(detailDO,containerInitRecordMainExcelVO); + excelVOList.add(containerInitRecordMainExcelVO); + } + } + } + } + return excelVOList; } @Override