Fixiaobai
2023-10-25 febdfeb2706c861cba37f54dcfd39a2c546f2389
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,6 +408,7 @@
            part.setSunit(dicunit.get(l.get("UNIT_MEAS_FOR_WEIGHT")));
            partList.add(part);
         });
         if(partList.size()>0) {
         QueryWrapper<Part>queryWrapper=new QueryWrapper<>();
         queryWrapper.lambda().select(Part::getPartNo).in(Part::getPartNo,no);
         List<Part> selectList = baseMapper.selectList(queryWrapper);
@@ -417,11 +418,13 @@
         partList.forEach(l->{
            baseMapper.insert(l);
         });
         }
      } catch (Exception e) {
         e.printStackTrace();
         throw new RuntimeException(e.getMessage());
      } finally {
         redisTemplate.delete(key);
      }
      return (long) partList.size();
   }
}