| | |
| | | @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.getStockStatis2(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.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); |
| | | } |
| | | } |
| | | } |
| | | Map<String, Object> queryParam = new HashMap<>(); |
| | | putIfPresent(queryParam, "matnr", param.get("matnr")); |
| | | putIfPresent(queryParam, "maktx", param.get("maktx")); |
| | | putIfPresent(queryParam, "specs", param.get("specs")); |
| | | putIfPresent(queryParam, "warnStatus", param.get("warnStatus")); |
| | | queryParam.put("pageNumber", curr); |
| | | queryParam.put("pageSize", limit); |
| | | |
| | | Page<AbnormalLocDetlParam> locDetlPage = new Page<>(); |
| | | locDetlPage.setRecords(paging(result, curr, limit)); |
| | | locDetlPage.setTotal(result.size()); |
| | | locDetlPage.setRecords(locDetlMapper.groupLocList(queryParam)); |
| | | locDetlPage.setTotal(locDetlMapper.groupLocListCount(queryParam)); |
| | | locDetlPage.setCurrent(curr); |
| | | locDetlPage.setSize(limit); |
| | | return R.ok(locDetlPage); |
| | | } |
| | | |
| | | private List<AbnormalLocDetlParam> paging(List<AbnormalLocDetlParam> result, Integer curr, Integer limit) { |
| | | List<AbnormalLocDetlParam> pageRecord = new ArrayList<AbnormalLocDetlParam>(); |
| | | int minIndex = (curr - 1) * limit; |
| | | int maxIndex = (curr * limit) - 1; |
| | | if (result.size() < maxIndex) { |
| | | maxIndex = result.size(); |
| | | private void putIfPresent(Map<String, Object> target, String key, Object value) { |
| | | String normalized = normalizeFilterText(value); |
| | | if (normalized != null) { |
| | | target.put(key, normalized); |
| | | } |
| | | for (int i = minIndex; i < maxIndex; i++) { |
| | | pageRecord.add(result.get(i)); |
| | | } |
| | | return pageRecord; |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/{id}/auth") |