| | |
| | | import com.vincent.rsf.server.common.domain.KeyValVo; |
| | | import com.vincent.rsf.server.common.domain.PageParam; |
| | | import com.vincent.rsf.server.manager.entity.LocType; |
| | | import com.vincent.rsf.server.manager.entity.MatnrGroup; |
| | | import com.vincent.rsf.server.manager.service.LocTypeService; |
| | | import com.vincent.rsf.server.manager.utils.buildPageRowsUtils; |
| | | import com.vincent.rsf.server.system.controller.BaseController; |
| | | import io.swagger.annotations.Api; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import java.util.*; |
| | | |
| | | @Api(tags = "库位类型") |
| | | @RestController |
| | | public class LocTypeController extends BaseController { |
| | | |
| | |
| | | public R page(@RequestBody Map<String, Object> map) { |
| | | BaseParam baseParam = buildParam(map, BaseParam.class); |
| | | PageParam<LocType, BaseParam> pageParam = new PageParam<>(baseParam, LocType.class); |
| | | return R.ok().add(locTypeService.page(pageParam, pageParam.buildWrapper(true))); |
| | | PageParam<LocType, BaseParam> page = locTypeService.page(pageParam, pageParam.buildWrapper(true)); |
| | | return R.ok().add(buildPageRowsUtils.rowsMap(page)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:list')") |
| | | @PostMapping("/locType/list") |
| | | public R list(@RequestBody Map<String, Object> map) { |
| | | return R.ok().add(locTypeService.list()); |
| | | return R.ok().add(buildPageRowsUtils.rowsMap(locTypeService.list())); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:list')") |
| | | @PostMapping({"/locType/many/{ids}", "/locTypes/many/{ids}"}) |
| | | public R many(@PathVariable Long[] ids) { |
| | | return R.ok().add(locTypeService.listByIds(Arrays.asList(ids))); |
| | | return R.ok().add(buildPageRowsUtils.rowsMap(locTypeService.listByIds(Arrays.asList(ids)))); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:list')") |
| | | @GetMapping("/locType/{id}") |
| | | public R get(@PathVariable("id") Long id) { |
| | | return R.ok().add(locTypeService.getById(id)); |
| | | return R.ok().add(buildPageRowsUtils.rowsMap(locTypeService.getById(id))); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:save')") |
| | |
| | | if (Objects.isNull(locType.getRegex())) { |
| | | throw new CoolException("库位规则表达式不能为空!!"); |
| | | } |
| | | |
| | | locType.setCreateBy(getLoginUserId()); |
| | | locType.setUpdateBy(getLoginUserId()); |
| | | List<LocType> list = locTypeService.list(new LambdaQueryWrapper<LocType>() |
| | | .eq(LocType::getCode, locType.getCode())); |
| | | if (!list.isEmpty()) { |
| | | throw new CoolException("编码不能重复!!"); |
| | | } |
| | | List<LocType> groups = locTypeService.list(new LambdaQueryWrapper<LocType>() |
| | | .eq(LocType::getName, locType.getName())); |
| | | if (!groups.isEmpty()) { |
| | | throw new CoolException("名称已存在,请勿重复添加!!"); |
| | | } |
| | | |
| | | if (!locTypeService.save(locType)) { |
| | | return R.error("Save Fail"); |
| | | } |
| | | return R.ok("Save Success").add(locType); |
| | | return R.ok("Save Success").add(buildPageRowsUtils.rowsMap(locType)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:update')") |
| | | @OperationLog("Update loc type") |
| | | @PostMapping("/locType/update") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R update(@RequestBody LocType locType) { |
| | | if (Objects.isNull(locType.getName())) { |
| | | throw new CoolException("库位类型不能为空!!"); |
| | | } |
| | | if (Objects.isNull(locType.getCode())) { |
| | | throw new CoolException("库位编码不为空!!"); |
| | | } |
| | | if (Objects.isNull(locType.getRegex())) { |
| | | throw new CoolException("库位规则表达式不能为空!!"); |
| | | } |
| | | |
| | | LocType locType1 = locTypeService.getById(locType.getId()); |
| | | if (!locType.getName().equals(locType1.getName())) { |
| | | List<LocType> areasList = locTypeService.list(new LambdaQueryWrapper<LocType>().eq(LocType::getName, locType.getName())); |
| | | if (!areasList.isEmpty()) { |
| | | throw new CoolException("仓库名已存在!!"); |
| | | } |
| | | } |
| | | if (!locType.getCode().equals(locType1.getCode())) { |
| | | List<LocType> locTypeList = locTypeService.list(new LambdaQueryWrapper<LocType>().eq(LocType::getCode, locType.getCode())); |
| | | if (!locTypeList.isEmpty()) { |
| | | throw new CoolException("仓库编码已存在!!"); |
| | | } |
| | | } |
| | | locType.setUpdateBy(getLoginUserId()); |
| | | locType.setUpdateTime(new Date()); |
| | | if (!locTypeService.updateById(locType)) { |
| | | return R.error("Update Fail"); |
| | | } |
| | | return R.ok("Update Success").add(locType); |
| | | return R.ok("Update Success").add(buildPageRowsUtils.rowsMap(locType)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:remove')") |
| | |
| | | if (!locTypeService.removeByIds(Arrays.asList(ids))) { |
| | | return R.error("Delete Fail"); |
| | | } |
| | | return R.ok("Delete Success").add(ids); |
| | | return R.ok("Delete Success").add(buildPageRowsUtils.rowsMap(ids)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:list')") |
| | |
| | | locTypeService.page(new Page<>(1, 30), wrapper).getRecords().forEach( |
| | | item -> vos.add(new KeyValVo(item.getId(), item.getName())) |
| | | ); |
| | | return R.ok().add(vos); |
| | | return R.ok().add(buildPageRowsUtils.rowsMap(vos)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locType:list')") |
| | | @PostMapping("/locType/export") |
| | | public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { |
| | | ExcelUtil.build(ExcelUtil.create(locTypeService.list(), LocType.class), response); |
| | | ExcelUtil.build(ExcelUtil.create(buildPageRowsUtils.rowsMap(locTypeService.list()), LocType.class), response); |
| | | } |
| | | |
| | | } |