cad三维看图能力相关字段修复

This commit is contained in:
gaoqr
2025-12-29 15:37:28 +08:00
parent 64691f93e7
commit cb910e40e3
15 changed files with 79 additions and 296 deletions
@@ -1,20 +1,23 @@
package com.cf.imes.module.executor.controller.admin.order.vo.order;
import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.validation.InEnum;
import com.cf.imes.module.executor.enums.OrderCadViewPlateRangeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Schema(description = "管理后台 - 柜体视图板材分组条件")
@Schema(description = "管理后台 - WEBCAD视图板材分组条件")
@Data
@ToString(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderBodyViewPlatePageReqVO extends PageParam {
public class OrderCadViewPlatePageReqVO extends PageParam {
@Schema(description = "生产单号", example = "1024")
private Long orderId;
@@ -27,4 +30,12 @@ public class OrderBodyViewPlatePageReqVO extends PageParam {
@Schema(description = "加工组编号", example = "1024")
private Long groupId;
@Schema(description = "板件编号", example = "1024")
private Long plateNo;
@Schema(description = "板件查询范围", example = "1")
// @NotNull(message = "板件查询范围不能为空")
@InEnum(OrderCadViewPlateRangeEnum.class)
private Integer range;
}
@@ -6,7 +6,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.excel.core.util.ExcelUtils;
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderBodyViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderCadViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
import com.cf.imes.module.executor.controller.admin.plate.vo.*;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
@@ -141,14 +141,14 @@ public class PlateController {
@GetMapping("/body/view/page")
@Operation(summary = "获取柜体下的板件视图分页列表数据")
public CommonResult<PageResult<OrderBodyViewPlatePageRespVO>> getBodyViewPlatesPage(@Valid OrderBodyViewPlatePageReqVO orderBodyPageRespVO) {
return success(plateService.getBodyViewPlatesPage(orderBodyPageRespVO));
public CommonResult<PageResult<OrderBodyViewPlatePageRespVO>> getBodyViewPlatesPage(@Valid OrderCadViewPlatePageReqVO orderCadViewPlatePageReqVO) {
return success(plateService.getBodyViewPlatesPage(orderCadViewPlatePageReqVO));
}
@GetMapping("/body/view/cadinfo")
@Operation(summary = "获取板件对应柜体下的所有板件视图列表数据")
@Parameter(name = "plateNo", description = "板件id", required = true)
public CommonResult<List<OrderBodyViewPlatePageRespVO>> getBodyViewPlatesCadInfo(@RequestParam(value = "plateNo") Long plateNo) {
return success(plateService.getBodyViewPlatesCadInfo(plateNo));
public CommonResult<List<OrderBodyViewPlatePageRespVO>> getBodyViewPlatesCadInfo(@Valid OrderCadViewPlatePageReqVO orderCadViewPlatePageReqVO) {
return success(plateService.getBodyViewPlatesCadInfo(orderCadViewPlatePageReqVO));
}
}
@@ -0,0 +1,33 @@
package com.cf.imes.module.executor.enums;
import com.cf.imes.framework.common.core.IntArrayValuable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
/**
* cad图纸的板件范围
*
* @author Gqr
* @since 2025/12/26 9:28
*/
@RequiredArgsConstructor
@Getter
public enum OrderCadViewPlateRangeEnum implements IntArrayValuable {
BODY(0),
GROUP(1),
GROUP_WITH_BODY(2);
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(OrderCadViewPlateRangeEnum::getRange).toArray();
@Override
public int[] array() {
return ARRAYS;
}
/**
* 范围
*/
private final Integer range;
}
@@ -1,32 +0,0 @@
package com.cf.imes.module.executor.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 生产单板件排单过滤类型
*
* @author Gqr
* @since 2024/6/7 14:31
*/
@RequiredArgsConstructor
@Getter
public enum OrderPlateFilterTypeEnum {
HAS_CUT_THROUGH_SHAPE(1, "有挖穿造型"),
HAS_CUT_PUNCH(2, "有挖穿孔"),
HAS_2D_KNIFE_PATHS(4, "有二维刀路"),
STACKABLE(8, "可叠");
/**
* 类型编码
*/
private final Integer code;
/**
* 描述
*/
private final String desc;
}
@@ -1,51 +0,0 @@
package com.cf.imes.module.executor.enums.amount;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author 交易类型枚举类
*/
@Getter
@AllArgsConstructor
public enum IncomeExpenseTypeEnum {
/**
* 收入
*/
INCOME(0, "收入"),
/**
* 支出
*/
EXPENSES(1, "支出");
/**
* 类型
*/
private final Integer type;
/**
* 名称
*/
private final String name;
public static IncomeExpenseTypeEnum fromType(Integer type) {
if (type == null) {
return null;
}
for (IncomeExpenseTypeEnum value : values()) {
if (ObjectUtil.equal(value.getType(), type)) {
return value;
}
}
return null;
}
}
@@ -1,63 +0,0 @@
package com.cf.imes.module.executor.enums.amount;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author 发票状态枚举类型
*/
@Getter
@AllArgsConstructor
public enum InvoiceStatusEnum {
/**
* 可开票
*/
INVOICABLE(0, "可开票"),
/**
* 待开票
*/
PENDINGINVOICING(1, "待开票"),
/**
* 已开票
*/
INVOICINGSUCCESSFUL(2,"已开票"),
/**
* 开票失败
*/
INVOICINGFAILED(3,"开票失败");
/**
* 状态
*/
private final Integer status;
/**
* 名称
*/
private final String name;
public static InvoiceStatusEnum fromType(Integer status) {
if (status == null) {
return null;
}
for (InvoiceStatusEnum value : values()) {
if (ObjectUtil.equal(value.getStatus(), status)) {
return value;
}
}
return null;
}
}
@@ -1,36 +0,0 @@
package com.cf.imes.module.executor.enums.amount;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author 发票类型枚举类
*/
@Getter
@AllArgsConstructor
public enum InvoiceTypeEnum {
/**
* 增值税普通发票
*/
INCOME(0, "增值税普通发票"),
/**
* 增值税专用发票
*/
EXPENSES(1, "增值税专用发票");
/**
* 类型
*/
private final Integer type;
/**
* 名称
*/
private final String name;
}
@@ -1,39 +0,0 @@
package com.cf.imes.module.executor.enums.amount;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author 发票开具类型枚举类
*/
@Getter
@AllArgsConstructor
public enum IssueTypeEnum {
/**
* 企业
*/
INCOME(0, "企业"),
/**
* 个人
*/
EXPENSES(1, "个人");
/**
* 类型
*/
private final Integer type;
/**
* 名称
*/
private final String name;
}
@@ -1,52 +0,0 @@
package com.cf.imes.module.executor.enums.amount;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author 交易类型枚举类
*/
@Getter
@AllArgsConstructor
public enum TradeTypeEnum {
/**
* 充值
*/
INCOME(0, "充值"),
/**
* 软件购买
*/
EXPENSES(1, "软件购买");
/**
* 类型
*/
private final Integer type;
/**
* 名称
*/
private final String name;
public static TradeTypeEnum fromType(Integer type) {
if (type == null) {
return null;
}
for (TradeTypeEnum value : values()) {
if (ObjectUtil.equal(value.getType(), type)) {
return value;
}
}
return null;
}
}
@@ -2,7 +2,7 @@ package com.cf.imes.module.executor.service.plate;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderBodyViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderCadViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
import com.cf.imes.module.executor.controller.admin.plate.vo.*;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
@@ -101,7 +101,7 @@ public interface PlateService {
* @param orderBodyPageRespVO
* @return
*/
PageResult<OrderBodyViewPlatePageRespVO> getBodyViewPlatesPage(OrderBodyViewPlatePageReqVO orderBodyPageRespVO);
PageResult<OrderBodyViewPlatePageRespVO> getBodyViewPlatesPage(OrderCadViewPlatePageReqVO orderBodyPageRespVO);
/**
* 根据板件id获取柜体下的所有板件cad视图所需信息
@@ -109,5 +109,5 @@ public interface PlateService {
* @param plateId
* @return
*/
List<OrderBodyViewPlatePageRespVO> getBodyViewPlatesCadInfo(Long plateId);
List<OrderBodyViewPlatePageRespVO> getBodyViewPlatesCadInfo(OrderCadViewPlatePageReqVO orderBodyPageRespVO);
}
@@ -23,7 +23,7 @@ import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderBodyViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderCadViewPlatePageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPlanPlateNumAndAreaRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
@@ -44,6 +44,7 @@ import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import com.cf.imes.module.executor.enums.OrderCadViewPlateRangeEnum;
import com.cf.imes.module.executor.enums.OrderItemType;
import com.cf.imes.module.executor.enums.OrderStatusEnum;
import com.cf.imes.module.executor.service.order.OrderInputProcessor;
@@ -846,14 +847,15 @@ public class PlateServiceImpl implements PlateService {
}
@Override
public PageResult<OrderBodyViewPlatePageRespVO> getBodyViewPlatesPage(OrderBodyViewPlatePageReqVO pageReqVO) {
public PageResult<OrderBodyViewPlatePageRespVO> getBodyViewPlatesPage(OrderCadViewPlatePageReqVO pageReqVO) {
PageDTO<PlateRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<OrderBodyViewPlatesPageDO> pageRes = orderItemMapper.selectBodyViewPlatesPage(page, pageReqVO.getOrderId(), pageReqVO.getRoomId(), pageReqVO.getBodyId(), pageReqVO.getGroupId(), getUserOrganId(), false);
return new PageResult(BeanUtil.copyToList(pageRes.getRecords(), OrderBodyViewPlatePageRespVO.class), pageRes.getTotal());
}
@Override
public List<OrderBodyViewPlatePageRespVO> getBodyViewPlatesCadInfo(Long plateId) {
public List<OrderBodyViewPlatePageRespVO> getBodyViewPlatesCadInfo(OrderCadViewPlatePageReqVO reqVO) {
Long plateId = reqVO.getPlateNo();
// 匹配板材
PlateDO plateDO = plateMapper.selectById(plateId);
if (ObjectUtil.isNull(plateDO)) {
@@ -879,7 +881,16 @@ public class PlateServiceImpl implements PlateService {
// 查询所有板件的视图所需信息
PageDTO<PlateRespVO> page = new PageDTO<>(1, PageParam.PAGE_SIZE_NONE);
IPage<OrderBodyViewPlatesPageDO> viewPlatesPage = orderItemMapper.selectBodyViewPlatesPage(page, orderItemDO.getOrderId(), orderItemDO.getRoomId(), orderItemDO.getBodyId(), null, orderItemDO.getOrganId(), true);
IPage<OrderBodyViewPlatesPageDO> viewPlatesPage;
Integer range = reqVO.getRange();
if (OrderCadViewPlateRangeEnum.GROUP.getRange().equals(range)) {
viewPlatesPage = orderItemMapper.selectBodyViewPlatesPage(page, orderItemDO.getOrderId(), orderItemDO.getRoomId(), orderItemDO.getBodyId(), orderItemDO.getGroupId(), orderItemDO.getOrganId(), true);
} else if (OrderCadViewPlateRangeEnum.GROUP_WITH_BODY.getRange().equals(range)) {
viewPlatesPage = orderItemMapper.selectBodyViewPlatesPage(page, orderItemDO.getOrderId(), orderItemDO.getRoomId(), orderItemDO.getBodyId(), orderItemDO.getGroupId(), orderItemDO.getOrganId(), true);
} else {
viewPlatesPage = orderItemMapper.selectBodyViewPlatesPage(page, orderItemDO.getOrderId(), orderItemDO.getRoomId(), orderItemDO.getBodyId(), null, orderItemDO.getOrganId(), true);
}
List<OrderBodyViewPlatesPageDO> records = viewPlatesPage.getRecords();
List<OrderBodyViewPlatePageRespVO> resultList = new ArrayList<>();
@@ -535,15 +535,10 @@
</select>
<select id="selectBodyViewPlatesPage" resultType="com.cf.imes.module.executor.dal.dataobject.orderItem.OrderBodyViewPlatesPageDO">
SELECT p.plate_no, p.name, p.width, p.height, p.thickness, g.material, g.color, p.cad_plate_no as customNumber
<choose>
<when test="cadView">
, p.cad_view_id, p.seal_left, p.seal_down, p.seal_right, p.seal_up
</when>
<otherwise>
, p.id
</otherwise>
</choose>
SELECT p.plate_no, p.name, p.width, p.height, p.thickness, g.material, g.color, p.cad_plate_no as customNumber, p.id
<if test="cadView">
, p.cad_view_id, p.seal_left, p.seal_down, p.seal_right, p.seal_up
</if>
FROM order_item i
LEFT JOIN `order_plate` p ON i.plate_id = p.id
LEFT JOIN `order_goods` g ON g.id = p.goods_id
@@ -0,0 +1,2 @@
inEnum.message=必须在指定范围 {0}
inScope.message={0}不合法
@@ -0,0 +1,2 @@
inEnum.message=必須在指定範圍 {0}
inScope.message={0}不合法
@@ -0,0 +1,2 @@
inEnum.message=Must be within the specified range {0}
inScope.message={0} is illegal