排班结果查询

zm_dev
liuliang 2 years ago
parent f30da38662
commit cbf7df6cd2

@ -0,0 +1,13 @@
package com.api.attendance.persongroup.web;
import com.engine.attendance.persongroup.web.SchedulingResultsAction;
import lombok.extern.slf4j.Slf4j;
import javax.ws.rs.Path;
@Path("/attendance/schedulingresults")
@Slf4j
public class SchedulingResultsActionApi extends SchedulingResultsAction {
}

@ -0,0 +1,89 @@
package com.engine.attendance.persongroup.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.DbTools;
import com.engine.core.interceptor.CommandContext;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.icbc.api.internal.apache.http.M;
import lombok.extern.slf4j.Slf4j;
import weaver.conn.RecordSet;
import weaver.general.Util;
import java.util.List;
import java.util.Map;
@Slf4j
public class GetDatatableCmd extends AbstractCommonCommand<Map<String,Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public GetDatatableCmd(Map<String,Object> params){
this.params=params;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableName = Util.null2String(params.get("tableName"));
String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate"));
String pblx = Util.null2String(params.get("pblx"));
String pbdx = Util.null2String(params.get("pbdx"));
int total = Integer.valueOf(Util.null2String(params.get("total")));
int current = Integer.valueOf(Util.null2String(params.get("current")));
int pageSize = Integer.valueOf(Util.null2String(params.get("pageSize")));
RecordSet rs = new RecordSet();
Map<String, Object> resultMap = Maps.newHashMap();
String sql = "select id from "+tableName +" where pbtj=0 ";
List<Object> param = Lists.newArrayList();
String conditions = "";
if (!"".equals(startDate) && !"".equals(endDate)){
conditions += " and bcrq >= ? and bcrq<= ?";
param.add(startDate);
param.add(endDate);
}
// if (!"".equals(pblx)){
// conditions += " and dxlx = ?";
// param.add(pblx);
// }
if (!"".equals(pbdx)){
conditions += " and dxlx = ?";
param.add(pblx);
if ("0".equals(pblx)){
//人员
conditions += " and pbdxry = ?";
}else if ("1".equals(pblx)){
//人员分组
conditions += " and pbdxryfz = ?";
}else if ("2".equals(pblx)){
//部门
conditions += " and pbdxbm = ?";
}else if ("3".equals(pblx)){
//分部
conditions += " and pbdxfb = ?";
}
param.add(pbdx);
}
int startindex = (current-1)*pageSize;
String dbType = rs.getDBType();
if ("oracle".equals(dbType)){
}else {
sql = sql + conditions +" limit "+startindex+",1";
String queryDatatablesql = "select a.id as `key`,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where a.id>=("+sql+") "+conditions+" limit "+pageSize;
log.info("queryDatatablesql : {}",queryDatatablesql);
param.addAll(param);
log.info("param : {}",param);
List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray());
resultMap.put("data",dataTable);
}
return resultMap;
}
}

@ -0,0 +1,75 @@
package com.engine.attendance.persongroup.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.DbTools;
import com.engine.core.interceptor.CommandContext;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import weaver.conn.RecordSet;
import weaver.general.Util;
import java.util.List;
import java.util.Map;
@Slf4j
public class GetDatatableCountCmd extends AbstractCommonCommand<Map<String,Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public GetDatatableCountCmd(Map<String, Object> params){
this.params=params;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableName = Util.null2String(params.get("tableName"));
String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate"));
String pblx = Util.null2String(params.get("pblx"));
String pbdx = Util.null2String(params.get("pbdx"));
String sql = "select count(0) total from "+tableName +" where pbtj=0 ";
List<Object> params = Lists.newArrayList();
String conditions = "";
if (!"".equals(startDate) && !"".equals(endDate)){
conditions += " and bcrq >= ? and bcrq<= ?";
params.add(startDate);
params.add(endDate);
}
// if (!"".equals(pblx)){
// conditions += " and dxlx = ?";
// params.add(pblx);
// }
if (!"".equals(pbdx)){
conditions += " and dxlx = ?";
params.add(pblx);
if ("0".equals(pblx)){
//人员
conditions += " and pbdxry = ?";
}else if ("1".equals(pblx)){
//人员分组
conditions += " and pbdxryfz = ?";
}else if ("2".equals(pblx)){
//部门
conditions += " and pbdxbm = ?";
}else if ("3".equals(pblx)){
//分部
conditions += " and pbdxfb = ?";
}
params.add(pbdx);
}
sql = sql + conditions;
log.info("GetDatatableCountCmd sql :{}",sql);
log.info("params : [{}]",params);
Map<String,Object> dataMap = DbTools.getSqlToMap(sql,params.toArray());
return dataMap;
}
}

@ -0,0 +1,158 @@
package com.engine.attendance.persongroup.cmd;
import com.engine.attendance.persongroup.commonutil.CommonUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools;
import com.engine.core.interceptor.CommandContext;
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.hrm.company.DepartmentComInfo;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
*
*/
@Slf4j
public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public GetDatatableRecurrenceCmd(Map<String, Object> params){
this.params=params;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableName = Util.null2String(params.get("tableName"));
String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate"));
String pblx = Util.null2String(params.get("pblx"));
String pbdx = Util.null2String(params.get("pbdx"));
String sql = "select a.id as `key`,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where pbtj=0 ";
String conditions = "";
List<Object> Dateparam = Lists.newArrayList();
if (!"".equals(startDate) && !"".equals(endDate)){
conditions += " and bcrq >= ? and bcrq<= ?";
Dateparam.add(startDate);
Dateparam.add(endDate);
}
Map<String,Object> resultMap = Maps.newHashMap();
List<Map<String, Object>> dataTableList = Lists.newArrayList();
try {
if (!"".equals(pbdx)){
if ("0".equals(pblx)){
//人员递归查人员、人员分组、部门、分部
String querySqlbyPbdx = sql +conditions + " and pbdxry = ?";
List<Object> param = Lists.newArrayList();
param.addAll(Dateparam);
param.add(pbdx);
log.info("递归查询人员-人员节点sql:{},param:{}",querySqlbyPbdx,param);
List<Map<String,Object>> dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
if (dataList.size() == 0){
//查人员分组
String currentTime = DateUtil.getCurrentDate();
String queryryfz = "select a.mainid,a.empid,a.filters,a.bdate,a.edate 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 = CommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx);
querySqlbyPbdx = sql +conditions + " and pbdxryfz in (?)";
log.info("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds);
if(personnelGroupIds.size() > 0){
param.clear();
param.addAll(Dateparam);
param.add(String.join(",",personnelGroupIds));
dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
}
if (dataList.size() == 0){
//查询人员部门
String queryDepartmentidAndSubcompanyid = "select id,departmentid,subcompanyid1 from hrmresource where id =?";
Map<String,Object> dataMap = DbTools.getSqlToMap(queryDepartmentidAndSubcompanyid,pbdx);
String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(dataMap.get("departmentid")), pdeptids);
pdeptids = Util.null2String(dataMap.get("departmentid")) + pdeptids;
log.info("pdeptids : [{}]",pdeptids);
querySqlbyPbdx = sql + conditions + " and pbdxbm in (?)";
log.info("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids);
param.clear();
param.addAll(Dateparam);
param.add(pdeptids);
dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
if (dataList.size() == 0){
//查询人员分部
querySqlbyPbdx = sql + conditions + " and pbdxfb = ?";
log.info("递归查询人员-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,dataMap.get("subcompanyid1"));
param.clear();
param.addAll(Dateparam);
param.add(dataMap.get("subcompanyid1"));
dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
}
}
}
dataTableList = dataList;
}else if ("1".equals(pblx)){
List<Object> param = Lists.newArrayList();
param.addAll(Dateparam);
//人员分组
conditions += " and pbdxryfz = ?";
sql +=conditions;
param.add(pbdx);
dataTableList = DbTools.getSqlToList(sql,param.toArray());
}else if ("2".equals(pblx)){
List<Object> param = Lists.newArrayList();
param.addAll(Dateparam);
//部门
//部门递归查、部门、分部
String querySqlbyPbdx = sql +conditions + " and pbdxbm = ?";
param.add(pbdx);
dataTableList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
if (dataTableList.size() == 0){
String querySubCompanySql = "select subcompanyid1 from hrmdepartment where id=?";
Map<String,Object> departMentMap = DbTools.getSqlToMap(querySubCompanySql,pbdx);
querySqlbyPbdx = sql +conditions + " and pbdxfb = ?";
log.info("递归查询部门-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,departMentMap.get("subcompanyid1"));
param.clear();
param.addAll(Dateparam);
param.add(departMentMap.get("subcompanyid1"));
dataTableList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
}
}else if ("3".equals(pblx)){
List<Object> param = Lists.newArrayList();
param.addAll(Dateparam);
//分部
conditions += " and pbdxfb = ?";
sql +=conditions;
param.add(pbdx);
dataTableList = DbTools.getSqlToList(sql,param.toArray());
}
}
}catch (Exception e){
log.error("catch error : {}",e);
}
resultMap.put("dataTableList",dataTableList);
log.info("dataTableList total size : {}",dataTableList.size());
return resultMap;
}
}

@ -4,14 +4,12 @@ import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools; import com.engine.common.util.DbTools;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.general.Util; import weaver.general.Util;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -67,7 +65,7 @@ public class CommonUtil {
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksts,jsts,hxbz,bcmc from uf_glpb_dt1 where mainid=?"; String sql = "select ksts,jsts,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?";
@ -204,4 +202,88 @@ public class CommonUtil {
} }
return result; return result;
} }
/***
*
* @param personnelGrouping
* @param userId id
* @return ID
*/
public static Set<String> getPersonnelGroupingByPerson(List<Map<String,Object>> personnelGrouping,String userId){
Map<String,List<Map<String,Object>>> collect = personnelGrouping.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("mainid"))));
Set<String> personnelGroupIds = Sets.newHashSet();
log.info("getPersonnelGroupingByPerson collect : {}",collect);
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"));
if ("".equals(edate) || DateUtil.getBetWeenDays(edate) <=0){
String empid = Util.null2String(data.get("empid"));
String filters = Util.null2String(data.get("filters"));
log.info(" empid : {},userId : {}",empid,userId);
if (empid.equals(userId)){
personnelGroupIds.add(e.getKey());
}else if (!"".equals(filters)){
filters = filters.replace("","and");
filters = filters.replace("","or");
String sql = "select id from hrmresource where 1=1 and " +filters;
log.info("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id"));
if (hrmId.equals(userId)){
personnelGroupIds.add(e.getKey());
}
}
}
}
}
}
return personnelGroupIds;
}
/**
*
* @return
*/
public static Map<String,Object> getPersonGroup(){
String sql = "select id,name from uf_ryqz";
return DbTools.getSqlToMapList(sql);
}
/**
*
* @return
*/
public static Map<String,Object> getDepartMent(){
String sql = "select id,departmentname name from hrmdepartment";
return DbTools.getSqlToMapList(sql);
}
/**
*
* @return
*/
public static Map<String,Object> getSubCompany(){
String sql = "select id,subcompanyname name from hrmsubcompany";
return DbTools.getSqlToMapList(sql);
}
/**
*
* @return
*/
public static Map<String,Object> getClassesInformation(){
String sql = "select id,mc name from uf_jcl_kq_bcxx";
return DbTools.getSqlToMapList(sql);
}
/**
*
* @return
*/
public static Map<String,Object> getCandidateTeam(){
String sql = "select id,mc name from uf_jcl_kq_hxbz";
return DbTools.getSqlToMapList(sql);
}
} }

