Browse Source

图稿库需求变更

24282 1 year ago
parent
commit
da7caac749

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderSku.java

@@ -46,6 +46,11 @@ public class OrderSku extends BasePo {
     private Long bomSpecId;
     private Long bomSpecId;
 
 
     /**
     /**
+     * 图稿id
+     */
+    private Long artworkLibraryId;
+
+    /**
      * 设计图
      * 设计图
      */
      */
     private String blueprint;
     private String blueprint;

+ 12 - 7
sd-business/src/main/java/com/sd/business/entity/sku/po/SkuSpec.java

@@ -35,10 +35,20 @@ public class SkuSpec extends BasePo {
      */
      */
     private String specImgUrl;
     private String specImgUrl;
 
 
+//    /**
+//     * 设计图
+//     */
+//    private String designImgUrl;
+
+//    /**
+//     * 共享文件夹
+//     */
+//    private String sharedFolder;
+
     /**
     /**
-     * 设计图
+     * 图稿id
      */
      */
-    private String designImgUrl;
+    private Long artworkLibraryId;
 
 
     /**
     /**
      * 品号
      * 品号
@@ -81,11 +91,6 @@ public class SkuSpec extends BasePo {
     private BigDecimal netWeight;
     private BigDecimal netWeight;
 
 
     /**
     /**
-     * 共享文件夹
-     */
-    private String sharedFolder;
-
-    /**
      * bom id
      * bom id
      */
      */
     private Long bomSpecId;
     private Long bomSpecId;

+ 10 - 0
sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuSpecVo.java

@@ -27,6 +27,16 @@ public class SkuSpecVo extends SkuSpec {
     private String bomSpecName;
     private String bomSpecName;
 
 
     /**
     /**
+     * 设计图
+     */
+    private String designImgUrl;
+
+    /**
+     * 共享文件夹
+     */
+    private String sharedFolder;
+
+    /**
      * 包材
      * 包材
      */
      */
     private List<SkuSpecLinkVo> packagingMaterialList;
     private List<SkuSpecLinkVo> packagingMaterialList;

+ 5 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -1114,6 +1114,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         List<OrderSkuDto> orderSkuList = dto.getOrderSkuList();
         List<OrderSkuDto> orderSkuList = dto.getOrderSkuList();
 
 
         for (OrderSkuDto orderSkuDto : orderSkuList) {
         for (OrderSkuDto orderSkuDto : orderSkuList) {
+
+            if (orderSkuDto.getArtworkLibraryId() != null && orderSkuDto.getArtworkLibraryId() == 0L) {
+                continue;
+            }
+
             String pathPrefix = "临时文件" + File.separator;
             String pathPrefix = "临时文件" + File.separator;
 
 
             ArtworkMessage artworkMessage = new ArtworkMessage();
             ArtworkMessage artworkMessage = new ArtworkMessage();

+ 4 - 3
sd-business/src/main/resources/mapper/sku/SkuSpecMapper.xml

@@ -6,7 +6,6 @@
         select ss.id,
         select ss.id,
                ss.sku_id,
                ss.sku_id,
                ss.spec_img_url,
                ss.spec_img_url,
-               ss.design_img_url,
                ss.code,
                ss.code,
                ss.name,
                ss.name,
                ss.machined_panel,
                ss.machined_panel,
@@ -14,13 +13,15 @@
                ss.width,
                ss.width,
                ss.height,
                ss.height,
                ss.net_weight,
                ss.net_weight,
-               ss.shared_folder,
                ss.bom_spec_id,
                ss.bom_spec_id,
                ss.create_user,
                ss.create_user,
                ss.create_time,
                ss.create_time,
                ss.update_user,
                ss.update_user,
-               ss.update_time
+               ss.update_time,
+               al.img_url  designImgUrl,
+               al.file_url sharedFolder
         from sku_spec ss
         from sku_spec ss
+                 left join artwork_library al on ss.artwork_library_id = al.id
             ${ew.customSqlSegment}
             ${ew.customSqlSegment}
     </select>
     </select>
 
 

+ 32 - 21
sd-starter/src/test/java/B1_SyncSkuTest.java

@@ -45,7 +45,7 @@ public class B1_SyncSkuTest {
 
 
         DataListener<ExcelData> listener = new DataListener<>();
         DataListener<ExcelData> listener = new DataListener<>();
 
 
-        FileInputStream fileInputStream = new FileInputStream("E:\\峰燕-胜德体育-品号汇总模板-2 (2).xlsx");
+        FileInputStream fileInputStream = new FileInputStream("E:\\峰燕-胜德体育-品号汇总模板-2.xlsx");
 
 
         ExcelReaderBuilder read = EasyExcel.read(fileInputStream, ExcelData.class, listener);
         ExcelReaderBuilder read = EasyExcel.read(fileInputStream, ExcelData.class, listener);
         read.sheet(0).doRead();
         read.sheet(0).doRead();
@@ -68,23 +68,28 @@ public class B1_SyncSkuTest {
                     if (code.endsWith("T")) {
                     if (code.endsWith("T")) {
                         if (name.contains("183*80")) {
                         if (name.contains("183*80")) {
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_80");
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_80");
-                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+
+                            skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                             System.out.println(80);
                             System.out.println(80);
                         } else if (name.contains("183*68")) {
                         } else if (name.contains("183*68")) {
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_68");
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_68");
-                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                             System.out.println(68);
                             System.out.println(68);
                         } else if (name.contains("183*66")) {
                         } else if (name.contains("183*66")) {
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_66");
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_66");
-                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                             System.out.println(66);
                             System.out.println(66);
                         } else if (name.contains("183*61")) {
                         } else if (name.contains("183*61")) {
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_61");
                             ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_61");
-                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                             System.out.println(61);
                             System.out.println(61);
                         }
                         }
                         skuSpec.setMachinedPanel("10");
                         skuSpec.setMachinedPanel("10");
@@ -92,26 +97,30 @@ public class B1_SyncSkuTest {
 
 
                     if (code.endsWith("W")) {
                     if (code.endsWith("W")) {
                         ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
                         ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
-                        skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                        skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                        skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                        skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                        skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                     }
                     }
 
 
                     if (code.endsWith("CG")) {
                     if (code.endsWith("CG")) {
                         ArtworkLibrary artworkLibrary = artworkLibraryMap.get("跳绳垫165_61");
                         ArtworkLibrary artworkLibrary = artworkLibraryMap.get("跳绳垫165_61");
-                        skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                        skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                        skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                        skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                        skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                         skuSpec.setMachinedPanel("10");
                         skuSpec.setMachinedPanel("10");
                     }
                     }
 
 
                     if (code.endsWith("DT")) {
                     if (code.endsWith("DT")) {
-                        skuSpec.setDesignImgUrl("");
-                        skuSpec.setSharedFolder("");
+                        skuSpec.setArtworkLibraryId(null);
+//                        skuSpec.setDesignImgUrl("");
+//                        skuSpec.setSharedFolder("");
                         skuSpec.setMachinedPanel("10");
                         skuSpec.setMachinedPanel("10");
                     }
                     }
 
 
                     if (code.endsWith("L")) {
                     if (code.endsWith("L")) {
-                        skuSpec.setDesignImgUrl("");
-                        skuSpec.setSharedFolder("");
+//                        skuSpec.setDesignImgUrl("");
+//                        skuSpec.setSharedFolder("");
+                        skuSpec.setArtworkLibraryId(null);
                         skuSpec.setMachinedPanel("20");
                         skuSpec.setMachinedPanel("20");
                     }
                     }
 
 
@@ -132,8 +141,9 @@ public class B1_SyncSkuTest {
             String machinedPanelFileStr = excelData.getMachinedPanelFileStr();
             String machinedPanelFileStr = excelData.getMachinedPanelFileStr();
             if (StrUtil.isBlank(machinedPanelFileStr)) {
             if (StrUtil.isBlank(machinedPanelFileStr)) {
                 ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
                 ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
-                skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                 continue;
                 continue;
             }
             }
 
 
@@ -149,8 +159,9 @@ public class B1_SyncSkuTest {
                 String arl = ar[ar.length - 1];
                 String arl = ar[ar.length - 1];
 
 
                 if (machinedPanelFileStr.startsWith(ar0) && arl.equals(sp)) {
                 if (machinedPanelFileStr.startsWith(ar0) && arl.equals(sp)) {
-                    skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
-                    skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                    skuSpec.setArtworkLibraryId(artworkLibrary.getId());
+//                    skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+//                    skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                     break;
                     break;
                 }
                 }
             }
             }

+ 31 - 0
sd-wln/src/main/java/com/sd/wln/context/OrderContext.java

@@ -7,6 +7,7 @@ import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.framework.mybatis.holder.LogicHolder;
 import com.ruoyi.framework.mybatis.holder.LogicHolder;
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
 import com.sd.business.entity.bom.bo.BomSpecBo;
 import com.sd.business.entity.bom.bo.BomSpecBo;
 import com.sd.business.entity.department.po.Department;
 import com.sd.business.entity.department.po.Department;
 import com.sd.business.entity.order.po.*;
 import com.sd.business.entity.order.po.*;
@@ -15,6 +16,7 @@ import com.sd.business.entity.price.po.PriceBillingStandardDetail;
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.entity.sku.po.SkuSpecLink;
 import com.sd.business.entity.sku.po.SkuSpecLink;
+import com.sd.business.service.artwork.ArtworkLibraryService;
 import com.sd.business.service.department.DepartmentService;
 import com.sd.business.service.department.DepartmentService;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.order.OrderSkuService;
 import com.sd.business.service.order.OrderSkuService;
@@ -27,6 +29,7 @@ import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
 import java.util.*;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.stream.Stream;
 
 
@@ -41,6 +44,7 @@ public class OrderContext {
     private static final SkuSpecLinkService skuSpecLinkService = SpringUtil.getBean(SkuSpecLinkService.class);
     private static final SkuSpecLinkService skuSpecLinkService = SpringUtil.getBean(SkuSpecLinkService.class);
     private static final PriceBillingStandardService priceBillingStandardService = SpringUtil.getBean(PriceBillingStandardService.class);
     private static final PriceBillingStandardService priceBillingStandardService = SpringUtil.getBean(PriceBillingStandardService.class);
     private static final PriceBillingStandardDetailService priceBillingStandardDetailService = SpringUtil.getBean(PriceBillingStandardDetailService.class);
     private static final PriceBillingStandardDetailService priceBillingStandardDetailService = SpringUtil.getBean(PriceBillingStandardDetailService.class);
+    private static final ArtworkLibraryService artworkLibraryService = SpringUtil.getBean(ArtworkLibraryService.class);
 
 
     /**
     /**
      * 保存订单列表
      * 保存订单列表
@@ -132,6 +136,11 @@ public class OrderContext {
     private Map<Long, BomSpecBo> bomSpecBoMap;
     private Map<Long, BomSpecBo> bomSpecBoMap;
 
 
     /**
     /**
+     * 生产文件
+     */
+    private Map<Long, ArtworkLibrary> artworkLibraryMap;
+
+    /**
      * 加工计费标准明细列表
      * 加工计费标准明细列表
      */
      */
     private Map<String, List<PriceBillingStandardDetail>> priceBillingStandardMap;
     private Map<String, List<PriceBillingStandardDetail>> priceBillingStandardMap;
@@ -292,4 +301,26 @@ public class OrderContext {
         return priceBillingStandardMap.getOrDefault(species, Collections.emptyList());
         return priceBillingStandardMap.getOrDefault(species, Collections.emptyList());
     }
     }
 
 
+    public Map<Long, ArtworkLibrary> getArtworkLibraryMap() {
+        if (artworkLibraryMap != null) {
+            return artworkLibraryMap;
+        }
+
+        Map<String, SkuSpec> tempSkuSpecMap = getSkuSpecMap();
+        if (tempSkuSpecMap.isEmpty()) {
+            artworkLibraryMap = Collections.emptyMap();
+            return artworkLibraryMap;
+        }
+
+        List<Long> artworkLibraryId = tempSkuSpecMap.values().stream().map(SkuSpec::getArtworkLibraryId).collect(Collectors.toList());
+        if (artworkLibraryId.isEmpty()) {
+            artworkLibraryMap = Collections.emptyMap();
+            return artworkLibraryMap;
+        }
+
+        List<ArtworkLibrary> artworkLibraryList = artworkLibraryService.listByIds(artworkLibraryId);
+        artworkLibraryMap = artworkLibraryList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+
+        return artworkLibraryMap;
+    }
 }
 }

+ 15 - 4
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -2,7 +2,6 @@ package com.sd.wln.service.impl;
 
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.fjhx.tenant.entity.dict.po.DictCommonData;
 import com.fjhx.tenant.entity.dict.po.DictCommonData;
@@ -10,6 +9,7 @@ import com.fjhx.tenant.service.dict.DictCommonDataService;
 import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.ServiceException;
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
 import com.sd.business.entity.bom.bo.BomSpecBo;
 import com.sd.business.entity.bom.bo.BomSpecBo;
 import com.sd.business.entity.department.po.Department;
 import com.sd.business.entity.department.po.Department;
 import com.sd.business.entity.order.enums.OrderClassifyEnum;
 import com.sd.business.entity.order.enums.OrderClassifyEnum;
@@ -481,6 +481,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
      * 创建订单sku
      * 创建订单sku
      */
      */
     private OrderSku createOrderSku(OrderContext context, JSONObject wlnOrderSku, OrderInfo orderInfo, SkuSpec skuSpec) {
     private OrderSku createOrderSku(OrderContext context, JSONObject wlnOrderSku, OrderInfo orderInfo, SkuSpec skuSpec) {
+
         OrderSku orderSku = new OrderSku();
         OrderSku orderSku = new OrderSku();
         orderSku.setId(IdWorker.getId());
         orderSku.setId(IdWorker.getId());
         orderSku.setWlnSkuId(wlnOrderSku.getString("sys_goods_uid"));
         orderSku.setWlnSkuId(wlnOrderSku.getString("sys_goods_uid"));
@@ -503,12 +504,22 @@ public class WlnOrderServiceImpl implements WlnOrderService {
             orderSku.setSkuId(skuSpec.getSkuId());
             orderSku.setSkuId(skuSpec.getSkuId());
             orderSku.setSkuSpecId(skuSpec.getId());
             orderSku.setSkuSpecId(skuSpec.getId());
             orderSku.setBomSpecId(skuSpec.getBomSpecId());
             orderSku.setBomSpecId(skuSpec.getBomSpecId());
-            orderSku.setBlueprint(skuSpec.getDesignImgUrl());
-            orderSku.setProductionDocument(skuSpec.getSharedFolder());
+
+            Long artworkLibraryId = skuSpec.getArtworkLibraryId();
+
+            if (artworkLibraryId != null) {
+                ArtworkLibrary artworkLibrary = context.getArtworkLibraryMap().get(artworkLibraryId);
+                if (artworkLibrary != null) {
+                    orderSku.setArtworkLibraryId(artworkLibraryId);
+                    orderSku.setBlueprint(artworkLibrary.getImgUrl());
+                    orderSku.setProductionDocument(artworkLibrary.getFileUrl());
+                }
+            }
+
             assignedOrderSkuPrice(context, orderSku, skuSpec);
             assignedOrderSkuPrice(context, orderSku, skuSpec);
 
 
             if (OrderStatusEnum.STOCK_PREPARATION.getKey().equals(orderInfo.getStatus())
             if (OrderStatusEnum.STOCK_PREPARATION.getKey().equals(orderInfo.getStatus())
-                    && (StrUtil.isBlank(skuSpec.getDesignImgUrl()) || StrUtil.isBlank(skuSpec.getSharedFolder()))) {
+                    && orderSku.getArtworkLibraryId() == null) {
                 addExceptionType(orderInfo, OrderExceptionTypeEnum.NO_DESIGN_DOCUMENT);
                 addExceptionType(orderInfo, OrderExceptionTypeEnum.NO_DESIGN_DOCUMENT);
             }
             }