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 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 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 getBeanByOAnum(String oaTrvlBnsExpnsAcctNo ,String tableName) throws Exception { RecordSet recordSet = new RecordSet(); HashMap 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("审批人不存在"); } } }