You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.8 KiB
Java
55 lines
1.8 KiB
Java
2 years ago
|
package weaver.interfaces.sskj.crob;
|
||
|
|
||
|
import com.engine.integration.util.StringUtils;
|
||
|
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 2023/11/28 3:53 PM
|
||
|
* @Description: 刷新人员安全级别
|
||
|
* @Version 1.0
|
||
|
*/
|
||
|
public class RefreshHrmSecLevelCrob extends BaseCronJob {
|
||
|
@Override
|
||
|
public void execute() {
|
||
|
|
||
|
List<ReleationPO> releationList = new ArrayList<>();
|
||
|
RecordSet rs = new RecordSet();
|
||
|
rs.executeQuery("select zwlb,aqjb from uf_aqjbdygxb");
|
||
|
while (rs.next()) {
|
||
|
releationList.add(ReleationPO.builder()
|
||
|
.jobGroups(Util.getIntValue(rs.getString("zwlb")))
|
||
|
.secLevel(Util.getIntValue(rs.getString("aqjb")))
|
||
|
.build());
|
||
|
}
|
||
|
|
||
|
|
||
|
releationList.forEach(releationPo -> {
|
||
|
List<Integer> jobTitles = new ArrayList<>();
|
||
|
selectJobTitlesByJobGroup(jobTitles,releationPo.getJobGroups());
|
||
|
if (CollectionUtils.isNotEmpty(jobTitles)) {
|
||
|
rs.executeUpdate("update hrmresource a set a.seclevel = ? where " +
|
||
|
" a.jobtitle in ("+StringUtils.join(jobTitles, ",")+")",releationPo.getSecLevel());
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
private List<Integer> selectJobTitlesByJobGroup(List<Integer> jobTitles,Integer jobGroup){
|
||
|
RecordSet rs = new RecordSet();
|
||
|
rs.executeQuery("select a.id from hrmjobtitles a join hrmjobactivities b on a.jobactivityid = b.id\n" +
|
||
|
" join hrmjobgroups c on b.jobgroupid = c.id where c.id = ?",jobGroup);
|
||
|
while (rs.next()) {
|
||
|
jobTitles.add(Util.getIntValue(rs.getString("id")));
|
||
|
}
|
||
|
|
||
|
return jobTitles;
|
||
|
|
||
|
}
|
||
|
}
|