Merge pull request 'feature/cl' (#290) from feature/cl into master

Reviewed-on: #290
liang.cheng 2 months ago
commit 70eb38c9b1

@ -234,7 +234,7 @@ public class JobBrowserService extends BrowserService {
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())) {
// 当前节点下的元素
CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build();

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

@ -24,7 +24,10 @@ public class CompBO {
}
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();
tree.setCanClick(true);
tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0);
@ -37,6 +40,7 @@ public class CompBO {
tree.setSelected(false);
tree.setType("1");
tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder());
tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree());
return tree;
}).collect(Collectors.toList());
}

@ -59,7 +59,7 @@ public class CompListDTO {
@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;
public Integer getShowOrder() {
return null == showOrder ? 0 : showOrder;
public Double getShowOrder() {
return null == showOrder ? 0.00 : showOrder;
}
private String orderType;
@ -89,9 +89,9 @@ public class CompListDTO {
return children;
}
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 {
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 Integer limitUsers;
private String uuid;
private Integer showOrder;
private Integer showOrderOfTree;
private Double showOrder;
private Double showOrderOfTree;
}

@ -32,6 +32,20 @@ public class CompPO {
private Date modified;
private Integer modifier;
private String uuid;
private Integer showOrder;
private Integer showOrderOfTree;
private Double showOrder;
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;
}
}

@ -172,7 +172,8 @@ public class DepartmentBO {
tree.setSelected(false);
tree.setType("2");
tree.setParentComp(null == item.getSupDepId() ? "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;
}).collect(Collectors.toList());
}

@ -105,9 +105,9 @@ public class DepartmentListDTO {
return children;
}
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 {
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 Double showOrder;
private Integer showOrderOfTree;
private Double showOrderOfTree;
}

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

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

@ -33,7 +33,7 @@ import lombok.NoArgsConstructor;
" left join HRMJOBTITLES t3 on t.JOBTITLE=t3.id" +
" left join HRMJOBACTIVITIES t4 on t3.JOBACTIVITYID=t4.ID" +
" left join HRMJOBGROUPS t5 on t4.JOBGROUPID=t5.ID ",
orderby = " t.dsporder ",
orderby = " t.dsporder",
sortway = " asc",
primarykey = "id",
operates = {

@ -156,7 +156,7 @@ public class JobBO {
tree.setSelected(false);
tree.setType("3");
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;
}).collect(Collectors.toList());

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

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

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

@ -12,6 +12,7 @@
<result column="departmentCode" property="departmentCode"/>
<result column="coadjutant" property="coadjutant"/>
<result column="showOrder" property="showOrder"/>
<result column="showOrderOfTree" property="showOrderOfTree"/>
<result column="uuid" property="uuid"/>
</resultMap>
@ -30,6 +31,7 @@
t.departmentCode,
t.coadjutant,
t.showOrder,
t.showOrderOfTree,
t.uuid
</sql>

