质量管理模块代码提交(PDA接口)

master
Yangwl 3 months ago
parent aeb72a2501
commit cfb55019ae

@ -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:

@ -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<BaseMaterialInfoBo> bos);
}

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-api</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>hwmom-api-pda</artifactId>
<description>
hwmom-api-pda PDA接口模块
</description>
<dependencies>
<!-- RuoYi Common Core-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-excel</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

@ -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;
}

@ -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<RemoteDefectVo> remoteQueryDefectList(String defectType , String tenantId) throws UserException;
}

@ -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;//映射字段
}

@ -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;
}

@ -14,6 +14,7 @@
<module>ruoyi-api-resource</module>
<module>ruoyi-api-workflow</module>
<module>hwmom-api-mes</module>
<module>hwmom-api-pda</module>
</modules>
<artifactId>ruoyi-api</artifactId>

@ -14,7 +14,6 @@
<description>
ruoyi-common-core 核心模块
</description>
<dependencies>
<!-- Spring框架基本的核心工具 -->
<dependency>

@ -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);
}
}

@ -59,3 +59,6 @@ tenant.number.not.blank=租户编号不能为空
tenant.not.exists=对不起, 您的租户不存在,请联系管理员
tenant.blocked=对不起,您的租户已禁用,请联系管理员
tenant.expired=对不起,您的租户已过期,请联系管理员
##PDA
materialCode.not.exit=对不起,物料编码不存在
defect.type.not.blank=缺陷类型不能为空

@ -120,12 +120,16 @@
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>hwmom-api-pda</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-job</artifactId>
</dependency>
</dependencies>
<build>

@ -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;

@ -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<RemoteDefectVo> getDefectDetail(@NotBlank(message = "{defect.type.not.blank}") String defectType) {
return iPdaApiService.getDefectDetail(defectType);
}
}

@ -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;//映射字段
}

@ -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;//映射字段
}

@ -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;
/**
* APIService
*
* @author Yinq
* @date 2025-01-02
*/
public interface IPdaApiService {
BaseMaterial getMaterialInfo(String materialCode);
List<RemoteDefectVo> getDefectDetail(String defectType);
}

@ -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;

@ -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<RemoteDefectVo> getDefectDetail(String defectType) {
return remotePdaQmsApiService.remoteQueryDefectList(defectType,"000000");
}
}

@ -128,6 +128,12 @@
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>hwmom-api-pda</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
</dependencies>

@ -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);
}
}

@ -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<BaseMaterialInfo>().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;
});
}
}

@ -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<BaseMaterialInfo, BaseMaterialInfoVo> {
BaseMaterial queryByMaterialCode(String materialCode);
}

@ -4,4 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.mes.mapper.BaseMaterialInfoMapper">
<select id="queryByMaterialCode" resultType="org.dromara.pda.api.model.BaseMaterial">
select material_code,material_name from base_material_info where material_code = #{materialCode}
</select>
</mapper>

@ -111,6 +111,12 @@
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>hwmom-api-pda</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.microsoft.sqlserver</groupId>-->
<!-- <artifactId>mssql-jdbc</artifactId>-->

@ -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 {

@ -26,6 +26,8 @@ public class QcDefectDetailBo extends BaseEntity {
private String defectDetailId;
private String tenantId;
/**
*
*/

@ -54,5 +54,4 @@ public class QcInspectionRulesBo extends BaseEntity {
*/
private String remark;
}

@ -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<RemoteDefectVo> remoteQueryDefectList(String defectType, String tenantId) throws UserException {
return TenantHelper.dynamic(tenantId, () -> {
QcDefectDetailBo bo=new QcDefectDetailBo();
bo.setDefectType(defectType);
bo.setTenantId("000000");
List<QcDefectDetailVo> DefectDetailVos = iQcDefectDetailService.queryList(bo);
RemoteDefectVo rem=new RemoteDefectVo();
List<RemoteDefectVo> remoteDefectVoList=new ArrayList<>();
for(QcDefectDetailVo qcDefectDetailVo:DefectDetailVos){
rem.setDefectCode(qcDefectDetailVo.getDefectCode());
rem.setDefectDesc(qcDefectDetailVo.getDefectDesc());
remoteDefectVoList.add(rem);
}
return remoteDefectVoList;
});
}
}
Loading…
Cancel
Save