diff --git a/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java b/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java index 8600aeb..30d4fec 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java @@ -34,4 +34,41 @@ public interface PointRepository extends JpaRepository, JpaSpecific @Query(value = "SELECT p FROM Point p WHERE p.code=?1", nativeQuery = false) Point findByCode(String code); + /** 库位信息化看板*/ + @Query(value = " select p.`code` 'pointCode',i.`code` 'itemCode' from base_point p " + +" left join base_area a on p.area_id=a.id " + +" left join data_inventory inv on inv.point_id=p.id " + +" left join data_item_key ik on ik.id=inv.item_key_id " + +" left join base_item i on i.id=ik.item_id " + +" where a.`code`='存储区' and p.type='STORAGE' ", nativeQuery = true) + List getDataPoint(); + + /** 库位信息化看板 查询货位组*/ + @Query(value =" select p.pos_x,p.pos_y from base_point p " + +" left join base_area a on p.area_id=a.id " + +" left join data_inventory inv on inv.point_id=p.id " + +" left join data_item_key ik on ik.id=inv.item_key_id " + +" left join base_item i on i.id=ik.item_id " + +" where a.`code`='存储区' and p.type='STORAGE' " + +" group by p.pos_x,p.pos_y " , nativeQuery = true) + List> getDataPointTotal(); + /** 库位信息化看板 查询货架信息*/ + @Query(value =" select p.pos_x,p.pos_y from base_point p " + +" left join base_area a on p.area_id=a.id " + +" left join data_inventory inv on inv.point_id=p.id " + +" left join data_item_key ik on ik.id=inv.item_key_id " + +" left join base_item i on i.id=ik.item_id " + +" where a.`code`='存储区' and p.type='STORAGE' " + +" group by p.pos_x,p.pos_y " + +" order by p.pos_x,p.pos_y asc " + +" LIMIT ?1,?2 ", nativeQuery = true) + List> getDataPointLimit(int currentPage, int pageSize); + @Query(value =" select p.`code` 'pointCode',i.`code` 'itemCode' from base_point p " + +" left join base_area a on p.area_id=a.id " + +" left join data_inventory inv on inv.point_id=p.id " + +" left join data_item_key ik on ik.id=inv.item_key_id " + +" left join base_item i on i.id=ik.item_id " + +" where a.`code`='存储区' and p.type='STORAGE' " + +" and p.pos_x=?1 and p.pos_y=?2 ", nativeQuery = true) + List> getDataPointList(double x, double y); } \ No newline at end of file diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java index 37f9b6e..719ef21 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java @@ -18,12 +18,14 @@ package com.youchain.basicdata.rest; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.youchain.annotation.AnonymousAccess; import com.youchain.annotation.Log; import com.youchain.appupdate.inputJson.CurrentPage; import com.youchain.basicdata.domain.Area; import com.youchain.basicdata.domain.Point; +import com.youchain.basicdata.repository.PointRepository; import com.youchain.basicdata.service.AreaService; import com.youchain.basicdata.service.PointService; import com.youchain.basicdata.service.dto.AreaDto; @@ -68,6 +70,7 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST; public class PointController { private final PointService pointService; + private final PointRepository pointRepository; private final AreaService areaService; @@ -110,6 +113,7 @@ public class PointController { String enabled = readAll.get(i).get("是否启用").toString().trim(); Double x = readAll.get(i).get("坐标X") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标X").toString()); Double y = readAll.get(i).get("坐标Y") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标Y").toString()); + Double z = readAll.get(i).get("坐标Z") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标Z").toString()); Area area = areaService.findByCode(areaCode); if (area == null) { ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), "找不到库区" + areaCode); @@ -132,6 +136,7 @@ public class PointController { point.setDept(dept); point.setPosX(x); point.setPosY(y); + point.setPosZ(z); point.setEnabled(true); point.setStatus(BaseStatus.FREE); pointService.create(point); @@ -140,7 +145,7 @@ public class PointController { point.setCode(code); point.setName(code); String lx = ""; - if (types.equals("缓存点")) { + if (types.equals("存储点")) { lx = BaseStatus.STORAGE; } else if (types.equals("线边点位")) { @@ -154,6 +159,7 @@ public class PointController { point.setEnabled(Boolean.valueOf(enabled)); } point.setPosY(y); + point.setPosZ(z); pointService.update(point); edit_len++; } @@ -295,11 +301,27 @@ public class PointController { @PostMapping("/queryPointInfo") @AnonymousAccess public ResponseEntity queryPointInfo(@RequestBody CurrentPage currentPage) { - List pointList= pointService.getPoint(BaseStatus.STORAGE,"存储区",currentPage.getCurrentPage(),currentPage.getPageSize()); - int total=pointService.getPoint(BaseStatus.STORAGE,"存储区").size(); +// List pointList= pointService.getPoint(BaseStatus.STORAGE,"存储区",currentPage.getCurrentPage(),currentPage.getPageSize()); + int total=pointRepository.getDataPointTotal().size(); + JSONArray dataArray=new JSONArray(); + List> pointList= pointRepository.getDataPointLimit((currentPage.getCurrentPage()-1)*currentPage.getPageSize(),currentPage.getPageSize()); + for (int i = 0; i < pointList.size(); i++) { + double x=Double.valueOf(pointList.get(i).get("pos_x")+""); + double y=Double.valueOf(pointList.get(i).get("pos_y")+""); + dataArray.add(pointRepository.getDataPointList(x,y)); + } + /* + + JSONArray pointArray=new JSONArray(); + JSONArray jsonArray=new JSONArray(); + for (int i = 0; i < 5; i++) { + jsonArray.add(pointList.get(i)); + } + pointArray.add(jsonArray);*/ JSONObject object=new JSONObject(); object.put("total",total); - object.put("data",pointList); + object.put("pageSize",12); + object.put("data",dataArray); return new ResponseEntity<>(ApiResult.success(HttpStatus.OK.value(), "", object), HttpStatus.OK); } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java index 8937204..7fe119d 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java @@ -181,12 +181,12 @@ public class PointServiceImpl implements PointService { @Override public List getPoint(String type, String areaCode) { - String hql = " from Point p where p.enabled=true and p.status='FREE' and p.type='" + type + "' "; + /*String hql = " from Point p where p.enabled=true and p.status='FREE' and p.type='" + type + "' "; if (areaCode != null) { hql += " and p.area.code='" + areaCode + "'"; } - Query query = entityMapper.createQuery(hql); - List pointList = query.getResultList(); + Query query = entityMapper.createQuery(hql);*/ + List pointList = pointRepository.getDataPoint(); return pointList; }