diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/area/service/AreaService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/area/service/AreaService.java index 20edb50..0667de4 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/area/service/AreaService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/area/service/AreaService.java @@ -86,7 +86,7 @@ public class AreaService { */ public ResponseDTO batchDelete(List idList) { if (CollectionUtils.isEmpty(idList)) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } JoinerResult joiner = JoinerResult.createJoiner(); @@ -119,7 +119,7 @@ public class AreaService { */ public ResponseDTO delete(Long areaId) { if (null == areaId) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } AreaEntity area = areaManager.queryArea(areaId); diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/item/service/ItemService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/item/service/ItemService.java index 4cb8e36..c9c0531 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/item/service/ItemService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/item/service/ItemService.java @@ -86,7 +86,7 @@ public class ItemService { */ public ResponseDTO batchDelete(List idList) { if (CollectionUtils.isEmpty(idList)) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } itemManager.removeBatchByIds(idList); @@ -104,7 +104,7 @@ public class ItemService { */ public ResponseDTO delete(Long itemId) { if (null == itemId) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } itemDao.deleteById(itemId); diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/controller/LocationController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/controller/LocationController.java index cfb60a3..c807c33 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/controller/LocationController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/controller/LocationController.java @@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.Operation; import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.annotation.Resource; import jakarta.validation.Valid; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -94,4 +95,11 @@ public class LocationController { public ResponseDTO multipleInsert(@RequestBody @Valid MultipleInsert multipleInsert) { return locationService.multipleInsert(multipleInsert); } + + @Operation(summary = "导入 霍锦") + @PostMapping("/location/importLocations") + @SaCheckPermission("location:importLocations") + public ResponseDTO importLocations(@RequestParam MultipartFile file) { + return locationService.importLocations(file); + } } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/domain/form/LocationsImportForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/domain/form/LocationsImportForm.java new file mode 100644 index 0000000..615d65c --- /dev/null +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/domain/form/LocationsImportForm.java @@ -0,0 +1,19 @@ +package net.lab1024.sa.admin.module.business.base.location.domain.form; + +import cn.idev.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class LocationsImportForm { + @ExcelProperty("库区") + private String areaName; + + @ExcelProperty("库位编码") + private String locationCode; + + @ExcelProperty("库位类型") + private String locationType; + +} diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/service/LocationService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/service/LocationService.java index 9acc0b4..8957c8f 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/service/LocationService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/base/location/service/LocationService.java @@ -1,24 +1,22 @@ package net.lab1024.sa.admin.module.business.base.location.service; +import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import com.alibaba.fastjson.JSONObject; +import cn.idev.excel.FastExcel; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.admin.constant.UsageStatusEnum; import net.lab1024.sa.admin.module.business.base.location.dao.LocationDao; import net.lab1024.sa.admin.module.business.base.location.domain.entity.LocationEntity; -import net.lab1024.sa.admin.module.business.base.location.domain.form.LocationAddForm; -import net.lab1024.sa.admin.module.business.base.location.domain.form.LocationUpdateForm; -import net.lab1024.sa.admin.module.business.base.location.domain.form.MultipleAdjust; -import net.lab1024.sa.admin.module.business.base.location.domain.form.MultipleInsert; +import net.lab1024.sa.admin.module.business.base.location.domain.form.*; import net.lab1024.sa.admin.module.business.base.location.manager.LocationManager; -import net.lab1024.sa.admin.util.AdminRequestUtil; import net.lab1024.sa.admin.util.JoinerResult; import net.lab1024.sa.admin.util.ResponseDTOUtils; import net.lab1024.sa.base.common.code.UserErrorCode; +import net.lab1024.sa.base.common.exception.BusinessException; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.util.SmartRequestUtil; @@ -27,6 +25,7 @@ import net.lab1024.sa.base.module.support.dict.service.DictCacheService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; +import org.springframework.web.multipart.MultipartFile; /** * 库位信息 Service @@ -37,6 +36,7 @@ import jakarta.annotation.Resource; */ @Service +@Slf4j public class LocationService { @Resource @@ -96,7 +96,7 @@ public class LocationService { */ public ResponseDTO batchDelete(List idList) { if (CollectionUtils.isEmpty(idList)) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } locationManager.removeBatchByIds(idList); @@ -113,7 +113,7 @@ public class LocationService { */ public ResponseDTO delete(Long locationId) { if (null == locationId) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } locationDao.deleteById(locationId); @@ -131,7 +131,7 @@ public class LocationService { public ResponseDTO multipleAdjust(MultipleAdjust multipleAdjust) { if (CollectionUtils.isEmpty(multipleAdjust.getLocationIds())) { - return ResponseDTO.error(UserErrorCode.PARAM_ERROR, UserErrorCode.PARAM_ERROR.getMsg()); + return ResponseDTO.userErrorParam(UserErrorCode.PARAM_ERROR.getMsg()); } //查询库位 @@ -247,5 +247,28 @@ public class LocationService { return ResponseDTOUtils.buildResponseDTO(joiner); } + /** + * 库位导入 + * + * @param file 上传文件 + * @return ResponseDTO + */ + public ResponseDTO importLocations(MultipartFile file) { + List dataList; + try { + dataList = FastExcel.read(file.getInputStream()).head(LocationsImportForm.class) + .sheet() + .doReadSync(); + } catch (IOException e) { + throw new BusinessException("数据格式存在问题,无法读取"); + } + + if (CollectionUtils.isEmpty(dataList)) { + return ResponseDTO.userErrorParam("数据为空"); + } + + return ResponseDTO.okMsg("成功导入" + dataList.size() + "条,具体数据为:" + JSON.toJSONString(dataList)); + } + }