Пример #1
0
        public ActionResult Check(FormCollection collection)
        {
            string id = Request.QueryString["id"];//请假信息的主键
            //把审核后的信息发送给申请的人
            //先更新数据库的审核状态
            RenshiServiceSoapClient renshiService = new RenshiServiceSoapClient();

            RenshiService.HEX001TB hex001tb = new RenshiService.HEX001TB();
            hex001tb.id        = id;
            hex001tb.ex_date   = DateTime.Now;
            hex001tb.ck_remark = collection["ck_remark"];
            hex001tb.ck_flg    = collection["check"];
            DataTable dt = renshiService.CheckHEX001TB(hex001tb);

            if (dt.Rows.Count > 0)
            {
                //请假审核后,调用推送信息的函数
                string agentid = ConfigurationManager.AppSettings["AgentIdForRenshi"];
                SendMessageServiceSoapClient sendMessageService = new SendMessageServiceSoapClient();
                sendMessageService.QingJiaPushMessage(id, agentid, hex001tb.ck_flg, "check_succeed");
            }
            dt = null;
            dt = renshiService.SearchHEX001TB(hex001tb);
            Models.HEX001TB hEX001TB = new Models.HEX001TB();
            if (dt.Rows.Count > 0)
            {
                hEX001TB.emp_no    = dt.Rows[0]["emp_no"].ToString();
                hEX001TB.emp_nm    = dt.Rows[0]["emp_nm"].ToString();
                hEX001TB.entr_dt   = dt.Rows[0]["entr_dt"].ToString();
                hEX001TB.dept_nm   = dt.Rows[0]["dept_nm"].ToString();
                hEX001TB.ex_date   = dt.Rows[0]["ex_date"].ToString();
                hEX001TB.dilig_nm  = dt.Rows[0]["dilig_nm"].ToString();
                hEX001TB.ex_btime  = dt.Rows[0]["ex_btime"].ToString();
                hEX001TB.ex_etime  = dt.Rows[0]["ex_etime"].ToString();
                hEX001TB.ex_hh     = dt.Rows[0]["ex_hh"].ToString();
                hEX001TB.ex_remark = dt.Rows[0]["ex_remark"].ToString();
                hEX001TB.ck_flg    = dt.Rows[0]["ck_flg"].ToString();
                hEX001TB.ck_flg_nm = dt.Rows[0]["ck_flg_nm"].ToString();
                hEX001TB.ck_remark = dt.Rows[0]["ck_remark"].ToString();
            }
            return(View(hEX001TB));
        }
Пример #2
0
        public ActionResult Qingjia(FormCollection collection)
        {
            string emp_no = Request.QueryString["id"];//职员工号
            RenshiServiceSoapClient renshiService = new RenshiServiceSoapClient();
            DataTable dt     = renshiService.SearchUserinfo(emp_no);
            Dangan    dangan = new Dangan();

            if (dt.Rows.Count > 0)
            {
                dangan.Emp_no  = dt.Rows[0]["emp_no"].ToString();
                dangan.Emp_nm  = dt.Rows[0]["emp_nm"].ToString();
                dangan.Entr_dt = dt.Rows[0]["entr_dt"].ToString();
                dangan.Dept_nm = dt.Rows[0]["dept_nm"].ToString();
            }

            //把用户提交的请假申请insert到数据表中,然后接收返回的信息
            RenshiService.HEX001TB hex001tb = new RenshiService.HEX001TB();
            //生成一个随机串,用作主键
            string ss = System.Guid.NewGuid().ToString();
            string s2 = ss.Substring(24, 12);

            hex001tb.id        = s2;
            hex001tb.emp_no    = emp_no;
            hex001tb.ex_date   = Convert.ToDateTime(collection["ex_date"]);
            hex001tb.dilig_cd  = collection["combox_dilig"];
            hex001tb.ex_btime  = collection["ex_btime"];
            hex001tb.ex_etime  = collection["ex_etime"];
            hex001tb.ex_remark = collection["ex_remark"];
            hex001tb.ins_no    = emp_no;
            dt = null;
            dt = renshiService.AddHEX001TB(hex001tb);

            if (dt.Rows.Count > 0)
            {
                string msg_cd   = dt.Rows[0]["msg_cd"].ToString();
                string msg_text = dt.Rows[0]["msg_text"].ToString();
                //如果返回0,则说明保存成功,此时需要发送消息给管理员审核
                if (msg_cd == "0")
                {
                    //保存成功后发送信息给审核人员
                    string agentid    = ConfigurationManager.AppSettings["AgentIdForRenshi"];
                    string send_class = ConfigurationManager.AppSettings["PushMsgForQingJiaRenshi"];
                    SendMessageServiceSoapClient sendMessageService = new SendMessageServiceSoapClient();
                    Error error = new Error();
                    //推送请假审核信息给审核者
                    error = sendMessageService.QingJiaPushMessage(hex001tb.id, agentid, send_class, "insert_succeed");
                    //根据返回的信息来判断是否推送信息成功
                    if (error.errcode == 0) //推送成功
                    {
                        dangan.msg_cd   = msg_cd;
                        dangan.msg_text = msg_text;
                    }
                    else//推送失败,则要把登记的请假信息删除,并推送一条信息给申请的用户,告知推送失败了。
                    {
                        dangan.msg_cd   = error.errcode.ToString();
                        dangan.msg_text = error.errmsg;
                        //推送失败信息给请假申请者
                        sendMessageService.QingJiaPushMessage(hex001tb.id, agentid, send_class, "sending_failure");
                        //删除请假申请信息
                        renshiService.DeleteHEX001TB(hex001tb);
                    }
                }
            }
            return(View(dangan));
        }