职位管理
This commit is contained in:
parent
dc3f7e3fcc
commit
f707ee9a89
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,146 @@
|
|||
package com.nflg.mobilebroken.admin.controller;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.mobilebroken.admin.pojo.dto.PositionDetailDTO;
|
||||
import com.nflg.mobilebroken.admin.pojo.query.DepartmentQuery;
|
||||
import com.nflg.mobilebroken.admin.pojo.query.PositionQuery;
|
||||
import com.nflg.mobilebroken.admin.pojo.vo.PositionDetailVO;
|
||||
import com.nflg.mobilebroken.admin.pojo.vo.PositionLanguageVO;
|
||||
import com.nflg.mobilebroken.common.constant.STATE;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO;
|
||||
import com.nflg.mobilebroken.common.util.TokenUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.Language;
|
||||
import com.nflg.mobilebroken.repository.entity.TBasePosition;
|
||||
import com.nflg.mobilebroken.repository.service.ILanguageService;
|
||||
import com.nflg.mobilebroken.repository.service.ITBasePositionService;
|
||||
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.print.DocFlavor;
|
||||
import javax.validation.Valid;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 职位管理
|
||||
*
|
||||
* @author
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/position")
|
||||
public class PositionController {
|
||||
|
||||
|
||||
@Resource
|
||||
ITBasePositionService positionService;
|
||||
|
||||
@Resource
|
||||
ILanguageService languageService;
|
||||
|
||||
/**
|
||||
* 获取职位列表
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("getList")
|
||||
@MethodInfoMark(value = "获取职位列表", menuName = "职位管理")
|
||||
public ApiResult<PageData<TBasePosition>> getList(@RequestBody PositionQuery query) {
|
||||
Page<TBasePosition> result = positionService.getList(new Page<>(query.getPage(), query.getPageSize()), query);
|
||||
|
||||
return ApiResult.success(result.getRecords(), query, result.getTotal());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取明细
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("getPositionDetail")
|
||||
@MethodInfoMark(value = "获取职位明细", menuName = "职位管理")
|
||||
public ApiResult<PositionDetailVO> getPositionDetail(@RequestParam("id") Integer id) {
|
||||
TBasePosition ent = positionService.getById(id);
|
||||
VUtils.trueThrow(null == ent).throwMessage(STATE.ParamErr, "职位不存在");
|
||||
|
||||
PositionDetailVO result = Convert.convert(PositionDetailVO.class, ent);
|
||||
List<Language> allLanguage = languageService.lambdaQuery().eq(Language::getEnable, true).list();
|
||||
List<PositionLanguageVO> positionLanguage = JSON.parseArray(ent.getPositionLanguage(), PositionLanguageVO.class);
|
||||
Map<String, String> positionLanguageMp = positionLanguage.stream()
|
||||
.collect(Collectors.toMap(PositionLanguageVO::getCode, PositionLanguageVO::getLanguageValue));
|
||||
List<PositionLanguageVO> positionLanguageResult = Convert.toList(PositionLanguageVO.class, allLanguage);
|
||||
for (PositionLanguageVO lan : positionLanguageResult) {
|
||||
if (positionLanguageMp.containsKey(lan.getCode())) {
|
||||
lan.setLanguageValue(positionLanguageMp.get(lan.getCode()));
|
||||
}
|
||||
}
|
||||
result.setLanguage(positionLanguageResult);
|
||||
return ApiResult.success(result);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取语言列表-新增时调用
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("getLanguage")
|
||||
public ApiResult<List<PositionLanguageVO> > getLanguage() {
|
||||
List<Language> allLanguage = languageService.lambdaQuery().eq(Language::getEnable, true).list();
|
||||
|
||||
return ApiResult.success(Convert.toList(PositionLanguageVO.class,allLanguage));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("add")
|
||||
@MethodInfoMark(value = "新增", menuName = "职位管理")
|
||||
public ApiResult<Boolean> add(@Valid @RequestBody PositionDetailDTO positionDetailDto) {
|
||||
TBasePosition ent = Convert.convert(TBasePosition.class, positionDetailDto);
|
||||
ent.setPositionLanguage(JSON.toJSONString(positionDetailDto.getLanguage()));
|
||||
ent.setDataCreateUserNo(TokenUtil.getUserNo());
|
||||
ent.setDataCreateUserName(TokenUtil.getUserName());
|
||||
ent.setDataCreateTime(LocalDateTime.now());
|
||||
ent.setDataModifyUserNo(TokenUtil.getUserNo());
|
||||
ent.setDataModifyUserName(TokenUtil.getUserName());
|
||||
ent.setDataModifyTime(LocalDateTime.now());
|
||||
positionService.save(ent);
|
||||
return ApiResult.success(true);
|
||||
}
|
||||
|
||||
@PostMapping("update")
|
||||
@MethodInfoMark(value = "编辑", menuName = "职位管理")
|
||||
public ApiResult<Boolean> update(@Valid @RequestBody PositionDetailDTO positionDetailDto) {
|
||||
VUtils.trueThrow(positionDetailDto.getId()<=0).throwMessage(STATE.ParamErr,"编辑时ID不能等于0");
|
||||
TBasePosition ent = Convert.convert(TBasePosition.class, positionDetailDto);
|
||||
ent.setPositionLanguage(JSON.toJSONString(positionDetailDto.getLanguage()));
|
||||
ent.setDataModifyUserNo(TokenUtil.getUserNo());
|
||||
ent.setDataModifyUserName(TokenUtil.getUserName());
|
||||
ent.setDataModifyTime(LocalDateTime.now());
|
||||
positionService.save(ent);
|
||||
return ApiResult.success(true);
|
||||
}
|
||||
|
||||
@PostMapping("del")
|
||||
@MethodInfoMark(value = "删除", menuName = "职位管理")
|
||||
public ApiResult<Boolean> del(@Valid @RequestBody List<Integer> ids) {
|
||||
VUtils.trueThrow(CollUtil.isEmpty(ids)).throwMessage(STATE.ParamErr,"请选择要删除的行");
|
||||
positionService.delByIds(ids);
|
||||
return ApiResult.success(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package com.nflg.mobilebroken.admin.pojo.dto;
|
||||
|
||||
|
||||
import com.nflg.mobilebroken.admin.pojo.vo.PositionLanguageVO;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 职位详情
|
||||
*/
|
||||
@Data
|
||||
public class PositionDetailDTO {
|
||||
private Integer id=0;
|
||||
|
||||
/**
|
||||
* 职位编码
|
||||
*/
|
||||
@NotBlank(message = "职位编码不能为空")
|
||||
private String positionCode;
|
||||
|
||||
/**
|
||||
* 职位名称
|
||||
*/
|
||||
|
||||
@NotBlank(message = "职位名称不能为空")
|
||||
private String positionName;
|
||||
|
||||
/**
|
||||
* 职位属性 1-内部使用 2-外部使用 3-公用
|
||||
*/
|
||||
@NotBlank(message = "属性不能为空")
|
||||
private Integer positionAttribute;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 职位语言
|
||||
*/
|
||||
List<PositionLanguageVO> language;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.nflg.mobilebroken.admin.pojo.query;
|
||||
|
||||
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PositionQuery extends PageBaseQuery {
|
||||
|
||||
/**
|
||||
* 职位编码
|
||||
*/
|
||||
private String positionCode;
|
||||
|
||||
/**
|
||||
* 职位名称
|
||||
*/
|
||||
private String positionName;
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.nflg.mobilebroken.admin.pojo.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 职位详情
|
||||
*/
|
||||
@Data
|
||||
public class PositionDetailVO {
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 职位编码
|
||||
*/
|
||||
private String positionCode;
|
||||
|
||||
/**
|
||||
* 职位名称
|
||||
*/
|
||||
private String positionName;
|
||||
|
||||
/**
|
||||
* 职位属性 1-内部使用 2-外部使用 3-公用
|
||||
*/
|
||||
private Integer positionAttribute;
|
||||
|
||||
/**
|
||||
* 创建人-账号
|
||||
*/
|
||||
private String dataCreateUserNo;
|
||||
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String dataCreateUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime dataCreateTime;
|
||||
|
||||
/**
|
||||
* 修改人-账号
|
||||
*/
|
||||
private String dataModifyUserNo;
|
||||
|
||||
/**
|
||||
* 修改人姓名
|
||||
*/
|
||||
private String dataModifyUserName;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private LocalDateTime dataModifyTime;
|
||||
|
||||
|
||||
/**
|
||||
* 职位语言
|
||||
*/
|
||||
List<PositionLanguageVO> language;
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.nflg.mobilebroken.admin.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 职位多-语言
|
||||
*/
|
||||
@Data
|
||||
public class PositionLanguageVO {
|
||||
|
||||
/**
|
||||
* 语言编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 语言名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String languageValue;
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -59,9 +59,9 @@ public class AppUser implements Serializable {
|
|||
private String phone;
|
||||
|
||||
/**
|
||||
* 是否启用,1:启用,0:未启用
|
||||
* 是否已启用
|
||||
*/
|
||||
private Byte state;
|
||||
private Boolean enable;
|
||||
|
||||
/**
|
||||
* 区域id
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -32,6 +32,11 @@ public class Device implements Serializable {
|
|||
*/
|
||||
private String deviceNo;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String deviceName;
|
||||
|
||||
/**
|
||||
* 设备类型
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.nflg.mobilebroken.repository.entity;
|
|||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
|
@ -14,7 +13,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -55,24 +54,4 @@ public class Language implements Serializable {
|
|||
* 是否启用
|
||||
*/
|
||||
private Boolean enable;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 最后更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 最后更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,20 +3,19 @@ package com.nflg.mobilebroken.repository.entity;
|
|||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 参数配置
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025-01-25
|
||||
* @since 2025-01-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
</sql>
|
||||
<select id="getList" resultType="com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO">
|
||||
select * from t_base_area where parent_area_row_id=0
|
||||
select * from t_base_area where parent_area_row_id=0 <include refid="whr" />
|
||||
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue