Compare commits

..

51 Commits

Author SHA1 Message Date
Chengliang 7cc38df2e9 master 1 month ago
Chengliang 9cf8a7cdf0 master 1 month ago
Chengliang b0db84f231 tree 修复 1 month ago
Chengliang d2750025a5 部门简称及花名册树问题修复 1 month ago
Chengliang 2fe6013af1 组织架构图多语言 key值问题处理 2 months ago
Chengliang 722e1b8fe6 聚才林岗位外部搜索样式 岗位(分部) 2 months ago
Chengliang 4d4827a2c4 移除企通学配置文件 标准配置文件增加enable 2 months ago
Chengliang b9c00d1e66 Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl 2 months ago
liang.cheng 6a5e6e5bec Merge pull request 'feature/cl' (#289) from feature/cl into develop
Reviewed-on: #289
3 months ago
Chengliang 80248b03d6 Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl 3 months ago
Chengliang 289242d013 花名册隐私设置(根据e9后台设置的移动电话,办公室电话,邮件等字段信息)完成对页面的隐私设置(公开,对所有人保密。对安全级别低于自己人员保密) 3 months ago
Chengliang 47fb84d10d 人员卡片栏目设置 脚本权限未找到 放开所有权限 3 months ago
liang.cheng d77e9d35d4 Merge pull request 'feature/cl' (#288) from feature/cl into develop
Reviewed-on: #288
3 months ago
Chengliang 5a2affb1a8 1组织包更新
1.花名册外部人员不显示
2.历史架构图中增加搜索条件
3.花名册左侧树联查包含下级
4 months ago
Chengliang d5a24e3bfb 组织架构图增加查询 4 months ago
liang.cheng 421a70491a Merge pull request 'feature/cl' (#287) from feature/cl into develop
Reviewed-on: #287
4 months ago
Chengliang 1f532ebade Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl 4 months ago
Chengliang aff49d0bc9 历史版本存储问题 4 months ago
Chengliang b9c9d1d65a 多余import去除 4 months ago
Chengliang 3a5c581241 3.岗位管理模块数据刷新时去除外部人员引入;
4.花名册页面增加配置文件判断跳转是否为标准卡片还是聚才林卡片
5 months ago
Chengliang 4beda57943 编制维度为岗位时导入提示错误问题 5 months ago
liang.cheng 280fe586db Merge pull request 'feature/cl' (#286) from feature/cl into develop
Reviewed-on: #286
5 months ago
Chengliang 76d9138191 组织架构图历史部门负责人存储问题和查询问题修复 5 months ago
Chengliang 8de60788a7 Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl 6 months ago
dxfeng fdf4736e34 Merge pull request '组织树 排序BUG修复' (#285) from feature/dxf into develop
Reviewed-on: #285
6 months ago
dxfeng cffa697c2f 组织树 排序BUG修复
like搜索BUG修复
6 months ago
Chengliang 77b2d12efd Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/cl 6 months ago
dxfeng 58111e5be4 Merge pull request 'feature/dxf' (#284) from feature/dxf into develop
Reviewed-on: #284
6 months ago
dxfeng 918f2e2a6e 组织架构 排序字段调整为Double 6 months ago
dxfeng 8a843480b6 组织架构 排序字段调整为Double 6 months ago
dxfeng 757b41f8c5 Merge remote-tracking branch 'origin/feature/dxf' into feature/dxf 6 months ago
Chengliang a91bbf74ee 岗位管理数据一致性处理 6 months ago
Chengliang 7595f6bc77 编制对外接口esb缺少UESE对象时默认增加sysadmin 6 months ago
Chengliang aa0d573cc3 定时清除组织管理Delete_type=1的数据 6 months ago
Chengliang 14464744b8 编制信息更新 流程明细处理 新增 6 months ago
dxfeng 95d3dac14f 花名册-组织树排序问题处理 6 months ago
dxfeng 4fcbe238b4 Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/dxf 6 months ago
dxfeng f254feb128 花名册-列定制添加分部 6 months ago
Chengliang 5ed00c6a24 编制信息导入问题处理 岗位数据重复 6 months ago
liang.cheng d08192032c Merge pull request 'feature/cl' (#283) from feature/cl into develop
Reviewed-on: #283
6 months ago
Chengliang 4d2e8a8035 岗位管理数据一致性处理 6 months ago
Chengliang ea5809ac15 编制对外接口esb缺少UESE对象时默认增加sysadmin 6 months ago
Chengliang b572bc4d48 定时清除组织管理Delete_type=1的数据 7 months ago
liang.cheng e5f46a8083 Merge pull request '编制信息更新 流程明细处理 新增' (#281) from feature/cl into develop
Reviewed-on: #281
7 months ago
Chengliang bb021a6f45 编制信息更新 流程明细处理 新增 7 months ago
dxfeng 6c973d86cd 花名册-列定制添加分部 7 months ago
dxfeng 1698f8c8d5 花名册-高级搜索添加多分部 7 months ago
dxfeng e5a30525f0 花名册-Excel导出列展示顺序 7 months ago
liang.cheng 2d240460f1 Merge pull request 'feature/cl' (#279) from feature/cl into develop
Reviewed-on: #279
7 months ago
Chengliang 4a8c85cd41 部门负责人多级显示问题处理 7 months ago
liang.cheng 137273284e Merge pull request 'feature/cl' (#278) from feature/cl into develop
Reviewed-on: #278
8 months ago

@ -25,6 +25,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.company.SubCompanyComInfo;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -77,13 +78,14 @@ public class JobBrowserService extends BrowserService {
Map<String, Object> apidatas = new HashMap<>(); Map<String, Object> apidatas = new HashMap<>();
String q = Util.null2String(httpServletRequest.getParameter("q")); String q = Util.null2String(httpServletRequest.getParameter("q"));
List<String> sqlParams = new ArrayList<>(); List<String> sqlParams = new ArrayList<>();
SubCompanyComInfo subInfo = new SubCompanyComInfo();
String keyword = ""; String keyword = "";
if (q.length() > 0) { if (q.length() > 0) {
keyword = "%" + q + "%"; keyword = "%" + q + "%";
} }
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
String sqlwhere = " where t.delete_type = 0 "; String sqlwhere = " where t.delete_type = 0 ";
String backfields = "t.id, t.job_no, h.jobtitlename as name "; String backfields = "t.id,t.ec_company, t.job_no, h.jobtitlename as name ";
String fromSql = "FROM jcl_org_job t left join hrmjobtitles h on t.ec_jobTitle = h.id "; String fromSql = "FROM jcl_org_job t left join hrmjobtitles h on t.ec_jobTitle = h.id ";
String orderby = " order by t.id "; String orderby = " order by t.id ";
sqlwhere += " "; sqlwhere += " ";
@ -104,7 +106,8 @@ public class JobBrowserService extends BrowserService {
Map<String, String> item = new HashMap<>(3); Map<String, String> item = new HashMap<>(3);
item.put("id", Util.null2String(rs.getString("id"))); item.put("id", Util.null2String(rs.getString("id")));
String name = Util.null2String(rs.getString("name")); String name = Util.null2String(rs.getString("name"));
item.put("name", name); String subCompanyname = subInfo.getSubCompanyname(Util.null2String(rs.getString("ec_company")));
item.put("name", name+"("+subCompanyname+")");
item.put("title", name); item.put("title", name);
datas.add(item); datas.add(item);
} }
@ -234,7 +237,7 @@ public class JobBrowserService extends BrowserService {
compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); compList = MapperProxyFactory.getProxy(CompMapper.class).listParent();
} }
// 获取顶层分部 // 获取顶层分部
compList.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); compList.stream().sorted(Comparator.comparingDouble(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item));
} else if ("1".equals(params.getType())) { } else if ("1".equals(params.getType())) {
// 当前节点下的元素 // 当前节点下的元素
CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build();

@ -1,6 +1,5 @@
package com.engine.organization.entity.chart; package com.engine.organization.entity.chart;
import com.icbc.api.internal.apache.http.impl.cookie.S;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

@ -24,7 +24,10 @@ public class CompBO {
} }
public static List<SearchTree> buildSetToSearchTree(Set<CompPO> comps) { public static List<SearchTree> buildSetToSearchTree(Set<CompPO> comps) {
return comps.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).map(item -> { return comps.stream().sorted(Comparator
.comparingDouble(CompPO::getShowOrder)
.thenComparingDouble(CompPO::getShowOrderOfTree)
).map(item -> {
SearchTree tree = new SearchTree(); SearchTree tree = new SearchTree();
tree.setCanClick(true); tree.setCanClick(true);
tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0);
@ -37,6 +40,7 @@ public class CompBO {
tree.setSelected(false); tree.setSelected(false);
tree.setType("1"); tree.setType("1");
tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder());
tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree());
return tree; return tree;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

@ -59,7 +59,7 @@ public class CompListDTO {
@TableTitle(labelId = 547185, title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true) @TableTitle(labelId = 547185, title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true)
private Integer showOrder; private Double showOrder;
/** /**
* *
@ -78,8 +78,8 @@ public class CompListDTO {
*/ */
private List<CompListDTO> children; private List<CompListDTO> children;
public Integer getShowOrder() { public Double getShowOrder() {
return null == showOrder ? 0 : showOrder; return null == showOrder ? 0.00 : showOrder;
} }
private String orderType; private String orderType;
@ -89,9 +89,9 @@ public class CompListDTO {
return children; return children;
} }
if ("asc".equalsIgnoreCase(orderType)) { if ("asc".equalsIgnoreCase(orderType)) {
return children.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder)).collect(Collectors.toList()); return children.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder)).collect(Collectors.toList());
} else { } else {
return children.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); return children.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList());
} }
} }
} }

