From cfb55019ae63a60b226c17b416fc055fb8fb701c Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Tue, 18 Mar 2025 20:56:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E7=AE=A1=E7=90=86=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4(PDA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/nacos/application-common.yml | 3 +- .../mes/api/RemoteMaterialInfoService.java | 3 + ruoyi-api/hwmom-api-pda/pom.xml | 38 ++ .../pda/api/RemotePdaMesApiService.java | 20 + .../pda/api/RemotePdaQmsApiService.java | 19 + .../dromara/pda/api/model/BaseMaterial.java | 267 ++++++++++++ .../pda/api/model/vo/RemoteDefectVo.java | 104 +++++ ruoyi-api/pom.xml | 1 + ruoyi-common/ruoyi-common-core/pom.xml | 1 - .../exception/pda/PdaServiceException.java | 14 + .../main/resources/i18n/messages.properties | 3 + ruoyi-modules/hwmom-api/pom.xml | 8 +- .../BaseMaterialInfoApiController.java | 2 +- .../api/controller/PdaApiController.java | 42 ++ .../dromara/api/domain/BaseMaterialInfo.java | 282 +++++++++++++ .../api/domain/sap/vo/BaseMaterialInfoVo.java | 382 ++++++++++++++++++ .../dromara/api/service/IPdaApiService.java | 20 + .../impl/BaseMaterialInfoApiServiceImpl.java | 1 + .../api/service/impl/IPdaApiServiceImpl.java | 32 ++ ruoyi-modules/hwmom-mes/pom.xml | 6 + .../dubbo/RemoteMaterialInfoServiceImpl.java | 8 +- .../mes/dubbo/RemoteQmsApiServiceImpl.java | 43 ++ .../mes/mapper/BaseMaterialInfoMapper.java | 2 + .../mapper/mes/BaseMaterialInfoMapper.xml | 3 + ruoyi-modules/hwmom-qms/pom.xml | 6 + .../org/dromara/qms/HwmomQmsApplication.java | 2 + .../qms/domain/bo/QcDefectDetailBo.java | 2 + .../qms/domain/bo/QcInspectionRulesBo.java | 1 - .../qms/dubbo/RemoteQmsApiServiceImpl.java | 62 +++ 29 files changed, 1369 insertions(+), 8 deletions(-) create mode 100644 ruoyi-api/hwmom-api-pda/pom.xml create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java create mode 100644 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java diff --git a/config/nacos/application-common.yml b/config/nacos/application-common.yml index ee793c7..3217415 100644 --- a/config/nacos/application-common.yml +++ b/config/nacos/application-common.yml @@ -178,7 +178,8 @@ sa-token: is-share: false # jwt秘钥 jwt-secret-key: abcdefghijklmnopqrstuvwxyz - + # 设置Token有效期1小时(单位:秒) + timeout: 3600 # MyBatisPlus配置 # https://baomidou.com/config/ mybatis-plus: diff --git a/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java b/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java index 9b4b205..ef98a11 100644 --- a/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java +++ b/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java @@ -1,5 +1,7 @@ package org.dromara.mes.api; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.mes.api.model.BaseMaterialInfo; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import java.util.List; @@ -18,4 +20,5 @@ public interface RemoteMaterialInfoService { */ Boolean remoteInsertBaseMaterialInfo(List bos); + } diff --git a/ruoyi-api/hwmom-api-pda/pom.xml b/ruoyi-api/hwmom-api-pda/pom.xml new file mode 100644 index 0000000..3cebf37 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/pom.xml @@ -0,0 +1,38 @@ + + + + org.dromara + ruoyi-api + ${revision} + + 4.0.0 + + hwmom-api-pda + + + hwmom-api-pda PDA接口模块 + + + + + + + org.dromara + ruoyi-common-core + + + + org.dromara + ruoyi-common-excel + + + org.projectlombok + lombok + provided + + + + + diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java new file mode 100644 index 0000000..b30e7f2 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java @@ -0,0 +1,20 @@ +package org.dromara.pda.api; + +import org.dromara.common.core.exception.user.UserException; +import org.dromara.pda.api.model.BaseMaterial; + +import java.util.List; +import java.util.Map; + +public interface RemotePdaMesApiService { + /** + * + * @param materialCode + * @param tenantId + * @return + * @throws UserException + */ + BaseMaterial remoteQueryByMaterialCode(String materialCode , String tenantId) throws UserException; + + +} 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 new file mode 100644 index 0000000..6679187 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java @@ -0,0 +1,19 @@ +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.vo.RemoteDefectVo; + +import java.util.List; + + +public interface RemotePdaQmsApiService { + /** + * + * @param defectType 缺陷类型 + * @param tenantId 租户编号 + * @return + * @throws UserException + */ + List remoteQueryDefectList(String defectType , String tenantId) throws UserException; +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java new file mode 100644 index 0000000..c8f22eb --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java @@ -0,0 +1,267 @@ +package org.dromara.pda.api.model; + + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +@Data +@NoArgsConstructor +public class BaseMaterial implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long materialId; + + /** + * ERP信息 + */ + private String erpId; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 旧物料编码 + */ + private String oldMaterialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + private String materialCategories; + + /** + * 物料小类 + */ + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + private String batchFlag; + + /** + * 小批次数量 + */ + private Long batchAmount; + + /** + * 计量单位ID + */ + private Long materialUnitId; + + /** + * 计量单位名称 + */ + private String materialUnit; + + /** + * 物料组 + */ + private String materialMatkl; + + /** + * 物料规格 + */ + private String materialSpec; + + /** + * 净重 + */ + private Long netWeight; + + /** + * 毛重 + */ + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + private String alwaysFlag; + + /** + * 所属工厂 + */ + private Long factoryId; + + /** + * 创建组织 + */ + private Long createOrgId; + + /** + * 使用组织 + */ + private Long useOrgId; + + /** + * 所属产线 + */ + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + private String deletedFlag; + + /** + * 采购计价单位 + */ + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + private Date approveDate; + + /** + * erp最后更新日期 + */ + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + private Long minStockAmount; + + /** + * 安全库存数量 + */ + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + private String brand; + + /** + * 层级 + */ + private String plyrating; + + /** + * 花纹 + */ + private String pattern; + + /** + * 速度级别 + */ + private String speedLevel; + + /** + * 负荷载重 + */ + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + private Long maxParkingTime; + + /** + * 标准重量 + */ + private Long standardWeight; + + /** + * 标准重量上限 + */ + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + private String saleType; + + /** + * 备注 + */ + private String remark; + + + /** + * 所属工厂名称 + */ + private String factoryName; //映射字段 + + /** + * 物料类型名称 + */ + private String matrialTypeName;//映射字段 +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java new file mode 100644 index 0000000..3e386bf --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java @@ -0,0 +1,104 @@ +package org.dromara.pda.api.model.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; + +import java.io.Serial; +import java.io.Serializable; + +@Data +@NoArgsConstructor +public class RemoteDefectVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private String defectDetailId; + + /** + * 病疵编码 + */ + @ExcelProperty(value = "病疵编码") + private Long defectCode; + + /** + * 病疵描述 + */ + @ExcelProperty(value = "病疵描述") + private String defectDesc; + + /** + * 病疵类型 + */ + @ExcelProperty(value = "病疵类型") + private String defectType; + + /** + * 排序 + */ + @ExcelProperty(value = "排序") + private String sort; + + /** + * 工序 + */ + @ExcelProperty(value = "工序") + private String operation; + + /** + * 层级 + */ + @ExcelProperty(value = "层级") + private String defectLevel; + + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=正常,1=停用") + private String status; + + /** + * 是否删除(1是 0否) + */ + @ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=是,0=否") + private String isFlag; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr1; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr2; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr3; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr4; + + /** + * 备注 + */ + private String remark; + +} diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index fc8dc58..edd400d 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -14,6 +14,7 @@ ruoyi-api-resource ruoyi-api-workflow hwmom-api-mes + hwmom-api-pda ruoyi-api diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index 01d876e..2c1ed57 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -14,7 +14,6 @@ ruoyi-common-core 核心模块 - diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java new file mode 100644 index 0000000..bf90b97 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java @@ -0,0 +1,14 @@ +package org.dromara.common.core.exception.pda; + +import org.dromara.common.core.exception.base.BaseException; + +import java.io.Serial; + +public class PdaServiceException extends BaseException { + @Serial + private static final long serialVersionUID = 1L; + + public PdaServiceException(String code, Object... args) { + super("materialCode", code, args, null); + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties b/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties index cce11c8..906c57b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties +++ b/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties @@ -59,3 +59,6 @@ tenant.number.not.blank=租户编号不能为空 tenant.not.exists=对不起, 您的租户不存在,请联系管理员 tenant.blocked=对不起,您的租户已禁用,请联系管理员 tenant.expired=对不起,您的租户已过期,请联系管理员 +##PDA +materialCode.not.exit=对不起,物料编码不存在 +defect.type.not.blank=缺陷类型不能为空 diff --git a/ruoyi-modules/hwmom-api/pom.xml b/ruoyi-modules/hwmom-api/pom.xml index 2cd6c77..9eebf8a 100644 --- a/ruoyi-modules/hwmom-api/pom.xml +++ b/ruoyi-modules/hwmom-api/pom.xml @@ -120,12 +120,16 @@ 2.2.2 compile - + + org.dromara + hwmom-api-pda + 2.2.2 + compile + org.dromara ruoyi-common-job - diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java index 9f03d28..ec9bfec 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java @@ -4,7 +4,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.api.service.IBaseMaterialInfoApiService; -import org.dromara.mes.api.RemoteMaterialInfoService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.dromara.common.web.core.BaseController; 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 new file mode 100644 index 0000000..34c1601 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java @@ -0,0 +1,42 @@ +package org.dromara.api.controller; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.api.service.IPdaApiService; +import org.dromara.common.core.domain.R; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 生产信息 + * 前端访问路由地址为:/mes/prodPlanDetailApi + * + * @author Yangwl + * @date 2025-01-02 + */ +@Slf4j +@RequiredArgsConstructor +@RestController +@RequestMapping("/pdaApi") +public class PdaApiController { + + @Autowired + private final IPdaApiService iPdaApiService; + + /** + * PDA获取物料信息接口 + */ + @GetMapping(value = {"/getMaterialInfo/{MaterialCode}"}) + public BaseMaterial getMaterialInfo(@PathVariable(value = "MaterialCode", required = false) String MaterialCode) { + return iPdaApiService.getMaterialInfo(MaterialCode); + } + @GetMapping("/getDefectDetail") + public List getDefectDetail(@NotBlank(message = "{defect.type.not.blank}") String defectType) { + return iPdaApiService.getDefectDetail(defectType); + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java new file mode 100644 index 0000000..2d926b6 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java @@ -0,0 +1,282 @@ +package org.dromara.api.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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; +import java.util.Date; + +/** + * 物料信息对象 base_material_info + * + * @author zangch + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_material_info") +public class BaseMaterialInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "material_id", type = IdType.AUTO) + private Long materialId; + + /** + * ERP信息 + */ + private String erpId; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 旧物料编码 + */ + private String oldMaterialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + private String materialCategories; + + /** + * 物料小类 + */ + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + private String batchFlag; + + /** + * 小批次数量 + */ + private Long batchAmount; + + /** + * 计量单位ID + */ + private Long materialUnitId; + + /** + * 计量单位名称 + */ + private String materialUnit; + + /** + * 物料组 + */ + private String materialMatkl; + + /** + * 物料规格 + */ + private String materialSpec; + + /** + * 净重 + */ + private Long netWeight; + + /** + * 毛重 + */ + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + private String alwaysFlag; + + /** + * 所属工厂 + */ + private Long factoryId; + + /** + * 创建组织 + */ + private Long createOrgId; + + /** + * 使用组织 + */ + private Long useOrgId; + + /** + * 所属产线 + */ + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + private String deletedFlag; + + /** + * 采购计价单位 + */ + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + private Date approveDate; + + /** + * erp最后更新日期 + */ + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + private Long minStockAmount; + + /** + * 安全库存数量 + */ + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + private String brand; + + /** + * 层级 + */ + private String plyrating; + + /** + * 花纹 + */ + private String pattern; + + /** + * 速度级别 + */ + private String speedLevel; + + /** + * 负荷载重 + */ + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + private Long maxParkingTime; + + /** + * 标准重量 + */ + private Long standardWeight; + + /** + * 标准重量上限 + */ + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + private String saleType; + + /** + * 备注 + */ + private String remark; + + + /** + * 所属工厂名称 + */ + @TableField(exist = false) + private String factoryName; //映射字段 + + /** + * 物料类型名称 + */ + @TableField(exist = false) + private String matrialTypeName;//映射字段 + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java new file mode 100644 index 0000000..04cba09 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java @@ -0,0 +1,382 @@ +package org.dromara.api.domain.sap.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.api.domain.BaseMaterialInfo; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; + + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +/** + * 物料信息视图对象 base_material_info + * + * @author zangch + * @date 2025-01-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseMaterialInfo.class) +public class BaseMaterialInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long materialId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * ERP信息 + */ + @ExcelProperty(value = "ERP信息") + private String erpId; + + /** + * 物料编码 + */ + @ExcelProperty(value = "物料编码") + private String materialCode; + + /** + * 旧物料编码 + */ + @ExcelProperty(value = "旧物料编码") + private String oldMaterialCode; + + /** + * 物料名称 + */ + @ExcelProperty(value = "物料名称") + private String materialName; + + /** + * 物料类型ID + */ + @ExcelProperty(value = "物料类型ID") + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + @ExcelProperty(value = "物料大类(1原材料 2半成品 3成品)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_material_categories") + private String materialCategories; + + /** + * 物料小类 + */ + @ExcelProperty(value = "物料小类") + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + @ExcelProperty(value = "批次标识(0否 1是)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_batch_flag") + private String batchFlag; + + /** + * 小批次数量 + */ + @ExcelProperty(value = "小批次数量") + private Long batchAmount; + + /** + * 计量单位ID + */ + @ExcelProperty(value = "计量单位ID") + private Long materialUnitId; + + /** + * 计量单位名称 + */ + @ExcelProperty(value = "计量单位名称") + private String materialUnit; + + /** + * 物料组 + */ + @ExcelProperty(value = "物料组") + private String materialMatkl; + + /** + * 物料规格 + */ + @ExcelProperty(value = "物料规格") + private String materialSpec; + + /** + * 净重 + */ + @ExcelProperty(value = "净重") + private Long netWeight; + + /** + * 毛重 + */ + @ExcelProperty(value = "毛重") + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + @ExcelProperty(value = "绑定标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "always_flag") + private String alwaysFlag; + + /** + * 所属工厂 + */ + @ExcelProperty(value = "所属工厂") + private Long factoryId; + + /** + * 创建组织 + */ + @ExcelProperty(value = "创建组织") + private Long createOrgId; + + /** + * 使用组织 + */ + @ExcelProperty(value = "使用组织") + private Long useOrgId; + + /** + * 所属产线 + */ + @ExcelProperty(value = "所属产线") + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + @ExcelProperty(value = "删除标识(0否 1是)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "deleted_flag") + private String deletedFlag; + + /** + * 采购计价单位 + */ + @ExcelProperty(value = "采购计价单位") + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + @ExcelProperty(value = "审核日期") + private Date approveDate; + + /** + * erp最后更新日期 + */ + @ExcelProperty(value = "erp最后更新日期") + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + @ExcelProperty(value = "最大库存数量") + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + @ExcelProperty(value = "最小库存数量") + private Long minStockAmount; + + /** + * 安全库存数量 + */ + @ExcelProperty(value = "安全库存数量") + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + @ExcelProperty(value = "申请标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "apply_flag") + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + @ExcelProperty(value = "物料分类", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "material_classfication") + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + @ExcelProperty(value = "自动出库标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "auto_outstock_flag") + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + @ExcelProperty(value = "辅料标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_accessories_flag") + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + @ExcelProperty(value = "低值易耗品标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_low_value_consumable_flag") + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + @ExcelProperty(value = "品牌") + private String brand; + + /** + * 层级 + */ + @ExcelProperty(value = "层级") + private String plyrating; + + /** + * 花纹 + */ + @ExcelProperty(value = "花纹") + private String pattern; + + /** + * 速度级别 + */ + @ExcelProperty(value = "速度级别") + private String speedLevel; + + /** + * 负荷载重 + */ + @ExcelProperty(value = "负荷载重") + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + @ExcelProperty(value = "轮胎标记", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "tire_markings") + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + @ExcelProperty(value = "最小停放时间", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "秒=") + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + @ExcelProperty(value = "最大停放时间", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "秒=") + private Long maxParkingTime; + + /** + * 标准重量 + */ + @ExcelProperty(value = "标准重量") + private Long standardWeight; + + /** + * 标准重量上限 + */ + @ExcelProperty(value = "标准重量上限") + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + @ExcelProperty(value = "标准重量下限") + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + @ExcelProperty(value = "内胎标记(0无 1有)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "inner_tube_flag") + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + @ExcelProperty(value = "销售类型(0内销 1外销)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sale_type") + private String saleType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private Long updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + /** + * 所属工厂 + */ + @ExcelProperty(value = "所属工厂") + private String factoryName;//映射字段 + + /** + * 物料类型名称 + */ + @ExcelProperty(value = "物料类型名称") + private String matrialTypeName;//映射字段 + +} 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 new file mode 100644 index 0000000..cc63145 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java @@ -0,0 +1,20 @@ +package org.dromara.api.service; + +import org.dromara.common.core.domain.R; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; + +import java.util.List; + +/** + * API物料Service接口 + * + * @author Yinq + * @date 2025-01-02 + */ +public interface IPdaApiService { + + BaseMaterial getMaterialInfo(String materialCode); + + List getDefectDetail(String defectType); +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java index 6052085..c3996a7 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java @@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.dromara.api.service.ICommonApiService; import org.dromara.api.utils.SAPApiUtils; import org.dromara.api.utils.SAPConstants; + import org.dromara.mes.api.RemoteMaterialInfoService; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import org.springframework.beans.factory.annotation.Autowired; 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 new file mode 100644 index 0000000..1013db7 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java @@ -0,0 +1,32 @@ +package org.dromara.api.service.impl; + +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +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.vo.RemoteDefectVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +@RequiredArgsConstructor +@Service +public class IPdaApiServiceImpl implements IPdaApiService { + @DubboReference + private final RemotePdaMesApiService remotePdaMesApiService; + @DubboReference + private final RemotePdaQmsApiService remotePdaQmsApiService; + + @Override + public BaseMaterial getMaterialInfo(String materialCode) { + return remotePdaMesApiService.remoteQueryByMaterialCode(materialCode,"000000"); + } + + @Override + public List getDefectDetail(String defectType) { + return remotePdaQmsApiService.remoteQueryDefectList(defectType,"000000"); + } +} diff --git a/ruoyi-modules/hwmom-mes/pom.xml b/ruoyi-modules/hwmom-mes/pom.xml index a5531c6..e049731 100644 --- a/ruoyi-modules/hwmom-mes/pom.xml +++ b/ruoyi-modules/hwmom-mes/pom.xml @@ -128,6 +128,12 @@ 2.2.2 compile + + org.dromara + hwmom-api-pda + 2.2.2 + compile + diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java index b5d5740..701a4ec 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java @@ -1,11 +1,17 @@ package org.dromara.mes.dubbo; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.enums.UserStatus; +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.mes.api.RemoteMaterialInfoService; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import org.dromara.mes.domain.BaseMaterialInfo; +import org.dromara.mes.domain.vo.BaseMaterialInfoVo; import org.dromara.mes.mapper.BaseMaterialInfoMapper; import org.springframework.stereotype.Service; @@ -44,6 +50,4 @@ public class RemoteMaterialInfoServiceImpl implements RemoteMaterialInfoService return materialInfoMapper.insertBatch(list); } - - } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java new file mode 100644 index 0000000..de7b20a --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java @@ -0,0 +1,43 @@ +package org.dromara.mes.dubbo; + +import cn.hutool.core.util.ObjectUtil; +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.mes.mapper.BaseMaterialInfoMapper; +import org.dromara.pda.api.RemotePdaMesApiService; +import org.dromara.pda.api.model.BaseMaterial; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@RequiredArgsConstructor +@Service +@DubboService +public class RemoteQmsApiServiceImpl implements RemotePdaMesApiService { + + private final BaseMaterialInfoMapper baseMaterialInfoMapper ; + + + + @Override + public BaseMaterial remoteQueryByMaterialCode(String materialCode, String tenantId) throws UserException { + return TenantHelper.dynamic(tenantId, () -> { + + BaseMaterial baseMaterial=baseMaterialInfoMapper.queryByMaterialCode(materialCode); + + //BaseMaterialInfoVo sysUser = baseMaterialInfoMapper.selectVoOne(new LambdaQueryWrapper().eq(BaseMaterialInfo::getMaterialCode, materialCode)); + if (ObjectUtil.isNull(baseMaterial)) { + throw new UserException("materialCode.not.exit", materialCode); + } +// if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { +// throw new UserException("user.blocked", username); +// } + + return baseMaterial; + }); + } + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java index e0f12ee..f38c805 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java @@ -3,6 +3,7 @@ package org.dromara.mes.mapper; import org.dromara.mes.domain.BaseMaterialInfo; import org.dromara.mes.domain.vo.BaseMaterialInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.pda.api.model.BaseMaterial; /** * 物料信息Mapper接口 @@ -12,4 +13,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface BaseMaterialInfoMapper extends BaseMapperPlus { + BaseMaterial queryByMaterialCode(String materialCode); } diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml index 29a3a4e..3f95aa2 100644 --- a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml @@ -4,4 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + diff --git a/ruoyi-modules/hwmom-qms/pom.xml b/ruoyi-modules/hwmom-qms/pom.xml index 3ceeaa3..fd70a1c 100644 --- a/ruoyi-modules/hwmom-qms/pom.xml +++ b/ruoyi-modules/hwmom-qms/pom.xml @@ -111,6 +111,12 @@ com.microsoft.sqlserver mssql-jdbc + + org.dromara + hwmom-api-pda + 2.2.2 + compile + diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java index 90ba417..9aa3070 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java @@ -1,8 +1,10 @@ package org.dromara.qms; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +@EnableDubbo @SpringBootApplication public class HwmomQmsApplication { diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java index 454ef74..2de814d 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java @@ -26,6 +26,8 @@ public class QcDefectDetailBo extends BaseEntity { private String defectDetailId; + private String tenantId; + /** * 病疵编码 */ diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java index 329dbb5..7550a32 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java @@ -54,5 +54,4 @@ public class QcInspectionRulesBo extends BaseEntity { */ private String remark; - } 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 new file mode 100644 index 0000000..4f4f129 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java @@ -0,0 +1,62 @@ +package org.dromara.qms.dubbo; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.RemotePdaMesApiService; +import org.dromara.pda.api.RemotePdaQmsApiService; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.dromara.qms.domain.QcDefectDetail; +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.service.IQcDefectDetailService; +import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@RequiredArgsConstructor +@Service +@DubboService +public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { + + private final QcDefectInfoMapper qcDefectInfoMapper; + private final QcDefectDetailMapper qcDefectDetailMapper; + private final IQcDefectDetailService iQcDefectDetailService; + /** + * 获取缺陷数据接口 + * @param defectType 缺陷类型 + * @param tenantId 租户编号 + * @return + * @throws UserException + */ + @Override + public List remoteQueryDefectList(String defectType, String tenantId) throws UserException { + return TenantHelper.dynamic(tenantId, () -> { + QcDefectDetailBo bo=new QcDefectDetailBo(); + bo.setDefectType(defectType); + bo.setTenantId("000000"); + List DefectDetailVos = iQcDefectDetailService.queryList(bo); + RemoteDefectVo rem=new RemoteDefectVo(); + List remoteDefectVoList=new ArrayList<>(); + for(QcDefectDetailVo qcDefectDetailVo:DefectDetailVos){ + rem.setDefectCode(qcDefectDetailVo.getDefectCode()); + rem.setDefectDesc(qcDefectDetailVo.getDefectDesc()); + remoteDefectVoList.add(rem); + } + return remoteDefectVoList; + }); + } + +}