优化商品库存流水记录的接口,增加仓库参数

This commit is contained in:
季圣华
2022-05-28 17:27:57 +08:00
parent 4557a13f11
commit decf45cfef
4 changed files with 73 additions and 39 deletions

View File

@@ -61,28 +61,21 @@ public class DepotItemController {
private RedisService redisService;
/**
* 根据商品id查询单据列表
* 根据仓库和商品查询单据列表
* @param mId
* @param request
* @return
*/
@GetMapping(value = "/findDetailByTypeAndMaterialId")
@ApiOperation(value = "根据商品id查询单据列表")
public String findDetailByTypeAndMaterialId(
@GetMapping(value = "/findDetailByDepotIdsAndMaterialId")
@ApiOperation(value = "根据仓库和商品查询单据列表")
public String findDetailByDepotIdsAndMaterialId(
@RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize,
@RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage,
@RequestParam("materialId") String mId, HttpServletRequest request)throws Exception {
Map<String, String> parameterMap = ParamUtils.requestToMap(request);
parameterMap.put("mId", mId);
Map<String, Object> objectMap = new HashMap<String, Object>();
if (pageSize != null && pageSize <= 0) {
pageSize = 10;
}
String offset = ParamUtils.getPageOffset(currentPage, pageSize);
if (StringUtil.isNotEmpty(offset)) {
parameterMap.put(Constants.OFFSET, offset);
}
List<DepotItemVo4DetailByTypeAndMId> list = depotItemService.findDetailByTypeAndMaterialIdList(parameterMap);
@RequestParam(value = "depotIds",required = false) String depotIds,
@RequestParam("materialId") Long mId,
HttpServletRequest request)throws Exception {
Map<String, Object> objectMap = new HashMap<>();
List<DepotItemVo4DetailByTypeAndMId> list = depotItemService.findDetailByDepotIdsAndMaterialIdList(depotIds, mId, (currentPage-1)*pageSize, pageSize);
JSONArray dataArray = new JSONArray();
if (list != null) {
for (DepotItemVo4DetailByTypeAndMId d: list) {
@@ -109,7 +102,7 @@ public class DepotItemController {
return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code);
}
objectMap.put("rows", dataArray);
objectMap.put("total", depotItemService.findDetailByTypeAndMaterialIdCounts(parameterMap));
objectMap.put("total", depotItemService.findDetailByDepotIdsAndMaterialIdCount(depotIds, mId));
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
}

View File

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

View File

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