package com.consum.base.controller;
|
|
import com.consum.base.BaseController;
|
import com.consum.base.pojo.FinSysTenantParam;
|
import com.consum.base.pojo.FinSysTenantSearchParam;
|
import com.consum.base.service.FinSysTenantServiceImpl;
|
import com.consum.model.po.FinSysTenant;
|
import com.consum.model.po.FinSysTenantUser;
|
import com.walker.db.page.GenericPager;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.web.ResponseValue;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.HashMap;
|
|
/**
|
* @Description 系统机构
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@RestController
|
@RequestMapping("/pc/fin/sys/tenant")
|
public class FinSysTenantController extends BaseController {
|
|
@Autowired
|
private FinSysTenantServiceImpl finSysTenantService;
|
|
/**
|
* 添加机构
|
* @author 卢庆阳
|
* @date 2023/10/4
|
*/
|
@PostMapping("/add")
|
public ResponseValue add(@RequestBody FinSysTenantParam param){
|
if (param == null) {
|
return ResponseValue.error("参数为空");
|
}
|
if (StringUtils.isEmpty(param.getCode())) {
|
return ResponseValue.error("机构编号为空");
|
}
|
if (StringUtils.isEmpty(param.getName())) {
|
return ResponseValue.error("机构名称为空");
|
}
|
if (param.getParentId() == null) {
|
return ResponseValue.error("上级机构不存在");
|
}
|
//根据机构id查询机构
|
FinSysTenant sysTenant = this.finSysTenantService.selectByTenantId(param.getCode());
|
if (sysTenant != null) {
|
return ResponseValue.error("机构编号已存在");
|
}
|
String parentIdStr = param.getParentId() + "";
|
int lv = parentIdStr.length() / 3 + 1;
|
if (lv > 4) {
|
return ResponseValue.error("不能创建支局以下机构");
|
}
|
|
int num = this.finSysTenantService.addSysTenant(param,this.getCurrentUser(),lv);
|
if(num>0) return ResponseValue.success(1);
|
return ResponseValue.error("插入失败!");
|
}
|
|
/**
|
* @Description 分页列表查询
|
* @Author 卢庆阳
|
* @Date 2023/10/24
|
*/
|
// @RequestMapping("/select/list")
|
@RequestMapping("/select/list")
|
public ResponseValue allocatedList(FinSysTenantSearchParam param) {
|
FinSysTenantUser sysInfo = getSysInfo();
|
if (sysInfo == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
GenericPager<FinSysTenant> pager = null;
|
StringBuilder whStr = new StringBuilder("where 1=1 and is_delete = 0 ");
|
HashMap<String, Object> paramts = new HashMap<>();
|
if (param.getTenantId() == null) {
|
if (sysInfo.getLv() != 1) {
|
whStr.append(" and parent_id=:parent_id");
|
paramts.put("parent_id", sysInfo.getTenantId());
|
}
|
}
|
if (param.getStatus() != null) {
|
whStr.append(" and status = :status");
|
paramts.put("status", param.getStatus());
|
}
|
if (param.getTenantId() != null && param.getTenantId() != 0) {
|
whStr.append(" and parent_id=:parent_id");
|
paramts.put("parent_id", param.getTenantId());
|
}
|
if (param.getName() != null && !param.getName().equals("")) {
|
whStr.append(" and name like:name");
|
paramts.put("name", "%" + param.getName() + "%");
|
}
|
if (param.getCode() != null && !param.getCode().equals("")) {
|
whStr.append(" and code=:code");
|
paramts.put("code", param.getCode());
|
}
|
whStr.append(" order by code ASC ");
|
pager = this.finSysTenantService.selectSplit(new FinSysTenant(), whStr.toString(), paramts);
|
return ResponseValue.success(pager);
|
}
|
|
}
|