diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelController.java
index 9edc30a..91cf1c9 100644
--- a/src/main/java/com/glxp/api/controller/basic/UdiRelController.java
+++ b/src/main/java/com/glxp/api/controller/basic/UdiRelController.java
@@ -106,6 +106,7 @@ public class UdiRelController extends BaseController {
                     basicUdiRelEntity.setCompanyIdFk(udiSelectRequest.getCompanyId());
                     basicUdiRelEntity.setUpdateTime(new Date());
                     basicUdiRelEntity.setUpdateUser(userId);
+                    basicUdiRelEntity.setCompanyType(basicUdiRelRequest.getCompanyType());
                     basicUdiRelEntity.setId(IdUtil.getSnowflakeNextId());
                     basicUdiRelService.save(basicUdiRelEntity);
 
diff --git a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java
index c5c2fa6..4c56667 100644
--- a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java
+++ b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java
@@ -8,44 +8,53 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
  * UDI医疗器械信息字典表
  */
 @Data
+@ApiModel(value = "UDI医疗器械信息字典表")
 @TableName(value = "basic_udi_product")
 public class BasicUdiProductEntity implements Serializable {
+    @ApiModelProperty(value = "主键")
     @TableId(value = "id", type = IdType.INPUT)
     private Long id;
 
     /**
      * 标识
      */
+    @ApiModelProperty(value = "标识")
     @TableField(value = "nameCode")
     private String nameCode;
 
     /**
      * 包装比例
      */
+    @ApiModelProperty(value = "包装比例")
     @TableField(value = "packRatio")
     private String packRatio;
 
     /**
      * 包装级别
      */
+    @ApiModelProperty(value = "包装级别")
     @TableField(value = "packLevel")
     private String packLevel;
 
     /**
      * 包含下级数量
      */
+    @ApiModelProperty(value = "包含下级数量")
     @TableField(value = "bhxjsl")
     private Integer bhxjsl;
 
     /**
      * 包含最小销售包装数量
      */
+    @ApiModelProperty(value = "包含最小销售包装数量")
     @TableField(value = "bhzxxsbzsl")
     private Integer bhzxxsbzsl;
 
@@ -53,207 +62,241 @@ public class BasicUdiProductEntity implements Serializable {
      * 最小包装单元内包含使用单元数量:
      * 最小销售标识包含使用单元数量
      */
+    @ApiModelProperty(value = " * 最小包装单元内包含使用单元数量:\n" +
+            "     * 最小销售标识包含使用单元数量")
     @TableField(value = "zxxsbzbhsydysl")
     private Integer zxxsbzbhsydysl;
 
     /**
      * 包含下级产品编码
      */
+    @ApiModelProperty(value = "包含下级产品编码")
     @TableField(value = "bhxjcpbm")
     private String bhxjcpbm;
 
     /**
      * 包装层级
      */
+    @ApiModelProperty(value = "包装层级")
     @TableField(value = "bzcj")
     private String bzcj;
 
     /**
      * ERPID
      */
+    @ApiModelProperty(value = "ERPID")
     @TableField(value = "thirdProductNo")
     private String thirdProductNo;
 
     /**
      * 1.器械,2,药品
      */
+    @ApiModelProperty(value = " 1.器械,2,药品")
     @TableField(value = "addType")
     private Integer addType;
 
     /**
      * 国家库key
      */
+    @ApiModelProperty(value = "国家库key")
     @TableField(value = "deviceRecordKey")
     private String deviceRecordKey;
 
     /**
      * 以使用单元数量入库
      */
+    @ApiModelProperty(value = "以使用单元数量入库")
     @TableField(value = "isUseDy")
     private Integer isUseDy;
 
     /**
      * ERP产品名
      */
+    @ApiModelProperty(value = " ERP产品名")
     @TableField(value = "thirdProductName")
     private String thirdProductName;
 
     /**
      * 产品名称,通用名称
      */
+    @ApiModelProperty(value = "产品名称,通用名称")
     @TableField(value = "cpmctymc")
     private String cpmctymc;
 
     /**
      * 产品类别
      */
+    @ApiModelProperty(value = "产品类别")
     @TableField(value = "cplb")
     private String cplb;
 
     /**
      * 分类编码
      */
+    @ApiModelProperty(value = "分类编码")
     @TableField(value = "flbm")
     private String flbm;
 
     /**
      * 规格型号
      */
+    @ApiModelProperty(value = "规格型号")
     @TableField(value = "ggxh")
     private String ggxh;
 
     /**
      * 器械类别
      */
+    @ApiModelProperty(value = "器械类别")
     @TableField(value = "qxlb")
     private String qxlb;
 
     /**
      * 统一社会信用代码证号
      */
+    @ApiModelProperty(value = "统一社会信用代码证号")
     @TableField(value = "tyshxydm")
     private String tyshxydm;
 
     /**
      * 注册/备案人名称
      */
+    @ApiModelProperty(value = "注册/备案人名称")
     @TableField(value = "ylqxzcrbarmc")
     private String ylqxzcrbarmc;
 
     /**
      * "注册/备案证号,
      */
+    @ApiModelProperty(value = "注册/备案证号,")
     @TableField(value = "zczbhhzbapzbh")
     private String zczbhhzbapzbh;
 
     /**
      * 注册/备案人名称英文名称
      */
+    @ApiModelProperty(value = "注册/备案人名称英文名称")
     @TableField(value = "ylqxzcrbarywmc")
     private String ylqxzcrbarywmc;
 
     /**
      * 使用单元产品标识
      */
+    @ApiModelProperty(value = "使用单元产品标识")
     @TableField(value = "sydycpbs")
     private String sydycpbs;
 
     /**
      * UUID主键
      */
+    @ApiModelProperty(value = "UUID主键")
     @TableField(value = "uuid")
     private String uuid;
 
     /**
      * 上级产品标识
      */
+    @ApiModelProperty(value = "上级产品标识")
     @TableField(value = "sjcpbm")
     private String sjcpbm;
 
     /**
      * 历史版本号,最高为最新
      */
+    @ApiModelProperty(value = "历史版本号,最高为最新")
     @TableField(value = "versionNumber")
     private Integer versionNumber;
 
     /**
      * 表示类型:1.主标识,2,使用单元标识,3.本体标识,4,包装标识
      */
+    @ApiModelProperty(value = "表示类型:1.主标识,2,使用单元标识,3.本体标识,4,包装标识")
     @TableField(value = "diType")
     private Integer diType;
 
     /**
      * 生产标识是否包含批号
      */
+    @ApiModelProperty(value = "生产标识是否包含批号")
     @TableField(value = "scbssfbhph")
     private String scbssfbhph;
 
     /**
      * 生产标识是否包含序列号
      */
+    @ApiModelProperty(value = "生产标识是否包含序列号")
     @TableField(value = "scbssfbhxlh")
     private String scbssfbhxlh;
 
     /**
      * 生产标识是否包含生产日期
      */
+    @ApiModelProperty(value = "生产标识是否包含生产日期")
     @TableField(value = "scbssfbhscrq")
     private String scbssfbhscrq;
 
     /**
      * 生产标识是否包含失效日期
      */
+    @ApiModelProperty(value = "生产标识是否包含失效日期")
     @TableField(value = "scbssfbhsxrq")
     private String scbssfbhsxrq;
 
     /**
      * 医保编码
      */
+    @ApiModelProperty(value = "医保编码")
     @TableField(value = "ybbm")
     private String ybbm;
 
     /**
      * 商品名称
      */
+    @ApiModelProperty(value = "商品名称")
     @TableField(value = "spmc")
     private String spmc;
-
+    @ApiModelProperty(value = "产品合格证编号")
     @TableField(value = "cphhhbh")
     private String cphhhbh;
-
+    @ApiModelProperty(value = "产品描述")
     @TableField(value = "cpms")
     private String cpms;
-
+    @ApiModelProperty(value = "产品标识别码条形码名称")
     @TableField(value = "cpbsbmtxmc")
     private String cpbsbmtxmc;
 
     /**
      * 是否是最新记录
      */
+    @ApiModelProperty(value = "是否是最新记录")
     @TableField(value = "isNewest")
     private Boolean isNewest;
 
     /**
      * 更新时间
      */
+    @ApiModelProperty(value = "更新时间")
     @TableField(value = "updateTime")
     private Date updateTime;
 
     /**
      * 产品类型
      */
+    @ApiModelProperty(value = "产品类型")
     @TableField(value = "cplx")
     private String cplx;
 
     /**
      * 耗材或者设备
      */
+    @ApiModelProperty(value = "耗材或者设备")
     @TableField(value = "hchzsb")
     private String hchzsb;
 
     /**
      * 是否为包类产品/组套类产品; 1 是 0 否
      */
+    @ApiModelProperty(value = "是否为包类产品/组套类产品; 1 是 0 否")
     @TableField(value = "sfwblztlcp")
     private String sfwblztlcp;
 
@@ -261,60 +304,77 @@ public class BasicUdiProductEntity implements Serializable {
      * 共振(MR) 安全相关信息; 0 安全 , 1 条件安全, 28
      * 不安全 , 3 说明书或标签上面不包括 MR 安全信息
      */
+    @ApiModelProperty(value = " 共振(MR) 安全相关信息; 0 安全 , 1 条件安全, 28\n" +
+            "     * 不安全 , 3 说明书或标签上面不包括 MR 安全信息")
     @TableField(value = "cgzmraqxgxx")
     private String cgzmraqxgxx;
 
     /**
      * 标记为一次性使用:0 否, 1 是
      */
+    @ApiModelProperty(value = "标记为一次性使用:0 否, 1 是")
     @TableField(value = "sfbjwycxsy")
     private String sfbjwycxsy;
 
     /**
      * 最大重复使用次数
      */
+    @ApiModelProperty(value = "最大重复使用次数")
     @TableField(value = "zdcfsycs")
     private String zdcfsycs;
 
     /**
      * 是否为已灭菌产品:1 是 0 否
      */
+    @ApiModelProperty(value = "是否为已灭菌产品:1 是 0 否")
     @TableField(value = "sfwwjbz")
     private String sfwwjbz;
 
     /**
      * 使用前是否需要进行灭菌:1 是 0 否
      */
+    @ApiModelProperty(value = "使用前是否需要进行灭菌:1 是 0 否")
     @TableField(value = "syqsfxyjxmj")
     private String syqsfxyjxmj;
 
     /**
      * 灭菌方式
      */
+    @ApiModelProperty(value = "灭菌方式")
     @TableField(value = "mjfs")
     private String mjfs;
 
     /**
      * 其他信息的网址链接
      */
+    @ApiModelProperty(value = "其他信息的网址链接")
     @TableField(value = "qtxxdwzlj")
     private String qtxxdwzlj;
 
     /**
      * 分类编码对应分类名称
      */
+    @ApiModelProperty(value = "分类编码对应分类名称")
     @TableField(value = "categoryName")
     private String categoryName;
-
+    @ApiModelProperty(value = "制造商")
     @TableField(value = "manufactory")
     private String manufactory;
+    @ApiModelProperty(value = "计量单位名称")
     @TableField(value = "measname")
     private String measname;
+    @ApiModelProperty(value = "备注")
     @TableField(value = "remark")
     private String remark;
+    @ApiModelProperty(value = "更新时间")
     @TableField(value = "updateUser")
     private Long updateUser;
 
+    /**
+     * 生产数据对接方(1.生产企业/2.代理商/3.购买方)
+     */
+    @ApiModelProperty(value = "生产数据对接方(1.生产企业/2.代理商/3.购买方)")
+    private Integer companyType;
 
     private static final long serialVersionUID = 1L;
 }
diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java
index 6bc68b2..c712e91 100644
--- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java
@@ -18,6 +18,8 @@ public class FilterUdiRelRequest extends ListPageRequest {
     private String entireCpmctymc;
     @ApiModelProperty(value = "名称编码")
     private String nameCode;
+    @ApiModelProperty(value = "公司类型")
+    private Integer companyType;
     @ApiModelProperty(value = "uuid")
     private String uuid;
     @ApiModelProperty(value = "原始UUID")
diff --git a/src/main/java/com/glxp/api/req/basic/UdiSelectRequest.java b/src/main/java/com/glxp/api/req/basic/UdiSelectRequest.java
index 00d8979..b35f98a 100644
--- a/src/main/java/com/glxp/api/req/basic/UdiSelectRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/UdiSelectRequest.java
@@ -1,16 +1,19 @@
 package com.glxp.api.req.basic;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
 
 @Data
 public class UdiSelectRequest {
-
+    @ApiModelProperty(value = "产品")
     List<BasicUdiRelRequest> products;
+    @ApiModelProperty(value = "企业ID")
     private Long companyId;
-
+    @ApiModelProperty(value = "密钥")
     private String key;
+    @ApiModelProperty(value = "密钥")
     private List<String> keys;
 
 
diff --git a/src/main/java/com/glxp/api/res/basic/BasicUdiRelResponse.java b/src/main/java/com/glxp/api/res/basic/BasicUdiRelResponse.java
index 244eb9a..b2a1fd5 100644
--- a/src/main/java/com/glxp/api/res/basic/BasicUdiRelResponse.java
+++ b/src/main/java/com/glxp/api/res/basic/BasicUdiRelResponse.java
@@ -1,107 +1,163 @@
 package com.glxp.api.res.basic;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
-
+@ApiModel("基本UDI关联响应")
 @Data
 public class BasicUdiRelResponse {
 
-
+    @ApiModelProperty(value = "主键")
     private Long id;
 
     /**
      * 国家库uuid
      */
+    @ApiModelProperty(value = "国家库uuid")
     private String uuid;
 
     /**
      * 企业信息ID外键
      */
+    @ApiModelProperty(value = "企业信息ID外键")
     private Long companyIdFk;
 
     /**
      * 更新时间
      */
+    @ApiModelProperty(value = "更新时间")
     private Date updateTime;
 
     /**
      * 备注
      */
+    @ApiModelProperty(value = "备注")
     private String remark;
 
     /**
      * 更新人
      */
+    @ApiModelProperty(value = "更新人")
     private String updateUser;
 
-    private Integer companyType;
 
+    @ApiModelProperty(value = "公司类型")
+    private Integer companyType;
+    @ApiModelProperty(value = "公司名称")
     private String companyName;
 
-
+    @ApiModelProperty(value = "标识")
     private String nameCode;
+    @ApiModelProperty(value = "包装比例")
     private String packRatio;
+    @ApiModelProperty(value = "包装级别")
     private String packLevel;
+    @ApiModelProperty(value = "包含下级数量")
     private Integer bhxjsl;
+    @ApiModelProperty(value = "包含最小销售包装数量")
     private Integer bhzxxsbzsl;
+    @ApiModelProperty(value = "最小包装单元内包含使用单元数量:最小销售标识包含使用单元数量")
     private Integer zxxsbzbhsydysl;
+    @ApiModelProperty(value = "包含下级产品编码")
     private String bhxjcpbm;
+    @ApiModelProperty(value = "上级产品标识")
     private String sjcpbm;  //
+    @ApiModelProperty(value = "包装层级")
     private String bzcj;
+    @ApiModelProperty(value = "ERPID")
     private String thirdProductNo;
+    @ApiModelProperty(value = "ERP产品名")
     private String thirdProductName;
+    @ApiModelProperty(value = "1.器械,2,药品")
     private String addType;
+    @ApiModelProperty(value = "国家库key")
     private String deviceRecordKey;
+    @ApiModelProperty(value = "以使用单元数量入库")
     private Integer isUseDy;
+    @ApiModelProperty(value = "产品名称,通用名称")
     private String cpmctymc;
+    @ApiModelProperty(value = "产品类别")
     private String cplb;
+    @ApiModelProperty(value = "分类编码")
     private String flbm;
+    @ApiModelProperty(value = "规格型号")
     private String ggxh;
+    @ApiModelProperty(value = "器械类别")
     private String qxlb;
+    @ApiModelProperty(value = "统一社会信用代码证号")
     private String tyshxydm;
+    @ApiModelProperty(value = "注册/备案人名称")
     private String ylqxzcrbarmc;
+    @ApiModelProperty(value = "注册/备案证号")
     private String zczbhhzbapzbh;
+    @ApiModelProperty(value = "注册/备案人名称英文名称")
     private String ylqxzcrbarywmc;
+    @ApiModelProperty(value = "使用单元产品标识")
     private String sydycpbs;
+    @ApiModelProperty(value = "历史版本号,最高为最新")
     private Integer versionNumber;
+    @ApiModelProperty(value = "表示类型:1.主标识,2,使用单元标识,3.本体标识,4,包装标识")
     private Integer diType;
-
+    @ApiModelProperty(value = "生产标识是否包含批号")
     private String scbssfbhph;
+    @ApiModelProperty(value = "生产标识是否包含序列号")
     private String scbssfbhxlh;
+    @ApiModelProperty(value = "生产标识是否包含生产日期")
     private String scbssfbhscrq;
+    @ApiModelProperty(value = "生产标识是否包含失效日期")
     private String scbssfbhsxrq;
-
+    @ApiModelProperty(value = "医保编码")
     private String ybbm;
+    @ApiModelProperty(value = "商品名称")
     private String spmc;
+    @ApiModelProperty(value = "产品合同编号")
     private String cphhhbh;
+    @ApiModelProperty(value = "产品描述")
     private String cpms;
+    @ApiModelProperty(value = "")
     private String cpbsbmtxmc;
-
+    @ApiModelProperty(value = "批次号")
     private String batchNo;
+    @ApiModelProperty(value = "生产日期")
     private String produceDate;
+    @ApiModelProperty(value = "过期日期")
     private String expireDate;
 
+    @ApiModelProperty(value = "是否是最新记录")
     private Boolean isNewest;
-
+    @ApiModelProperty(value = "产品类型")
     private String cplx;
+    @ApiModelProperty(value = "耗材或者设备")
     private String hchzsb;
-
+    @ApiModelProperty(value = "是否为包类产品/组套类产品; 1 是 0 否")
     private String sfwblztlcp;
+    @ApiModelProperty(value = "共振(MR) 安全相关信息; 0 安全 , 1 条件安全, 28不安全 , 3 说明书或标签上面不包括 MR 安全信息")
     private String cgzmraqxgxx;
+    @ApiModelProperty(value = "标记为一次性使用:0 否, 1 是")
     private String sfbjwycxsy;
+    @ApiModelProperty(value = "最大重复使用次数")
     private String zdcfsycs;
+    @ApiModelProperty(value = "是否为已灭菌产品:1 是 0 否")
     private String sfwwjbz;
+    @ApiModelProperty(value = "使用前是否需要进行灭菌:1 是 0 否")
     private String syqsfxyjxmj;
+    @ApiModelProperty(value = "其他信息的网址链接")
     private String qtxxdwzlj;
+    @ApiModelProperty(value = "灭菌方式")
     private String mjfs;
 
-
+    @ApiModelProperty(value = "代理开始日期")
     private Date agengtStartDate;
+    @ApiModelProperty(value = "代理结束日期")
     private Date agengtEndDate;
+    @ApiModelProperty(value = "测量名称")
     private String measname;
+    @ApiModelProperty(value = "制造商")
     private String manufactory;
 
 
+
 }