@ -36,7 +36,7 @@ public class SchedulingJob extends BaseCronJob {
@Override @Override
public void execute() { public void execute() {
String currentDate = DateUtil.getCurrentDate(); String currentDate = DateUtil.getCurrentDate();
String sql = "select * from uf_glpb where edate > ? and bdate<=?"; String sql = "select * from uf_jcl_kq_glpb where edate > ? and bdate<=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,currentDate,currentDate); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,currentDate,currentDate);
log.info("dataList : [{}]",dataList); log.info("dataList : [{}]",dataList);
try { try {

@ -59,7 +59,7 @@ public class DayRegularScheduling implements RegularScheduling{
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksts,jsts,hxbz,bcmc from uf_glpb_dt1 where mainid=?"; String sql = "select ksts,jsts,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?";

@ -58,7 +58,7 @@ public class MonthRegularScheduling implements RegularScheduling{
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksr,jsr,hxbz,bcmc from uf_glpb_dt1 where mainid=?"; String sql = "select ksr,jsr,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?";

@ -60,7 +60,7 @@ public class WeekRegularScheduling implements RegularScheduling{
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksxq,jsxq,hxbz,bcmc from uf_glpb_dt1 where mainid=?"; String sql = "select ksxq,jsxq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?";

@ -58,7 +58,7 @@ public class YearRegularScheduling implements RegularScheduling{
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksrq,jsrq,hxbz,bcmc from uf_glpb_dt1 where mainid=?"; String sql = "select ksrq,jsrq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?";

@ -0,0 +1,7 @@
package com.engine.attendance.persongroup.service;
import java.util.Map;
public interface SchedulingResultsService {
Map<String,Object> queryDataTable(Map<String,Object> params);
}

@ -0,0 +1,116 @@
package com.engine.attendance.persongroup.service.impl;
import com.engine.attendance.persongroup.cmd.GetDatatableCmd;
import com.engine.attendance.persongroup.cmd.GetDatatableCountCmd;
import com.engine.attendance.persongroup.cmd.GetDatatableRecurrenceCmd;
import com.engine.attendance.persongroup.commonutil.CommonUtil;
import com.engine.attendance.persongroup.service.SchedulingResultsService;
import com.engine.core.impl.Service;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import java.util.List;
import java.util.Map;
@Slf4j
public class SchedulingResultsServiceImpl extends Service implements SchedulingResultsService {
private Map<String,Object> personGroupMap = CommonUtil.getPersonGroup();
private Map<String,Object> departMentMap = CommonUtil.getDepartMent();
private Map<String,Object> subCompanyMap = CommonUtil.getSubCompany();
private Map<String,Object> classesInformationMap = CommonUtil.getClassesInformation();
private Map<String,Object> candidateTeamMap = CommonUtil.getCandidateTeam();
@Override
public Map<String, Object> queryDataTable(Map<String, Object> params) {
String recurrence = Util.null2String(params.get("recurrence"));
Map<String,Object> resultMap = Maps.newHashMap();
int current = Integer.valueOf(Util.null2String(params.get("current")));
int pageSize = Integer.valueOf(Util.null2String(params.get("pageSize")));
int startindex = (current-1)*pageSize;
int endindex = current*pageSize;
// Map<String,Object> personGroupMap = CommonUtil.getPersonGroup();
// Map<String,Object> departMentMap = CommonUtil.getDepartMent();
// Map<String,Object> subCompanyMap = CommonUtil.getSubCompany();
// Map<String,Object> classesInformationMap = CommonUtil.getClassesInformation();
// Map<String,Object> candidateTeamMap = CommonUtil.getCandidateTeam();
if ("1".equals(recurrence)){
//递归查询方式
Map<String,Object> result = commandExecutor.execute(new GetDatatableRecurrenceCmd(params));
List<Map<String, Object>> dataTableList = (List<Map<String, Object>>)result.get("dataTableList");
int total = dataTableList.size();
resultMap.put("total",total);
if (endindex > total){
endindex = total;
}
dataTableList = dataTableList.subList(startindex,endindex);
for (Map<String, Object> map:dataTableList){
SetBrowSerName(map);
}
log.info("dataTableList : {}",dataTableList);
resultMap.put("data",dataTableList);
}else {
//非递归查询方式
Map<String,Object> result = commandExecutor.execute(new GetDatatableCountCmd(params));
int total = Integer.valueOf(result.get("total").toString());
params.put("total",total);
resultMap = commandExecutor.execute(new GetDatatableCmd(params));
List<Map<String,Object>> dataTable = (List<Map<String,Object>>)resultMap.get("data");
for (Map<String,Object> map :dataTable){
SetBrowSerName(map);
}
resultMap.put("total",total);
}
return resultMap;
}
/**
*
* @param map
*/
public void SetBrowSerName(Map<String,Object> map){
log.info("personGroupMap :{},departMentMap:{},subCompanyMap:{},classesInformationMap:{},candidateTeamMap:{}"
,personGroupMap.hashCode(),departMentMap.hashCode(),subCompanyMap.hashCode(),classesInformationMap.hashCode(),candidateTeamMap.hashCode());
String dxlx = Util.null2String(map.get("dxlx"));
if (dxlx.equals("0")){
//人员
String lastname = Util.null2String(map.get("lastname"));
String pbdxry = Util.null2String(map.get("pbdxry"));
pbdxry = pbdxry +"-"+lastname;
map.put("pbdxry",pbdxry);
}else if (dxlx.equals("1")){
//人员分组
String pbdxryfz = Util.null2String(map.get("pbdxryfz"));
pbdxryfz= pbdxryfz+"-"+personGroupMap.get(pbdxryfz);
map.put("pbdxryfz",pbdxryfz);
}else if (dxlx.equals("2")){
//部门
String pbdxbm = Util.null2String(map.get("pbdxbm"));
pbdxbm= pbdxbm+"-"+departMentMap.get(pbdxbm);
map.put("pbdxbm",pbdxbm);
}else if (dxlx.equals("3")){
//分部
String pbdxfb = Util.null2String(map.get("pbdxfb"));
pbdxfb= pbdxfb+"-"+subCompanyMap.get(pbdxfb);
map.put("pbdxfb",pbdxfb);
}
String bcxx = Util.null2String(map.get("bcxx"));
String hxbz = Util.null2String(map.get("hxbz"));
if (!"".equals(bcxx)){
bcxx = bcxx +"-"+classesInformationMap.get(bcxx);
map.put("bcxx",bcxx);
}
if (!"".equals(hxbz)){
hxbz = hxbz +"-"+candidateTeamMap.get(hxbz);
map.put("hxbz",hxbz);
}
}
}

@ -2,7 +2,6 @@ package com.engine.attendance.persongroup.web;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cloudstore.dev.api.bean.SplitPageBean; import com.cloudstore.dev.api.bean.SplitPageBean;
import com.cloudstore.dev.api.util.Util_TableMap;
import com.engine.attendance.persongroup.service.PersonGroupService; import com.engine.attendance.persongroup.service.PersonGroupService;
import com.engine.attendance.persongroup.service.impl.PersonGroupServiceImpl; import com.engine.attendance.persongroup.service.impl.PersonGroupServiceImpl;
import com.engine.common.util.ApiReturnTools; import com.engine.common.util.ApiReturnTools;
@ -20,7 +19,9 @@ import javax.ws.rs.POST;
import javax.ws.rs.Path; import javax.ws.rs.Path;
import javax.ws.rs.Produces; import javax.ws.rs.Produces;
import javax.ws.rs.core.Context; import javax.ws.rs.core.Context;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Slf4j @Slf4j
@ -65,32 +66,5 @@ public class PersonGroupAction {
} }
} }
/**
*
* @return
*/
@GET
@Path("/getSchedulingData")
@Produces({"text/plain"})
public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
Map<String,Object> paramMap = ParamUtil.request2Map(request);
Map<String,Object> dataMap = new HashMap<>();
String dataKey = Util.null2String(paramMap.get("dataKey"));
SplitPageBean bean = new SplitPageBean(request, dataKey, "RootMap", "operates", "head", "sql", "checkboxpopedom", "browser", "otherHeads");
JSONObject sqlObj = bean.getSql();
String sqlFrom = Util.null2String(sqlObj.getString("sqlform"));
String tableName = sqlFrom.substring(4, sqlFrom.indexOf("t1")).trim();
return ApiReturnTools.success(dataMap);
}catch (Exception e){
log.error("execute fail,catch error: [{}]",e);
return ApiReturnTools.error("500","saveApplicableOrganization error");
}
}
} }

@ -0,0 +1,32 @@
package com.engine.attendance.persongroup.web;
import com.engine.attendance.persongroup.service.SchedulingResultsService;
import com.engine.attendance.persongroup.service.impl.SchedulingResultsServiceImpl;
import com.engine.common.util.ApiReturnTools;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import java.util.Map;
public class SchedulingResultsAction {
private SchedulingResultsService basicsetService = ServiceUtil.getService(SchedulingResultsServiceImpl.class);
/**
*
* @return
*/
@POST
@Path("/getSchedulingData")
@Produces({"text/plain"})
public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String,Object> paramMap = ParamUtil.request2Map(request);
Map<String,Object> dataMap = basicsetService.queryDataTable(paramMap);
return ApiReturnTools.success(dataMap);
}
}

@ -71,6 +71,21 @@ public class DbTools {
} }
public static Map<String,Object> getSqlToMapList(String sql,Object...value){
RecordSet rs = thread.get();
Map<String,Object> result = Maps.newHashMap();
if (value == null || value.length <=0 || "".equals(value)){
rs.executeQuery(sql);
}else {
rs.executeQuery(sql,value);
}
while (rs.next()){
result.put(rs.getString("id"),rs.getString("name"));
}
return result;
}
public static boolean update(String sql,Object...value){ public static boolean update(String sql,Object...value){
RecordSet rs = thread.get(); RecordSet rs = thread.get();

@ -1,146 +0,0 @@
package com.engine.common.util;
import okhttp3.*;
import weaver.general.BaseBean;
import java.io.IOException;
import java.util.Map;
public class HttpRequestUtil extends BaseBean{
private static int retryTimes = 2;
private static BaseBean bb = new BaseBean();
/***
*
* @param dataJson
* @return
*/
public static String doPost(String url,String dataJson){
bb.writeLog("url:"+url);
bb.writeLog("dataJson:"+dataJson);
String msgData = "" ;
try {
OkHttpClient client = new OkHttpClient().newBuilder()
.addInterceptor(new OkhttpInterceptor(retryTimes))
.retryOnConnectionFailure(false).build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, dataJson);
Request request = new Request.Builder()
.url(url)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String bodyMsg = response.body().string();
bb.writeLog("response.code():"+code);
bb.writeLog("response.body():"+bodyMsg);
if(code == 200){
msgData = bodyMsg;
return msgData;
}
} catch (IOException e) {
e.printStackTrace();
bb.writeLog("HttpRequestUtil--e:"+e);
}
//bb.writeLog("msgData:"+msgData);
return msgData;
}
/***
*
* @param param
* @return
*/
public static String doGet(String url, Map<String,Object> param) {
if (param.size() > 0) {
url = url + "?";
for (Map.Entry<String, Object> e : param.entrySet()) {
url = url + e.getKey() + "=" + e.getValue() + "&";
}
url = url.substring(0, url.length() - 1);
}
return doGet(url);
}
public static String doGet(String url){
bb.writeLog("url:"+url);
String msgData = "" ;
try {
OkHttpClient client = new OkHttpClient().newBuilder()
.addInterceptor(new OkhttpInterceptor(retryTimes))
.retryOnConnectionFailure(false).build();
Request request = new Request.Builder()
.url(url)
.get()
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String bodyMsg = response.body().string();
bb.writeLog("response.code():"+code);
bb.writeLog("response.body():"+bodyMsg);
if(code == 200){
msgData = bodyMsg;
return msgData;
}
} catch (IOException e) {
e.printStackTrace();
bb.writeLog("HttpRequestUtil--e:"+e);
}
bb.writeLog("msgData:"+msgData);
return msgData;
}
public static class OkhttpInterceptor implements Interceptor {
// 最大重试次数
private int maxRentry;
public OkhttpInterceptor(int maxRentry) {
this.maxRentry = maxRentry;
}
@Override
public Response intercept(Chain chain) throws IOException {
/* 2 null , intercept must not return null.
* null IllegalStateException
* */
return retry(chain, 0);//这个递归真的很舒服
}
Response retry(Chain chain, int retryCent) {
Request request = chain.request();
Response response = null;
BaseBean bb = new BaseBean();
try {
// System.out.println("第" + (retryCent + 1) + "次执行发http请求.");
response = chain.proceed(request);
} catch (Exception e) {
bb.writeLog("OkhttpInterceptor--e:"+e);
if (maxRentry > retryCent) {
return retry(chain, retryCent + 1);
}
} finally {
return response;
}
}
}
}

@ -1,76 +0,0 @@
package com.engine.common.util;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
public class PropBean {
public static BaseBean bb = new BaseBean();
public static String active = Util.null2String(bb.getPropValue("developProp","active")).toUpperCase();
/***
*
* @param pkey
* @return
*/
public static String getUfPropValue(String pkey)
{
BaseBean baseBean = new BaseBean();
if(StringUtils.isEmpty(pkey)){
return "";
}
if(StringUtils.isEmpty(active)){
active = Util.null2String(baseBean.getPropValue("developProp","active")).toUpperCase();
}
//baseBean.writeLog("propbeanactive:"+active+" pkey:"+pkey+" "+active+"VALUE");
String pvalue = "";
try{
RecordSet rs = new RecordSet();
String sql = " SELECT DEVVALUE,TESTVALUE,PRODVALUE FROM UF_PROP WHERE PKEY = ?";
rs.executeQuery(sql,new Object[]{pkey.trim()});
if(rs.next()){
pvalue = Util.null2String(rs.getString(active+"VALUE"));
}
// baseBean.writeLog("pvalue:"+pvalue);
}catch (Exception e){
e.printStackTrace();
bb.writeLog("propbean-e:"+e);
}
return pvalue;
}
/***
*
* @param pkey
* @return
*/
public String getUfPropValueStatic(String pkey)
{
BaseBean baseBean = new BaseBean();
if(StringUtils.isEmpty(pkey)){
return "";
}
String active = Util.null2String(baseBean.getPropValue("developProp","active")).toUpperCase();
String pvalue = "";
try{
RecordSet rs = new RecordSet();
String sql = " SELECT DEVVALUE,TESTVALUE,PRODVALUE FROM UF_PROP WHERE PKEY = ?";
rs.executeQuery(sql,new Object[]{pkey.trim()});
if(rs.next()){
pvalue = Util.null2String(rs.getString(active+"VALUE"));
}
baseBean.writeLog("pvalue:"+pvalue);
}catch (Exception e){
e.printStackTrace();
bb.writeLog("propbean-e:"+e);
}
return pvalue;
}
}

Binary file not shown.

@ -1,17 +1,27 @@
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.UUID; import java.util.*;
public class Test { public class Test {
public static void main(String[] args) { public static void main(String[] args) {
LocalDateTime beginDate = DateUtil.getTime("2023-01-05"); // String str = "where 1=1 and t1.formmodeid = 200 and t1.dgcx = '1'";
LocalDateTime endDate = DateUtil.getTime("2023-09-20"); // String[] strs = str.split("and");
System.out.println(endDate); // for (String beanSqlWhere :strs){
System.out.println(DateUtil.getTime(DateUtil.getCurrentDatePlusDay(7))); // if (beanSqlWhere.indexOf("t1.dgcx") >=0){
System.out.println(endDate.compareTo(DateUtil.getTime(DateUtil.getCurrentDatePlusDay(7)))); // String[] conditions = beanSqlWhere.split("=");
// System.out.println(conditions[1].trim());
// if (conditions[1].trim().equals("'1'")){
// System.out.println(111);
// }
// }
// }
Set<String> personnelGroupIds = new HashSet<>();
System.out.println(DateUtil.getBetWeenDays("2023-09-22"));
} }
public static int getDaysBetween(String date1, String date2) { public static int getDaysBetween(String date1, String date2) {

Loading…
Cancel
Save