diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java index cf1e7a73f..1b93e7a8c 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.auth; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; @@ -15,10 +16,7 @@ import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.basic.SysWorkplaceFreightRequest; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; import com.glxp.api.res.PageSimpleResponse; -import com.glxp.api.res.basic.SysWorkplaceFreightPrintResponse; -import com.glxp.api.res.basic.SysWorkplaceFreightResponse; -import com.glxp.api.res.basic.SysWorkplaceQueueResponse; -import com.glxp.api.res.basic.SysWorkplaceResponse; +import com.glxp.api.res.basic.*; import com.glxp.api.service.basic.SysWorkplaceFreightService; import com.glxp.api.service.basic.SysWorkplaceQueueService; import com.glxp.api.service.system.SystemPDFModuleService; @@ -148,5 +146,16 @@ public class SysWorkplaceFreightController extends BaseController { } + @GetMapping("/udiwms/WorkplaceFreight/getListView") + public BaseResponse getListView(SysWorkplaceFreightRequest request) { + Long workPlaceIdFk = request.getWorkPlaceIdFk(); + if ( workPlaceIdFk == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + List list = sysWorkplaceFreightService.getListView(request); + + return ResultVOUtils.success(list); + } + } diff --git a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceFreight.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceFreight.java index 738a8bcfa..b713a1e03 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceFreight.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceFreight.java @@ -78,6 +78,13 @@ public class SysWorkplaceFreight implements Serializable { @ApiModelProperty(value = "") private Integer isSingQueue; + /** + * 行数 + */ + @TableField(value = "row") + @ApiModelProperty(value = "") + private Integer row; + private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightResponse.java b/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightResponse.java index e42cfa405..e4cef0ac0 100644 --- a/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightResponse.java +++ b/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightResponse.java @@ -61,6 +61,7 @@ public class SysWorkplaceFreightResponse { * 受否单产品槽位 */ private Integer isSingQueue; + private Integer row; diff --git a/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightViewResponse.java b/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightViewResponse.java new file mode 100644 index 000000000..07add3770 --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/SysWorkplaceFreightViewResponse.java @@ -0,0 +1,71 @@ +package com.glxp.api.res.basic; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author : zhuzhu + * @date : 2024/11/4 11:08 + * @modyified By : + */ + +@Data +public class SysWorkplaceFreightViewResponse { + private Integer id; + + /** + * 货位编码 + */ + private String code; + + /** + * 货位名称 + */ + private String name; + + /** + * 工位ID + */ + private Long workPlaceIdFk; + + /** + * 备注 + */ + private String remark; + + + private Date createTime; + + private Date updateTime; + + private String createUser; + + + private String updateUser; + + + /** + * 所属工位 + */ + private String workPlaceName; + + /** + * 摆货层数量 + */ + private Integer layerCount; + + /** + * 受否单产品槽位 + */ + private Integer isSingQueue; + private Integer row; + + private List sysWorkplaceFreightList; + + + + + +} diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceFreightService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceFreightService.java index 9c2b3286d..13a0134e1 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceFreightService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceFreightService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.basic; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -11,11 +12,13 @@ import com.glxp.api.exception.JsonException; import com.glxp.api.req.basic.SysWorkplaceFreightRequest; import com.glxp.api.res.basic.SysWorkplaceFreightPrintResponse; import com.glxp.api.res.basic.SysWorkplaceFreightResponse; +import com.glxp.api.res.basic.SysWorkplaceFreightViewResponse; +import com.glxp.api.res.basic.SysWorkplaceQueueViewResponse; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Collections; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * @author : zhuzhu @@ -87,4 +90,34 @@ public class SysWorkplaceFreightService extends ServiceImpl getList(SysWorkplaceFreightRequest sysWorkplaceFreightRequest) { return sysWorkplaceFreightMapper.getList(sysWorkplaceFreightRequest); } + + public List getListView(SysWorkplaceFreightRequest request) { + List list = sysWorkplaceFreightMapper.filterList(request); + + + List respList = new ArrayList<>(); + List sortedRespList = new ArrayList<>(); + + if (CollUtil.isNotEmpty(list)){ + + // 使用Stream API根据layerCode字段进行分组 + Map> collect = list.stream().collect(Collectors.groupingBy(SysWorkplaceFreightResponse::getRow)); + + collect.forEach((row, responseList) -> { + SysWorkplaceFreightViewResponse sysWorkplaceFreightViewResponse = new SysWorkplaceFreightViewResponse(); + sysWorkplaceFreightViewResponse.setSysWorkplaceFreightList(responseList); + sysWorkplaceFreightViewResponse.setRow(row); + respList.add(sysWorkplaceFreightViewResponse); + }); + } + + if (CollUtil.isNotEmpty(respList)) { + // 使用 Stream API 对列表进行排序 + sortedRespList = respList.stream() + .sorted(Comparator.comparing(SysWorkplaceFreightViewResponse::getRow)) + .collect(Collectors.toList()); + } + + return sortedRespList; + } }