自动化立体仓库 - WMS系统
123
zhang
3 天以前 21d0e7ab9d5c7316225a3e9eecf465cd37c9bd85
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));
    }
@@ -301,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,
@@ -326,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());
@@ -346,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);
                    // 把日期往后增加一天,整数  往后推,负数往前移动
@@ -367,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());
@@ -376,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());
                }
            }
        }