using DIXWeb.Business.GlobalM;
using DIXWeb.DataRepository;
using DIXWeb.Entity.GlobalM;
using DIXWeb.Entity.Power;
using DIXWeb.Entity.Workflow;
using DIXWeb.Util;
using System;
using System.Collections.Generic;
using System.IO;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;
namespace DIXWeb.Web
{
public class WorkListController : BaseMvcController
{
WorkListBusiness _workListBusiness = new WorkListBusiness();
UserBusiness _userBusiness = new UserBusiness();
#region ÊÓͼ¹¦ÄÜ
public ActionResult Index(int vt)
{
ViewData["vt"] = vt;
return View();
}
public ActionResult Default()
{
return View();
}
public ActionResult WorkListLayout(int vt)
{
ViewData["vt"] = vt;
return View();
}
public ActionResult WorkListHisLayout(int vt)
{
ViewData["vt"] = vt;
return View();
}
public ActionResult BomApplyForm(int id, string bizdataids)
{
var theData = _workListBusiness.GetWorkListInst(id, bizdataids);
return View(theData);
}
public ActionResult GetWorkListInstNew(int instid, string billno, int btid, string viewName)
{
var theData = _workListBusiness.GetWorkListInstNew(instid, billno, btid);
return View(viewName, theData);
}
public ActionResult Form(int id)
{
var theData = id.IsNullOrEmpty() ? new WorkList() : _workListBusiness.GetWorkListInst(id, "");
return View(theData);
}
#endregion
#region »ñÈ¡Êý¾Ý
///
/// »ñÈ¡Êý¾ÝÁбí
///
/// ²éѯÀàÐÍ
/// ¹Ø¼ü×Ö
///
public ActionResult GetDataList(int viewType, string subject, string billno, Pagination pagination)
{
var dataList = _workListBusiness.GetDataList(viewType, subject, billno, pagination);
return Content(pagination.BuildTableResult_DataGrid(dataList).ToJson());
}
#endregion
#region Ìá½»Êý¾Ý
public ActionResult AuditBill(string ids)
{
return Content(_workListBusiness.HandleBill(ids, 1).ToJson());
}
public ActionResult RejectBill(string ids)
{
return Content(_workListBusiness.HandleBill(ids, 0).ToJson());
}
///
/// ±£´æ
///
/// ±£´æµÄÊý¾Ý
public ActionResult SaveData(WorkListModel theData)
{
ResultMessage rm = null;
if (theData.Id < 1)
{
theData.Id = -1;
rm = _workListBusiness.AddData(theData);
}
else
{
rm = _workListBusiness.UpdateData(theData);
}
return JsonContent(rm.ToJson());
}
///
/// ±£´æ
///
/// ±£´æµÄÊý¾Ý
public ActionResult SubmitBill(WorkListModel theData)
{
ResultMessage rm = null;
rm = _workListBusiness.SubmitBill(theData);
return JsonContent(rm.ToJson());
}
///
/// ɾ³ýÊý¾Ý
///
/// ɾ³ýµÄÊý¾Ý
public ActionResult DeleteData(string ids)
{
_workListBusiness.DeleteData(ids.ToList());
return Success("ɾ³ý³É¹¦£¡");
}
#endregion
public ActionResult MyNeedDealt()
{
return View();
}
public ActionResult GetMyNeedDealt(string Code, int page, int rows)
{
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
Receive receive = this._workListBusiness.GetMyNeedDealt(Code, ui.Id, page, rows);
return GetResultMax(receive);
}
public ActionResult ApproveAgree(int[] BillflowIdArr, string Remark,string AppendixUrl = "")
{
Receive record = null;
try
{
DateTime now = DateTime.Now;
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
record = this._workListBusiness.ApproveAgree(BillflowIdArr, ui.Id, Remark, AppendixUrl);
}
catch (Exception ex)
{
record = new Receive()
{
Code = 500,
Message = ex.Message
};
}
return Json(record);
}
public ActionResult ApproveAgreeAll(string Remark, string AppendixUrl = "")
{
Receive record = null;
try
{
DateTime now = DateTime.Now;
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
record = this._workListBusiness.ApproveAgreeAll(ui.Id, Remark, AppendixUrl);
}
catch (Exception ex)
{
record = new Receive()
{
Code = 500,
Message = ex.Message
};
}
return Json(record);
}
public ActionResult ApproveRefuse(int[] BillflowIdArr, string Remark)
{
Receive record = null;
try
{
DateTime now = DateTime.Now;
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
record = this._workListBusiness.ApproveRefuse(BillflowIdArr, ui.Id, Remark);
}
catch (Exception ex)
{
record = new Receive()
{
Code = 500,
Message = ex.Message
};
}
return Json(record);
}
public ActionResult ApproveKeepRemart(int[] BillflowIdArr, string Remark)
{
Receive record = null;
try
{
DateTime now = DateTime.Now;
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
record = this._workListBusiness.ApproveKeepRemart(BillflowIdArr, ui.Id, Remark);
}
catch (Exception ex)
{
record = new Receive()
{
Code = 500,
Message = ex.Message
};
}
return Json(record);
}
public ActionResult GetBillProcess(int BillId)
{
Receive record = null;
try
{
List list = this._workListBusiness.GetBillProcess(BillId);
record = new Receive()
{
Code = 200,
Message = "SUCCESS",
total = list.Count,
rows = list,
};
}
catch (Exception ex)
{
record = new Receive()
{
Code = 500,
Message = ex.Message
};
}
return Json(record);
}
public ActionResult MyApproved()
{
return View();
}
public ActionResult GetMyApproved(string Code, int page, int rows)
{
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
Receive receive = this._workListBusiness.GetMyApproved(Code, ui.Id, page, rows);
return Json(receive);
}
public ActionResult InRepair()
{
return View();
}
public ActionResult GetInRepair(string Code, int page, int rows)
{
UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
Receive receive = this._workListBusiness.GetInRepair(Code, ui.Id, page, rows);
return Json(receive);
}
public ActionResult UploadAppendix(HttpPostedFileBase file)
{
Receive receive = new Receive();
if (file == null)
{
receive.Code = 200;
receive.Message = "";
}else if (file.ContentLength <= 0) {
receive.Code = 200;
receive.Message = "";
}
else
{
DateTime now = DateTime.Now;
string path = Server.MapPath("~/Appendix/") + now.ToString("yyyyMMdd") + "/";
string fileName = now.ToString("HHmmssffffff");
string extension = Path.GetExtension(file.FileName).ToString().ToLower();//´øСÊýµã.xls
try
{
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
var fullPath = path + fileName + extension;
file.SaveAs(fullPath);
receive.Code = 200;
receive.Message = "/Appendix/" + now.ToString("yyyyMMdd") + "/" + fileName + extension;
}
catch (Exception ex)
{
receive.Code = 404;
receive.Message = ex.Message;
}
}
return Json(receive);
}
public ActionResult AskForLeave() {
return View();
}
public ActionResult GetUserRoleInfo() {
Receive receive = null;
if (Util.SessionHelper.Session["UserInfo"] == null)
{
receive = new Receive()
{
Code = 500,
Message = "Session[UserInfo]Ϊ¿Õ£¬ÎÞ·¨¼ÓÔØÊý¾Ý"
};
}
else
{
string userCode = (Util.SessionHelper.Session["UserInfo"] as UserInfo).UserNo;
receive = _userBusiness.GetUserRoleInfo(userCode);
}
return Json(receive);
}
public ActionResult UpdateUserStatu(int UserStatu)
{
Receive receive = null;
if (Util.SessionHelper.Session["UserInfo"] == null)
{
receive = new Receive()
{
Code = 500,
Message = "Session[UserInfo]Ϊ¿Õ£¬ÎÞ·¨¼ÓÔØÊý¾Ý"
};
}
else
{
string userCode = (Util.SessionHelper.Session["UserInfo"] as UserInfo).UserNo;
receive = _userBusiness.UpdateUserStatu(userCode, UserStatu);
}
return Json(receive);
}
private ContentResult GetResultMax(Receive receive) {
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
ContentResult result = new ContentResult
{
Content = serializer.Serialize(receive),
ContentType = "application/json"
};
return result;
}
}
}
//5105955045 ÕÅС¶« 5105955047