Merge remote-tracking branch 'origin/main'

zm_dev
sy 8 months ago
commit fabec17ae4

@ -10,6 +10,7 @@ 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 java.util.List;
@ -20,6 +21,7 @@ import java.util.stream.Collectors;
/**
*
*/
@Slf4j
public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Object>> {
public GetAttendanceCycleCmd(Map<String,Object> params){
@ -35,6 +37,7 @@ public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Obje
public Map<String, Object> execute(CommandContext commandContext) {
List<Map<String,Object>> userList = (List<Map<String,Object>>)params.get("userList");
String executeDate = Util.null2String(params.get("executeDate"));
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc");
params.put("modeId",modeId);
Map<String,Object> userToDateMap = Maps.newHashMap();
@ -94,6 +97,8 @@ public class GetAttendanceCycleCmd extends AbstractCommonCommand<Map<String,Obje
}
}
log.info("GetAttendanceCycleCmd executeDate : [{}]",executeDate);
log.info("GetAttendanceCycleCmd userToDateMap : [{}]",userToDateMap);
return userToDateMap;
}
}

@ -6,6 +6,7 @@ import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.jucailinkq.common.util.DateUtil;
import com.engine.jucailinkq.common.util.DbTools;
import com.engine.jucailinkq.common.util.ExtensionClassHolder;
import com.engine.jucailinkq.common.util.Utils;
import com.engine.core.interceptor.CommandContext;
import com.google.common.collect.Lists;
@ -188,6 +189,7 @@ public class GetClockInTimeListCmd extends AbstractCommonCommand<Map<String,Obje
}
}).collect(Collectors.toList());
Map<String,Object> resultMap = Maps.newHashMap();
clearRepeatClock(effectiveclockInTimeList);
resultMap.put("resultList",effectiveclockInTimeList);
return resultMap;
@ -237,4 +239,24 @@ public class GetClockInTimeListCmd extends AbstractCommonCommand<Map<String,Obje
}).collect(Collectors.toList());
return resultList;
}
/**
*
* @param effectiveclockInTimeList
*/
public void clearRepeatClock(List<Map<String,Object>> effectiveclockInTimeList){
Map<String,Object> gobalSet = ExtensionClassHolder.getGlobalSetMap();
if (!Util.null2String(gobalSet.get("interval_minutes")).equals("")){
for (int i=0;i<effectiveclockInTimeList.size()-1;i++){
String time1 = effectiveclockInTimeList.get(i).get("signdate")+" "+effectiveclockInTimeList.get(i).get("signtime");
for (int j=i+1;j<effectiveclockInTimeList.size();j++){
String time2 = effectiveclockInTimeList.get(j).get("signdate")+" "+effectiveclockInTimeList.get(j).get("signtime");
if (DateUtil.getBetWeenMinutes(time1,time2) <Integer.valueOf(gobalSet.get("interval_minutes").toString())){
effectiveclockInTimeList.remove(effectiveclockInTimeList.get(j));
j--;
}
}
}
}
}
}

@ -209,7 +209,7 @@ public class GetScheduleResultListCmd extends AbstractCommonCommand<Map<String,O
schedulMap.put("schedulingResultsMap",resultMap);
schedulMap.put("clockInTimeDataMap",clockInTimeDataMap);
log.info("SchedulingResults : [{}]",schedulMap);
log.debug("SchedulingResults : [{}]",schedulMap);
return schedulMap;
}

