Explorar o código

库存后端提交

Gogs hai 2 meses
pai
achega
b7cace1184
Modificáronse 35 ficheiros con 84 adicións e 191 borrados
  1. 0 0
      data/storage/入库数据/2025采购入库单_1119.xlsx
  2. 0 0
      data/storage/入库数据/产品资料.xlsx
  3. 0 0
      data/storage/半成品组装/半成品匹配成品编码明细.xlsx
  4. 0 0
      data/storage/半成品组装/组装明细 - 1107.xlsx
  5. 0 0
      data/storage/销售数据/2025年订单数据.xlsx
  6. 2 1
      dtm-admin/pom.xml
  7. 1 1
      dtm-admin/src/main/java/com/dtm/web/controller/storage/InventoryController.java
  8. 1 1
      dtm-admin/src/main/java/com/dtm/web/controller/storage/ProductController.java
  9. 1 1
      dtm-admin/src/main/java/com/dtm/web/controller/storage/RiskController.java
  10. 1 1
      dtm-admin/src/main/java/com/dtm/web/controller/storage/SemiProductController.java
  11. 1 1
      dtm-admin/src/main/java/com/dtm/web/controller/storage/StorageAgentController.java
  12. 7 18
      dtm-admin/src/main/java/com/dtm/web/controller/storage/StorageUploadController.java
  13. 2 2
      dtm-admin/src/main/resources/application.yml
  14. 2 2
      dtm-admin/src/main/resources/logback.xml
  15. 0 65
      dtm-order/pom.xml
  16. 0 40
      dtm-storage/pom.xml
  17. 10 0
      dtm-system/pom.xml
  18. 0 0
      dtm-system/src/main/java/com/dtm/storage/config/StorageSettings.java
  19. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/AgentChatMessage.java
  20. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/AgentChatRequest.java
  21. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/AssemblyRecord.java
  22. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/ProductInfo.java
  23. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/PurchaseRecord.java
  24. 0 0
      dtm-system/src/main/java/com/dtm/storage/model/SalesRecord.java
  25. 1 1
      dtm-system/src/main/java/com/dtm/storage/service/InventoryService.java
  26. 38 30
      dtm-system/src/main/java/com/dtm/storage/service/InventoryUploadTaskService.java
  27. 0 0
      dtm-system/src/main/java/com/dtm/storage/service/ProductService.java
  28. 0 0
      dtm-system/src/main/java/com/dtm/storage/service/RiskService.java
  29. 0 0
      dtm-system/src/main/java/com/dtm/storage/service/SemiProductService.java
  30. 1 1
      dtm-system/src/main/java/com/dtm/storage/service/StorageAgentService.java
  31. 9 4
      dtm-system/src/main/java/com/dtm/storage/service/StorageDataLoader.java
  32. 1 1
      dtm-system/src/main/java/com/dtm/storage/service/StorageUploadService.java
  33. 0 0
      dtm-system/src/main/java/com/dtm/storage/util/ExcelSheet.java
  34. 0 0
      dtm-system/src/main/java/com/dtm/storage/util/ExcelUtils.java
  35. 6 21
      pom.xml

+ 0 - 0
dtm-storage/data/入库数据/2025采购入库单_1119.xlsx → data/storage/入库数据/2025采购入库单_1119.xlsx


+ 0 - 0
dtm-storage/data/入库数据/产品资料.xlsx → data/storage/入库数据/产品资料.xlsx


+ 0 - 0
dtm-storage/data/半成品组装/半成品匹配成品编码明细.xlsx → data/storage/半成品组装/半成品匹配成品编码明细.xlsx


+ 0 - 0
dtm-storage/data/半成品组装/组装明细 - 1107.xlsx → data/storage/半成品组装/组装明细 - 1107.xlsx


+ 0 - 0
dtm-storage/data/销售数据/2025年订单数据.xlsx → data/storage/销售数据/2025年订单数据.xlsx


+ 2 - 1
dtm-admin/pom.xml

@@ -50,9 +50,10 @@
             <artifactId>dtm-framework</artifactId>
         </dependency>
 
+        <!-- 系统模块(包含 storage / order 服务) -->
         <dependency>
             <groupId>com.dtm</groupId>
-            <artifactId>dtm-storage</artifactId>
+            <artifactId>dtm-system</artifactId>
         </dependency>
 
         <dependency>

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/controller/InventoryController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/InventoryController.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/controller/ProductController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/ProductController.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/controller/RiskController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/RiskController.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/controller/SemiProductController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/SemiProductController.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/controller/StorageAgentController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/StorageAgentController.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;

