From 1532a9dac96bc88b8c5697d3164b28ced9ee8679 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 1 Apr 2026 16:53:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(ems/base):=20=E6=96=B0=E5=A2=9Eems=5Fbase?= =?UTF-8?q?=5Flocation=5Fjson=E8=A1=A8,=E5=89=8D=E7=AB=AF=E7=94=B5?= =?UTF-8?q?=E8=B7=AF=E5=9B=BE=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmsBaseLocationJsonController.java | 135 +++++++++++++ .../ems/base/domain/EmsBaseLocationJson.java | 52 +++++ .../base/domain/bo/EmsBaseLocationJsonBo.java | 46 +++++ .../base/domain/vo/EmsBaseLocationJsonVo.java | 56 ++++++ .../mapper/EmsBaseLocationJsonMapper.java | 64 +++++++ .../service/IEmsBaseLocationJsonService.java | 92 +++++++++ .../impl/EmsBaseLocationJsonServiceImpl.java | 178 ++++++++++++++++++ .../ems/base/EmsBaseLocationJsonMapper.xml | 83 ++++++++ 8 files changed, 706 insertions(+) create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/controller/EmsBaseLocationJsonController.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/domain/EmsBaseLocationJson.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/domain/bo/EmsBaseLocationJsonBo.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/domain/vo/EmsBaseLocationJsonVo.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/mapper/EmsBaseLocationJsonMapper.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/service/IEmsBaseLocationJsonService.java create mode 100644 ruoyi-ems/src/main/java/org/dromara/ems/base/service/impl/EmsBaseLocationJsonServiceImpl.java create mode 100644 ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseLocationJsonMapper.xml diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/controller/EmsBaseLocationJsonController.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/controller/EmsBaseLocationJsonController.java new file mode 100644 index 0000000..08de256 --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/controller/EmsBaseLocationJsonController.java @@ -0,0 +1,135 @@ +package org.dromara.ems.base.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.ems.base.domain.vo.EmsBaseLocationJsonVo; +import org.dromara.ems.base.domain.bo.EmsBaseLocationJsonBo; +import org.dromara.ems.base.service.IEmsBaseLocationJsonService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 前端电路图使用 + * + * @author zch + * @date 2026-04-01 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/ems\base/emsBaseLocationJson") +public class EmsBaseLocationJsonController extends BaseController { + + private final IEmsBaseLocationJsonService emsBaseLocationJsonService; + + /** + * 查询前端电路图使用列表 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:list") + @GetMapping("/list") + public TableDataInfo list(EmsBaseLocationJsonBo bo, PageQuery pageQuery) { + return emsBaseLocationJsonService.queryPageList(bo, pageQuery); + } + + /** + * 导出前端电路图使用列表 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:export") + @Log(title = "前端电路图使用", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EmsBaseLocationJsonBo bo, HttpServletResponse response) { + List list = emsBaseLocationJsonService.queryList(bo); + ExcelUtil.exportExcel(list, "前端电路图使用", EmsBaseLocationJsonVo.class, response); + } + + /** + * 获取前端电路图使用详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(emsBaseLocationJsonService.queryById(id)); + } + + /** + * 批量获取前端电路图使用详细信息 + * + * @param ids 主键集合 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:query") + @PostMapping("/listByIds") + public R> getInfoByIds(@NotEmpty(message = "主键不能为空") + @RequestBody Long[] ids) { + return R.ok(emsBaseLocationJsonService.queryByIds(List.of(ids))); + } + + /** + * 统计前端电路图使用数量 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:query") + @GetMapping("/count") + public R count(EmsBaseLocationJsonBo bo) { + return R.ok(emsBaseLocationJsonService.queryCount(bo)); + } + + /** + * 判断是否存在符合条件的前端电路图使用 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:query") + @GetMapping("/exists") + public R exists(EmsBaseLocationJsonBo bo) { + return R.ok(emsBaseLocationJsonService.queryExists(bo)); + } + + /** + * 新增前端电路图使用 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:add") + @Log(title = "前端电路图使用", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EmsBaseLocationJsonBo bo) { + return toAjax(emsBaseLocationJsonService.insertByBo(bo)); + } + + /** + * 修改前端电路图使用 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:edit") + @Log(title = "前端电路图使用", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EmsBaseLocationJsonBo bo) { + return toAjax(emsBaseLocationJsonService.updateByBo(bo)); + } + + /** + * 删除前端电路图使用 + * + * @param ids 主键串 + */ + @SaCheckPermission("ems\base:emsBaseLocationJson:remove") + @Log(title = "前端电路图使用", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(emsBaseLocationJsonService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/EmsBaseLocationJson.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/EmsBaseLocationJson.java new file mode 100644 index 0000000..ab47701 --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/EmsBaseLocationJson.java @@ -0,0 +1,52 @@ +package org.dromara.ems.base.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 前端电路图使用对象 ems_base_location_json + * + * @author zch + * @date 2026-04-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("ems_base_location_json") +public class EmsBaseLocationJson extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * json字段 + */ + private String json; + + /** + * 备注 + */ + private String remark; + + /** + * 部门ID + */ + private Long deptId; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + + +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/bo/EmsBaseLocationJsonBo.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/bo/EmsBaseLocationJsonBo.java new file mode 100644 index 0000000..c03e1ca --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/bo/EmsBaseLocationJsonBo.java @@ -0,0 +1,46 @@ +package org.dromara.ems.base.domain.bo; + +import org.dromara.ems.base.domain.EmsBaseLocationJson; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 前端电路图使用业务对象 ems_base_location_json + * + * @author zch + * @date 2026-04-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = EmsBaseLocationJson.class, reverseConvertGenerate = false) +public class EmsBaseLocationJsonBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * json字段 + */ + @NotBlank(message = "json字段不能为空", groups = { AddGroup.class, EditGroup.class }) + private String json; + + /** + * 备注 + */ + private String remark; + + /** + * 部门ID + */ + private Long deptId; + + +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/vo/EmsBaseLocationJsonVo.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/vo/EmsBaseLocationJsonVo.java new file mode 100644 index 0000000..ee8ea03 --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/domain/vo/EmsBaseLocationJsonVo.java @@ -0,0 +1,56 @@ +package org.dromara.ems.base.domain.vo; + +import org.dromara.ems.base.domain.EmsBaseLocationJson; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 前端电路图使用视图对象 ems_base_location_json + * + * @author zch + * @date 2026-04-01 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = EmsBaseLocationJson.class) +public class EmsBaseLocationJsonVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * json字段 + */ + @ExcelProperty(value = "json字段") + private String json; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 部门ID + */ + @ExcelProperty(value = "部门ID") + private Long deptId; + + +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/mapper/EmsBaseLocationJsonMapper.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/mapper/EmsBaseLocationJsonMapper.java new file mode 100644 index 0000000..e0cb921 --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/mapper/EmsBaseLocationJsonMapper.java @@ -0,0 +1,64 @@ +package org.dromara.ems.base.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.ems.base.domain.EmsBaseLocationJson; +import org.dromara.ems.base.domain.vo.EmsBaseLocationJsonVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 前端电路图使用Mapper接口 + * + * @author zch + * @date 2026-04-01 + */ +public interface EmsBaseLocationJsonMapper extends BaseMapperPlus { + + /** + * 走自定义XML查询详情,方便后续在XML中平滑扩展连表字段。 + * + * @param id 主键 + * @return 前端电路图使用详情 + */ + EmsBaseLocationJsonVo selectCustomEmsBaseLocationJsonVoById(@Param("id") Serializable id); + + /** + * 批量查询前端电路图使用详情列表。 + * + * @param idList 主键集合 + * @return 前端电路图使用列表 + */ + List selectCustomEmsBaseLocationJsonVoByIds(@Param(Constants.COLL) Collection idList); + + /** + * 自定义条件查询前端电路图使用列表。 + * + * @param queryWrapper 条件构造器 + * @return 前端电路图使用列表 + */ + List selectCustomEmsBaseLocationJsonVoList(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 自定义条件分页查询前端电路图使用列表。 + * + * @param page 分页参数 + * @param queryWrapper 条件构造器 + * @return 前端电路图使用分页列表 + */ + Page selectCustomEmsBaseLocationJsonVoPage(@Param("page") Page page, + @Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 自定义条件统计数量。 + * + * @param queryWrapper 条件构造器 + * @return 匹配数量 + */ + Long countCustomEmsBaseLocationJson(@Param(Constants.WRAPPER) Wrapper queryWrapper); +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/service/IEmsBaseLocationJsonService.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/service/IEmsBaseLocationJsonService.java new file mode 100644 index 0000000..f68ec3b --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/service/IEmsBaseLocationJsonService.java @@ -0,0 +1,92 @@ +package org.dromara.ems.base.service; + +import org.dromara.ems.base.domain.vo.EmsBaseLocationJsonVo; +import org.dromara.ems.base.domain.bo.EmsBaseLocationJsonBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 前端电路图使用Service接口 + * + * @author zch + * @date 2026-04-01 + */ +public interface IEmsBaseLocationJsonService { + + /** + * 查询前端电路图使用 + * + * @param id 主键 + * @return 前端电路图使用 + */ + EmsBaseLocationJsonVo queryById(Long id); + + /** + * 批量查询前端电路图使用 + * + * @param ids 主键集合 + * @return 前端电路图使用列表 + */ + List queryByIds(Collection ids); + + /** + * 分页查询前端电路图使用列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 前端电路图使用分页列表 + */ + TableDataInfo queryPageList(EmsBaseLocationJsonBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的前端电路图使用列表 + * + * @param bo 查询条件 + * @return 前端电路图使用列表 + */ + List queryList(EmsBaseLocationJsonBo bo); + + /** + * 统计符合条件的前端电路图使用数量 + * + * @param bo 查询条件 + * @return 数量 + */ + Long queryCount(EmsBaseLocationJsonBo bo); + + /** + * 判断是否存在符合条件的前端电路图使用 + * + * @param bo 查询条件 + * @return 是否存在 + */ + Boolean queryExists(EmsBaseLocationJsonBo bo); + + /** + * 新增前端电路图使用 + * + * @param bo 前端电路图使用 + * @return 是否新增成功 + */ + Boolean insertByBo(EmsBaseLocationJsonBo bo); + + /** + * 修改前端电路图使用 + * + * @param bo 前端电路图使用 + * @return 是否修改成功 + */ + Boolean updateByBo(EmsBaseLocationJsonBo bo); + + /** + * 校验并批量删除前端电路图使用信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-ems/src/main/java/org/dromara/ems/base/service/impl/EmsBaseLocationJsonServiceImpl.java b/ruoyi-ems/src/main/java/org/dromara/ems/base/service/impl/EmsBaseLocationJsonServiceImpl.java new file mode 100644 index 0000000..22c3cd0 --- /dev/null +++ b/ruoyi-ems/src/main/java/org/dromara/ems/base/service/impl/EmsBaseLocationJsonServiceImpl.java @@ -0,0 +1,178 @@ +package org.dromara.ems.base.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.dromara.ems.base.domain.bo.EmsBaseLocationJsonBo; +import org.dromara.ems.base.domain.vo.EmsBaseLocationJsonVo; +import org.dromara.ems.base.domain.EmsBaseLocationJson; +import org.dromara.ems.base.mapper.EmsBaseLocationJsonMapper; +import org.dromara.ems.base.service.IEmsBaseLocationJsonService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 前端电路图使用Service业务层处理 + * + * @author zch + * @date 2026-04-01 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class EmsBaseLocationJsonServiceImpl implements IEmsBaseLocationJsonService { + + private final EmsBaseLocationJsonMapper baseMapper; + + /** + * 查询前端电路图使用 + * + * @param id 主键 + * @return 前端电路图使用 + */ + @Override + public EmsBaseLocationJsonVo queryById(Long id){ + return baseMapper.selectCustomEmsBaseLocationJsonVoById(id); + } + + /** + * 批量查询前端电路图使用 + * + * @param ids 主键集合 + * @return 前端电路图使用列表 + */ + @Override + public List queryByIds(Collection ids) { + if (ids == null || ids.isEmpty()) { + // 先拦住空集合,避免生成in ()这种在不同数据库下表现不一致的SQL。 + return List.of(); + } + return baseMapper.selectCustomEmsBaseLocationJsonVoByIds(ids); + } + + /** + * 分页查询前端电路图使用列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 前端电路图使用分页列表 + */ + @Override + public TableDataInfo queryPageList(EmsBaseLocationJsonBo bo, PageQuery pageQuery) { + QueryWrapper queryWrapper = buildQueryWrapper(bo); + Page page = pageQuery.build(); + Page result = baseMapper.selectCustomEmsBaseLocationJsonVoPage(page, queryWrapper); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的前端电路图使用列表 + * + * @param bo 查询条件 + * @return 前端电路图使用列表 + */ + @Override + public List queryList(EmsBaseLocationJsonBo bo) { + QueryWrapper queryWrapper = buildQueryWrapper(bo); + return baseMapper.selectCustomEmsBaseLocationJsonVoList(queryWrapper); + } + + /** + * 统计符合条件的前端电路图使用数量 + * + * @param bo 查询条件 + * @return 数量 + */ + @Override + public Long queryCount(EmsBaseLocationJsonBo bo) { + return baseMapper.countCustomEmsBaseLocationJson(buildQueryWrapper(bo, false)); + } + + /** + * 判断是否存在符合条件的前端电路图使用 + * + * @param bo 查询条件 + * @return 是否存在 + */ + @Override + public Boolean queryExists(EmsBaseLocationJsonBo bo) { + return baseMapper.countCustomEmsBaseLocationJson(buildQueryWrapper(bo, false)) > 0; + } + + private QueryWrapper buildQueryWrapper(EmsBaseLocationJsonBo bo) { + return buildQueryWrapper(bo, true); + } + + private QueryWrapper buildQueryWrapper(EmsBaseLocationJsonBo bo, boolean appendDefaultOrder) { + Map params = bo.getParams(); + QueryWrapper queryWrapper = Wrappers.query(); + if (appendDefaultOrder) { + // 默认把主表别名带上,后续就算扩展连表SQL,也尽量不因为同名字段导致排序歧义。 + queryWrapper.orderByAsc("t.id"); + } + queryWrapper.eq(StringUtils.isNotBlank(bo.getJson()), "t.json", bo.getJson()); + queryWrapper.eq(bo.getDeptId() != null, "t.dept_id", bo.getDeptId()); + return queryWrapper; + } + + /** + * 新增前端电路图使用 + * + * @param bo 前端电路图使用 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(EmsBaseLocationJsonBo bo) { + EmsBaseLocationJson add = MapstructUtils.convert(bo, EmsBaseLocationJson.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改前端电路图使用 + * + * @param bo 前端电路图使用 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(EmsBaseLocationJsonBo bo) { + EmsBaseLocationJson update = MapstructUtils.convert(bo, EmsBaseLocationJson.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EmsBaseLocationJson entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除前端电路图使用信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseLocationJsonMapper.xml b/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseLocationJsonMapper.xml new file mode 100644 index 0000000..c03089a --- /dev/null +++ b/ruoyi-ems/src/main/resources/mapper/ems/base/EmsBaseLocationJsonMapper.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + select + t.id, + t.json, + t.create_dept, + t.create_by, + t.create_time, + t.update_by, + t.update_time, + t.remark, + t.tenant_id, + t.dept_id, + t.del_flag + from ems_base_location_json t + + + + + + + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + + + + ${ew.sqlSegment} + + + + + + + + + + + + + +