|  |  | 
 |  |  |         return R.ok(basCrnErrorService.selectPage(new Page<>(curr, limit), wrapper)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void convert(Map<String, Object> map, EntityWrapper wrapper){ | 
 |  |  |     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ | 
 |  |  |         for (Map.Entry<String, Object> entry : map.entrySet()){ | 
 |  |  |             if (entry.getKey().endsWith(">")) { | 
 |  |  |                 wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
 |  |  |             } else if (entry.getKey().endsWith("<")) { | 
 |  |  |                 wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
 |  |  |             String val = String.valueOf(entry.getValue()); | 
 |  |  |             if (val.contains(RANGE_TIME_LINK)){ | 
 |  |  |                 String[] dates = val.split(RANGE_TIME_LINK); | 
 |  |  |                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); | 
 |  |  |                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); | 
 |  |  |             } else { | 
 |  |  |                 wrapper.eq(entry.getKey(), String.valueOf(entry.getValue())); | 
 |  |  |                 wrapper.like(entry.getKey(), val); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/basCrnError/add/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     @ManagerAuth(memo = "堆垛机异常码添加") | 
 |  |  |     public R add(BasCrnError basCrnError) { | 
 |  |  |         basCrnError.setModiUser(getUserId()); | 
 |  |  |         basCrnError.setModiTime(new Date()); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |    @RequestMapping(value = "/basCrnError/update/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     @ManagerAuth(memo = "堆垛机异常码修改") | 
 |  |  |     public R update(BasCrnError basCrnError){ | 
 |  |  |         if (Cools.isEmpty(basCrnError) || null==basCrnError.getErrorCode()){ | 
 |  |  |             return R.error(); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/basCrnError/delete/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     @ManagerAuth(memo = "堆垛机异常码删除") | 
 |  |  |     public R delete(@RequestParam String param){ | 
 |  |  |         List<BasCrnError> list = JSONArray.parseArray(param, BasCrnError.class); | 
 |  |  |         if (Cools.isEmpty(list)){ | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/basCrnError/export/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     @ManagerAuth(memo = "堆垛机异常码导出") | 
 |  |  |     public R export(@RequestBody JSONObject param){ | 
 |  |  |         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); | 
 |  |  |         EntityWrapper<BasCrnError> wrapper = new EntityWrapper<>(); |