sy 9 months ago
commit 2676f707c1

File diff suppressed because one or more lines are too long

@ -17,6 +17,9 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
*
*/
public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Object>> {
public GetAttendanceCycleCmd(Map<String,Object> params){
@ -34,7 +37,7 @@ public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Obje
String executeDate = Util.null2String(params.get("executeDate"));
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc");
params.put("modeId",modeId);
Map<String,List<String>> userToDateMap = Maps.newHashMap();
Map<String,Object> userToDateMap = Maps.newHashMap();
Map<String,Object> person = new GetPersonBySuitOrganzationCmd(params).execute(commandContext);
Set<String> attendanceCycleSet = Sets.newHashSet();
Set<String> subcompanyids = userList.stream().map(e->e.get("subcompanyid1").toString()).collect(Collectors.toSet());
@ -51,20 +54,46 @@ public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Obje
if ("".equals(attendanceCycle)){
continue;
}
userMap.put("attendanceCycle",attendanceCycle);
attendanceCycleSet.add(attendanceCycle);
}
String sql = "select mc,ksrq,jsrq from uf_jcl_kq_kqzq where mc in ("+String.join(",",attendanceCycleSet)+") and gzrq<=? and zt <> '2'";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,executeDate,executeDate);
String sql = "select id,mc,ksrq,jsrq from uf_jcl_kq_kqzq where mc in ("+String.join(",",attendanceCycleSet)+") and (gzrq<=? or (ksrq<=? and gzrq>=?)) and zt <> '2'";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,executeDate,executeDate,executeDate);
List<String> ksrqTojsrqList = dataList.stream().map(e->e.get("ksrq")+"&"+e.get("jsrq")).collect(Collectors.toList());
Map<String,List<Map<String,Object>>> ksrqTojsrqMap = Maps.newHashMap();
sql = "select rq,ygid from uf_jcl_kq_cqjg where (cqzt=1 or sjzt=0) and rq>=? and rq<=?";
for (String key:ksrqTojsrqList){
String ksrq = key.split("&")[0];
String jsrq = key.split("&")[1];
ksrqTojsrqMap.put(key,DbTools.getSqlToList(sql,ksrq,jsrq));
}
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("mc").toString()));
for (Map<String,Object> userMap : userList){
List<String> dateList = Lists.newArrayList();
Set<String> dateList = Sets.newHashSet();
dateList.add(DateUtil.beforeDay(executeDate,1));
dateList.add(DateUtil.beforeDay(executeDate,2));
String id = Util.null2String(userMap.get("id"));
userToDateMap.put(id,dateList);
String userId = Util.null2String(userMap.get("id"));
userToDateMap.put(userId,dateList);
String attendanceCycle = Util.null2String(userMap.get("attendanceCycle"));
if (attendanceCycle.equals("")){
continue;
}
List<Map<String,Object>> cycleList = dataCollect.get(attendanceCycle);
if (cycleList ==null){
continue;
}
for (Map<String,Object> cycleMap :cycleList){
String key = cycleMap.get("ksrq")+"&"+cycleMap.get("jsrq");
List<String> attendanceResultList = ksrqTojsrqMap.get(key).stream().filter(e->e.get("ygid").equals(userId))
.map(e->e.get("rq").toString()).collect(Collectors.toList());
dateList.addAll(attendanceResultList);
return null;
}
}
return userToDateMap;
}
}

