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