package com.customization.meeting; import com.alibaba.fastjson.JSONObject; import com.engine.core.cfg.annotation.CommandDynamicProxy; import com.engine.core.interceptor.AbstractCommandProxy; import com.engine.core.interceptor.Command; import com.engine.meeting.cmd.meetingbase.NewMeetingCmd; import com.weaver.formmodel.util.DateHelper; import weaver.conn.RecordSet; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.TimeUtil; import weaver.general.Util; import weaver.hrm.User; import weaver.hrm.company.SubCompanyComInfo; import weaver.soa.workflow.request.MainTableInfo; import weaver.soa.workflow.request.Property; import weaver.soa.workflow.request.RequestInfo; import weaver.soa.workflow.request.RequestService; import java.util.HashMap; import java.util.Map; /** * @Classname CustomGetCalendarListCmd * @Description TODO() * @Author wanxq * @Date 2019年10月25日10:23:37 **/ @CommandDynamicProxy(target = NewMeetingCmd.class, desc="创建会议触发用车流程") public class CustomNewMeetingCmd extends AbstractCommandProxy> { @Override public Map execute(Command> targetCommand) { //获取到被代理对象 NewMeetingCmd newMeetingCmd = (NewMeetingCmd)targetCommand; //获取被代理对象的参数 Map params = newMeetingCmd.getParams(); //参数回写 //System.out.println("newmeeting params========="+params); //执行标准的业务处理 Map result = nextExecute(targetCommand); //对返回值做加工处理 User user = newMeetingCmd.getUser(); boolean status = (boolean) result.get("status"); String meetingid = (String) result.get("meetingid"); if(status){ RecordSet rs = new RecordSet(); String sfyc = (String) params.get("sfyc");//是否用车 if("1".equals(sfyc)){ String title = params.get("name")+"用车申请"; String creater = user.getUID()+""; String caller = (String) params.get("caller"); rs.execute(" select * from hrmresource where id="+caller); rs.next(); String subcompanyid = rs.getString("subcompanyid1"); //触发会议用车流程 Map requestMainMap = new HashMap(); requestMainMap.put("ycly","2"); requestMainMap.put("sqr",caller); if(!"".equals(subcompanyid)){ requestMainMap.put("sqdw",subcompanyid); } requestMainMap.put("sqrq", DateHelper.getCurrentDate()); int requestid = createWorkflow(requestMainMap,title,"531",creater,"0"); //System.out.println("car application requestid======"+requestid); } //新建建模数据,给会议管理员添加参会人员 String hrmSubCompanys = (String) params.get("hrmSubCompanys");//参会分部 //System.out.println("hrmSubCompanys========="+hrmSubCompanys); String name = (String) params.get("name");//会议名称 String currentdate = TimeUtil.getCurrentDateString(); String currenttime = TimeUtil.getOnlyCurrentTimeString(); if(!"".equals(hrmSubCompanys)){ String[] hrmSubCompanysArr = hrmSubCompanys.split(","); for(int i=0;i requestMainMap,String title,String workflowid,String creater,String isNextFlow){ String requestid = "-1"; RequestInfo requestInfo = new RequestInfo(); requestInfo.setCreatorid(creater);//创建人Id requestInfo.setWorkflowid(workflowid);//工作流Id requestInfo.setDescription(title);//请求标题 requestInfo.setIsNextFlow(isNextFlow); //主表字段 MainTableInfo mainTableInfo = new MainTableInfo(); Property[] propertyArray = new Property[requestMainMap.size()]; int p = 0; for (Map.Entry entry : requestMainMap.entrySet()){ String key = Util.null2String(entry.getKey()); String value = entry.getValue(); System.out.println("key:"+key+" value:"+value); if(value!=null || !"".equals(value)){ propertyArray[p] = new Property(); propertyArray[p].setName(key); propertyArray[p].setValue(value); p++; } } mainTableInfo.setProperty(propertyArray); requestInfo.setMainTableInfo(mainTableInfo); RequestService service = new RequestService(); try { requestid = service.createRequest(requestInfo);//创建请求id; }catch (Exception e) { new BaseBean().writeLog("创建流程异常:" + e); } return Integer.parseInt(requestid); } }