项目组织机构

This commit is contained in:
guo 2024-04-08 20:22:11 +08:00
parent 0c2eba560f
commit 4442da6b79
7 changed files with 363 additions and 0 deletions

View File

@ -26,6 +26,9 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 海康
*/
@Slf4j
@Component
public class AsyncHikvision {

View File

@ -0,0 +1,128 @@
package com.zhgd.xmgl.modules.xz.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import com.zhgd.jeecg.common.api.vo.Result;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService;
import org.simpleframework.xml.core.Validate;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Title: Controller
* @Description: 星纵-项目组织机构
* @author pds
* @date 2024-04-08
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/xzProjectOrg")
@Slf4j
@Api(tags = "星纵-项目组织机构相关Api")
public class XzProjectOrgController {
@Autowired
private IXzProjectOrgService xzProjectOrgService;
/**
* 分页列表查询
*
* @return
*/
@ApiOperation(value = "分页列表查询星纵-项目组织机构信息", notes = "分页列表查询星纵-项目组织机构信息", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
})
@GetMapping(value = "/page")
public Result<IPage<XzProjectOrg>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(xzProjectOrgService.queryPageList(paramMap));
}
/**
* 列表查询
*
* @return
*/
@ApiOperation(value = "列表查询星纵-项目组织机构信息", notes = "列表查询星纵-项目组织机构信息", httpMethod = "GET")
@GetMapping(value = "/list")
public Result<List<XzProjectOrg>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(xzProjectOrgService.queryList(paramMap));
}
/**
* 添加
*
* @param xzProjectOrg
* @return
*/
@ApiOperation(value = "添加星纵-项目组织机构信息", notes = "添加星纵-项目组织机构信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<XzProjectOrg> add(@RequestBody @Validate XzProjectOrg xzProjectOrg) {
xzProjectOrgService.add(xzProjectOrg);
return Result.ok();
}
/**
* 编辑
*
* @param xzProjectOrg
* @return
*/
@ApiOperation(value = "编辑星纵-项目组织机构信息", notes = "编辑星纵-项目组织机构信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<XzProjectOrg> edit(@RequestBody XzProjectOrg xzProjectOrg) {
xzProjectOrgService.edit(xzProjectOrg);
return Result.ok();
}
/**
* 通过id删除
*
* @return
*/
@ApiOperation(value = "删除星纵-项目组织机构信息", notes = "删除星纵-项目组织机构信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "星纵-项目组织机构ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
@PostMapping(value = "/delete")
public Result<XzProjectOrg> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
xzProjectOrgService.delete(MapUtils.getString(map, "id"));
return Result.ok();
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value = "通过id查询星纵-项目组织机构信息", notes = "通过id查询星纵-项目组织机构信息", httpMethod = "GET")
@ApiImplicitParam(name = "id", value = "星纵-项目组织机构ID", paramType = "query", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<XzProjectOrg> queryById(@RequestParam(name = "id", required = true) String id) {
Result<XzProjectOrg> result = new Result<XzProjectOrg>();
XzProjectOrg xzProjectOrg = xzProjectOrgService.getById(id);
if (xzProjectOrg == null) {
result.error500("未找到对应实体");
} else {
result.setResult(xzProjectOrg);
result.setSuccess(true);
}
return result;
}
}

View File

@ -0,0 +1,98 @@
package com.zhgd.xmgl.modules.xz.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 星纵-项目组织机构
* @author pds
* @date 2024-04-08
* @version V1.0
*/
@Data
@TableName("xz_project_org")
@ApiModel(value = "XzProjectOrg实体类", description = "XzProjectOrg")
public class XzProjectOrg implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.Long id;
/**
* 父部门id
*/
@Excel(name = "父部门id", width = 15)
@ApiModelProperty(value = "父部门id")
private java.lang.Long parentId;
/**
* 祖级列表
*/
@Excel(name = "祖级列表", width = 15)
@ApiModelProperty(value = "祖级列表")
private java.lang.String ancestors;
/**
* 部门名称
*/
@Excel(name = "部门名称", width = 15)
@ApiModelProperty(value = "部门名称")
private java.lang.String deptName;
/**
* 显示顺序
*/
@Excel(name = "显示顺序", width = 15)
@ApiModelProperty(value = "显示顺序")
private java.lang.Integer orderNum;
/**
* 负责人
*/
@Excel(name = "负责人", width = 15)
@ApiModelProperty(value = "负责人")
private java.lang.String leader;
/**
* 联系电话
*/
@Excel(name = "联系电话", width = 15)
@ApiModelProperty(value = "联系电话")
private java.lang.String phone;
/**
* 邮箱
*/
@Excel(name = "邮箱", width = 15)
@ApiModelProperty(value = "邮箱")
private java.lang.String email;
/**
* 部门状态0正常 1停用
*/
@Excel(name = "部门状态0正常 1停用", width = 15)
@ApiModelProperty(value = "部门状态0正常 1停用")
private java.lang.String status;
/**
* 创建时间 yyyy-MM-dd HH:mm:ss
*/
@Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss")
private java.util.Date createTime;
/**
* 更新时间 yyyy-MM-dd HH:mm:ss
*/
@Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
private java.util.Date updateTime;
}

