webservice 明细表处理

ht
qijirenjian 3 months ago
parent 2053671702
commit 22d020cd19

@ -2,9 +2,12 @@ package com.weaver.seconddev.interfaces.workflow.action;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.weaver.common.distribution.genid.IdGenerator;
import com.weaver.common.i18n.tool.util.I18nContextUtil; import com.weaver.common.i18n.tool.util.I18nContextUtil;
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
import com.weaver.common.base.entity.result.WeaResult; import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.mc.util.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.weaver.verupgrade.formmode.data.GetCubeBtnActionParam; import com.weaver.verupgrade.formmode.data.GetCubeBtnActionParam;
@ -73,10 +76,34 @@ public class UpdateSecLevelAndLockStatus implements EsbServerlessRpcRemoteInterf
boolean execute = rs.execute(sql); boolean execute = rs.execute(sql);
logger_b15f4fa5.error("execute == "+ execute ); logger_b15f4fa5.error("execute == "+ execute );
sql = "update ec_passport.dbo.user_lock_info set delete_type = 1 where user_id = " + ry + "and delete_type_type != 3 "; if(StringUtils.isNotEmpty(zhsd)){
logger_b15f4fa5.error("UpdateSecLevelAndLockStatus updatedelete_type == "+ sql ); if(zhsd.equals(0)){ //未锁定,删除所有锁定记录
boolean execute1 = rs.execute(sql); sql = "update ec_passport.dbo.user_lock_info set delete_type = 1 where user_id = " + ry + "and delete_type_type != 3 ";
logger_b15f4fa5.error("execute1 == "+ execute1 );
}else if(zhsd.equals(0)){//锁定,新增一条数据
sql = "SELECT COUNT (1) AS sd FROM eteams.dbo.employee a ,ec_passport.dbo.user_lock_info b " +
"WHERE a.id = " + ry +" AND a.user_id = b.user_id AND a.delete_type = 0 ";
boolean b1 = rs.executeQuery(sql);
if(rs.next()){
int sd = rs.getInt("sd");
if(sd > 0 ){
//有记录
}else{
sql = "INSERT INTO passport.user_lock_info (" +
"id, create_time, update_time, creator, delete_type, " +
"tenant_key, user_id, employee_id, overdue_time, user_status, lock_type" +
") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
Long id = IdGenerator.generate();
}
}
}
logger_b15f4fa5.error("UpdateSecLevelAndLockStatus updatedelete_type == "+ sql );
boolean execute1 = rs.execute(sql);
logger_b15f4fa5.error("execute1 == "+ execute1 );
}
ResourceComInfo rci = I18nContextUtil.getBean(ResourceComInfo.class); ResourceComInfo rci = I18nContextUtil.getBean(ResourceComInfo.class);
rci.updateResourceInfoCache(ry); rci.updateResourceInfoCache(ry);

