优化商品库存查询接口
This commit is contained in:
@@ -592,7 +592,7 @@ public class MaterialController {
|
|||||||
* 商品库存查询
|
* 商品库存查询
|
||||||
* @param currentPage
|
* @param currentPage
|
||||||
* @param pageSize
|
* @param pageSize
|
||||||
* @param depotId
|
* @param depotIds
|
||||||
* @param categoryId
|
* @param categoryId
|
||||||
* @param materialParam
|
* @param materialParam
|
||||||
* @param mpList
|
* @param mpList
|
||||||
@@ -606,7 +606,7 @@ public class MaterialController {
|
|||||||
@ApiOperation(value = "商品库存查询")
|
@ApiOperation(value = "商品库存查询")
|
||||||
public BaseResponseInfo getListWithStock(@RequestParam("currentPage") Integer currentPage,
|
public BaseResponseInfo getListWithStock(@RequestParam("currentPage") Integer currentPage,
|
||||||
@RequestParam("pageSize") Integer pageSize,
|
@RequestParam("pageSize") Integer pageSize,
|
||||||
@RequestParam(value = "depotId", required = false) Long depotId,
|
@RequestParam(value = "depotIds", required = false) String depotIds,
|
||||||
@RequestParam(value = "categoryId", required = false) Long categoryId,
|
@RequestParam(value = "categoryId", required = false) Long categoryId,
|
||||||
@RequestParam("materialParam") String materialParam,
|
@RequestParam("materialParam") String materialParam,
|
||||||
@RequestParam("zeroStock") Integer zeroStock,
|
@RequestParam("zeroStock") Integer zeroStock,
|
||||||
@@ -618,13 +618,24 @@ public class MaterialController {
|
|||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
List<Long> idList = new ArrayList<>();
|
List<Long> idList = new ArrayList<>();
|
||||||
|
List<Long> depotList = new ArrayList<>();
|
||||||
if(categoryId != null){
|
if(categoryId != null){
|
||||||
idList = materialService.getListByParentId(categoryId);
|
idList = materialService.getListByParentId(categoryId);
|
||||||
}
|
}
|
||||||
List<MaterialVo4Unit> dataList = materialService.getListWithStock(depotId, idList, StringUtil.toNull(materialParam), zeroStock,
|
if(StringUtil.isNotEmpty(depotIds)) {
|
||||||
|
depotList = StringUtil.strToLongList(depotIds);
|
||||||
|
} else {
|
||||||
|
//未选择仓库时默认为当前用户有权限的仓库
|
||||||
|
JSONArray depotArr = depotService.findDepotByCurrentUser();
|
||||||
|
for(Object obj: depotArr) {
|
||||||
|
JSONObject object = JSONObject.parseObject(obj.toString());
|
||||||
|
depotList.add(object.getLong("id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<MaterialVo4Unit> dataList = materialService.getListWithStock(depotList, idList, StringUtil.toNull(materialParam), zeroStock,
|
||||||
StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize);
|
StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize);
|
||||||
int total = materialService.getListWithStockCount(depotId, idList, StringUtil.toNull(materialParam), zeroStock);
|
int total = materialService.getListWithStockCount(depotList, idList, StringUtil.toNull(materialParam), zeroStock);
|
||||||
MaterialVo4Unit materialVo4Unit= materialService.getTotalStockAndPrice(depotId, idList, StringUtil.toNull(materialParam));
|
MaterialVo4Unit materialVo4Unit= materialService.getTotalStockAndPrice(depotList, idList, StringUtil.toNull(materialParam));
|
||||||
map.put("total", total);
|
map.put("total", total);
|
||||||
map.put("currentStock", materialVo4Unit.getCurrentStock());
|
map.put("currentStock", materialVo4Unit.getCurrentStock());
|
||||||
map.put("currentStockPrice", materialVo4Unit.getCurrentStockPrice());
|
map.put("currentStockPrice", materialVo4Unit.getCurrentStockPrice());
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public interface MaterialMapperEx {
|
|||||||
List<MaterialVo4Unit> getMaterialByBarCode(@Param("barCodeArray") String [] barCodeArray);
|
List<MaterialVo4Unit> getMaterialByBarCode(@Param("barCodeArray") String [] barCodeArray);
|
||||||
|
|
||||||
List<MaterialVo4Unit> getListWithStock(
|
List<MaterialVo4Unit> getListWithStock(
|
||||||
@Param("depotId") Long depotId,
|
@Param("depotList") List<Long> depotList,
|
||||||
@Param("idList") List<Long> idList,
|
@Param("idList") List<Long> idList,
|
||||||
@Param("materialParam") String materialParam,
|
@Param("materialParam") String materialParam,
|
||||||
@Param("zeroStock") Integer zeroStock,
|
@Param("zeroStock") Integer zeroStock,
|
||||||
@@ -99,13 +99,13 @@ public interface MaterialMapperEx {
|
|||||||
@Param("rows") Integer rows);
|
@Param("rows") Integer rows);
|
||||||
|
|
||||||
int getListWithStockCount(
|
int getListWithStockCount(
|
||||||
@Param("depotId") Long depotId,
|
@Param("depotList") List<Long> depotList,
|
||||||
@Param("idList") List<Long> idList,
|
@Param("idList") List<Long> idList,
|
||||||
@Param("materialParam") String materialParam,
|
@Param("materialParam") String materialParam,
|
||||||
@Param("zeroStock") Integer zeroStock);
|
@Param("zeroStock") Integer zeroStock);
|
||||||
|
|
||||||
MaterialVo4Unit getTotalStockAndPrice(
|
MaterialVo4Unit getTotalStockAndPrice(
|
||||||
@Param("depotId") Long depotId,
|
@Param("depotList") List<Long> depotList,
|
||||||
@Param("idList") List<Long> idList,
|
@Param("idList") List<Long> idList,
|
||||||
@Param("materialParam") String materialParam);
|
@Param("materialParam") String materialParam);
|
||||||
|
|
||||||
|
|||||||
@@ -872,17 +872,17 @@ public class MaterialService {
|
|||||||
return materialMapperEx.getMaterialByBarCode(barCodeArray);
|
return materialMapperEx.getMaterialByBarCode(barCodeArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MaterialVo4Unit> getListWithStock(Long depotId, List<Long> idList, String materialParam, Integer zeroStock,
|
public List<MaterialVo4Unit> getListWithStock(List<Long> depotList, List<Long> idList, String materialParam, Integer zeroStock,
|
||||||
String column, String order, Integer offset, Integer rows) {
|
String column, String order, Integer offset, Integer rows) {
|
||||||
return materialMapperEx.getListWithStock(depotId, idList, materialParam, zeroStock, column, order, offset, rows);
|
return materialMapperEx.getListWithStock(depotList, idList, materialParam, zeroStock, column, order, offset, rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getListWithStockCount(Long depotId, List<Long> idList, String materialParam, Integer zeroStock) {
|
public int getListWithStockCount(List<Long> depotList, List<Long> idList, String materialParam, Integer zeroStock) {
|
||||||
return materialMapperEx.getListWithStockCount(depotId, idList, materialParam, zeroStock);
|
return materialMapperEx.getListWithStockCount(depotList, idList, materialParam, zeroStock);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MaterialVo4Unit getTotalStockAndPrice(Long depotId, List<Long> idList, String materialParam) {
|
public MaterialVo4Unit getTotalStockAndPrice(List<Long> depotList, List<Long> idList, String materialParam) {
|
||||||
return materialMapperEx.getTotalStockAndPrice(depotId, idList, materialParam);
|
return materialMapperEx.getTotalStockAndPrice(depotList, idList, materialParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
||||||
|
|||||||
@@ -339,8 +339,11 @@
|
|||||||
select m.*, me.commodity_unit unitName, mc.name categoryName, me.bar_code,
|
select m.*, me.commodity_unit unitName, mc.name categoryName, me.bar_code,
|
||||||
ifnull(me.purchase_decimal,0) purchase_decimal,
|
ifnull(me.purchase_decimal,0) purchase_decimal,
|
||||||
(select ifnull(sum(mis.number),0) from jsh_material_initial_stock mis where mis.material_id = m.id
|
(select ifnull(sum(mis.number),0) from jsh_material_initial_stock mis where mis.material_id = m.id
|
||||||
<if test="depotId != null">
|
<if test="depotList.size()>0">
|
||||||
and mis.depot_id = #{depotId}
|
and mis.depot_id in
|
||||||
|
<foreach collection="depotList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
) initialStock,
|
) initialStock,
|
||||||
ifnull(sum(mcs.current_number),0) currentStock,
|
ifnull(sum(mcs.current_number),0) currentStock,
|
||||||
@@ -352,8 +355,11 @@
|
|||||||
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
||||||
where 1=1
|
where 1=1
|
||||||
and me.default_flag=1
|
and me.default_flag=1
|
||||||
<if test="depotId != null">
|
<if test="depotList.size()>0">
|
||||||
and mcs.depot_id = #{depotId}
|
and mcs.depot_id in
|
||||||
|
<foreach collection="depotList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="idList.size()>0">
|
<if test="idList.size()>0">
|
||||||
and m.category_id in
|
and m.category_id in
|
||||||
@@ -390,8 +396,11 @@
|
|||||||
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
||||||
where 1=1
|
where 1=1
|
||||||
and me.default_flag=1
|
and me.default_flag=1
|
||||||
<if test="depotId != null">
|
<if test="depotList.size()>0">
|
||||||
and mcs.depot_id = #{depotId}
|
and mcs.depot_id in
|
||||||
|
<foreach collection="depotList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="idList.size()>0">
|
<if test="idList.size()>0">
|
||||||
and m.category_id in
|
and m.category_id in
|
||||||
@@ -422,8 +431,11 @@
|
|||||||
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
left JOIN jsh_material_category mc on m.category_id = mc.id and ifnull(mc.delete_Flag,'0') !='1'
|
||||||
where 1=1
|
where 1=1
|
||||||
and me.default_flag=1
|
and me.default_flag=1
|
||||||
<if test="depotId != null">
|
<if test="depotList.size()>0">
|
||||||
and mcs.depot_id = #{depotId}
|
and mcs.depot_id in
|
||||||
|
<foreach collection="depotList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="idList.size()>0">
|
<if test="idList.size()>0">
|
||||||
and m.category_id in
|
and m.category_id in
|
||||||
|
|||||||
Reference in New Issue
Block a user