diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 77145e4b..7f69e895 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -116,8 +116,8 @@ public interface DepotItemMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime); - DepotItemVo4Stock getSkuStockByParam( - @Param("depotId") Long depotId, + DepotItemVo4Stock getSkuStockByParamWithDepotList( + @Param("depotList") List depotList, @Param("meId") Long meId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java index 15d28caf..7b6bbb6e 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java @@ -287,6 +287,21 @@ public class DepotService { return id; } + public List parseDepotList(Long depotId) throws Exception { + List depotList = new ArrayList<>(); + if(depotId !=null) { + depotList.add(depotId); + } else { + //未选择仓库时默认为当前用户有权限的仓库 + JSONArray depotArr = findDepotByCurrentUser(); + for(Object obj: depotArr) { + JSONObject object = JSONObject.parseObject(obj.toString()); + depotList.add(object.getLong("id")); + } + } + return depotList; + } + public JSONArray findDepotByCurrentUser() throws Exception { JSONArray arr = new JSONArray(); String type = "UserDepot"; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index d57bd1ac..debc062d 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -11,6 +11,7 @@ import com.jsh.erp.datasource.vo.DepotItemVo4Stock; import com.jsh.erp.datasource.vo.DepotItemVoBatchNumberList; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; +import com.jsh.erp.service.depot.DepotService; import com.jsh.erp.service.depotHead.DepotHeadService; import com.jsh.erp.service.materialExtend.MaterialExtendService; import com.jsh.erp.service.log.LogService; @@ -62,6 +63,8 @@ public class DepotItemService { @Resource private SystemConfigService systemConfigService; @Resource + private DepotService depotService; + @Resource private RoleService roleService; @Resource private MaterialCurrentStockMapper materialCurrentStockMapper; @@ -863,8 +866,9 @@ public class DepotItemService { * @param endTime * @return */ - public BigDecimal getSkuStockByParam(Long depotId, Long meId, String beginTime, String endTime){ - DepotItemVo4Stock stockObj = depotItemMapperEx.getSkuStockByParam(depotId, meId, beginTime, endTime); + public BigDecimal getSkuStockByParam(Long depotId, Long meId, String beginTime, String endTime) throws Exception { + List depotList = depotService.parseDepotList(depotId); + DepotItemVo4Stock stockObj = depotItemMapperEx.getSkuStockByParamWithDepotList(depotList, meId, beginTime, endTime); BigDecimal stockSum = BigDecimal.ZERO; if(stockObj!=null) { BigDecimal inTotal = stockObj.getInTotal(); @@ -889,11 +893,8 @@ public class DepotItemService { * @param endTime * @return */ - public BigDecimal getStockByParam(Long depotId, Long mId, String beginTime, String endTime){ - List depotList = new ArrayList<>(); - if(depotId != null) { - depotList.add(depotId); - } + public BigDecimal getStockByParam(Long depotId, Long mId, String beginTime, String endTime) throws Exception { + List depotList = depotService.parseDepotList(depotId); return getStockByParamWithDepotList(depotList, mId, beginTime, endTime); } @@ -970,7 +971,7 @@ public class DepotItemService { * @param depotItem */ @Transactional(value = "transactionManager", rollbackFor = Exception.class) - public void updateCurrentStock(DepotItem depotItem){ + public void updateCurrentStock(DepotItem depotItem) throws Exception { updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getDepotId()); if(depotItem.getAnotherDepotId()!=null){ updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getAnotherDepotId()); @@ -982,7 +983,7 @@ public class DepotItemService { * @param mId * @param dId */ - public void updateCurrentStockFun(Long mId, Long dId) { + public void updateCurrentStockFun(Long mId, Long dId) throws Exception { if(mId!=null && dId!=null) { MaterialCurrentStockExample example = new MaterialCurrentStockExample(); example.createCriteria().andMaterialIdEqualTo(mId).andDepotIdEqualTo(dId) diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml index a56ceea7..844532d3 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -520,16 +520,16 @@ and ifnull(di.delete_flag,'0') !='1' - select - sum(case when dh.type='入库' and di.depot_id=#{depotId} then di.basic_number else 0 end) as inTotal, - sum(case when dh.type='出库' and dh.sub_type!='调拨' and di.depot_id=#{depotId} then di.basic_number else 0 end) as outTotal, - sum(case when dh.sub_type='调拨' and di.another_depot_id=#{depotId} then di.basic_number else 0 end) as transfInTotal, - sum(case when dh.sub_type='调拨' and di.depot_id=#{depotId} then di.basic_number else 0 end) as transfOutTotal, - sum(case when dh.sub_type='组装单' and di.material_type='组合件' and di.depot_id=#{depotId} then di.basic_number else 0 end) as assemInTotal, - sum(case when dh.sub_type='组装单' and di.material_type='普通子件' and di.depot_id=#{depotId} then di.basic_number else 0 end) as assemOutTotal, - sum(case when dh.sub_type='拆卸单' and di.material_type='普通子件' and di.depot_id=#{depotId} then di.basic_number else 0 end) as disAssemInTotal, - sum(case when dh.sub_type='拆卸单' and di.material_type='组合件' and di.depot_id=#{depotId} then di.basic_number else 0 end) as disAssemOutTotal + sum(case when dh.type='入库' then di.basic_number else 0 end) as inTotal, + sum(case when dh.type='出库' and dh.sub_type!='调拨' then di.basic_number else 0 end) as outTotal, + sum(case when dh.sub_type='调拨' then di.basic_number else 0 end) as transfInTotal, + sum(case when dh.sub_type='调拨' then di.basic_number else 0 end) as transfOutTotal, + sum(case when dh.sub_type='组装单' and di.material_type='组合件' then di.basic_number else 0 end) as assemInTotal, + sum(case when dh.sub_type='组装单' and di.material_type='普通子件' then di.basic_number else 0 end) as assemOutTotal, + sum(case when dh.sub_type='拆卸单' and di.material_type='普通子件' then di.basic_number else 0 end) as disAssemInTotal, + sum(case when dh.sub_type='拆卸单' and di.material_type='组合件' then di.basic_number else 0 end) as disAssemOutTotal from jsh_depot_head dh left join jsh_depot_item di on dh.id=di.header_id and ifnull(di.delete_flag,'0') !='1' @@ -545,18 +545,6 @@ - - - and di.depot_id in #{item} - - - - - - and di.another_depot_id in #{item} - - - + + + and di.depot_id in #{item} + + + + + + and di.another_depot_id in #{item} + + +