修改根据排单id获取小板为分页

This commit is contained in:
yangsb
2024-04-28 16:27:59 +08:00
parent 79d271d7bb
commit c58572a4fb
6 changed files with 33 additions and 28 deletions
@@ -45,6 +45,7 @@ public class DataSourceFilter extends OncePerRequestFilter {
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
String dataCode = request.getHeader(DATA_SOURCE_CODE); String dataCode = request.getHeader(DATA_SOURCE_CODE);
if(StrUtil.isEmpty(dataCode)) { if(StrUtil.isEmpty(dataCode)) {
//TODO 如果要严谨一点,应该再去校验一下token
ServletUtils.writeJSON(response, CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "访问令牌已过期")); ServletUtils.writeJSON(response, CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "访问令牌已过期"));
log.info("Let the user log in because there is no data-code! requestURI==>{}", request.getRequestURI()); log.info("Let the user log in because there is no data-code! requestURI==>{}", request.getRequestURI());
return; return;
@@ -87,9 +87,9 @@ public class PlanController {
} }
@GetMapping("getPlateByPlanId") @GetMapping("getPlateByPlanId")
@Operation(summary = "根据排单id获取板材列表") @Operation(summary = "根据排单id获取小板分页")
@PreAuthorize("@ss.hasPermission('executor:plan:query')") @PreAuthorize("@ss.hasPermission('executor:plan:query')")
public CommonResult<List<PlateResList>> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) { public CommonResult<PageResult<PlateResList>> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) {
return success(planService.getPlateByPlanId(vo)); return success(planService.getPlateByPlanId(vo));
} }
@@ -149,10 +149,10 @@ public class PlanController {
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportPlateExcel(@Valid GetPlateByPlanIdVO vo, public void exportPlateExcel(@Valid GetPlateByPlanIdVO vo,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PlateResList> plateByPlanId = planService.getPlateByPlanId(vo); PageResult<PlateResList> plateByPlanId = planService.getPlateByPlanId(vo);
// 导出 Excel // 导出 Excel
ExcelUtils.write(response, "排单板材.xls", "数据", PlateResList.class, ExcelUtils.write(response, "排单板材.xls", "数据", PlateResList.class,
BeanUtils.toBean(plateByPlanId, PlateResList.class)); BeanUtils.toBean(plateByPlanId.getList(), PlateResList.class));
} }
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.controller.admin.plan.vo; package com.cf.imes.module.executor.controller.admin.plan.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@@ -11,22 +12,24 @@ import java.util.Date;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data @Data
public class GetPlateByPlanIdVO { public class GetPlateByPlanIdVO extends PageParam {
@Schema(description = "排单id") @Schema(description = "排单id")
@NotNull(message = "排单id不能空") @NotNull(message = "排单id不能空")
private Long planId; private Long planId;
@Schema(description = "矩形") @Schema(description = "矩形")
private boolean rectangle; private Boolean rectangle;
@Schema(description = "异形") @Schema(description = "异形")
private boolean specialShaped; private Boolean specialShaped;
@Schema(description = "造型") @Schema(description = "造型")
private boolean sculpt; private Boolean sculpt;
@Schema(description = "有挖穿造型") @Schema(description = "有挖穿造型")
private boolean holeThrough; private Boolean holeThrough;
@Schema(description = "有挖穿孔") @Schema(description = "有挖穿孔")
private boolean burrow; private Boolean burrow;
@Schema(description = "有二维纹路") @Schema(description = "有二维纹路")
private boolean twoDimensionalToolPath; private Boolean twoDimensionalToolPath;
@Schema(description = "门板")
private Boolean isDoor;
@Schema(description = "开始时间") @Schema(description = "开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date beginDate; private Date beginDate;
@@ -66,7 +66,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId); IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId);
List<PlateResList> selectPlateByPlanId(@Param(Constants.WRAPPER) Wrapper<PlateDO> wrapper); IPage<PlateResList> selectPlateByPlanId(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlateDO> wrapper);
List<PlateParam> selectPlateList(Long planId); List<PlateParam> selectPlateList(Long planId);
@@ -61,7 +61,7 @@ public interface PlanService {
Boolean cancellation(Long id); Boolean cancellation(Long id);
List<PlateResList> getPlateByPlanId(GetPlateByPlanIdVO vo); PageResult<PlateResList> getPlateByPlanId(GetPlateByPlanIdVO vo);
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO); PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
} }
@@ -3,6 +3,7 @@ package com.cf.imes.module.executor.service.plan;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
@@ -315,34 +316,34 @@ public class PlanServiceImpl implements PlanService {
} }
@Override @Override
public List<PlateResList> getPlateByPlanId(GetPlateByPlanIdVO vo) { public PageResult<PlateResList> getPlateByPlanId(GetPlateByPlanIdVO vo) {
validatePlanExists(vo.getPlanId()); validatePlanExists(vo.getPlanId());
QueryWrapperX<PlateDO> queryWrapperX = new QueryWrapperX<>(); QueryWrapperX<PlateDO> queryWrapperX = new QueryWrapperX<>();
List<Integer> filterTypes = new ArrayList<>(); List<Integer> filterTypes = new ArrayList<>();
if (vo.isHoleThrough()) { if (Objects.nonNull(vo.getHoleThrough()) && vo.getHoleThrough()) {
filterTypes.add(1); filterTypes.add(1);
} }
if (vo.isBurrow()) { if (Objects.nonNull(vo.getBurrow()) && vo.getBurrow()) {
filterTypes.add(2); filterTypes.add(2);
} }
if (vo.isTwoDimensionalToolPath()) { if (Objects.nonNull(vo.getTwoDimensionalToolPath()) && vo.getTwoDimensionalToolPath()) {
filterTypes.add(4); filterTypes.add(4);
} }
queryWrapperX.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
queryWrapperX.eq("p.plan_id", vo.getPlanId())
.eqIfPresent("a.is_door", vo.getIsDoor())
.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
.betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()}) .betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()})
.inIfPresent("a.filter_type", filterTypes) .inIfPresent("a.filter_type", filterTypes)
.betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}) .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()});
.inIfPresent("a.filter_type", filterTypes)
.eq("p.plan_id", vo.getPlanId())
;
PageDTO<PlateResList> page = new PageDTO<>(vo.getPageNo(), vo.getPageSize());
List<PlateResList> list = plateMapper.selectPlateByPlanId(queryWrapperX); IPage<PlateResList> pageResult = plateMapper.selectPlateByPlanId(page, queryWrapperX);
Set<Long> bodyIds = list.stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); Set<Long> bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet());
Set<Long> roomIds = list.stream().map(PlateResList::getRoomId).collect(Collectors.toSet()); Set<Long> roomIds = pageResult.getRecords().stream().map(PlateResList::getRoomId).collect(Collectors.toSet());
if (CollectionUtil.isNotEmpty(bodyIds)) { if (CollectionUtil.isNotEmpty(bodyIds)) {
List<OrderBodyDO> orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds); List<OrderBodyDO> orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds);
for (PlateResList resList : list) { for (PlateResList resList : pageResult.getRecords()) {
resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null)); resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null));
resList.setRoomName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getRoomId())).map(OrderBodyDO::getRoomName).findAny().orElse(null)); resList.setRoomName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getRoomId())).map(OrderBodyDO::getRoomName).findAny().orElse(null));
} }
@@ -355,7 +356,7 @@ public class PlanServiceImpl implements PlanService {
resList.setBodyName(moduleDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(ModuleDO::getName).findAny().orElse(null)); resList.setBodyName(moduleDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(ModuleDO::getName).findAny().orElse(null));
resList.setRoomName(moduleDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getRoomId())).map(ModuleDO::getName).findAny().orElse(null)); resList.setRoomName(moduleDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getRoomId())).map(ModuleDO::getName).findAny().orElse(null));
}*/ }*/
return list; return new PageResult<>(pageResult.getRecords(), pageResult.getTotal());
} }
@Override @Override