24282 преди 1 година
родител
ревизия
1bd85676d3

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

@@ -89,6 +89,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         wrapper.eq("o", OrderInfo::getSettlementStatus, dto.getSettlementStatus());
         wrapper.ge("o", OrderInfo::getWlnCreateTime, dto.getBeginTime());
         wrapper.le("o", OrderInfo::getWlnCreateTime, dto.getEndTime());
+        wrapper.and(q -> q.and(r -> r.eq("o", OrderInfo::getWlnStorageCode, "T007").ge("o", OrderInfo::getWlnStatus, 2))
+                .or(r -> r.ne("o", OrderInfo::getWlnStorageCode, "T007")));
 
         if (Objects.equals(dto.getLinkedStatementOfAccount(), 0)) {
             wrapper.isNull("o.statement_of_account_id");

+ 46 - 5
sd-starter/src/test/java/B1_SyncSkuTest.java

@@ -24,6 +24,9 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+/**
+ * 同步sku图稿库
+ */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
 public class B1_SyncSkuTest {
@@ -55,8 +58,48 @@ public class B1_SyncSkuTest {
 
         // 机关图案算体位线
         for (SkuSpec skuSpec : skuSpecList) {
-            ExcelData excelData = map.get(skuSpec.getCode());
+            String code = skuSpec.getCode();
+            ExcelData excelData = map.get(code);
             if (excelData == null) {
+                if (code.startsWith("ST") || code.startsWith("SK")) {
+                    String name = skuSpec.getName();
+
+                    if (code.endsWith("W")) {
+                        ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
+                        skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+                        skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                    } else if (code.endsWith("T")) {
+                        if (name.contains("183*80")) {
+                            ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_80");
+                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            System.out.println(80);
+                        } else if (name.contains("183*68")) {
+                            ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线-183_68");
+                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            System.out.println(68);
+                        } else if (name.contains("183*66")) {
+                            ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_66");
+                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            System.out.println(66);
+                        } else if (name.contains("183*61")) {
+                            ArtworkLibrary artworkLibrary = artworkLibraryMap.get("体位线_183_61");
+                            skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
+                            skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
+                            System.out.println(61);
+                        }
+                    }
+
+                    if (code.endsWith("DT")) {
+                        skuSpec.setDesignImgUrl("");
+                        skuSpec.setSharedFolder("");
+                    }
+                    if (code.endsWith("T") || code.endsWith("DT")) {
+                        skuSpec.setMachinedPanel("10");
+                    }
+                }
                 continue;
             }
 
@@ -72,7 +115,7 @@ public class B1_SyncSkuTest {
 
             String machinedPanelFileStr = excelData.getMachinedPanelFileStr();
             if (StrUtil.isBlank(machinedPanelFileStr)) {
-                if (skuSpec.getCode().startsWith("FY")) {
+                if (code.startsWith("FY")) {
                     ArtworkLibrary artworkLibrary = artworkLibraryMap.get("EMPTY");
                     skuSpec.setDesignImgUrl(artworkLibrary.getImgUrl());
                     skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
@@ -80,7 +123,6 @@ public class B1_SyncSkuTest {
                 continue;
             }
 
-
             String sp = excelData.getSpec().split("\\*")[1].replace("cm", "").replace(" ", "");
             for (ArtworkLibrary artworkLibrary : artworkLibraryList) {
                 String[] ar = artworkLibrary.getArtworkName().split("_");
@@ -92,14 +134,13 @@ public class B1_SyncSkuTest {
                     skuSpec.setSharedFolder(artworkLibrary.getFileUrl());
                     break;
                 }
-
             }
 
-
         }
 
         skuSpecService.updateBatchById(skuSpecList);
 
+        System.out.println();
     }
 
     @Getter

+ 4 - 0
sd-starter/src/test/java/C1_SyncInventoryTest.java

@@ -45,6 +45,10 @@ public class C1_SyncInventoryTest {
     @Autowired
     private InOutStorageDetailsService inOutStorageDetailsService;
 
+
+    /**
+     * excel修改库存
+     */
     @SneakyThrows
     @DSTransactional
     @Test

+ 104 - 0
sd-starter/src/test/java/C2_SyncInventoryTest.java

@@ -0,0 +1,104 @@
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.sd.SdApplication;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.in.po.InOutStorageDetails;
+import com.sd.business.entity.inventory.po.Inventory;
+import com.sd.business.service.bom.BomSpecService;
+import com.sd.business.service.in.InOutStorageDetailsService;
+import com.sd.business.service.inventory.InventoryService;
+import com.sd.business.service.warehouse.WarehouseService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SdApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+public class C2_SyncInventoryTest {
+
+
+    @Autowired
+    private WarehouseService warehouseService;
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    @Autowired
+    private InventoryService inventoryService;
+
+    @Autowired
+    private InOutStorageDetailsService inOutStorageDetailsService;
+
+    /**
+     * string修改库存
+     */
+    @DSTransactional
+    @Test
+    public void test() {
+
+        String a = "204010400192 2075  \n" +
+                "204010400195 1851  \n" +
+                "204010400198 213      \n" +
+                "204010400193 396   \n" +
+                "204010400196 3617  \n" +
+                "204010400199 322 \n" +
+                "204010400201 890  \n" +
+                "204010400205 1731  \n" +
+                "204010400209 448\n" +
+                "204010400250 299   \n" +
+                "204010400200 431  \n" +
+                "204010400212 338  \n" +
+                "204010400211 712";
+
+        List<List<String>> list = Arrays.stream(a.split("\n"))
+                .map(item -> Arrays.stream(item.split(" ")).filter(StrUtil::isNotBlank).collect(Collectors.toList()))
+                .collect(Collectors.toList());
+
+        Map<String, Long> bomSpecMap = bomSpecService.mapKV(BomSpec::getCode, BaseIdPo::getId, null);
+
+
+        for (List<String> data : list) {
+
+            String code = data.get(0);
+            String quantity = data.get(1);
+
+            Long bomSpecId = bomSpecMap.get(code);
+            if (bomSpecId == null) {
+                System.err.println(code + " 为空");
+            }
+
+            boolean update = inventoryService.update(q -> q
+                    .eq(Inventory::getBomSpecId, bomSpecId)
+                    .eq(Inventory::getWarehouseId, 1684037244354052098L)
+                    .eq(Inventory::getDepartmentId, 0L)
+                    .set(Inventory::getQuantity, quantity)
+            );
+            if (!update) {
+                System.err.println(code + " 0库存");
+            }
+
+            boolean update1 = inOutStorageDetailsService.update(q -> q
+                    .eq(InOutStorageDetails::getBomSpecId, bomSpecId)
+                    .eq(InOutStorageDetails::getWarehouseId, 1684037244354052098L)
+                    .eq(InOutStorageDetails::getDepartmentId, 0L)
+                    .set(InOutStorageDetails::getQuantity, quantity)
+            );
+            if (!update1) {
+                System.err.println(code + " 0结存");
+            }
+
+        }
+
+
+    }
+
+
+}

+ 10 - 0
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -83,6 +83,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
             // 循环万里牛订单
             for (JSONObject wlnOrder : wlnOrderList) {
 
+                Date printTime = wlnOrder.getDate("print_time");
+                if (printTime != null && printTime.before(DateUtil.parse("2023-08-29 00:00:00"))) {
+                    continue;
+                }
+
+                Integer processStatus = wlnOrder.getInteger("process_status");
+                if (processStatus < 1) {
+                    continue;
+                }
+
                 // 数据库中是否存在订单
                 OrderInfo orderInfo = existOrderMap.get(wlnOrder.getString("uid"));