diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java index 7344954..1b3c740 100644 --- a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java @@ -2,7 +2,9 @@ package org.dromara.pda.api; import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.user.UserException; +import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.dromara.pda.api.model.vo.RemoteQcInspectionTaskVo; import java.util.List; @@ -11,9 +13,12 @@ public interface RemotePdaQmsApiService { /** * * @param operationCode 工序 - * @param tenantId 租户编号 + * @param * @return * @throws UserException */ - List remoteQueryDefectList(String operationCode , String tenantId) throws UserException; + List remoteQueryDefectList(String operationCode) throws UserException; + + + R remoteSavePdaInspectionTask(QcInspectionTaskBo bo); } diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java new file mode 100644 index 0000000..d09ca54 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java @@ -0,0 +1,116 @@ +package org.dromara.pda.api.model; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; + + +/** + * 检验任务处理业务对象 qc_inspection_task + * + * @author LionLi + * @date 2025-05-27 + */ +@Data + +public class QcInspectionTaskBo { + + /** + * 主键标识 + */ + private Long taskId; + + /** + * 检验类型 + */ + @NotBlank(message = "检验类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String category; + + /** + * 任务编号 + */ + + private String taskNo; + + /** + * 任务描述 + */ + @NotBlank(message = "任务描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String description; + + /** + * 任务状态 + */ + @NotBlank(message = "任务状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private String status; + + /** + * 生产车间 + */ + @NotBlank(message = "生产车间不能为空", groups = { AddGroup.class, EditGroup.class }) + private String workCenter; + + /** + * 工单编号 + */ + @NotBlank(message = "工单编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String shopOrder; + + /** + * 生产批次 + */ + @NotBlank(message = "生产批次不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sfc; + + /** + * 工序编号 + */ + @NotBlank(message = "工序编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String operation; + + /** + * 工艺路线步骤标识 + */ + + private String stepId; + + /** + * 资源编号 + */ + @NotBlank(message = "资源编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String resrce; + + /** + * 任务结果 + */ + + private String result; + + /** + * PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识 + */ + @NotBlank(message = "PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识不能为空", groups = { AddGroup.class, EditGroup.class }) + private String qcMaterialCode; + + /** + * 物料id + */ + @NotNull(message = "物料id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long materialId; + + /** + * 预留字段 + */ + private String attr3; + + /** + * 预留字段 + */ + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java index d0f8c9c..ddd1948 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java @@ -8,11 +8,13 @@ import org.dromara.api.domain.QcTaskInfo; import org.dromara.api.service.IPdaApiService; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.web.core.BaseController; import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -62,4 +64,12 @@ public class PdaApiController extends BaseController { } return R.ok(defectDetail); } + + /** + * PDA提交保存检验任务 + */ + @PostMapping("/savePdaInspectionTask") + public R savePdaInspectionTask(@Validated(EditGroup.class) @RequestBody QcInspectionTaskBo bo) { + return iPdaApiService.savePdaInspectionTask(bo); + } } diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/QcInspectionTask.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/QcInspectionTask.java new file mode 100644 index 0000000..e3c56ff --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/QcInspectionTask.java @@ -0,0 +1,107 @@ +package org.dromara.api.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 检验任务处理对象 qc_inspection_task + * + * @author LionLi + * @date 2025-05-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("qc_inspection_task") +public class QcInspectionTask extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "task_id") + private Long taskId; + + /** + * 检验类型 + */ + private String category; + + /** + * 任务编号 + */ + private String taskNo; + + /** + * 任务描述 + */ + private String description; + + /** + * 任务状态 + */ + private String status; + + /** + * 生产车间 + */ + private String workCenter; + + /** + * 工单编号 + */ + private String shopOrder; + + /** + * 生产批次 + */ + private String sfc; + + /** + * 工序编号 + */ + private String operation; + + /** + * 工艺路线步骤标识 + */ + private String stepId; + + /** + * 资源编号 + */ + private String resrce; + + /** + * 任务结果 + */ + private String result; + + /** + * PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识 + */ + private String qcMaterialCode; + + /** + * 物料id + */ + private Long materialId; + + /** + * 预留字段 + */ + private String attr3; + + /** + * 预留字段 + */ + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskBo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskBo.java new file mode 100644 index 0000000..6924e56 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskBo.java @@ -0,0 +1,119 @@ +package org.dromara.api.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.api.domain.QcInspectionTask; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + + +/** + * 检验任务处理业务对象 qc_inspection_task + * + * @author LionLi + * @date 2025-05-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = QcInspectionTask.class, reverseConvertGenerate = false) +public class QcInspectionTaskBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long taskId; + + /** + * 检验类型 + */ + @NotBlank(message = "检验类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String category; + + /** + * 任务编号 + */ + + private String taskNo; + + /** + * 任务描述 + */ + @NotBlank(message = "任务描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String description; + + /** + * 任务状态 + */ + @NotBlank(message = "任务状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private String status; + + /** + * 生产车间 + */ + @NotBlank(message = "生产车间不能为空", groups = { AddGroup.class, EditGroup.class }) + private String workCenter; + + /** + * 工单编号 + */ + @NotBlank(message = "工单编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String shopOrder; + + /** + * 生产批次 + */ + @NotBlank(message = "生产批次不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sfc; + + /** + * 工序编号 + */ + @NotBlank(message = "工序编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String operation; + + /** + * 工艺路线步骤标识 + */ + + private String stepId; + + /** + * 资源编号 + */ + @NotBlank(message = "资源编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String resrce; + + /** + * 任务结果 + */ + + private String result; + + /** + * PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识 + */ + @NotBlank(message = "PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识不能为空", groups = { AddGroup.class, EditGroup.class }) + private String qcMaterialCode; + + /** + * 物料id + */ + @NotNull(message = "物料id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long materialId; + + /** + * 预留字段 + */ + private String attr3; + + /** + * 预留字段 + */ + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java index 3b20657..38c6899 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java @@ -1,7 +1,9 @@ package org.dromara.api.service; import org.dromara.api.domain.QcTaskInfo; +import org.dromara.common.core.domain.R; import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; import java.util.List; @@ -19,4 +21,6 @@ public interface IPdaApiService { List getDefectDetail(String operationCode); QcTaskInfo getCheckMaterialInfo(String code); + + R savePdaInspectionTask(QcInspectionTaskBo bo); } diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java index ee53f71..bf360a6 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java @@ -5,9 +5,11 @@ import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.api.domain.QcTaskInfo; import org.dromara.api.mapper.PdaApiMapper; import org.dromara.api.service.IPdaApiService; +import org.dromara.common.core.domain.R; import org.dromara.pda.api.RemotePdaMesApiService; import org.dromara.pda.api.RemotePdaQmsApiService; import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; import org.springframework.stereotype.Service; @@ -28,7 +30,7 @@ public class IPdaApiServiceImpl implements IPdaApiService { @Override public List getDefectDetail(String operationCode) { - return remotePdaQmsApiService.remoteQueryDefectList(operationCode,"000000"); + return remotePdaQmsApiService.remoteQueryDefectList(operationCode); } private final PdaApiMapper pdaApiMapper; @@ -37,4 +39,9 @@ public class IPdaApiServiceImpl implements IPdaApiService { public QcTaskInfo getCheckMaterialInfo(String code) { return pdaApiMapper.getCheckMaterialInfo(code); } + + @Override + public R savePdaInspectionTask(QcInspectionTaskBo bo) { + return remotePdaQmsApiService.remoteSavePdaInspectionTask(bo); + } } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java index e0d7565..4c4971a 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java @@ -2,14 +2,19 @@ package org.dromara.qms.dubbo; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.user.UserException; +import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.pda.api.RemotePdaQmsApiService; +import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.dromara.qms.domain.QcInspectionTask; import org.dromara.qms.domain.bo.QcDefectDetailBo; import org.dromara.qms.domain.vo.QcDefectDetailVo; import org.dromara.qms.mapper.QcDefectDetailMapper; import org.dromara.qms.mapper.QcDefectInfoMapper; +import org.dromara.qms.mapper.QcInspectionTaskMapper; import org.dromara.qms.service.IQcDefectDetailService; import org.springframework.stereotype.Service; @@ -23,6 +28,7 @@ public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { private final QcDefectInfoMapper qcDefectInfoMapper; private final QcDefectDetailMapper qcDefectDetailMapper; + private final QcInspectionTaskMapper qcInspectionTaskMapper; private final IQcDefectDetailService iQcDefectDetailService; /** @@ -33,7 +39,8 @@ public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { * @throws UserException */ @Override - public List remoteQueryDefectList(String operationCode, String tenantId) throws UserException { + public List remoteQueryDefectList(String operationCode) throws UserException { + String tenantId = TenantHelper.getTenantId(); return TenantHelper.dynamic(tenantId, () -> { QcDefectDetailBo bo = new QcDefectDetailBo(); bo.setOperationCode(operationCode); @@ -50,4 +57,15 @@ public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { }); } + + @Override + public R remoteSavePdaInspectionTask(QcInspectionTaskBo bo) { + QcInspectionTask qcInspectionTask = new QcInspectionTask(); + qcInspectionTask = MapstructUtils.convert(bo, QcInspectionTask.class); + int i = qcInspectionTaskMapper.updateById(qcInspectionTask); + if (i > 0) { + return R.ok(); + } + return R.fail(); + } }