| | |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.param.AbnormalLocDetlParam; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | |
| | | 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))); |
| | |
| | | .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)); |
| | | } |
| | | |
| | |
| | | @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) { |
| | |
| | | |
| | | /**********************************************************异常库存相关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, |
| | | @RequestParam(required = false) String condition, |
| | | @RequestParam Map<String, Object> param) { |
| | | |
| | | List<LocDetl> result = new ArrayList<>(); |
| | | // 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())); |
| | | locDetl.setStoreMax(mat.getStoreMax()); |
| | | locDetl.setStoreMaxDate(mat.getStoreMaxDate()); |
| | | locDetl.setStoreMin(mat.getStoreMin()); |
| | | if (Cools.isEmpty(mat) |
| | | || Cools.isEmpty(mat.getStoreMax()) |
| | | || Cools.isEmpty(mat.getStoreMaxDate()) |
| | | || Cools.isEmpty(mat.getStoreMin())) { |
| | | continue; |
| | | } else 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()); |
| | | long time = maxDate.getTime(); |
| | | Date now = new Date(); |
| | | long time1 = now.getTime(); |
| | | locDetl.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (locDetl.getAnfme() > mat.getStoreMax()) { |
| | | result.add(locDetl); |
| | | continue; |
| | | } else if (locDetl.getAnfme() < mat.getStoreMin()) { |
| | | result.add(locDetl); |
| | | if (Cools.isEmpty(mat)) { |
| | | continue; |
| | | } |
| | | |
| | | try { |
| | | SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); |
| | | Date maxDate = simple.parse(locDetl.getBatch()); |
| | | Calendar calendar = new GregorianCalendar(); |
| | | calendar.setTime(maxDate); |
| | | // 把日期往后增加一天,整数 往后推,负数往前移动 |
| | | calendar.add(Calendar.DATE, mat.getStoreMaxDate()); |
| | | // 这个时间就是日期往后推一天的结果 |
| | | maxDate = calendar.getTime(); |
| | | Date now = new Date(); |
| | | if (now.compareTo(maxDate) > 0) { |
| | | result.add(locDetl); |
| | | |
| | | 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); |
| | | } |
| | | } catch (Exception e) { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | Page<LocDetl> locDetlPage = new Page<>(); |
| | | Page<AbnormalLocDetlParam> locDetlPage = new Page<>(); |
| | | locDetlPage.setRecords(paging(result, curr, limit)); |
| | | locDetlPage.setTotal(result.size()); |
| | | locDetlPage.setCurrent(curr); |
| | |
| | | return R.ok(locDetlPage); |
| | | } |
| | | |
| | | private List<LocDetl> paging(List<LocDetl> result, Integer curr, Integer limit) { |
| | | List<LocDetl> pageRecord = new ArrayList<LocDetl>(); |
| | | @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()); |
| | | Date maxDate = locDetl.getModiTime(); |
| | | Calendar calendar = new GregorianCalendar(); |
| | | calendar.setTime(maxDate); |
| | | // 把日期往后增加一天,整数 往后推,负数往前移动 |
| | | calendar.add(Calendar.DATE, mat.getStoreMaxDate()); |
| | | // 这个时间就是日期往后推一天的结果 |
| | | maxDate = calendar.getTime(); |
| | | Date now = new Date(); |
| | | abnormalLocDetlParam.setLocNo(locDetl.getLocNo()); |
| | | 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()); |
| | | 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) { |
| | | System.out.println(e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | |
| | | 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) { |