From 85ef8fe5827bce822c9e74ab0a6a9340a4bae016 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期五, 27 六月 2025 14:18:57 +0800 Subject: [PATCH] erp对接 --- src/main/java/com/zy/asrs/controller/LocDetlController.java | 144 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 127 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java index c60c814..944a213 100644 --- a/src/main/java/com/zy/asrs/controller/LocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java @@ -48,7 +48,7 @@ return R.ok(); } - @RequestMapping(value = "/locDetl/{id}/auth") + @RequestMapping(value = "/locDetl/{id}/authv2") @ManagerAuth public R get(@PathVariable("id") String id) { return R.ok(locDetlService.selectById(String.valueOf(id))); @@ -205,6 +205,65 @@ .where("loc_no like '" + row + "%'"); } List<LocDetl> list = locDetlService.selectList(wrapper); + List<AbnormalLocDetlParam> result = new ArrayList<>(); + + Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class)); + for (LocDetl locDetl : groupLocDetl.getRecords()) { + AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); + Mat mat = matService.selectOne(new EntityWrapper<Mat>() + .eq("matnr", locDetl.getMatnr())); + if (Cools.isEmpty(mat)) { + continue; + } + if (!Cools.isEmpty(mat.getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) { + abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); + abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); + abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); + abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); + abnormalLocDetlParam.setMaktx(mat.getMaktx()); + abnormalLocDetlParam.setMatnr(mat.getMatnr()); + abnormalLocDetlParam.setSpecs(mat.getSpecs()); + abnormalLocDetlParam.setBatch(locDetl.getBatch()); + +// SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); +// Date maxDate = simple.parse(locDetl.getBatch()); +// long time = maxDate.getTime(); +// Date now = new Date(); +// long time1 = now.getTime(); +// abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); + + if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { + result.add(abnormalLocDetlParam); + } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { + result.add(abnormalLocDetlParam); + } + } + } + return R.ok(exportSupport(result, fields)); + } + @RequestMapping(value = "/locDetl/export/auth/v2") + @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭") + public synchronized R exportV2(@RequestBody JSONObject param) { + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl")); + String row = ""; + if (map.get("row") != null) { + String chooseRow = (String) map.get("row"); + if (chooseRow.length() == 1) { + row = "0" + chooseRow; + map.remove("row"); + } else { + row = chooseRow; + map.remove("row"); + } + } + convert(map, wrapper); + if (!row.equals("")) { + wrapper.and() + .where("loc_no like '" + row + "%'"); + } + List<LocDetl> list = locDetlService.selectList(wrapper); return R.ok(exportSupport(list, fields)); } @@ -240,6 +299,21 @@ @RequestParam(defaultValue = "10") Integer limit, @RequestParam Map<String, Object> param) { Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class)); + for (LocDetl locDetl : stockStatis.getRecords()) { + Mat mat = matService.selectByMatnr(locDetl.getMatnr()); + if (mat != null) { + locDetl.sync(mat); + } + } + return R.ok().add(stockStatis); + } + + @RequestMapping(value = "/locDetl/statis/out/auth") + @ManagerAuth + public R statisOut(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam Map<String, Object> param) { + Page<LocDetl> stockStatis = locDetlService.getStockStatisOut(toPage(curr, limit, param, LocDetl.class)); for (LocDetl locDetl : stockStatis.getRecords()) { Mat mat = matService.selectByMatnr(locDetl.getMatnr()); if (mat != null) { @@ -286,9 +360,9 @@ /**********************************************************寮傚父搴撳瓨鐩稿叧controller**********************************************************/ - @RequestMapping(value = "/locDetl/grouplist/auth") + @RequestMapping(value = "/locDetl/groupLocList/auth") @ManagerAuth - public R groupList(@RequestParam(defaultValue = "1") Integer curr, + public R groupLocList(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = false) String orderByField, @RequestParam(required = false) String orderByType, @@ -311,8 +385,7 @@ } - if (!Cools.isEmpty(mat.getStoreMax()) - || !Cools.isEmpty(mat.getStoreMin())) { + if (!Cools.isEmpty(mat.getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) { abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); @@ -331,20 +404,55 @@ if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { result.add(abnormalLocDetlParam); - continue; } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { result.add(abnormalLocDetlParam); - continue; } - } else if (!Cools.isEmpty(mat.getStoreMaxDate())) { - if (Cools.isEmpty(locDetl.getBatch())) { - continue; - } else if (locDetl.getBatch().length() != 8) { - continue; - } + } + } + + Page<AbnormalLocDetlParam> locDetlPage = new Page<>(); + locDetlPage.setRecords(paging(result, curr, limit)); + locDetlPage.setTotal(result.size()); + locDetlPage.setCurrent(curr); + locDetlPage.setSize(limit); + return R.ok(locDetlPage); + } + + @RequestMapping(value = "/locDetl/groupDateList/auth") + @ManagerAuth + public R groupDateList(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam(required = false) String condition, + @RequestParam Map<String, Object> param) { + +// List<LocDetl> result = new ArrayList<>(); + List<AbnormalLocDetlParam> result = new ArrayList<>(); +// excludeTrash(param); + param.put("curr", curr); + param.put("limit", limit); + Page<LocDetl> groupLocDetl = locDetlService.getStockStatisDate(toPage(1, 10000, param, LocDetl.class)); +// List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit); + for (LocDetl locDetl : groupLocDetl.getRecords()) { + AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); + Mat mat = matService.selectOne(new EntityWrapper<Mat>() + .eq("matnr", locDetl.getMatnr())); + if (Cools.isEmpty(mat)) { + continue; + } + + + if (!Cools.isEmpty(mat.getStoreMaxDate())) { +// if (Cools.isEmpty(locDetl.getBatch())) { +// continue; +// } else if (locDetl.getBatch().length() != 8) { +// continue; +// } try { - SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); - Date maxDate = simple.parse(locDetl.getBatch()); +// SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); +// Date maxDate = simple.parse(locDetl.getBatch()); + Date maxDate = locDetl.getModiTime(); Calendar calendar = new GregorianCalendar(); calendar.setTime(maxDate); // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟 寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔� @@ -352,7 +460,7 @@ // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉 maxDate = calendar.getTime(); Date now = new Date(); - abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); + abnormalLocDetlParam.setLocNo(locDetl.getLocNo()); abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); @@ -361,10 +469,12 @@ abnormalLocDetlParam.setSpecs(mat.getSpecs()); abnormalLocDetlParam.setBatch(locDetl.getBatch()); if (now.compareTo(maxDate) > 0) { + long difference = (now.getTime() - locDetl.getModiTime().getTime()) / (24 * 60 * 60 * 1000); + abnormalLocDetlParam.setNowTime(Integer.parseInt(String.valueOf(difference))); result.add(abnormalLocDetlParam); } } catch (Exception e) { - continue; + System.out.println(e.getMessage()); } } } -- Gitblit v1.9.1