优化根据仓库和商品查询单据列表接口

This commit is contained in:
季圣华
2022-06-13 00:04:35 +08:00
parent b164fa3f74
commit 9561741f27
4 changed files with 21 additions and 6 deletions

View File

@@ -72,10 +72,11 @@ public class DepotItemController {
@RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize, @RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize,
@RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage, @RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage,
@RequestParam(value = "depotIds",required = false) String depotIds, @RequestParam(value = "depotIds",required = false) String depotIds,
@RequestParam(value = "sku",required = false) String sku,
@RequestParam("materialId") Long mId, @RequestParam("materialId") Long mId,
HttpServletRequest request)throws Exception { HttpServletRequest request)throws Exception {
Map<String, Object> objectMap = new HashMap<>(); Map<String, Object> objectMap = new HashMap<>();
List<DepotItemVo4DetailByTypeAndMId> list = depotItemService.findDetailByDepotIdsAndMaterialIdList(depotIds, mId, (currentPage-1)*pageSize, pageSize); List<DepotItemVo4DetailByTypeAndMId> list = depotItemService.findDetailByDepotIdsAndMaterialIdList(depotIds, sku, mId, (currentPage-1)*pageSize, pageSize);
JSONArray dataArray = new JSONArray(); JSONArray dataArray = new JSONArray();
if (list != null) { if (list != null) {
for (DepotItemVo4DetailByTypeAndMId d: list) { for (DepotItemVo4DetailByTypeAndMId d: list) {
@@ -102,7 +103,7 @@ public class DepotItemController {
return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code);
} }
objectMap.put("rows", dataArray); objectMap.put("rows", dataArray);
objectMap.put("total", depotItemService.findDetailByDepotIdsAndMaterialIdCount(depotIds, mId)); objectMap.put("total", depotItemService.findDetailByDepotIdsAndMaterialIdCount(depotIds, sku, mId));
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
} }

View File

@@ -31,12 +31,14 @@ public interface DepotItemMapperEx {
List<DepotItemVo4DetailByTypeAndMId> findDetailByDepotIdsAndMaterialIdList( List<DepotItemVo4DetailByTypeAndMId> findDetailByDepotIdsAndMaterialIdList(
@Param("depotIdArray") String[] depotIdArray, @Param("depotIdArray") String[] depotIdArray,
@Param("sku") String sku,
@Param("mId") Long mId, @Param("mId") Long mId,
@Param("offset") Integer offset, @Param("offset") Integer offset,
@Param("rows") Integer rows); @Param("rows") Integer rows);
Long findDetailByDepotIdsAndMaterialIdCount( Long findDetailByDepotIdsAndMaterialIdCount(
@Param("depotIdArray") String[] depotIdArray, @Param("depotIdArray") String[] depotIdArray,
@Param("sku") String sku,
@Param("mId") Long mId); @Param("mId") Long mId);
List<DepotItemVo4WithInfoEx> getDetailList( List<DepotItemVo4WithInfoEx> getDetailList(

View File

@@ -168,28 +168,28 @@ public class DepotItemService {
return list==null?0:list.size(); return list==null?0:list.size();
} }
public List<DepotItemVo4DetailByTypeAndMId> findDetailByDepotIdsAndMaterialIdList(String depotIds, Long mId, int offset, int rows)throws Exception { public List<DepotItemVo4DetailByTypeAndMId> findDetailByDepotIdsAndMaterialIdList(String depotIds, String sku, Long mId, int offset, int rows)throws Exception {
String [] depotIdArray = null; String [] depotIdArray = null;
if(StringUtil.isNotEmpty(depotIds)) { if(StringUtil.isNotEmpty(depotIds)) {
depotIdArray = depotIds.split(","); depotIdArray = depotIds.split(",");
} }
List<DepotItemVo4DetailByTypeAndMId> list =null; List<DepotItemVo4DetailByTypeAndMId> list =null;
try{ try{
list = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdList(depotIdArray, mId, offset, rows); list = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdList(depotIdArray, sku, mId, offset, rows);
}catch(Exception e){ }catch(Exception e){
JshException.readFail(logger, e); JshException.readFail(logger, e);
} }
return list; return list;
} }
public Long findDetailByDepotIdsAndMaterialIdCount(String depotIds, Long mId)throws Exception { public Long findDetailByDepotIdsAndMaterialIdCount(String depotIds, String sku, Long mId)throws Exception {
String [] depotIdArray = null; String [] depotIdArray = null;
if(StringUtil.isNotEmpty(depotIds)) { if(StringUtil.isNotEmpty(depotIds)) {
depotIdArray = depotIds.split(","); depotIdArray = depotIds.split(",");
} }
Long result =null; Long result =null;
try{ try{
result = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdCount(depotIdArray, mId); result = depotItemMapperEx.findDetailByDepotIdsAndMaterialIdCount(depotIdArray, sku, mId);
}catch(Exception e){ }catch(Exception e){
JshException.readFail(logger, e); JshException.readFail(logger, e);
} }

View File

@@ -165,6 +165,9 @@
<foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach> <foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach>
) )
</if> </if>
<if test="sku != null and sku !=''">
and di.sku = #{sku}
</if>
and di.material_id = #{mId} and di.material_id = #{mId}
and ifnull(dh.delete_flag,'0') !='1' and ifnull(dh.delete_flag,'0') !='1'
union all union all
@@ -183,6 +186,9 @@
<foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach> <foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach>
) )
</if> </if>
<if test="sku != null and sku !=''">
and di.sku = #{sku}
</if>
and di.material_id = #{mId} and di.material_id = #{mId}
and ifnull(dh.delete_flag,'0') !='1') tb and ifnull(dh.delete_flag,'0') !='1') tb
order by tb.oTime desc order by tb.oTime desc
@@ -204,6 +210,9 @@
<foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach> <foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach>
) )
</if> </if>
<if test="sku != null and sku !=''">
and di.sku = #{sku}
</if>
and di.material_id =#{mId} and di.material_id =#{mId}
and ifnull(dh.delete_flag,'0') !='1' and ifnull(dh.delete_flag,'0') !='1'
union all union all
@@ -216,6 +225,9 @@
<foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach> <foreach collection="depotIdArray" item="depotId" separator=",">#{depotId}</foreach>
) )
</if> </if>
<if test="sku != null and sku !=''">
and di.sku = #{sku}
</if>
and di.material_id = #{mId} and di.material_id = #{mId}
and ifnull(dh.delete_flag,'0') !='1') tb and ifnull(dh.delete_flag,'0') !='1') tb
</select> </select>