From 14f982bf34e45b0ad5218212346cf2b33f0a6915 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期六, 10 五月 2025 18:06:16 +0800
Subject: [PATCH] 【ADD】1.新增同步物料定时任务 2.同步任务增加批次号
---
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/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-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/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
16 files changed, 1,004 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/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
--
Gitblit v1.9.3