2025-05-06 稻花香集团集成主数据平台平台组织架构创建
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
package com.seeyon.apps.src_membermanage;
|
||||
|
||||
import cn.hutool.log.Log;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.seeyon.apps.common.config.ICstConfigApi;
|
||||
import com.seeyon.apps.common.plugin.vo.ConfigVo;
|
||||
import com.seeyon.apps.common.workflow.constants.WorkFlowType;
|
||||
import com.seeyon.apps.common.workflow.node.ACommonSuperNode;
|
||||
import com.seeyon.apps.ext.workflow.vo.FieldDataVo;
|
||||
import com.seeyon.apps.ext.workflow.vo.FormDataVo;
|
||||
import com.seeyon.apps.ext.workflow.vo.SuperNodeContext;
|
||||
import com.seeyon.apps.src_membermanage.constants.MemberManageConstants;
|
||||
import com.seeyon.apps.src_membermanage.util.OrganizationParamUtil;
|
||||
import com.seeyon.apps.src_membermanage.util.ProtUtil;
|
||||
import com.seeyon.cap4.form.bean.FormDataMasterBean;
|
||||
import com.seeyon.ctp.common.AppContext;
|
||||
import www.seeyon.com.utils.StringUtil;
|
||||
|
||||
//人员组织架构控制抽象类
|
||||
public abstract class MemberOrganizationCommonNode extends ACommonSuperNode {
|
||||
|
||||
private static Log log = Log.get(MemberOrganizationCommonNode.class);
|
||||
|
||||
protected ICstConfigApi cstConfigApi = (ICstConfigApi) AppContext.getBean("cstConfigApi");
|
||||
|
||||
@Override
|
||||
public String getPluginId() {
|
||||
return MemberManageConstants.getPluginId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFormParse() {
|
||||
return "json";
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkFlowType[] getTypes() {
|
||||
return new WorkFlowType[] {WorkFlowType.superNode};
|
||||
}
|
||||
|
||||
public ConfigVo getMemberMamageConfig() {
|
||||
return cstConfigApi.getConfig(getPluginId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuperNodeContext proceed(String request, FormDataVo formDataVo, FormDataMasterBean formDataMasterBean) throws Exception {
|
||||
log.info("进入人事组织架构处理流程"+getNodeId());
|
||||
ConfigVo configVo = getMemberMamageConfig();
|
||||
SuperNodeContext context = new SuperNodeContext();
|
||||
context.setNeedSave(true);
|
||||
OrganizationParamUtil organizationParamUtil = new OrganizationParamUtil();
|
||||
|
||||
FieldDataVo fhjg = formDataVo.getFieldData("组织返回结果");
|
||||
String fhvalue = fhjg.getStringValue();
|
||||
if(fhvalue.contains("完成")) {
|
||||
return context.success("跳过:" + fhvalue);
|
||||
}
|
||||
// 判断当前结果请求是否为新增
|
||||
JSONObject requestJson = JSONObject.parseObject(request);
|
||||
String addOrUpdate = requestJson.getString("addOrUpdate");
|
||||
|
||||
String mainUrl = configVo.getParamVal(MemberManageConstants.mainUrl.name());
|
||||
String getzsjTokenUrl = configVo.getParamVal(MemberManageConstants.getzsjTokenUrl.name());
|
||||
String restzsjUserName = configVo.getParamVal(MemberManageConstants.restzsjUserName.name());
|
||||
String restzsjPassword = configVo.getParamVal(MemberManageConstants.restzsjPassword.name());
|
||||
String zsjloginName = configVo.getParamVal(MemberManageConstants.zsjloginName.name());
|
||||
// 调用接口查询主数据token
|
||||
String mainToken = ProtUtil.getToken(getzsjTokenUrl,restzsjUserName,restzsjPassword,zsjloginName);
|
||||
|
||||
switch (addOrUpdate){
|
||||
case "add":{
|
||||
System.out.println("新增");
|
||||
String param = organizationParamUtil.organizationAddParam(request,formDataVo,getNodeId(),configVo);
|
||||
log.info(param);
|
||||
context.setRequest(param);
|
||||
// 获取调用接口路径
|
||||
String memberOrganizationAddUrl = mainUrl+"/seeyon/rest/orgMember/saveMemberMain?token="+mainToken;
|
||||
JSONObject res = ProtUtil.doPost(param,memberOrganizationAddUrl);
|
||||
log.info(res.toString());
|
||||
context.setResponse(res.toString());
|
||||
// MemberOrganizationResponse mor = new MemberOrganizationResponse(res);
|
||||
// String resDatastr = mor.getData();
|
||||
JSONObject resDatastr = res.getJSONObject("data");
|
||||
// resDatastr = "{'param':'"+resDatastr+"'}";
|
||||
// JSONObject resDatajson = JSONObject.parseObject(resDatastr);
|
||||
// JSONArray successMsgs = resDatajson.getJSONArray("param");
|
||||
// JSONObject successMsg = successMsgs.getJSONObject(0);
|
||||
if(res.getInteger("code")==0){
|
||||
// JSONObject ent = successMsg.getJSONObject("ent");
|
||||
log.info("人员组织架构创建完成,人员名称为"+resDatastr.getString("name")+",ID为"+resDatastr.getString("id"));
|
||||
context.success("人员组织架构创建完成,人员名称为"+resDatastr.getString("name"),false);
|
||||
if("MemberEntryOrganizationNode".equals(getNodeId())|| "AccountOpeningOrganizationNode".equals(getNodeId())){
|
||||
formDataVo.getNewFieldDataMap().put("组织架构姓名", resDatastr.getString("id"));
|
||||
}
|
||||
formDataVo.getNewFieldDataMap().put("组织返回结果", "人员组织架构创建完成:人员名称为"+resDatastr.getString("name"));
|
||||
}else{
|
||||
// JSONObject ent = successMsg.getJSONObject("ent");
|
||||
// String msgInfo = successMsg.getString("msgInfo");
|
||||
String message = res.getString("message");
|
||||
// 判断当前参数是否存在问题
|
||||
String msg = "人员组织架构创建失败:"+message;
|
||||
|
||||
context.back(msg);
|
||||
formDataVo.getNewFieldDataMap().put("组织返回结果", msg);
|
||||
context.setErrMsg(msg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "update":{
|
||||
System.out.println("修改");
|
||||
String param = organizationParamUtil.organizationUpdateParam(request,formDataVo,getNodeId(),configVo);
|
||||
log.info(param);
|
||||
context.setRequest(param);
|
||||
// 查询当前人员是否存在
|
||||
JSONObject paramjson = JSONObject.parseObject(param);
|
||||
String memberId = paramjson.getString("id");
|
||||
// memberId = "4176737357362384888";
|
||||
String isExistUpdateUrl = mainUrl+"/seeyon/rest/orgMember/"+memberId+"?token="+mainToken;
|
||||
String isExistUpdate = ProtUtil.doGet(isExistUpdateUrl,new JSONObject());
|
||||
// 判断当前人员是否存在
|
||||
if(StringUtil.isNotEmpty(isExistUpdate)&&!"null".equals(isExistUpdate)){
|
||||
// 如果存在则执行修改操作
|
||||
String memberOrganizationUpdateUrl = mainUrl+"/seeyon/rest/orgMember/updateMemberMain?token="+mainToken;
|
||||
JSONObject res = ProtUtil.doPost(param,memberOrganizationUpdateUrl);
|
||||
log.info(res.toString());
|
||||
context.setResponse(res.toString());
|
||||
// JSONObject resjson = JSONObject.parseObject(res);
|
||||
// MemberOrganizationResponse mor = new MemberOrganizationResponse(res);
|
||||
if(res.getInteger("code")==0){
|
||||
String resDatastr = res.getString("data");
|
||||
JSONObject resDatajson = JSONObject.parseObject(resDatastr);
|
||||
log.info("人员组织架构修改完成:人员名称为"+resDatajson.getString("name")+",ID为"+resDatajson.getString("id"));
|
||||
context.success("人员组织架构修改完成:人员名称为"+resDatajson.getString("name"),false);
|
||||
formDataVo.getNewFieldDataMap().put("组织返回结果", "人员组织架构修改完成:人员名称为"+resDatajson.getString("name"));
|
||||
}else{
|
||||
String message = res.getString("message");
|
||||
log.info("人员组织架构修改失败:"+message);
|
||||
context.back("人员组织架构修改失败:"+message);
|
||||
formDataVo.getNewFieldDataMap().put("组织返回结果", "人员组织架构修改失败:"+message);
|
||||
context.setErrMsg(message);
|
||||
}
|
||||
}else{
|
||||
// 如果不存在则返回报错信息
|
||||
log.info("人员组织架构修改失败:当前人员未查询到组织架构数据,请检查。");
|
||||
context.back("人员组织架构修改失败:当前人员未查询到组织架构数据,请检查。");
|
||||
context.setErrMsg("人员组织架构修改失败:当前人员未查询到组织架构数据,请检查。");
|
||||
formDataVo.getNewFieldDataMap().put("组织返回结果", "人员组织架构修改失败:当前人员未查询到组织架构数据,请检查。");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
Thread.sleep(5000);
|
||||
return context;
|
||||
}
|
||||
|
||||
public abstract String getMethod();
|
||||
public abstract String getRequestType();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user