using BLL; using Common; using Model; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Script.Serialization; using Json; using Lib; using System.Web.Mvc; namespace WMS.Areas.Business.Controllers { public class PurchaseAjaxController : AjaxPage { // GET: Business/PurchaseAjax public ActionResult GetPurchaseList() { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; IDALPurchase provider = new DALPurchase(); List entity = provider.GetList(models, ref pageInfo).ToList(); string json = JsonHelper.IListToJson(entity, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } // GET: Business/ErpInAjax public ActionResult LoadDetail() { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; List list = Session["TEMPDATA_CACHE_PURCHASE"] as List; //var lists = (from u in list // orderby u.CreateTime // select u).Skip(pageInfo.PageSize * (pageInfo.PageIndex - 1)).Take(pageInfo.PageSize); //IList mats = new List(); //IList matss = lists.ToList(); //foreach (PurchaseMat m in lists.ToList ) if (list != null) pageInfo.RowCount = list.Count; list = list.IsEmpty() ? new List() : ((from u in list orderby u.CreateTime select u).Skip(pageInfo.PageSize * (pageInfo.PageIndex - 1)).Take(pageInfo.PageSize)).ToList(); string json = JsonHelper.IListToJson(list, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult GetPurchaseDetail() { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; IDALPurchaseDetail detail = new DALPurchaseDetail(); List entity = detail.GetList(models, ref pageInfo).ToList(); string json = JsonHelper.IListToJson(entity, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult GetDetial() { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { //AjaxPurchaseMat models = new AjaxPurchaseMat(); //models.PurchaseNo = PurchaseNo; PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; IDALPurchaseDetail detail = new DALPurchaseDetail(); List entity = detail.GetList(models.PurchaseNo, ref pageInfo).ToList(); string json = JsonHelper.IListToJson(entity, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } /// /// 出库单选择物料 /// /// public ActionResult GetMatDetial() { try { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; models.DepartGuid = this.LoginDepartNum; IDALPurchaseDetail detail = new DALPurchaseDetail(); List entity = detail.GetList(models, ref pageInfo).ToList(); string json = JsonHelper.IListToJson(entity, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); return Content(this.ReturnJson.ToString()); } return Content(null); } catch (Exception ex) { WriteFileLog(ex.Message.ToString(), System.Reflection.MethodBase.GetCurrentMethod()); return Content(null); } } // GET: Business/ErpInAjax public ActionResult AddProduct() { var dd = Request["Entity"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { List list = Session["TEMPDATA_CACHE_PURCHASE"] as List; if (!list.IsEmpty()) { if (models.Operation == "Add") { if (!list.Exists(a => a.MatNo == models.MatNo)) { PurchaseMat pr = new PurchaseMat(); pr.MatNo = models.MatNo; pr.MatName = models.MatName; pr.PackFormat = models.PackFormat; pr.Unit = models.Unit; pr.Demo1 = models.Demo1; pr.Quant_Unit = models.Quant_Unit; pr.Quant_Total = models.Quant_Total; pr.Quant_Buy = models.Quant_Buy; pr.Demo = models.Demo; list.Add(pr); Session["TEMPDATA_CACHE_PURCHASE"] = list; ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } else { ReturnJson.AddProperty("Code", 2); ReturnJson.AddProperty("Message", "该物料已添加"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } } else if (models.Operation == "Eidt") { if (list.Exists(a => a.MatNo == models.MatNo)) { foreach (PurchaseMat pm in list) { if (pm.MatNo == models.MatNo) { pm.Quant_Unit = models.Quant_Unit; pm.Quant_Total = models.Quant_Total; pm.Quant_Buy = models.Quant_Buy; pm.BuyUser = models.BuyUser; pm.Demo = models.Demo; pm.Demo1 = models.Demo1; } } Session["TEMPDATA_CACHE_PURCHASE"] = list; ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "该物料更新成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } } } else { list = new List(); list.Add(models); Session["TEMPDATA_CACHE_PURCHASE"] = list; ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult DelProduct() { string dd = Request["MatNo"]; //ArrayList models = new JavaScriptSerializer().Deserialize(dd); //string[] list = (string[])models.ToArray(typeof(string)); if (!string.IsNullOrEmpty(dd)) { List listMat = Session["TEMPDATA_CACHE_PURCHASE"] as List; Predicate match1 = (PurchaseMat s) => { return s.MatNo == dd; }; listMat.RemoveAll(match1); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除物料成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult UpdateProduct() { string dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); ArrayList Matlist = new JavaScriptSerializer().Deserialize(models.List); string[] list = (string[])Matlist.ToArray(typeof(string)); if (!string.IsNullOrEmpty(dd)) { List listMat = Session["TEMPDATA_CACHE_PURCHASE"] as List; //List listMat1 = new List(); foreach (string str in Matlist) { foreach (PurchaseMat pm in listMat) { if (pm.MatNo == str) { pm.BuyUser = models.setBuyUser; } } } //Session["TEMPDATA_CACHE_INSTORDETAIL"] = null; Session["TEMPDATA_CACHE_PURCHASE"] = listMat; //listMat.up //Predicate match1 = (PurchaseMat s) => { return s.MatNo == dd; }; //listMat.RemoveAll(match1); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "更新物料成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult Add() { var dd = Request["Entity"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { List list = Session["TEMPDATA_CACHE_PURCHASE"] as List; IDALPurchase dalErp = new DALPurchase(); models.CreateUser = this.LoginUserCode; //models.CreateTime = "GetDate()"; //models.Statu = "ER01"; //models.Statu = "ER01"; models.AuditFlag = "AD01"; models.AuditUser = ""; //models.AuditTime = null; bool value = false; if (string.IsNullOrEmpty(models.PurchaseNo)) { value = dalErp.Add(models, list); if (value) { Session["TEMPDATA_CACHE_PURCHASE"] = null; ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "添加订单成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "添加订单失败"); } ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } else { value = dalErp.Update(models, list); if (value) { Session["TEMPDATA_CACHE_PURCHASE"] = null; ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "编辑订单成功"); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "编辑订单失败"); } ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult Delete() { string dd = Request["list"]; ArrayList models = new JavaScriptSerializer().Deserialize(dd); string[] list = (string[])models.ToArray(typeof(string)); if (models != null) { IDALPurchase dalErp = new DALPurchase(); bool value = false; value = dalErp.BatchDelete(list); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单失败"); } ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult Audite() { string dd = Request["ajaxdata"]; if (dd != null) { var models = new JavaScriptSerializer().Deserialize(dd); ArrayList Matlist = new JavaScriptSerializer().Deserialize(models.List); string[] list = (string[])Matlist.ToArray(typeof(string)); IDALPurchase dalErp = new DALPurchase(); bool value = false; value = dalErp.UpdateAudit(list, models.Operation, LoginUserCode); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单失败"); } ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult Close() { string dd = Request["list"]; ArrayList models = new JavaScriptSerializer().Deserialize(dd); string[] list = (string[])models.ToArray(typeof(string)); if (models != null) { IDALPurchase dalErp = new DALPurchase(); bool value = false; value = dalErp.UpdateClose(list, "ER03"); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除订单失败"); } ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult Auto(string PurchaseNo) { IDALPurchase provider = new DALPurchase(); IList value = provider.GetList(PurchaseNo).ToList(); StringBuilder sb = new StringBuilder(); JsonObject jsonObject = null; if (value != null) { foreach (Purchase svalue in value) { jsonObject = new JsonObject(); jsonObject.AddProperty("PurchaseNo", svalue.PurchaseNo); jsonObject.AddProperty("ItemNo", svalue.ItemNo); jsonObject.AddProperty("ItemName", svalue.ItemName); sb.Append(jsonObject.ToString() + "\n"); } } if (sb.Length == 0) { sb.Append("\n"); } return Content(sb.ToString()); } } }