diff --git a/com/engine/tjbankSocket/impl/CWGLSocketExecute.java b/com/engine/tjbankSocket/impl/CWGLSocketExecute.java index 819233a..af0d927 100644 --- a/com/engine/tjbankSocket/impl/CWGLSocketExecute.java +++ b/com/engine/tjbankSocket/impl/CWGLSocketExecute.java @@ -2,14 +2,71 @@ 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); - paramMap.get(""); + 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("审批人不存在"); + } + } + }