| src/main/java/com/zy/asrs/controller/DigitalTwinController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/DigitalTwinService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -22,6 +22,14 @@ private DigitalTwinService digitalTwinService; /** * 查询所有库位状态和物料-二机床信息化数字孪生用 */ @RequestMapping(value = "/getAllLocations") public R getAllLocations(){ return digitalTwinService.getAllLocations(); } /** * 数据总览 * * @param areaId 库区编码 src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java
New file @@ -0,0 +1,36 @@ package com.zy.asrs.entity.digitaltwin; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @author pang.jiabao * @description 查询所有库位状态和物料-二机床信息化数字孪生用 * @createDate 2026/1/26 11:13 */ @Data public class AllLocationsVo { // 库位号 private String locNo; // 库位状态,O空库位(英文不是数字);F 在库;D 空板;P 出库中;R 出库预约;S 入库预约;其他 其他; private String locSts; private List<LocDetl> locDetls = new ArrayList<>(); @Data public static class LocDetl { @ApiModelProperty(value = "商品编号") private String matnr; @ApiModelProperty(value = "商品名称") private String maktx; private Double anfme; } } src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -1,5 +1,6 @@ package com.zy.asrs.service; import com.core.common.R; import com.zy.asrs.entity.digitaltwin.*; import java.util.List; @@ -69,4 +70,9 @@ void locNumCount(); DtEquipmentVo equipment(String areaId); /** * 查询所有库位状态和物料-二机床信息化数字孪生用 */ R getAllLocations(); } src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.entity.BasCrnp; import com.zy.asrs.entity.LocCount; import com.zy.asrs.entity.LocDetl; @@ -11,6 +12,7 @@ import com.zy.asrs.mapper.LocCountMapper; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.DigitalTwinService; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.LocMastService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -282,6 +284,36 @@ .horizontalSpeed(Integer.valueOf( Cools.isEmpty(crnp.getCtlRest()) ? "0" : crnp.getCtlRest())).voltage(220).status(crnp.getCrnErr() == 0 ? 1 : 3).operateMethod(crnp.getCrnSts() == 3 ? 1 : 3).build(); } @Resource private LocDetlService locDetlService; @Override public R getAllLocations() { List<AllLocationsVo> allLocationsVos = new ArrayList<>(); List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>()); locMastList.forEach(locMast -> { AllLocationsVo allLocationsVo = new AllLocationsVo(); allLocationsVo.setLocNo(locMast.getLocNo()); String locSts = locMast.getLocSts(); allLocationsVo.setLocSts(locSts); // 有库存 if (locSts.equals("F") || locSts.equals("P") || locSts.equals("Q") || locSts.equals("R")) { List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); if (!locDetls.isEmpty()) { List<AllLocationsVo.LocDetl> locDetlList = locDetls.stream().map(locDetl -> { AllLocationsVo.LocDetl locDetl1 = new AllLocationsVo.LocDetl(); BeanUtils.copyProperties(locDetl, locDetl1); return locDetl1; } ).collect(Collectors.toList()); allLocationsVo.setLocDetls(locDetlList); } } allLocationsVos.add(allLocationsVo); }); return R.ok(allLocationsVos); } // region 数字孪生