|
|
|
|
package weaver.interfaces.thwl.action;
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
|
import weaver.general.Util;
|
|
|
|
|
import weaver.interfaces.thwl.action.sdk.AddRequest;
|
|
|
|
|
import weaver.interfaces.thwl.action.sdk.ArtemisUtil;
|
|
|
|
|
import weaver.interfaces.thwl.action.sdk.OrgInfoRequest;
|
|
|
|
|
import weaver.interfaces.workflow.action.Action;
|
|
|
|
|
import weaver.soa.workflow.request.MainTableInfo;
|
|
|
|
|
import weaver.soa.workflow.request.Property;
|
|
|
|
|
import weaver.soa.workflow.request.RequestInfo;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author:dxfeng
|
|
|
|
|
* @createTime: 2024/08/14
|
|
|
|
|
* @version: 1.0
|
|
|
|
|
*/
|
|
|
|
|
public class PersonSingleAddAction implements Action {
|
|
|
|
|
@Override
|
|
|
|
|
public String execute(RequestInfo requestInfo) {
|
|
|
|
|
try {
|
|
|
|
|
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
|
|
|
|
|
Property[] properties = mainTableInfo.getProperty();
|
|
|
|
|
Map<String, String> mainDataMap = new HashMap<>(16);
|
|
|
|
|
for (Property property : properties) {
|
|
|
|
|
mainDataMap.put(property.getName(), property.getValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String ryid = Util.null2String(mainDataMap.get("ryid"));
|
|
|
|
|
if (StringUtils.isBlank(ryid)) {
|
|
|
|
|
requestInfo.getRequestManager().setMessagecontent("未获取到有效的人员ID,请确认");
|
|
|
|
|
return Action.FAILURE_AND_CONTINUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
rs.executeQuery("select t.departmentid,t.lastname,t.sex,t.birthday,t.mobile,t.certificatenum,t.workcode from hrmresource t where t.id = ? ", ryid);
|
|
|
|
|
String departmentId = "";
|
|
|
|
|
String lastName = "";
|
|
|
|
|
String sex = "";
|
|
|
|
|
String birthday = "";
|
|
|
|
|
String mobile = "";
|
|
|
|
|
String certificateNum = "";
|
|
|
|
|
String workCode = "";
|
|
|
|
|
String departmentCode = "";
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
departmentId = rs.getString("departmentid");
|
|
|
|
|
lastName = rs.getString("lastname");
|
|
|
|
|
sex = rs.getString("sex");
|
|
|
|
|
birthday = rs.getString("birthday");
|
|
|
|
|
mobile = rs.getString("mobile");
|
|
|
|
|
certificateNum = rs.getString("certificatenum");
|
|
|
|
|
workCode = rs.getString("workcode");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rs.executeQuery("select departmentcode from hrmdepartment where id = ? ", departmentId);
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
departmentCode = rs.getString("departmentcode");
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isBlank(departmentCode)) {
|
|
|
|
|
requestInfo.getRequestManager().setMessagecontent("未获取到当前人员的部门编号,请确认");
|
|
|
|
|
return Action.FAILURE_AND_CONTINUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ArrayList<String> codeList = new ArrayList<>();
|
|
|
|
|
codeList.add(departmentCode);
|
|
|
|
|
OrgInfoRequest orgInfoRequest = new OrgInfoRequest();
|
|
|
|
|
orgInfoRequest.setOrgIndexCodes(codeList);
|
|
|
|
|
|
|
|
|
|
// 获取组织唯一标识
|
|
|
|
|
String orgIndexCode = ArtemisUtil.getOrgIndexCode(orgInfoRequest);
|
|
|
|
|
if (StringUtils.isBlank(orgIndexCode)) {
|
|
|
|
|
requestInfo.getRequestManager().setMessagecontent("未获取到当前人员部门的组织唯一标识码,请确认");
|
|
|
|
|
return Action.FAILURE_AND_CONTINUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 添加人员
|
|
|
|
|
AddRequest addRequest = new AddRequest();
|
|
|
|
|
addRequest.setPersonName(lastName);
|
|
|
|
|
String gender = "0";
|
|
|
|
|
if("0".equals(sex)){
|
|
|
|
|
gender="1";
|
|
|
|
|
}else if("1".equals(sex)){
|
|
|
|
|
gender="2";
|
|
|
|
|
}
|
|
|
|
|
addRequest.setGender(gender);
|
|
|
|
|
addRequest.setOrgIndexCode(orgIndexCode);
|
|
|
|
|
addRequest.setBirthday(birthday);
|
|
|
|
|
addRequest.setPhoneNo(mobile);
|
|
|
|
|
addRequest.setCertificateType("111");
|
|
|
|
|
addRequest.setCertificateNo(certificateNum);
|
|
|
|
|
addRequest.setJobNo(workCode);
|
|
|
|
|
|
|
|
|
|
ArtemisUtil.personSingleAdd(addRequest);
|
|
|
|
|
return Action.SUCCESS;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
requestInfo.getRequestManager().setMessagecontent(e.getMessage());
|
|
|
|
|
new BaseBean().writeLog(e);
|
|
|
|
|
return Action.FAILURE_AND_CONTINUE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|