@ -1,6 +1,8 @@
package com.engine.jucailinkq.attendance.attendanceanalysis.job;
import com.engine.jucailinkq.attendance.attendanceanalysis.service.UtilService;
import com.engine.jucailinkq.attendance.attendanceanalysis.service.impl.UtilServiceImpl;
import com.engine.jucailinkq.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper;
import com.engine.jucailinkq.attendance.attendanceplan.service.AttendancePlanService;
import com.engine.jucailinkq.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl;
@ -10,7 +12,10 @@ import com.engine.common.util.*;
import com.engine.jucailinkq.common.util.CommonUtil;
import com.engine.jucailinkq.common.util.DateUtil;
import com.engine.jucailinkq.common.util.DbTools;
import com.engine.jucailinkq.common.util.Utils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import weaver.interfaces.schedule.BaseCronJob;
@ -19,6 +24,7 @@ import java.time.ZoneOffset;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
@ -29,32 +35,46 @@ public class AttendanceAnalysisJob extends BaseCronJob {
private AllowanceService allowanceService = ServiceUtil.getService(AllowanceServiceImpl.class);
private UtilService utilService = ServiceUtil.getService(UtilServiceImpl.class);
private String executeDate;
@Override
public void execute() {
log.debug("********AttendanceAnalysisJob start********");
if (executeDate == null || "".equals(executeDate)){
executeDate = DateUtil.getCurrentDate();
}
String queryUserSql = "select id,departmentid,subcompanyid1 from hrmresource where status <> '5' and status <> '4' and status <> '7'";
List<Map<String,Object>> userList = DbTools.getSqlToList(queryUserSql);
String beforeFourDayDate = DateUtil.getCurrentDateMinusDay(4);
String nowDate = DateUtil.getCurrentDate();
if (executeDate != null && !"".equals(executeDate)){
nowDate = executeDate;
beforeFourDayDate = DateUtil.beforeDay(executeDate,4);
Map<String, Object> getAttendanceparam = Maps.newHashMap();
getAttendanceparam.put("userList",userList);
getAttendanceparam.put("executeDate",executeDate);
Map<String, Object> attendanceCycle = utilService.getAttendanceCycle(getAttendanceparam);
Set<String> allDates = Sets.newHashSet();
for (Map.Entry<String, Object> entry : attendanceCycle.entrySet()){
allDates.addAll((Set<String>)entry.getValue());
}
List<String> allDateList = Lists.newArrayList(allDates);
allDateList = allDateList.stream().sorted(Comparator.comparing(e -> DateUtil.getTime(e).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
String sql = "select id,userid,signdate,signtime from hrmschedulesign where isincom=1 and signdate >= ? and signdate <= ? order by signdate,signtime";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,beforeFourDayDate,nowDate);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,DateUtil.beforeDay(allDateList.get(0),2),executeDate);
//补打卡记录
sql = "select id,bdkry userid,dkrq signdate,dksj signtime from uf_jcl_kq_bdkjl where dkrq >= ? and dkrq <= ? and jlzt=1 order by dkrq,dksj";
List<Map<String,Object>> makeUpList = DbTools.getSqlToList(sql,beforeFourDayDate,nowDate);
List<Map<String,Object>> makeUpList = DbTools.getSqlToList(sql,DateUtil.beforeDay(allDateList.get(0),2),executeDate);
if (makeUpList.size() > 0){
dataList.addAll(makeUpList);
}
dataList = dataList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("signdate")+" "+e.get("signtime")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
Map<String, List<Map<String,Object>>> collect = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("userid"))));
sql = "select sjzt,sgsj,ygid,rq from uf_jcl_kq_cqjg where rq>=? and rq<=?";
List<Map<String,Object>> attendaceResult = DbTools.getSqlToList(sql,DateUtil.beforeDay(nowDate,2),DateUtil.beforeDay(nowDate,1));
sql = "select sjzt,sgsj,ygid,rq from uf_jcl_kq_cqjg where rq in ("+String.join(",",allDateList)+")";
List<Map<String,Object>> attendaceResult = DbTools.getSqlToList(sql);
Map<String,List<Map<String,Object>>> attendaceGroupById = attendaceResult.stream().collect(Collectors.groupingBy(e->e.get("ygid").toString()));
@ -63,12 +83,14 @@ public class AttendanceAnalysisJob extends BaseCronJob {
for (Map<String,Object> userMap:userList){
String userId = Util.null2String(userMap.get("id"));
List<String> analysisDateList = Lists.newArrayList((Set<String>)attendanceCycle.get(userId));
analysisDateList = analysisDateList.stream().sorted(Comparator.comparing(e -> DateUtil.getTime(e).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
//日期对应的打卡数据
Map<String,Map<String,Object>> clockInTimeMap = Maps.newHashMap();
/**获得人员考勤项目*/
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate",beforeFourDayDate);
paramMap.put("endDate",nowDate);
paramMap.put("startDate",executeDate);
paramMap.put("endDate",executeDate);
paramMap.put("resourceId",userId);
Map<String,Object> dataMap = basicsetService.getAttendanceItemsByPerson(paramMap);
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)dataMap.get("data");
@ -78,11 +100,17 @@ public class AttendanceAnalysisJob extends BaseCronJob {
Map<String,Object> workHourdataMap = basicsetService.getWorkHoursItemByPerson(paramMap);
List<Map<String,Object>> workHourItems = (List<Map<String,Object>>)workHourdataMap.get("data");
attendanceAnalysisService.attendanceAnalysis(userId,nowDate,collect.get(userMap.get("id")),attendanceItems,workHourItems,clockInTimeMap,attendaceGroupById.get(userId));
Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap();
List<Map<String, Object>> attendaceResultByUser = attendaceGroupById.get(userId);
if (attendaceResultByUser != null && attendaceResultByUser.size() > 0) {
attendaceResultMap = attendaceResultByUser.stream().collect(Collectors.groupingBy(e -> e.get("rq").toString()));
}
attendanceAnalysisService.attendanceAnalysis(userId,analysisDateList,collect.get(userMap.get("id")),attendanceItems,workHourItems,clockInTimeMap,attendaceResultMap);
}
Map<String,Object> param = Maps.newHashMap();
param.put("startDate",DateUtil.beforeDay(nowDate,1));
param.put("endDate",nowDate);
param.put("startDate",DateUtil.beforeDay(allDateList.get(0),2));
param.put("endDate",executeDate);
allowanceService.addAllowanceRecords(param);
log.debug("********AttendanceAnalysisJob end********");
}

@ -47,4 +47,6 @@ public interface UtilService {
*
*/
double computeAttendanceDuration(Map<String,Object> params);
Map<String, Object> getAttendanceCycle(Map<String,Object> params);
}

@ -222,4 +222,13 @@ public class UtilServiceImpl extends Service implements UtilService {
Map<String,Object> resultMap = commandExecutor.execute(new ComputeAttendanceDurationCmd(params));
return Double.valueOf(resultMap.get("attendanceDuration").toString());
}
/**
*
* @param params
* @return
*/
@Override
public Map<String, Object> getAttendanceCycle(Map<String, Object> params) {
return commandExecutor.execute(new GetAttendanceCycleCmd(params));
}
}

@ -48,8 +48,8 @@ public class AttendanceanalysisAction {
try {
Map<String,Object> paramMap = ParamUtil.request2Map(request);
// Map<String,Object> paramMap = Maps.newHashMap();
// paramMap.put("startDate","2024-07-18");
// paramMap.put("endDate","2024-07-18");
// paramMap.put("startDate","2024-07-31");
// paramMap.put("endDate","2024-07-31");
// paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate"));

@ -40,13 +40,12 @@ public class AttendanceAnalysisWrapper extends Service {
* @param dataList
* @param attendanceItems
*/
public void attendanceAnalysis(String userId, String nowDate, List<Map<String, Object>> dataList, List<Map<String, Object>> attendanceItems, List<Map<String, Object>> workHourItems, Map<String, Map<String, Object>> clockInTimeMap, List<Map<String, Object>> attendaceResult) {
public void attendanceAnalysis(String userId, List<String> analysisDateList, List<Map<String, Object>> dataList, List<Map<String, Object>> attendanceItems, List<Map<String, Object>> workHourItems, Map<String, Map<String, Object>> clockInTimeMap, Map<String, List<Map<String, Object>>> attendaceResultMap) {
log.info("***********analysis userId:{} start***********", userId);
log.info("***********analysisDate:{}", analysisDateList);
log.info("clockInTimeDate : [{}]", dataList);
String beforeFourDayDate = DateUtil.beforeDay(nowDate, 4);
String beforeTwoDayDate = DateUtil.beforeDay(nowDate, 2);
String beforeOneDayDate = DateUtil.beforeDay(nowDate, 1);
String beforeTwoDayDateDate = DateUtil.beforeDay(analysisDateList.get(0), 2);
/** 打卡数据 */
Map<String, List<Map<String, Object>>> collect = Maps.newHashMap();
if (dataList != null && dataList.size() > 0) {
@ -55,8 +54,8 @@ public class AttendanceAnalysisWrapper extends Service {
/** 获取人员班次*/
Map<String, Object> classesParamMap = Maps.newHashMap();
classesParamMap.put("tableName", "uf_pbjg");
classesParamMap.put("startDate", beforeFourDayDate);
classesParamMap.put("endDate", nowDate);
classesParamMap.put("startDate", beforeTwoDayDateDate);
classesParamMap.put("endDate", DateUtil.AfterDay(analysisDateList.get(analysisDateList.size()-1),1));
classesParamMap.put("pblx", "0");
classesParamMap.put("pbdx", userId);
classesParamMap.put("current", "1");
@ -67,41 +66,26 @@ public class AttendanceAnalysisWrapper extends Service {
classesParamMap.put("clockInData", dataList);
Map<String, Object> schedulMap = utilService.getSchedulingInFormation(classesParamMap);
Map<String, List<Map<String, Object>>> schedulingResultsMap = (Map<String, List<Map<String, Object>>>) schedulMap.get("schedulingResultsMap");
/**计算获取前一天和第二天打卡数据*/
for (String analysisDate :analysisDateList){
Map<String, Object> getClockTimeParam = Maps.newHashMap();
getClockTimeParam.put("date", beforeOneDayDate);
getClockTimeParam.put("date", analysisDate);
getClockTimeParam.put("clockInTimeList", dataList);
getClockTimeParam.put("clockInTimeCollect", collect);
getClockTimeParam.put("schedulingResultCollect", schedulingResultsMap);
getClockTimeParam.put("clockInTimeMap", clockInTimeMap);
getClockTimeParam.put("userId", userId);
Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap();
if (attendaceResult != null && attendaceResult.size() > 0) {
attendaceResultMap = attendaceResult.stream().collect(Collectors.groupingBy(e -> e.get("rq").toString()));
}
List<Map<String, Object>> beforeOneDayDateattendaceResult = attendaceResultMap.get(beforeOneDayDate);
if (beforeOneDayDateattendaceResult == null || beforeOneDayDateattendaceResult.size() == 0 || (!CheckBoxEnum.CHECKED.getKey().equals(beforeOneDayDateattendaceResult.get(0).get("sgsj")) &&
!"3".equals(beforeOneDayDateattendaceResult.get(0).get("sjzt")))) {
//前一天打卡数据
List<Map<String, Object>> beforeOneDayClockInTimeList = utilService.getClockInTime(getClockTimeParam);
//分析前一天考勤
Map<String, Object> recordDataTime1 = analysis(userId, beforeOneDayDate, beforeOneDayClockInTimeList, schedulingResultsMap.get(beforeOneDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(beforeOneDayDate, recordDataTime1);
List<Map<String, Object>> analysisDateAttendaceResult = attendaceResultMap.get(analysisDate);
if (analysisDateAttendaceResult == null || analysisDateAttendaceResult.size() == 0 || (!CheckBoxEnum.CHECKED.getKey().equals(analysisDateAttendaceResult.get(0).get("sgsj")) &&
!"3".equals(analysisDateAttendaceResult.get(0).get("sjzt")))) {
//打卡数据
List<Map<String, Object>> analysisDateClockInTimeList = utilService.getClockInTime(getClockTimeParam);
//分析考勤
Map<String, Object> recordDataTime1 = analysis(userId, analysisDate, analysisDateClockInTimeList, schedulingResultsMap.get(analysisDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(analysisDate, recordDataTime1);
}
getClockTimeParam.put("date", beforeTwoDayDate);
List<Map<String, Object>> beforeTwoDayDateattendaceResult = attendaceResultMap.get(beforeTwoDayDate);
if (beforeTwoDayDateattendaceResult == null || beforeTwoDayDateattendaceResult.size() == 0 || (!CheckBoxEnum.CHECKED.getKey().equals(beforeTwoDayDateattendaceResult.get(0).get("sgsj")) &&
!"3".equals(beforeTwoDayDateattendaceResult.get(0).get("sjzt")))) {
//前第二天打卡数据
List<Map<String, Object>> beforeTwoDayClockInTimeList = utilService.getClockInTime(getClockTimeParam);
log.debug("beforeTwoDayClockInTimeList : [{}]", beforeTwoDayClockInTimeList);
//分析前第二天考勤
Map<String, Object> recordDataTime2 = analysis(userId, beforeTwoDayDate, beforeTwoDayClockInTimeList, schedulingResultsMap.get(beforeTwoDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(beforeTwoDayDate, recordDataTime2);
}
}
/**

@ -51,6 +51,9 @@ public class GetPersonBySuitOrganzationCmd extends AbstractCommonCommand<Map<Str
String dataid = Util.null2String(organzation.get("dataid"));
String aqjb = Util.null2String(organzation.get("aqjb"));
String dxlx = Util.null2String(organzation.get("dxlx"));
if ("".equals(dx)){
continue;
}
if (ApplicableOrganizationEnum.PERSONNEL.getKey().equals(dxlx)){
personMap.put(dx,dataid);
}else if (ApplicableOrganizationEnum.PERSONNEL_GROUP.getKey().equals(dxlx)){
@ -78,15 +81,18 @@ public class GetPersonBySuitOrganzationCmd extends AbstractCommonCommand<Map<Str
for (Map.Entry<String,Object> entrySet: departMentMap.entrySet()){
departMentIds.add(entrySet.getKey().split("&")[0]);
}
sql = "select id,seclevel from hrmresource where departmentid in ("+String.join(",",departMentIds)+")";
sql = "select id,seclevel,departmentid from hrmresource where departmentid in ("+String.join(",",departMentIds)+")";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("departmentid").toString()));
for (Map.Entry<String,Object> entrySet: departMentMap.entrySet()){
String departmentid = entrySet.getKey().split("&")[0];
String aqjb = entrySet.getKey().split("&")[1];
List<Map<String,Object>> userIdsQuerybyDepartment = dataCollect.get(departmentid);
userIdsQuerybyDepartment = userIdsQuerybyDepartment.stream().filter(e->"-1".equals(e.get("seclevel")) || "".equals(aqjb) || "-".equals(aqjb) || (Integer.valueOf(aqjb.split("-")[0]) >= Integer.valueOf(e.get("seclevel").toString()) &&
Integer.valueOf(aqjb.split("-")[1]) <= Integer.valueOf(e.get("seclevel").toString()))).collect(Collectors.toList());
if (userIdsQuerybyDepartment == null){
continue;
}
userIdsQuerybyDepartment = userIdsQuerybyDepartment.stream().filter(e->"-1".equals(e.get("seclevel")) || "".equals(aqjb) || "-".equals(aqjb) || (Integer.valueOf(aqjb.split("-")[0]) <= Integer.valueOf(e.get("seclevel").toString()) &&
Integer.valueOf(aqjb.split("-")[1]) >= Integer.valueOf(e.get("seclevel").toString()))).collect(Collectors.toList());
for (Map<String,Object> userMap :userIdsQuerybyDepartment){
if (personMap.get(userMap.get("id").toString()) == null){
personMap.put(userMap.get("id").toString(),entrySet.getValue());
@ -99,15 +105,18 @@ public class GetPersonBySuitOrganzationCmd extends AbstractCommonCommand<Map<Str
for (Map.Entry<String,Object> entrySet: subCompanyMap.entrySet()){
subCompanyIds.add(entrySet.getKey().split("&")[0]);
}
sql = "select id,seclevel from hrmresource where subcompanyid1 in ("+String.join(",",subCompanyIds)+")";
sql = "select id,seclevel,subcompanyid1 from hrmresource where subcompanyid1 in ("+String.join(",",subCompanyIds)+")";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("subcompanyid1").toString()));
for (Map.Entry<String,Object> entrySet: subCompanyMap.entrySet()){
String subcompanyid1 = entrySet.getKey().split("&")[0];
String aqjb = entrySet.getKey().split("&")[1];
List<Map<String,Object>> userIdsQuerybySubcompany = dataCollect.get(subcompanyid1);
userIdsQuerybySubcompany = userIdsQuerybySubcompany.stream().filter(e->"-1".equals(e.get("seclevel")) || "".equals(aqjb) || "-".equals(aqjb) || (Integer.valueOf(aqjb.split("-")[0]) >= Integer.valueOf(e.get("seclevel").toString()) &&
Integer.valueOf(aqjb.split("-")[1]) <= Integer.valueOf(e.get("seclevel").toString()))).collect(Collectors.toList());
if (userIdsQuerybySubcompany == null){
continue;
}
userIdsQuerybySubcompany = userIdsQuerybySubcompany.stream().filter(e->"-1".equals(e.get("seclevel")) || "".equals(aqjb) || "-".equals(aqjb) || (Integer.valueOf(aqjb.split("-")[0]) <= Integer.valueOf(e.get("seclevel").toString()) &&
Integer.valueOf(aqjb.split("-")[1]) >= Integer.valueOf(e.get("seclevel").toString()))).collect(Collectors.toList());
for (Map<String,Object> userMap :userIdsQuerybySubcompany){
if (personMap.get(userMap.get("id").toString()) == null){
personMap.put(userMap.get("id").toString(),entrySet.getValue());

@ -15,7 +15,7 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
* modeid
* modeid
*/
@Slf4j
public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<String,Object>> {

@ -305,8 +305,8 @@ public class Utils<T> {
durationMinute = duration*24*60;
}
durationBig = new BigDecimal(durationMinute);
if ((duration/hsl) > Math.floor(duration/hsl)){
durationBig = new BigDecimal(Math.floor(duration/hsl));
if ((durationMinute/hsl) > Math.floor(durationMinute/hsl)){
durationBig = new BigDecimal(Math.floor(durationMinute/hsl));
itemDuration=durationBig.multiply(hslBig).add(hslBig,new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue();
}else {
itemDuration = durationBig.multiply(hslBig).divide(hslBig,BigDecimal.ROUND_DOWN).doubleValue();
@ -857,7 +857,7 @@ public class Utils<T> {
log.error("getDefaultDateType error:[{}]",e);
}
parentSubcompanyids = subcompanyid1+parentSubcompanyids;
String sql = "select id,szjg from uf_jcl_kq_kqzqmc where szjg in ("+parentSubcompanyids+")";
String sql = "select id,szjg from uf_jcl_kq_kqzqmc where szjg in ("+parentSubcompanyids+") and mrzq=1";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
Map<String,Object> dataMap = dataList.stream().collect(Collectors.toMap(e->e.get("szjg").toString(),e->e.get("id")));

Loading…
Cancel
Save