From 617a8c4fc0b81ec4b96db8a013a91f4e666b0b96 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期三, 08 一月 2025 14:33:45 +0800 Subject: [PATCH] 出现空指针异常 --- src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 62 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java index 468925c..c46da1d 100644 --- a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java @@ -4,12 +4,15 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.MesLocDetl; import com.zy.asrs.entity.ReportData; import com.zy.asrs.entity.ReportDataLog; +import com.zy.asrs.entity.param.MesStock; import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.MesLocDetlService; import com.zy.asrs.service.ReportDataLogService; import com.zy.asrs.service.ReportDataService; import com.zy.asrs.task.AbstractHandler; @@ -22,9 +25,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -43,6 +46,10 @@ @Autowired private ApiLogService apiLogService; + + + @Autowired + private MesLocDetlService mesLocDetlService; @Value("${mes.url}") private String url; @@ -108,7 +115,7 @@ throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject); } success = true; - return null; + return response; } catch (Exception e) { log.error("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細{}", e.getMessage()); @@ -122,19 +129,61 @@ @Transactional public ReturnT<String> stock(Map<String, Object> mesTokenInfo) { - String result = doHttpRequest("{}", mesTokenInfo, "鍚屾MES搴撳瓨", url, stock, null, "127.0.0.1"); - JSONObject jsonObject = JSONObject.parseObject(result); - Object o = jsonObject.get("data"); - if (o != null) { - JSONObject jsonObject1 = JSONObject.parseObject(o.toString()); - Object o1 = jsonObject1.get("list"); - if (o1 != null) { - JSONArray jsonArray = JSONArray.parseArray(o1.toString()); - //jsonArray. + List<MesLocDetl> all = mesLocDetlService.selectList(new EntityWrapper<>()); + if (all != null) { + List<Long> collect = all.stream().map(MesLocDetl::getId).collect(Collectors.toList()); + boolean del = true; + int d = 1; + while (del && collect.size() > 0) { + if (collect.size() > d * 1000) { + mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, d * 1000)); + } else { + mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, collect.size())); + del = false; + } + d++; } } - MesLocDetl mesLocDetl=new MesLocDetl(); + boolean flag = true; + Map<String, Object> req = new HashMap<>(); + int i = 1; + while (flag) { + req.put("page", i); + req.put("size", 1000); + String result = doHttpRequest(JSONObject.toJSONString(req), mesTokenInfo, "鍚屾MES搴撳瓨", url, stock, null, "127.0.0.1"); + JSONObject jsonObject = JSONObject.parseObject(result); + Object o = jsonObject.get("data"); + List<MesLocDetl> mesLocDetls = new ArrayList<>(); + MesLocDetl mesLocDetl; + if (o != null) { + JSONObject jsonObject1 = JSONObject.parseObject(o.toString()); + Object o1 = jsonObject1.get("list"); + if (o1 != null) { + List<MesStock> mesStocks = JSONArray.parseArray(o1.toString(), MesStock.class); + if (mesStocks.isEmpty()) { + flag = false; + } + for (MesStock mesStock : mesStocks) { + mesLocDetl = new MesLocDetl(); + mesLocDetl.setMatnr(mesStock.getMaterialInfo().getMaterialCode()); + mesLocDetl.setMaktx(mesStock.getMaterialInfo().getMaterialName()); + mesLocDetl.setBatch(mesStock.getBatchNo()); + mesLocDetl.setAnfme(mesStock.getOpAmount().getAmount().getAmount()); + mesLocDetls.add(mesLocDetl); + mesLocDetlService.insert(mesLocDetl); + } + } else { + flag = false; + } + } + if (!mesLocDetls.isEmpty()) { + //mesLocDetlService.insertBatch(mesLocDetls); + } + i++; + } return SUCCESS; } + + } -- Gitblit v1.9.1