package weaver.interfaces.htsc.hthy.action;

import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.hthy.MeetingSmsNotice;
import weaver.soa.workflow.request.RequestInfo;

import java.util.HashMap;
import java.util.Map;


/**
 * 说明
 * 修改时
 * 类名要与文件名保持一致
 * class文件存放位置与路径保持一致。
 * 请把编译后的class文件，放在对应的目录中才能生效
 * 注意 同一路径下java名不能相同。
 * @author Administrator
 *
 */
public class MeetingNoticeAction extends AbstractModeExpandJavaCodeNew {

    
    /**
     * 执行模块扩展动作
     * @param param
     *  param包含(但不限于)以下数据
     *  user 当前用户
     *  importtype 导入方式(仅在批量导入的接口动作会传输) 1 追加，2覆盖,3更新，获取方式(int)param.get("importtype")
     *  导入链接中拼接的特殊参数(仅在批量导入的接口动作会传输)，比如a=1，可通过param.get("a")获取参数值
     *  页面链接拼接的参数，比如b=2,可以通过param.get("b")来获取参数
     * @return
     */
    public Map<String, String> doModeExpand(Map<String, Object> param) {
        Map<String, String> result = new HashMap<String, String>();
        try {
            User user = (User)param.get("user");
            int billid = -1;//数据id
            int modeid = -1;//模块id
            RequestInfo requestInfo = (RequestInfo)param.get("RequestInfo");
            if(requestInfo!=null){
                billid = Util.getIntValue(requestInfo.getRequestid());
                modeid = Util.getIntValue(requestInfo.getWorkflowid());
                if(billid>0&&modeid>0){
                    //发送会议提醒
                    MeetingSmsNotice smsNotice = new MeetingSmsNotice();
                    smsNotice.smsNotice(String.valueOf(billid));

                    RecordSet rs = new RecordSet();
                    ModeRightInfo modeRightInfo = new ModeRightInfo();
                    String hycbry = "" ;
                    String modedatacreater = "" ;
                    String sql = " select hycbry,modedatacreater from uf_hywh where id="+billid;
                    rs.execute(sql);
                    if(rs.next()){
                        hycbry = Util.null2String(rs.getString("hycbry"));
                        modedatacreater = Util.null2String(rs.getString("modedatacreater"));
                    }

                    if(!"".equals(hycbry)){
                        String hycbryzczh = JAVATools.GetZctogid(hycbry);
                        sql = " update uf_hywh set cbrzczh='"+hycbryzczh+"' where id="+billid;
                        boolean flag = rs.executeUpdate(sql);
                        if(flag){
                            modeRightInfo.rebuildModeDataShareByEdit(Util.getIntValue(modedatacreater),modeid,billid);//编辑时重
                        }
                    }
                }
            }
        } catch (Exception e) {
            result.put("errmsg","自定义出错信息");
            result.put("flag", "false");
        }
        return result;
    }

}