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.

67 lines
2.5 KiB
Java

package weaver.aixinchina.cronjob;
import com.weaver.general.BaseBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import weaver.conn.RecordSet;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author:CL
* @date:2023/3/22 15:24
*/
public class UpdatesqbmTimeCron extends BaseCronJob {
private static final Logger LOGGER = LoggerFactory.getLogger("更新上级部门名称");
@Override
public void execute() {
LOGGER.info("已进入 weaver.aixinchina.cronjob.UpdatesqbmTimeCron ");
BaseBean b=new BaseBean();
String tablenameP = b.getPropValue("updatesjbm", "tablename");
String sqbmP = b.getPropValue("updatesjbm", "sqbm");
String sjbmP = b.getPropValue("updatesjbm", "sjbm");
RecordSet rs = new RecordSet();
RecordSet rs2 = new RecordSet();
RecordSet rs3 = new RecordSet();
String sql = "select id,"+sqbmP+" from "+tablenameP;
rs.executeQuery(sql);
List<Map<String, String>> result = new ArrayList<>();
while (rs.next()) {
String sqbmsqbm = rs.getString(sqbmP);
if (sqbmsqbm.isEmpty()||sqbmsqbm==null){
continue;
}else {
Map<String, String> map = new HashMap();
map.put("id", rs.getString("id"));
map.put("sqbm", rs.getString(sqbmP));
result.add(map);
}
}
LOGGER.info("-------查询的id和申请部门的list------------"+result);
for (Map<String, String> map : result) {
String id = map.get("id");
String sqbm = map.get("sqbm");
String sql2 = "select supdepid from hrmdepartment where id=?";
rs2.executeQuery(sql2,sqbm);
String sql3="";
if(rs2.next()){
String supdepid = rs2.getString("supdepid");
if(supdepid.equals("0")){
sql3="update "+tablenameP+" set "+sjbmP+"=? where id=?";
boolean flag = rs3.executeUpdate(sql3, sqbm, id);
LOGGER.info("-------无上级更新结果------------"+flag);
}else {
sql3="update "+tablenameP+" set "+sjbmP+"=? where id=?";
boolean flag = rs3.executeUpdate(sql3, supdepid, id);
LOGGER.info("-------有上级的更新结果------------"+flag);
}
}
}
}
}