From 088a46dc697ef5b719f1ab62c9988f96a21e5e0c Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期一, 12 五月 2025 11:17:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml                                      |    4 
 aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialManagementJobMapper.xml                             |  228 ++++++++++++
 aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteCoreFallbackFactory.java                   |   15 
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomLineJob.java                                          |    8 
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialManagementJob.java                               |  291 ++++++++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java |    8 
 aps-modules/aps-job/src/main/java/com/aps/job/service/IApsMaterialManagementJobService.java                      |   82 ++++
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialStorageManagementJob.java                        |    8 
 aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml                                        |    4 
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomHeaderJob.java                                        |    8 
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialManagementJobServiceImpl.java              |  235 +++++++++++++
 aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml                     |    4 
 aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml                       |    4 
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialManagement.java                                |   27 
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java                       |    8 
 aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java                         |    8 
 aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialStorageManagementJobMapper.xml                      |    4 
 aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java                                                   |   17 
 aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsMaterialManagementJobMapper.java                         |   87 ++++
 aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java                                   |    8 
 aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteCoreService.java                                   |    8 
 21 files changed, 1,024 insertions(+), 42 deletions(-)

diff --git a/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteCoreService.java b/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteCoreService.java
index 541813a..a907d8b 100644
--- a/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteCoreService.java
+++ b/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteCoreService.java
@@ -25,4 +25,12 @@
     @PostMapping("/ApsBomHeader/setBomDataToRedis")
     R<Boolean> setBomDataToRedis(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    /**
+     * 鍒锋柊宸ヨ壓璺嚎鏁版嵁鍒癛edis
+     * @param source
+     * @return
+     */
+    @PostMapping("/ApsStandardProcessRouteHeader/setProcessRouteDataToRedis")
+    R<Boolean> setProcessRouteDataToRedis(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
 }
diff --git a/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteCoreFallbackFactory.java b/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteCoreFallbackFactory.java
index b2d846d..9e50240 100644
--- a/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteCoreFallbackFactory.java
+++ b/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteCoreFallbackFactory.java
@@ -21,6 +21,19 @@
     public RemoteCoreService create(Throwable throwable)
     {
         log.error("浠诲姟鏈嶅姟璋冪敤澶辫触:{}", throwable.getMessage());
-        return source -> R.fail("BOM鏁版嵁瀛樺偍鍒癛edis涓け璐�:" + throwable.getMessage());
+        return new RemoteCoreService()
+        {
+            @Override
+            public R<Boolean> setBomDataToRedis(String source)
+            {
+                return R.fail("BOM鏁版嵁瀛樺偍鍒癛edis涓け璐�:" + throwable.getMessage());
+            }
+
+            @Override
+            public R<Boolean> setProcessRouteDataToRedis(String source)
+            {
+                return R.fail("宸ヨ壓璺嚎鏁版嵁瀛樺偍鍒癛edis涓け璐�:" + throwable.getMessage());
+            }
+        };
     }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java
index 2e6fdcb..0bde872 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java
@@ -116,14 +116,14 @@
         R<Boolean> res = remoteJobService.refreshProcessRouteData(SecurityConstants.INNER);
         if (R.isSuccess(res))
         {
-            return success();
+            apsStandardProcessRouteHeaderService.setProcessRouteDataToRedis("");
         }
         return error();
     }
 
-    @PostMapping("/test")
-    public void test()
+    @PostMapping("/setProcessRouteDataToRedis")
+    public boolean setProcessRouteDataToRedis()
     {
-        apsStandardProcessRouteHeaderService.setProcessRouteDataToRedis("FORTUNA");
+        return apsStandardProcessRouteHeaderService.setProcessRouteDataToRedis("FORTUNA");
     }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialManagement.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialManagement.java
index e97a48c..d9498c3 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialManagement.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialManagement.java
@@ -1,12 +1,13 @@
 package com.aps.core.domain;
 
-import java.math.BigDecimal;
-import java.util.Date;
+import com.aps.common.core.annotation.Excel;
+import com.aps.common.core.web.domain.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
-import com.aps.common.core.annotation.Excel;
-import com.aps.common.core.web.domain.BaseEntity;
+
+import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 鐗╂枡绠$悊瀵硅薄 aps_material_management
@@ -19,7 +20,7 @@
     private static final long serialVersionUID = 1L;
 
     /** id */
-    private String id;
+    private Long id;
 
     /** 鏂欏彿 */
     @Excel(name = "鏂欏彿")
@@ -70,26 +71,26 @@
     private String applicableWorkshop;
 
     /** 鐢熸晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date effectiveDate;
 
     /** 澶辨晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date expiringDate;
 
     /** 闆嗘垚鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "闆嗘垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "闆嗘垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date integrationDate;
 
-    public void setId(String id) 
+    public void setId(Long id)
     {
         this.id = id;
     }
 
-    public String getId() 
+    public Long getId()
     {
         return id;
     }
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java b/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
index a5210b1..e443ee2 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
@@ -67,6 +67,9 @@
     @Autowired
     public RedisTemplate redisTemplate;
 
+    @Autowired
+    private IApsMaterialManagementJobService apsMaterialManagementJobService;
+
     /**
      * 鏌ヨ瀹氭椂浠诲姟鍒楄〃
      */
