shuzhi
wangjie 2 years ago
parent ff9d6e6b69
commit 254ad30297

@ -0,0 +1,139 @@
package weaver.interfaces.shuzhi.cronjob;
import com.time.util.DateUtil;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.schedule.BaseCronJob;
import weaver.interfaces.shuzhi.util.WorkflowUtil;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* -
* <p>
* uf_zzjluf_ddjluf_lzblcxbd
* 1
* 2hrmresource
* <p>
* uf_zzjl=zzrq=gdrq
* <p>
* uf_ddjl=ddrq=gdrq
* <p>
* uf_lzblcxbd=jhlzrquf_lzblcxbd_dt1 =gdrq
*
* @author wangj
* @version 1.00
* @Date 2023/7/3
*/
public class RelationshipReminderJob extends BaseCronJob {
@Override
public void execute() {
BaseBean bb = new BaseBean();
String workflowid = bb.getPropValue("relationship", "workflowid");
String id = "";
String lastname = "";
String userid = "";
String sxrq = "";
String gdrq = "";
String date = DateUtil.getCurrentTime("yyyy-MM-dd");
RecordSet rs = new RecordSet();
//转正记录uf_zzjl uf_zzjl生效日期=zzrq转正日期、归档日期=gdrq归档日期
String sql = "select a.id,b.lastname,a.zzry,a.zzrq,a.gdrq from uf_zzjl a left join hrmresource b on a.zzry = b.id where a.txlcid is null";
rs.execute(sql);
while (rs.next()) {
String zt = "";
id = Util.null2String(rs.getString("id"));
lastname = Util.null2String(rs.getString("lastname"));
sxrq = Util.null2String(rs.getString("zzrq"));
gdrq = Util.null2String(rs.getString("gdrq"));
userid = Util.null2String(rs.getString("zzry"));
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
continue;
}
if (sxrq.equals(date)) {
//2、生效日期等于当前日期根据记录数据更新到hrmresource
zt = updateHrmStatus(userid, "1");
}
boolean flag = compareDate(sxrq, date);
if ("".equals(gdrq) && flag) {
//生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
String requestName = "员工关系更新提醒-" + lastname + "-" + date;
Map<String, String> mainMap = new HashMap<>();
mainMap.put("ygxm", userid);
mainMap.put("gxlx", "0");
mainMap.put("sxrq", sxrq);
// mainMap.put("gdrq",gdrq);
zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap);
if (Util.getIntValue(zt) < 0) {
zt = "";
}
}
}
//员工调动记录uf_ddjl uf_ddjl生效日期=ddrq调动日期、归档日期=gdrq归档日期
// sql = "select a.id,b.sqr,b.lastname,a.ddrq,a.gdrq uf_ddjl a left join hrmresource b on a.sqr = b.id where a.txlcid is null";
// rs.execute(sql);
// while (rs.next()) {
// String zt = "";
// id = Util.null2String(rs.getString("id"));
// lastname = Util.null2String(rs.getString("lastname"));
// sxrq = Util.null2String(rs.getString("ddrq"));
// gdrq = Util.null2String(rs.getString("gdrq"));
// userid = Util.null2String(rs.getString("sqr"));
//
// if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
// continue;
// }
//
// if (sxrq.equals(date)) {
// //2、生效日期等于当前日期根据记录数据更新到hrmresource
// zt = updateHrmStatus(userid, "1");
// }
//
// boolean flag = compareDate(sxrq, date);
//
// if ("".equals(gdrq) && flag) {
// //生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
// String requestName = "员工关系更新提醒-" + lastname + "-" + date;
// Map<String, String> mainMap = new HashMap<>();
// mainMap.put("ygxm", userid);
// mainMap.put("gxlx", "0");
// mainMap.put("sxrq", sxrq);
//// mainMap.put("gdrq",gdrq);
// zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap);
// if (Util.getIntValue(zt) < 0) {
// zt = "";
// }
// }
}
private String updateHrmStatus(String userid, String status) {
RecordSet rs = new RecordSet();
String sql = "update hrmresource set status = '" + status + "' where id = '" + userid + "'";
rs.execute(sql);
return "update";
}
private boolean compareDate(String start, String end) {
boolean flag = false;
Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd");
Date edate = DateUtil.parseDate(end, "yyyy-MM-dd");
if (sdate.getTime() < edate.getTime()) {
flag = true;
}
return flag;
}
}

