From aa527f732cff65689e82b660389be4ece3825ae3 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期五, 09 五月 2025 18:00:15 +0800
Subject: [PATCH] 【UPDATE】1.新增同步标准工艺路线定时任务代码 2.从redis中获取BOM数据 3.将工艺路线数据存入redis中 4.从redis中获取工艺路线数据
---
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsStandardProcessRouteHeaderService.java | 10
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteHeaderController.java | 27
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java | 7
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteHeaderJobService.java | 83 ++
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java | 12
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java | 25
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteHeaderMapper.java | 12
aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml | 173 +++++
aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml | 192 ++++++
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteLineJobService.java | 62 ++
aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java | 193 ++++++
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java | 22
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteLineJobMapper.java | 86 ++
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteHeaderJobServiceImpl.java | 264 +++++++++
aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java | 235 ++++++++
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteHeaderServiceImpl.java | 28
aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java | 21
aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteJobFallbackFactory.java | 16
aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml | 11
aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java | 20
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteLineJobServiceImpl.java | 97 +++
aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteJobService.java | 8
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteHeaderJobMapper.java | 88 +++
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsBomHeaderController.java | 4
24 files changed, 1,673 insertions(+), 23 deletions(-)
diff --git a/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteJobService.java b/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteJobService.java
index c3f1be5..cc24a90 100644
--- a/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteJobService.java
+++ b/aps-api/aps-api-system/src/main/java/com/aps/system/api/RemoteJobService.java
@@ -25,4 +25,12 @@
@PostMapping("/job/refreshBomData")
R<Boolean> refreshBomData(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+ /**
+ * 鍒锋柊宸ヨ壓璺嚎鍏ㄩ噺鏁版嵁
+ * @param source
+ * @return
+ */
+ @PostMapping("/job/refreshProcessRouteData")
+ R<Boolean> refreshProcessRouteData(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
}
diff --git a/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteJobFallbackFactory.java b/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteJobFallbackFactory.java
index 12659b1..bc9cb80 100644
--- a/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteJobFallbackFactory.java
+++ b/aps-api/aps-api-system/src/main/java/com/aps/system/api/factory/RemoteJobFallbackFactory.java
@@ -20,7 +20,21 @@
@Override
public RemoteJobService create(Throwable throwable)
{
+
log.error("浠诲姟鏈嶅姟璋冪敤澶辫触:{}", throwable.getMessage());
- return source -> R.fail("鍒锋柊BOM鏁版嵁澶辫触:" + throwable.getMessage());
+ return new RemoteJobService()
+ {
+ @Override
+ public R<Boolean> refreshBomData(String source)
+ {
+ return R.fail("鍒锋柊鍏ㄩ噺BOM鏁版嵁澶辫触:" + throwable.getMessage());
+ }
+
+ @Override
+ public R<Boolean> refreshProcessRouteData(String source)
+ {
+ return R.fail("鍒锋柊鍏ㄩ噺宸ヨ壓璺嚎鏁版嵁澶辫触:" + throwable.getMessage());
+ }
+ };
}
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsBomHeaderController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsBomHeaderController.java
index d26a61c..a7f2f25 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsBomHeaderController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsBomHeaderController.java
@@ -115,13 +115,15 @@
*/
@RequiresPermissions("Aps:ApsBomHeader:refreshBomData")
@PostMapping("/refreshBomData")
- public void refreshBomData()
+ public AjaxResult refreshBomData()
{
R<Boolean> res = remoteJobService.refreshBomData(SecurityConstants.INNER);
if (R.isSuccess(res))
{
apsBomHeaderService.setBomDataToRedis("");
+ return success();
}
+ return error();
}
@PostMapping("/setBomDataToRedis")
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 bfd9b80..2e6fdcb 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
@@ -1,5 +1,7 @@
package com.aps.core.controller.mainPlan;
+import com.aps.common.core.constant.SecurityConstants;
+import com.aps.common.core.domain.R;
import com.aps.common.core.utils.poi.ExcelUtil;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.domain.AjaxResult;
@@ -9,6 +11,7 @@
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.core.domain.ApsStandardProcessRouteHeader;
import com.aps.core.service.IApsStandardProcessRouteHeaderService;
+import com.aps.system.api.RemoteJobService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -29,6 +32,9 @@
{
@Autowired
private IApsStandardProcessRouteHeaderService apsStandardProcessRouteHeaderService;
+
+ @Autowired
+ private RemoteJobService remoteJobService;
/**
* 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header鍒楄〃
@@ -99,4 +105,25 @@
{
return toAjax(apsStandardProcessRouteHeaderService.deleteApsStandardProcessRouteHeaderByIds(ids));
}
+
+ /**
+ * 鍒锋柊鍏ㄩ噺宸ヨ壓璺嚎鏁版嵁
+ */
+ @RequiresPermissions("Aps:ApsStandardProcessRouteHeader:refreshProcessRouteData")
+ @PostMapping("/refreshProcessRouteData")
+ public AjaxResult refreshProcessRouteData()
+ {
+ R<Boolean> res = remoteJobService.refreshProcessRouteData(SecurityConstants.INNER);
+ if (R.isSuccess(res))
+ {
+ return success();
+ }
+ return error();
+ }
+
+ @PostMapping("/test")
+ public void test()
+ {
+ apsStandardProcessRouteHeaderService.setProcessRouteDataToRedis("FORTUNA");
+ }
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java
index f59dde3..475b8cc 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java
@@ -3,7 +3,10 @@
import com.aps.common.core.annotation.Excel;
import com.aps.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
@@ -86,4 +89,11 @@
/** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
private String delFlag;
+ private String mainitemcode;
+ private BigDecimal mainstock;
+ private String subitemcode;
+ private BigDecimal usagenum;
+ private BigDecimal substock;
+ private String selfmade;
+
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteHeaderMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteHeaderMapper.java
index 2d3a6ed..81f7286 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteHeaderMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteHeaderMapper.java
@@ -1,8 +1,10 @@
package com.aps.core.mapper;
-import java.util.List;
+import com.alibaba.fastjson2.JSONObject;
import com.aps.core.domain.ApsStandardProcessRouteHeader;
import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
/**
* 鏍囧噯宸ヨ壓璺嚎HeaderMapper鎺ュ彛
@@ -65,4 +67,12 @@
* 鏍规嵁宸ュ巶銆佺墿鏂欏彿鏌ヨ宸ヨ壓璺嚎
* */
List<ApsStandardProcessRouteHeader> queryStandardProcessRouteHeaderByPlantAndItemCode(String orgCode, String itemCode);
+
+ /**
+ * 鏌ヨ宸ヨ壓璺嚎鏍囧噯宸ユ椂鏁版嵁
+ * @param orgCode
+ * @return
+ */
+ List<JSONObject> selectProcessRouteStandardTimeData(String orgCode);
+
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsStandardProcessRouteHeaderService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsStandardProcessRouteHeaderService.java
index c068875..9b06de3 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsStandardProcessRouteHeaderService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsStandardProcessRouteHeaderService.java
@@ -1,7 +1,8 @@
package com.aps.core.service;
-import java.util.List;
import com.aps.core.domain.ApsStandardProcessRouteHeader;
+
+import java.util.List;
/**
* 鏍囧噯宸ヨ壓璺嚎HeaderService鎺ュ彛
@@ -58,4 +59,11 @@
* @return 缁撴灉
*/
public int deleteApsStandardProcessRouteHeaderById(Long id);
+
+ /**
+ * 灏嗘爣鍑嗗伐鑹鸿矾绾挎爣鍑嗗伐鏃跺悎璁℃暟閲忔斁鍏edis涓�
+ * @param orgCode
+ * @return
+ */
+ public boolean setProcessRouteDataToRedis(String orgCode);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java
index 03f6973..0cd9e52 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java
@@ -1,16 +1,19 @@
package com.aps.core.service.impl;
-import java.util.*;
-
import com.aps.common.core.utils.DateUtils;
+import com.aps.core.domain.ApsBom;
import com.aps.core.domain.ApsBomHeader;
import com.aps.core.mapper.ApsBomHeaderMapper;
+import com.aps.core.mapper.ApsBomMapper;
+import com.aps.core.service.IApsBomService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
-import com.aps.core.mapper.ApsBomMapper;
-import com.aps.core.domain.ApsBom;
-import com.aps.core.service.IApsBomService;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
/**
* BOM鏁版嵁绠$悊Service涓氬姟灞傚鐞�
@@ -26,6 +29,10 @@
@Resource
private ApsBomHeaderMapper bomHeaderMapper;
+
+ @Autowired
+ public RedisTemplate redisTemplate;
+
/**
* 鏌ヨBOM鏁版嵁绠$悊
*
@@ -117,6 +124,11 @@
build.setOrgCode(apsBomHeader.getOrgCode());
bomLineList = apsBomMapper.selectApsBomList(build);
}
+// JSONArray jsonArray = (JSONArray)redisTemplate.opsForValue().get("BOM:BOM_"+plant+"_"+itemNumber);
+// for (int i = 0; i < jsonArray.size(); i++){
+// ApsBom apsBom = jsonArray.getJSONObject(i).to(ApsBom.class);
+// bomLineList.add(apsBom);
+// }
return bomLineList;
}
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteHeaderServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteHeaderServiceImpl.java
index 43fa63f..2d6a712 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteHeaderServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteHeaderServiceImpl.java
@@ -1,12 +1,15 @@
package com.aps.core.service.impl;
-import java.util.List;
+import com.alibaba.fastjson2.JSONObject;
import com.aps.common.core.utils.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.aps.core.mapper.ApsStandardProcessRouteHeaderMapper;
import com.aps.core.domain.ApsStandardProcessRouteHeader;
+import com.aps.core.mapper.ApsStandardProcessRouteHeaderMapper;
import com.aps.core.service.IApsStandardProcessRouteHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* 鏍囧噯宸ヨ壓璺嚎HeaderService涓氬姟灞傚鐞�
@@ -19,6 +22,9 @@
{
@Autowired
private ApsStandardProcessRouteHeaderMapper apsStandardProcessRouteHeaderMapper;
+
+ @Autowired
+ public RedisTemplate redisTemplate;
/**
* 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header
@@ -93,4 +99,18 @@
{
return apsStandardProcessRouteHeaderMapper.deleteApsStandardProcessRouteHeaderById(id);
}
+
+ @Override
+ public boolean setProcessRouteDataToRedis(String orgCode) {
+ try {
+ List<JSONObject> res = apsStandardProcessRouteHeaderMapper.selectProcessRouteStandardTimeData(orgCode);
+ for (JSONObject jsonObject : res) {
+ redisTemplate.opsForValue().set("ROUTE:ROUTE_"+jsonObject.getString("org_code")+"_"+jsonObject.getString("item_code"), jsonObject.getBigDecimal("standardtime"));
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
}
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml
index 0416d52..4246e11 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml
@@ -113,4 +113,15 @@
and del_flag = '0'
</where>
</select>
+
+ <select id="selectProcessRouteStandardTimeData" parameterType="String" resultType="com.alibaba.fastjson2.JSONObject">
+ select hd.item_code,sum(standard_time) as standardTime,hd.org_code
+ from aps_standard_process_route_line as ln
+ left join aps_standard_process_route_header as hd on ln.route_id=hd.route_id
+ where ln.del_flag='0' and hd.del_flag='0'
+ <if test="orgCode != null and orgCode != ''">
+ and hd.org_code = #{orgCode}
+ </if>
+ group by hd.item_code,hd.org_code
+ </select>
</mapper>
\ No newline at end of file
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 46c1747..a5210b1 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
@@ -1,7 +1,6 @@
package com.aps.job.controller;
import com.aps.common.core.constant.Constants;
-import com.aps.common.core.constant.SecurityConstants;
import com.aps.common.core.exception.job.TaskException;
import com.aps.common.core.utils.StringUtils;
import com.aps.common.core.utils.poi.ExcelUtil;
@@ -20,6 +19,7 @@
import jakarta.servlet.http.HttpServletResponse;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
@@ -59,7 +59,14 @@
private IApsMaterialStorageManagementJobService apsMaterialStorageManagementJobService;
@Autowired
+ private IApsStandardProcessRouteHeaderJobService apsStandardProcessRouteHeaderJobService;
+
+ @Autowired
private RemoteCoreService remoteCoreService;
+
+ @Autowired
+ public RedisTemplate redisTemplate;
+
/**
* 鏌ヨ瀹氭椂浠诲姟鍒楄〃
*/
@@ -210,12 +217,21 @@
return apsBomHeaderJobService.syncBomDataJob(1, 1000, "", "");
}
+ @PostMapping("/refreshProcessRouteData")
+ public Boolean refreshProcessRouteData() throws SchedulerException, TaskException
+ {
+ return apsStandardProcessRouteHeaderJobService.syncProcessRouteDataJob(1, 1000, "", "");
+ }
+
@PutMapping("/test")
public void test(@RequestBody SysJob job) throws Exception
{
System.out.println("start");
+ apsStandardProcessRouteHeaderJobService.syncProcessRouteData(159, 1000, "", "");
+ //鑾峰彇Redis缂撳瓨涓殑BOM鏁版嵁
+// JSONArray jsonArray = (JSONArray)redisTemplate.opsForValue().get("BOM:BOM_FORTUNA_A6501-001080");
//灏咮OM鏁版嵁瀛樿繘Redis涓�
- remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
+// remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
//鍚屾鐗╂枡搴撳瓨鏁版嵁
// apsMaterialStorageManagementJobService.syncApsMaterialStorageData(1, 1000, "", "");
//鍚屾BOM鏁版嵁
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
new file mode 100644
index 0000000..8544716
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteHeaderJob.java
@@ -0,0 +1,193 @@
+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;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎Header瀵硅薄 aps_standard_process_route_header_job
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+@Schema(description = "鏍囧噯宸ヨ壓璺嚎Header瀹炰綋绫�")
+public class ApsStandardProcessRouteHeaderJob extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** $column.columnComment */
+ @Schema(description = "$column.columnComment")
+ private Long id;
+
+ /** 宸ヨ壓璺嚎ID */
+ @Excel(name = "宸ヨ壓璺嚎ID")
+ @Schema(description = "宸ヨ壓璺嚎ID")
+ private String routeId;
+
+ /** 宸ヨ壓璺嚎鐗堟湰 */
+ @Excel(name = "宸ヨ壓璺嚎鐗堟湰")
+ @Schema(description = "宸ヨ壓璺嚎鐗堟湰")
+ private String version;
+
+ /** 鐢熸晥鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ @Schema(description = "鐢熸晥鏃ユ湡")
+ private Date startDate;
+
+ /** 澶辨晥鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ @Schema(description = "澶辨晥鏃ユ湡")
+ private Date endDate;
+
+ /** 閫傜敤宸ュ巶 */
+ @Excel(name = "閫傜敤宸ュ巶")
+ @Schema(description = "閫傜敤宸ュ巶")
+ private String orgCode;
+
+ /** 鏄惁鍒犻櫎锛�0鏈夋晥 1鍒犻櫎 */
+ @Schema(description = "鏄惁鍒犻櫎锛�0鏈夋晥 1鍒犻櫎")
+ private String delFlag;
+
+ /** 鐗╂枡鍙� */
+ @Excel(name = "鐗╂枡鍙�")
+ @Schema(description = "鐗╂枡鍙�")
+ private String itemCode;
+
+ /** 鍥惧彿 */
+ @Excel(name = "鍥惧彿")
+ @Schema(description = "鍥惧彿")
+ private String drawingNumber;
+
+ /** 宸ュ簭鎬诲伐鏃� */
+ @Excel(name = "宸ュ簭鎬诲伐鏃�")
+ @Schema(description = "宸ュ簭鎬诲伐鏃�")
+ private BigDecimal processAllTime;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setRouteId(String routeId)
+ {
+ this.routeId = routeId;
+ }
+
+ public String getRouteId()
+ {
+ return routeId;
+ }
+
+ public void setVersion(String version)
+ {
+ this.version = version;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public void setStartDate(Date startDate)
+ {
+ this.startDate = startDate;
+ }
+
+ public Date getStartDate()
+ {
+ return startDate;
+ }
+
+ public void setEndDate(Date endDate)
+ {
+ this.endDate = endDate;
+ }
+
+ public Date getEndDate()
+ {
+ return endDate;
+ }
+
+ public void setOrgCode(String orgCode)
+ {
+ this.orgCode = orgCode;
+ }
+
+ public String getOrgCode()
+ {
+ return orgCode;
+ }
+
+ public void setDelFlag(String delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public String getDelFlag()
+ {
+ return delFlag;
+ }
+
+ public void setItemCode(String itemCode)
+ {
+ this.itemCode = itemCode;
+ }
+
+ public String getItemCode()
+ {
+ return itemCode;
+ }
+
+ public void setDrawingNumber(String drawingNumber)
+ {
+ this.drawingNumber = drawingNumber;
+ }
+
+ public String getDrawingNumber()
+ {
+ return drawingNumber;
+ }
+
+ public void setProcessAllTime(BigDecimal processAllTime)
+ {
+ this.processAllTime = processAllTime;
+ }
+
+ public BigDecimal getProcessAllTime()
+ {
+ return processAllTime;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("routeId", getRouteId())
+ .append("version", getVersion())
+ .append("startDate", getStartDate())
+ .append("endDate", getEndDate())
+ .append("orgCode", getOrgCode())
+ .append("delFlag", getDelFlag())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("itemCode", getItemCode())
+ .append("drawingNumber", getDrawingNumber())
+ .append("processAllTime", getProcessAllTime())
+ .toString();
+ }
+}
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
new file mode 100644
index 0000000..59b3338
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsStandardProcessRouteLineJob.java
@@ -0,0 +1,235 @@
+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;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎Line瀵硅薄 aps_standard_process_route_line_job
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+@Schema(description = "鏍囧噯宸ヨ壓璺嚎Line瀹炰綋绫�")
+public class ApsStandardProcessRouteLineJob extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** $column.columnComment */
+ @Schema(description = "$column.columnComment")
+ private Long id;
+
+ /** 宸ヨ壓璺嚎ID */
+ @Excel(name = "宸ヨ壓璺嚎ID")
+ @Schema(description = "宸ヨ壓璺嚎ID")
+ private String routeId;
+
+ /** 宸ュ簭搴忓彿 */
+ @Excel(name = "宸ュ簭搴忓彿")
+ @Schema(description = "宸ュ簭搴忓彿")
+ private String routeNum;
+
+ /** 宸ュ簭鍚嶇О */
+ @Excel(name = "宸ュ簭鍚嶇О")
+ @Schema(description = "宸ュ簭鍚嶇О")
+ private String routeName;
+
+ /** 鐢熸晥鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "鐢熸晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ @Schema(description = "鐢熸晥鏃ユ湡")
+ private Date startDate;
+
+ /** 澶辨晥鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "澶辨晥鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ @Schema(description = "澶辨晥鏃ユ湡")
+ private Date endDate;
+
+ /** 閫傜敤宸ュ巶 */
+ @Excel(name = "閫傜敤宸ュ巶")
+ @Schema(description = "閫傜敤宸ュ巶")
+ private String orgCode;
+
+ /** 閫傜敤杞﹂棿 */
+ @Excel(name = "閫傜敤杞﹂棿")
+ @Schema(description = "閫傜敤杞﹂棿")
+ private String shopCode;
+
+ /** 浜ц兘妯″瀷 */
+ @Excel(name = "浜ц兘妯″瀷")
+ @Schema(description = "浜ц兘妯″瀷")
+ private String productivityModel;
+
+ /** 璁捐浜ц兘 */
+ @Excel(name = "璁捐浜ц兘")
+ @Schema(description = "璁捐浜ц兘")
+ private BigDecimal designCapacity;
+
+ /** 鏄惁鍒犻櫎锛�0鏈夋晥 1鍒犻櫎 */
+ @Schema(description = "鏄惁鍒犻櫎锛�0鏈夋晥 1鍒犻櫎")
+ private String delFlag;
+
+ /** 宸ュ簭缂栫爜 */
+ @Excel(name = "宸ュ簭缂栫爜")
+ @Schema(description = "宸ュ簭缂栫爜")
+ private String routeCode;
+
+ /** 鏍囧噯宸ユ椂 */
+ @Excel(name = "鏍囧噯宸ユ椂")
+ @Schema(description = "鏍囧噯宸ユ椂")
+ private BigDecimal standardTime;
+
+ public String getRouteCode() {
+ return routeCode;
+ }
+
+ public void setRouteCode(String routeCode) {
+ this.routeCode = routeCode;
+ }
+
+ public BigDecimal getStandardTime() {
+ return standardTime;
+ }
+
+ public void setStandardTime(BigDecimal standardTime) {
+ this.standardTime = standardTime;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setRouteId(String routeId)
+ {
+ this.routeId = routeId;
+ }
+
+ public String getRouteId()
+ {
+ return routeId;
+ }
+
+ public void setRouteNum(String routeNum)
+ {
+ this.routeNum = routeNum;
+ }
+
+ public String getRouteNum()
+ {
+ return routeNum;
+ }
+
+ public void setRouteName(String routeName)
+ {
+ this.routeName = routeName;
+ }
+
+ public String getRouteName()
+ {
+ return routeName;
+ }
+
+ public void setStartDate(Date startDate)
+ {
+ this.startDate = startDate;
+ }
+
+ public Date getStartDate()
+ {
+ return startDate;
+ }
+
+ public void setEndDate(Date endDate)
+ {
+ this.endDate = endDate;
+ }
+
+ public Date getEndDate()
+ {
+ return endDate;
+ }
+
+ public void setOrgCode(String orgCode)
+ {
+ this.orgCode = orgCode;
+ }
+
+ public String getOrgCode()
+ {
+ return orgCode;
+ }
+
+ public void setShopCode(String shopCode)
+ {
+ this.shopCode = shopCode;
+ }
+
+ public String getShopCode()
+ {
+ return shopCode;
+ }
+
+ public void setProductivityModel(String productivityModel)
+ {
+ this.productivityModel = productivityModel;
+ }
+
+ public String getProductivityModel()
+ {
+ return productivityModel;
+ }
+
+ public void setDesignCapacity(BigDecimal designCapacity)
+ {
+ this.designCapacity = designCapacity;
+ }
+
+ public BigDecimal getDesignCapacity()
+ {
+ return designCapacity;
+ }
+
+ public void setDelFlag(String delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public String getDelFlag()
+ {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("routeId", getRouteId())
+ .append("routeNum", getRouteNum())
+ .append("routeName", getRouteName())
+ .append("startDate", getStartDate())
+ .append("endDate", getEndDate())
+ .append("createTime", getCreateTime())
+ .append("orgCode", getOrgCode())
+ .append("shopCode", getShopCode())
+ .append("productivityModel", getProductivityModel())
+ .append("designCapacity", getDesignCapacity())
+ .append("delFlag", getDelFlag())
+ .append("createBy", getCreateBy())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .toString();
+ }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteHeaderJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteHeaderJobMapper.java
new file mode 100644
index 0000000..43f16e2
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteHeaderJobMapper.java
@@ -0,0 +1,88 @@
+package com.aps.job.mapper;
+
+import com.aps.job.domain.ApsStandardProcessRouteHeaderJob;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎HeaderMapper鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+public interface ApsStandardProcessRouteHeaderJobMapper
+{
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Header
+ */
+ public ApsStandardProcessRouteHeaderJob selectApsStandardProcessRouteHeaderJobById(Long id);
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header鍒楄〃
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 鏍囧噯宸ヨ壓璺嚎Header闆嗗悎
+ */
+ public List<ApsStandardProcessRouteHeaderJob> selectApsStandardProcessRouteHeaderJobList(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ public int insertApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ public int updateApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteHeaderJobById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteHeaderJobByIds(Long[] ids);
+
+ /**
+ * 鎵归噺鎻掑叆宸ヨ壓璺嚎 Header鏁版嵁
+ * @param list
+ * @return
+ */
+ public int insertProcessRouteHeaderBatch(@Param("list") List<ApsStandardProcessRouteHeaderJob> list);
+
+ /**
+ * 鎵归噺鎻掑叆宸ヨ壓璺嚎 Header鏁版嵁鍒颁笟鍔¤〃
+ * @return
+ */
+ public void insertIntoProcessRouteHeader();
+
+ /**
+ * 鍒犻櫎宸ヨ壓璺嚎 Header鏁版嵁
+ * @return
+ */
+ public void deleteProcessRouteHeader();
+
+ /**
+ * 鍒犻櫎涓棿琛ㄥ伐鑹鸿矾绾� Header鏁版嵁
+ */
+ public void deleteProcessRouteHeaderJob();
+
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteLineJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteLineJobMapper.java
new file mode 100644
index 0000000..cb2857f
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsStandardProcessRouteLineJobMapper.java
@@ -0,0 +1,86 @@
+package com.aps.job.mapper;
+
+import com.aps.job.domain.ApsStandardProcessRouteLineJob;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎LineMapper鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+public interface ApsStandardProcessRouteLineJobMapper
+{
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Line
+ */
+ public ApsStandardProcessRouteLineJob selectApsStandardProcessRouteLineJobById(Long id);
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line鍒楄〃
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 鏍囧噯宸ヨ壓璺嚎Line闆嗗悎
+ */
+ public List<ApsStandardProcessRouteLineJob> selectApsStandardProcessRouteLineJobList(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ public int insertApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ public int updateApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteLineJobById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteLineJobByIds(Long[] ids);
+
+ /**
+ * 鎵归噺鎻掑叆宸ヨ壓璺嚎 Line鏁版嵁绠$悊
+ * @param list
+ * @return
+ */
+ public int insertProcessRouteLineBatch(@Param("list") List<ApsStandardProcessRouteLineJob> list);
+
+ /**
+ * 鎵归噺鎻掑叆宸ヨ壓璺嚎 Line鏁版嵁绠$悊鍒颁笟鍔¤〃
+ * @return
+ */
+ public void insertIntoProcessRouteLine();
+
+ /**
+ * 鍒犻櫎宸ヨ壓璺嚎 Line鏁版嵁
+ */
+ public void deleteProcessRouteLine() ;
+
+ /**
+ * 鍒犻櫎涓棿琛ㄥ伐鑹鸿矾绾� Line鏁版嵁
+ */
+ public void deleteProcessRouteLineJob() ;
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteHeaderJobService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteHeaderJobService.java
new file mode 100644
index 0000000..3de1bc5
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteHeaderJobService.java
@@ -0,0 +1,83 @@
+package com.aps.job.service;
+
+import com.aps.job.domain.ApsStandardProcessRouteHeaderJob;
+
+import java.util.List;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎HeaderService鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+public interface IApsStandardProcessRouteHeaderJobService
+{
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Header
+ */
+ public ApsStandardProcessRouteHeaderJob selectApsStandardProcessRouteHeaderJobById(Long id);
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header鍒楄〃
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 鏍囧噯宸ヨ壓璺嚎Header闆嗗悎
+ */
+ public List<ApsStandardProcessRouteHeaderJob> selectApsStandardProcessRouteHeaderJobList(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ public int insertApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ public int updateApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob);
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏍囧噯宸ヨ壓璺嚎Header涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteHeaderJobByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header淇℃伅
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteHeaderJobById(Long id);
+
+ /**
+ * 鍚屾宸ヨ壓璺嚎鏁版嵁
+ * @param pageIndex
+ * @param pageSize
+ * @param orgCode
+ * @param itemCodeList
+ * @return
+ */
+ public boolean syncProcessRouteData(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList);
+
+
+ /**
+ * 鍚屾宸ヨ壓璺嚎鏁版嵁瀹氭椂浠诲姟
+ * @param pageIndex
+ * @param pageSize
+ * @param orgCode
+ * @param itemCodeList
+ * @return
+ */
+ public boolean syncProcessRouteDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList);
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteLineJobService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteLineJobService.java
new file mode 100644
index 0000000..ce98849
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsStandardProcessRouteLineJobService.java
@@ -0,0 +1,62 @@
+package com.aps.job.service;
+
+import com.aps.job.domain.ApsStandardProcessRouteLineJob;
+
+import java.util.List;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎LineService鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+public interface IApsStandardProcessRouteLineJobService
+{
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Line
+ */
+ public ApsStandardProcessRouteLineJob selectApsStandardProcessRouteLineJobById(Long id);
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line鍒楄〃
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 鏍囧噯宸ヨ壓璺嚎Line闆嗗悎
+ */
+ public List<ApsStandardProcessRouteLineJob> selectApsStandardProcessRouteLineJobList(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ public int insertApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ public int updateApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob);
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏍囧噯宸ヨ壓璺嚎Line涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteLineJobByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line淇℃伅
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsStandardProcessRouteLineJobById(Long id);
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
index c307d96..b3133b2 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsBomHeaderJobServiceImpl.java
@@ -5,6 +5,7 @@
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.ApsBomHeaderJob;
import com.aps.job.domain.ApsBomLineJob;
import com.aps.job.domain.ApsWorkOrderJobLog;
@@ -125,14 +126,19 @@
@Override
public boolean syncBomData(Integer pageIndex, Integer 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) {
- ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
- JSONObject requestBody = new JSONObject();
+ batchNum = IdUtils.fastSimpleUUID();
+ jobLog = new ApsWorkOrderJobLog();
+ requestBody = new JSONObject();
requestBody.put("PageIndex", pageIndex);
requestBody.put("PageSize", pageSize);
if(!StringUtils.isEmpty(orgCode)){
@@ -141,7 +147,7 @@
// 鍒涘缓HttpEntity瀵硅薄
HttpEntity<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
// 鍙戦�丳OST璇锋眰
- ResponseEntity<String> response = restTemplate.postForEntity(getBomUrl, request, String.class);
+ response = restTemplate.postForEntity(getBomUrl, request, String.class);
JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
if (response.getStatusCode().is2xxSuccessful() && "200".equals(responseBodyJson.getString("status"))) {
JSONArray jsonArray = responseBodyJson.getJSONArray("data");
@@ -160,6 +166,7 @@
insertBomHeader.setStartDate(DateUtils.parseDate(bomHeader.getString("HEffectiveDate")));
insertBomHeader.setEndDate(DateUtils.parseDate(bomHeader.getString("HDisableDate")));
insertBomHeader.setOrgCode(bomHeader.getString("HOrgName").contains("娌堥槼")?"FORTUNE":bomHeader.getString("HOrgName").contains("鍗楅��")?"FORTUNA":bomHeader.getString("HOrgName").contains("鍖椾含")?"FORTUBE":bomHeader.getString("HOrgName"));
+ insertBomHeader.setCreateBy(batchNum);
headerList.add(insertBomHeader);
for(Object line : bomLines){
JSONObject lineJson = (JSONObject) line;
@@ -173,6 +180,7 @@
bomLine.setStartDate(DateUtils.parseDate(lineJson.getString("LEffectiveDate")));
bomLine.setEndDate(DateUtils.parseDate(lineJson.getString("LDisableDate")));
bomLine.setOrgCode(lineJson.getString("LOrgName").contains("娌堥槼")?"FORTUNE":lineJson.getString("LOrgName").contains("鍗楅��")?"FORTUNA":lineJson.getString("LOrgName").contains("鍖椾含")?"FORTUBE":lineJson.getString("LOrgName"));
+ bomLine.setCreateBy(batchNum);
lineList.add(bomLine);
}
}
@@ -198,6 +206,7 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
jobLog.setResult("header:"+headerList.size() + " line:"+lineList.size());
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
pageIndex++;
}else{
@@ -211,12 +220,22 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("bom");
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("bom");
+ jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
+ jobLogMapper.insertApsWorkOrderJobLog(jobLog);
return false;
}
return true;
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java
index 7126cfb..8999522 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java
@@ -5,6 +5,7 @@
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.ApsMaterialStorageManagementJob;
import com.aps.job.domain.ApsWorkOrderJobLog;
import com.aps.job.mapper.ApsMaterialStorageManagementJobMapper;
@@ -123,12 +124,14 @@
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);
@@ -152,6 +155,7 @@
materialStorage.setItemNumber(storage.getString("ItemCode"));
materialStorage.setNum(storage.getBigDecimal("StoreQty"));
materialStorage.setApplicableFactories(storage.getString("OrgCode"));
+ materialStorage.setCreateBy(batchNum);
storageList.add(materialStorage);
}
List<ApsMaterialStorageManagementJob> temp = new ArrayList<>();
@@ -168,6 +172,7 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("storage");
jobLog.setResult("storage:"+storageList.size());
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
pageIndex++;
}else{
@@ -181,6 +186,7 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("storage");
jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
break;
}
@@ -194,6 +200,7 @@
jobLog.setCreateTime(DateUtils.getNowDate());
jobLog.setBizType("storage");
jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
jobLogMapper.insertApsWorkOrderJobLog(jobLog);
return false;
}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteHeaderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteHeaderJobServiceImpl.java
new file mode 100644
index 0000000..dabc6c8
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteHeaderJobServiceImpl.java
@@ -0,0 +1,264 @@
+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.ApsStandardProcessRouteHeaderJob;
+import com.aps.job.domain.ApsStandardProcessRouteLineJob;
+import com.aps.job.domain.ApsWorkOrderJobLog;
+import com.aps.job.mapper.ApsStandardProcessRouteHeaderJobMapper;
+import com.aps.job.mapper.ApsStandardProcessRouteLineJobMapper;
+import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
+import com.aps.job.service.IApsStandardProcessRouteHeaderJobService;
+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;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎HeaderService涓氬姟灞傚鐞�
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+@Service
+public class ApsStandardProcessRouteHeaderJobServiceImpl implements IApsStandardProcessRouteHeaderJobService
+{
+ @Autowired
+ private ApsStandardProcessRouteHeaderJobMapper apsStandardProcessRouteHeaderJobMapper;
+
+ @Autowired
+ private ApsStandardProcessRouteLineJobMapper apsStandardProcessRouteLineJobMapper;
+
+ @Value("${u9.processRouteUrl}")
+ private String getProcessRouteUrl;
+
+ @Autowired
+ private ApsWorkOrderJobLogMapper jobLogMapper;
+
+ @Autowired
+ private RestTemplate restTemplate;
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Header
+ */
+ @Override
+ public ApsStandardProcessRouteHeaderJob selectApsStandardProcessRouteHeaderJobById(Long id)
+ {
+ return apsStandardProcessRouteHeaderJobMapper.selectApsStandardProcessRouteHeaderJobById(id);
+ }
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Header鍒楄〃
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 鏍囧噯宸ヨ壓璺嚎Header
+ */
+ @Override
+ public List<ApsStandardProcessRouteHeaderJob> selectApsStandardProcessRouteHeaderJobList(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob)
+ {
+ return apsStandardProcessRouteHeaderJobMapper.selectApsStandardProcessRouteHeaderJobList(apsStandardProcessRouteHeaderJob);
+ }
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob)
+ {
+ apsStandardProcessRouteHeaderJob.setCreateTime(DateUtils.getNowDate());
+ return apsStandardProcessRouteHeaderJobMapper.insertApsStandardProcessRouteHeaderJob(apsStandardProcessRouteHeaderJob);
+ }
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param apsStandardProcessRouteHeaderJob 鏍囧噯宸ヨ壓璺嚎Header
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateApsStandardProcessRouteHeaderJob(ApsStandardProcessRouteHeaderJob apsStandardProcessRouteHeaderJob)
+ {
+ apsStandardProcessRouteHeaderJob.setUpdateTime(DateUtils.getNowDate());
+ return apsStandardProcessRouteHeaderJobMapper.updateApsStandardProcessRouteHeaderJob(apsStandardProcessRouteHeaderJob);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsStandardProcessRouteHeaderJobByIds(Long[] ids)
+ {
+ return apsStandardProcessRouteHeaderJobMapper.deleteApsStandardProcessRouteHeaderJobByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Header淇℃伅
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Header涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsStandardProcessRouteHeaderJobById(Long id)
+ {
+ return apsStandardProcessRouteHeaderJobMapper.deleteApsStandardProcessRouteHeaderJobById(id);
+ }
+
+ @Override
+ public boolean syncProcessRouteData(Integer pageIndex, Integer 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(getProcessRouteUrl, 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<ApsStandardProcessRouteHeaderJob> headerList = new ArrayList<>();
+ List<ApsStandardProcessRouteLineJob> lineList = new ArrayList<>();
+ for (Object o : jsonArray) {
+ //o瀵硅薄涓殑灞炴�ц祴鍊肩粰ApsBomHeaderJob瀵硅薄
+ JSONObject routeHeader = (JSONObject) o;
+ JSONArray routeLines = routeHeader.getJSONArray("RoutingLines");
+ ApsStandardProcessRouteHeaderJob insertRouteHeader = new ApsStandardProcessRouteHeaderJob();
+ insertRouteHeader.setId(IdUtil.getSnowflakeNextId());
+ insertRouteHeader.setRouteId(routeHeader.getString("HID"));
+ insertRouteHeader.setItemCode(routeHeader.getString("HItemCode"));
+ insertRouteHeader.setVersion(routeHeader.getString("RoutingVersionCode"));
+ insertRouteHeader.setStartDate(DateUtils.parseDate(routeHeader.getString("HEffectiveDate")));
+ insertRouteHeader.setEndDate(DateUtils.parseDate(routeHeader.getString("HDisableDate")));
+ insertRouteHeader.setOrgCode(routeHeader.getString("HOrgCode"));
+ insertRouteHeader.setCreateBy(batchNum);
+ headerList.add(insertRouteHeader);
+ for(Object line : routeLines){
+ JSONObject lineJson = (JSONObject) line;
+ ApsStandardProcessRouteLineJob routeLine = new ApsStandardProcessRouteLineJob();
+ routeLine.setId(IdUtil.getSnowflakeNextId());
+ routeLine.setRouteId(lineJson.getString("HID"));
+ routeLine.setRouteNum(lineJson.getString("Sequence"));
+ routeLine.setRouteName(lineJson.getString("WorkCenterName"));
+ routeLine.setRouteCode(lineJson.getString("WorkCenterCode"));
+ routeLine.setStartDate(DateUtils.parseDate(lineJson.getString("LEffectiveDate")));
+ routeLine.setEndDate(DateUtils.parseDate(lineJson.getString("LDisableDate")));
+ routeLine.setOrgCode(lineJson.getString("LOrgCode"));
+ routeLine.setStandardTime(lineJson.getBigDecimal("StandardTime"));
+ routeLine.setCreateBy(batchNum);
+ lineList.add(routeLine);
+ }
+ }
+ List<ApsStandardProcessRouteHeaderJob> temp1 = new ArrayList<>();
+ for(int i=0;i<headerList.size();i++){
+ temp1.add(headerList.get(i));
+ if(temp1.size()>=20){
+ apsStandardProcessRouteHeaderJobMapper.insertProcessRouteHeaderBatch(temp1);
+ temp1 = new ArrayList<>();
+ }
+ }
+ List<ApsStandardProcessRouteLineJob> temp2 = new ArrayList<>();
+ for(int j=0;j<lineList.size();j++){
+ temp2.add(lineList.get(j));
+ if(temp2.size()>=20){
+ apsStandardProcessRouteLineJobMapper.insertProcessRouteLineBatch(temp2);
+ temp2 = new ArrayList<>();
+ }
+ }
+ jobLog.setRequestData(requestBody.toJSONString());
+ jobLog.setPageNum(Long.valueOf(pageIndex));
+ jobLog.setPageCount(Long.valueOf(pageSize));
+ jobLog.setCreateTime(DateUtils.getNowDate());
+ jobLog.setBizType("processRoute");
+ jobLog.setResult("header:"+headerList.size() + " line:"+lineList.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("processRoute");
+ 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("processRoute");
+ jobLog.setResult("error");
+ jobLog.setCreateBy(batchNum);
+ jobLogMapper.insertApsWorkOrderJobLog(jobLog);
+ return false;
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public boolean syncProcessRouteDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList) {
+ try {
+ apsStandardProcessRouteHeaderJobMapper.deleteProcessRouteHeaderJob();
+ apsStandardProcessRouteLineJobMapper.deleteProcessRouteLineJob();
+ boolean res = syncProcessRouteData(pageIndex, pageSize, orgCode, itemCodeList);
+ if(!res){
+ return false;
+ }
+ apsStandardProcessRouteHeaderJobMapper.deleteProcessRouteHeader();
+ apsStandardProcessRouteLineJobMapper.deleteProcessRouteLine();
+ apsStandardProcessRouteHeaderJobMapper.insertIntoProcessRouteHeader();
+ apsStandardProcessRouteLineJobMapper.insertIntoProcessRouteLine();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ return true;
+ }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteLineJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteLineJobServiceImpl.java
new file mode 100644
index 0000000..768c016
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsStandardProcessRouteLineJobServiceImpl.java
@@ -0,0 +1,97 @@
+package com.aps.job.service.impl;
+
+import com.aps.common.core.utils.DateUtils;
+import com.aps.job.domain.ApsStandardProcessRouteLineJob;
+import com.aps.job.mapper.ApsStandardProcessRouteLineJobMapper;
+import com.aps.job.service.IApsStandardProcessRouteLineJobService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鏍囧噯宸ヨ壓璺嚎LineService涓氬姟灞傚鐞�
+ *
+ * @author hjy
+ * @date 2025-05-09
+ */
+@Service
+public class ApsStandardProcessRouteLineJobServiceImpl implements IApsStandardProcessRouteLineJobService
+{
+ @Autowired
+ private ApsStandardProcessRouteLineJobMapper apsStandardProcessRouteLineJobMapper;
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 鏍囧噯宸ヨ壓璺嚎Line
+ */
+ @Override
+ public ApsStandardProcessRouteLineJob selectApsStandardProcessRouteLineJobById(Long id)
+ {
+ return apsStandardProcessRouteLineJobMapper.selectApsStandardProcessRouteLineJobById(id);
+ }
+
+ /**
+ * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line鍒楄〃
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 鏍囧噯宸ヨ壓璺嚎Line
+ */
+ @Override
+ public List<ApsStandardProcessRouteLineJob> selectApsStandardProcessRouteLineJobList(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob)
+ {
+ return apsStandardProcessRouteLineJobMapper.selectApsStandardProcessRouteLineJobList(apsStandardProcessRouteLineJob);
+ }
+
+ /**
+ * 鏂板鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob)
+ {
+ apsStandardProcessRouteLineJob.setCreateTime(DateUtils.getNowDate());
+ return apsStandardProcessRouteLineJobMapper.insertApsStandardProcessRouteLineJob(apsStandardProcessRouteLineJob);
+ }
+
+ /**
+ * 淇敼鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param apsStandardProcessRouteLineJob 鏍囧噯宸ヨ壓璺嚎Line
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateApsStandardProcessRouteLineJob(ApsStandardProcessRouteLineJob apsStandardProcessRouteLineJob)
+ {
+ apsStandardProcessRouteLineJob.setUpdateTime(DateUtils.getNowDate());
+ return apsStandardProcessRouteLineJobMapper.updateApsStandardProcessRouteLineJob(apsStandardProcessRouteLineJob);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsStandardProcessRouteLineJobByIds(Long[] ids)
+ {
+ return apsStandardProcessRouteLineJobMapper.deleteApsStandardProcessRouteLineJobByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎鏍囧噯宸ヨ壓璺嚎Line淇℃伅
+ *
+ * @param id 鏍囧噯宸ヨ壓璺嚎Line涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsStandardProcessRouteLineJobById(Long id)
+ {
+ return apsStandardProcessRouteLineJobMapper.deleteApsStandardProcessRouteLineJobById(id);
+ }
+}
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 837a54d..efecb7a 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
@@ -3,10 +3,7 @@
import com.aps.common.core.constant.SecurityConstants;
import com.aps.common.core.utils.StringUtils;
import com.aps.job.param.ApsWorkOrderJobParam;
-import com.aps.job.service.IApsBomHeaderJobService;
-import com.aps.job.service.IApsMaterialStorageManagementJobService;
-import com.aps.job.service.IApsWorkOrderJobService;
-import com.aps.job.service.IApsWorkOrderProcessService;
+import com.aps.job.service.*;
import com.aps.system.api.RemoteCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -39,6 +36,9 @@
@Autowired
private IApsMaterialStorageManagementJobService apsMaterialStorageManagementJobService;
+
+ @Autowired
+ private IApsStandardProcessRouteHeaderJobService apsStandardProcessRouteHeaderJobService;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
{
@@ -165,4 +165,17 @@
{
apsMaterialStorageManagementJobService.syncApsMaterialStorageDataJob(pageIndex, pageSize, orgCode, itemCodeList);
}
+
+ /**
+ * 鍚屾鍏ㄩ噺宸ヨ壓璺嚎鏁版嵁瀹氭椂浠诲姟
+ */
+ 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);
+// }
+ }
+
+
}
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
new file mode 100644
index 0000000..1930d0e
--- /dev/null
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteHeaderJobMapper.xml
@@ -0,0 +1,173 @@
+<?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.ApsStandardProcessRouteHeaderJobMapper">
+
+ <resultMap type="ApsStandardProcessRouteHeaderJob" id="ApsStandardProcessRouteHeaderJobResult">
+ <result property="id" column="id" />
+ <result property="routeId" column="route_id" />
+ <result property="version" column="version" />
+ <result property="startDate" column="start_date" />
+ <result property="endDate" column="end_date" />
+ <result property="orgCode" column="org_code" />
+ <result property="delFlag" column="del_flag" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="itemCode" column="item_code" />
+ <result property="drawingNumber" column="drawing_number" />
+ <result property="processAllTime" column="process_all_time" />
+ </resultMap>
+
+ <sql id="selectApsStandardProcessRouteHeaderJobVo">
+ select id, route_id, version, start_date, end_date, org_code, del_flag, create_by, create_time, update_by, update_time, item_code, drawing_number, process_all_time from aps_standard_process_route_header_job
+ </sql>
+
+ <select id="selectApsStandardProcessRouteHeaderJobList" parameterType="ApsStandardProcessRouteHeaderJob" resultMap="ApsStandardProcessRouteHeaderJobResult">
+ <include refid="selectApsStandardProcessRouteHeaderJobVo"/>
+ <where>
+ <if test="routeId != null and routeId != ''"> and route_id = #{routeId}</if>
+ <if test="version != null and version != ''"> and version = #{version}</if>
+ <if test="startDate != null "> and start_date = #{startDate}</if>
+ <if test="endDate != null "> and end_date = #{endDate}</if>
+ <if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if>
+ <if test="itemCode != null and itemCode != ''"> and item_code = #{itemCode}</if>
+ <if test="drawingNumber != null and drawingNumber != ''"> and drawing_number = #{drawingNumber}</if>
+ <if test="processAllTime != null "> and process_all_time = #{processAllTime}</if>
+ </where>
+ </select>
+
+ <select id="selectApsStandardProcessRouteHeaderJobById" parameterType="Long" resultMap="ApsStandardProcessRouteHeaderJobResult">
+ <include refid="selectApsStandardProcessRouteHeaderJobVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertApsStandardProcessRouteHeaderJob" parameterType="ApsStandardProcessRouteHeaderJob">
+ insert into aps_standard_process_route_header_job
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">id,</if>
+ <if test="routeId != null">route_id,</if>
+ <if test="version != null">version,</if>
+ <if test="startDate != null">start_date,</if>
+ <if test="endDate != null">end_date,</if>
+ <if test="orgCode != null">org_code,</if>
+ <if test="delFlag != null">del_flag,</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>
+ <if test="itemCode != null">item_code,</if>
+ <if test="drawingNumber != null">drawing_number,</if>
+ <if test="processAllTime != null">process_all_time,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">#{id},</if>
+ <if test="routeId != null">#{routeId},</if>
+ <if test="version != null">#{version},</if>
+ <if test="startDate != null">#{startDate},</if>
+ <if test="endDate != null">#{endDate},</if>
+ <if test="orgCode != null">#{orgCode},</if>
+ <if test="delFlag != null">#{delFlag},</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>
+ <if test="itemCode != null">#{itemCode},</if>
+ <if test="drawingNumber != null">#{drawingNumber},</if>
+ <if test="processAllTime != null">#{processAllTime},</if>
+ </trim>
+ </insert>
+
+ <update id="updateApsStandardProcessRouteHeaderJob" parameterType="ApsStandardProcessRouteHeaderJob">
+ update aps_standard_process_route_header_job
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="routeId != null">route_id = #{routeId},</if>
+ <if test="version != null">version = #{version},</if>
+ <if test="startDate != null">start_date = #{startDate},</if>
+ <if test="endDate != null">end_date = #{endDate},</if>
+ <if test="orgCode != null">org_code = #{orgCode},</if>
+ <if test="delFlag != null">del_flag = #{delFlag},</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>
+ <if test="itemCode != null">item_code = #{itemCode},</if>
+ <if test="drawingNumber != null">drawing_number = #{drawingNumber},</if>
+ <if test="processAllTime != null">process_all_time = #{processAllTime},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteApsStandardProcessRouteHeaderJobById" parameterType="Long">
+ delete from aps_standard_process_route_header_job where id = #{id}
+ </delete>
+
+ <delete id="deleteApsStandardProcessRouteHeaderJobByIds" parameterType="String">
+ delete from aps_standard_process_route_header_job where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+ <insert id="insertProcessRouteHeaderBatch">
+ INSERT INTO aps_standard_process_route_header_job (
+ id,
+ route_id,
+ item_code,
+ version,
+ start_date,
+ end_date,
+ org_code,
+ create_time
+ ) VALUES
+ <foreach collection="list" item="item" separator=",">
+ (
+ #{item.id},
+ #{item.routeId},
+ #{item.itemCode},
+ #{item.version},
+ #{item.startDate},
+ #{item.endDate},
+ #{item.orgCode},
+ now()
+ )
+ </foreach>
+ </insert>
+
+ <!-- 鎻掑叆鏁版嵁鍒� aps_bom_header -->
+ <insert id="insertIntoProcessRouteHeader">
+ INSERT INTO aps_standard_process_route_header (
+ id,
+ route_id,
+ item_code,
+ version,
+ start_date,
+ end_date,
+ org_code,
+ create_time
+ )
+ SELECT
+ id,
+ route_id,
+ item_code,
+ version,
+ start_date,
+ end_date,
+ org_code,
+ now()
+ FROM aps_standard_process_route_header_job
+ </insert>
+
+ <!-- 鍒犻櫎 aps_standard_process_route_header 琛ㄤ腑鐨勬暟鎹� -->
+ <delete id="deleteProcessRouteHeader">
+ DELETE FROM aps_standard_process_route_header
+ </delete>
+
+ <!-- 鍒犻櫎 aps_standard_process_route_header_job 琛ㄤ腑鐨勬暟鎹� -->
+ <delete id="deleteProcessRouteHeaderJob">
+ DELETE FROM aps_standard_process_route_header_job
+ </delete>
+
+</mapper>
\ No newline at end of file
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
new file mode 100644
index 0000000..f8f89f0
--- /dev/null
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsStandardProcessRouteLineJobMapper.xml
@@ -0,0 +1,192 @@
+<?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.ApsStandardProcessRouteLineJobMapper">
+
+ <resultMap type="ApsStandardProcessRouteLineJob" id="ApsStandardProcessRouteLineJobResult">
+ <result property="id" column="id" />
+ <result property="routeId" column="route_id" />
+ <result property="routeNum" column="route_num" />
+ <result property="routeName" column="route_name" />
+ <result property="startDate" column="start_date" />
+ <result property="endDate" column="end_date" />
+ <result property="createTime" column="create_time" />
+ <result property="orgCode" column="org_code" />
+ <result property="shopCode" column="shop_code" />
+ <result property="productivityModel" column="productivity_model" />
+ <result property="designCapacity" column="design_capacity" />
+ <result property="delFlag" column="del_flag" />
+ <result property="createBy" column="create_by" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="routeCode" column="route_code" />
+ <result property="standardTime" column="standard_time" />
+ </resultMap>
+
+ <sql id="selectApsStandardProcessRouteLineJobVo">
+ select id, route_id, route_num, route_name, start_date, end_date, create_time, org_code, shop_code, productivity_model, design_capacity, del_flag, create_by, update_by, update_time, route_code, standard_time from aps_standard_process_route_line_job
+ </sql>
+
+ <select id="selectApsStandardProcessRouteLineJobList" parameterType="ApsStandardProcessRouteLineJob" resultMap="ApsStandardProcessRouteLineJobResult">
+ <include refid="selectApsStandardProcessRouteLineJobVo"/>
+ <where>
+ <if test="routeId != null and routeId != ''"> and route_id = #{routeId}</if>
+ <if test="routeNum != null and routeNum != ''"> and route_num = #{routeNum}</if>
+ <if test="routeName != null and routeName != ''"> and route_name like concat('%', #{routeName}, '%')</if>
+ <if test="startDate != null "> and start_date = #{startDate}</if>
+ <if test="endDate != null "> and end_date = #{endDate}</if>
+ <if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if>
+ <if test="shopCode != null and shopCode != ''"> and shop_code = #{shopCode}</if>
+ <if test="productivityModel != null and productivityModel != ''"> and productivity_model = #{productivityModel}</if>
+ <if test="designCapacity != null "> and design_capacity = #{designCapacity}</if>
+ </where>
+ </select>
+
+ <select id="selectApsStandardProcessRouteLineJobById" parameterType="Long" resultMap="ApsStandardProcessRouteLineJobResult">
+ <include refid="selectApsStandardProcessRouteLineJobVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertApsStandardProcessRouteLineJob" parameterType="ApsStandardProcessRouteLineJob">
+ insert into aps_standard_process_route_line_job
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">id,</if>
+ <if test="routeId != null">route_id,</if>
+ <if test="routeNum != null">route_num,</if>
+ <if test="routeName != null">route_name,</if>
+ <if test="startDate != null">start_date,</if>
+ <if test="endDate != null">end_date,</if>
+ <if test="createTime != null">create_time,</if>
+ <if test="orgCode != null">org_code,</if>
+ <if test="shopCode != null">shop_code,</if>
+ <if test="productivityModel != null">productivity_model,</if>
+ <if test="designCapacity != null">design_capacity,</if>
+ <if test="delFlag != null">del_flag,</if>
+ <if test="createBy != null">create_by,</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="routeId != null">#{routeId},</if>
+ <if test="routeNum != null">#{routeNum},</if>
+ <if test="routeName != null">#{routeName},</if>
+ <if test="startDate != null">#{startDate},</if>
+ <if test="endDate != null">#{endDate},</if>
+ <if test="createTime != null">#{createTime},</if>
+ <if test="orgCode != null">#{orgCode},</if>
+ <if test="shopCode != null">#{shopCode},</if>
+ <if test="productivityModel != null">#{productivityModel},</if>
+ <if test="designCapacity != null">#{designCapacity},</if>
+ <if test="delFlag != null">#{delFlag},</if>
+ <if test="createBy != null">#{createBy},</if>
+ <if test="updateBy != null">#{updateBy},</if>
+ <if test="updateTime != null">#{updateTime},</if>
+ </trim>
+ </insert>
+
+ <update id="updateApsStandardProcessRouteLineJob" parameterType="ApsStandardProcessRouteLineJob">
+ update aps_standard_process_route_line_job
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="routeId != null">route_id = #{routeId},</if>
+ <if test="routeNum != null">route_num = #{routeNum},</if>
+ <if test="routeName != null">route_name = #{routeName},</if>
+ <if test="startDate != null">start_date = #{startDate},</if>
+ <if test="endDate != null">end_date = #{endDate},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="orgCode != null">org_code = #{orgCode},</if>
+ <if test="shopCode != null">shop_code = #{shopCode},</if>
+ <if test="productivityModel != null">productivity_model = #{productivityModel},</if>
+ <if test="designCapacity != null">design_capacity = #{designCapacity},</if>
+ <if test="delFlag != null">del_flag = #{delFlag},</if>
+ <if test="createBy != null">create_by = #{createBy},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteApsStandardProcessRouteLineJobById" parameterType="Long">
+ delete from aps_standard_process_route_line_job where id = #{id}
+ </delete>
+
+ <delete id="deleteApsStandardProcessRouteLineJobByIds" parameterType="String">
+ delete from aps_standard_process_route_line_job where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+ <insert id="insertProcessRouteLineBatch">
+ INSERT INTO aps_standard_process_route_line_job (
+ id,
+ route_id,
+ route_num,
+ route_name,
+ route_code,
+ start_date,
+ end_date,
+ org_code,
+ shop_code,
+ standard_time,
+ create_time
+ ) VALUES
+ <foreach collection="list" item="item" separator=",">
+ (
+ #{item.id},
+ #{item.routeId},
+ #{item.routeNum},
+ #{item.routeName},
+ #{item.routeCode},
+ #{item.startDate},
+ #{item.endDate},
+ #{item.orgCode},
+ #{item.shopCode},
+ #{item.standardTime},
+ now()
+ )
+ </foreach>
+ </insert>
+
+ <!-- 鎻掑叆鏁版嵁鍒� aps_bom_header -->
+ <insert id="insertIntoProcessRouteLine">
+ INSERT INTO aps_standard_process_route_line (
+ id,
+ route_id,
+ route_num,
+ route_name,
+ route_code,
+ start_date,
+ end_date,
+ org_code,
+ shop_code,
+ standard_time,
+ create_time
+ )
+ SELECT
+ id,
+ route_id,
+ route_num,
+ route_name,
+ route_code,
+ start_date,
+ end_date,
+ org_code,
+ shop_code,
+ standard_time,
+ now()
+ FROM aps_standard_process_route_line_job
+ </insert>
+
+ <!-- 鍒犻櫎 aps_standard_process_route_line 琛ㄤ腑鐨勬暟鎹� -->
+ <delete id="deleteProcessRouteLine">
+ DELETE FROM aps_standard_process_route_line
+ </delete>
+
+ <!-- 鍒犻櫎 aps_standard_process_route_line_job 琛ㄤ腑鐨勬暟鎹� -->
+ <delete id="deleteProcessRouteLineJob">
+ DELETE FROM aps_standard_process_route_line_job
+ </delete>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3