From 0e5374e1d48b422656a6782f5f84fb3c011afb4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Sun, 24 Oct 2021 22:03:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E5=A4=8D=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/MaterialController.java | 25 +++++++++++++++++-- .../datasource/mappers/MaterialMapperEx.java | 4 ++- .../erp/service/material/MaterialService.java | 22 +++++++++++++--- .../resources/mapper_xml/MaterialMapperEx.xml | 11 ++++++-- 4 files changed, 53 insertions(+), 9 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java index d2715bdf..13d3f358 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java @@ -547,6 +547,7 @@ public class MaterialController { @RequestParam("depotId") Long depotId, @RequestParam("categoryId") Long categoryId, @RequestParam("materialParam") String materialParam, + @RequestParam("zeroStock") Integer zeroStock, @RequestParam("mpList") String mpList, @RequestParam("column") String column, @RequestParam("order") String order, @@ -558,9 +559,9 @@ public class MaterialController { if(categoryId != null){ idList = materialService.getListByParentId(categoryId); } - List dataList = materialService.getListWithStock(depotId, idList, StringUtil.toNull(materialParam), + List dataList = materialService.getListWithStock(depotId, idList, StringUtil.toNull(materialParam), zeroStock, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize); - int total = materialService.getListWithStockCount(depotId, idList, StringUtil.toNull(materialParam)); + int total = materialService.getListWithStockCount(depotId, idList, StringUtil.toNull(materialParam), zeroStock); MaterialVo4Unit materialVo4Unit= materialService.getTotalStockAndPrice(depotId, idList, StringUtil.toNull(materialParam)); map.put("total", total); map.put("currentStock", materialVo4Unit.getCurrentStock()); @@ -576,4 +577,24 @@ public class MaterialController { } return res; } + + /** + * 批量设置商品当前的实时库存(按每个仓库) + * @param jsonObject + * @param request + * @return + * @throws Exception + */ + @PostMapping(value = "/batchSetMaterialCurrentStock") + public String batchSetMaterialCurrentStock(@RequestBody JSONObject jsonObject, + HttpServletRequest request)throws Exception { + String ids = jsonObject.getString("ids"); + Map objectMap = new HashMap<>(); + int res = materialService.batchSetMaterialCurrentStock(ids); + if(res > 0) { + return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); + } else { + return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); + } + } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java index eeef5261..3ae6f746 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java @@ -92,6 +92,7 @@ public interface MaterialMapperEx { @Param("depotId") Long depotId, @Param("idList") List idList, @Param("materialParam") String materialParam, + @Param("zeroStock") Integer zeroStock, @Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @@ -100,7 +101,8 @@ public interface MaterialMapperEx { int getListWithStockCount( @Param("depotId") Long depotId, @Param("idList") List idList, - @Param("materialParam") String materialParam); + @Param("materialParam") String materialParam, + @Param("zeroStock") Integer zeroStock); MaterialVo4Unit getTotalStockAndPrice( @Param("depotId") Long depotId, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java index f99c4d85..4b880e55 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -818,16 +818,30 @@ public class MaterialService { return materialMapperEx.getMaterialByBarCode(barCodeArray); } - public List getListWithStock(Long depotId, List idList, String materialParam, + public List getListWithStock(Long depotId, List idList, String materialParam, Integer zeroStock, String column, String order, Integer offset, Integer rows) { - return materialMapperEx.getListWithStock(depotId, idList, materialParam, column, order, offset, rows); + return materialMapperEx.getListWithStock(depotId, idList, materialParam, zeroStock, column, order, offset, rows); } - public int getListWithStockCount(Long depotId, List idList, String materialParam) { - return materialMapperEx.getListWithStockCount(depotId, idList, materialParam); + public int getListWithStockCount(Long depotId, List idList, String materialParam, Integer zeroStock) { + return materialMapperEx.getListWithStockCount(depotId, idList, materialParam, zeroStock); } public MaterialVo4Unit getTotalStockAndPrice(Long depotId, List idList, String materialParam) { return materialMapperEx.getTotalStockAndPrice(depotId, idList, materialParam); } + + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public int batchSetMaterialCurrentStock(String ids) throws Exception { + int res = 0; + List idList = StringUtil.strToLongList(ids); + List depotList = depotService.getAllList(); + for(Long mId: idList) { + for(Depot depot: depotList) { + depotItemService.updateCurrentStockFun(mId, depot.getId()); + res = 1; + } + } + return res; + } } diff --git a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml index c5e7e924..0f5f0bd6 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml @@ -367,6 +367,9 @@ and ifnull(m.delete_flag,'0') !='1' group by m.id + + having currentStock!=0 + order by m.id desc @@ -380,7 +383,7 @@