|
|
|
package com.engine.tjbankSocket.impl;
|
|
|
|
|
|
|
|
import com.engine.tjbankSocket.SocketExecute;
|
|
|
|
import com.engine.util.XMLUtils;
|
|
|
|
import com.icbc.api.internal.apache.http.impl.cookie.S;
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
import weaver.general.Util;
|
|
|
|
import weaver.soa.workflow.request.RequestService;
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
public class CWGLSocketExecute implements SocketExecute {
|
|
|
|
@Override
|
|
|
|
public String execute(String param) {
|
|
|
|
Map<String, String> paramMap = XMLUtils.parseXMLToMap(param);
|
|
|
|
String oaTrvlBnsExpnsAcctNo = paramMap.get("oaTrvlBnsExpnsAcctNo");
|
|
|
|
String apprvrNo = paramMap.get("apprvrNo");
|
|
|
|
String flowStatus = paramMap.get("flowStatus");
|
|
|
|
String sgntrOpn = paramMap.get("sgntrOpn");
|
|
|
|
Map<String, String> resultMap = null;
|
|
|
|
int userid = 0;
|
|
|
|
try {
|
|
|
|
resultMap = getBeanByOAnum(oaTrvlBnsExpnsAcctNo,"formtable_main_39");
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
userid = getHrmidByWorkCode(apprvrNo);
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
String id = resultMap.get("id");
|
|
|
|
int requestid = Util.getIntValue(resultMap.get("requestid"));
|
|
|
|
RequestService requestService = new RequestService();
|
|
|
|
if ("0".equals(flowStatus)){
|
|
|
|
|
|
|
|
requestService.FlowNode(requestid,userid,sgntrOpn,"submit","");
|
|
|
|
}else {
|
|
|
|
boolean b = requestService.nextNodeByReject(requestid, userid, sgntrOpn);
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Map<String,String> getBeanByOAnum(String oaTrvlBnsExpnsAcctNo ,String tableName) throws Exception {
|
|
|
|
RecordSet recordSet = new RecordSet();
|
|
|
|
HashMap<String, String> resultMap = new HashMap<>();
|
|
|
|
String sql = "select * from "+tableName + " where djbh = ?";
|
|
|
|
recordSet.executeQuery(sql,oaTrvlBnsExpnsAcctNo);
|
|
|
|
if (recordSet.next()){
|
|
|
|
resultMap.put("id", Util.null2String(recordSet.getString("id")));
|
|
|
|
resultMap.put("requestid", Util.null2String(recordSet.getString("requestid")));
|
|
|
|
return resultMap;
|
|
|
|
}else{
|
|
|
|
throw new Exception("编号对应单据不存在");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getHrmidByWorkCode(String workcode) throws Exception {
|
|
|
|
RecordSet recordSet = new RecordSet();
|
|
|
|
String sql = "select id from Hrmresouce where workcode = ?";
|
|
|
|
recordSet.executeQuery(sql,workcode);
|
|
|
|
if (recordSet.next()){
|
|
|
|
return Util.getIntValue(recordSet.getString("id"));
|
|
|
|
}else {
|
|
|
|
throw new Exception("审批人不存在");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|