diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index b5e41b843..582231a55 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -26,6 +26,9 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; +/** + * 海康 + */ @Slf4j @Component public class AsyncHikvision { diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzProjectOrgController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzProjectOrgController.java new file mode 100644 index 000000000..2e675bc33 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzProjectOrgController.java @@ -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> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzProjectOrgService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询星纵-项目组织机构信息", notes = "列表查询星纵-项目组织机构信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzProjectOrgService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param xzProjectOrg + * @return + */ + @ApiOperation(value = "添加星纵-项目组织机构信息", notes = "添加星纵-项目组织机构信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate XzProjectOrg xzProjectOrg) { + xzProjectOrgService.add(xzProjectOrg); + return Result.ok(); + } + + /** + * 编辑 + * + * @param xzProjectOrg + * @return + */ + @ApiOperation(value = "编辑星纵-项目组织机构信息", notes = "编辑星纵-项目组织机构信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result 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 delete(@ApiIgnore @RequestBody HashMap 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 queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + XzProjectOrg xzProjectOrg = xzProjectOrgService.getById(id); + if (xzProjectOrg == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(xzProjectOrg); + result.setSuccess(true); + } + return result; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java new file mode 100644 index 000000000..c0816cd7c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java @@ -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; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java new file mode 100644 index 000000000..6955766a6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzProjectOrgMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzProjectOrgMapper.xml new file mode 100644 index 000000000..f5ab8f0b4 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzProjectOrgMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java new file mode 100644 index 000000000..d45567f1a --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java @@ -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 { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); + + void add(XzProjectOrg xzProjectOrg); + + void edit(XzProjectOrg xzProjectOrg); + + void delete(String id); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java new file mode 100644 index 000000000..3b63c5da5 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java @@ -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 implements IXzProjectOrgService { + @Autowired + private XzProjectOrgMapper xzProjectOrgMapper; + + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(this.list(queryWrapper)); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + String alias = ""; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(XzProjectOrg.class, paramMap, alias); + queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(XzProjectOrg::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(XzProjectOrg xzProjectOrg) { + xzProjectOrg.setId(null); + XzProjectOrg pOrg = xzProjectOrgMapper.selectOne(new LambdaQueryWrapper() + .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); + } + + +}