@ -25,6 +25,6 @@ public class CompParam extends BaseQueryParam {
private String outKey; private String outKey;
private Integer limitUsers; private Integer limitUsers;
private String uuid; private String uuid;
private Integer showOrder; private Double showOrder;
private Integer showOrderOfTree; private Double showOrderOfTree;
} }

@ -32,6 +32,20 @@ public class CompPO {
private Date modified; private Date modified;
private Integer modifier; private Integer modifier;
private String uuid; private String uuid;
private Integer showOrder; private Double showOrder;
private Integer showOrderOfTree; private Double showOrderOfTree;
public Double getShowOrder() {
if (null == showOrder) {
return 0.00;
}
return showOrder;
}
public Double getShowOrderOfTree() {
if (null == showOrderOfTree) {
return 0.00;
}
return showOrderOfTree;
}
} }

@ -32,16 +32,20 @@ public class DepartmentBO {
* @param list * @param list
* @return * @return
*/ */
public static List<DepartmentListDTO> buildDeptDTOShowNames(Collection<DepartmentListDTO> list) { public static List<DepartmentListDTO> buildDeptDTOShowNames(List<DepartmentListDTO> list) {
return list.stream().peek(e -> { setDeptLeader(list);
List<DepartmentListDTO> children = e.getChildren(); return list;
}
public static void setDeptLeader(List<DepartmentListDTO> departments) {
for (DepartmentListDTO dept : departments) {
dept.setBmfzr(getEmployeeNameById(dept.getId()));
List<DepartmentListDTO> children = dept.getChildren();
if (CollectionUtils.isNotEmpty(children)){ if (CollectionUtils.isNotEmpty(children)){
List<DepartmentListDTO> collect = children.stream().peek(item -> item.setBmfzr(getEmployeeNameById(item.getId()))).collect(Collectors.toList()); setDeptLeader(children);
e.setChildren(collect);
} }
e.setBmfzr(getEmployeeNameById(e.getId()));
} }
).collect(Collectors.toList());
} }
public static List<DepartmentListDTO> buildDeptDTOList(Collection<DepartmentPO> list, String orderType) { public static List<DepartmentListDTO> buildDeptDTOList(Collection<DepartmentPO> list, String orderType) {
@ -167,8 +171,9 @@ public class DepartmentBO {
tree.setPid(null == item.getSupDepId() ? "0" : item.getSupDepId().toString()); tree.setPid(null == item.getSupDepId() ? "0" : item.getSupDepId().toString());
tree.setSelected(false); tree.setSelected(false);
tree.setType("2"); tree.setType("2");
tree.setParentComp(null == item.getSupDepId() ? "0" : item.getSubCompanyId1().toString()); tree.setParentComp(null == item.getSubCompanyId1() ? "0" : item.getSubCompanyId1().toString());
tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder().intValue()); tree.setOrderNum(null == item.getShowOrder() ? 0.00 : item.getShowOrder().intValue());
tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0.00 : item.getShowOrderOfTree());
return tree; return tree;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

@ -36,7 +36,7 @@ public class DepartmentListDTO {
/** /**
* *
*/ */
@TableTitle(labelId = 547141, title = "名称", dataIndex = "departmentMark", key = "departmentMark", width = "200") @TableTitle(labelId = 547181, title = "简称", dataIndex = "departmentMark", key = "departmentMark", width = "200")
private String departmentMark; private String departmentMark;
/** /**
@ -48,7 +48,7 @@ public class DepartmentListDTO {
/** /**
* *
*/ */
@TableTitle(labelId = 547181, title = "简称", dataIndex = "departmentName", key = "departmentName") @TableTitle(labelId = 547141, title = "名称", dataIndex = "departmentName", key = "departmentName")
private String departmentName; private String departmentName;
/** /**
@ -105,9 +105,9 @@ public class DepartmentListDTO {
return children; return children;
} }
if ("asc".equalsIgnoreCase(orderType)) { if ("asc".equalsIgnoreCase(orderType)) {
return children.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); return children.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder)).collect(Collectors.toList());
} else { } else {
return children.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); return children.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList());
} }
} }
} }

@ -28,5 +28,5 @@ public class DeptSearchParam extends BaseQueryParam {
private String uuid; private String uuid;
private Double showOrder; private Double showOrder;
private Integer showOrderOfTree; private Double showOrderOfTree;
} }

@ -35,6 +35,6 @@ public class DepartmentPO {
private Integer modifier; private Integer modifier;
private String uuid; private String uuid;
private Double showOrder; private Double showOrder;
private Integer showOrderOfTree; private Double showOrderOfTree;
} }

@ -27,7 +27,7 @@ public class ResourcePO {
private Integer jobtitle; private Integer jobtitle;
private String lastName; private String lastName;
private Integer dspOrder; private Double dspOrder;
/** /**
* ID * ID

@ -156,7 +156,7 @@ public class JobBO {
tree.setSelected(false); tree.setSelected(false);
tree.setType("3"); tree.setType("3");
tree.setParentComp(null == item.getEcDepartment() ? "0" : item.getEcDepartment().toString()); tree.setParentComp(null == item.getEcDepartment() ? "0" : item.getEcDepartment().toString());
tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); tree.setOrderNum(null == item.getShowOrder() ? 0.00 : item.getShowOrder());
return tree; return tree;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

@ -89,6 +89,8 @@ public class JobListDTO {
//@TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag") //@TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag")
//private Integer forbiddenTag; //private Integer forbiddenTag;
/** /**
* *
*/ */

@ -75,7 +75,7 @@ public class JobSearchParam extends BaseQueryParam {
/** /**
* *
*/ */
private Integer showOrder; private Double showOrder;
private Integer subcompanyid1; private Integer subcompanyid1;

@ -87,7 +87,7 @@ public class JobPO {
/** /**
* *
*/ */
private Integer showOrder; private Double showOrder;
private String gradeId; private String gradeId;

@ -18,7 +18,8 @@ public class SearchTree extends TreeNode {
private boolean isCanceled; private boolean isCanceled;
private String requestParams; private String requestParams;
private String parentComp; private String parentComp;
private Integer orderNum; private Double orderNum;
private Double showOrderOfTree;
public String getCompanyid() { public String getCompanyid() {
return companyid; return companyid;
@ -76,14 +77,28 @@ public class SearchTree extends TreeNode {
this.parentComp = parentComp; this.parentComp = parentComp;
} }
public Integer getOrderNum() { public Double getOrderNum() {
if(null==orderNum){
return 0.00;
}
return orderNum; return orderNum;
} }
public void setOrderNum(Integer orderNum) { public void setOrderNum(Double orderNum) {
this.orderNum = orderNum; this.orderNum = orderNum;
} }
public Double getShowOrderOfTree() {
if(null==showOrderOfTree){
return 0.00;
}
return showOrderOfTree;
}
public void setShowOrderOfTree(Double showOrderOfTree) {
this.showOrderOfTree = showOrderOfTree;
}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) { if (this == o) {

@ -12,6 +12,7 @@
<result column="departmentCode" property="departmentCode"/> <result column="departmentCode" property="departmentCode"/>
<result column="coadjutant" property="coadjutant"/> <result column="coadjutant" property="coadjutant"/>
<result column="showOrder" property="showOrder"/> <result column="showOrder" property="showOrder"/>
<result column="showOrderOfTree" property="showOrderOfTree"/>
<result column="uuid" property="uuid"/> <result column="uuid" property="uuid"/>
</resultMap> </resultMap>
@ -30,6 +31,7 @@
t.departmentCode, t.departmentCode,
t.coadjutant, t.coadjutant,
t.showOrder, t.showOrder,
t.showOrderOfTree,
t.uuid t.uuid
</sql> </sql>
@ -96,7 +98,7 @@
<select id="listDeptsByIds" resultType="java.util.Map"> <select id="listDeptsByIds" resultType="java.util.Map">
select select
id as "id", id as "id",
departmentName as "name" departmentMark as "name"
from hrmdepartment t from hrmdepartment t
WHERE id IN WHERE id IN
<foreach collection="ids" open="(" item="id" separator="," close=")"> <foreach collection="ids" open="(" item="id" separator="," close=")">

@ -130,7 +130,7 @@ public interface JobMapper {
* *
* @return * @return
*/ */
Integer getMaxShowOrder(); Double getMaxShowOrder();
/** /**
* *
@ -141,7 +141,7 @@ public interface JobMapper {
* @param parentJob * @param parentJob
* @return * @return
*/ */
Long getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Integer parentCompany, @Param("parentDepartment") Integer parentDepartment, @Param("parentJob") Long parentJob, List<JobPO> getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Integer parentCompany, @Param("parentDepartment") Integer parentDepartment, @Param("parentJob") Long parentJob,
@Param("jobactivitymark") String jobactivitymark,@Param("jobgroupremark") String jobgroupremark); @Param("jobactivitymark") String jobactivitymark,@Param("jobgroupremark") String jobgroupremark);
int updateJobCompany(@Param("ids") Collection<Long> ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany); int updateJobCompany(@Param("ids") Collection<Long> ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany);

@ -467,7 +467,7 @@
and t.forbidden_tag = #{jobPO.forbiddenTag} and t.forbidden_tag = #{jobPO.forbiddenTag}
</if> </if>
</select> </select>
<select id="getMaxShowOrder" resultType="java.lang.Integer"> <select id="getMaxShowOrder" resultType="java.lang.Double">
select max(show_order) select max(show_order)
from jcl_org_job from jcl_org_job
</select> </select>
@ -482,8 +482,10 @@
and delete_type = 0 and delete_type = 0
</select> </select>
<select id="getIdByNameAndPid" resultType="java.lang.Long"> <select id="getIdByNameAndPid" resultMap="BaseResultMap">
select t.id from jcl_org_job t select
<include refid="baseColumns"/>
from jcl_org_job t
left join hrmjobtitles h on t.ec_jobTitle = h.id left join hrmjobtitles h on t.ec_jobTitle = h.id
left join hrmjobactivities j on h.jobactivityid = j.id left join hrmjobactivities j on h.jobactivityid = j.id
left join hrmjobgroups f on j.jobgroupid = f.id left join hrmjobgroups f on j.jobgroupid = f.id

@ -22,7 +22,7 @@
<select id="selectFilterDatas" resultType="com.engine.organization.entity.hrmresource.po.ResourcePO"> <select id="selectFilterDatas" resultType="com.engine.organization.entity.hrmresource.po.ResourcePO">
select distinct a.subcompanyid1, a.departmentid, a.jobtitle select distinct a.subcompanyid1, a.departmentid, a.jobtitle
from hrmresource a from hrmresource a
where a.status &lt; 4 where a.status &lt; 4 and a.seclevel &gt;= 0
and not exists and not exists
(select 1 (select 1
from jcl_org_job b from jcl_org_job b

@ -100,7 +100,7 @@ public interface ChartService {
* @param: [] * @param: []
* @return: java.util.Map<java.lang.Integer,com.engine.organization.entity.chart.HrmLabelVO> * @return: java.util.Map<java.lang.Integer,com.engine.organization.entity.chart.HrmLabelVO>
*/ */
Map<Integer, HrmLabelVO> selectLabel(); Map<String, HrmLabelVO> selectLabel();
/** /**
* @Description: * @Description:

@ -60,8 +60,9 @@ public class CardAccessServiceImpl extends Service implements CardAccessService
@Override @Override
public Map<String, Object> hasRight() { public Map<String, Object> hasRight() {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); //boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true);
resultMap.put("hasRight", hasRight); //脚本未找到该菜单 放开所有
resultMap.put("hasRight", true);
return resultMap; return resultMap;
} }

@ -715,9 +715,9 @@ public class ChartServiceImpl extends Service implements ChartService {
} }
@Override @Override
public Map<Integer, HrmLabelVO> selectLabel() { public Map<String, HrmLabelVO> selectLabel() {
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
Map<Integer, HrmLabelVO> labelData = new HashMap<>(); Map<String, HrmLabelVO> labelData = new HashMap<>();
//labelId集合 //labelId集合
List<Integer> labelIds = Arrays.asList(547190,547194,547196,547262,547282,547283,547284,547285,547286,547287,547292,547293,547294,547296,547298,547299,547300,547301,547302,547303,547304,547305,547307,547310,547313,547314,547315,547316,547317, List<Integer> labelIds = Arrays.asList(547190,547194,547196,547262,547282,547283,547284,547285,547286,547287,547292,547293,547294,547296,547298,547299,547300,547301,547302,547303,547304,547305,547307,547310,547313,547314,547315,547316,547317,
547318,547319,547320,547321,547322,547323,547324,547326,547327,547328,547329,547330,547331,547332,547333,547334,547345,547346,547447,547448,547468,547473,547475,547476,547477,547478,547478,547264,547265,547463,547464,547465, 547318,547319,547320,547321,547322,547323,547324,547326,547327,547328,547329,547330,547331,547332,547333,547334,547345,547346,547447,547448,547468,547473,547475,547476,547477,547478,547478,547264,547265,547463,547464,547465,
@ -726,7 +726,7 @@ public class ChartServiceImpl extends Service implements ChartService {
labelIds.forEach(item -> { labelIds.forEach(item -> {
rs.executeQuery("select labelName from HtmlLabelInfo where indexid = ? and languageid = ?",item,user.getLanguage()); rs.executeQuery("select labelName from HtmlLabelInfo where indexid = ? and languageid = ?",item,user.getLanguage());
if (rs.next()){ if (rs.next()){
labelData.put(item,HrmLabelVO.builder().labelName(Util.null2String(rs.getString("labelName"))).build()); labelData.put(Util.null2String(item),HrmLabelVO.builder().labelName(Util.null2String(rs.getString("labelName"))).build());
} }
}); });
@ -762,7 +762,6 @@ public class ChartServiceImpl extends Service implements ChartService {
/** /**
* *
*
* @param stp * @param stp
* @return * @return
*/ */
@ -778,7 +777,7 @@ public class ChartServiceImpl extends Service implements ChartService {
if (ModuleTypeEnum.subcompanyfielddefined.getValue().equals(stp.getType())) { if (ModuleTypeEnum.subcompanyfielddefined.getValue().equals(stp.getType())) {
subCompany.getSubCompanyLists(String.valueOf(stp.getDataId()), list); subCompany.getSubCompanyLists(String.valueOf(stp.getDataId()), list);
String value = StringUtils.join(list,","); String value = StringUtils.join(list,",");
jobSql.append("select count(1) as count from hrmresource where status in (0,1,3) and subcompanyid1 in (").append(value).append(")"); jobSql.append("select count(1) as count from hrmresource where status < 4 and subcompanyid1 in (").append(value).append(")");
staffSql.append("select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" + staffSql.append("select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" +
" on a.plan_id = b.id\n" + " on a.plan_id = b.id\n" +
" and a.ec_company = ? and a.ec_department is null and a.delete_type = 0\n" + " and a.ec_company = ? and a.ec_department is null and a.delete_type = 0\n" +
@ -786,7 +785,7 @@ public class ChartServiceImpl extends Service implements ChartService {
}else { }else {
dept.getAllChildDeptByDepId(list,String.valueOf(stp.getDataId())); dept.getAllChildDeptByDepId(list,String.valueOf(stp.getDataId()));
String value = StringUtils.join(list,","); String value = StringUtils.join(list,",");
jobSql.append("select count(1) as count from hrmresource where status in (0,1,3) and departmentid in (").append(value).append(")"); jobSql.append("select count(1) as count from hrmresource where status < 4 and departmentid in (").append(value).append(")");
staffSql.append("select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" + staffSql.append("select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" +
" on a.plan_id = b.id\n" + " on a.plan_id = b.id\n" +
" and a.ec_department = ? and a.job_id is null and a.delete_type = 0\n" + " and a.ec_department = ? and a.job_id is null and a.delete_type = 0\n" +
@ -832,13 +831,7 @@ public class ChartServiceImpl extends Service implements ChartService {
List<Integer> hisCompanyList = new ArrayList<>(); List<Integer> hisCompanyList = new ArrayList<>();
List<Integer> hisDepartmentList = new ArrayList<>(); List<Integer> hisDepartmentList = new ArrayList<>();
StringBuilder companySql = new StringBuilder("select data_id from jcl_org_onjob where type = 1"); rs.executeQuery("select data_id from jcl_org_onjob where type = 1");
if (companyId != null) {
companySql.append(" and data_id = ").append(companyId);
}
rs.executeQuery(companySql.toString());
while (rs.next()) { while (rs.next()) {
hisCompanyList.add(Util.getIntValue(rs.getString("data_id"))); hisCompanyList.add(Util.getIntValue(rs.getString("data_id")));
} }
@ -1014,7 +1007,7 @@ public class ChartServiceImpl extends Service implements ChartService {
" left join JCL_ORG_ONJOB d on a.id=d.data_id and d.type=1 "; " left join JCL_ORG_ONJOB d on a.id=d.data_id and d.type=1 ";
deptQuerySql = "select a.id as departmentid, a.departmentmark, a.departmentname, a.subcompanyid1 as subcompanyid, " + deptQuerySql = "select a.id as departmentid, a.departmentmark, a.departmentname, a.subcompanyid1 as subcompanyid, " +
"b.SUBCOMPANYNAME as subcompany,a.supdepid as supdepartmentid,c.departmentname as supdepartment," + "b.SUBCOMPANYNAME as subcompany,a.supdepid as supdepartmentid,c.departmentname as supdepartment," +
"a.canceled,a.departmentcode,a.coadjutant,a.tlevel,d.bmlx as isvirtual,a.bmfzr as fleader,e.on_job_num,e.staff_num " + "a.canceled,a.departmentcode,a.coadjutant,a.tlevel,d.bmlx as isvirtual,d.bmfzr as fleader,e.on_job_num,e.staff_num " +
"from hrmdepartment a left join hrmsubcompany b on a.subcompanyid1 = b.id " + "from hrmdepartment a left join hrmsubcompany b on a.subcompanyid1 = b.id " +
"left join hrmdepartment c on a.supdepid = c.id " + "left join hrmdepartment c on a.supdepid = c.id " +
"left join hrmdepartmentdefined d on a.id=d.deptid " + "left join hrmdepartmentdefined d on a.id=d.deptid " +
@ -1047,12 +1040,13 @@ public class ChartServiceImpl extends Service implements ChartService {
" a.departmentcode,\n" + " a.departmentcode,\n" +
" a.coadjutant,\n" + " a.coadjutant,\n" +
" a.tlevel,\n" + " a.tlevel,\n" +
" a.bmfzr as fleader,\n" + " e.bmfzr as fleader,\n" +
" d.on_job_num,\n" + " d.on_job_num,\n" +
" d.staff_num" + " d.staff_num" +
" from hrmdepartment a\n" + " from hrmdepartment a\n" +
" left join hrmsubcompany b on a.subcompanyid1 = b.id\n" + " left join hrmsubcompany b on a.subcompanyid1 = b.id\n" +
" left join hrmdepartment c on a.supdepid = c.id\n" + " left join hrmdepartment c on a.supdepid = c.id\n" +
" left join hrmdepartmentdefined e on a.id=e.deptid\n" +
" left join JCL_ORG_ONJOB d on a.id=d.data_id and d.type=2 "; " left join JCL_ORG_ONJOB d on a.id=d.data_id and d.type=2 ";
} }
@ -1678,9 +1672,6 @@ public class ChartServiceImpl extends Service implements ChartService {
* @return * @return
*/ */
private String getDepartmentLeader(String ids) { private String getDepartmentLeader(String ids) {
if (!isRealTime) {
return ids;
}
if (StringUtils.isBlank(ids)) { if (StringUtils.isBlank(ids)) {
return ""; return "";
} }

@ -85,10 +85,10 @@ public class CompServiceImpl extends Service implements CompService {
// 添加父级元素 // 添加父级元素
List<CompListDTO> compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs, orderType.toString()); List<CompListDTO> compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs, orderType.toString());
if ("asc".equalsIgnoreCase(orderType.toString())) { if ("asc".equalsIgnoreCase(orderType.toString())) {
compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder)).collect(Collectors.toList()); compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder)).collect(Collectors.toList());
} else { } else {
compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList());
} }
List<CompListDTO> subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); List<CompListDTO> subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS);
pageInfos = new PageInfo<>(user, subList, CompListDTO.class); pageInfos = new PageInfo<>(user, subList, CompListDTO.class);

@ -48,7 +48,7 @@ public class ConfigServiceImpl extends Service implements ConfigService {
public String ssoLogin(QTXConfigParam qtx) throws UnsupportedEncodingException { public String ssoLogin(QTXConfigParam qtx) throws UnsupportedEncodingException {
String hkUrl; String hkUrl;
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
String enable = bb.getPropValue("qtx_sso_login", "enable"); String enable = bb.getPropValue("hrmOrganization", "enable");
String userAgent = qtx.getUserAgent(); String userAgent = qtx.getUserAgent();
boolean termianal = MobileTerminalEnum.containsEnumValue(userAgent); boolean termianal = MobileTerminalEnum.containsEnumValue(userAgent);
if (VALUE_ONE.equals(enable)) { if (VALUE_ONE.equals(enable)) {
@ -83,7 +83,7 @@ public class ConfigServiceImpl extends Service implements ConfigService {
if (Objects.nonNull(qtxConfigPO)) { if (Objects.nonNull(qtxConfigPO)) {
BeanUtils.copyProperties(datas, qtxConfigPO); BeanUtils.copyProperties(datas, qtxConfigPO);
} }
map.put("isopenconfig",bb.getPropValue("qtx_sso_login","enable")); map.put("isopenconfig",bb.getPropValue("hrmOrganization","enable"));
map.put("columns",columns); map.put("columns",columns);
map.put("datas", Collections.singletonList(datas)); map.put("datas", Collections.singletonList(datas));
return map; return map;
@ -93,7 +93,7 @@ public class ConfigServiceImpl extends Service implements ConfigService {
@Override @Override
public int saveConfigInfo(QTXConfigPO qtxConfigPO, String isopenconfig) { public int saveConfigInfo(QTXConfigPO qtxConfigPO, String isopenconfig) {
ConfigOperator ConfigOperator = new ConfigOperator(); ConfigOperator ConfigOperator = new ConfigOperator();
ConfigOperator.setProp("qtx_sso_login.properties", "enable", isopenconfig); ConfigOperator.setProp("hrmOrganization.properties", "enable", isopenconfig);
qtxConfigPO.setCreator(user.getUID()); qtxConfigPO.setCreator(user.getUID());
qtxConfigPO.setCreateDate(OrganizationDateUtil.getFormatLocalDate(LocalDate.now())); qtxConfigPO.setCreateDate(OrganizationDateUtil.getFormatLocalDate(LocalDate.now()));
getConfigMapper().deleteAll(); getConfigMapper().deleteAll();

@ -134,10 +134,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
// 添加父级元素 // 添加父级元素
List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(allList, filterDeptPOs, orderType.toString()); List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(allList, filterDeptPOs, orderType.toString());
if ("asc".equalsIgnoreCase(orderType.toString())) { if ("asc".equalsIgnoreCase(orderType.toString())) {
compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder)).collect(Collectors.toList());
} else { } else {
compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList());
} }
List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS);
pageInfos = new PageInfo<>(user, DepartmentBO.buildDeptDTOShowNames(subList), DepartmentListDTO.class); pageInfos = new PageInfo<>(user, DepartmentBO.buildDeptDTOShowNames(subList), DepartmentListDTO.class);

@ -15,7 +15,6 @@ import com.engine.organization.entity.department.bo.DepartmentBO;
import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.dto.DepartmentListDTO;
import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.po.DepartmentPO;
import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO;
import com.engine.organization.entity.hrmresource.po.SearchTemplatePO;
import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO;
import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.entity.staff.vo.StaffTableVO; import com.engine.organization.entity.staff.vo.StaffTableVO;
@ -45,7 +44,6 @@ import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -169,6 +167,7 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
List<String> columnList = Arrays.asList(columns.split(",")); List<String> columnList = Arrays.asList(columns.split(","));
String propValue = new BaseBean().getPropValue("hrmOrganization", "orgId"); String propValue = new BaseBean().getPropValue("hrmOrganization", "orgId");
Map<String, WeaTableColumn> columnMap = new HashMap<>();
BigDecimal decimal = new BigDecimal(100 / columnList.size()); BigDecimal decimal = new BigDecimal(100 / columnList.size());
@ -196,15 +195,19 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
weaTableColumn.setOtherpara(columnName); weaTableColumn.setOtherpara(columnName);
//weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); //weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%");
if (weaTableColumn.getDisplay().getBoolVal()) { columnMap.put(columnName, weaTableColumn);
}
}
for (String columnName : columnList) {
WeaTableColumn weaTableColumn = columnMap.get(columnName);
if (weaTableColumn != null && weaTableColumn.getDisplay().getBoolVal()) {
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
headerList.add(weaTableColumn.getColumn()); headerList.add(weaTableColumn.getColumn());
headerNameList.add(weaTableColumn.getText()); headerNameList.add(weaTableColumn.getText());
} }
} }
}
//todo 修复导出excel与列定制顺序
// 增加id字段,跳转人员卡片 // 增加id字段,跳转人员卡片
WeaTableColumn weaTableColumn = new WeaTableColumn(); WeaTableColumn weaTableColumn = new WeaTableColumn();

@ -81,7 +81,7 @@ public class FunctionOutStaffServiceImpl {
OrganizationAssert.isFalse(staffPO.getFreezeNum() == 0, SystemEnv.getHtmlLabelName(547949,user.getLanguage())); OrganizationAssert.isFalse(staffPO.getFreezeNum() == 0, SystemEnv.getHtmlLabelName(547949,user.getLanguage()));
} }
List<Integer> numberF = Arrays.asList(staffPO.getFreezeNum(),param.getNum(),staffPO.getPermanentNum()); List<Integer> numberF = Arrays.asList(staffPO.getFreezeNum(),param.getNum());
//1.增加冻结数 num为负数时为减少冻结数 //1.增加冻结数 num为负数时为减少冻结数
Integer sum = numberF.stream() Integer sum = numberF.stream()
.mapToInt(Integer::intValue) .mapToInt(Integer::intValue)
@ -233,7 +233,6 @@ public class FunctionOutStaffServiceImpl {
bb.writeLog("编制参数"+ JSON.toJSONString(param)); bb.writeLog("编制参数"+ JSON.toJSONString(param));
bb.writeLog("查询结果"+ JSON.toJSONString(staffPO)); bb.writeLog("查询结果"+ JSON.toJSONString(staffPO));
bb.writeLog("user对象"+JSON.toJSONString(user)); bb.writeLog("user对象"+JSON.toJSONString(user));
bb.writeLog("msg"+SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
OrganizationAssert.notEmpty(staffPO,SystemEnv.getHtmlLabelName(547474,user.getLanguage())); OrganizationAssert.notEmpty(staffPO,SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
return staffPO.get(0); return staffPO.get(0);
} }

@ -6,7 +6,6 @@ import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionType; import com.api.browser.util.ConditionType;
import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.api.hrm.util.HrmTransMethod;
import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg; import com.cloudstore.eccom.result.WeaResultMsg;
@ -64,7 +63,10 @@ import weaver.general.BaseBean;
import weaver.general.StringUtil; import weaver.general.StringUtil;
import weaver.general.TimeUtil; import weaver.general.TimeUtil;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.hrm.definedfield.HrmFieldManager; import weaver.hrm.definedfield.HrmFieldManager;
import weaver.hrm.privacy.PrivacyComInfo;
import weaver.systeminfo.SystemEnv; import weaver.systeminfo.SystemEnv;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -187,25 +189,40 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
List<SearchConditionItem> items = filterByDomkey(all, columnList); List<SearchConditionItem> items = filterByDomkey(all, columnList);
List<String> privacyList = Arrays.asList("-1_hrm_mobile","-1_hrm_telephone","-1_hrm_mobilecall","-1_hrm_fax","-1_hrm_email");
for (SearchConditionItem item : items) { for (SearchConditionItem item : items) {
String columnName = item.getDomkey()[0]; String columnName = item.getDomkey()[0];
WeaTableColumn weaTableColumn = new WeaTableColumn(); WeaTableColumn weaTableColumn = new WeaTableColumn();
if (columnName.equals("-1_cus_"+propValue)){ if (columnName.equals("-1_cus_"+propValue)){
weaTableColumn.setOtherpara(columnName);
fields.add("t.id as " + buildTableSql(columnName).replace(".", "_")); fields.add("t.id as " + buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getOrgValue"); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getOrgValue");
}else if(privacyList.contains(columnName)) {
fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_"));
PrivacyComInfo pc = new PrivacyComInfo();
Map<String, String> mapShowSets = pc.getMapShowSets();
String[] parts = columnName.split("_");
String fieldName = parts[parts.length - 1];
if (mapShowSets != null && mapShowSets.get("mobile") != null) {
weaTableColumn.setOtherpara("column:id+" + user.getUID() + "+"+fieldName+"");
weaTableColumn.setTransmethod("weaver.hrm.privacy.PrivacyComInfo.getSearchContent");
}else {
weaTableColumn.setOtherpara(fieldName+":"+user.getLanguage());
weaTableColumn.setTransmethod("weaver.hrm.HrmTransMethod.getDefineContent");
}
} else{ } else{
weaTableColumn.setOtherpara(columnName);
fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_")); fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
} }
String scopeId = columnName.split("_")[0]; String scopeId = columnName.split("_")[0];
String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1); String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1);
weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId, user.getLanguage())); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId, user.getLanguage()));
weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_")); weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setOtherpara(columnName);
weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE);
weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%");
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
@ -216,6 +233,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
weaTableColumn.setColumn("id"); weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE); weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
fields.add("t.id"); fields.add("t.id");
table.setBackfields(StringUtils.join(fields, ",")); table.setBackfields(StringUtils.join(fields, ","));
@ -307,7 +325,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
List<String> selectKeys; List<String> selectKeys;
if ("custom".equals(type)) { if ("custom".equals(type)) {
if ("-1".equals(templateId)) { if ("-1".equals(templateId)) {
selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid".split(",")); //selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid".split(","));
selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder".split(","));
} else { } else {
searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId);
selectKeys = getSelectKeys(searchTemplateById); selectKeys = getSelectKeys(searchTemplateById);
@ -603,7 +622,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
Map<String, Object> apiDatas = new HashMap<>(); Map<String, Object> apiDatas = new HashMap<>();
List<SearchConditionGroup> addGroups = new ArrayList<>(); List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionGroup> allConditions = getAllConditions(); List<SearchConditionGroup> allConditions = getAllConditions(true);
// 穿梭框ID展示所选字段信息 // 穿梭框ID展示所选字段信息
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
if ("-1".equals(templateId)) { if ("-1".equals(templateId)) {
@ -643,6 +662,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
btnDatas.put("rightMenu", rightMenuList); btnDatas.put("rightMenu", rightMenuList);
btnDatas.put("hasRight", true); btnDatas.put("hasRight", true);
btnDatas.put("loginId", user.getUID()); btnDatas.put("loginId", user.getUID());
btnDatas.put("cardType", new BaseBean().getPropValue("hrmOrganization", "cardType"));
//获取当前用户使用的列定制模板Id //获取当前用户使用的列定制模板Id
btnDatas.put("customTemplateId", getCustomTemplateId()); btnDatas.put("customTemplateId", getCustomTemplateId());
btnDatas.put("searchTemplateId", getSearchTemplateId()); btnDatas.put("searchTemplateId", getSearchTemplateId());
@ -785,13 +805,25 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems);
Map<String, SearchConditionItem> allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1)); Map<String, SearchConditionItem> allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1));
boolean isQuickSearch = "true".equals(Util.null2String(params.get("isQuickSearch"))); boolean isQuickSearch = "true".equals(Util.null2String(params.get("isQuickSearch")));
DepartmentComInfo deptInfo = new DepartmentComInfo();
SubCompanyComInfo subInfo = new SubCompanyComInfo();
DBType dbType = DBType.get(new RecordSet().getDBType()); DBType dbType = DBType.get(new RecordSet().getDBType());
StringBuilder sb = new StringBuilder(" where 1=1 "); StringBuilder sb = new StringBuilder(" where 1=1 ");
// 默认去除外部人员显示
sb.append( " and t.seclevel >= 0 ");
if (params.containsKey("lastName") || !params.containsKey("-1_hrm_status")) { if (params.containsKey("lastName") || !params.containsKey("-1_hrm_status")) {
// sb.append(" and t.status = 1"); // sb.append(" and t.status = 1");
sb.append(" and t.status < 4"); sb.append(" and t.status < 4");
} }
if (params.containsKey("-1_hrm_subcompanyid1")) {
String value = Util.null2String(params.get("-1_hrm_subcompanyid1"));
if (StringUtils.isNotBlank(value)) {
sb.append(" and t.subcompanyid1 in(").append(value).append(")");
}
params.remove("-1_hrm_subcompanyid1");
}
for (Map.Entry<String, Object> entry : params.entrySet()) { for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey(); String key = entry.getKey();
String value = Util.null2String(entry.getValue()); String value = Util.null2String(entry.getValue());
@ -802,10 +834,18 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
sb.append(" and t.lastname ").append(dbType.like(value)); sb.append(" and t.lastname ").append(dbType.like(value));
} }
if ("companyId".equals(key)) { if ("companyId".equals(key)) {
sb.append(" and t.subcompanyid1 ='").append(value).append("'"); ArrayList<Integer> list = new ArrayList<>();
list.add(Integer.parseInt(value));
subInfo.getSubCompanyLists(value,list);
String allSub = StringUtils.join(list,",");
sb.append(" and t.subcompanyid1 in(").append(allSub).append(")");
} }
if ("departmentId".equals(key)) { if ("departmentId".equals(key)) {
sb.append(" and t.departmentId ='").append(value).append("'"); ArrayList<Integer> list = new ArrayList<>();
list.add(Integer.parseInt(value));
deptInfo.getAllChildDeptByDepId(list,value);
String allDept = StringUtils.join(list,",");
sb.append(" and t.departmentId in (").append(allDept).append(")");
} }
if ("jobTitle".equals(key)) { if ("jobTitle".equals(key)) {
JobPO jobById = getJobMapper().getJobById(Long.parseLong(value)); JobPO jobById = getJobMapper().getJobById(Long.parseLong(value));
@ -994,12 +1034,15 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
public List<SearchConditionGroup> getAllConditions() {
return getAllConditions(false);
}
/** /**
* *
* *
* @return * @return
*/ */
public List<SearchConditionGroup> getAllConditions() { public List<SearchConditionGroup> getAllConditions(boolean isSearch) {
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
List<SearchConditionGroup> addGroups = new ArrayList<>(); List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> basicConditionItems = new ArrayList<>(); List<SearchConditionItem> basicConditionItems = new ArrayList<>();
@ -1010,6 +1053,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
List<CusFormFieldPO> hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); List<CusFormFieldPO> hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString());
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems);
if (CollectionUtils.isNotEmpty(basicConditionItems)) { if (CollectionUtils.isNotEmpty(basicConditionItems)) {
SearchConditionItem searchConditionItem = buildSubCompanyCondition(hrmFieldSearchConditionComInfo,isSearch);
basicConditionItems.add(0,searchConditionItem);
addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547175, user.getLanguage()), true, basicConditionItems)); addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547175, user.getLanguage()), true, basicConditionItems));
} }
@ -1029,6 +1074,34 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return addGroups; return addGroups;
} }
/**
*
*
* @param hrmFieldSearchConditionComInfo
* @param isSearch
* @return
*/
private SearchConditionItem buildSubCompanyCondition(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, boolean isSearch) {
HrmFieldBean hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldid("");
hrmFieldBean.setFieldname("-1_hrm_subcompanyid1");
hrmFieldBean.setFieldlabel("-2458");
hrmFieldBean.setFieldhtmltype("3");
if (isSearch) {
hrmFieldBean.setType("170");
} else {
hrmFieldBean.setType("164");
}
hrmFieldBean.setIsQuickSearch(false);
hrmFieldBean.setIsScope(false);
hrmFieldBean.setDmlurl("");
hrmFieldBean.setIssystem("1");
hrmFieldBean.setIsFormField(true);
SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
return searchConditionItem;
}
/** /**
* Item * Item
* *
@ -1081,6 +1154,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid);
List<SearchConditionItem> conditionItems = new ArrayList<>(); List<SearchConditionItem> conditionItems = new ArrayList<>();
for (String field : fieldNames) { for (String field : fieldNames) {
if ("-1_hrm_subcompanyid1".equals(field)) {
SearchConditionItem searchConditionItem = buildSubCompanyCondition(hrmFieldSearchConditionComInfo,true);
conditionItems.add(searchConditionItem);
} else {
String fieldName = field.substring(field.lastIndexOf("_") + 1); String fieldName = field.substring(field.lastIndexOf("_") + 1);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
if (null == hrmFieldConf) { if (null == hrmFieldConf) {
@ -1109,6 +1186,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
addEmptyForSelect(searchConditionItem); addEmptyForSelect(searchConditionItem);
} }
} }
}
if (CollectionUtils.isNotEmpty(conditionItems)) { if (CollectionUtils.isNotEmpty(conditionItems)) {
addGroups.add(new SearchConditionGroup(title, true, conditionItems)); addGroups.add(new SearchConditionGroup(title, true, conditionItems));
} }
@ -1235,7 +1313,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
case BROWSER://浏览按钮 case BROWSER://浏览按钮
// 兼容多选浏览按钮 // 兼容多选浏览按钮
sb.append(" and ").append(dbType.concat(tableSql)).append(dbType.like(value)); sb.append(" and ").append(dbType.concat(tableSql)).append(dbType.like("," + value + ","));
break; break;
case INPUTNUMBER:// 数字 case INPUTNUMBER:// 数字

@ -164,10 +164,10 @@ public class JobServiceImpl extends Service implements JobService {
// 添加父级元素 // 添加父级元素
List<JobListDTO> jobListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs); List<JobListDTO> jobListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs);
if ("asc".equalsIgnoreCase(orderType.toString())) { if ("asc".equalsIgnoreCase(orderType.toString())) {
jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparing(JobListDTO::getShowOrder)).collect(Collectors.toList()); jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparingDouble(JobListDTO::getShowOrder)).collect(Collectors.toList());
} else { } else {
jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparing(JobListDTO::getShowOrder).reversed()).collect(Collectors.toList()); jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparingDouble(JobListDTO::getShowOrder).reversed()).collect(Collectors.toList());
} }
List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), jobListDTOS); List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), jobListDTOS);
pageInfos = new PageInfo<>(user, subList, JobListDTO.class); pageInfos = new PageInfo<>(user, subList, JobListDTO.class);
@ -367,9 +367,9 @@ public class JobServiceImpl extends Service implements JobService {
} }
if (StringUtils.isBlank(params.get("show_order").toString())) { if (StringUtils.isBlank(params.get("show_order").toString())) {
Integer maxShowOrder = getJobMapper().getMaxShowOrder(); Double maxShowOrder = getJobMapper().getMaxShowOrder();
if (null == maxShowOrder) { if (null == maxShowOrder) {
maxShowOrder = 0; maxShowOrder = 0.00;
} }
params.put("show_order", maxShowOrder + 1); params.put("show_order", maxShowOrder + 1);
} }
@ -380,7 +380,7 @@ public class JobServiceImpl extends Service implements JobService {
String jobNo = (String) params.get("job_no"); String jobNo = (String) params.get("job_no");
// 判断是否开启自动编号 // 判断是否开启自动编号
jobNo = repeatDetermine(jobNo); jobNo = repeatDetermine(jobNo,searchParam.getEcJobTitle(),searchParam.getEcDepartment());
params.put("job_no", jobNo); params.put("job_no", jobNo);
return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null);
} }
@ -401,7 +401,7 @@ public class JobServiceImpl extends Service implements JobService {
String oldJobNo = oldJobPO.getJobNo(); String oldJobNo = oldJobPO.getJobNo();
String jobNo = searchParam.getJobNo(); String jobNo = searchParam.getJobNo();
if (!jobNo.equals(oldJobNo)) { if (!jobNo.equals(oldJobNo)) {
jobNo = repeatDetermine(jobNo); jobNo = repeatDetermine(jobNo,searchParam.getEcJobTitle(),searchParam.getEcDepartment());
params.put("job_no", jobNo); params.put("job_no", jobNo);
} }
@ -433,8 +433,8 @@ public class JobServiceImpl extends Service implements JobService {
OrganizationAssert.notBlank(department, SystemEnv.getHtmlLabelName(547423,user.getLanguage())); OrganizationAssert.notBlank(department, SystemEnv.getHtmlLabelName(547423,user.getLanguage()));
int insertCount = 0; int insertCount = 0;
List<Long> idList = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList()); List<Long> idList = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
Integer orderNum = getJobMapper().getMaxShowOrder(); Double orderNum = getJobMapper().getMaxShowOrder();
orderNum = null == orderNum ? 0 : orderNum; orderNum = null == orderNum ? 0.00 : orderNum;
for (Long id : idList) { for (Long id : idList) {
orderNum++; orderNum++;
JobPO jobById = getJobMapper().getJobById(id); JobPO jobById = getJobMapper().getJobById(id);
@ -739,7 +739,8 @@ public class JobServiceImpl extends Service implements JobService {
* *
* @return * @return
*/ */
public String repeatDetermine(String jobNo) { public String repeatDetermine(String jobNo,Integer jobTitle,Integer departmentId) {
JobTitlesComInfo jb = new JobTitlesComInfo();
CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.JOBTITLES.getValue()); CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.JOBTITLES.getValue());
if (StringUtils.isNotBlank(jobNo)) { if (StringUtils.isNotBlank(jobNo)) {
jobNo = CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobNo); jobNo = CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobNo);
@ -748,7 +749,11 @@ public class JobServiceImpl extends Service implements JobService {
OrganizationAssert.isEmpty(list, SystemEnv.getHtmlLabelName(547137, user.getLanguage())); OrganizationAssert.isEmpty(list, SystemEnv.getHtmlLabelName(547137, user.getLanguage()));
} else { } else {
//OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), SystemEnv.getHtmlLabelName(547430,user.getLanguage())); //OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), SystemEnv.getHtmlLabelName(547430,user.getLanguage()));
jobNo = autoCreateCompanyNo(); //jobNo = autoCreateCompanyNo();
String jobTitlescode = jb.getJobTitlescode(String.valueOf(jobTitle));
if (!"".equals(jobTitlescode)) {
jobNo = jobTitlescode+"-"+departmentId;
}
} }
return jobNo; return jobNo;
} }