@ -27,6 +27,8 @@ import com.weaver.verupgrade.soa.workflow.request.Cell;
import com.weaver.verupgrade.soa.workflow.request.DetailTable; import com.weaver.verupgrade.soa.workflow.request.DetailTable;
import com.weaver.verupgrade.soa.workflow.request.Row; import com.weaver.verupgrade.soa.workflow.request.Row;
//废弃
@org.springframework.stereotype.Service("workflow_action_YongGongXuQiuAction") @org.springframework.stereotype.Service("workflow_action_YongGongXuQiuAction")
public class YongGongXuQiuAction implements Action, EsbServerlessRpcRemoteInterface { public class YongGongXuQiuAction implements Action, EsbServerlessRpcRemoteInterface {
@ -47,184 +49,185 @@ public class YongGongXuQiuAction implements Action, EsbServerlessRpcRemoteInterf
} }
public WeaResult<Map<String, Object>> execute(Map<String, Object> requestInfoMap) { public WeaResult<Map<String, Object>> execute(Map<String, Object> requestInfoMap) {
logger_42aadd27.error("YongGongXuQiuAction start"); return null ;
Map<String, Object> weaverResultMap = new HashMap<>(); // logger_42aadd27.error("YongGongXuQiuAction start");
Long requestIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("requestid", -1))); // Map<String, Object> weaverResultMap = new HashMap<>();
Long userIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("userid", -1))); // Long requestIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("requestid", -1)));
RequestInfo request = requestInfoTemp.getRequestInfo(requestIdTemp, userIdTemp); // Long userIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("userid", -1)));
// int departmentId = Util.getIntValue(rs2.getString("id")); // RequestInfo request = requestInfoTemp.getRequestInfo(requestIdTemp, userIdTemp);
// String GWXL = "";//岗位序列 // // int departmentId = Util.getIntValue(rs2.getString("id"));
// String GWLX = "";//岗位类型 // // String GWXL = "";//岗位序列
// String PositionStatus = "0"; //是否新增岗位 // // String GWLX = "";//岗位类型
// RecordSet rs3 = new RecordSet(); // // String PositionStatus = "0"; //是否新增岗位
// rs3.executeSql("select * from HrmJobTitles where id="+XQGW); // // RecordSet rs3 = new RecordSet();
// if (!rs3.next()){ // // rs3.executeSql("select * from HrmJobTitles where id="+XQGW);
// PositionStatus = "1"; // // if (!rs3.next()){
// } // // PositionStatus = "1";
try { // // }
log.error("do action on request:" + request.getRequestid()); // try {
String requestid = request.getRequestid(); // log.error("do action on request:" + request.getRequestid());
// String lastoperator = request.getLastoperator(); // String requestid = request.getRequestid();
// String creater = request.getCreatorid(); //// String lastoperator = request.getLastoperator();
RecordSet rs = I18nContextUtil.getBean(RecordSet.class); //// String creater = request.getCreatorid();
// RecordSet rs2 = I18nContextUtil.getBean(RecordSet.class); // RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
// String workflowid = request.getWorkflowid(); //// RecordSet rs2 = I18nContextUtil.getBean(RecordSet.class);
// String maintable = ""; //// String workflowid = request.getWorkflowid();
// String sql = "select b.tablename from e10_common.dbo.wfp_base a,e10_common.dbo.form b where a.formid = b.id and a.id = " + workflowid; //// String maintable = "";
// logger_42aadd27.error("getMainTableInfo sql = " + sql); //// String sql = "select b.tablename from e10_common.dbo.wfp_base a,e10_common.dbo.form b where a.formid = b.id and a.id = " + workflowid;
// String createsqlString = "select id from eteams.dbo.employee as hrmresource where lastname ='" + creater + "'"; //// logger_42aadd27.error("getMainTableInfo sql = " + sql);
// String poolname = CONN_TYPE.workflow.getType(); //// String createsqlString = "select id from eteams.dbo.employee as hrmresource where lastname ='" + creater + "'";
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源 //// String poolname = CONN_TYPE.workflow.getType();
// boolean b = rs2.executeSql(createsqlString, poolname); // // TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
// logger_42aadd27.error("getMainTableInfo rs2.executeSql = " + b); //// boolean b = rs2.executeSql(createsqlString, poolname);
// rs2.next(); //// logger_42aadd27.error("getMainTableInfo rs2.executeSql = " + b);
// String createrId = rs2.getString("id"); //// rs2.next();
// String poolname_hy = CONN_TYPE.workflow.getType(); //// String createrId = rs2.getString("id");
// int departmentId = Util.getIntValue(rs2.getString("id")); //// String poolname_hy = CONN_TYPE.workflow.getType();
/* String creater = rs2.getString("departmentmark") + "_" + rs2.getString("lastname"); // // int departmentId = Util.getIntValue(rs2.getString("id"));
TODO E10sql使/使*/ // /* String creater = rs2.getString("departmentmark") + "_" + rs2.getString("lastname");
// boolean b1 = rs.executeSql(sql, poolname_hy); // TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源*/
// logger_42aadd27.error("getMainTableInfo rs.executeSql = " + b1); //// boolean b1 = rs.executeSql(sql, poolname_hy);
// while (rs.next()) { //// logger_42aadd27.error("getMainTableInfo rs.executeSql = " + b1);
// maintable = rs.getString("tablename"); //// while (rs.next()) {
//// maintable = rs.getString("tablename");
//// }
// // 需求部门
// String XQBM = "";
// // String GWXL = "";//岗位序列
// // String GWLX = "";//岗位类型
// // 需求岗位
// String XQGW = "";
// // 申请日期
// String SQRQ = "";
// // 需求人数
// String XQRS = "";
// // 希望报到期限
// String XWBDQX = "";
// // 增补方式
// String ZBFS = "";
// // 需求原因
// String XQYY = "";
// String DeptID = "";
// String positionID = "";
// // 离职补员
// String LZBY = "";
// // 人员调动替补
// String RYDD = "";
// // 新增岗位或人员
// String XZGWRY = "";
// // 人才储备
// String RCCB = "";
// // String PositionStatus = "0"; //是否新增岗位
// // 获取表单主字段信息
// Property[] properties = request.getMainTableInfo().getProperty();
// for (int i = 0; i < properties.length; i++) {
// // 主表数据
// // 字段名
// String name = properties[i].getName().toUpperCase();
// // 值
// String value = Util.null2String(properties[i].getValue());
// if (name.equals("XQBM")) {
// XQBM = value;
// String poolname_rh = CONN_TYPE.workflow.getType();
// // TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
// String sql1 = "select code from eteams.dbo.department as HrmDepartment where id =" + XQBM;
// logger_42aadd27.error("getMainTableInfo sql = " + sql1);
// rs.executeSql(sql1, poolname_rh);
// rs.next();
// DeptID = Util.null2String(rs.getString("departmentcode"));
// } else if (name.equals("XQGW")) {
// XQGW = value;
// String poolname_qe = CONN_TYPE.workflow.getType();
// // TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
// String sql1 = "select code from position as HrmJobTitles where id =" + XQGW;
// logger_42aadd27.error("getMainTableInfo sql = " + sql1);
// rs.executeSql(sql1, poolname_qe);
// rs.next();
// positionID = Util.null2String(rs.getString("jobtitlecode"));
// } else if (name.equals("SQRQ")) {
// SQRQ = value;
// SQRQ = SQRQ.substring(0, 10);
// } else if (name.equals("XWBDQX")) {
// XWBDQX = value;
// XWBDQX = XWBDQX.substring(0, 10);
// } else if (name.equals("LZBY")) {
// LZBY = value;
// } else if (name.equals("RYDD")) {
// RYDD = value;
// } else if (name.equals("XZGWRY")) {
// XZGWRY = value;
// } else if (name.equals("RCCB")) {
// RCCB = value;
// } else if (name.equals("XQRS")) {
// XQRS = value;
// } else if (name.equals("ZBFS")) {
// ZBFS = value;
// }
// logger_42aadd27.error(" YongGongXuQiuAction main:" + requestid + " " + name + " " + value);
// } // }
// 需求部门 // if (!"".equals(LZBY)) {
String XQBM = ""; // XQYY = LZBY;
// String GWXL = "";//岗位序列 // }
// String GWLX = "";//岗位类型 // if (!"".equals(RYDD)) {
// 需求岗位 // XQYY = RYDD;
String XQGW = ""; // }
// 申请日期 // if (!"".equals(XZGWRY)) {
String SQRQ = ""; // XQYY = XZGWRY;
// 需求人数 // }
String XQRS = ""; // if (!"".equals(RCCB)) {
// 希望报到期限 // XQYY = RCCB;
String XWBDQX = ""; // }
// 增补方式 // String ZBFS2 = "";
String ZBFS = ""; // if (ZBFS.equals("2")) {
// 需求原因 // ZBFS2 = "1";
String XQYY = ""; // } else {
String DeptID = ""; // ZBFS2 = "0";
String positionID = ""; // }
// 离职补员 // // RecordSet rs3 = new RecordSet();
String LZBY = ""; // // rs3.executeSql("select * from HrmJobTitles where id="+XQGW);
// 人员调动替补 // // if (!rs3.next()){
String RYDD = ""; // // PositionStatus = "1";
// 新增岗位或人员 // // }
String XZGWRY = ""; // try {
// 人才储备 // logger_42aadd27.error("YongGongXuQiuAction endPoint" );
String RCCB = ""; // // ApplyPositionFormWS(XQBM,XQGW,SQRQ,Integer.parseInt(XQRS),XWBDRQ,ZBFS2,XQYY1);
// String PositionStatus = "0"; //是否新增岗位 // // JobCodeToDeptFormWS(XQBM,XQGW,createrId,SQRQ);
// 获取表单主字段信息 // String endPoint = "http://10.6.2.12/hengtongws/HengtongWebService.asmx";
Property[] properties = request.getMainTableInfo().getProperty(); // String soapaction = "http://tempuri.org/";
for (int i = 0; i < properties.length; i++) { // Service service = new Service();
// 主表数据 // Call call1 = (Call) service.createCall();
// 字段名 // call1.setTargetEndpointAddress(new java.net.URL(endPoint));
String name = properties[i].getName().toUpperCase(); // call1.setOperationName(new QName(soapaction, "ApplyPositionFormWS"));
// 值 // call1.addParameter(new QName(soapaction, "DeptID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
String value = Util.null2String(properties[i].getValue()); // call1.addParameter(new QName(soapaction, "positionID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
if (name.equals("XQBM")) { // call1.addParameter(new QName(soapaction, "ApplyDate"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
XQBM = value; // call1.addParameter(new QName(soapaction, "PositionCount"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
String poolname_rh = CONN_TYPE.workflow.getType(); // call1.addParameter(new QName(soapaction, "ONDUTYDATE"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源 // call1.addParameter(new QName(soapaction, "INTERIOR"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
String sql1 = "select code from eteams.dbo.department as HrmDepartment where id =" + XQBM; // call1.addParameter(new QName(soapaction, "ReasonID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
logger_42aadd27.error("getMainTableInfo sql = " + sql1); // call1.setReturnType(new QName(soapaction, "ApplyPositionFormWS"), String.class);
rs.executeSql(sql1, poolname_rh); // call1.setUseSOAPAction(true);
rs.next(); // call1.setSOAPActionURI(soapaction + "ApplyPositionFormWS");
DeptID = Util.null2String(rs.getString("departmentcode")); // logger_42aadd27.error("DeptID:" + DeptID + "positionID" + positionID);
} else if (name.equals("XQGW")) { // String str = (String) call1.invoke(new Object[] { DeptID, positionID, SQRQ, XQRS, XWBDQX, ZBFS2, XQYY });
XQGW = value; // logger_42aadd27.error("str:" + str);
String poolname_qe = CONN_TYPE.workflow.getType(); // if (!str.equals("SUCCESS")) {
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源 // request.getRequestManager().setMessageid("100002");
String sql1 = "select code from position as HrmJobTitles where id =" + XQGW; // request.getRequestManager().setMessagecontent(str);
logger_42aadd27.error("getMainTableInfo sql = " + sql1); // return WeaResult.fail(500, "YongGongXuQiuActionstr"+ str, getResultMapForAction(weaverResultMap, "result",str, request.getRequestManager()));
rs.executeSql(sql1, poolname_qe); //
rs.next(); // }
positionID = Util.null2String(rs.getString("jobtitlecode")); // } catch (Exception e) {
} else if (name.equals("SQRQ")) { // logger_42aadd27.error("YongGongXuQiuAction catchErr:" + e.toString());
SQRQ = value; // return WeaResult.fail(500, "YongGongXuQiuAction err"+ e, getResultMapForAction(weaverResultMap, "result",e.getMessage(), request.getRequestManager()));
SQRQ = SQRQ.substring(0, 10); //
} else if (name.equals("XWBDQX")) { // }
XWBDQX = value; // return WeaResult.success(getResultMapForAction(weaverResultMap, "result", Action.SUCCESS, request.getRequestManager()));
XWBDQX = XWBDQX.substring(0, 10); // } catch (Exception e) {
} else if (name.equals("LZBY")) { // e.printStackTrace();
LZBY = value; // logger_42aadd27.error("YongGongXuQiuAction e: {}", e.getMessage());
} else if (name.equals("RYDD")) { // return WeaResult.fail(500, "YongGongXuQiuAction e {}"+ e, getResultMapForAction(weaverResultMap, "result",e.getMessage(), request.getRequestManager()));
RYDD = value; // }
} else if (name.equals("XZGWRY")) {
XZGWRY = value;
} else if (name.equals("RCCB")) {
RCCB = value;
} else if (name.equals("XQRS")) {
XQRS = value;
} else if (name.equals("ZBFS")) {
ZBFS = value;
}
logger_42aadd27.error(" YongGongXuQiuAction main:" + requestid + " " + name + " " + value);
}
if (!"".equals(LZBY)) {
XQYY = LZBY;
}
if (!"".equals(RYDD)) {
XQYY = RYDD;
}
if (!"".equals(XZGWRY)) {
XQYY = XZGWRY;
}
if (!"".equals(RCCB)) {
XQYY = RCCB;
}
String ZBFS2 = "";
if (ZBFS.equals("2")) {
ZBFS2 = "1";
} else {
ZBFS2 = "0";
}
// RecordSet rs3 = new RecordSet();
// rs3.executeSql("select * from HrmJobTitles where id="+XQGW);
// if (!rs3.next()){
// PositionStatus = "1";
// }
try {
logger_42aadd27.error("YongGongXuQiuAction endPoint" );
// ApplyPositionFormWS(XQBM,XQGW,SQRQ,Integer.parseInt(XQRS),XWBDRQ,ZBFS2,XQYY1);
// JobCodeToDeptFormWS(XQBM,XQGW,createrId,SQRQ);
String endPoint = "http://10.6.2.12/hengtongws/HengtongWebService.asmx";
String soapaction = "http://tempuri.org/";
Service service = new Service();
Call call1 = (Call) service.createCall();
call1.setTargetEndpointAddress(new java.net.URL(endPoint));
call1.setOperationName(new QName(soapaction, "ApplyPositionFormWS"));
call1.addParameter(new QName(soapaction, "DeptID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "positionID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "ApplyDate"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "PositionCount"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "ONDUTYDATE"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "INTERIOR"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.addParameter(new QName(soapaction, "ReasonID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.INOUT);
call1.setReturnType(new QName(soapaction, "ApplyPositionFormWS"), String.class);
call1.setUseSOAPAction(true);
call1.setSOAPActionURI(soapaction + "ApplyPositionFormWS");
logger_42aadd27.error("DeptID:" + DeptID + "positionID" + positionID);
String str = (String) call1.invoke(new Object[] { DeptID, positionID, SQRQ, XQRS, XWBDQX, ZBFS2, XQYY });
logger_42aadd27.error("str:" + str);
if (!str.equals("SUCCESS")) {
request.getRequestManager().setMessageid("100002");
request.getRequestManager().setMessagecontent(str);
return WeaResult.fail(500, "YongGongXuQiuActionstr"+ str, getResultMapForAction(weaverResultMap, "result",str, request.getRequestManager()));
}
} catch (Exception e) {
logger_42aadd27.error("YongGongXuQiuAction catchErr:" + e.toString());
return WeaResult.fail(500, "YongGongXuQiuAction err"+ e, getResultMapForAction(weaverResultMap, "result",e.getMessage(), request.getRequestManager()));
}
return WeaResult.success(getResultMapForAction(weaverResultMap, "result", Action.SUCCESS, request.getRequestManager()));
} catch (Exception e) {
e.printStackTrace();
logger_42aadd27.error("YongGongXuQiuAction e: {}", e.getMessage());
return WeaResult.fail(500, "YongGongXuQiuAction e {}"+ e, getResultMapForAction(weaverResultMap, "result",e.getMessage(), request.getRequestManager()));
}
} }
Map<String, Object> getResultMapForAction(Map<String, Object> map, String key, Object value, RequestManager requestManager) { Map<String, Object> getResultMapForAction(Map<String, Object> map, String key, Object value, RequestManager requestManager) {

@ -107,7 +107,8 @@ public class SecondUtil {
List<Long> formIdList = new ArrayList(); List<Long> formIdList = new ArrayList();
RecordSet rs = I18nContextUtil.getBean(RecordSet.class); RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
String poolname = CONN_TYPE.workflow.getType(); String poolname = CONN_TYPE.workflow.getType();
String sql = "select form_id from form_table where form_id in (select id from sub_form where form_id in (select relatekey from e10_core_business.dbo.wfp_relateform where workflowid = '"+workflowId+"'))"; String sql = "select form_id from form_table where form_id in (select id from e10_core_business.dbo.sub_form where form_id in (select relatekey from e10_core_business.dbo.wfp_relateform where workflowid = '"+workflowId+"'))";
log.error("getDetailFormId sql : " + sql);
rs.executeSql(sql,poolname); rs.executeSql(sql,poolname);
while (rs.next()){ while (rs.next()){
formIdList.add(Util.getLongValue(rs.getString("form_id"))); formIdList.add(Util.getLongValue(rs.getString("form_id")));

Loading…
Cancel
Save