dongke 2 лет назад
Родитель
Сommit
c9ebbbc5dd

+ 1 - 1
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.java

@@ -48,7 +48,7 @@ public interface SupplierMapper extends BaseMapper<Supplier>{
      * @author : 王英杰
      * @date   : 2024/2/29 17:49
      */
-    int   batchDelete (Supplier supplierVo);
+    int   batchDeleteBrand (List<String> supIdList );
     /**
      * @desc   : 自动生id
      * @author : 王英杰

+ 18 - 8
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml

@@ -220,27 +220,37 @@
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
         <include refid="msl_Base_Column_List"/>
-       , (SELECT COALESCE
-        ( array_to_string( ARRAY_AGG ( tsm.brand_id ), ',' ), '' )
+        ,tms.staff_name,sys.f_get_name_i18n(tdk.kind_name_i18n,'zh_CN' )AS  "supTypeName"
+        ,
+        (
+        SELECT
+        string_agg ( sys.f_get_name_i18n ( tdk1.kind_name_i18n, 'zh_CN' ), ',' )
+        FROM
+        sys.t_data_kind AS tdk1
+        WHERE
+        tdk1.kind_code = ANY ( msl.service_categories )
+        ) AS "serviceCategoriesNames",
+        (SELECT COALESCE
+        ( array_to_string( ARRAY_AGG ( tsm.brand_name ), ',' ), '' )
         FROM
         dkic_b.t_mst_supplier_brand tsmb
         LEFT JOIN dkic_b.t_mst_goods_brand tsm ON tsm.brand_id = tsmb.brand_id
         WHERE
         tsmb.sup_id = msl.sup_id
-        ) AS "brandIds",
+        ) AS "brandNames"
+        ,tmo.org_name,
         (SELECT COALESCE
-        ( array_to_string( ARRAY_AGG ( tsm.brand_name ), ',' ), '' )
+        ( array_to_string( ARRAY_AGG ( tsm.brand_id ), ',' ), '' )
         FROM
         dkic_b.t_mst_supplier_brand tsmb
         LEFT JOIN dkic_b.t_mst_goods_brand tsm ON tsm.brand_id = tsmb.brand_id
         WHERE
         tsmb.sup_id = msl.sup_id
-        ) AS "brandNames"
-        ,tms.staff_name
-        ,tmo.org_name
+        ) AS "brandIds"
         FROM dkic_b.t_mst_supplier msl
         LEFT JOIN dkic_b.t_mst_staff  tms   ON tms.staff_id = msl.staff_id
         LEFT JOIN dkic_b.t_mst_org  tmo   ON tmo.org_id = msl.org_id
+        LEFT JOIN sys.t_data_kind tdk   ON tdk.kind_code = msl.sup_type
         WHERE msl.sup_id = #{supId}::uuid
     </select>
 
@@ -335,7 +345,7 @@
                 #{brandId}::uuid
             )
     </insert>
-    <delete id="batchDelete">
+    <delete id="batchDeleteBrand">
         DELETE FROM dkic_b.t_mst_supplier_brand
         WHERE sup_id =  #{supId}::uuid;
     </delete>

+ 2 - 2
src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java

@@ -230,8 +230,8 @@ public class SpplierResponse extends PageInfo<SpplierResponse> implements Serial
     @ApiModelProperty(value = "剩余应收付")
     private String sumResidue;
 
-    @TableField(exist = false)
     @ApiModelProperty(value = "供应品牌")
+    @TableField(typeHandler = UuidListTypeHandler.class)
     private String brandIds;
 
 
@@ -245,7 +245,7 @@ public class SpplierResponse extends PageInfo<SpplierResponse> implements Serial
 
     @TableField(exist = false)
     @ApiModelProperty(value = "供应商类别")
-    private String serviceCategoriesName;
+    private String serviceCategoriesNames;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 13 - 4
src/main/java/com/dk/mdm/service/mst/SupplierService.java

@@ -127,10 +127,19 @@ public class SupplierService extends BaseService<Supplier> {
         Supplier supplier = supplierConvert.convertToPo(supplierVo);
         try {
           super.updateByUuid(supplier);// 先更新的供应商表
-            supplierMapper.batchDelete(supplier);//批量删除供应商对应的供应商品牌
-            if (supplierVo.getBrandId() != null) {  //如果有 商品品牌
-                // 设置supplierVo的supplierId
-                supplierMapper.insertSupplierBrand(supplier); // 向供应商品牌表插入数据
+          supplierMapper.batchDeleteBrand(supplier.getBrandIds());//批量删除供应商对应的供应商品牌
+            if ((supplier.getBrandIds() != null) && (supplier.getBrandIds().size()>0)) {  //如果有 商品品牌 一起插入品牌
+                List<Supplier>  Supplierlst   = new ArrayList<>();
+                List<String> BrandIdList =  new ArrayList<>();
+                BrandIdList = supplier.getBrandIds();
+                Supplier supplier_center = null;
+                for (int i = 0;  i< BrandIdList.size();i++){
+                    supplier_center= new Supplier();
+                    supplier_center.setBrandId(BrandIdList.get(i));
+                    supplier_center.setSupId(supplier.getSupId());
+                    Supplierlst.add(supplier_center);
+                }
+                supplierMapper.insertSupplierBrandtBatch(Supplierlst); // 向供应商品牌表插入数据
             }
           return ResponseResultUtil.success();
         } catch (Exception e) {