|
|
@ -21,8 +21,7 @@ import weaver.systeminfo.SystemEnv;
|
|
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
|
|
|
|
|
import java.util.concurrent.Executors;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Author: sy
|
|
|
|
* @Author: sy
|
|
|
@ -45,76 +44,89 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS
|
|
|
|
bs.writeLog("params : " + params);
|
|
|
|
bs.writeLog("params : " + params);
|
|
|
|
String mainIds = Util.null2String(params.get("mainIds"));
|
|
|
|
String mainIds = Util.null2String(params.get("mainIds"));
|
|
|
|
bs.writeLog("mainIds : " + mainIds);
|
|
|
|
bs.writeLog("mainIds : " + mainIds);
|
|
|
|
ExecutorService taskExecutor = Executors.newCachedThreadPool();
|
|
|
|
Thread thread1 = new Thread(() -> {
|
|
|
|
taskExecutor.execute(() -> {
|
|
|
|
|
|
|
|
List<String> mainIdList = new ArrayList<>();
|
|
|
|
List<String> mainIdList = new ArrayList<>();
|
|
|
|
if (!mainIds.equals("")) {
|
|
|
|
if (!mainIds.equals("")) {
|
|
|
|
mainIdList = Arrays.asList(mainIds.split(","));
|
|
|
|
mainIdList = Arrays.asList(mainIds.split(","));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (String mainId : mainIdList) {
|
|
|
|
//更新汇总主表的汇总状态字段为汇总中
|
|
|
|
List<Map<String, String>> addList = new ArrayList<>();
|
|
|
|
String startUpdateSql = "update uf_jcl_kq_cqhz set hzzt = 1 where id in (" + mainIds + ")";
|
|
|
|
//查询出勤汇总主表信息
|
|
|
|
DbTools.update(startUpdateSql);
|
|
|
|
String sql = "select * from uf_jcl_kq_cqhz where id="+mainId;
|
|
|
|
try {
|
|
|
|
Map<String,Object> data = DbTools.getSqlToMap(sql);
|
|
|
|
for (String mainId : mainIdList) {
|
|
|
|
String subCompany = Util.null2String(data.get("fb"));
|
|
|
|
List<Map<String, String>> addList = new ArrayList<>();
|
|
|
|
String startDate = Util.null2String(data.get("ksrq"));
|
|
|
|
//查询出勤汇总主表信息
|
|
|
|
String endDate = Util.null2String(data.get("jsrq"));
|
|
|
|
String sql = "select * from uf_jcl_kq_cqhz where id="+mainId;
|
|
|
|
bs.writeLog("subCompany : " + subCompany + ", startDate : " + startDate + ", endDate : " + endDate);
|
|
|
|
Map<String,Object> data = DbTools.getSqlToMap(sql);
|
|
|
|
if (!subCompany.equals("") && !startDate.equals("") && !endDate.equals("")) {
|
|
|
|
String subCompany = Util.null2String(data.get("fb"));
|
|
|
|
String subCompanyListStr = SubCompanyComInfo.getAllChildSubcompanyId(subCompany, subCompany);
|
|
|
|
String startDate = Util.null2String(data.get("ksrq"));
|
|
|
|
//汇总出勤结果表、补打卡表、出勤津贴表数据
|
|
|
|
String endDate = Util.null2String(data.get("jsrq"));
|
|
|
|
//出勤结果表
|
|
|
|
bs.writeLog("subCompany : " + subCompany + ", startDate : " + startDate + ", endDate : " + endDate);
|
|
|
|
List<Map<String, String>> cqAddList = getCqAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
if (!subCompany.equals("") && !startDate.equals("") && !endDate.equals("")) {
|
|
|
|
bs.writeLog("cqAddList_size : " + cqAddList.size());
|
|
|
|
String subCompanyListStr = SubCompanyComInfo.getAllChildSubcompanyId(subCompany, subCompany);
|
|
|
|
if (cqAddList.size() > 0) {
|
|
|
|
//汇总出勤结果表、补打卡表、出勤津贴表数据
|
|
|
|
addList.addAll(cqAddList);
|
|
|
|
//出勤结果表
|
|
|
|
}
|
|
|
|
List<Map<String, String>> cqAddList = getCqAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
//补打卡表
|
|
|
|
bs.writeLog("cqAddList_size : " + cqAddList.size());
|
|
|
|
List<Map<String, String>> bdkAddList = getBdkAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
if (cqAddList.size() > 0) {
|
|
|
|
bs.writeLog("bdkAddList_size : " + bdkAddList.size());
|
|
|
|
addList.addAll(cqAddList);
|
|
|
|
if (bdkAddList.size() > 0) {
|
|
|
|
}
|
|
|
|
addList.addAll(bdkAddList);
|
|
|
|
//补打卡表
|
|
|
|
}
|
|
|
|
List<Map<String, String>> bdkAddList = getBdkAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
//出勤津贴表
|
|
|
|
bs.writeLog("bdkAddList_size : " + bdkAddList.size());
|
|
|
|
List<Map<String, String>> cqjtAddList = getCqjtAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
if (bdkAddList.size() > 0) {
|
|
|
|
bs.writeLog("cqjtAddList_size : " + cqjtAddList.size());
|
|
|
|
addList.addAll(bdkAddList);
|
|
|
|
if (cqjtAddList.size() > 0) {
|
|
|
|
}
|
|
|
|
addList.addAll(cqjtAddList);
|
|
|
|
//出勤津贴表
|
|
|
|
}
|
|
|
|
List<Map<String, String>> cqjtAddList = getCqjtAddList(mainId, subCompanyListStr, startDate, endDate);
|
|
|
|
bs.writeLog("addList_size : " + addList.size());
|
|
|
|
bs.writeLog("cqjtAddList_size : " + cqjtAddList.size());
|
|
|
|
//删除已有汇总数据
|
|
|
|
if (cqjtAddList.size() > 0) {
|
|
|
|
String delSql = "delete from uf_jcl_kq_cqhz_dt1 where mainid = " + mainId;
|
|
|
|
addList.addAll(cqjtAddList);
|
|
|
|
boolean delSign = DbTools.update(delSql);
|
|
|
|
}
|
|
|
|
bs.writeLog("delSign : " + delSign + ", delSql : " + delSql);
|
|
|
|
bs.writeLog("addList_size : " + addList.size());
|
|
|
|
//插入汇总数据
|
|
|
|
//删除已有汇总数据
|
|
|
|
List<List> dataList = new ArrayList<>();
|
|
|
|
String delSql = "delete from uf_jcl_kq_cqhz_dt1 where mainid = " + mainId;
|
|
|
|
String insertSql = " insert into uf_jcl_kq_cqhz_dt1(mainid,ry,kqxm," +
|
|
|
|
boolean delSign = DbTools.update(delSql);
|
|
|
|
"lc,lf,ls,lt," +
|
|
|
|
bs.writeLog("delSign : " + delSign + ", delSql : " + delSql);
|
|
|
|
"gzfb,gzbm) values(?,?,?,?,?,?,?,?,?)";
|
|
|
|
//插入汇总数据
|
|
|
|
for (Map<String, String> map : addList) {
|
|
|
|
List<List> dataList = new ArrayList<>();
|
|
|
|
List<String> list = new ArrayList<>();
|
|
|
|
String insertSql = " insert into uf_jcl_kq_cqhz_dt1(mainid,ry,kqxm," +
|
|
|
|
list.add(mainId);
|
|
|
|
"lc,lf,ls,lt," +
|
|
|
|
list.add(map.get("ry"));
|
|
|
|
"gzfb,gzbm) values(?,?,?,?,?,?,?,?,?)";
|
|
|
|
list.add(map.get("kqxm"));
|
|
|
|
for (Map<String, String> map : addList) {
|
|
|
|
list.add(map.get("lc"));
|
|
|
|
List<String> list = new ArrayList<>();
|
|
|
|
list.add(map.get("lf"));
|
|
|
|
list.add(mainId);
|
|
|
|
list.add(map.get("ls"));
|
|
|
|
list.add(map.get("ry"));
|
|
|
|
list.add(map.get("lt"));
|
|
|
|
list.add(map.get("kqxm"));
|
|
|
|
list.add("".equals(map.get("gzfb")) ? null : map.get("gzfb"));
|
|
|
|
list.add(map.get("lc"));
|
|
|
|
list.add("".equals(map.get("gzbm")) ? null : map.get("gzbm"));
|
|
|
|
list.add(map.get("lf"));
|
|
|
|
|
|
|
|
list.add(map.get("ls"));
|
|
|
|
|
|
|
|
list.add(map.get("lt"));
|
|
|
|
|
|
|
|
list.add("".equals(map.get("gzfb")) ? null : map.get("gzfb"));
|
|
|
|
|
|
|
|
list.add("".equals(map.get("gzbm")) ? null : map.get("gzbm"));
|
|
|
|
|
|
|
|
|
|
|
|
dataList.add(list);
|
|
|
|
dataList.add(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
bs.writeLog("dataList_size : " + dataList.size());
|
|
|
|
bs.writeLog("dataList_size : " + dataList.size());
|
|
|
|
if(dataList.size() > 0){
|
|
|
|
if(dataList.size() > 0){
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
bs.writeLog("入库开始---");
|
|
|
|
bs.writeLog("入库开始---");
|
|
|
|
boolean insertSign =rs.executeBatchSql(insertSql,dataList);
|
|
|
|
boolean insertSign =rs.executeBatchSql(insertSql,dataList);
|
|
|
|
bs.writeLog("insertSign : " + insertSign);
|
|
|
|
bs.writeLog("insertSign : " + insertSign);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//更新汇总主表的汇总状态字段为汇总中
|
|
|
|
|
|
|
|
String endUpdateSql = "update uf_jcl_kq_cqhz set hzzt = 2 where id in (" + mainIds + ")";
|
|
|
|
|
|
|
|
DbTools.update(endUpdateSql);
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
//更新汇总主表的汇总状态字段为未汇总
|
|
|
|
|
|
|
|
String endUpdateSql = "update uf_jcl_kq_cqhz set hzzt = 0 where id in (" + mainIds + ")";
|
|
|
|
|
|
|
|
DbTools.update(endUpdateSql);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
thread1.start();
|
|
|
|
return new HashMap<>();
|
|
|
|
return new HashMap<>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|