6 changed files with 108 additions and 5 deletions
@ -0,0 +1,83 @@
|
||||
package com.biutag.supervision.controller.system; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.biutag.supervision.pojo.Result; |
||||
import com.biutag.supervision.pojo.entity.SupDepart; |
||||
import com.biutag.supervision.pojo.entity.SupExternalDepart; |
||||
import com.biutag.supervision.pojo.param.DepartMapingQueryParam; |
||||
import com.biutag.supervision.service.SupDepartService; |
||||
import com.biutag.supervision.service.SupExternalDepartService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @author wxc |
||||
* @date 2024/12/30 |
||||
*/ |
||||
@RequiredArgsConstructor |
||||
@RequestMapping("depart/maping") |
||||
@RestController |
||||
public class DepartMapingController { |
||||
|
||||
private final SupExternalDepartService externalDepartService; |
||||
|
||||
private final SupDepartService departService; |
||||
|
||||
@GetMapping("{source}") |
||||
public Result<Page<SupExternalDepart>> list(@PathVariable String source, DepartMapingQueryParam queryParam) { |
||||
LambdaQueryWrapper<SupExternalDepart> queryWrapper = new LambdaQueryWrapper<>(); |
||||
queryWrapper |
||||
.eq(SupExternalDepart::getSource, source) |
||||
.like(StrUtil.isNotBlank(queryParam.getExternalId()), SupExternalDepart::getExternalId, queryParam.getExternalId()) |
||||
.like(StrUtil.isNotBlank(queryParam.getExternalName()), SupExternalDepart::getExternalName, queryParam.getExternalName()) |
||||
.eq(StrUtil.isNotBlank(queryParam.getInternalId()), SupExternalDepart::getInternalId, queryParam.getInternalId()); |
||||
Page<SupExternalDepart> page = externalDepartService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); |
||||
return Result.success(page); |
||||
} |
||||
|
||||
@PostMapping |
||||
public Result<Void> add(@RequestBody SupExternalDepart data) { |
||||
if (externalDepartService.exists(new LambdaQueryWrapper<SupExternalDepart>() |
||||
.eq(SupExternalDepart::getSource, data.getSource()).eq(SupExternalDepart::getExternalId, data.getExternalId()))) { |
||||
throw new RuntimeException(String.format("%s 单位编码【%s】已存在", data.getSource(), data.getExternalId())); |
||||
} |
||||
data.setUpdateTime(LocalDateTime.now()); |
||||
data.setCreateTime(LocalDateTime.now()); |
||||
SupDepart depart = departService.getById(data.getInternalId()); |
||||
|
||||
data.setInternalName(depart.getName()); |
||||
data.setInternalShortName(depart.getShortName()); |
||||
data.setPid(depart.getPid()); |
||||
data.setLevel(depart.getLevel()); |
||||
externalDepartService.save(data); |
||||
return Result.success(); |
||||
} |
||||
|
||||
@PutMapping |
||||
public Result<Void> update(@RequestBody SupExternalDepart data) { |
||||
if (externalDepartService.exists(new LambdaQueryWrapper<SupExternalDepart>() |
||||
.eq(SupExternalDepart::getSource, data.getSource()).eq(SupExternalDepart::getExternalId, data.getExternalId()) |
||||
.ne(SupExternalDepart::getId, data.getId()))) { |
||||
throw new RuntimeException(String.format("%s 单位编码【%s】已存在", data.getSource(), data.getExternalId())); |
||||
} |
||||
data.setUpdateTime(LocalDateTime.now()); |
||||
SupDepart depart = departService.getById(data.getInternalId()); |
||||
data.setInternalName(depart.getName()); |
||||
data.setInternalShortName(depart.getShortName()); |
||||
data.setPid(depart.getPid()); |
||||
data.setLevel(depart.getLevel()); |
||||
externalDepartService.updateById(data); |
||||
return Result.success(); |
||||
} |
||||
|
||||
@DeleteMapping("{id}") |
||||
public Result<Void> del(@PathVariable String id) { |
||||
externalDepartService.removeById(id); |
||||
return Result.success(); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,20 @@
|
||||
package com.biutag.supervision.pojo.param; |
||||
|
||||
import lombok.Getter; |
||||
import lombok.Setter; |
||||
|
||||
/** |
||||
* @author wxc |
||||
* @date 2024/12/30 |
||||
*/ |
||||
@Setter |
||||
@Getter |
||||
public class DepartMapingQueryParam extends BasePage { |
||||
|
||||
private String externalId; |
||||
|
||||
// 外部单位名称
|
||||
private String externalName; |
||||
|
||||
private String internalId; |
||||
} |
||||
Loading…
Reference in new issue