@ -0,0 +1,92 @@
package weaver.interfaces.shuzhi.util;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import weaver.soa.workflow.request.RequestService;
import weaver.workflow.request.RequestComInfo;
import weaver.workflow.workflow.WorkflowComInfo;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2023/7/3
*/
public class WorkflowUtil extends BaseBean {
/**
* @param @param creatorId Id
* @param @param workflowId Id
* @param @param requestName
* @param @param IsNextFlow
* @param @param requestMap Map<fieldname,fieldvalue>=<,>
* @param @return
* @return String
* @throws
* @Title: WorkflowCreateByMainTableMap
*/
public String WorkflowCreateByMainTableMap(String creatorId, String workflowId, String requestName, String IsNextFlow, Map<String, String> requestMainMap) {
writeLog("-----创建流程传递的参数个数--------");
writeLog("creatorId:" + creatorId);
writeLog("workflowId:" + workflowId);
writeLog("requestName:" + requestName);
writeLog("IsNextFlow:" + IsNextFlow);
String requestid = "";
RequestInfo requestInfo = new RequestInfo();
requestInfo.setCreatorid(creatorId);//创建⼈Id
requestInfo.setWorkflowid(workflowId);//⼯作流Id
requestInfo.setDescription(requestName);//请求标题
if (!"".equals(IsNextFlow)) {
requestInfo.setIsNextFlow(IsNextFlow);
}
//主表字段
MainTableInfo mainTableInfo = new MainTableInfo();
Property[] propertyArray = new Property[requestMainMap.size()];
int p = 0;
for (Map.Entry<String, String> entry : requestMainMap.entrySet()) {
propertyArray[p] = new Property();
propertyArray[p].setName(Util.null2String(entry.getKey()));
//2、其他接⼝
propertyArray[p].setValue(Util.null2String(entry.getValue()));
writeLog("\r\n---p=" + p + "---Key=" + entry.getKey() + "---Value = " + entry.getValue());
p++;
}
writeLog("-----创建流程传递的参数个数p=" + p);
mainTableInfo.setProperty(propertyArray);
requestInfo.setMainTableInfo(mainTableInfo);
RequestService service = new RequestService();
try {
//流程
try {
requestid = service.createRequest(requestInfo);//创建请求id
} catch (Exception e) {
writeLog("=======" + e.getMessage());
}
//String userId = requestInfo.getLastoperator();//请求最后的操作者
//记录⽇志
StringBuffer sbf = new StringBuffer("\r\n-----xwd创建⼯作流记录⽇志开始");
WorkflowComInfo wfcif = new WorkflowComInfo();
RequestComInfo rcif = new RequestComInfo();
ResourceComInfo rscif = new ResourceComInfo();
sbf.append("\r\n-----姓名:" + rscif.getLastname(rcif.getRequestCreater(requestid)));
sbf.append("\r\n-----时间:" + rcif.getRequestCreateTime(requestid));
sbf.append("\r\n-----创建流程:" + wfcif.getWorkflowname(workflowId));
sbf.append("\r\n-----请求:" + rcif.getRequestname(requestid));
sbf.append("\r\n-----请求:" + requestid);
sbf.append("\r\n-----创建⼯作流记录⽇志结束");
writeLog(sbf.toString());
System.out.println("" + sbf.toString());
} catch (Exception e) {
writeLog("错误:" + e);
System.out.println("错误:" + e);
}
return requestid;
}
}
Loading…
Cancel
Save