@@ -227,7 +230,10 @@
     public void test(@RequestBody SysJob job) throws Exception
     {
         System.out.println("start");
-        apsStandardProcessRouteHeaderJobService.syncProcessRouteData(159, 1000, "", "");
+        //鍚屾鐗╂枡鏁版嵁
+        apsMaterialManagementJobService.syncApsMaterialData(1, 1000, "FORTUNA", "");
+        //鍚屾宸ヨ壓璺嚎鏁版嵁
+//        apsStandardProcessRouteHeaderJobService.syncProcessRouteData(1, 1000, "", "");
         //鑾峰彇Redis缂撳瓨涓殑BOM鏁版嵁
 //        JSONArray jsonArray = (JSONArray)redisTemplate.opsForValue().get("BOM:BOM_FORTUNA_A6501-001080");
         //灏咮OM鏁版嵁瀛樿繘Redis涓�
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomHeaderJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomHeaderJob.java
index 99d151e..dadd693 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomHeaderJob.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomHeaderJob.java
@@ -40,14 +40,14 @@
 
     /** 鐢熸晥鏃ユ湡 */
     @JsonProperty("HEffectiveDate")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date startDate;
 
     /** 澶辨晥鏃ユ湡 */
     @JsonProperty("HDisableDate")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date endDate;
 
     /** 宸ュ巶缂栫爜 */
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomLineJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomLineJob.java
index fa9f869..4958384 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomLineJob.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsBomLineJob.java
@@ -45,14 +45,14 @@
 
     /** 鐢熸晥鏃ユ湡 */
     @JsonProperty("LEffectiveDate")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date startDate;
 
     /** 澶辨晥鏃ユ湡 */
     @JsonProperty("LDisableDate")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date endDate;
 
     /** 宸ュ巶缂栫爜 */
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialManagementJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialManagementJob.java
new file mode 100644
index 0000000..c1f4bc7
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialManagementJob.java
@@ -0,0 +1,291 @@
+package com.aps.job.domain;
+
+import com.aps.common.core.annotation.Excel;
+import com.aps.common.core.web.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鐗╂枡绠$悊瀵硅薄 aps_material_management_job
+ * 
+ * @author hjy
+ * @date 2025-05-10
+ */
+@Schema(description = "鐗╂枡绠$悊瀹炰綋绫�")
+public class ApsMaterialManagementJob extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    @Schema(description = "id")
+    private Long id;
+
+    /** 鏂欏彿 */
+    @Excel(name = "鏂欏彿")
+    @Schema(description = "鏂欏彿")
+    private String itemNumber;
+
+    /** 鐗╂枡鎻忚堪 */
+    @Excel(name = "鐗╂枡鎻忚堪")
+    @Schema(description = "鐗╂枡鎻忚堪")
+    private String materialDescription;
+
+    /** 鐗╂枡鐘舵�� */
+    @Excel(name = "鐗╂枡鐘舵��")
+    @Schema(description = "鐗╂枡鐘舵��")
+    private String materialStatus;
+
+    /** 鐗╂枡绫诲瀷 */
+    @Excel(name = "鐗╂枡绫诲瀷")
+    @Schema(description = "鐗╂枡绫诲瀷")
+    private String materialType;
+
+    /** 涓撲笟褰掑睘 */
+    @Excel(name = "涓撲笟褰掑睘")
+    @Schema(description = "涓撲笟褰掑睘")
+    private String professionalAffiliation;
+
+    /** 鍥惧彿 */
+    @Excel(name = "鍥惧彿")
+    @Schema(description = "鍥惧彿")
+    private String drawingNo;
+
+    /** 鐗堟湰 */
+    @Excel(name = "鐗堟湰")
+    @Schema(description = "鐗堟湰")
+    private String versionNumber;
+
+    /** 鏈�鏃╁彲鎻愬墠鐢熶骇澶╂暟 */
+    @Excel(name = "鏈�鏃╁彲鎻愬墠鐢熶骇澶╂暟")
+    @Schema(description = "鏈�鏃╁彲鎻愬墠鐢熶骇澶╂暟")
+    private BigDecimal advanceProductionDays;
+
+    /** 鎷嗗垎鎵归噺 */
+    @Excel(name = "鎷嗗垎鎵归噺")
+    @Schema(description = "鎷嗗垎鎵归噺")
+    private Integer splitBatch;
+
+    /** 鏄惁鑷埗 */
+    @Excel(name = "鏄惁鑷埗")
+    @Schema(description = "鏄惁鑷埗")
+    private String selfMade;
+
+    /** 閫傜敤宸ュ巶 */
+    @Excel(name = "閫傜敤宸ュ巶")
+    @Schema(description = "閫傜敤宸ュ巶")
+    private String applicableFactories;
+
+    /** 閫傜敤杞﹂棿 */
+    @Excel(name = "閫傜敤杞﹂棿")
+    @Schema(description = "閫傜敤杞﹂棿")
+    private String applicableWorkshop;
+
+    /** 鐢熸晥鏃ユ湡 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "鐢熸晥鏃ユ湡")
+    private Date effectiveDate;
+
+    /** 澶辨晥鏃ユ湡 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "澶辨晥鏃ユ湡")
+    private Date expiringDate;
+
+    /** 闆嗘垚鏃ユ湡 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "闆嗘垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "闆嗘垚鏃ユ湡")
+    private Date integrationDate;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+
+    public void setItemNumber(String itemNumber) 
+    {
+        this.itemNumber = itemNumber;
+    }
+
+    public String getItemNumber() 
+    {
+        return itemNumber;
+    }
+
+    public void setMaterialDescription(String materialDescription) 
+    {
+        this.materialDescription = materialDescription;
+    }
+
+    public String getMaterialDescription() 
+    {
+        return materialDescription;
+    }
+
+    public void setMaterialStatus(String materialStatus) 
+    {
+        this.materialStatus = materialStatus;
+    }
+
+    public String getMaterialStatus() 
+    {
+        return materialStatus;
+    }
+
+    public void setMaterialType(String materialType) 
+    {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialType() 
+    {
+        return materialType;
+    }
+
+    public void setProfessionalAffiliation(String professionalAffiliation) 
+    {
+        this.professionalAffiliation = professionalAffiliation;
+    }
+
+    public String getProfessionalAffiliation() 
+    {
+        return professionalAffiliation;
+    }
+
+    public void setDrawingNo(String drawingNo) 
+    {
+        this.drawingNo = drawingNo;
+    }
+
+    public String getDrawingNo() 
+    {
+        return drawingNo;
+    }
+
+    public void setVersionNumber(String versionNumber) 
+    {
+        this.versionNumber = versionNumber;
+    }
+
+    public String getVersionNumber() 
+    {
+        return versionNumber;
+    }
+
+    public void setAdvanceProductionDays(BigDecimal advanceProductionDays) 
+    {
+        this.advanceProductionDays = advanceProductionDays;
+    }
+
+    public BigDecimal getAdvanceProductionDays() 
+    {
+        return advanceProductionDays;
+    }
+
+    public void setSplitBatch(Integer splitBatch) 
+    {
+        this.splitBatch = splitBatch;
+    }
+
+    public Integer getSplitBatch() 
+    {
+        return splitBatch;
+    }
+
+    public void setSelfMade(String selfMade) 
+    {
+        this.selfMade = selfMade;
+    }
+
+    public String getSelfMade() 
+    {
+        return selfMade;
+    }
+
+    public void setApplicableFactories(String applicableFactories) 
+    {
+        this.applicableFactories = applicableFactories;
+    }
+
+    public String getApplicableFactories() 
+    {
+        return applicableFactories;
+    }
+
+    public void setApplicableWorkshop(String applicableWorkshop) 
+    {
+        this.applicableWorkshop = applicableWorkshop;
+    }
+
+    public String getApplicableWorkshop() 
+    {
+        return applicableWorkshop;
+    }
+
+    public void setEffectiveDate(Date effectiveDate) 
+    {
+        this.effectiveDate = effectiveDate;
+    }
+
+    public Date getEffectiveDate() 
+    {
+        return effectiveDate;
+    }
+
+    public void setExpiringDate(Date expiringDate) 
+    {
+        this.expiringDate = expiringDate;
+    }
+
+    public Date getExpiringDate() 
+    {
+        return expiringDate;
+    }
+
+    public void setIntegrationDate(Date integrationDate) 
+    {
+        this.integrationDate = integrationDate;
+    }
+
+    public Date getIntegrationDate() 
+    {
+        return integrationDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("itemNumber", getItemNumber())
+            .append("materialDescription", getMaterialDescription())
+            .append("materialStatus", getMaterialStatus())
+            .append("materialType", getMaterialType())
+            .append("professionalAffiliation", getProfessionalAffiliation())
+            .append("drawingNo", getDrawingNo())
+            .append("versionNumber", getVersionNumber())
+            .append("advanceProductionDays", getAdvanceProductionDays())
+            .append("splitBatch", getSplitBatch())
+            .append("selfMade", getSelfMade())
+            .append("applicableFactories", getApplicableFactories())
+            .append("applicableWorkshop", getApplicableWorkshop())
+            .append("effectiveDate", getEffectiveDate())
+            .append("expiringDate", getExpiringDate())
+            .append("integrationDate", getIntegrationDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialStorageManagementJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialStorageManagementJob.java
index 5d1a72c..0e76960 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialStorageManagementJob.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsMaterialStorageManagementJob.java
@@ -41,14 +41,14 @@
     private String applicableFactories;
 
     /** 闆嗘垚鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "闆嗘垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "闆嗘垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "闆嗘垚鏃ユ湡")
     private Date integrationDate;
 
     /** 鍒锋柊鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鍒锋柊鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鍒锋柊鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "鍒锋柊鏃ユ湡")
     private Date refreshDate;
 
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java
index 8544716..7706315 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java
@@ -36,14 +36,14 @@
     private String version;
 
     /** 鐢熸晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "鐢熸晥鏃ユ湡")
     private Date startDate;
 
     /** 澶辨晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "澶辨晥鏃ユ湡")
     private Date endDate;
 
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java
index 59b3338..5067b58 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java
@@ -41,14 +41,14 @@
     private String routeName;
 
     /** 鐢熸晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "鐢熸晥鏃ユ湡")
     private Date startDate;
 
     /** 澶辨晥鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Schema(description = "澶辨晥鏃ユ湡")
     private Date endDate;
 
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsMaterialManagementJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsMaterialManagementJobMapper.java
new file mode 100644
index 0000000..2833be7
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsMaterialManagementJobMapper.java
@@ -0,0 +1,87 @@
+package com.aps.job.mapper;
+
+import com.aps.job.domain.ApsMaterialManagementJob;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 鐗╂枡绠$悊Mapper鎺ュ彛
+ * 
+ * @author hjy
+ * @date 2025-05-10
+ */
+public interface ApsMaterialManagementJobMapper 
+{
+    /**
+     * 鏌ヨ鐗╂枡绠$悊
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 鐗╂枡绠$悊
+     */
+    public ApsMaterialManagementJob selectApsMaterialManagementJobById(String id);
+
+    /**
+     * 鏌ヨ鐗╂枡绠$悊鍒楄〃
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 鐗╂枡绠$悊闆嗗悎
+     */
+    public List<ApsMaterialManagementJob> selectApsMaterialManagementJobList(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 鏂板鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    public int insertApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 淇敼鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    public int updateApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 鍒犻櫎鐗╂枡绠$悊
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsMaterialManagementJobById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎鐗╂枡绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsMaterialManagementJobByIds(String[] ids);
+
+    /**
+     * 鎵归噺鎻掑叆鐗╂枡鏁版嵁
+     * @param list
+     * @return
+     */
+    public int insertApsMaterialBatch(@Param("list") List<ApsMaterialManagementJob> list);
+
+    /**
+     * 鎵归噺鎻掑叆鐗╂枡鏁版嵁鍒颁笟鍔¤〃
+     * @return
+     */
+    public void insertIntoApsMaterialManagement();
+
+    /**
+     * 鍒犻櫎鐗╂枡鏁版嵁
+     * @return
+     */
+    public void deleteApsMaterial();
+
+    /**
+     * 鍒犻櫎涓棿琛ㄧ墿鏂欐暟鎹�
+     */
+    public void deleteApsMaterialJob();
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsMaterialManagementJobService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsMaterialManagementJobService.java
new file mode 100644
index 0000000..d8d8e8c
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsMaterialManagementJobService.java
@@ -0,0 +1,82 @@
+package com.aps.job.service;
+
+import com.aps.job.domain.ApsMaterialManagementJob;
+
+import java.util.List;
+
+/**
+ * 鐗╂枡绠$悊Service鎺ュ彛
+ * 
+ * @author hjy
+ * @date 2025-05-10
+ */
+public interface IApsMaterialManagementJobService 
+{
+    /**
+     * 鏌ヨ鐗╂枡绠$悊
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 鐗╂枡绠$悊
+     */
+    public ApsMaterialManagementJob selectApsMaterialManagementJobById(String id);
+
+    /**
+     * 鏌ヨ鐗╂枡绠$悊鍒楄〃
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 鐗╂枡绠$悊闆嗗悎
+     */
+    public List<ApsMaterialManagementJob> selectApsMaterialManagementJobList(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 鏂板鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    public int insertApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 淇敼鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    public int updateApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob);
+
+    /**
+     * 鎵归噺鍒犻櫎鐗╂枡绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐗╂枡绠$悊涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsMaterialManagementJobByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎鐗╂枡绠$悊淇℃伅
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsMaterialManagementJobById(String id);
+
+    /**
+     * 鍚屾鐗╂枡鏁版嵁
+     * @param pageIndex
+     * @param pageSize
+     * @param orgCode
+     * @param itemCodeList
+     * @return
+     */
+    public boolean syncApsMaterialData(int pageIndex, int pageSize, String orgCode, String itemCodeList);
+
+    /**
+     * 鍚屾鍏ㄩ噺鐗╂枡鏁版嵁瀹氭椂浠诲姟
+     * @param pageIndex
+     * @param pageSize
+     * @param orgCode
+     * @param itemCodeList
+     * @return
+     */
+    public boolean syncApsMaterialDataJob(int pageIndex, int pageSize, String orgCode, String itemCodeList);
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialManagementJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialManagementJobServiceImpl.java
new file mode 100644
index 0000000..cae8691
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialManagementJobServiceImpl.java
@@ -0,0 +1,235 @@
+package com.aps.job.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aps.common.core.utils.DateUtils;
+import com.aps.common.core.utils.StringUtils;
+import com.aps.common.core.utils.uuid.IdUtils;
+import com.aps.job.domain.ApsMaterialManagementJob;
+import com.aps.job.domain.ApsWorkOrderJobLog;
+import com.aps.job.mapper.ApsMaterialManagementJobMapper;
+import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
+import com.aps.job.service.IApsMaterialManagementJobService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鐗╂枡绠$悊Service涓氬姟灞傚鐞�
+ * 
+ * @author hjy
+ * @date 2025-05-10
+ */
+@Service
+public class ApsMaterialManagementJobServiceImpl implements IApsMaterialManagementJobService 
+{
+    @Autowired
+    private ApsMaterialManagementJobMapper apsMaterialManagementJobMapper;
+
+    @Value("${u9.materialUrl}")
+    private String getMaterialUrl;
+
+    @Autowired
+    private ApsWorkOrderJobLogMapper jobLogMapper;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    /**
+     * 鏌ヨ鐗╂枡绠$悊
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 鐗╂枡绠$悊
+     */
+    @Override
+    public ApsMaterialManagementJob selectApsMaterialManagementJobById(String id)
+    {
+        return apsMaterialManagementJobMapper.selectApsMaterialManagementJobById(id);
+    }
+
+    /**
+     * 鏌ヨ鐗╂枡绠$悊鍒楄〃
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 鐗╂枡绠$悊
+     */
+    @Override
+    public List<ApsMaterialManagementJob> selectApsMaterialManagementJobList(ApsMaterialManagementJob apsMaterialManagementJob)
+    {
+        return apsMaterialManagementJobMapper.selectApsMaterialManagementJobList(apsMaterialManagementJob);
+    }
+
+    /**
+     * 鏂板鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob)
+    {
+        apsMaterialManagementJob.setCreateTime(DateUtils.getNowDate());
+        return apsMaterialManagementJobMapper.insertApsMaterialManagementJob(apsMaterialManagementJob);
+    }
+
+    /**
+     * 淇敼鐗╂枡绠$悊
+     * 
+     * @param apsMaterialManagementJob 鐗╂枡绠$悊
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsMaterialManagementJob(ApsMaterialManagementJob apsMaterialManagementJob)
+    {
+        apsMaterialManagementJob.setUpdateTime(DateUtils.getNowDate());
+        return apsMaterialManagementJobMapper.updateApsMaterialManagementJob(apsMaterialManagementJob);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鐗╂枡绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐗╂枡绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsMaterialManagementJobByIds(String[] ids)
+    {
+        return apsMaterialManagementJobMapper.deleteApsMaterialManagementJobByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鐗╂枡绠$悊淇℃伅
+     * 
+     * @param id 鐗╂枡绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsMaterialManagementJobById(String id)
+    {
+        return apsMaterialManagementJobMapper.deleteApsMaterialManagementJobById(id);
+    }
+
+    @Override
+    public boolean syncApsMaterialData(int pageIndex, int pageSize, String orgCode, String itemCodeList) {
+        JSONObject requestBody = new JSONObject();
+        ResponseEntity<String> response = null;
+        ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
+        String batchNum = "";
+        try {
+            // 璁剧疆璇锋眰澶�
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            // 璁剧疆璇锋眰浣�
+            while (true) {
+                batchNum = IdUtils.fastSimpleUUID();
+                jobLog = new ApsWorkOrderJobLog();
+                requestBody = new JSONObject();
+                requestBody.put("PageIndex", pageIndex);
+                requestBody.put("PageSize", pageSize);
+                if(!StringUtils.isEmpty(orgCode)){
+                    requestBody.put("OrgCode", orgCode);
+                }
+                // 鍒涘缓HttpEntity瀵硅薄
+                HttpEntity<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
+                // 鍙戦�丳OST璇锋眰
+                response = restTemplate.postForEntity(getMaterialUrl, request, String.class);
+                JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
+                if (response.getStatusCode().is2xxSuccessful() && "200".equals(responseBodyJson.getString("status"))) {
+                    JSONArray jsonArray = responseBodyJson.getJSONArray("data");
+                    if (!jsonArray.isEmpty()) {
+                        List<ApsMaterialManagementJob> materialList = new ArrayList<>();
+                        for (Object o : jsonArray) {
+                            JSONObject materialObj = (JSONObject) o;
+                            ApsMaterialManagementJob material = new ApsMaterialManagementJob();
+                            material.setId(IdUtil.getSnowflakeNextId());
+                            material.setItemNumber(materialObj.getString("ItemCode"));
+                            material.setMaterialDescription(materialObj.getString("ItemName"));
+                            material.setMaterialStatus(materialObj.getString("Status"));
+                            material.setMaterialType(materialObj.getString("ItemFormAttribute"));
+                            material.setDrawingNo(materialObj.getString("ItemFigure"));
+                            material.setVersionNumber(materialObj.getString("ItemFigureVersion"));
+                            material.setAdvanceProductionDays(materialObj.getBigDecimal("FixedLT"));
+                            material.setSplitBatch(materialObj.getInteger("CFPL"));
+                            material.setApplicableFactories(materialObj.getString("OrgCode"));
+                            material.setEffectiveDate(DateUtils.parseDate(materialObj.getString("EffectiveDate")));
+                            material.setExpiringDate(DateUtils.parseDate(materialObj.getString("DisableDate")));
+                            material.setCreateBy(batchNum);
+                            materialList.add(material);
+                        }
+                        List<ApsMaterialManagementJob> temp = new ArrayList<>();
+                        for(int i=0;i<materialList.size();i++){
+                            temp.add(materialList.get(i));
+                            if(temp.size()>=20){
+                                apsMaterialManagementJobMapper.insertApsMaterialBatch(temp);
+                                temp = new ArrayList<>();
+                            }
+                        }
+                        jobLog.setRequestData(requestBody.toJSONString());
+                        jobLog.setPageNum(Long.valueOf(pageIndex));
+                        jobLog.setPageCount(Long.valueOf(pageSize));
+                        jobLog.setCreateTime(DateUtils.getNowDate());
+                        jobLog.setBizType("material");
+                        jobLog.setResult("material:"+materialList.size());
+                        jobLog.setCreateBy(batchNum);
+                        jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+                        pageIndex++;
+                    }else{
+                        break;
+                    }
+                }else{
+                    jobLog.setRequestData(requestBody.toJSONString());
+                    jobLog.setResponseData(response.getBody());
+                    jobLog.setPageNum(Long.valueOf(pageIndex));
+                    jobLog.setPageCount(Long.valueOf(pageSize));
+                    jobLog.setCreateTime(DateUtils.getNowDate());
+                    jobLog.setBizType("storage");
+                    jobLog.setResult("error");
+                    jobLog.setCreateBy(batchNum);
+                    jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+                    break;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            jobLog.setRequestData(requestBody.toJSONString());
+            jobLog.setResponseData(response.getBody());
+            jobLog.setPageNum(Long.valueOf(pageIndex));
+            jobLog.setPageCount(Long.valueOf(pageSize));
+            jobLog.setCreateTime(DateUtils.getNowDate());
+            jobLog.setBizType("storage");
+            jobLog.setResult("error");
+            jobLog.setCreateBy(batchNum);
+            jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+            return false;
+        }
+        return true;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public boolean syncApsMaterialDataJob(int pageIndex, int pageSize, String orgCode, String itemCodeList) {
+        try {
+            apsMaterialManagementJobMapper.deleteApsMaterialJob();
+            boolean res = syncApsMaterialData(pageIndex, pageSize, orgCode, itemCodeList);
+            if(!res){
+                return false;
+            }
+            apsMaterialManagementJobMapper.deleteApsMaterial();
+            apsMaterialManagementJobMapper.insertIntoApsMaterialManagement();
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
index efecb7a..c73f228 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
@@ -40,6 +40,9 @@
     @Autowired
     private IApsStandardProcessRouteHeaderJobService apsStandardProcessRouteHeaderJobService;
 
+    @Autowired
+    private IApsMaterialManagementJobService apsMaterialManagementJobService;
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
@@ -172,9 +175,17 @@
     public void syncProcessRouteJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
     {
         boolean res =  apsStandardProcessRouteHeaderJobService.syncProcessRouteDataJob(pageIndex, pageSize, orgCode, itemCodeList);
-//        if(res){
-//            remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
-//        }
+        if(res){
+            remoteCoreService.setProcessRouteDataToRedis(SecurityConstants.INNER);
+        }
+    }
+
+    /**
+     * 鍚屾鍏ㄩ噺鐗╂枡鏁版嵁瀹氭椂浠诲姟
+     */
+    public void syncApsMaterialDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
+    {
+        apsMaterialManagementJobService.syncApsMaterialDataJob(pageIndex, pageSize, orgCode, itemCodeList);
     }
 
 
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
index 1f527b8..1e0e925 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
@@ -110,6 +110,7 @@
         start_date,
         end_date,
         org_code,
+        create_by,
         create_time
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -121,6 +122,7 @@
             #{item.startDate},
             #{item.endDate},
             #{item.orgCode},
+            #{item.createBy},
             now()
             )
         </foreach>
@@ -136,6 +138,7 @@
             start_date,
             end_date,
             org_code,
+            create_by,
             create_time
         )
         SELECT
@@ -146,6 +149,7 @@
             start_date,
             end_date,
             org_code,
+            create_by,
             now()
         FROM aps_bom_header_job
     </insert>
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
index 84e470b..be153bf 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
@@ -152,6 +152,7 @@
         end_date,
         org_code,
         num,
+        create_by,
         create_time
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -165,6 +166,7 @@
             #{item.endDate},
             #{item.orgCode},
             #{item.num},
+            #{item.createBy},
             now()
             )
         </foreach>
@@ -182,6 +184,7 @@
             end_date,
             org_code,
             num,
+            create_by,
             create_time
         )
         SELECT
@@ -194,6 +197,7 @@
             end_date,
             org_code,
             num,
+            create_by,
             now()
         FROM aps_bom_line_job
     </insert>
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialManagementJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialManagementJobMapper.xml
new file mode 100644
index 0000000..42daefc
--- /dev/null
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialManagementJobMapper.xml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.aps.job.mapper.ApsMaterialManagementJobMapper">
+    
+    <resultMap type="ApsMaterialManagementJob" id="ApsMaterialManagementJobResult">
+        <result property="id"    column="id"    />
+        <result property="itemNumber"    column="item_number"    />
+        <result property="materialDescription"    column="material_description"    />
+        <result property="materialStatus"    column="material_status"    />
+        <result property="materialType"    column="material_type"    />
+        <result property="professionalAffiliation"    column="professional_affiliation"    />
+        <result property="drawingNo"    column="drawing_no"    />
+        <result property="versionNumber"    column="version_number"    />
+        <result property="advanceProductionDays"    column="advance_production_days"    />
+        <result property="splitBatch"    column="split_batch"    />
+        <result property="selfMade"    column="self_made"    />
+        <result property="applicableFactories"    column="applicable_factories"    />
+        <result property="applicableWorkshop"    column="applicable_workshop"    />
+        <result property="effectiveDate"    column="effective_date"    />
+        <result property="expiringDate"    column="expiring_date"    />
+        <result property="integrationDate"    column="integration_date"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectApsMaterialManagementJobVo">
+        select id, item_number, material_description, material_status, material_type, professional_affiliation, drawing_no, version_number, advance_production_days, split_batch, self_made, applicable_factories, applicable_workshop, effective_date, expiring_date, integration_date, create_by, create_time, update_by, update_time from aps_material_management_job
+    </sql>
+
+    <select id="selectApsMaterialManagementJobList" parameterType="ApsMaterialManagementJob" resultMap="ApsMaterialManagementJobResult">
+        <include refid="selectApsMaterialManagementJobVo"/>
+        <where>  
+            <if test="itemNumber != null  and itemNumber != ''"> and item_number = #{itemNumber}</if>
+            <if test="materialDescription != null  and materialDescription != ''"> and material_description = #{materialDescription}</if>
+            <if test="materialStatus != null  and materialStatus != ''"> and material_status = #{materialStatus}</if>
+            <if test="materialType != null  and materialType != ''"> and material_type = #{materialType}</if>
+            <if test="professionalAffiliation != null  and professionalAffiliation != ''"> and professional_affiliation = #{professionalAffiliation}</if>
+            <if test="drawingNo != null  and drawingNo != ''"> and drawing_no = #{drawingNo}</if>
+            <if test="versionNumber != null  and versionNumber != ''"> and version_number = #{versionNumber}</if>
+            <if test="advanceProductionDays != null "> and advance_production_days = #{advanceProductionDays}</if>
+            <if test="splitBatch != null "> and split_batch = #{splitBatch}</if>
+            <if test="selfMade != null  and selfMade != ''"> and self_made = #{selfMade}</if>
+            <if test="applicableFactories != null  and applicableFactories != ''"> and applicable_factories = #{applicableFactories}</if>
+            <if test="applicableWorkshop != null  and applicableWorkshop != ''"> and applicable_workshop = #{applicableWorkshop}</if>
+            <if test="effectiveDate != null "> and effective_date = #{effectiveDate}</if>
+            <if test="expiringDate != null "> and expiring_date = #{expiringDate}</if>
+            <if test="integrationDate != null "> and integration_date = #{integrationDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectApsMaterialManagementJobById" parameterType="String" resultMap="ApsMaterialManagementJobResult">
+        <include refid="selectApsMaterialManagementJobVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsMaterialManagementJob" parameterType="ApsMaterialManagementJob">
+        insert into aps_material_management_job
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="itemNumber != null">item_number,</if>
+            <if test="materialDescription != null">material_description,</if>
+            <if test="materialStatus != null">material_status,</if>
+            <if test="materialType != null">material_type,</if>
+            <if test="professionalAffiliation != null">professional_affiliation,</if>
+            <if test="drawingNo != null">drawing_no,</if>
+            <if test="versionNumber != null">version_number,</if>
+            <if test="advanceProductionDays != null">advance_production_days,</if>
+            <if test="splitBatch != null">split_batch,</if>
+            <if test="selfMade != null">self_made,</if>
+            <if test="applicableFactories != null">applicable_factories,</if>
+            <if test="applicableWorkshop != null">applicable_workshop,</if>
+            <if test="effectiveDate != null">effective_date,</if>
+            <if test="expiringDate != null">expiring_date,</if>
+            <if test="integrationDate != null">integration_date,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="itemNumber != null">#{itemNumber},</if>
+            <if test="materialDescription != null">#{materialDescription},</if>
+            <if test="materialStatus != null">#{materialStatus},</if>
+            <if test="materialType != null">#{materialType},</if>
+            <if test="professionalAffiliation != null">#{professionalAffiliation},</if>
+            <if test="drawingNo != null">#{drawingNo},</if>
+            <if test="versionNumber != null">#{versionNumber},</if>
+            <if test="advanceProductionDays != null">#{advanceProductionDays},</if>
+            <if test="splitBatch != null">#{splitBatch},</if>
+            <if test="selfMade != null">#{selfMade},</if>
+            <if test="applicableFactories != null">#{applicableFactories},</if>
+            <if test="applicableWorkshop != null">#{applicableWorkshop},</if>
+            <if test="effectiveDate != null">#{effectiveDate},</if>
+            <if test="expiringDate != null">#{expiringDate},</if>
+            <if test="integrationDate != null">#{integrationDate},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsMaterialManagementJob" parameterType="ApsMaterialManagementJob">
+        update aps_material_management_job
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="itemNumber != null">item_number = #{itemNumber},</if>
+            <if test="materialDescription != null">material_description = #{materialDescription},</if>
+            <if test="materialStatus != null">material_status = #{materialStatus},</if>
+            <if test="materialType != null">material_type = #{materialType},</if>
+            <if test="professionalAffiliation != null">professional_affiliation = #{professionalAffiliation},</if>
+            <if test="drawingNo != null">drawing_no = #{drawingNo},</if>
+            <if test="versionNumber != null">version_number = #{versionNumber},</if>
+            <if test="advanceProductionDays != null">advance_production_days = #{advanceProductionDays},</if>
+            <if test="splitBatch != null">split_batch = #{splitBatch},</if>
+            <if test="selfMade != null">self_made = #{selfMade},</if>
+            <if test="applicableFactories != null">applicable_factories = #{applicableFactories},</if>
+            <if test="applicableWorkshop != null">applicable_workshop = #{applicableWorkshop},</if>
+            <if test="effectiveDate != null">effective_date = #{effectiveDate},</if>
+            <if test="expiringDate != null">expiring_date = #{expiringDate},</if>
+            <if test="integrationDate != null">integration_date = #{integrationDate},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsMaterialManagementJobById" parameterType="String">
+        delete from aps_material_management_job where id = #{id}
+    </delete>
+
+    <delete id="deleteApsMaterialManagementJobByIds" parameterType="String">
+        delete from aps_material_management_job where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <insert id="insertApsMaterialBatch">
+        INSERT INTO aps_material_management_job (
+        id,
+        item_number,
+        material_description,
+        material_status,
+        material_type,
+        drawing_no,
+        version_number,
+        advance_production_days,
+        split_batch,
+        applicable_factories,
+        effective_date,
+        expiring_date,
+        create_by,
+        create_time
+        ) VALUES
+        <foreach collection="list" item="item" separator=",">
+            (
+            #{item.id},
+            #{item.itemNumber},
+            #{item.materialDescription},
+            #{item.materialStatus},
+            #{item.materialType},
+            #{item.drawingNo},
+            #{item.versionNumber},
+            #{item.advanceProductionDays},
+            #{item.splitBatch},
+            #{item.applicableFactories},
+            #{item.effectiveDate},
+            #{item.expiringDate},
+            #{item.createBy},
+            now()
+            )
+        </foreach>
+    </insert>
+
+    <!-- 鎻掑叆鏁版嵁鍒� aps_material_management -->
+    <insert id="insertIntoApsMaterialManagement">
+        INSERT INTO aps_material_management (
+            id,
+            item_number,
+            material_description,
+            material_status,
+            material_type,
+            drawing_no,
+            version_number,
+            advance_production_days,
+            split_batch,
+            applicable_factories,
+            effective_date,
+            expiring_date,
+            create_by,
+            create_time
+        )
+        SELECT
+            id,
+            item_number,
+            material_description,
+            material_status,
+            material_type,
+            drawing_no,
+            version_number,
+            advance_production_days,
+            split_batch,
+            applicable_factories,
+            effective_date,
+            expiring_date,
+            create_by,
+            now()
+        FROM aps_material_management_job
+    </insert>
+
+    <!-- 鍒犻櫎 aps_material_management 琛ㄤ腑鐨勬暟鎹� -->
+    <delete id="deleteApsMaterial">
+        DELETE FROM aps_material_management
+    </delete>
+
+    <!-- 鍒犻櫎 aps_material_management_job 琛ㄤ腑鐨勬暟鎹� -->
+    <delete id="deleteApsMaterialJob">
+        DELETE FROM aps_material_management_job
+    </delete>
+
+</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialStorageManagementJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialStorageManagementJobMapper.xml
index ce3ec29..edaba5a 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialStorageManagementJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsMaterialStorageManagementJobMapper.xml
@@ -108,6 +108,7 @@
         item_number,
         num,
         applicable_factories,
+        create_by,
         create_time
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -116,6 +117,7 @@
             #{item.itemNumber},
             #{item.num},
             #{item.applicableFactories},
+            #{item.createBy},
             now()
             )
         </foreach>
