Ecology-Dev-chaofa/湖北国网/interface/gw/createKqInfoToMode.jsp

805 lines
32 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="weaver.general.TimeUtil" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.formmode.setup.ModeRightInfo" %>
<%@ page import="com.engine.kq.service.KQReportService" %>
<%@ page import="com.engine.common.util.ServiceUtil" %>
<%@ page import="com.engine.kq.service.impl.KQReportServiceImpl" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="com.alibaba.fastjson.JSONArray" %>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="weaver.conn.BatchRecordSet" %>
<%@ page import="weaver.hrm.resource.ResourceComInfo" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rst" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="bb" class="weaver.general.BaseBean" />
<%
Map<String, Object> resultMap = new HashMap<String, Object>();
String bool = "0";
String startdate = Util.null2String(request.getParameter("startdate"));
String userids = Util.null2String(request.getParameter("userids"));
User user = HrmUserVarify.getUser(request, response);
int userid = user.getUID();
String currentdate = TimeUtil.getCurrentDateString();
String currenttime = TimeUtil.getOnlyCurrentTimeString();
String fromdate = startdate + "-01";
String todate = getEndByDateStr(fromdate,0);
if(userids != null && !"".equals(userids)){
for(String userId : userids.split(",")){
Map<String, Object> apidatas = new HashMap<String, Object>();
Map<String, Object> params = new HashMap<String, Object>();
String userName = new ResourceComInfo().getLastname(userId);
boolean boool = false;
rs.executeQuery("select * from uf_kqhzb where yf=? and xm=?",startdate,userName);
while(rs.next()){
String mxid = Util.null2String(rs.getString("id"));
//审核状态 0-审核 1-反审核
String shzt = Util.null2String(rs.getString("shzt"));
if(shzt != null && !"".equals(shzt)){
if("1".equals(shzt)){
boool = true;
}
}else{
boool = true;
}
if(boool){
rst.executeUpdate("delete from uf_kqhzb where id = ?",mxid);
}
}
params.put("reportType","month");
Map<String, Object> paramsData = new HashMap<String, Object>();
paramsData.put("fromDate",fromdate);
paramsData.put("toDate",todate);
paramsData.put("pageIndex",0);
paramsData.put("resourceId",userId);
paramsData.put("typeselect","6");
paramsData.put("viewScope","0");
paramsData.put("status","9");
paramsData.put("isNoAccount","1");
paramsData.put("attendanceSerial","");
params.put("data",JSONObject.toJSONString(paramsData));
bb.writeLog("params: "+ params);
try {
apidatas = getService(user).getKQReport(params, user);
bb.writeLog("apidatas:" + JSONObject.toJSONString(apidatas));
JSONArray jsonArray = JSON.parseArray(Util.null2String(JSONObject.toJSONString(apidatas.get("datas"))));
bb.writeLog("jsonArray:" + JSONObject.toJSONString(jsonArray));
for (Iterator<Object> iterator = jsonArray.iterator(); iterator.hasNext(); ) {
List<List<Object>> lsParams = new ArrayList<>();
List<List<Object>> lsDelParams = new ArrayList<>();
JSONObject next = (JSONObject) iterator.next();
String resourceId = next.getString("resourceId");
//入离职状态 0-当月入职 1-当月离职
String rlzzt = null;
//入职日期
String rzrq = Util.null2String(getRzrq(resourceId));
String rzrq_day = rzrq.substring(8,10);
String rzrq_date = "";
if(rzrq!=null && !"".equals(rzrq)){
rzrq_date = rzrq.substring(0,7);
if(rzrq_date.equals(startdate)){
rlzzt = "0";
}
}
//预转正日期 = 入职日期+1月-1天
String yzzrq = addDateDay(addDateMonth(rzrq,1),-1);
// 1号入职预转正日期就是 入职日期+1月 否则 就是 入职日期+1月-1天
if(Integer.parseInt(rzrq_day) == 1){
yzzrq = addDateMonth(rzrq,1);
}else{
yzzrq = addDateDay(addDateMonth(rzrq,1),-1);
}
//离职日期
String lzrq = Util.null2String(getLzrq(resourceId));
String lzrq_date = "";
if(lzrq!=null && !"".equals(lzrq)){
lzrq_date = lzrq.substring(0,7);
if(lzrq_date.equals(startdate)){
rlzzt = "1";
}
}
//转正日期
String zzrq = Util.null2String(getZzrq(resourceId));
String zzrq_date = "";
if(zzrq!=null && !"".equals(zzrq)){
zzrq_date = zzrq.substring(0,7);
if(zzrq_date.equals(startdate)){
rlzzt = "2";
}
}
//当月既有入职,也有离职,优先算 当月入职
if(rzrq_date.equals(lzrq_date)){
rlzzt = "0";
}
//姓名
String xm = next.getString("lastname");
//服务处
String fwc = next.getString("glc");
//班组
String bz = next.getString("bz");
//中心
String zx = next.getString("zx");
//外包公司
String wbgs = next.getString("wbgs");
//绩效分类
String jxfl = next.getString("jxfl");
//考勤来源
String kqly = next.getString("attendanceSource");
//应出勤天数(天)
String ycqtst = next.getString("workdays");
//实际出勤天数(天)
String sjcqtst = next.getString("attendancedays");
//迟到(次)
String cdc = next.getString("beLate");
//迟到时长(小时)
String cdscxs = next.getString("beLateMins");
//早退(次)
String ztc = next.getString("leaveEearly");
//早退时长(小时)
String ztscxs = next.getString("leaveEarlyMins");
//旷工(次)
String kgc = next.getString("absenteeism");
//旷工时长(小时)
String kgscxs = next.getString("absenteeismMins");
//漏签(次)
String lqc = next.getString("forgotCheck");
//夜班次数(次)
String ybcsc = next.getString("ybcs");
//年假(小时)
String njxs = next.getString("leaveType_2");
//调休(小时)
String dxxs = next.getString("leaveType_5");
//事假(小时)
String sjxs = next.getString("leaveType_6");
//病假(小时)
String bjxs = next.getString("leaveType_7");
//产假(小时)
String cjxs = next.getString("leaveType_8");
//陪产假(小时)
String pcjxs = next.getString("leaveType_9");
//婚假(小时)
String hjxs = next.getString("leaveType_10");
//丧假(小时)
String sjxs1 = next.getString("leaveType_11");
//哺乳假(小时)
String brjxs = next.getString("leaveType_12");
//育儿假(小时)
String yejxs = next.getString("leaveType_13");
//产检假(小时)
String cjjxs = next.getString("leaveType_15");
//工伤假(小时)
String gsjxs = next.getString("leaveType_16");
//工作日加班(小时)(不关联调休)
String gzrjbxsbgldx = next.getString("workingDayOvertime_nonleave");
//休息日加班(小时)(不关联调休)
String xxrjbxsbgldx = next.getString("restDayOvertime_nonleave");
//节假日加班(小时)(不关联调休)
String jjrjbxsbgldx = next.getString("holidayOvertime_nonleave");
//工作日加班(小时)(关联调休)
String gzrjbxsgldx = next.getString("workingDayOvertime_4leave");
//休息日加班(小时)(关联调休)
String xxrjbxsgldx = next.getString("restDayOvertime_4leave");
//节假日加班(小时)(关联调休)
String jjrjbxsgldx = next.getString("holidayOvertime_4leave");
//总计(小时)
String zjxs = next.getString("overtimeTotal");
//出差(天)
String cct = next.getString("businessLeave");
//公出(小时)
String gcxs = next.getString("officialBusiness");
bb.writeLog("userId: " + resourceId + " workdays: " + ycqtst + " attendancedays: " + sjcqtst);
List<Object> par = new ArrayList<>();
List<Object> parDel = new ArrayList<>();
boolean isNoAttend = checkNoAttend(resourceId);
par.add(rzrq);
par.add(lzrq);
par.add(rlzzt);
par.add(xm);
par.add(startdate);
par.add(fwc);
par.add(bz);
par.add(zx);
par.add(wbgs);
par.add(jxfl);
par.add(kqly);
par.add(ycqtst);
par.add(sjcqtst);
par.add(cdc);
par.add(cdscxs);
par.add(ztc);
par.add(ztscxs);
par.add(kgc);
par.add(kgscxs);
par.add(lqc);
par.add(ybcsc);
par.add(njxs);
par.add(dxxs);
par.add(sjxs);
par.add(bjxs);
par.add(cjxs);
par.add(pcjxs);
par.add(hjxs);
par.add(sjxs1);
par.add(brjxs);
par.add(yejxs);
par.add(cjjxs);
par.add(gsjxs);
par.add(gzrjbxsbgldx);
par.add(xxrjbxsbgldx);
par.add(jjrjbxsbgldx);
par.add(gzrjbxsgldx);
par.add(xxrjbxsgldx);
par.add(jjrjbxsgldx);
par.add(zjxs);
par.add(cct);
par.add(gcxs);
par.add(yzzrq);
parDel.add(xm);
parDel.add(startdate);
lsDelParams.add(parDel);
BatchRecordSet bRs = new BatchRecordSet();
bb.writeLog("开始同步数据");
bb.writeLog("lsDelParams:" + JSON.toJSONString(lsDelParams));
//审核状态 0-审核 1-反审核
String shzt = getShzt(xm,startdate);
boolean bbol = false;
if(shzt != null && !"".equals(shzt)){
if("0".equals(shzt)){
bbol = true;
}
}
// 为空 或者 反审核 才会往下执行
if(!bbol){
String sql = "";
int modeid = getFormModeIdByCubeName("uf_kqhzb");
par.add(modeid);
par.add(userid);
par.add("0");
par.add(currentdate);
par.add(currenttime);
lsParams.add(par);
// 不是 无需考勤人员
if(!isNoAttend) {
sql = " insert into uf_kqhzb (rzrq, lzrq, rlzzt, xm, yf, fwc, bz, zx, wbgs, " +
"jxfl,kqly,ycqtst,sjcqtst,cdc,cdscxs,ztc,ztscxs,kgc,kgscxs," +
"lqc,ybcsc,njxs,dxxs,sjxs,bjxs,cjxs,pcjxs,hjxs,sjxs1," +
"brjxs,yejxs,cjjxs,gsjxs,gzrjbxsbgldx,xxrjbxsbgldx,jjrjbxsbgldx,gzrjbxsgldx,xxrjbxsgldx,jjrjbxsgldx," +
"zjxs,cct,gcxs,yzzrq,FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME) "
+ " values(?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?)";
bRs.executeBatchSql(sql, lsParams);
String idNew = "";
RecordSet findNew = new RecordSet();
String sqlFindnew = "select Id from uf_kqhzb where xm = '" + xm + "' and yf = '" + startdate + "' order by" +
" modedatacreatedate desc,modedatacreatetime desc";
findNew.execute(sqlFindnew);
bb.writeLog("findSqlNew:" + sqlFindnew);
if (findNew.next()) {
idNew = Util.null2String(findNew.getString("id"));
}
bb.writeLog("idNew:" + idNew);
// 权限重构
int dataId = Integer.valueOf(idNew);
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.editModeDataShare(userid, modeid, dataId);
}
}
}
}catch (Exception e){
bool = "0";
e.printStackTrace();
bb.writeLog("error: "+ e);
}
}
bool = "1";
}else{
boolean boool = false;
rs.executeQuery("select * from uf_kqhzb where yf=?",startdate);
while(rs.next()){
String mxid = Util.null2String(rs.getString("id"));
//审核状态 0-审核 1-反审核
String shzt = Util.null2String(rs.getString("shzt"));
if(shzt != null && !"".equals(shzt)){
if("1".equals(shzt)){
boool = true;
}
}else{
boool = true;
}
if(boool){
rst.executeUpdate("delete from uf_kqhzb where id = ?",mxid);
}
}
Map<String, Object> apidatas = new HashMap<String, Object>();
Map<String, Object> params = new HashMap<String, Object>();
params.put("reportType","month");
Map<String, Object> paramsData = new HashMap<String, Object>();
paramsData.put("fromDate",fromdate);
paramsData.put("toDate",todate);
paramsData.put("pageIndex",0);
paramsData.put("typeselect","6");
paramsData.put("viewScope","0");
paramsData.put("status","9");
paramsData.put("isNoAccount","1");
paramsData.put("attendanceSerial","");
params.put("data",JSONObject.toJSONString(paramsData));
bb.writeLog("params: "+ params);
try {
apidatas = getService(user).getKQReport(params, user);
bb.writeLog("apidatas:" + JSONObject.toJSONString(apidatas));
JSONArray jsonArray = JSON.parseArray(Util.null2String(JSONObject.toJSONString(apidatas.get("datas"))));
bb.writeLog("jsonArray:" + JSONObject.toJSONString(jsonArray));
for (Iterator<Object> iterator = jsonArray.iterator(); iterator.hasNext(); ) {
List<List<Object>> lsParams = new ArrayList<>();
List<List<Object>> lsDelParams = new ArrayList<>();
JSONObject next = (JSONObject) iterator.next();
String resourceId = next.getString("resourceId");
//入离职状态 0-当月入职 1-当月离职
String rlzzt = null;
//入职日期
String rzrq = Util.null2String(getRzrq(resourceId));
String rzrq_date = "";
if(rzrq!=null && !"".equals(rzrq)){
rzrq_date = rzrq.substring(0,7);
if(rzrq_date.equals(startdate)){
rlzzt = "0";
}
}
//离职日期
String lzrq = Util.null2String(getLzrq(resourceId));
String lzrq_date = "";
if(lzrq!=null && !"".equals(lzrq)){
lzrq_date = lzrq.substring(0,7);
if(lzrq_date.equals(startdate)){
rlzzt = "1";
}
}
//当月既有入职,也有离职,优先算 当月入职
if(rzrq_date.equals(lzrq_date)){
rlzzt = "0";
}
//姓名
String xm = next.getString("lastname");
//服务处
String fwc = next.getString("glc");
//班组
String bz = next.getString("bz");
//中心
String zx = next.getString("zx");
//外包公司
String wbgs = next.getString("wbgs");
//绩效分类
String jxfl = next.getString("jxfl");
//考勤来源
String kqly = next.getString("attendanceSource");
//应出勤天数(天)
String ycqtst = next.getString("workdays");
//实际出勤天数(天)
String sjcqtst = next.getString("attendancedays");
//迟到(次)
String cdc = next.getString("beLate");
//迟到时长(小时)
String cdscxs = next.getString("beLateMins");
//早退(次)
String ztc = next.getString("leaveEearly");
//早退时长(小时)
String ztscxs = next.getString("leaveEarlyMins");
//旷工(次)
String kgc = next.getString("absenteeism");
//旷工时长(小时)
String kgscxs = next.getString("absenteeismMins");
//漏签(次)
String lqc = next.getString("forgotCheck");
//夜班次数(次)
String ybcsc = next.getString("ybcs");
//年假(小时)
String njxs = next.getString("leaveType_2");
//调休(小时)
String dxxs = next.getString("leaveType_5");
//事假(小时)
String sjxs = next.getString("leaveType_6");
//病假(小时)
String bjxs = next.getString("leaveType_7");
//产假(小时)
String cjxs = next.getString("leaveType_8");
//陪产假(小时)
String pcjxs = next.getString("leaveType_9");
//婚假(小时)
String hjxs = next.getString("leaveType_10");
//丧假(小时)
String sjxs1 = next.getString("leaveType_11");
//哺乳假(小时)
String brjxs = next.getString("leaveType_12");
//育儿假(小时)
String yejxs = next.getString("leaveType_13");
//产检假(小时)
String cjjxs = next.getString("leaveType_15");
//工伤假(小时)
String gsjxs = next.getString("leaveType_16");
//工作日加班(小时)(不关联调休)
String gzrjbxsbgldx = next.getString("workingDayOvertime_nonleave");
//休息日加班(小时)(不关联调休)
String xxrjbxsbgldx = next.getString("restDayOvertime_nonleave");
//节假日加班(小时)(不关联调休)
String jjrjbxsbgldx = next.getString("holidayOvertime_nonleave");
//工作日加班(小时)(关联调休)
String gzrjbxsgldx = next.getString("workingDayOvertime_4leave");
//休息日加班(小时)(关联调休)
String xxrjbxsgldx = next.getString("restDayOvertime_4leave");
//节假日加班(小时)(关联调休)
String jjrjbxsgldx = next.getString("holidayOvertime_4leave");
//总计(小时)
String zjxs = next.getString("overtimeTotal");
//出差(天)
String cct = next.getString("businessLeave");
//公出(小时)
String gcxs = next.getString("officialBusiness");
bb.writeLog("userId: " + resourceId + " workdays: " + ycqtst + " attendancedays: " + sjcqtst);
List<Object> par = new ArrayList<>();
List<Object> parDel = new ArrayList<>();
boolean isNoAttend = checkNoAttend(resourceId);
par.add(rzrq);
par.add(lzrq);
par.add(rlzzt);
par.add(xm);
par.add(startdate);
par.add(fwc);
par.add(bz);
par.add(zx);
par.add(wbgs);
par.add(jxfl);
par.add(kqly);
par.add(ycqtst);
par.add(sjcqtst);
par.add(cdc);
par.add(cdscxs);
par.add(ztc);
par.add(ztscxs);
par.add(kgc);
par.add(kgscxs);
par.add(lqc);
par.add(ybcsc);
par.add(njxs);
par.add(dxxs);
par.add(sjxs);
par.add(bjxs);
par.add(cjxs);
par.add(pcjxs);
par.add(hjxs);
par.add(sjxs1);
par.add(brjxs);
par.add(yejxs);
par.add(cjjxs);
par.add(gsjxs);
par.add(gzrjbxsbgldx);
par.add(xxrjbxsbgldx);
par.add(jjrjbxsbgldx);
par.add(gzrjbxsgldx);
par.add(xxrjbxsgldx);
par.add(jjrjbxsgldx);
par.add(zjxs);
par.add(cct);
par.add(gcxs);
parDel.add(xm);
parDel.add(startdate);
lsDelParams.add(parDel);
BatchRecordSet bRs = new BatchRecordSet();
bb.writeLog("开始同步数据");
bb.writeLog("lsDelParams:" + JSON.toJSONString(lsDelParams));
//审核状态 0-审核 1-反审核
String shzt = getShzt(xm,startdate);
boolean bbol = false;
if(shzt != null && !"".equals(shzt)){
if("0".equals(shzt)){
bbol = true;
}
}
// 为空 或者 反审核 才会往下执行
if(!bbol){
String sql = "";
int modeid = getFormModeIdByCubeName("uf_kqhzb");
par.add(modeid);
par.add(userid);
par.add("0");
par.add(currentdate);
par.add(currenttime);
lsParams.add(par);
// 不是 无需考勤人员
if(!isNoAttend) {
sql = " insert into uf_kqhzb (rzrq, lzrq, rlzzt, xm, yf, fwc, bz, zx, wbgs, " +
"jxfl,kqly,ycqtst,sjcqtst,cdc,cdscxs,ztc,ztscxs,kgc,kgscxs," +
"lqc,ybcsc,njxs,dxxs,sjxs,bjxs,cjxs,pcjxs,hjxs,sjxs1," +
"brjxs,yejxs,cjjxs,gsjxs,gzrjbxsbgldx,xxrjbxsbgldx,jjrjbxsbgldx,gzrjbxsgldx,xxrjbxsgldx,jjrjbxsgldx," +
"zjxs,cct,gcxs,FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME) "
+ " values(?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?)";
bRs.executeBatchSql(sql, lsParams);
String idNew = "";
RecordSet findNew = new RecordSet();
String sqlFindnew = "select Id from uf_kqhzb where xm = '" + xm + "' and yf = '" + startdate + "' order by" +
" modedatacreatedate desc,modedatacreatetime desc";
findNew.execute(sqlFindnew);
bb.writeLog("findSqlNew:" + sqlFindnew);
if (findNew.next()) {
idNew = Util.null2String(findNew.getString("id"));
}
bb.writeLog("idNew:" + idNew);
// 权限重构
int dataId = Integer.valueOf(idNew);
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.editModeDataShare(userid, modeid, dataId);
}
}
}
bool = "1";
}catch (Exception e){
bool = "0";
e.printStackTrace();
bb.writeLog("error: "+ e);
}
}
resultMap.put("flag", bool);
out.print(JSONObject.toJSONString(resultMap));
%>
<%!
/**
* 获取 审核状态
* @param userid
* @param nianyue
* @return
*/
public static String getShzt(String userid,String nianyue){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select shzt from uf_kqhzb where xm = ? and yf = ?",userid,nianyue);
if(rs.next()){
result = Util.null2String(rs.getString("shzt"));
}
return result;
}
/**
* 获取 入职日期
* @param userid
* @return
*/
public static String getRzrq(String userid){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select companystartdate from HrmResource where id = ?",userid);
while (rs.next()){
result = Util.null2String(rs.getString("companystartdate"));
}
return result;
}
/**
* 获取 离职日期
* @param userid
* @return
*/
public static String getLzrq(String userid){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select changedate from HrmStatusHistory where type_n='5' and resourceid=?",userid);
while (rs.next()){
result = Util.null2String(rs.getString("changedate"));
}
return result;
}
/**
* 获取 转正日期
* @param userid
* @return
*/
public static String getZzrq(String userid){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select changedate from HrmStatusHistory where type_n='2' and resourceid=?",userid);
while (rs.next()){
result = Util.null2String(rs.getString("changedate"));
}
return result;
}
/**
* 根据建模表名获取formModeId
*
* @param cubeName 建模表明
* @return int formModeId
*/
private static int getFormModeIdByCubeName(String cubeName) {
RecordSet rs = new RecordSet();
rs.executeQuery("select t1.id from modeinfo t1 " +
" left join workflow_bill t2 " +
" on t1.formid=t2.id " +
" where t2.tablename='" + cubeName + "'");
rs.next();
return rs.getInt("id");
}
private KQReportService getService(User user) {
return (KQReportService) ServiceUtil.getService(KQReportServiceImpl.class, user);
}
/**
* 根据日期字符串获取上下某个月的月末
*
* @param dateStr 日期字符串
* @param num 上下某月
* @return 月初月末集合
*/
public static String getEndByDateStr(String dateStr, int num) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String res = "";
try {
Date date = sdf.parse(dateStr);
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
c1.add(Calendar.MONTH, num);
c1.set(Calendar.DAY_OF_MONTH, 1);
String start = sdf.format(c1.getTime());
Calendar c2 = Calendar.getInstance();
Date dateTemp = sdf.parse(start);
c2.setTime(dateTemp);
c2.add(Calendar.MONTH, 1);
c2.set(Calendar.DAY_OF_MONTH, 0);
res = sdf.format(c2.getTime());
return res;
} catch (Exception e) {
return res;
}
}
/**
* 判断 是否是 无需考勤人员 0 是 1 否
* @param userid
* @return
*/
public static boolean checkNoAttend(String userid){
boolean bool = false;
RecordSet rs = new RecordSet();
rs.executeQuery("select field100046 as res from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid='3' and id = ?",userid);
if(rs.next()){
String noattend = Util.null2String(rs.getString("res"));
if("0".equals(noattend)){
bool = true;
}
}
return bool;
}
/**
* 对时间的月数进行加减
* @param daytime 时间的格式yyyy-MM-dd
* @param month 月数 -1则代表减一月
* @return
*/
public static String addDateMonth(String daytime, int month){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(daytime);
if (date == null){
return "";
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, month);// 加 day 月
date = cal.getTime();
cal = null;
return format.format(date);
} catch (Exception ex) {
ex.printStackTrace();
}
return "";
}
/**
* 对时间的天数进行加减
* @param daytime 时间的格式yyyy-MM-dd
* @param day 天数 -1则代表减一天
* @return
*/
public static String addDateDay(String daytime, int day){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(daytime);
if (date == null){
return "";
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, day);// 加一天
date = cal.getTime();
cal = null;
return format.format(date);
} catch (Exception ex) {
ex.printStackTrace();
}
return "";
}
%>