From 10e199f950f5c74b25e446433ceb51cffe675be4 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 30 十月 2023 09:57:07 +0800 Subject: [PATCH] Changes --- mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java | 34 ++++++++++++++++++++++++++-------- 1 files changed, 26 insertions(+), 8 deletions(-) diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java index 62a1689..e6ad84e 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java @@ -17,7 +17,6 @@ package com.chinaztt.mes.basic.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -33,6 +32,7 @@ import com.chinaztt.mes.basic.service.PartService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.basic.util.PartUtils; +import com.chinaztt.mes.basic.util.TransactionUtils; import com.chinaztt.mes.common.util.JsonUtil; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.security.util.SecurityUtils; @@ -54,11 +54,15 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import java.io.IOException; import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.PreparedStatement; import java.util.*; /** @@ -77,7 +81,9 @@ private DiscoveryClient discoveryClient; private Environment environment; private RedisTemplate redisTemplate; + private TransactionUtils transactionUtils; ; + @Override public void importPartExcel(List<PartData> list) { @@ -369,9 +375,10 @@ } - @Transactional(rollbackFor = Exception.class) @Override - public Long syncNewIfs(Date date) { + @Transactional(rollbackFor = Exception.class) + public Long syncNewIfs(String date) { + TransactionStatus transaction = transactionUtils.begin(TransactionDefinition.ISOLATION_READ_COMMITTED); Map<String, String> dicmattype = dictUtils.getDicKey("material_type"); Map<String, String> dicunit = dictUtils.getDicKey("unit"); String key = "syncPart_lock" + SecurityUtils.getUser().getId(); @@ -379,16 +386,26 @@ throw new RuntimeException("鏈夊悓姝ヤ换鍔℃鍦ㄥ鐞�"); } redisTemplate.opsForValue().set(key, 1, 1000 * 3600); - Map<String, Object>map=new HashMap<>(); - map.put("MODIFY_DATE", DateUtil.format(date,"yyyy-MM-dd")); List<Part>partList=new ArrayList<Part>(); + Connection conn =null; + PreparedStatement pstmt =null; try { + String url =""; + //鍒ゆ柇鏃ユ湡鏈夊惁 + if (Objects.isNull(date)){ + url = "http://192.168.20.47:8008/PurchService.ashx?contract=KJZS&contractKey=4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=&procedureName=QUERY_INVENTORY_PART_INFO_STD&userId=7632&inAttr={}"; + }else { + Map<String, Object>map=new HashMap<>(); + map.put("MODIFY_DATE", date); + url = "http://192.168.20.47:8008/PurchService.ashx?contract=KJZS&contractKey=4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=&procedureName=QUERY_INVENTORY_PART_INFO_STD&userId=7632&inAttr="+new ObjectMapper().writeValueAsString(map); + } log.info("寮�濮嬫墽琛屽悓姝�==========銆�"); - String url = "http://192.168.20.47:8008/PurchService.ashx?contract=ZTKJ&contractKey=4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=&procedureName=QUERY_INVENTORY_PART_INFO_STD&userId=7632&inAttr="+new ObjectMapper().writeValueAsString(map); String body = HttpRequest.get(url).execute().body(); log.info("鎵ц鍚屾缁撴潫===========銆�"); Map<String, Object> mapResult = JsonUtil.jsonToPojo(body, Map.class); List<Map<String, Object>> data = JsonUtil.jsonToPojo(JsonUtil.jsonToString(mapResult.get("INVENTORY_PART_INFO")), List.class); + System.out.println(data.size()); + //data.forEach(System.out::println); List<String>no=new ArrayList<String>(); data.forEach(l->{ Part part = new Part(); @@ -418,8 +435,8 @@ List<Part> selectList = baseMapper.selectList(queryWrapper); //System.out.println(baseMapper.selectList(queryWrapper)); partList.removeIf(mainObj -> selectList.stream().anyMatch(subObj -> subObj.getPartNo().equals(mainObj.getPartNo()))); - //System.out.println(partList); - partList.forEach(l -> { + System.out.println("杩囨护闀垮害=============================銆�"+partList.size()); + partList.forEach(l->{ baseMapper.insert(l); }); } @@ -427,6 +444,7 @@ e.printStackTrace(); throw new RuntimeException(e.getMessage()); } finally { + //JDBCUtil.close(pstmt,conn); redisTemplate.delete(key); } return (long) partList.size(); -- Gitblit v1.9.3