| | |
| | | import com.zy.acs.manager.common.utils.ExcelUtil; |
| | | import com.zy.acs.manager.manager.entity.Code; |
| | | import com.zy.acs.manager.manager.entity.CodeGap; |
| | | import com.zy.acs.manager.manager.entity.FuncSta; |
| | | import com.zy.acs.manager.manager.entity.Route; |
| | | import com.zy.acs.manager.manager.enums.StatusType; |
| | | import com.zy.acs.manager.manager.service.CodeGapService; |
| | | import com.zy.acs.manager.manager.service.CodeService; |
| | | import com.zy.acs.manager.manager.service.FuncStaService; |
| | | import com.zy.acs.manager.manager.service.RouteService; |
| | | import com.zy.acs.manager.manager.service.impl.CodeServiceImpl; |
| | | import com.zy.acs.manager.system.controller.BaseController; |
| | |
| | | private CodeGapService codeGapService; |
| | | @Autowired |
| | | private RouteService routeService; |
| | | @Autowired |
| | | private FuncStaService funcStaService; |
| | | |
| | | @PreAuthorize("hasAuthority('manager:code:list')") |
| | | @PostMapping("/code/page") |
| | |
| | | @GetMapping("/code/{id}") |
| | | public R get(@PathVariable("id") Long id) { |
| | | return R.ok().add(codeService.getCacheById(id)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:code:list')") |
| | | @PostMapping("/code/info") |
| | | public R info(@RequestParam(required = false) String codeData) { |
| | | if (Cools.isEmpty(codeData)) { |
| | | return R.error(); |
| | | } |
| | | Code code = codeService.getCacheByData(codeData); |
| | | if (code == null) { |
| | | return R.error("Code Not Found"); |
| | | } |
| | | return R.ok().add(code); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:code:list')") |
| | | @PostMapping("/code/route/list") |
| | | public R routeList(@RequestParam(required = false) String codeData) { |
| | | if (Cools.isEmpty(codeData)) { |
| | | return R.error(); |
| | | } |
| | | Code code = codeService.getCacheByData(codeData); |
| | | if (code == null) { |
| | | return R.ok().add(Collections.emptyList()); |
| | | } |
| | | List<Route> routeList = routeService.list(new LambdaQueryWrapper<Route>() |
| | | .eq(Route::getStatus, StatusType.ENABLE.val) |
| | | .and(wrapper -> wrapper.eq(Route::getStartCode, code.getId()).or().eq(Route::getEndCode, code.getId())) |
| | | .orderByAsc(Route::getId)); |
| | | return R.ok().add(routeList); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:code:list')") |
| | | @PostMapping("/code/funcSta/list") |
| | | public R funcStaList(@RequestParam(required = false) String codeData) { |
| | | if (Cools.isEmpty(codeData)) { |
| | | return R.error(); |
| | | } |
| | | Code code = codeService.getCacheByData(codeData); |
| | | if (code == null) { |
| | | return R.ok().add(Collections.emptyList()); |
| | | } |
| | | List<FuncSta> funcStaList = funcStaService.list(new LambdaQueryWrapper<FuncSta>() |
| | | .eq(FuncSta::getCode, code.getId()) |
| | | .eq(FuncSta::getStatus, StatusType.ENABLE.val) |
| | | .orderByAsc(FuncSta::getId)); |
| | | return R.ok().add(funcStaList); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:code:save')") |
| | |
| | | CodeServiceImpl.CODE_ID_CACHE.put(code.getId(), code); |
| | | CodeServiceImpl.CODE_DATA_CACHE.put(code.getData(), code); |
| | | } |
| | | List<Long> affectedCodeIds = Utils.singletonList(code.getId()); |
| | | affectedCodeIds.add(code.getId()); |
| | | affectedCodeIds.addAll(routeService.getAdjacencyNode(code.getId())); |
| | | codeService.refreshCornerByCodeIds(affectedCodeIds); |
| | | return R.ok("Update Success").add(code); |
| | | } |
| | | |
| | |
| | | @PostMapping("/code/remove/{ids}") |
| | | @Transactional |
| | | public R remove(@PathVariable Long[] ids) { |
| | | List<Long> affectedCodeIds = new ArrayList<>(); |
| | | for (Long id : ids) { |
| | | Code code = codeService.getById(id); |
| | | if (null == code) { |
| | | continue; |
| | | } |
| | | affectedCodeIds.addAll(routeService.getAdjacencyNode(code.getId())); |
| | | codeGapService.remove(new LambdaQueryWrapper<CodeGap>().eq(CodeGap::getCode0, code.getId()).or().eq(CodeGap::getCode1, code.getId())); |
| | | routeService.remove(new LambdaQueryWrapper<Route>().eq(Route::getStartCode, code.getId()).or().eq(Route::getEndCode, code.getId())); |
| | | if (!codeService.removeById(id)) { |
| | |
| | | CodeServiceImpl.CODE_DATA_CACHE.remove(code.getData()); |
| | | } |
| | | } |
| | | codeService.refreshCornerByCodeIds(affectedCodeIds); |
| | | return R.ok("Delete Success").add(ids); |
| | | } |
| | | |
| | |
| | | public R importBatch(@RequestBody List<Map<String, Object>> list) { |
| | | Date now = new Date(); Long userId = getLoginUserId(); |
| | | for (Map<String, Object> map : list) { |
| | | Code code = Cools.conver(map, Code.class); |
| | | Code code = Cools.convert(map, Code.class); |
| | | if (null != codeService.getCacheByData(code.getData())) { |
| | | continue; |
| | | } |