@ -27,8 +27,6 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.cachecenter.bean.RolemembersComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.hrm.roles.RolesComInfo; import weaver.hrm.roles.RolesComInfo;
import weaver.systeminfo.SystemEnv; import weaver.systeminfo.SystemEnv;
@ -233,7 +231,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
} }
String ecRolelevel = (String) params.get("ecRolelevel"); String ecRolelevel = (String) params.get("ecRolelevel");
if (StringUtils.isNotBlank(ecRolelevel)) { if (StringUtils.isNotBlank(ecRolelevel)) {
sqlWhere += " AND " + dbType.concat("ec_rolelevel") + dbType.like(ecRolelevel); sqlWhere += " AND " + dbType.concat("ec_rolelevel") + dbType.like("," + ecRolelevel + ",");
} }
return sqlWhere; return sqlWhere;
} }

@ -611,9 +611,15 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
Map<String, Object> datas = new HashMap<>(); Map<String, Object> datas = new HashMap<>();
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
String fclass = Util.null2String(params.get("fclass")); String fclass = Util.null2String(params.get("fclass"));
String timeName = Util.null2String(params.get("timeName"));
List<TimeLinesBO> timeLinesBOList = new ArrayList<>(); List<TimeLinesBO> timeLinesBOList = new ArrayList<>();
timeLinesBOList.add(TimeLinesBO.builder().key(0).id(0).title("当前版本").color("blue").time("").build()); timeLinesBOList.add(TimeLinesBO.builder().key(0).id(0).title("当前版本").color("blue").time("").build());
rs.executeQuery("SELECT id,recorddate,description from JCL_ORG_CHARTVERSION where fclass = ? and deletetype = ? order by id desc", fclass, 0); String sql = "SELECT id,recorddate,description from JCL_ORG_CHARTVERSION where fclass = ? and deletetype = ?";
if (StringUtils.isNotEmpty(timeName)) {
sql += " and description like '%"+timeName+"%'";
}
sql += " order by id desc";
rs.executeQuery(sql, fclass, 0);
while (rs.next()) { while (rs.next()) {
timeLinesBOList.add(TimeLinesBO.builder() timeLinesBOList.add(TimeLinesBO.builder()
.key(rs.getInt("id")) .key(rs.getInt("id"))

@ -845,7 +845,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
jobPO.setDescription(description); jobPO.setDescription(description);
jobPO.setWorkDuty(work_duty); jobPO.setWorkDuty(work_duty);
jobPO.setWorkAuthority(work_authority); jobPO.setWorkAuthority(work_authority);
jobPO.setShowOrder(StringUtils.isBlank(show_order) ? null : Integer.parseInt(show_order)); jobPO.setShowOrder(StringUtils.isBlank(show_order) ? null : Double.parseDouble(show_order));
jobPO.setForbiddenTag(StringUtils.isBlank(forbidden_tag) ? null : Integer.parseInt(forbidden_tag)); jobPO.setForbiddenTag(StringUtils.isBlank(forbidden_tag) ? null : Integer.parseInt(forbidden_tag));
jobPO.setGradeId(grade_id); jobPO.setGradeId(grade_id);
jobPO.setLevelId(level_id); jobPO.setLevelId(level_id);

@ -493,7 +493,7 @@ public class StaffServiceImpl extends Service implements StaffService {
boolean hasDepartment = null != staffPO.getEcDepartment() && 0 != staffPO.getEcDepartment(); boolean hasDepartment = null != staffPO.getEcDepartment() && 0 != staffPO.getEcDepartment();
boolean hasJob = null != staffPO.getJobId() && 0 != staffPO.getJobId(); boolean hasJob = null != staffPO.getJobId() && 0 != staffPO.getJobId();
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
String sql = "select count(1) as num from hrmresource where STATUS in (0,1,3)"; String sql = "select count(1) as num from hrmresource where STATUS < 4";
if (null != staffPO.getEcCompany() && 0 != staffPO.getEcCompany()) { if (null != staffPO.getEcCompany() && 0 != staffPO.getEcCompany()) {
ArrayList<String> subCompanyList = new ArrayList<>(); ArrayList<String> subCompanyList = new ArrayList<>();
subCompanyList.add(staffPO.getEcCompany().toString()); subCompanyList.add(staffPO.getEcCompany().toString());

@ -27,6 +27,9 @@ public class HrmResourceTransMethod {
*/ */
public static String getFieldTrueValue(String id, String para) { public static String getFieldTrueValue(String id, String para) {
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0]));
if("-1_hrm_subcompanyid1".equals(para)){
hfm = new HrmFieldManager("HrmCustomFieldByInfoType", 5);
}
String fieldName = para.substring(para.lastIndexOf("_") + 1); String fieldName = para.substring(para.lastIndexOf("_") + 1);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
User user = new User(); User user = new User();
@ -78,6 +81,9 @@ public class HrmResourceTransMethod {
*/ */
public static String getFieldTrueValueExp(String id, String para) { public static String getFieldTrueValueExp(String id, String para) {
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0]));
if("-1_hrm_subcompanyid1".equals(para)){
hfm = new HrmFieldManager("HrmCustomFieldByInfoType", 5);
}
String fieldName = para.substring(para.lastIndexOf("_") + 1); String fieldName = para.substring(para.lastIndexOf("_") + 1);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
User user = new User(); User user = new User();

@ -222,14 +222,22 @@ public class StaffInfoImportUtil {
continue nextRow; continue nextRow;
} }
for (String s : split) { for (String s : split) {
parentJobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId, parentJobId == null ? 0 : parentJobId List<JobPO> jobPList = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId, parentJobId == null ? 0 : parentJobId
,jobactivitymark,jobgroupremark); ,jobactivitymark,jobgroupremark);
if (null == parentJobId) { if (jobPList.size() > 1) {
historyDetailPO.setOperateDetail(s + "岗位在岗位管理中存在重复数据,请先处理");
historyDetailPO.setStatus("0");
OrgImportUtil.saveImportDetailLog(historyDetailPO);
continue nextRow;
}
if (jobPList.size() == 0) {
historyDetailPO.setOperateDetail(s + "岗位未找到对应数据"); historyDetailPO.setOperateDetail(s + "岗位未找到对应数据");
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
OrgImportUtil.saveImportDetailLog(historyDetailPO); OrgImportUtil.saveImportDetailLog(historyDetailPO);
continue nextRow; continue nextRow;
} }
parentJobId = jobPList.get(0).getId();
} }
} }
map.put("job_id", parentJobId); map.put("job_id", parentJobId);
@ -286,7 +294,7 @@ public class StaffInfoImportUtil {
break; break;
case "3": // 岗位 case "3": // 岗位
if (null == parentJobId) { if (null == parentJobId) {
checkMsg = "编制维度选择岗位时,岗位必填"; checkMsg = "编制维度选择岗位时,未找到对应岗位!";
} else { } else {
JobPO jobPO = MapperProxyFactory.getProxy(JobMapper.class).getJobById(parentJobId); JobPO jobPO = MapperProxyFactory.getProxy(JobMapper.class).getJobById(parentJobId);
if (null == jobPO) { if (null == jobPO) {

@ -91,7 +91,11 @@ public class SearchTreeUtil {
Set<String> leafIds = new HashSet<>(); Set<String> leafIds = new HashSet<>();
List<SearchTree> collect = treeList.stream().peek(e -> { List<SearchTree> collect = treeList.stream().peek(e -> {
if (null != collects && CollectionUtils.isNotEmpty(collects.get(e.getId()))) { if (null != collects && CollectionUtils.isNotEmpty(collects.get(e.getId()))) {
List<TreeNode> nodes = collects.get(e.getId()).stream().sorted(Comparator.comparing(item -> null == item.getOrderNum() ? 0 : item.getOrderNum())).collect(Collectors.toList()); List<TreeNode> nodes = collects.get(e.getId()).stream().sorted(Comparator
.comparingDouble(SearchTree::getOrderNum)
.thenComparingDouble(SearchTree::getShowOrderOfTree)
)
.collect(Collectors.toList());
e.setSubs(nodes); e.setSubs(nodes);
leafIds.add(e.getId()); leafIds.add(e.getId());
if (CollectionUtils.isNotEmpty(e.getSubs())) { if (CollectionUtils.isNotEmpty(e.getSubs())) {
@ -110,18 +114,25 @@ public class SearchTreeUtil {
* @return * @return
*/ */
public static List<SearchTree> builderTreeMode(List<SearchTree> treeList, List<SearchTree> deptTrees) { public static List<SearchTree> builderTreeMode(List<SearchTree> treeList, List<SearchTree> deptTrees) {
Map<String, List<TreeNode>> parentMap = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); Map<String, List<SearchTree>> parentMap = treeList.stream().collect(Collectors.groupingBy(SearchTree::getPid));
Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp)); Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp));
boolean isAdd = !childMap.isEmpty(); boolean isAdd = !childMap.isEmpty();
Set<String> leafIds = new HashSet<>(); Set<String> leafIds = new HashSet<>();
List<SearchTree> collect = treeList.stream().peek(e -> { List<SearchTree> collect = treeList.stream().peek(e -> {
Set<TreeNode> treeNodes = new LinkedHashSet<>(); Set<TreeNode> treeNodes = new LinkedHashSet<>();
if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) { if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) {
List<SearchTree> searchTrees = childMap.get(e.getId()).stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); List<SearchTree> searchTrees = childMap.get(e.getId()).stream().sorted(
Comparator.comparingDouble(SearchTree::getOrderNum)
.thenComparingDouble(SearchTree::getShowOrderOfTree)
).collect(Collectors.toList());
treeNodes.addAll(searchTrees); treeNodes.addAll(searchTrees);
} }
List<TreeNode> nodes = parentMap.get(e.getId()); List<SearchTree> nodes = parentMap.get(e.getId());
if (CollectionUtils.isNotEmpty(nodes)) { if (CollectionUtils.isNotEmpty(nodes)) {
nodes = nodes.stream().sorted(
Comparator.comparingDouble(SearchTree::getOrderNum)
.thenComparingDouble(SearchTree::getShowOrderOfTree)
).collect(Collectors.toList());
treeNodes.addAll(nodes); treeNodes.addAll(nodes);
} }
e.setSubs(new ArrayList<>(treeNodes)); e.setSubs(new ArrayList<>(treeNodes));

@ -36,6 +36,11 @@ public class StaffOutController {
public ReturnResult changeStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) { public ReturnResult changeStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
//ESB接口user对象是null
if (user == null) {
user = new User();
user.setUid(1);
}
return ReturnResult.successed(user,staffOutService(user).changeStaff(staffOutParam)); return ReturnResult.successed(user,staffOutService(user).changeStaff(staffOutParam));
} catch (Exception e) { } catch (Exception e) {
return ReturnResult.exceptionHandle(e); return ReturnResult.exceptionHandle(e);
@ -48,6 +53,11 @@ public class StaffOutController {
public ReturnResult transactionOnJob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) { public ReturnResult transactionOnJob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
//ESB接口user对象是null
if (user == null) {
user = new User();
user.setUid(1);
}
return ReturnResult.successed(user,staffOutService(user).transactionOnJob(staffOutParam)); return ReturnResult.successed(user,staffOutService(user).transactionOnJob(staffOutParam));
} catch (Exception e) { } catch (Exception e) {
return ReturnResult.exceptionHandle(e); return ReturnResult.exceptionHandle(e);

@ -91,7 +91,7 @@ public class OrgChartWrapper extends Service {
return getChartService(user).recordStatistics(param); return getChartService(user).recordStatistics(param);
} }
public Map<Integer, HrmLabelVO> selectLabel() { public Map<String, HrmLabelVO> selectLabel() {
return getChartService(user).selectLabel(); return getChartService(user).selectLabel();
} }

@ -0,0 +1,169 @@
package weaver.interfaces.organization.action;
import cn.hutool.core.collection.CollectionUtil;
import com.engine.organization.entity.hrmresource.po.ResourcePO;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.enums.DeleteTypeEnum;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.mapper.staff.StaffMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import java.util.*;
/**
* @Author liang.cheng
* @Date 2024/9/25 2:03 PM
* @Description:
* @Version 1.0
*/
public class WorkflowStaffOperateAction implements Action {
@Override
public String execute(RequestInfo requestInfo) {
String requestid = requestInfo.getRequestid();
int formid = Math.abs(requestInfo.getRequestManager().getFormid());
RecordSet rs = new RecordSet();
String mainTable = String.format("%s%s", "formtable_main_", formid);
String detaiTable = String.format("%s%s",mainTable,"_dt1");
//1.获取表单数据
rs.executeQuery("select a.bzfa,b.fb,b.bm,b.gw,b.bzs,b.zzs from "+mainTable+" as a \n" +
"right join "+detaiTable+" as b on a.id = b.mainid where a.requestid = ?",requestid);
List<StaffPO> staffList = new ArrayList<>();
while (rs.next()) {
StaffPO build = StaffPO.builder()
.planId(Util.getIntValue(rs.getString("bzfa")))
.compId(Util.getIntValue(rs.getString("fb")))
.deptId(Util.getIntValue(rs.getString("bm")))
.jobId(Util.getIntValue(rs.getString("gw")))
.staffNum(Util.getIntValue(rs.getString("bzs")))
.permanentNum(Util.getIntValue(rs.getString("zzs")))
.build();
staffList.add(build);
}
if (CollectionUtil.isEmpty(staffList)) {
requestInfo.getRequestManager().setMessagecontent("未找到明细数据");
return Action.FAILURE_AND_CONTINUE;
}
Integer planId = staffList.get(0).getPlanId();
//2.数据处理Ec岗位id替换为聚才林岗位id 不存在情况下新增岗位数据
buildJobTitle(staffList);
//3.根据方案id获取当前已有编制信息与流程明细比较已存在的更新未存在的新增
List<StaffPO> hStaffList = new ArrayList<>();
rs.executeQuery("select id,comp_id,dept_id,job_id,freeze_num from jcl_org_staff where plan_id = ? and delete_type = 0",planId);
while (rs.next()) {
StaffPO build = StaffPO.builder()
.id((long) Util.getIntValue(rs.getString("id")))
.compId(Util.getIntValue(rs.getString("comp_id")))
.deptId(Util.getIntValue(rs.getString("dept_id")))
.jobId(Util.getIntValue(rs.getString("job_id")))
.freezeNum(Util.getIntValue(rs.getString("freeze_num")))
.build();
hStaffList.add(build);
}
//新增的编制信息数据List
List<StaffPO> iStaffList = new ArrayList<>();
Map<String, StaffPO> hStaffMap = new HashMap<>();
for (StaffPO staff : hStaffList) {
String key = staff.getCompId() + "_" + staff.getDeptId() + "_" + staff.getJobId();
hStaffMap.put(key, staff);
}
for (StaffPO staff : staffList) {
String key = staff.getCompId() + "_" + staff.getDeptId() + "_" + staff.getJobId();
if (hStaffMap.containsKey(key)) {
StaffPO matchedStaff = hStaffMap.get(key);
matchedStaff.setPermanentNum(staff.getPermanentNum());
matchedStaff.setStaffNum(staff.getStaffNum());
}else {
iStaffList.add(staff);
}
}
//更新
hStaffList.forEach(item -> {
//todo 冻结数还原为0根据需求而定
buildStaffPO(item);
rs.executeUpdate("update jcl_org_staff set staff_num = ?,permanent_num = ?,lack_status = ? where id = ?",
item.getStaffNum(),item.getPermanentNum(),item.getLackStatus(),item.getId());
});
//插入
iStaffList.forEach(staffPO -> {
staffPO.setFreezeNum(0);
staffPO.setControlPolicy(1);
staffPO.setDeleteType(0);
staffPO.setCreateTime(new Date());
staffPO.setUpdateTime(new Date());
staffPO.setCreator(1L);
buildStaffPO(staffPO);
MapperProxyFactory.getProxy(StaffMapper.class).insertIgnoreNull(staffPO);
});
return Action.FAILURE_AND_CONTINUE;
}
/**
* Ec
* @param staffList
*/
private void buildJobTitle(List<StaffPO> staffList) {
JobTitlesComInfo jb = new JobTitlesComInfo();
staffList.forEach(item -> {
ResourcePO resourcePo = ResourcePO.builder().subcompanyid1(item.getCompId()).departmentid(item.getDeptId()).jobtitle(item.getJobId()).build();
JobPO jobByResource = MapperProxyFactory.getProxy(JobMapper.class).getJobByResource(resourcePo);
if (jobByResource == null) {
//岗位不存在新增
JobPO jobPO = JobPO.builder()
.ecCompany(resourcePo.getSubcompanyid1())
.ecDepartment(resourcePo.getDepartmentid())
.ecJobTitle(resourcePo.getJobtitle())
.isKey(0)
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
.createTime(new Date())
.updateTime(new Date())
.build();
String jobTitlescode = jb.getJobTitlescode(String.valueOf(resourcePo.getJobtitle()));
if (!"".equals(jobTitlescode)) {
jobPO.setJobNo(jobTitlescode+"-"+resourcePo.getDepartmentid());
}
MapperProxyFactory.getProxy(JobMapper.class).insertIgnoreNull(jobPO);
item.setJobId(Math.toIntExact(jobPO.getId()));
}else {
item.setJobId(Math.toIntExact(jobByResource.getId()));
}
});
}
private static void buildStaffPO(StaffPO staffPO) {
List<Integer> number = Arrays.asList(staffPO.getPermanentNum(),staffPO.getFreezeNum());
Integer sums = number.stream()
.mapToInt(Integer::intValue)
.sum();
Integer a = staffPO.getStaffNum();
staffPO.setLackStatus((a.compareTo(sums) < 0) ? 3 : ((a.compareTo(sums) == 0) ? 2 : 1));
}
}

@ -0,0 +1,65 @@
package weaver.interfaces.organization.cronjob;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.collections.CollectionUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.ArrayList;
import java.util.List;
/**
* @Author liang.cheng
* @Date 2024/10/18 11:25 AM
* @Description:
* @Version 1.0
*/
public class DeleteIsCancelJobCrob extends BaseCronJob {
@Override
public void execute() {
RecordSet rs = new RecordSet();
List<JobPO> jobList = new ArrayList<>();
rs.executeQuery("select id,ec_jobtitle,ec_department from jcl_org_job where delete_type = 0");
while (rs.next()) {
jobList.add(JobPO.builder()
.id((long)Util.getIntValue(rs.getString("id")))
.ecJobTitle(Util.getIntValue(rs.getString("ec_jobtitle")))
.ecDepartment(Util.getIntValue(rs.getString("ec_department")))
.build());
}
List<Long> deleteIds = new ArrayList<>();
jobList.forEach(job -> {
//1.岗位是否封存或删除
rs.executeQuery("select id from hrmjobtitles where id = ? and (canceled is null or canceled != 1)",job.getEcJobTitle());
if (!rs.next()) {
deleteIds.add(job.getId());
return;
}
//2.部门是否封存或删除
rs.executeQuery("select id from hrmdepartment where id = ? and (canceled is null or canceled != 1)",job.getEcDepartment());
if (!rs.next()) {
deleteIds.add(job.getId());
}
});
if (CollectionUtils.isNotEmpty(deleteIds)) {
MapperProxyFactory.getProxy(JobMapper.class).deleteByIds(deleteIds);
}
}
}

@ -71,7 +71,7 @@ public class StaffPersonCron extends BaseCronJob {
List<StaffPO> poList = new ArrayList<>(); List<StaffPO> poList = new ArrayList<>();
cronParamList.forEach(item -> { cronParamList.forEach(item -> {
String sql = "select count(1) as num from hrmresource where status in (0,1,3)"; String sql = "select count(1) as num from hrmresource where status < 4";
if ("1".equals(item.getControlDimension())){ if ("1".equals(item.getControlDimension())){
ArrayList<String> subCompanyList = new ArrayList<>(); ArrayList<String> subCompanyList = new ArrayList<>();
subCompanyList.add(item.getEcCompany().toString()); subCompanyList.add(item.getEcCompany().toString());

@ -34,8 +34,6 @@ public class StatisticsPersonCron extends BaseCronJob {
@Override @Override
public void execute() { public void execute() {
Integer value = StringUtils.isNotBlank(companyId) ? Integer.parseInt(companyId) : null; Integer value = StringUtils.isNotBlank(companyId) ? Integer.parseInt(companyId) : null;
//数据过滤去除可手动选择
StatisticsParam build = StatisticsParam.builder().companyId(null).build(); StatisticsParam build = StatisticsParam.builder().companyId(null).build();
User user = new User(); User user = new User();
user.setUid(1); user.setUid(1);

@ -0,0 +1,34 @@
package weaver.interfaces.organization.cronjob;
import weaver.conn.RecordSet;
import weaver.interfaces.schedule.BaseCronJob;
/**
* @Author liang.cheng
* @Date 2024/10/10 1:56 PM
* @Description: Delete_type=1
* @Version 1.0
*/
public class TableDeleteDataCron extends BaseCronJob {
@Override
public void execute() {
RecordSet rs = new RecordSet();
rs.execute("delete from jcl_org_scheme where delete_type = 1");
rs.execute("delete from jcl_org_level where delete_type = 1");
rs.execute("delete from jcl_org_grade where delete_type = 1");
rs.execute("delete from jcl_org_sequence where delete_type = 1");
rs.execute("delete from jcl_org_staffplan where delete_type = 1");
rs.execute("delete from jcl_org_staff where delete_type = 1");
rs.execute("delete from jcl_org_job where delete_type = 1");
rs.execute("delete from jcl_org_jobext where delete_type = 1");
rs.execute("delete from jcl_org_jobext_dt1 where delete_type = 1");
rs.execute("delete from jcl_org_detach where delete_type = 1");
rs.execute("delete from jcl_org_cardaccess where delete_type = 1");
rs.execute("delete from jcl_org_cardbutton where delete_type = 1");
rs.execute("delete from jcl_field_extendgroup where delete_type = 1");
rs.execute("delete from jcl_field_extendtitle where delete_type = 1");
rs.execute("delete from jcl_field_extendinfo where delete_type = 1");
}
}
Loading…
Cancel
Save