Browse Source

✨ feat(mes): 添加计量单位名称到生产任务响应对象

YunaiV 3 months ago
parent
commit
59cb4577d8

+ 7 - 2
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java

@@ -217,6 +217,8 @@ public class MesProTaskController {
                 new ArrayList<>(convertSet(list, MesProTaskDO::getProcessId)));
         Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
                 convertSet(list, MesProTaskDO::getItemId));
+        Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
+                convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));
         Map<Long, MesMdClientDO> clientMap = clientService.getClientMap(
                 convertSet(list, MesProTaskDO::getClientId));
         // 工序的 checkFlag:批量查询后构建 routeId -> processId -> checkFlag 的双层 Map
@@ -239,8 +241,11 @@ public class MesProTaskController {
                     vo.setWorkstationCode(ws.getCode()).setWorkstationName(ws.getName()));
             findAndThen(processMap, task.getProcessId(), p ->
                     vo.setProcessName(p.getName()));
-            findAndThen(itemMap, task.getItemId(), item ->
-                    vo.setItemCode(item.getCode()).setItemName(item.getName()).setItemSpecification(item.getSpecification()));
+            findAndThen(itemMap, task.getItemId(), item -> {
+                vo.setItemCode(item.getCode()).setItemName(item.getName()).setItemSpecification(item.getSpecification());
+                findAndThen(unitMeasureMap, item.getUnitMeasureId(), unit ->
+                        vo.setUnitMeasureName(unit.getName()));
+            });
             findAndThen(clientMap, task.getClientId(), c ->
                     vo.setClientName(c.getName()));
             findAndThen(routeProcessCheckFlagMap, task.getRouteId(), processCheckMap ->

+ 3 - 0
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/vo/MesProTaskRespVO.java

@@ -58,6 +58,9 @@ public class MesProTaskRespVO {
     @Schema(description = "规格型号", example = "100x200mm")
     private String itemSpecification;
 
+    @Schema(description = "计量单位名称", example = "个")
+    private String unitMeasureName;
+
     @Schema(description = "排产数量", example = "100.00")
     private BigDecimal quantity;