1、cad拆单造型/侧面造型/二维刀路修正判定规则;2、订单详情接口增加属性;3、新增cad任务查询接口、修复cad异步拆单任务和生产单的关联缺失;

This commit is contained in:
gaoqr
2025-05-15 18:11:25 +08:00
parent d3d937fab0
commit 680ceeba29
18 changed files with 340 additions and 106 deletions
@@ -63,6 +63,15 @@ public class OrderPlatesDetailReqVO {
@Schema(description = "是否造型", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean isSculpt;
@Schema(description = "是否侧面造型")
private boolean isSideSculpt;
@Schema(description = "是否二维刀路")
private boolean has2DModel;
@Schema(description = "是否侧面二维刀路")
private boolean hasSide2DModel;
@Schema(description = "是否排孔", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean isRowHole;
@@ -0,0 +1,34 @@
package com.cf.imes.module.executor.controller.admin.orderImportTask;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskPageReqVO;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskRespVO;
import com.cf.imes.module.executor.service.orderImport.OrderImportTaskService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* @author Gqr
* @since 2025/5/15 9:19
*/
@Tag(name = "管理后台 - 生产单导入任务管理")
@RestController
@RequestMapping("/executor/order/task")
public class OrderImportTaskController {
@Resource
private OrderImportTaskService orderImportTaskService;
@GetMapping("")
@Operation(summary = "生产单导入任务查询")
public CommonResult<PageResult<OrderImportTaskRespVO>> webCadOrderImport(@Valid OrderImportTaskPageReqVO reqVO) {
return CommonResult.success(orderImportTaskService.getPage(reqVO));
}
}
@@ -0,0 +1,37 @@
package com.cf.imes.module.executor.controller.admin.orderImportTask.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* @author Gqr
* @since 2025/5/15 9:33
*/
@Schema(description = "管理后台 - 生产单导入任务分页 Request VO")
@Data
@ToString(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderImportTaskPageReqVO extends PageParam {
@Schema(description = "生产单号")
private Long orderId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "导入文件名")
private String fileName;
}
@@ -0,0 +1,35 @@
package com.cf.imes.module.executor.controller.admin.orderImportTask.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author Gqr
* @since 2025/5/15 10:15
*/
@Schema(description = "管理后台 - 生产单导入任务 Response VO")
@Data
public class OrderImportTaskRespVO {
@Schema(description = "任务号")
private Long id;
@Schema(description = "关联生产单号")
private Long orderId;
@Schema(description = "导入文件名")
private String fileName;
@Schema(description = "导入状态:0:创建未消费、10:创建已接收、20:消费成功、30:消费失败、40:消费超时")
private Integer importStatus;
@Schema(description = "任务状态:0:未导入、10:导入成功、20:导入失败")
private Integer status;
@Schema(description = "导入类型:0EXCEL、1JSON、2:XML、3API")
private Integer type;
@Schema(description = "创建时间")
private LocalDateTime createTime;
}
@@ -160,6 +160,15 @@ public class PlateRespVO extends PageParam {
@ExcelProperty("是否造型")
private Boolean isSculpt;
@Schema(description = "是否侧面造型")
private boolean isSideSculpt;
@Schema(description = "是否二维刀路")
private boolean has2DModel;
@Schema(description = "是否侧面二维刀路")
private boolean hasSide2DModel;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
@ExcelProperty("备注")
private String remark;
@@ -40,6 +40,11 @@ public class OrderImportTaskDO extends BaseDO {
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/**
* 生产单id
*/
private Long orderId;
/**
* 导入类型,参考OrderImportTypeEnum
*/
@@ -1,6 +1,6 @@
package com.cf.imes.module.executor.dal.mysql.orderImport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.executor.dal.dataobject.orderImport.OrderImportTaskDO;
import org.apache.ibatis.annotations.Mapper;
@@ -11,5 +11,5 @@ import org.apache.ibatis.annotations.Mapper;
* @since 2025/1/9 11:42
*/
@Mapper
public interface OrderImportTaskMapper extends BaseMapper<OrderImportTaskDO> {
public interface OrderImportTaskMapper extends BaseMapperX<OrderImportTaskDO> {
}
@@ -0,0 +1,20 @@
package com.cf.imes.module.executor.service.orderImport;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskPageReqVO;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskRespVO;
/**
* @author Gqr
* @since 2025/5/13 16:41
*/
public interface OrderImportTaskService {
/**
* 分页查询
*
* @param pageReqVO
* @return
*/
PageResult<OrderImportTaskRespVO> getPage(OrderImportTaskPageReqVO pageReqVO);
}
@@ -0,0 +1,36 @@
package com.cf.imes.module.executor.service.orderImport;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskPageReqVO;
import com.cf.imes.module.executor.controller.admin.orderImportTask.vo.OrderImportTaskRespVO;
import com.cf.imes.module.executor.dal.dataobject.orderImport.OrderImportTaskDO;
import com.cf.imes.module.executor.dal.mysql.orderImport.OrderImportTaskMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author Gqr
* @since 2025/5/13 16:41
*/
@Service
public class OrderImportTaskServiceImpl implements OrderImportTaskService {
@Resource
private OrderImportTaskMapper orderImportTaskMapper;
@Override
public PageResult<OrderImportTaskRespVO> getPage(OrderImportTaskPageReqVO pageReqVO) {
LambdaQueryWrapperX<OrderImportTaskDO> queryWrapper = new LambdaQueryWrapperX<OrderImportTaskDO>()
.eq(OrderImportTaskDO::getOrganId, OrganContextHolder.getOrganId())
.eqIfPresent(OrderImportTaskDO::getOrderId, pageReqVO.getOrderId())
.betweenIfPresent(OrderImportTaskDO::getCreateTime, pageReqVO.getCreateTime())
.eqIfPresent(OrderImportTaskDO::getFileName, pageReqVO.getFileName())
.orderByDesc(OrderImportTaskDO::getCreateTime);
return BeanUtils.toBean(orderImportTaskMapper.selectPage(pageReqVO, queryWrapper), OrderImportTaskRespVO.class);
}
}
@@ -5,7 +5,7 @@
<select id="selectPlatesDetailByOrderId" resultType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO">
SELECT DISTINCT i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down,
p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt, p.unregular_point_count, p.front_hole_count,
p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt,p.is_side_sculpt,p.has_2d_model, p.has_side_2d_model, p.unregular_point_count, p.front_hole_count,
p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,p.remark,g.color,p.is_row_hole, p.custom_plate_no
FROM order_item i
RIGHT JOIN `order_plate` p ON i.plate_id = p.id