@ -130,7 +130,7 @@ public interface JobMapper {
*
* @return
*/
Integer getMaxShowOrder();
Double getMaxShowOrder();
/**
*
@ -141,7 +141,7 @@ public interface JobMapper {
* @param parentJob
* @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);
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}
</if>
</select>
<select id="getMaxShowOrder" resultType="java.lang.Integer">
<select id="getMaxShowOrder" resultType="java.lang.Double">
select max(show_order)
from jcl_org_job
</select>
@ -482,8 +482,10 @@
and delete_type = 0
</select>
<select id="getIdByNameAndPid" resultType="java.lang.Long">
select t.id from jcl_org_job t
<select id="getIdByNameAndPid" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_job t
left join hrmjobtitles h on t.ec_jobTitle = h.id
left join hrmjobactivities j on h.jobactivityid = j.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 distinct a.subcompanyid1, a.departmentid, a.jobtitle
from hrmresource a
where a.status &lt; 4
where a.status &lt; 4 and a.seclevel &gt;= 0
and not exists
(select 1
from jcl_org_job b

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

@ -1007,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 ";
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," +
"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 " +
"left join hrmdepartment c on a.supdepid = c.id " +
"left join hrmdepartmentdefined d on a.id=d.deptid " +
@ -1040,12 +1040,13 @@ public class ChartServiceImpl extends Service implements ChartService {
" a.departmentcode,\n" +
" a.coadjutant,\n" +
" a.tlevel,\n" +
" a.bmfzr as fleader,\n" +
" e.bmfzr as fleader,\n" +
" d.on_job_num,\n" +
" d.staff_num" +
" from hrmdepartment a\n" +
" left join hrmsubcompany b on a.subcompanyid1 = b.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 ";
}
@ -1671,9 +1672,6 @@ public class ChartServiceImpl extends Service implements ChartService {
* @return
*/
private String getDepartmentLeader(String ids) {
if (!isRealTime) {
return ids;
}
if (StringUtils.isBlank(ids)) {
return "";
}

@ -85,10 +85,10 @@ public class CompServiceImpl extends Service implements CompService {
// 添加父级元素
List<CompListDTO> compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs, 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 {
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);
pageInfos = new PageInfo<>(user, subList, CompListDTO.class);

@ -134,10 +134,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
// 添加父级元素
List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(allList, filterDeptPOs, 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 {
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);
pageInfos = new PageInfo<>(user, DepartmentBO.buildDeptDTOShowNames(subList), DepartmentListDTO.class);

@ -81,7 +81,7 @@ public class FunctionOutStaffServiceImpl {
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为负数时为减少冻结数
Integer sum = numberF.stream()
.mapToInt(Integer::intValue)
@ -233,7 +233,6 @@ public class FunctionOutStaffServiceImpl {
bb.writeLog("编制参数"+ JSON.toJSONString(param));
bb.writeLog("查询结果"+ JSON.toJSONString(staffPO));
bb.writeLog("user对象"+JSON.toJSONString(user));
bb.writeLog("msg"+SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
OrganizationAssert.notEmpty(staffPO,SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
return staffPO.get(0);
}

@ -63,7 +63,10 @@ import weaver.general.BaseBean;
import weaver.general.StringUtil;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.hrm.definedfield.HrmFieldManager;
import weaver.hrm.privacy.PrivacyComInfo;
import weaver.systeminfo.SystemEnv;
import java.math.BigDecimal;
@ -186,25 +189,40 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
}
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) {
String columnName = item.getDomkey()[0];
WeaTableColumn weaTableColumn = new WeaTableColumn();
if (columnName.equals("-1_cus_"+propValue)){
weaTableColumn.setOtherpara(columnName);
fields.add("t.id as " + buildTableSql(columnName).replace(".", "_"));
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(".", "_"));
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
}
String scopeId = columnName.split("_")[0];
String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1);
weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId, user.getLanguage()));
weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setOtherpara(columnName);
weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE);
weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%");
weaTableColumnList.add(weaTableColumn);
@ -215,6 +233,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
weaTableColumnList.add(weaTableColumn);
fields.add("t.id");
table.setBackfields(StringUtils.join(fields, ","));
@ -643,6 +662,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
btnDatas.put("rightMenu", rightMenuList);
btnDatas.put("hasRight", true);
btnDatas.put("loginId", user.getUID());
btnDatas.put("cardType", new BaseBean().getPropValue("hrmOrganization", "cardType"));
//获取当前用户使用的列定制模板Id
btnDatas.put("customTemplateId", getCustomTemplateId());
btnDatas.put("searchTemplateId", getSearchTemplateId());
@ -785,9 +805,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems);
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")));
DepartmentComInfo deptInfo = new DepartmentComInfo();
SubCompanyComInfo subInfo = new SubCompanyComInfo();
DBType dbType = DBType.get(new RecordSet().getDBType());
StringBuilder sb = new StringBuilder(" where 1=1 ");
// 默认去除外部人员显示
sb.append( " and t.seclevel >= 0 ");
if (params.containsKey("lastName") || !params.containsKey("-1_hrm_status")) {
// sb.append(" and t.status = 1");
sb.append(" and t.status < 4");
@ -809,10 +834,18 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
sb.append(" and t.lastname ").append(dbType.like(value));
}
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)) {
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)) {
JobPO jobById = getJobMapper().getJobById(Long.parseLong(value));
@ -1280,7 +1313,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
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;
case INPUTNUMBER:// 数字

@ -164,10 +164,10 @@ public class JobServiceImpl extends Service implements JobService {
// 添加父级元素
List<JobListDTO> jobListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs);
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 {
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);
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())) {
Integer maxShowOrder = getJobMapper().getMaxShowOrder();
Double maxShowOrder = getJobMapper().getMaxShowOrder();
if (null == maxShowOrder) {
maxShowOrder = 0;
maxShowOrder = 0.00;
}
params.put("show_order", maxShowOrder + 1);
}
@ -433,8 +433,8 @@ public class JobServiceImpl extends Service implements JobService {
OrganizationAssert.notBlank(department, SystemEnv.getHtmlLabelName(547423,user.getLanguage()));
int insertCount = 0;
List<Long> idList = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
Integer orderNum = getJobMapper().getMaxShowOrder();
orderNum = null == orderNum ? 0 : orderNum;
Double orderNum = getJobMapper().getMaxShowOrder();
orderNum = null == orderNum ? 0.00 : orderNum;
for (Long id : idList) {
orderNum++;
JobPO jobById = getJobMapper().getJobById(id);

@ -27,8 +27,6 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.cachecenter.bean.RolemembersComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.hrm.roles.RolesComInfo;
import weaver.systeminfo.SystemEnv;
@ -233,7 +231,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
}
String ecRolelevel = (String) params.get("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;
}

@ -611,9 +611,15 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
Map<String, Object> datas = new HashMap<>();
RecordSet rs = new RecordSet();
String fclass = Util.null2String(params.get("fclass"));
String timeName = Util.null2String(params.get("timeName"));
List<TimeLinesBO> timeLinesBOList = new ArrayList<>();
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()) {
timeLinesBOList.add(TimeLinesBO.builder()
.key(rs.getInt("id"))

@ -845,7 +845,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
jobPO.setDescription(description);
jobPO.setWorkDuty(work_duty);
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.setGradeId(grade_id);
jobPO.setLevelId(level_id);

@ -222,14 +222,22 @@ public class StaffInfoImportUtil {
continue nextRow;
}
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);
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.setStatus("0");
OrgImportUtil.saveImportDetailLog(historyDetailPO);
continue nextRow;
}
parentJobId = jobPList.get(0).getId();
}
}
map.put("job_id", parentJobId);
@ -286,7 +294,7 @@ public class StaffInfoImportUtil {
break;
case "3": // 岗位
if (null == parentJobId) {
checkMsg = "编制维度选择岗位时,岗位必填";
checkMsg = "编制维度选择岗位时,未找到对应岗位!";
} else {
JobPO jobPO = MapperProxyFactory.getProxy(JobMapper.class).getJobById(parentJobId);
if (null == jobPO) {

@ -91,7 +91,11 @@ public class SearchTreeUtil {
Set<String> leafIds = new HashSet<>();
List<SearchTree> collect = treeList.stream().peek(e -> {
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);
leafIds.add(e.getId());
if (CollectionUtils.isNotEmpty(e.getSubs())) {
@ -110,18 +114,25 @@ public class SearchTreeUtil {
* @return
*/
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));
boolean isAdd = !childMap.isEmpty();
Set<String> leafIds = new HashSet<>();
List<SearchTree> collect = treeList.stream().peek(e -> {
Set<TreeNode> treeNodes = new LinkedHashSet<>();
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);
}
List<TreeNode> nodes = parentMap.get(e.getId());
List<SearchTree> nodes = parentMap.get(e.getId());
if (CollectionUtils.isNotEmpty(nodes)) {
nodes = nodes.stream().sorted(
Comparator.comparingDouble(SearchTree::getOrderNum)
.thenComparingDouble(SearchTree::getShowOrderOfTree)
).collect(Collectors.toList());
treeNodes.addAll(nodes);
}
e.setSubs(new ArrayList<>(treeNodes));

@ -36,6 +36,11 @@ public class StaffOutController {
public ReturnResult changeStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) {
try {
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));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
@ -48,6 +53,11 @@ public class StaffOutController {
public ReturnResult transactionOnJob(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffOutParam staffOutParam) {
try {
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));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);

@ -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);
}
}
}

@ -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