+ 7 - 18
dtm-storage/src/main/java/com/dtm/storage/controller/StorageUploadController.java → dtm-admin/src/main/java/com/dtm/web/controller/storage/StorageUploadController.java

@@ -1,10 +1,8 @@
-package com.dtm.storage.controller;
+package com.dtm.web.controller.storage;
 
 import com.dtm.common.annotation.Anonymous;
 import com.dtm.common.core.domain.AjaxResult;
-import com.dtm.storage.service.InventoryUploadTaskService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
+import com.dtm.storage.service.StorageUploadService;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -17,10 +15,10 @@ import java.util.Map;
 @RestController
 @RequestMapping("/api/inventory")
 public class StorageUploadController {
-    private final InventoryUploadTaskService uploadTaskService;
+    private final StorageUploadService uploadService;
 
-    public StorageUploadController(InventoryUploadTaskService uploadTaskService) {
-        this.uploadTaskService = uploadTaskService;
+    public StorageUploadController(StorageUploadService uploadService) {
+        this.uploadService = uploadService;
     }
 
     @PostMapping("/upload")
@@ -30,27 +28,18 @@ public class StorageUploadController {
                                            @RequestParam(value = "productFile", required = false) MultipartFile productFile,
                                            @RequestParam(value = "semiMappingFile", required = false) MultipartFile semiMappingFile) {
         try {
-            Map<String, Object> result = uploadTaskService.submit(
+            Map<String, Object> result = uploadService.uploadFiles(
                     purchaseFile,
                     salesFile,
                     assemblyFile,
                     productFile,
                     semiMappingFile
             );
-            return AjaxResult.success("上传任务已创建", result);
+            return AjaxResult.success("上传成功", result);
         } catch (IllegalArgumentException e) {
             return AjaxResult.error(e.getMessage());
         } catch (Exception e) {
             return AjaxResult.error("上传失败: " + e.getMessage());
         }
     }
-
-    @GetMapping("/upload-task/{taskId}")
-    public AjaxResult getUploadTask(@PathVariable("taskId") String taskId) {
-        Map<String, Object> result = uploadTaskService.getTask(taskId);
-        if (result == null) {
-            return AjaxResult.error("任务不存在");
-        }
-        return AjaxResult.success(result);
-    }
 }

+ 2 - 2
dtm-admin/src/main/resources/application.yml

@@ -153,13 +153,13 @@ shop:
 # 仓储分析数据目录
 storage:
   data:
-    path: ../dtm-storage/data
+    path: ../data/storage
 
 # Zhipu AI (GLM) configuration
 zhipu:
   api-key: 00105ddcf726404d98bba234f46965c6.suVDfihhEahnWDFh
   base-url: https://open.bigmodel.cn/api/paas/v4/chat/completions
-  model: glm-4.7-flash
+  model: GLM-4-Flash
   temperature: 0.4
   max-tokens: 1024
   timeout-ms: 30000

+ 2 - 2
dtm-admin/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/home/ruoyi/logs" />
+	<property name="log.path" value="${user.dir}/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 
@@ -90,4 +90,4 @@
     <logger name="sys-user" level="info">
         <appender-ref ref="sys-user"/>
     </logger>
-</configuration> 
+</configuration> 

+ 0 - 65
dtm-order/pom.xml

@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>dtm_java</artifactId>
-        <groupId>com.dtm</groupId>
-        <version>3.9.0</version>
-    </parent>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>dtm-order</artifactId>
-
-    <description>
-        订单监测模块
-    </description>
-
-    <dependencies>
-        <!-- 通用工具与注解 -->
-        <dependency>
-            <groupId>com.dtm</groupId>
-            <artifactId>dtm-common</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
-            <version>1.3.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-csv</artifactId>
-            <version>1.10.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 40
dtm-storage/pom.xml

@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>dtm_java</artifactId>
-        <groupId>com.dtm</groupId>
-        <version>3.9.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>dtm-storage</artifactId>
-
-    <description>
-        ²Ö´¢¿â´æ·ÖÎöÄ£¿é
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.dtm</groupId>
-            <artifactId>dtm-common</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 10 - 0
dtm-system/pom.xml

@@ -45,6 +45,16 @@
             <version>1.3.2</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/config/StorageSettings.java → dtm-system/src/main/java/com/dtm/storage/config/StorageSettings.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/AgentChatMessage.java → dtm-system/src/main/java/com/dtm/storage/model/AgentChatMessage.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/AgentChatRequest.java → dtm-system/src/main/java/com/dtm/storage/model/AgentChatRequest.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/AssemblyRecord.java → dtm-system/src/main/java/com/dtm/storage/model/AssemblyRecord.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/ProductInfo.java → dtm-system/src/main/java/com/dtm/storage/model/ProductInfo.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/PurchaseRecord.java → dtm-system/src/main/java/com/dtm/storage/model/PurchaseRecord.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/model/SalesRecord.java → dtm-system/src/main/java/com/dtm/storage/model/SalesRecord.java


+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/service/InventoryService.java → dtm-system/src/main/java/com/dtm/storage/service/InventoryService.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.service;
+package com.dtm.storage.service;
 
 import com.dtm.storage.config.StorageSettings;
 import com.dtm.storage.model.AssemblyRecord;

+ 38 - 30
dtm-storage/src/main/java/com/dtm/storage/service/InventoryUploadTaskService.java → dtm-system/src/main/java/com/dtm/storage/service/InventoryUploadTaskService.java

@@ -3,24 +3,16 @@ package com.dtm.storage.service;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.annotation.PreDestroy;
 import java.time.Instant;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 
 @Service
 public class InventoryUploadTaskService {
     private final StorageUploadService uploadService;
-    private final ExecutorService executor = Executors.newSingleThreadExecutor(r -> {
-        Thread thread = new Thread(r, "inventory-upload-task");
-        thread.setDaemon(true);
-        return thread;
-    });
     private final ConcurrentMap<String, TaskRecord> tasks = new ConcurrentHashMap<>();
 
     public InventoryUploadTaskService(StorageUploadService uploadService) {
@@ -32,19 +24,11 @@ public class InventoryUploadTaskService {
                                       MultipartFile assemblyFile,
                                       MultipartFile productFile,
                                       MultipartFile semiMappingFile) {
-        StorageUploadService.UploadBatch batch = uploadService.saveUploadFiles(
-                purchaseFile,
-                salesFile,
-                assemblyFile,
-                productFile,
-                semiMappingFile
-        );
-
         String taskId = UUID.randomUUID().toString().replace("-", "");
-        TaskRecord record = new TaskRecord(taskId, batch);
+        TaskRecord record = new TaskRecord(taskId);
         tasks.put(taskId, record);
 
-        executor.submit(() -> runTask(record));
+        runTask(record, purchaseFile, salesFile, assemblyFile, productFile, semiMappingFile);
         return record.toMap();
     }
 
@@ -53,42 +37,66 @@ public class InventoryUploadTaskService {
         return record == null ? null : record.toMap();
     }
 
-    private void runTask(TaskRecord record) {
+    private void runTask(TaskRecord record,
+                         MultipartFile purchaseFile,
+                         MultipartFile salesFile,
+                         MultipartFile assemblyFile,
+                         MultipartFile productFile,
+                         MultipartFile semiMappingFile) {
         record.status = "running";
         record.message = "文件已上传,正在处理库存数据";
         record.startedAt = Instant.now().toString();
         try {
-            uploadService.activateUploadBatch(record.batch);
+            Map<String, Object> result = uploadService.uploadFiles(
+                    purchaseFile,
+                    salesFile,
+                    assemblyFile,
+                    productFile,
+                    semiMappingFile
+            );
             record.status = "success";
             record.message = "库存数据处理完成";
-            record.result = record.batch.toResult();
+            record.result = result;
+            record.count = parseCount(result);
+            record.files = result == null ? null : result.get("files");
         } catch (Exception e) {
             record.status = "failed";
             record.message = e.getMessage() == null ? "库存数据处理失败" : e.getMessage();
-            uploadService.discardUploadBatch(record.batch);
         } finally {
             record.finishedAt = Instant.now().toString();
         }
     }
 
-    @PreDestroy
-    public void shutdown() {
-        executor.shutdownNow();
+    private Integer parseCount(Map<String, Object> result) {
+        if (result == null) {
+            return 0;
+        }
+        Object countObj = result.get("count");
+        if (countObj instanceof Number) {
+            return ((Number) countObj).intValue();
+        }
+        if (countObj instanceof String) {
+            try {
+                return Integer.parseInt(((String) countObj).trim());
+            } catch (NumberFormatException ignored) {
+            }
+        }
+        return 0;
     }
 
     private static class TaskRecord {
         private final String taskId;
-        private final StorageUploadService.UploadBatch batch;
         private final String createdAt;
         private volatile String startedAt;
         private volatile String finishedAt;
         private volatile String status;
         private volatile String message;
         private volatile Map<String, Object> result;
+        private volatile Integer count;
+        private volatile Object files;
 
-        private TaskRecord(String taskId, StorageUploadService.UploadBatch batch) {
+        private TaskRecord(String taskId) {
             this.taskId = taskId;
-            this.batch = batch;
             this.createdAt = Instant.now().toString();
             this.status = "pending";
             this.message = "文件已上传,等待后台处理";
@@ -103,8 +111,8 @@ public class InventoryUploadTaskService {
             data.put("startedAt", startedAt);
             data.put("finishedAt", finishedAt);
             data.put("result", result);
-            data.put("count", batch == null ? 0 : batch.getCount());
-            data.put("files", batch == null ? null : batch.getFiles());
+            data.put("count", count == null ? 0 : count);
+            data.put("files", files);
             return data;
         }
     }

+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/service/ProductService.java → dtm-system/src/main/java/com/dtm/storage/service/ProductService.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/service/RiskService.java → dtm-system/src/main/java/com/dtm/storage/service/RiskService.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/service/SemiProductService.java → dtm-system/src/main/java/com/dtm/storage/service/SemiProductService.java


+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/service/StorageAgentService.java → dtm-system/src/main/java/com/dtm/storage/service/StorageAgentService.java

@@ -51,7 +51,7 @@ public class StorageAgentService {
     @Value("${zhipu.base-url:https://open.bigmodel.cn/api/paas/v4/chat/completions}")
     private String baseUrl;
 
-    @Value("${zhipu.model:glm-4.7-flash}")
+    @Value("${zhipu.model:GLM-4-Flash}")
     private String model;
 
     @Value("${zhipu.temperature:0.4}")

+ 9 - 4
dtm-storage/src/main/java/com/dtm/storage/service/StorageDataLoader.java → dtm-system/src/main/java/com/dtm/storage/service/StorageDataLoader.java

@@ -323,14 +323,19 @@ public class StorageDataLoader {
             }
         }
 
-        Path direct = Paths.get(System.getProperty("user.dir"), "dtm-storage", "data");
+        Path direct = Paths.get(System.getProperty("user.dir"), "data", "storage");
         if (Files.exists(direct)) {
             return direct;
         }
 
-        Path parent = Paths.get(System.getProperty("user.dir"), "..", "dtm-storage", "data").normalize();
-        if (Files.exists(parent)) {
-            return parent;
+        Path legacy = Paths.get(System.getProperty("user.dir"), "dtm-storage", "data");
+        if (Files.exists(legacy)) {
+            return legacy;
+        }
+
+        Path legacyParent = Paths.get(System.getProperty("user.dir"), "..", "dtm-storage", "data").normalize();
+        if (Files.exists(legacyParent)) {
+            return legacyParent;
         }
 
         Path fallback = Paths.get(System.getProperty("user.dir"), "data");

+ 1 - 1
dtm-storage/src/main/java/com/dtm/storage/service/StorageUploadService.java → dtm-system/src/main/java/com/dtm/storage/service/StorageUploadService.java

@@ -1,4 +1,4 @@
-package com.dtm.storage.service;
+package com.dtm.storage.service;
 
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;

+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/util/ExcelSheet.java → dtm-system/src/main/java/com/dtm/storage/util/ExcelSheet.java


+ 0 - 0
dtm-storage/src/main/java/com/dtm/storage/util/ExcelUtils.java → dtm-system/src/main/java/com/dtm/storage/util/ExcelUtils.java


+ 6 - 21
pom.xml

@@ -211,24 +211,11 @@
                 <version>${ruoyi.version}</version>
             </dependency>
 
-            <!-- 通用工具-->
-            <dependency>
-                <groupId>com.dtm</groupId>
-                <artifactId>dtm-order</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.dtm</groupId>
-                <artifactId>dtm-storage</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.dtm</groupId>
-                <artifactId>dtm-common</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
+            <dependency>
+                <groupId>com.dtm</groupId>
+                <artifactId>dtm-common</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
 
         </dependencies>
     </dependencyManagement>
@@ -237,9 +224,7 @@
         <module>dtm-admin</module>
         <module>dtm-framework</module>
         <module>dtm-system</module>
-        <module>dtm-order</module>
-        <module>dtm-storage</module>
-        <module>dtm-quartz</module>
+        <module>dtm-quartz</module>
         <module>dtm-generator</module>
         <module>dtm-common</module>
     </modules>