From f5beff55159fdde55acdf9c7607d44babcdc0f5f Mon Sep 17 00:00:00 2001 From: yiwenpeng <ywp303@163.com> Date: Sun, 25 Jun 2023 10:25:36 +0800 Subject: [PATCH] 加上库位是否有容器搜索 --- src/main/java/com/huaheng/pc/config/location/controller/LocationController.java | 608 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1 file changed, 308 insertions(+), 300 deletions(-) diff --git a/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java b/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java index 5b77fe3..2b7f4eb 100644 --- a/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java +++ b/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java @@ -45,328 +45,336 @@ import java.util.stream.Collectors; @RequestMapping("/config/location") public class LocationController extends BaseController { - private String prefix = "config/location"; - - @Resource - private ContainerService containerService; - @Resource - private LocationService locationService; - @Resource - private InventoryDetailService inventoryDetailService; - @Resource - private MaterialService materialService; - @Resource - private DataSource dataSource; - @Resource - private Print print; - - @RequiresPermissions("config:location:view") - @GetMapping() - public String location () { - return prefix + "/location"; - } - - /** - * 查询库位列表 - */ - @ApiOperation(value = "查看库位列表", - notes = "根据行、列、层、格、库位类型、库区、库位状态、容器编码、库位名称、库位编码、创建时间获取库位的详细信息", - httpMethod = "POST") - @RequiresPermissions("config:location:list") - @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) - @PostMapping("/list") - @ResponseBody - public TableDataInfo list ( - @ApiParam(name = "location", value = "行、列、层、格、库位类型、库区、库位状态、容器编码、库位名称、库位编码") Location location, - @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, - @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { - LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(); - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); - lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), Location::getCreated, createdBegin) - .lt(StringUtils.isNotEmpty(createdEnd), Location::getCreated, createdEnd) - .eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode()) - .eq(StringUtils.isNotEmpty(location.getCode()), Location::getCode, location.getCode()) - .eq(StringUtils.isNotEmpty(location.getName()), Location::getName, location.getName()) - .eq(StringUtils.isNotEmpty(location.getContainerCode()), Location::getContainerCode, location.getContainerCode()) - .eq(StringUtils.isNotNull(location.getSystemCreated()), Location::getStatus, location.getStatus()) - .eq(StringUtils.isNotEmpty(location.getZoneCode()), Location::getZoneCode, location.getZoneCode()) - .eq(StringUtils.isNotNull(location.getIRow()), Location::getIRow, location.getIRow()) - .eq(StringUtils.isNotNull(location.getIColumn()), Location::getIColumn, location.getIColumn()) - .eq(StringUtils.isNotNull(location.getIGrid()), Location::getIGrid, location.getIGrid()) - .eq(StringUtils.isNotNull(location.getILayer()), Location::getILayer, location.getILayer()) - .eq(StringUtils.isNotEmpty(location.getStatus()), Location::getStatus, location.getStatus()) - .eq(StringUtils.isNotEmpty(location.getLocationType()), Location::getLocationType, location.getLocationType()) - .eq(Location::getDeleted, false) - .orderByDesc(Location::getId); - - if(StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { - /*使用分页查询*/ - Page<Location> page = new Page<>(pageNum, pageSize); - IPage<Location> iPage = locationService.page(page, lambdaQueryWrapper); - return getMpDataTable(iPage.getRecords(), iPage.getTotal()); - } else { - List<Location> list = locationService.list(lambdaQueryWrapper); - return getDataTable(list); + private String prefix = "config/location"; + + @Resource + private ContainerService containerService; + @Resource + private LocationService locationService; + @Resource + private InventoryDetailService inventoryDetailService; + @Resource + private MaterialService materialService; + @Resource + private DataSource dataSource; + @Resource + private Print print; + + @RequiresPermissions("config:location:view") + @GetMapping() + public String location() { + return prefix + "/location"; } - } - - /** - * 查询库位列表 - */ - @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) - @PostMapping("/getAllLocation") - @ResponseBody - public AjaxResult getAllLocation (String type) { - if(StringUtils.isEmpty(type)) { - return AjaxResult.error("type不能为空"); + + /** + * 查询库位列表 + */ + @ApiOperation(value = "查看库位列表", + notes = "根据行、列、层、格、库位类型、库区、库位状态、容器编码、库位名称、库位编码、创建时间获取库位的详细信息", + httpMethod = "POST") + @RequiresPermissions("config:location:list") + @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) + @PostMapping("/list") + @ResponseBody + public TableDataInfo list( + @ApiParam(name = "location", value = "行、列、层、格、库位类型、库区、库位状态、容器编码、库位名称、库位编码") Location location, + @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, + @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { + LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), Location::getCreated, createdBegin) + .lt(StringUtils.isNotEmpty(createdEnd), Location::getCreated, createdEnd) + .eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .eq(StringUtils.isNotEmpty(location.getCode()), Location::getCode, location.getCode()) + .eq(StringUtils.isNotEmpty(location.getName()), Location::getName, location.getName()) + .eq(StringUtils.isNotEmpty(location.getContainerCode()), Location::getContainerCode, location.getContainerCode()) + .eq(StringUtils.isNotNull(location.getSystemCreated()), Location::getStatus, location.getStatus()) + .eq(StringUtils.isNotEmpty(location.getZoneCode()), Location::getZoneCode, location.getZoneCode()) + .eq(StringUtils.isNotNull(location.getIRow()), Location::getIRow, location.getIRow()) + .eq(StringUtils.isNotNull(location.getIColumn()), Location::getIColumn, location.getIColumn()) + .eq(StringUtils.isNotNull(location.getIGrid()), Location::getIGrid, location.getIGrid()) + .eq(StringUtils.isNotNull(location.getILayer()), Location::getILayer, location.getILayer()) + .eq(StringUtils.isNotEmpty(location.getStatus()), Location::getStatus, location.getStatus()) + .eq(StringUtils.isNotEmpty(location.getLocationType()), Location::getLocationType, location.getLocationType()) + .eq(Location::getDeleted, false); + + if (StringUtils.isNotEmpty(location.getUserDef2())) { + if ("有容器".equals(location.getUserDef2())) { + lambdaQueryWrapper.apply("containerCode!='' and containerCode IS NOT null"); + } else { + lambdaQueryWrapper.apply("code in ( select CODE from location where containerCode='' or containerCode IS null) "); + } + lambdaQueryWrapper.orderByDesc(Location::getId); + } + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { + /*使用分页查询*/ + Page<Location> page = new Page<>(pageNum, pageSize); + IPage<Location> iPage = locationService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<Location> list = locationService.list(lambdaQueryWrapper); + return getDataTable(list); + } } - return AjaxResult.success(locationService.getAllLocation(type)); - } - - - /** - * 新增库位 - */ - @GetMapping("/add") - public String add () { - return prefix + "/add"; - } - - /** - * 新增保存库位 - */ - @ApiOperation(value = "新增库位", notes = "新增单个库位", httpMethod = "POST") - @RequiresPermissions("config:location:add") - @Log(title = "配置-库存资料-库位管理", operating = "新增库位", action = BusinessType.INSERT) - @PostMapping("/add") - @ResponseBody - public AjaxResult addSave (Location location) { - AjaxResult result = locationService.addsave(location); - return result; - } - - - /** - * 批量新增库位 - */ - - @GetMapping("/addBatch") - public String addBatch () { - return prefix + "/addBatch"; - } - - - /** - * 批量新增保存库位 - */ - @RequiresPermissions("config:location:add") - @ApiOperation(value = "新增库位", notes = "批量新增库位", httpMethod = "POST") - @Log(title = "配置-库存资料-库位管理", operating = "新增库位", action = BusinessType.INSERT) - @PostMapping("/addBatchSave") - @ResponseBody - public AjaxResult addBatchSave (String prefix, String firstRow, String lastRow, String firstColumn, String lastColumn, String firstLayer, String lastLayer, - String firstGrid, String lastGrid, String roadway, String status, String zoneCode, String locationType, String high) { - - return toAjax(locationService.addBatchSave(prefix, Integer.parseInt(firstRow), Integer.parseInt(lastRow), - Integer.parseInt(firstColumn), Integer.parseInt(lastColumn), Integer.parseInt(firstLayer), Integer.parseInt(lastLayer), - Integer.parseInt(firstGrid), Integer.parseInt(lastGrid), roadway, status, zoneCode, locationType, high)); - } - - /** - * 修改库位 - */ - @GetMapping("/edit/{id}") - public String edit (@PathVariable("id") Integer id, ModelMap mmap) { - Location location = locationService.getById(id); - mmap.put("location", location); - return prefix + "/edit"; - } - - /** - * 修改物料 - */ - @GetMapping("/editBatch/{ids}") - public String editBatch (@PathVariable("ids") String ids, ModelMap mmap) { - mmap.put("ids", ids); - return prefix + "/editBatch"; - } - - /** - * 修改保存库位 - */ - @RequiresPermissions("config:location:edit") - @ApiOperation(value = "修改库位", notes = "批量修改库位", httpMethod = "POST") - @Log(title = "配置-库存资料-库位管理", operating = "修改库位", action = BusinessType.UPDATE) - @PostMapping("/edit") - @ResponseBody - public AjaxResult editSave (Location location) { - String containerCode = location.getContainerCode(); - if (StringUtils.isNotEmpty(containerCode)) { - Container container = containerService.getContainerByCode(containerCode); - if (container == null) { - return AjaxResult.error("容器编码输入错误"); - } + /** + * 查询库位列表 + */ + @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) + @PostMapping("/getAllLocation") + @ResponseBody + public AjaxResult getAllLocation(String type) { + if (StringUtils.isEmpty(type)) { + return AjaxResult.error("type不能为空"); + } + + return AjaxResult.success(locationService.getAllLocation(type)); } - location.setLastUpdatedBy(ShiroUtils.getName()); - return toAjax(locationService.updateById(location)); - } - - /** - * 修改保存物料 - */ - @ApiOperation(value = "批量修改库位", notes = "批量修改库位", httpMethod = "POST") - @RequiresPermissions("config:location:edit") - @Log(title = "通用-库位管理", operating = "批量修改库位", action = BusinessType.UPDATE) - @PostMapping("/editBatchSave") - @ResponseBody - public AjaxResult editBatchSave (String ids, String materialAreaCode, Integer high, String status) { - String[] idArray = Convert.toStrArray(ids); - LambdaUpdateWrapper<Location> wrapper = Wrappers.lambdaUpdate(); - wrapper.in(Location::getId, idArray) - .set(Location::getMaterialAreaCode, materialAreaCode) - .set(Location::getHigh, high) - .set(Location::getStatus, status); - return toAjax(locationService.update(wrapper)); - } - - /** - * 删除库位 - */ - @RequiresPermissions("config:location:remove") - @Log(title = "配置库存资料-库位管理", operating = "删除库位", action = BusinessType.DELETE) - @ApiOperation(value = "删除库位", notes = "批量删除库位", httpMethod = "POST") - @PostMapping("/remove") - @ResponseBody - public AjaxResult remove (String ids) { - if(StringUtils.isEmpty(ids)) { - return AjaxResult.error("id不能为空"); + + + /** + * 新增库位 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; } - for (Integer id : Convert.toIntArray(ids)) { - Location location = locationService.getById(id); - if(StringUtils.isEmpty(location.getContainerCode())) { - locationService.removeById(locationService.getById(id)); - } else { - return AjaxResult.error("库位(" + location.getCode() + ")不是空,或者有容器,不能删除成功!"); - } + + /** + * 新增保存库位 + */ + @ApiOperation(value = "新增库位", notes = "新增单个库位", httpMethod = "POST") + @RequiresPermissions("config:location:add") + @Log(title = "配置-库存资料-库位管理", operating = "新增库位", action = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(Location location) { + AjaxResult result = locationService.addsave(location); + return result; } - return AjaxResult.success("删除成功!"); - } - - /** - * 查询库位列表 - */ - @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) - @PostMapping("/getLocationInfo") - @ResponseBody - public AjaxResult getLocationInfo (String type, String row, String line, String layer, String grid) { - if(StringUtils.isEmpty(type)) { - return AjaxResult.error("type不能为空"); + + + /** + * 批量新增库位 + */ + + @GetMapping("/addBatch") + public String addBatch() { + return prefix + "/addBatch"; } - /* 查询库位信息*/ - LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); - locationLambdaQueryWrapper.eq(StringUtils.isNotEmpty(row), Location::getIRow, row) - .eq(StringUtils.isNotEmpty(line), Location::getIColumn, line) - .eq(StringUtils.isNotEmpty(layer), Location::getILayer, layer) - .eq(Location::getIGrid, 1) // - .eq(StringUtils.isNotEmpty(type), Location::getLocationType, type) - .eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode()) - .eq(StringUtils.isNotEmpty(type), Location::getZoneCode, type); - List<Location> locations = locationService.list(locationLambdaQueryWrapper); - List<Location> locationList = new ArrayList<>(); - - /* 查询库存明细*/ - LambdaQueryWrapper<InventoryDetail> inventoryDetailLambda = Wrappers.lambdaQuery(); - inventoryDetailLambda.eq(InventoryDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()); - List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambda); - - for (Location location1 : locations) { - InventoryDetail inventoryDetail = null; - String materialName = null; - for (InventoryDetail inventoryDetail2 : inventoryDetailList) { - if(location1.getCode().equals(inventoryDetail2.getLocationCode())) { - inventoryDetail = inventoryDetail2; + + /** + * 批量新增保存库位 + */ + @RequiresPermissions("config:location:add") + @ApiOperation(value = "新增库位", notes = "批量新增库位", httpMethod = "POST") + @Log(title = "配置-库存资料-库位管理", operating = "新增库位", action = BusinessType.INSERT) + @PostMapping("/addBatchSave") + @ResponseBody + public AjaxResult addBatchSave(String prefix, String firstRow, String lastRow, String firstColumn, String lastColumn, String firstLayer, String lastLayer, + String firstGrid, String lastGrid, String roadway, String status, String zoneCode, String locationType, String high) { + + return toAjax(locationService.addBatchSave(prefix, Integer.parseInt(firstRow), Integer.parseInt(lastRow), + Integer.parseInt(firstColumn), Integer.parseInt(lastColumn), Integer.parseInt(firstLayer), Integer.parseInt(lastLayer), + Integer.parseInt(firstGrid), Integer.parseInt(lastGrid), roadway, status, zoneCode, locationType, high)); + } + + /** + * 修改库位 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) { + Location location = locationService.getById(id); + mmap.put("location", location); + return prefix + "/edit"; + } + + /** + * 修改物料 + */ + @GetMapping("/editBatch/{ids}") + public String editBatch(@PathVariable("ids") String ids, ModelMap mmap) { + mmap.put("ids", ids); + return prefix + "/editBatch"; + } + + /** + * 修改保存库位 + */ + @RequiresPermissions("config:location:edit") + @ApiOperation(value = "修改库位", notes = "批量修改库位", httpMethod = "POST") + @Log(title = "配置-库存资料-库位管理", operating = "修改库位", action = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(Location location) { + String containerCode = location.getContainerCode(); + if (StringUtils.isNotEmpty(containerCode)) { + Container container = containerService.getContainerByCode(containerCode); + if (container == null) { + return AjaxResult.error("容器编码输入错误"); + } } - } - List<InventoryDetail> inventoryDetails = inventoryDetailList.stream().filter(inventoryDetail1 -> - inventoryDetail1.getLocationCode().equals(location1.getCode())).collect(Collectors.toList()); - - int userDef3 = 0; - String status = location1.getStatus(); - String containerCode = location1.getContainerCode(); - List<String> materialNameList = inventoryDetails.stream().map(InventoryDetail::getMaterialName).collect(Collectors.toList()); - List<String> batchList = inventoryDetails.stream().map(InventoryDetail::getBatch).collect(Collectors.toList()); - List<String> materialCodeList = inventoryDetails.stream().map(InventoryDetail::getMaterialCode).collect(Collectors.toList()); - List<BigDecimal> qtyList = inventoryDetails.stream().map(InventoryDetail::getQty).collect(Collectors.toList()); - if(QuantityConstant.STATUS_LOCATION_EMPTY.equals(status)) { - if(StringUtils.isEmpty(containerCode)) { - userDef3 = LocationStatus.IDLE_EMPTY_LOCATION; - } else { - if(inventoryDetail == null) { - userDef3 = LocationStatus.IDLE_EMPTY_CONTAINER; - } else { - location1.setMaterialName(materialNameList); - location1.setMaterialCode(materialCodeList); - location1.setBatch(batchList); - location1.setQty(qtyList); - userDef3 = LocationStatus.IDLE_FULL_CONTAINER; - } + location.setLastUpdatedBy(ShiroUtils.getName()); + return toAjax(locationService.updateById(location)); + } + + /** + * 修改保存物料 + */ + @ApiOperation(value = "批量修改库位", notes = "批量修改库位", httpMethod = "POST") + @RequiresPermissions("config:location:edit") + @Log(title = "通用-库位管理", operating = "批量修改库位", action = BusinessType.UPDATE) + @PostMapping("/editBatchSave") + @ResponseBody + public AjaxResult editBatchSave(String ids, String materialAreaCode, Integer high, String status) { + String[] idArray = Convert.toStrArray(ids); + LambdaUpdateWrapper<Location> wrapper = Wrappers.lambdaUpdate(); + wrapper.in(Location::getId, idArray) + .set(Location::getMaterialAreaCode, materialAreaCode) + .set(Location::getHigh, high) + .set(Location::getStatus, status); + return toAjax(locationService.update(wrapper)); + } + + /** + * 删除库位 + */ + @RequiresPermissions("config:location:remove") + @Log(title = "配置库存资料-库位管理", operating = "删除库位", action = BusinessType.DELETE) + @ApiOperation(value = "删除库位", notes = "批量删除库位", httpMethod = "POST") + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + if (StringUtils.isEmpty(ids)) { + return AjaxResult.error("id不能为空"); } - } else if(QuantityConstant.STATUS_LOCATION_LOCK.equals(status)) { - if(StringUtils.isEmpty(containerCode)) { - userDef3 = LocationStatus.LOCK_EMPTY_LOCATION; - } else { - if(inventoryDetail == null) { - userDef3 = LocationStatus.LOCK_EMPTY_CONTAINER; - } else { - location1.setMaterialName(materialNameList); - location1.setMaterialCode(materialCodeList); - location1.setBatch(batchList); - location1.setQty(qtyList); - userDef3 = LocationStatus.LOCK_FULL_CONTAINER; - } + for (Integer id : Convert.toIntArray(ids)) { + Location location = locationService.getById(id); + if (StringUtils.isEmpty(location.getContainerCode())) { + locationService.removeById(locationService.getById(id)); + } else { + return AjaxResult.error("库位(" + location.getCode() + ")不是空,或者有容器,不能删除成功!"); + } } - } + return AjaxResult.success("删除成功!"); + } - if(location1.getDeleted()) { - if(StringUtils.isEmpty(containerCode)) { - userDef3 = LocationStatus.DISABLE_EMPTY_LOCATION; - } else { - if(inventoryDetail == null) { - userDef3 = LocationStatus.DISABLE_EMPTY_CONTAINER; - } else { - location1.setMaterialName(materialNameList); - location1.setMaterialCode(materialCodeList); - location1.setBatch(batchList); - location1.setQty(qtyList); - userDef3 = LocationStatus.DISABLE_FULL_CONTAINER; - } + /** + * 查询库位列表 + */ + @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) + @PostMapping("/getLocationInfo") + @ResponseBody + public AjaxResult getLocationInfo(String type, String row, String line, String layer, String grid) { + if (StringUtils.isEmpty(type)) { + return AjaxResult.error("type不能为空"); } - } - location1.setUserDef3(String.valueOf(userDef3)); - locationList.add(location1); + /* 查询库位信息*/ + LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); + locationLambdaQueryWrapper.eq(StringUtils.isNotEmpty(row), Location::getIRow, row) + .eq(StringUtils.isNotEmpty(line), Location::getIColumn, line) + .eq(StringUtils.isNotEmpty(layer), Location::getILayer, layer) + .eq(Location::getIGrid, 1) // + .eq(StringUtils.isNotEmpty(type), Location::getLocationType, type) + .eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .eq(StringUtils.isNotEmpty(type), Location::getZoneCode, type); + List<Location> locations = locationService.list(locationLambdaQueryWrapper); + List<Location> locationList = new ArrayList<>(); + + /* 查询库存明细*/ + LambdaQueryWrapper<InventoryDetail> inventoryDetailLambda = Wrappers.lambdaQuery(); + inventoryDetailLambda.eq(InventoryDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()); + List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambda); + + for (Location location1 : locations) { + InventoryDetail inventoryDetail = null; + String materialName = null; + for (InventoryDetail inventoryDetail2 : inventoryDetailList) { + if (location1.getCode().equals(inventoryDetail2.getLocationCode())) { + inventoryDetail = inventoryDetail2; + } + } + List<InventoryDetail> inventoryDetails = inventoryDetailList.stream().filter(inventoryDetail1 -> + inventoryDetail1.getLocationCode().equals(location1.getCode())).collect(Collectors.toList()); + + int userDef3 = 0; + String status = location1.getStatus(); + String containerCode = location1.getContainerCode(); + List<String> materialNameList = inventoryDetails.stream().map(InventoryDetail::getMaterialName).collect(Collectors.toList()); + List<String> batchList = inventoryDetails.stream().map(InventoryDetail::getBatch).collect(Collectors.toList()); + List<String> materialCodeList = inventoryDetails.stream().map(InventoryDetail::getMaterialCode).collect(Collectors.toList()); + List<BigDecimal> qtyList = inventoryDetails.stream().map(InventoryDetail::getQty).collect(Collectors.toList()); + if (QuantityConstant.STATUS_LOCATION_EMPTY.equals(status)) { + if (StringUtils.isEmpty(containerCode)) { + userDef3 = LocationStatus.IDLE_EMPTY_LOCATION; + } else { + if (inventoryDetail == null) { + userDef3 = LocationStatus.IDLE_EMPTY_CONTAINER; + } else { + location1.setMaterialName(materialNameList); + location1.setMaterialCode(materialCodeList); + location1.setBatch(batchList); + location1.setQty(qtyList); + userDef3 = LocationStatus.IDLE_FULL_CONTAINER; + } + } + } else if (QuantityConstant.STATUS_LOCATION_LOCK.equals(status)) { + if (StringUtils.isEmpty(containerCode)) { + userDef3 = LocationStatus.LOCK_EMPTY_LOCATION; + } else { + if (inventoryDetail == null) { + userDef3 = LocationStatus.LOCK_EMPTY_CONTAINER; + } else { + location1.setMaterialName(materialNameList); + location1.setMaterialCode(materialCodeList); + location1.setBatch(batchList); + location1.setQty(qtyList); + userDef3 = LocationStatus.LOCK_FULL_CONTAINER; + } + } + } + + if (location1.getDeleted()) { + if (StringUtils.isEmpty(containerCode)) { + userDef3 = LocationStatus.DISABLE_EMPTY_LOCATION; + } else { + if (inventoryDetail == null) { + userDef3 = LocationStatus.DISABLE_EMPTY_CONTAINER; + } else { + location1.setMaterialName(materialNameList); + location1.setMaterialCode(materialCodeList); + location1.setBatch(batchList); + location1.setQty(qtyList); + userDef3 = LocationStatus.DISABLE_FULL_CONTAINER; + } + } + } + + location1.setUserDef3(String.valueOf(userDef3)); + locationList.add(location1); + } + return AjaxResult.success(locations); } - return AjaxResult.success(locations); - } - @Log(title = "配置-库存资料-库位条码", operating = "库位条码打印", action = BusinessType.OTHER) - // @ResponseBody // 错误1ajax是json数据而没有添加该注解返回值不为json所以不能够返回common.ajaxSetup.textStatus= "parsererror"报错 - @GetMapping("/print/{ids}") - public void print (@PathVariable("ids") Integer[] ids, ModelMap mmap) // arg1:物料id arg2:会话对象不需要直接返回 - { - print.jasperPrint(ids, prefix);// 不用返回json打印 - } + @Log(title = "配置-库存资料-库位条码", operating = "库位条码打印", action = BusinessType.OTHER) + // @ResponseBody // 错误1ajax是json数据而没有添加该注解返回值不为json所以不能够返回common.ajaxSetup.textStatus= "parsererror"报错 + @GetMapping("/print/{ids}") + public void print(@PathVariable("ids") Integer[] ids, ModelMap mmap) // arg1:物料id arg2:会话对象不需要直接返回 + { + print.jasperPrint(ids, prefix);// 不用返回json打印 + } @Log(title = "监控-库位空闲监控-库位管理", operating = "查看库位空闲结果", action = BusinessType.GRANT) @PostMapping("/getIdleLocation") @ResponseBody public AjaxResult<?> getIdleLocation() { - return AjaxResult.success(locationService.getIdleLocation()); + return AjaxResult.success(locationService.getIdleLocation()); } } -- libgit2 0.22.2