You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haojing/classbean/com/engine/meeting/qc711359/cmd/TurnHandleMeetingTaskCmd.java

237 lines
8.1 KiB
Java

package com.engine.meeting.qc711359.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import weaver.soa.workflow.request.RequestInfo;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestService;
import java.util.HashMap;
import java.util.Map;
/*
*
*
*/
public class TurnHandleMeetingTaskCmd extends AbstractCommonCommand<Map<String, Object>> {
/**
*
* @param user
* @param params
*/
public TurnHandleMeetingTaskCmd(User user, Map<String, Object> params){
this.user=user;
this.params=params;
}
/**
*
* @return
*/
@Override
public BizLogContext getLogContext() {
return null;
}
/**
*
* @param commandContext
* @return
*/
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> ret = new HashMap<String, Object>();
RecordSet recordSet = new RecordSet();
RecordSet record = new RecordSet();
String userId = String.valueOf(user.getUID()); //当前用户Id
//String meetingid=Util.null2String(params.get("meetingid"));//会议id
String decisionid=Util.null2String(params.get("id"));//会议任务id
String ismobile=Util.null2String(params.get("ismobile"));//会议任务id
recordSet.writeLog("===============会议任务转督办功能参数decisionid="+decisionid);
try{
String workflowId = recordSet.getPropValue("QC711359","workflowId");//流程id
String createid = recordSet.getPropValue("QC711359","createid");//创建人id
String rwmc = recordSet.getPropValue("QC711359","rwmc");//任务名称
String rwms = recordSet.getPropValue("QC711359","rwms");//任务描述
String dbrwly = recordSet.getPropValue("QC711359","dbrwly");//督办任务来源(会议类型为三重一大的来源为’三重一大‘,其他的为’会议‘)
String hyzjr = recordSet.getPropValue("QC711359","hyzjr");//会议召集人
String chld = recordSet.getPropValue("QC711359","chld");//参会领导
String chry = recordSet.getPropValue("QC711359","chry");//参会人员
String hyxzr = recordSet.getPropValue("QC711359","hyxzr");//会议协助人
String hyrwzrr = recordSet.getPropValue("QC711359","hyrwzrr");//会议任务责任人
String hyrwjcr = recordSet.getPropValue("QC711359","hyrwjcr");//会议任务检查人
String fj = recordSet.getPropValue("QC711359","fj");//附件
String source1 = recordSet.getPropValue("QC711359","source1");//会议
String source2 = recordSet.getPropValue("QC711359","source2");//三重一大
String meet_chld = recordSet.getPropValue("QC711359","meetingchld");//会议信息,参会领导字段
String meet_xzr = recordSet.getPropValue("QC711359","xzr");//会议信息,协助人
String type = recordSet.getPropValue("QC711359","meetingtype");//会议类型id三重一大
String meetfj = recordSet.getPropValue("QC711359","meetfj");//新增的会议附件字段
String kssj = recordSet.getPropValue("QC711359","kssj");//开始日期
String jssj = recordSet.getPropValue("QC711359","jssj");//结束日期
if(!"".equals(workflowId)&&!"".equals(decisionid) ){
RequestInfo ri = new RequestInfo();
MainTableInfo mi = new MainTableInfo();
Property pp = null;
ri.setIsNextFlow("1"); //是否创建后流转流程. 0:不流转. 1:流转
ri.setWorkflowid(workflowId); //流程ID
ri.setCreatorid(createid); //创建人
ri.setRequestlevel("0"); //紧急程度
ri.setRemindtype("0"); //消息提醒类型
String meetingid="";
record.executeQuery("select * from MEETING_DECISION where id = ? ", decisionid);
if(record.next()){
meetingid = record.getString("meetingid");
String hrmid01 = record.getString("hrmid01");//决议执行人
pp = new Property();
pp.setName(hyrwzrr);
pp.setValue(hrmid01);
mi.addProperty(pp);
String hrmid02 = record.getString("hrmid02");//检查人
pp = new Property();
pp.setName(hyrwjcr);
pp.setValue(hrmid02);
mi.addProperty(pp);
String begindate = record.getString("begindate");
pp = new Property();
pp.setName(kssj);
pp.setValue(begindate);
mi.addProperty(pp);
String enddate = record.getString("enddate");
pp = new Property();
pp.setName(jssj);
pp.setValue(enddate);
mi.addProperty(pp);
}
if(!"".equals(meetingid)){
recordSet.executeQuery("select * from meeting where id = ?", meetingid);
if(recordSet.next()){
String meetingName = recordSet.getString("name");
String desc_n = recordSet.getString("desc_n");
pp = new Property();
pp.setName(rwms);
pp.setValue(desc_n);
mi.addProperty(pp);
ri.setDescription(SystemEnv.getHtmlLabelName(514003,user.getLanguage())+SystemEnv.getHtmlLabelName(2103,user.getLanguage())+""+meetingName);
pp = new Property();
pp.setName(rwmc);
pp.setValue(meetingName);
mi.addProperty(pp);
String meetingtype = recordSet.getString("meetingtype");
if(type.equals(meetingtype)){
meetingtype = source2;
}else{
meetingtype = source1;
}
pp = new Property();
pp.setName(dbrwly);
pp.setValue(meetingtype);
mi.addProperty(pp);
String caller = recordSet.getString("caller");
pp = new Property();
pp.setName(hyzjr);
pp.setValue(caller);
mi.addProperty(pp);
String meet_chldTemp = recordSet.getString(""+meet_chld+"");
pp = new Property();
pp.setName(chld);
pp.setValue(meet_chldTemp);
mi.addProperty(pp);
String meet_xzrTemp = recordSet.getString(""+meet_xzr+"");
//record.writeLog("============meet_xzrTemp = "+meet_xzrTemp);
pp = new Property();
pp.setName(hyxzr);
pp.setValue(meet_xzrTemp);
mi.addProperty(pp);
String hrmmembers = recordSet.getString("hrmmembers");
pp = new Property();
pp.setName(chry);
pp.setValue(hrmmembers);
mi.addProperty(pp);
String decisionatchids = recordSet.getString("decisionatchids");
String accessorys = recordSet.getString("accessorys");
String fj1 = recordSet.getString(""+meetfj+"");
if("".equals(accessorys)){
accessorys = fj1;
}else{
accessorys += ","+fj1;
}
pp = new Property();
pp.setName(fj);
pp.setValue(decisionatchids);
mi.addProperty(pp);
}
}
ri.setMainTableInfo(mi);
int newrequestid = Util.getIntValue(new RequestService().createRequest(ri), 0);
//ret.put("newrequestid", newrequestid);
record.writeLog("============会议同步流程的idnewrequestid = "+newrequestid);
if(newrequestid>0){
if("1".equals(ismobile)){
ret.put("ret", true);
}else{
ret.put("status", true);
}
//ret.put("msg", "已转督办");
record.executeUpdate("update MEETING_DECISION set remark = '1' where id = ? ", decisionid);
record.writeLog("会议信息同步流程成功");
}else{
if("1".equals(ismobile)){
ret.put("ret", false);
}else{
ret.put("status", false);
}
record.executeUpdate("update MEETING_DECISION set remark = '0' where id = ? ", decisionid);
record.writeLog("会议同步流程失败:"+newrequestid);
}
}else{
if("1".equals(ismobile)){
ret.put("ret", false);
}else{
ret.put("status", false);
}
//ret.put("msg", "决议任务id或者流程id为空");
}
}catch(Exception e){
if("1".equals(ismobile)){
ret.put("ret", false);
}else{
ret.put("status", false);
}
e.printStackTrace();
//ret.put("msg", "转办失败");
}
return ret;
}
}