From febdfeb2706c861cba37f54dcfd39a2c546f2389 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 25 十月 2023 14:51:09 +0800
Subject: [PATCH] Changes

---
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 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 a0cb006..eafca3e 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
@@ -369,7 +369,7 @@
 
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void syncNewIfs(Date date) {
+	public Long syncNewIfs(Date date) {
 		Map<String, String> dicmattype = dictUtils.getDicKey("material_type");
 		Map<String, String> dicunit = dictUtils.getDicKey("unit");
 		String key = "syncPart_lock" + SecurityUtils.getUser().getId();
@@ -379,13 +379,13 @@
 		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>();
 		try {
 			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();
 			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);
 			List<String>no=new ArrayList<String>();
-			List<Part>partList=new ArrayList<Part>();
 			data.forEach(l->{
 				Part part = new Part();
 				part.setPartNo(String.valueOf(l.get("PART_NO")));
@@ -408,20 +408,23 @@
 				part.setSunit(dicunit.get(l.get("UNIT_MEAS_FOR_WEIGHT")));
 				partList.add(part);
 			});
-			QueryWrapper<Part>queryWrapper=new QueryWrapper<>();
-			queryWrapper.lambda().select(Part::getPartNo).in(Part::getPartNo,no);
-			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->{
-				baseMapper.insert(l);
-			});
+			if(partList.size()>0) {
+				QueryWrapper<Part> queryWrapper = new QueryWrapper<>();
+				queryWrapper.lambda().select(Part::getPartNo).in(Part::getPartNo, no);
+				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 -> {
+					baseMapper.insert(l);
+				});
+			}
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw new RuntimeException(e.getMessage());
 		} finally {
 			redisTemplate.delete(key);
 		}
+		return (long) partList.size();
 	}
 }

--
Gitblit v1.9.3