@@ -128,6 +130,7 @@
             item_number,
             num,
             applicable_factories,
+            create_by,
             create_time
         )
         SELECT
@@ -135,6 +138,7 @@
             item_number,
             num,
             applicable_factories,
+            create_by,
             now()
         FROM aps_material_storage_management_job
     </insert>
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml
index 1930d0e..185c84b 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml
@@ -120,6 +120,7 @@
         start_date,
         end_date,
         org_code,
+        create_by,
         create_time
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -131,6 +132,7 @@
             #{item.startDate},
             #{item.endDate},
             #{item.orgCode},
+            #{item.createBy},
             now()
             )
         </foreach>
@@ -146,6 +148,7 @@
             start_date,
             end_date,
             org_code,
+            create_by,
             create_time
         )
         SELECT
@@ -156,6 +159,7 @@
             start_date,
             end_date,
             org_code,
+            create_by,
             now()
         FROM aps_standard_process_route_header_job
     </insert>
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml
index f8f89f0..fcc081e 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml
@@ -130,6 +130,7 @@
         org_code,
         shop_code,
         standard_time,
+        create_by,
         create_time
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -144,6 +145,7 @@
             #{item.orgCode},
             #{item.shopCode},
             #{item.standardTime},
+            #{item.createBy},
             now()
             )
         </foreach>
@@ -162,6 +164,7 @@
             org_code,
             shop_code,
             standard_time,
+            create_by,
             create_time
         )
         SELECT
@@ -175,6 +178,7 @@
             org_code,
             shop_code,
             standard_time,
+            create_by,
             now()
         FROM aps_standard_process_route_line_job
     </insert>

--
Gitblit v1.9.3