aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWeldSeamStandardJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWeldSeamStandardJobMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWeldSeamStandardMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWeldSeamStandardJobService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/resources/mapper/job/ApsWeldSeamStandardJobMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-job/src/main/resources/mapper/job/ApsWeldSeamStandardMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWeldSeamStandardJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ 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.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; /** * çç¼æ å对象 aps_weld_seam_standard_job * * @author user * @date 2023-11-05 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ApsWeldSeamStandardJob extends BaseEntity { private static final long serialVersionUID = 1L; /** 主é®ID */ private Long id; /** æå·ï¼æ¥å£ä¸å¯¹åºplantCountæverIdï¼ */ @Excel(name = "æå·") private String itemCode; /** å¾å· */ @Excel(name = "å¾å·") private String itemFigure; /** çæ¬å· */ @Excel(name = "çæ¬å·") private String itemFigureVersion; /** åä»¶çç¼æ°ï¼Hupï¼ */ @Excel(name = "åä»¶çç¼æ°ï¼Hupï¼") private BigDecimal hupQty; /** åä»¶çç¼æ°ï¼LODï¼ */ @Excel(name = "åä»¶çç¼æ°ï¼LODï¼") private BigDecimal lodQty; /** çæ¥å½¢å¼(hup\lod) */ @Excel(name = "çæ¥å½¢å¼") private String type; /** æ¯å¦å é¤(0å¦ï¼1æ¯) */ private Integer delFlag; } aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWeldSeamStandardJobMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.aps.job.mapper; import com.aps.job.domain.ApsWeldSeamStandardJob; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * çç¼æ åJob Mapperæ¥å£ * * @author user * @date 2023-11-05 */ @Mapper public interface ApsWeldSeamStandardJobMapper { /** * æ¥è¯¢çç¼æ åå表 * * @param apsWeldSeamStandardJob çç¼æ å * @return çç¼æ åéå */ public List<ApsWeldSeamStandardJob> selectApsWeldSeamStandardJobList(ApsWeldSeamStandardJob apsWeldSeamStandardJob); /** * å 餿æçç¼æ åJobæ°æ® * * @return ç»æ */ public int deleteAllApsWeldSeamStandardJob(); /** * æ¹éæ°å¢çç¼æ åJob * * @param list çç¼æ åJobå表 * @return ç»æ */ public int batchInsertApsWeldSeamStandardJob(List<ApsWeldSeamStandardJob> list); } aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWeldSeamStandardMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.aps.job.mapper; import com.aps.job.domain.ApsWeldSeamStandardJob; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * çç¼æ åä¸å¡è¡¨ Mapperæ¥å£ * * @author user * @date 2023-11-05 */ @Mapper public interface ApsWeldSeamStandardMapper { /** * å 餿æçç¼æ åæ°æ® * * @return ç»æ */ public int deleteAllApsWeldSeamStandard(); /** * æ¹éæ°å¢çç¼æ å * * @param list çç¼æ åJobå表 * @return ç»æ */ public int batchInsertApsWeldSeamStandard(List<ApsWeldSeamStandardJob> list); } aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWeldSeamStandardJobService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.aps.job.service; import com.aps.job.domain.ApsWeldSeamStandardJob; import java.util.List; /** * çç¼æ åJob Serviceæ¥å£ * * @author user * @date 2023-11-05 */ public interface IApsWeldSeamStandardJobService { /** * æ¥è¯¢çç¼æ åå表 * * @param apsWeldSeamStandardJob çç¼æ å * @return çç¼æ åéå */ public List<ApsWeldSeamStandardJob> selectApsWeldSeamStandardJobList(ApsWeldSeamStandardJob apsWeldSeamStandardJob); /** * å 餿æçç¼æ åJobæ°æ® * * @return ç»æ */ public int deleteAllApsWeldSeamStandardJob(); /** * æ¹éæ°å¢çç¼æ åJob * * @param list çç¼æ åJobå表 * @return ç»æ */ public int batchInsertApsWeldSeamStandardJob(List<ApsWeldSeamStandardJob> list); /** * åæ¥ç©ææ åçç¼æ°æ® * * @return ç»æ */ public boolean syncWeldSeamStandardData(); } aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,215 @@ package com.aps.job.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.aps.common.core.utils.StringUtils; import com.aps.common.security.utils.SecurityUtils; import com.aps.job.domain.ApsWeldSeamStandardJob; import com.aps.job.mapper.ApsWeldSeamStandardMapper; import com.aps.job.mapper.ApsWeldSeamStandardJobMapper; import com.aps.job.service.IApsWeldSeamStandardJobService; import lombok.extern.slf4j.Slf4j; 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.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; /** * çç¼æ åJob Serviceä¸å¡å±å¤ç * * @author user * @date 2023-11-05 */ @Slf4j @Service public class ApsWeldSeamStandardJobServiceImpl implements IApsWeldSeamStandardJobService { @Autowired private ApsWeldSeamStandardJobMapper apsWeldSeamStandardJobMapper; @Autowired private ApsWeldSeamStandardMapper apsWeldSeamStandardMapper; @Autowired private RestTemplate restTemplate; @Value("${pipingIntegrationplatform.apsWeldSeamStandard}") private String apsWeldSeamStandardUrl; /** * æ¥è¯¢çç¼æ åå表 * * @param apsWeldSeamStandardJob çç¼æ å * @return çç¼æ åéå */ @Override public List<ApsWeldSeamStandardJob> selectApsWeldSeamStandardJobList(ApsWeldSeamStandardJob apsWeldSeamStandardJob) { return apsWeldSeamStandardJobMapper.selectApsWeldSeamStandardJobList(apsWeldSeamStandardJob); } /** * å 餿æçç¼æ åJobæ°æ® * * @return ç»æ */ @Override public int deleteAllApsWeldSeamStandardJob() { return apsWeldSeamStandardJobMapper.deleteAllApsWeldSeamStandardJob(); } /** * æ¹éæ°å¢çç¼æ åJob * * @param list çç¼æ åJobå表 * @return ç»æ */ @Override public int batchInsertApsWeldSeamStandardJob(List<ApsWeldSeamStandardJob> list) { return apsWeldSeamStandardJobMapper.batchInsertApsWeldSeamStandardJob(list); } /** * åæ¥ç©ææ åçç¼æ°æ® * * @return ç»æ */ @Override @Transactional(rollbackFor = Exception.class) public boolean syncWeldSeamStandardData() { try { // 使ç¨POSTæ¹æ³è°ç¨æ¥å£ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // åå¤è¯·æ±åæ° - ä¼ éå·¥å代ç å符串æ°ç»ï¼è®¾ç½®ä¸ºç©ºæ°ç» String[] plantCodeArray = new String[0]; // ç´æ¥ä½¿ç¨å符串æ°ç»ä½ä¸ºè¯·æ±ä½ HttpEntity<String[]> requestEntity = new HttpEntity<>(plantCodeArray, headers); ResponseEntity<String> responseEntity = restTemplate.postForEntity(apsWeldSeamStandardUrl, requestEntity, String.class); if (!responseEntity.getStatusCode().is2xxSuccessful()) { log.error("è·åç©ææ åçç¼æ°æ®å¤±è´¥"); return false; } String responseBody = responseEntity.getBody(); if (StringUtils.isEmpty(responseBody)) { return false; } JSONObject responseJson = JSON.parseObject(responseBody); // æ£æ¥è¿åç if (responseJson.getIntValue("code") != 0) { return false; } // è·åæ¥å£è¿åçæ°æ® JSONArray weldSeamList = responseJson.getJSONArray("ok"); if (weldSeamList == null || weldSeamList.isEmpty()) { return false; } // è§£ææ°æ®å¹¶è½¬æ¢ä¸ºå®ä½å¯¹è±¡ List<ApsWeldSeamStandardJob> jobList = new ArrayList<>(); AtomicLong idCounter = new AtomicLong(System.currentTimeMillis()); // 使ç¨å½åæ¶é´æ³ä½ä¸ºèµ·å§ID for (int i = 0; i < weldSeamList.size(); i++) { JSONObject item = weldSeamList.getJSONObject(i); // ä½¿ç¨æ£ç¡®çåæ®µåç§° plantCode String plantCode = item.getString("plantCode"); // è·åUHPåLODæ°é BigDecimal uhpCount = null; BigDecimal lodCount = null; try { uhpCount = item.getBigDecimal("uhpCount"); } catch (Exception e) { // 忽ç¥å¼å¸¸ } try { lodCount = item.getBigDecimal("lodCount"); } catch (Exception e) { // 忽ç¥å¼å¸¸ } // å¤ææ°æ®æ¯å¦å®æ´ if (StringUtils.isEmpty(plantCode)) { continue; } ApsWeldSeamStandardJob job = new ApsWeldSeamStandardJob(); // 为idèµå¼ï¼ä½¿ç¨èªå¢é¿æ´å job.setId(idCounter.incrementAndGet()); job.setItemCode(plantCode); // æ å°å ³ç³»: plantCode -> itemCode job.setHupQty(uhpCount); // æ å°å ³ç³»: uhpCount -> hupQty job.setLodQty(lodCount); // æ å°å ³ç³»: lodCount -> lodQty job.setDelFlag(0); // ä¸å设置createByåcreateTime jobList.add(job); } if (jobList.isEmpty()) { return false; } // æ¸ ç©ºæ§æ°æ® deleteAllApsWeldSeamStandardJob(); // æ¹éæå ¥æ°æ°æ® batchInsertApsWeldSeamStandardJob(jobList); // åæ¥æ°æ®å°ä¸å¡è¡¨ syncToBizTable(jobList); return true; } catch (Exception e) { log.error("åæ¥ç©ææ åçç¼æ°æ®å¼å¸¸", e); throw e; } } /** * åæ¥æ°æ®å°ä¸å¡è¡¨ * * @param jobList çç¼æ åJobæ°æ®å表 */ private void syncToBizTable(List<ApsWeldSeamStandardJob> jobList) { try { // å é¤ä¸å¡è¡¨æ°æ®ï¼å ¨éè¦çï¼ apsWeldSeamStandardMapper.deleteAllApsWeldSeamStandard(); if (jobList == null || jobList.isEmpty()) { return; } // æ¹éæå ¥æ°æ®å°ä¸å¡è¡¨ apsWeldSeamStandardMapper.batchInsertApsWeldSeamStandard(jobList); } catch (Exception e) { log.error("åæ¥ç©ææ åçç¼æ°æ®å°ä¸å¡è¡¨å¼å¸¸", e); throw e; } } } aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
@@ -44,6 +44,9 @@ @Autowired private IApsMaterialManagementJobService apsMaterialManagementJobService; @Autowired private IApsWeldSeamStandardJobService apsWeldSeamStandardJobService; public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { System.out.println(StringUtils.format("æ§è¡å¤åæ¹æ³ï¼ å符串类å{}ï¼å¸å°ç±»å{}ï¼é¿æ´å{}ï¼æµ®ç¹å{}ï¼æ´å½¢{}", s, b, l, d, i)); @@ -203,4 +206,11 @@ remoteCoreService.setPlateSubPlansToRedis(SecurityConstants.INNER); } /** * åæ¥ç©ææ åçç¼æ°æ® */ public void syncWeldSeamStandardData() { apsWeldSeamStandardJobService.syncWeldSeamStandardData(); } } aps-modules/aps-job/src/main/resources/mapper/job/ApsWeldSeamStandardJobMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ <?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.ApsWeldSeamStandardJobMapper"> <resultMap type="com.aps.job.domain.ApsWeldSeamStandardJob" id="ApsWeldSeamStandardJobResult"> <result property="id" column="id" /> <result property="itemCode" column="item_code" /> <result property="itemFigure" column="item_figure" /> <result property="itemFigureVersion" column="item_figure_version" /> <result property="hupQty" column="hup_qty" /> <result property="lodQty" column="lod_qty" /> <result property="type" column="type" /> <result property="delFlag" column="del_flag" /> </resultMap> <sql id="selectApsWeldSeamStandardJobVo"> select id, item_code, item_figure, item_figure_version, hup_qty, lod_qty, type, del_flag from aps_weld_seam_standard_job </sql> <select id="selectApsWeldSeamStandardJobList" parameterType="com.aps.job.domain.ApsWeldSeamStandardJob" resultMap="ApsWeldSeamStandardJobResult"> <include refid="selectApsWeldSeamStandardJobVo"/> <where> <if test="itemCode != null and itemCode != ''"> and item_code LIKE '%' || #{itemCode} || '%'</if> <if test="itemFigure != null and itemFigure != ''"> and item_figure = #{itemFigure}</if> <if test="itemFigureVersion != null and itemFigureVersion != ''"> and item_figure_version = #{itemFigureVersion}</if> <if test="hupQty != null "> and hup_qty = #{hupQty}</if> <if test="lodQty != null "> and lod_qty = #{lodQty}</if> <if test="type != null and type != ''"> and type = #{type}</if> and del_flag = 0 </where> </select> <delete id="deleteAllApsWeldSeamStandardJob"> delete from aps_weld_seam_standard_job </delete> <insert id="batchInsertApsWeldSeamStandardJob" parameterType="java.util.List"> insert into aps_weld_seam_standard_job( id, item_code, item_figure, item_figure_version, hup_qty, lod_qty, type, del_flag) values <foreach collection="list" item="item" index="index" separator=","> ( #{item.id}, #{item.itemCode}, #{item.itemFigure}, #{item.itemFigureVersion}, #{item.hupQty}, #{item.lodQty}, #{item.type}, 0 ) </foreach> </insert> </mapper> aps-modules/aps-job/src/main/resources/mapper/job/ApsWeldSeamStandardMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ <?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.ApsWeldSeamStandardMapper"> <delete id="deleteAllApsWeldSeamStandard"> delete from aps_weld_seam_standard </delete> <insert id="batchInsertApsWeldSeamStandard" parameterType="java.util.List"> insert into aps_weld_seam_standard( id, item_code, item_figure, item_figure_version, hup_qty, lod_qty, type, del_flag) values <foreach collection="list" item="item" index="index" separator=","> ( #{item.id}, #{item.itemCode}, #{item.itemFigure}, #{item.itemFigureVersion}, #{item.hupQty}, #{item.lodQty}, #{item.type}, 0 ) </foreach> </insert> </mapper>