部门排序字段修改为字符串型

This commit is contained in:
liyawei
2022-05-26 17:59:03 +08:00
parent f0895cbb85
commit cb64a06796
7 changed files with 183 additions and 6 deletions
@@ -0,0 +1,29 @@
---2022-05-25
---部门表 添加需要同步的字段
ALTER TABLE `laws_weilai`.`sys_depart`
ADD COLUMN `manager_id` varchar(100) NULL COMMENT '部门负责人员工号' AFTER `memo`,
ADD COLUMN `manager_wk_uid` varchar(100) NULL COMMENT '部门负责人域账号' AFTER `manager_id`,
ADD COLUMN `hr_partner` varchar(255) NULL COMMENT '部门 HRBP(多个会用";"隔开)' AFTER `manager_wk_uid`,
ADD COLUMN `location_id` varchar(100) NULL COMMENT '部门所在地ID' AFTER `hr_partner`,
ADD COLUMN `cluster_id` varchar(100) NULL COMMENT '部门所属集群ID' AFTER `location_id`,
ADD COLUMN `cluster_en` varchar(255) NULL COMMENT '部门所属集群英文名' AFTER `cluster_id`,
ADD COLUMN `cluster_cn` varchar(255) NULL COMMENT '部门所属集群中文名' AFTER `cluster_en`,
ADD COLUMN `function` varchar(50) NULL COMMENT 'City / Corp' AFTER `cluster_cn`,
ADD COLUMN `tier` varchar(255) NULL COMMENT '部门层级' AFTER `function`,
ADD COLUMN `is_announced_department` varchar(10) NULL COMMENT '是否官宣部门(0-是,1-否)' AFTER `tier`,
ADD COLUMN `org_announced_department_ref_id` varchar(100) NULL COMMENT '官宣部门ID' AFTER `is_announced_department`,
ADD COLUMN `depart_source` varchar(255) NULL COMMENT '部门数据来源(pp-people同步数据)' AFTER `org_announced_department_ref_id`;
---2022-05-26
---用户表 添加需要同步的字段
ALTER TABLE `laws_weilai`.`sys_user`
MODIFY COLUMN `third_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '第三方类型(pp-people同步用户)' AFTER `third_id`,
ADD COLUMN `job_code` varchar(100) NULL AFTER `worker_type`,
ADD COLUMN `job_title` varchar(255) NULL AFTER `job_code`;
ALTER TABLE `laws_weilai`.`sys_depart`
MODIFY COLUMN `id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID' FIRST;
ALTER TABLE `laws_weilai`.`sys_depart`
MODIFY COLUMN `parent_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父机构ID' AFTER `id`;
ALTER TABLE `laws_weilai`.`sys_depart`
MODIFY COLUMN `depart_order` varchar(100) NULL DEFAULT 0 COMMENT '排序' AFTER `depart_name_abbr`;
@@ -41,7 +41,7 @@ public class SysDepartTreeModel implements Serializable{
private String departNameAbbr;
private Integer departOrder;
private String departOrder;
private String description;
@@ -233,11 +233,11 @@ public class SysDepartTreeModel implements Serializable{
this.departNameAbbr = departNameAbbr;
}
public Integer getDepartOrder() {
public String getDepartOrder() {
return departOrder;
}
public void setDepartOrder(Integer departOrder) {
public void setDepartOrder(String departOrder) {
this.departOrder = departOrder;
}
@@ -0,0 +1,29 @@
package com.jero.modules.system.entity;
import lombok.Data;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 16:12 2022/5/25
*/
@Data
public class PPDepartment {
private String ref_id; //部门ID ----id
private String name_en; //部门英文名 ----depart_name_en
private String name_cn; //部门中文名 ----depart_name
private String code; //部门code ----org_code
private String manager_id; //部门负责人员工号
private String manager_wk_uid; //部门负责人域账号
private String hr_partner; //部门 HRBP(多个会用";"隔开)
private String superior_id; //上级部门ID ----parent_id
private String location_id; //部门所在地ID
private String cluster_id; //部门所属集群ID
private String cluster_en; //部门所属集群英文名
private String cluster_cn; //部门所属集群中文名
private String function; //City / Corp
private String tier; //部门层级
private boolean is_announced_department; //是否官宣部门
private String org_announced_department_ref_id; //官宣部门ID
private boolean active; //是否有效 ----del_flag
}
@@ -55,7 +55,7 @@ public class SysDepart implements Serializable {
private String orgCategory;
/**排序*/
@Excel(name="排序",width=15)
private Integer departOrder;
private String departOrder;
/**父级机构编码*/
private String parentCode;
/**手机号*/
@@ -92,6 +92,19 @@ public class SysDepart implements Serializable {
@TableField(exist = false)
private String cut; //中英文切换标识
//新添加的
private String managerId; //部门负责人员工号
private String managerWkUid; //部门负责人域账号
private String hrPartner; //部门 HRBP(多个会用";"隔开)
private String locationId; //部门所在地ID
private String clusterId; //部门所属集群ID
private String clusterEn; //部门所属集群英文名
private String clusterCn; //部门所属集群中文名
private String function; //City / Corp
private String tier; //部门层级
private String isAnnouncedDepartment; //是否官宣部门
private String orgAnnouncedDepartmentRefId; //官宣部门ID
private String departSource;//部门数据来源
/**
* 重写equals方法
@@ -0,0 +1,29 @@
package com.jero.modules.system.enums;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 14:12 2022/5/26
*/
public enum PPSyncEnum {
PP_DEPART("同步部门","PPDEPART"),
PP_USER("同步用户","PPUSER"),
PP("数据来源","pp");
private String name;
private String value;
private PPSyncEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.modules.system.entity.PPDepartment;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.model.DepartIdModel;
import java.util.List;
@@ -138,4 +139,9 @@ public interface ISysDepartService extends IService<SysDepart>{
* @return
*/
void updateAllParentId();
List<SysDepart> getPPDepartList();
SysDepart addPPDepart(PPDepartment ppDepartment);
void updatePPDepart(PPDepartment ppDepartment);
}
@@ -10,6 +10,7 @@ import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.FillRuleUtil;
import com.jero.common.util.YouBianCodeUtil;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.enums.PPSyncEnum;
import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.service.ISysDepartService;
@@ -81,7 +82,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
public List<SysDepartTreeModel> queryTreeList() {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.orderByAsc(SysDepart::getDepartOrder);
query.last("order by depart_order is null, depart_order asc");
List<SysDepart> list = this.list(query);
// 调用wrapTreeDataToTreeList方法生成树状数据
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
@@ -99,7 +100,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
query.eq(SysDepart::getParentId, departId);
}
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.orderByAsc(SysDepart::getDepartOrder);
query.last("order by depart_order is null, depart_order asc");
List<SysDepart> list = this.list(query);
// 调用wrapTreeDataToTreeList方法生成树状数据
List<SysDepartTreeModel> listResult = new ArrayList<>();
@@ -566,4 +567,74 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
public void updateAllParentId() {
departMapper.updateAllParentId();
}
@Override
public List<SysDepart> getPPDepartList() {
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDepart::getDepartSource, PPSyncEnum.PP.getValue())
.eq(SysDepart::getDelFlag, 0);
return this.list(queryWrapper);
}
@Override
public SysDepart addPPDepart(PPDepartment ppDepartment) {
SysDepart addDepart = new SysDepart();
addDepart.setId(ppDepartment.getRef_id());
addDepart.setDepartNameEn(ppDepartment.getName_en());
addDepart.setDepartName(ppDepartment.getName_cn());
addDepart.setOrgCode(ppDepartment.getRef_id()); // 这里有点特殊 同步的数据中存在code为null的情况
addDepart.setManagerId(ppDepartment.getManager_id());
addDepart.setManagerWkUid(ppDepartment.getManager_wk_uid());
addDepart.setHrPartner(ppDepartment.getHr_partner());
addDepart.setParentId(ppDepartment.getSuperior_id());
addDepart.setLocationId(ppDepartment.getLocation_id());
addDepart.setClusterId(ppDepartment.getCluster_id());
addDepart.setClusterEn(ppDepartment.getCluster_en());
addDepart.setClusterCn(ppDepartment.getCluster_cn());
addDepart.setFunction(ppDepartment.getFunction());
addDepart.setTier(ppDepartment.getTier());
addDepart.setIsAnnouncedDepartment(ppDepartment.is_announced_department() ? "0": "1");
addDepart.setOrgAnnouncedDepartmentRefId(ppDepartment.getOrg_announced_department_ref_id());
addDepart.setDelFlag(ppDepartment.isActive() ? "0": "1");
addDepart.setDepartOrder(ppDepartment.getCode());
addDepart.setOrgCategory("2");
addDepart.setDepartSource(PPSyncEnum.PP.getValue());
SysDepart checkDepart = getById(addDepart.getId());
if(checkDepart !=null){
log.error("当前部门已存在,出现异常数据"+ JSONObject.toJSONString(addDepart));
}else{
save(addDepart);
}
return addDepart;
}
@Override
public void updatePPDepart(PPDepartment ppDepartment) {
SysDepart updateDepart = getById(ppDepartment.getRef_id());
updateDepart.setDepartNameEn(ppDepartment.getName_en());
updateDepart.setDepartName(ppDepartment.getName_cn());
updateDepart.setOrgCode(ppDepartment.getRef_id());
updateDepart.setManagerId(ppDepartment.getManager_id());
updateDepart.setManagerWkUid(ppDepartment.getManager_wk_uid());
updateDepart.setHrPartner(ppDepartment.getHr_partner());
updateDepart.setParentId(ppDepartment.getSuperior_id());
updateDepart.setLocationId(ppDepartment.getLocation_id());
updateDepart.setClusterId(ppDepartment.getCluster_id());
updateDepart.setClusterEn(ppDepartment.getCluster_en());
updateDepart.setClusterCn(ppDepartment.getCluster_cn());
updateDepart.setFunction(ppDepartment.getFunction());
updateDepart.setTier(ppDepartment.getTier());
updateDepart.setIsAnnouncedDepartment(ppDepartment.is_announced_department() ? "0": "1");
updateDepart.setOrgAnnouncedDepartmentRefId(ppDepartment.getOrg_announced_department_ref_id());
updateDepart.setDelFlag(ppDepartment.isActive() ? "0": "1");
updateDepart.setDepartOrder(ppDepartment.getCode());
updateDepart.setUpdateTime(new Date());
updateById(updateDepart);
}
}