View File

@ -0,0 +1,16 @@
package com.zhgd.xmgl.modules.xz.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 星纵-项目组织机构
* @author pds
* @date 2024-04-08
* @version V1.0
*/
@Mapper
public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper">
</mapper>

View File

@ -0,0 +1,27 @@
package com.zhgd.xmgl.modules.xz.service;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 星纵-项目组织机构
* @author pds
* @date 2024-04-08
* @version V1.0
*/
public interface IXzProjectOrgService extends IService<XzProjectOrg> {
IPage<XzProjectOrg> queryPageList(HashMap<String, Object> paramMap);
List<XzProjectOrg> queryList(HashMap<String, Object> paramMap);
void add(XzProjectOrg xzProjectOrg);
void edit(XzProjectOrg xzProjectOrg);
void delete(String id);
}

View File

@ -0,0 +1,87 @@
package com.zhgd.xmgl.modules.xz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper;
import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.HashMap;
import java.util.List;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 星纵-项目组织机构
* @author pds
* @date 2024-04-08
* @version V1.0
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class XzProjectOrgServiceImpl extends ServiceImpl<XzProjectOrgMapper, XzProjectOrg> implements IXzProjectOrgService {
@Autowired
private XzProjectOrgMapper xzProjectOrgMapper;
@Override
public IPage<XzProjectOrg> queryPageList(HashMap<String, Object> paramMap) {
QueryWrapper<XzProjectOrg> queryWrapper = getQueryWrapper(paramMap);
Page<XzProjectOrg> page = PageUtil.getPage(paramMap);
IPage<XzProjectOrg> pageList = this.page(page, queryWrapper);
pageList.setRecords(dealList(pageList.getRecords()));
return pageList;
}
@Override
public List<XzProjectOrg> queryList(HashMap<String, Object> paramMap) {
QueryWrapper<XzProjectOrg> queryWrapper = getQueryWrapper(paramMap);
return dealList(this.list(queryWrapper));
}
private QueryWrapper<XzProjectOrg> getQueryWrapper(HashMap<String, Object> paramMap) {
String alias = "";
QueryWrapper<XzProjectOrg> queryWrapper = QueryGenerator.initPageQueryWrapper(XzProjectOrg.class, paramMap, alias);
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(XzProjectOrg::getId));
return queryWrapper;
}
private List<XzProjectOrg> dealList(List<XzProjectOrg> list) {
return list;
}
@Override
public void add(XzProjectOrg xzProjectOrg) {
xzProjectOrg.setId(null);
XzProjectOrg pOrg = xzProjectOrgMapper.selectOne(new LambdaQueryWrapper<XzProjectOrg>()
.eq(XzProjectOrg::getId, xzProjectOrg.getParentId()));
if (pOrg != null) {
xzProjectOrg.setAncestors(pOrg.getAncestors() + "," + pOrg.getId());
}
baseMapper.insert(xzProjectOrg);
}
@Override
public void edit(XzProjectOrg xzProjectOrg) {
baseMapper.updateById(xzProjectOrg);
}
@Override
public void delete(String id) {
XzProjectOrg xzProjectOrg = baseMapper.selectById(id);
if (xzProjectOrg == null) {
throw new OpenAlertException("未找到对应实体");
}
baseMapper.deleteById(id);
}
}