@ -48,5 +48,10 @@ public interface UtilService {
*/
double computeAttendanceDuration(Map<String,Object> params);
/**
*
* @param params
* @return
*/
Map<String, Object> getAttendanceCycle(Map<String,Object> 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-01");
// paramMap.put("endDate","2024-07-01");
// paramMap.put("startDate","2024-08-05");
// paramMap.put("endDate","2024-08-05");
// paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate"));
@ -110,7 +110,7 @@ public class AttendanceanalysisAction {
classesParamMap.put("pageSize",9999);
classesParamMap.put("recurrence",1);
classesParamMap.put("clockInTimeMap",clockInTimeMap);
classesParamMap.put("clockInData",dataList);
classesParamMap.put("clockInData",collect.get(userId));
classesParamMap.put("attendanceItems",attendanceItems);
Map<String,Object> schedulMap = utilService.getSchedulingInFormation(classesParamMap);
@ -174,7 +174,7 @@ public class AttendanceanalysisAction {
classesParamMap.put("pageSize",9999);
classesParamMap.put("recurrence",1);
classesParamMap.put("clockInTimeMap",clockInTimeMap);
classesParamMap.put("clockInData",dataList);
classesParamMap.put("clockInData",collect.get(userId));
classesParamMap.put("attendanceItems",attendanceItems);
Map<String,Object> schedulMap = utilService.getSchedulingInFormation(classesParamMap);

@ -96,7 +96,7 @@ public class GetAttendanceItemsByPersonDataCmd extends AbstractCommonCommand<Map
sql = "select mainid,empid,filters,sqltj,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];

@ -94,7 +94,7 @@ public class GetWorkHoursItemByPersonCmd extends AbstractCommonCommand<Map<Strin
sql = "select mainid,empid,filters,bdate,edate,sqltj from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate);
log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];

@ -53,7 +53,7 @@ public class GetKqCycleCheckoutInfoCmd extends AbstractCommonCommand<Map<String,
log.debug("GetKqCycleCheckoutInfoCmd userId:[{}],submitDateList:[{}],submitStr:[{}]",userId,submitDataList,submitStr);
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc");
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate());
log.debug("attendanceSetIdsSets : {}",attendanceSetIdsSets);
if (attendanceSetIdsSets.size() == 0){
//取默认周期

@ -49,7 +49,7 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_bcxx");
Set<String> bcids = Sets.newHashSet();
for (String resourceId :resourceIds.split(",")){
bcids.addAll(CommonUtil.getAllDataIds(resourceId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate()));
bcids.addAll(CommonUtil.getAllDataIds(resourceId,modeId,DateUtil.getCurrentDate()));
}
WeaTable table = new WeaTable();
String pageId = "936b04850b7b478cafd59d1cf4cb9fc1";
@ -213,6 +213,9 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){

@ -9,6 +9,7 @@ import com.engine.common.entity.BizLogContext;
import com.engine.jucailinkq.common.util.DateUtil;
import com.engine.jucailinkq.common.util.DbTools;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailinkq.common.util.Utils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@ -16,6 +17,8 @@ import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import java.time.ZoneOffset;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -68,7 +71,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
log.debug("递归查询人员-人员节点sql:{},param:{}",querySqlbyPbdx,param);
List<Map<String,Object>> dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
//人员数据
Map<String,List<Map<String,Object>>> personCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
// Map<String,List<Map<String,Object>>> personCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
//人员分组数据
@ -77,7 +80,9 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
String currentTime = DateUtil.getCurrentDate();
String queryryfz = "select a.mainid,a.empid,a.filters,a.bdate,a.edate,a.sqltj from uf_ryqz_dt1 a,(select pbdxryfz from uf_pbjg where dxlx=1 group by pbdxryfz) b where a.mainid =b.pbdxryfz and a.bdate <= '"+currentTime+"'";
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null);
List<Map<String,Object>> personnelGroups = PersongroupCommonUtil.getPersonnelGroupByPerson(personGroupData,pbdx,null);
Map<String,List<Map<String,Object>>> personnelGroupsCollect = personnelGroups.stream().collect(Collectors.groupingBy(e->e.get("mainid").toString()));
Set<String> personnelGroupIds = personnelGroups.stream().map(e->e.get("mainid").toString()).collect(Collectors.toSet());
querySqlbyPbdx = sql +conditions + " and pbdxryfz in (";
log.debug("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds);
if(personnelGroupIds.size() > 0){
@ -85,7 +90,22 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
log.debug("递归查询人员-人员分组节点sql:{}",querySqlbyPbdx);
personGroupList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
}
Map<String,List<Map<String,Object>>> personGroupCollect = personGroupList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
personGroupList = personGroupList.stream().filter(e->{
String bcrq = e.get("bcrq").toString();
String pbdxryfz = e.get("pbdxryfz").toString();
Map<String,Object> personnelGroup = personnelGroupsCollect.get(pbdxryfz).get(personnelGroupsCollect.get(pbdxryfz).size()-1);
String edate = Util.null2String(personnelGroup.get("edate"));
String bdate = Util.null2String(personnelGroup.get("bdate"));
e.put("bdate",bdate);
if ((!"".equals(bdate) && DateUtil.getTime(bcrq).compareTo(DateUtil.getTime(bdate)) <0) ||
(!"".equals(edate) && DateUtil.getTime(bcrq).compareTo(DateUtil.getTime(edate)) > 0)){
return false;
}else {
return true;
}
}).collect(Collectors.toList());
//Map<String,List<Map<String,Object>>> personGroupCollect = personGroupList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
//部门数据
@ -101,7 +121,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
log.debug("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids);
querySqlbyPbdx = querySqlbyPbdx + pdeptids+") order by bcrq";
departmentList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
Map<String,List<Map<String,Object>>> departmentCollect = departmentList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
// Map<String,List<Map<String,Object>>> departmentCollect = departmentList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
//分部数据
@ -113,34 +133,81 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
param.addAll(Dateparam);
param.add(dataMap.get("subcompanyid1"));
subCompanyList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
Map<String,List<Map<String,Object>>> subCompanyCollect = subCompanyList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
//Map<String,List<Map<String,Object>>> subCompanyCollect = subCompanyList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
//排班途径枚举集合
dataList.addAll(personGroupList);
dataList.addAll(departmentList);
dataList.addAll(subCompanyList);
if (CheckBoxEnum.CHECKED.getKey().equals(showAll)){
dataTableList.addAll(dataList);
dataTableList.addAll(personGroupList);
dataTableList.addAll(departmentList);
dataTableList.addAll(subCompanyList);
}else {
if (!CheckBoxEnum.CHECKED.getKey().equals(showAll)){
Map<String,List<Map<String,Object>>> dataCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
for (SchedulingApproachEnum schedulingApproachEnum :SchedulingApproachEnum.values()){
List<Map<String,Object>> resulstList = personCollect.get(schedulingApproachEnum.getKey());
List<Map<String,Object>> resulstList = dataCollect.get(schedulingApproachEnum.getKey());
if (resulstList == null || resulstList.size() == 0){
resulstList = personGroupCollect.get(schedulingApproachEnum.getKey());
if (resulstList == null || resulstList.size() == 0){
resulstList = departmentCollect.get(schedulingApproachEnum.getKey());
if (resulstList == null || resulstList.size() == 0){
resulstList = subCompanyCollect.get(schedulingApproachEnum.getKey());
continue;
}
Map<String,List<Map<String, Object>>> resulstCollect = resulstList.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("bcrq"))));
for (Map.Entry<String,List<Map<String, Object>>> entry:resulstCollect.entrySet()){
String bcrq = entry.getKey();
List<Map<String, Object>> scheduleList = entry.getValue();
if (scheduleList.size() > 1){
//优先级。人员 》人员分组》部门》分部
List<Map<String, Object>> psersonList = scheduleList.stream().filter(e->!Util.null2String(e.get("pbdxry")).equals("")).collect(Collectors.toList());
if (psersonList.size() == 0){
psersonList = scheduleList.stream().filter(e->!Util.null2String(e.get("pbdxryfz")).equals("")).collect(Collectors.toList());
if (psersonList.size() > 1){
psersonList = psersonList.stream().sorted(Comparator.comparing(e -> DateUtil.getTime(e.get("bdate").toString()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
psersonList = Lists.newArrayList(psersonList.get(psersonList.size()-1));
}
}
if (psersonList.size() == 0){
psersonList = scheduleList.stream().filter(e->!Util.null2String(e.get("pbdxbm")).equals("")).collect(Collectors.toList());
}
if (psersonList.size() == 0){
psersonList = scheduleList.stream().filter(e->!Util.null2String(e.get("pbdxfb")).equals("")).collect(Collectors.toList());
}
if (psersonList.size() > 0){
if (schedulingApproachEnum == SchedulingApproachEnum.RULE){
psersonList = psersonList.stream().sorted(Comparator.comparing(e->Long.valueOf(e.get("pbgl").toString()))).collect(Collectors.toList());
}else {
psersonList = psersonList.stream().sorted(Comparator.comparing(e->Long.valueOf(e.get("keyid").toString()))).collect(Collectors.toList());
}
dataTableList.add(psersonList.get(psersonList.size()-1));
}
}else {
dataTableList.add(scheduleList.get(0));
}
}
if (resulstList != null && resulstList.size() != 0){
dataTableList.addAll(resulstList);
}
}
}else {
dataTableList = dataList;
}
// if (CheckBoxEnum.CHECKED.getKey().equals(showAll)){
// dataTableList.addAll(dataList);
// dataTableList.addAll(personGroupList);
// dataTableList.addAll(departmentList);
// dataTableList.addAll(subCompanyList);
// }else {
// for (SchedulingApproachEnum schedulingApproachEnum :SchedulingApproachEnum.values()){
// List<Map<String,Object>> resulstList = personCollect.get(schedulingApproachEnum.getKey());
// if (resulstList == null || resulstList.size() == 0){
// resulstList = personGroupCollect.get(schedulingApproachEnum.getKey());
// if (resulstList == null || resulstList.size() == 0){
// resulstList = departmentCollect.get(schedulingApproachEnum.getKey());
// if (resulstList == null || resulstList.size() == 0){
// resulstList = subCompanyCollect.get(schedulingApproachEnum.getKey());
// }
// }
// }
// if (resulstList != null && resulstList.size() != 0){
// dataTableList.addAll(resulstList);
// }
// }
// }
}else if ("1".equals(pblx)){
List<Object> param = Lists.newArrayList();
param.addAll(Dateparam);
@ -220,7 +287,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
String currentTime = DateUtil.getCurrentDate();
String queryryfz = "select a.mainid,a.empid,a.filters,a.bdate,a.edate,a.sqltj from uf_ryqz_dt1 a,(select pbdxryfz from uf_pbjg where dxlx=1 group by pbdxryfz) b where a.mainid =b.pbdxryfz and a.bdate <= '"+currentTime+"'";
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null);
String querySqlbyPbdx = sql +conditions + " and pbdxryfz in (";
log.debug("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds);
if(personnelGroupIds.size() > 0){

@ -329,37 +329,54 @@ public class PersongroupCommonUtil {
/***
*
* id
* @param personnelGrouping
* @param userId id
* @return ID
*/
public static Set<String> getPersonnelGroupingByPerson(List<Map<String,Object>> personnelGrouping,String userId,String startDate,String endDate){
public static Set<String> getPersonnelGroupingByPerson(List<Map<String,Object>> personnelGrouping,String userId,String date){
Map<String,List<Map<String,Object>>> collect = personnelGrouping.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("mainid"))));
Set<String> personnelGroupIds = Sets.newHashSet();
log.debug("getPersonnelGroupingByPerson collect : {}",collect);
if (userId == null || "".equals(userId)){
return personnelGroupIds;
}
personnelGroupIds = getPersonnelGroupByPerson(personnelGrouping,userId,date).stream().map(e->e.get("mainid").toString()).collect(Collectors.toSet());
return personnelGroupIds;
}
/***
*
* @param personnelGrouping
* @param userId id
* @return ID
*/
public static List<Map<String,Object>> getPersonnelGroupByPerson(List<Map<String,Object>> personnelGrouping,String userId,String date){
Map<String,List<Map<String,Object>>> collect = personnelGrouping.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("mainid"))));
List<Map<String,Object>> resultList = Lists.newArrayList();
log.debug("getPersonnelGroupingByPerson collect : {}",collect);
if (userId == null || "".equals(userId)){
return resultList;
}
for (Map.Entry<String,List<Map<String,Object>>> e : collect.entrySet()){
List<Map<String,Object>> value = e.getValue();
for (Map<String,Object> data :value ){
String edate = Util.null2String(data.get("edate"));
String bdate = Util.null2String(data.get("bdate"));
if (!"".equals(startDate) && startDate != null){
if ((!"".equals(edate) && DateUtil.getBetWeenDays(edate,startDate) >0) || DateUtil.getBetWeenDays(bdate,endDate) < 0){
if (date != null && !date.equals("")){
if ((!"".equals(bdate) && DateUtil.getTime(date).compareTo(DateUtil.getTime(bdate)) <0) ||
(!"".equals(edate) && DateUtil.getTime(date).compareTo(DateUtil.getTime(edate)) > 0)){
continue;
}
}
if (!"".equals(edate) && DateUtil.getBetWeenDays(edate) >0){
continue;
}
String empid = Util.null2String(data.get("empid"));
String filters = Util.null2String(data.get("filters"));
String sqltj = Util.null2String(data.get("sqltj"));
log.debug(" empid : {},userId : {}",empid,userId);
if (empid.equals(userId)){
personnelGroupIds.add(e.getKey());
resultList.add(data);
}else if (!"".equals(filters)){
filters = filters.replace("","and");
filters = filters.replace("","or");
@ -375,7 +392,7 @@ public class PersongroupCommonUtil {
for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id"));
if (hrmId.equals(userId)){
personnelGroupIds.add(e.getKey());
resultList.add(data);
}
}
}else if (!"".equals(sqltj)){
@ -383,12 +400,15 @@ public class PersongroupCommonUtil {
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id"));
if (hrmId.equals(userId)){
personnelGroupIds.add(e.getKey());
resultList.add(data);
}
}
}
@ -396,7 +416,7 @@ public class PersongroupCommonUtil {
}
return personnelGroupIds;
return resultList;
}
/**
@ -446,6 +466,9 @@ public class PersongroupCommonUtil {
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){

@ -15,8 +15,11 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import java.time.ZoneOffset;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@ -49,7 +52,7 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR
if (!CheckBoxEnum.CHECKED.getKey().equals(showAll)){
dataTableList = Utils.getSchedulingList(dataTableList);
}
dataTableList = dataTableList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("bcrq").toString()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
int total = dataTableList.size();
resultMap.put("total",total);
if (pageSize != 9999){

@ -50,7 +50,7 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
String sql = "select id,departmentid,subcompanyid1 from hrmresource where id =?";
Map<String,Object> departMentMap = DbTools.getSqlToMap(sql,userId);
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate());
log.debug("attendanceSetIdsSets : {}",attendanceSetIdsSets);
if (attendanceSetIdsSets.size() == 0){
//取默认周期

@ -40,7 +40,7 @@ public class GetRestDayIntervalCmd extends AbstractCommonCommand<Map<String, Obj
String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate"));
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId, DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId, DateUtil.getCurrentDate());
if (calendarSetIdsSets.size() > 0){
String sql = "select rqlx,rq from uf_jcl_kq_rlxx where rlmc=? and rq>=? and rq<=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,calendarSetIdsSets.toArray()[0],startDate,endDate);

@ -28,7 +28,7 @@ public class ProcessSubmitCheckServiceImpl extends Service implements ProcessSub
Map<String,Object> resultMap = Maps.newHashMap();
resultMap.put("result","0");
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate());
log.debug("attendanceSetIdsSets : {}",attendanceSetIdsSets);
for (String submitDate:submitDates.split(",")){
LocalDateTime localDateTime = DateUtil.getTime(submitDate);

@ -262,6 +262,9 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){

@ -63,7 +63,7 @@ public class CommonUtil {
public static String makeUpdateSql(String tableName, Map<String,Object> map,Map<String,Object> condition){
String updateSql = "update "+tableName+" set ";
for (Map.Entry<String,Object> e : map.entrySet()){
if (e.getValue() !=null && !"".equals(e.getValue())){
if (e.getValue() !=null && !"".equals(e.getValue()) && !e.getKey().equals("id")){
updateSql = updateSql + e.getKey()+"='"+e.getValue().toString()+"',";
}
}
@ -111,11 +111,10 @@ public class CommonUtil {
* id---
* @param resourceId
* @param modeId
* @param startDate
* @param endDate
* @param date
* @return
*/
public static Set<String> getDataIds(String resourceId,String modeId,String startDate,String endDate){
public static Set<String> getDataIds(String resourceId,String modeId,String date){
String sql = "select dxlx,dataid,dx from uf_jcl_syzz where modeid=?";
List<Map<String,Object>> organizationList = DbTools.getSqlToList(sql,modeId);
@ -145,7 +144,7 @@ public class CommonUtil {
sql = "select mainid,empid,filters,bdate,edate,sqltj from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,date);
log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
@ -196,11 +195,10 @@ public class CommonUtil {
* id
* @param resourceId
* @param modeId
* @param startDate
* @param endDate
* @param date
* @return
*/
public static Set<String> getAllDataIds(String resourceId,String modeId,String startDate,String endDate){
public static Set<String> getAllDataIds(String resourceId,String modeId,String date){
String sql = "select dxlx,dataid,dx from uf_jcl_syzz where modeid=?";
List<Map<String,Object>> organizationList = DbTools.getSqlToList(sql,modeId);
@ -230,7 +228,7 @@ public class CommonUtil {
sql = "select mainid,empid,filters,bdate,edate,sqltj from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,date);
log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
@ -521,6 +519,9 @@ public class CommonUtil {
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){
@ -597,6 +598,9 @@ public class CommonUtil {
sqltj = sqltj.replace("","and");
sqltj = sqltj.replace("","or");
sqltj = sqltj.replace("","join");
sqltj = sqltj.replace("","like");
sqltj = sqltj.replace("","in");
sqltj = sqltj.replace("","in");
log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sqltj);
for (Map<String,Object> dataMap :dataList){
@ -655,7 +659,7 @@ public class CommonUtil {
*/
public static String getRqlx(String userId,String date){
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate());
log.debug("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets);
String rqlx = "";
if (calendarSetIdsSets.size() > 0){
@ -686,7 +690,7 @@ public class CommonUtil {
*/
public static List<Map<String,Object>> getYearCalendarList(String userId,String year){
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate());
log.debug("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets);
List<Map<String,Object>> resultList = Lists.newArrayList();
if (calendarSetIdsSets.size() > 0){
@ -792,7 +796,9 @@ public class CommonUtil {
Map<String,List<Map<String,Object>>> detailDataGroupMap = DbTools.getSqlToList(sql).stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
try {
//打卡卡点扩展类
/**
*
*/
List<AbstractAdjustClockPointAction> adjustClockPointAction = Lists.newArrayList();
List<Map<String,Object>> adjustClockPointActionResultList = dataList.stream().filter(e->"0".equals(e.get("jkdzsxlx"))).sorted(Comparator.comparing(e->Integer.valueOf(e.get("zhsx").toString()))).collect(Collectors.toList());
for (Map<String,Object> adjustClockPointActionMap:adjustClockPointActionResultList){
@ -810,6 +816,13 @@ public class CommonUtil {
adjustClockPointAction.add(action);
}
ExtensionClassHolder.setAdjustClockPointAction(adjustClockPointAction);
/**
*
*/
sql = "select csm id,csz name from uf_jcl_kq_globalset where zt=0";
Map<String,Object> globalMap = DbTools.getSqlToMapList(sql);
ExtensionClassHolder.setGlobalSetMap(globalMap);
}catch (Exception e){
log.error("initExtensionClassHolder fail");
throw new AttendanceRunTimeException("初始化扩展类失败");
@ -904,7 +917,7 @@ public class CommonUtil {
sql = "select mainid,empid,filters,sqltj,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData, empId,date, date);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData, empId,date);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];

@ -3,6 +3,7 @@ package com.engine.jucailinkq.common.util;
import com.engine.jucailinkq.attendance.attendanceanalysis.cmd.getclockInpoint.biz.AbstractAdjustClockPointAction;
import java.util.List;
import java.util.Map;
/**
*
@ -13,6 +14,12 @@ public class ExtensionClassHolder {
*/
private static ThreadLocal<List<AbstractAdjustClockPointAction>> adjustClockPointActionThreadLocal = new ThreadLocal<>();
/**
*
*/
private static ThreadLocal<Map<String,Object>> globalSetMapThreadLocal = new ThreadLocal<>();
public static void setAdjustClockPointAction(List<AbstractAdjustClockPointAction> adjustClockPointActionList) {
adjustClockPointActionThreadLocal.set(adjustClockPointActionList);
}
@ -20,4 +27,12 @@ public class ExtensionClassHolder {
public static List<AbstractAdjustClockPointAction> getAdjustClockPointAction() {
return adjustClockPointActionThreadLocal.get();
}
public static void setGlobalSetMap(Map<String,Object> map) {
globalSetMapThreadLocal.set(map);
}
public static Map<String,Object> getGlobalSetMap() {
return globalSetMapThreadLocal.get();
}
}

Loading…
Cancel
Save