| | |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam(required = false)String condition, |
| | | @RequestParam Map<String, Object> param){ |
| | | |
| | | EntityWrapper<BasArmMast> wrapper = new EntityWrapper<>(); |
| | | |
| | | // ===================== 1. 手动处理 binding_tags 的精确匹配(字符串形式) ===================== |
| | | if (param.containsKey("binding_tags")) { |
| | | String tag = String.valueOf(param.get("binding_tags")).trim(); |
| | | if (!tag.isEmpty()) { |
| | | wrapper.eq("binding_tags", tag); |
| | | System.out.println("手动添加精确条件: binding_tags = " + tag); |
| | | } |
| | | // 可选:移除原 param,防止 allLike 再次干扰(如果 allLike 会重复加条件) |
| | | // param.remove("binding_tags"); |
| | | } |
| | | |
| | | // ===================== 2. 其他原有处理逻辑(模糊搜索等) ===================== |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | allLike(BasArmMast.class, param.keySet(), wrapper, condition); |
| | | |
| | | // 排序 |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | wrapper.orderBy("create_time", false); |
| | | |
| | | // 分页查询 |
| | | Page<BasArmMast> page = new Page<>(curr, limit); |
| | | Page<BasArmMast> resultPage = basArmMastService.selectPage(page, wrapper); |
| | | |
| | | // ===================== 3. 返回数据处理(转字符串,防止前端精度丢失) ===================== |
| | | List<Map<String, Object>> newRecords = new ArrayList<>(); |
| | | for (BasArmMast item : resultPage.getRecords()) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("id", item.getId() != null ? item.getId().toString() : null); // 建议转字符串 |
| | | map.put("armNo", item.getArmNo()); |
| | | map.put("armDirection", item.getArmDirection()); |
| | | map.put("staNo", item.getStaNo()); |
| | | map.put("sortingLine", item.getSortingLine()); |
| | | map.put("bindingTags", item.getBindingTags() != null ? item.getBindingTags().toString() : null); |
| | | map.put("priority", item.getPriority()); |
| | | map.put("status", item.getStatus()); |
| | | map.put("matnr", item.getMatnr()); |
| | | map.put("sku", item.getSku()); |
| | | map.put("po", item.getPo()); |
| | | map.put("upc", item.getUpc()); |
| | | map.put("supplier", item.getSupplier()); |
| | | map.put("orderNo", item.getOrderNo()); |
| | | map.put("ctns", item.getCtns()); |
| | | map.put("createTime", item.getCreateTime() != null ? item.getCreateTime().toString() : null); |
| | | map.put("armError", item.getArmError() != null ? item.getArmError().toString() : null); // 建议转 |
| | | map.put("armMsg", item.getArmMsg()); |
| | | map.put("barcode", item.getBarcode()); |
| | | map.put("status$", item.getStatus$()); |
| | | |
| | | newRecords.add(map); |
| | | } |
| | | |
| | | // 构造返回结构 |
| | | Map<String, Object> resultMap = new HashMap<>(); |
| | | resultMap.put("total", resultPage.getTotal()); |
| | | resultMap.put("size", resultPage.getSize()); |
| | | resultMap.put("current", resultPage.getCurrent()); |
| | | resultMap.put("pages", resultPage.getPages()); |
| | | resultMap.put("records", newRecords); |
| | | |
| | | return R.ok(resultMap); |
| | | } |
| | | @RequestMapping(value = "/basArmMast/listArm/auth") |
| | | @ManagerAuth |
| | | public R listArm(@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) { |
| | | EntityWrapper<BasArmMast> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | allLike(BasArmMast.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | wrapper.orderBy("create_time",false); |
| | | return R.ok(basArmMastService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | wrapper.orderBy("create_time", false); |
| | | |
| | | // 如果不需要分页,使用 selectList() 获取所有数据 |
| | | List<BasArmMast> allData = basArmMastService.selectList(wrapper); |
| | | |
| | | return R.ok(allData); // 直接返回所有数据 |
| | | } |
| | | |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | String val = String.valueOf(entry.getValue()); |