Browse Source

器具绑定记录导出修改

master
赵雪冰 2 years ago
parent
commit
58ec40780b
  1. 1
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
  2. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/ContainerBindRecordMainController.java
  3. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainExcelVO.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainService.java
  5. 35
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/containerBind/ContainerBindRecordMainServiceImpl.java

1
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 BIND_TYPE = "bind_type"; // 器具绑定类型
String CONTAINER_TYPE = "container_type"; // 器具类型 String CONTAINER_TYPE = "container_type"; // 器具类型
String CONTAINER_STATUS = "container_status"; // 器具状态 String CONTAINER_STATUS = "container_status"; // 器具状态
String CONTAINER_CONTENT_TYPE = "container_content_type"; // 器具内容类型
} }

14
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.CommonResult;
import com.win.framework.common.pojo.PageResult; 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.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.wms.controller.containerBind.vo.*; import com.win.module.wms.controller.containerBind.vo.*;
import com.win.module.wms.convert.containerBind.ContainerBindRecordMainConvert; import com.win.module.wms.convert.containerBind.ContainerBindRecordMainConvert;
import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordMainDO; 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 com.win.module.wms.service.containerBind.ContainerBindRecordMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -93,10 +95,16 @@ public class ContainerBindRecordMainController {
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportContainerBindRecordMainExcel(@Valid ContainerBindRecordMainExportReqVO exportReqVO, public void exportContainerBindRecordMainExcel(@Valid ContainerBindRecordMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<ContainerBindRecordMainDO> list = containerBindRecordMainService.getContainerBindRecordMainList(exportReqVO); Map<Integer, String[]> 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<ContainerBindRecordMainExcelVO> list = containerBindRecordMainService.getContainerBindRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ContainerBindRecordMainExcelVO> datas = ContainerBindRecordMainConvert.INSTANCE.convertList02(list); ExcelUtils.write(response, "器具绑定记录主.xls", "数据", ContainerBindRecordMainExcelVO.class, list,mapDropDown);
ExcelUtils.write(response, "器具绑定记录主.xls", "数据", ContainerBindRecordMainExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

75
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; package com.win.module.wms.controller.containerBind.vo;
import com.alibaba.excel.annotation.ExcelProperty; 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 lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -19,70 +23,35 @@ public class ContainerBindRecordMainExcelVO {
@ExcelProperty("器具号") @ExcelProperty("器具号")
private String containerNumber; private String containerNumber;
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
private String fromWarehouseCode; private String fromWarehouseCode;
@ExcelProperty("到仓库代码") @ExcelProperty(value = "内容物类型",converter = DictConvert.class)
private String toWarehouseCode; @DictFormat(DictTypeConstants.CONTAINER_CONTENT_TYPE)
private String containerContentType;
@ExcelProperty("出库事务类型") @ExcelProperty("内容物号")
private String outTransactionType; private String contentNumber;
@ExcelProperty("入库事务类型") @ExcelProperty("物料代码")
private String inTransactionType; private String itemCode;
@ExcelProperty("执行时间") @ExcelProperty("批次")
private LocalDateTime executeTime; private String batch;
@ExcelProperty("生效日期") @ExcelProperty(value = "库存状态",converter = DictConvert.class)
private LocalDateTime activeDate; @DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("是否可用") @ExcelProperty(value = "计量单位",converter = DictConvert.class)
private String available; @DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("申请时间") @ExcelProperty("数量")
private LocalDateTime requestTime; private BigDecimal qty;
@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("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; 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;
} }

2
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 查询条件 * @param exportReqVO 查询条件
* @return 器具绑定记录主列表 * @return 器具绑定记录主列表
*/ */
List<ContainerBindRecordMainDO> getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO); List<ContainerBindRecordMainExcelVO> getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO);
/** /**
* 导入器具绑定记录主主信息 * 导入器具绑定记录主主信息

35
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 cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.containerBind.vo.*; 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.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.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 com.win.module.wms.dal.mysql.containerBind.ContainerBindRecordMainMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -13,6 +20,8 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; 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.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.CONTAINER_BIND_RECORD_MAIN_IMPORT_LIST_IS_EMPTY; 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 @Resource
private ContainerBindRecordMainMapper containerBindRecordMainMapper; private ContainerBindRecordMainMapper containerBindRecordMainMapper;
@Resource
private ContainerBindRecordDetailMapper containerBindRecordDetailMapper;
@Override @Override
public Long createContainerBindRecordMain(ContainerBindRecordMainCreateReqVO createReqVO) { public Long createContainerBindRecordMain(ContainerBindRecordMainCreateReqVO createReqVO) {
@ -78,8 +89,28 @@ public class ContainerBindRecordMainServiceImpl implements ContainerBindRecordMa
} }
@Override @Override
public List<ContainerBindRecordMainDO> getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO) { public List<ContainerBindRecordMainExcelVO> getContainerBindRecordMainList(ContainerBindRecordMainExportReqVO exportReqVO) {
return containerBindRecordMainMapper.selectList(exportReqVO); List<ContainerBindRecordMainExcelVO> excelVOList = new ArrayList<>();
List<ContainerBindRecordMainDO> mainDOList = containerBindRecordMainMapper.selectList(exportReqVO);
if(mainDOList != null && mainDOList.size() > 0){
ContainerBindRecordDetailExportReqVO reqVO = new ContainerBindRecordDetailExportReqVO();
BeanUtils.copyProperties(exportReqVO,reqVO);
List<ContainerBindRecordDetailDO> detailDOList = containerBindRecordDetailMapper.selectList(reqVO);
Map<Long,List<ContainerBindRecordDetailDO>> groupMasterIdMap = detailDOList.stream().collect(Collectors.groupingBy(ContainerBindRecordDetailDO::getMasterId));
for(ContainerBindRecordMainDO mainDO:mainDOList){
Long id = mainDO.getId();
List<ContainerBindRecordDetailDO> 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 @Override

Loading…
Cancel
Save