| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.constraints.Size; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | |
| | | locMastService.insertBatch(list); |
| | | return R.ok("初始化成功"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locMast/list/auth/lev") |
| | | @ManagerAuth |
| | | public R listLev(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | | @RequestParam(required = false)String orderByField, |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | excludeTrash(param); |
| | | EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); |
| | | convertLev(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | return R.ok(locMastService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | private <T> void convertLev(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | String sizeValue = null; |
| | | |
| | | // 第一步:先处理size参数 |
| | | if (map.containsKey("size")) { |
| | | sizeValue = String.valueOf(map.get("size")); |
| | | map.remove("size"); // 从map中移除,避免后面重复处理 |
| | | |
| | | if (sizeValue.equals("2000*1500*170")){ |
| | | wrapper.in("lev1", Arrays.asList(4, 5)).andNew().eq("crn_no", 1); |
| | | }else if (sizeValue.equals("1500*1500*170")){ |
| | | wrapper.in("lev1", Arrays.asList(1, 2, 3)).andNew().eq("crn_no", 1); |
| | | }else if (sizeValue.equals("2600*1500*160")){ |
| | | wrapper.in("lev1", Arrays.asList(1, 2)).andNew().eq("crn_no", 2); |
| | | }else if (sizeValue.equals("1300*1500*160")){ |
| | | wrapper.in("lev1", Arrays.asList(3, 4, 5, 6)).andNew().eq("crn_no", 2); |
| | | } |
| | | } |
| | | |
| | | // 第二步:处理其他参数 |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | String key = entry.getKey(); |
| | | String val = String.valueOf(entry.getValue()); |
| | | |
| | | if (val.contains(RANGE_TIME_LINK)){ |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(key, DateUtils.convert(dates[0])); |
| | | wrapper.le(key, DateUtils.convert(dates[1])); |
| | | } else if (key.equals("loc_no")){ |
| | | wrapper.like(key, val); |
| | | } else { |
| | | wrapper.eq(key, val); |
| | | } |
| | | } |
| | | |
| | | // 第三步:如果没有size参数,则添加默认条件 |
| | | if (sizeValue == null) { |
| | | wrapper.eq("loc_sts", "D"); |
| | | } else { |
| | | // 如果有size参数,添加loc_sts != 'Y'的条件 |
| | | wrapper.and().ne("loc_sts", "Y"); |
| | | } |
| | | } |
| | | } |