using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.AssetManagementSystem; using System.Web.Mvc; using System.Collections.Generic; using System; namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-03-29 10:33 /// 描 述:采购 /// public class Ass_PurchaseController : MvcControllerBase { private Ass_PurchaseIBLL ass_PurchaseIBLL = new Ass_PurchaseBLL(); private Ass_PurchaseApplyIBLL ass_PurchaseApplyIBLL = new Ass_PurchaseApplyBLL(); private Ass_PurchaseItemApplyIBLL ass_PurchaseItemApplyIBLL = new Ass_PurchaseItemApplyBLL(); private Ass_AssetsInfoApplyIBLL ass_AssetsInfoApplyIBLL = new Ass_AssetsInfoApplyBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { return View(); } /// /// 开始采购表单页 /// /// [HttpGet] public ActionResult StartForm() { return View(); } /// /// 查看完成表单页 /// /// [HttpGet] public ActionResult FormView() { return View(); } #endregion #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = ass_PurchaseIBLL.GetPageList(paginationobj, queryJson); var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var Ass_PurchaseData = ass_PurchaseIBLL.GetAss_PurchaseEntity(keyValue); var Ass_PurchaseItemData = ass_PurchaseIBLL.GetAss_PurchaseItemList(Ass_PurchaseData.PId); //采购单-获取采购申请流水号 var Ass_PurchaseApplyData = ass_PurchaseApplyIBLL.GetAss_PurchaseApplyEntity(Ass_PurchaseData.PAId); if (Ass_PurchaseApplyData != null) { Ass_PurchaseData.PACode = Ass_PurchaseApplyData.PACode; } //采购明细列表-获取采购申请明细 foreach (var item in Ass_PurchaseItemData) { var Ass_PurchaseItemApplyData = ass_PurchaseItemApplyIBLL.GetAss_PurchaseItemApplyEntity(item.PAIId); if (Ass_PurchaseItemApplyData != null) { item.PAIName = Ass_PurchaseItemApplyData.PAIName; item.PAIEName = Ass_PurchaseItemApplyData.PAIEName; item.PAITId = Ass_PurchaseItemApplyData.PAITId; } } var jsonData = new { Ass_Purchase = Ass_PurchaseData, Ass_PurchaseItem = Ass_PurchaseItemData, }; return Success(jsonData); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormDataByProcessId(string processId) { var Ass_PurchaseData = ass_PurchaseIBLL.GetEntityByProcessId(processId); var Ass_PurchaseItemData = ass_PurchaseIBLL.GetAss_PurchaseItemList(Ass_PurchaseData.PId); var jsonData = new { Ass_Purchase = Ass_PurchaseData, Ass_PurchaseItem = Ass_PurchaseItemData, }; return Success(jsonData); } #endregion #region 提交数据 /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { ass_PurchaseIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity, string strass_PurchaseItemList) { Ass_PurchaseEntity entity = strEntity.ToObject(); entity.PStatus = 2; List ass_PurchaseItemList = strass_PurchaseItemList.ToObject>(); ass_PurchaseIBLL.SaveEntity(keyValue, entity, ass_PurchaseItemList); //修改采购申请表的采购状态 var ass_PurchaseData = ass_PurchaseIBLL.GetAss_PurchaseEntity(keyValue); if (ass_PurchaseData != null) { if (!string.IsNullOrEmpty(ass_PurchaseData.PAId)) { var ass_PurchaseApplyEntity = ass_PurchaseApplyIBLL.GetAss_PurchaseApplyEntity(ass_PurchaseData.PAId); ass_PurchaseApplyEntity.PStatus = 2; ass_PurchaseApplyIBLL.SaveAss_PurchaseApplyEntity(ass_PurchaseApplyEntity.PAId, ass_PurchaseApplyEntity); } } //添加入库申请表数据、入库申请明细表数据 var ass_AssetsInfoApplyEntity = new Ass_AssetsInfoApplyEntity(); ass_AssetsInfoApplyEntity.AACode = "RKSQ_" + CommonHelper.CreateNo(); ass_AssetsInfoApplyEntity.AAPrice = 0; ass_AssetsInfoApplyEntity.AACreateTime = DateTime.Now; ass_AssetsInfoApplyEntity.PId = keyValue; ass_AssetsInfoApplyEntity.AAStatus = 0; ass_AssetsInfoApplyEntity.AAAssType = ass_PurchaseData.PAssType; ass_AssetsInfoApplyEntity.AACreateUserId = entity.PUserId; decimal aaprice = 0m; var ass_AssetsInfoItemApplyList = new List(); var ass_PurchaseItemData = ass_PurchaseIBLL.GetAss_PurchaseItemList(keyValue); foreach (var ass_PurchaseItem in ass_PurchaseItemData) { var ass_PurchaseItemApply = ass_PurchaseItemApplyIBLL.GetAss_PurchaseItemApplyEntity(ass_PurchaseItem.PAIId); var ass_AssetsInfoItemApply = new Ass_AssetsInfoItemApplyEntity(); ass_AssetsInfoItemApply.AAIName = ass_PurchaseItemApply.PAIName; ass_AssetsInfoItemApply.AAITId = ass_PurchaseItemApply.PAITId; ass_AssetsInfoItemApply.AAIEName = ass_PurchaseItemApply.PAIEName; ass_AssetsInfoItemApply.AAIPhoto = ass_PurchaseItemApply.PAIPhoto; ass_AssetsInfoItemApply.AAIContent = ass_PurchaseItemApply.PAIContent; ass_AssetsInfoItemApply.AAIModel = ass_PurchaseItem.PIActualModel; ass_AssetsInfoItemApply.AAIManufacturer = ass_PurchaseItem.PIActualManufacturer; ass_AssetsInfoItemApply.AAISupplierId = ass_PurchaseItemApply.PAISId; ass_AssetsInfoItemApply.AAISource = "GouRu"; ass_AssetsInfoItemApply.AAIPrice = ass_PurchaseItem.PIActualPrice; ass_AssetsInfoItemApply.AAIStock = ass_PurchaseItem.PIActualAmount; ass_AssetsInfoItemApply.AAIUse = ass_PurchaseItemApply.PAIUse; aaprice += Convert.ToDecimal(ass_PurchaseItem.PIActualPrice * ass_PurchaseItem.PIActualAmount); ass_AssetsInfoItemApply.PIId = ass_PurchaseItem.PIId; var hasdetail = false;//不生成资产明细 if (ass_PurchaseItem.PIActualAmount == (int)ass_PurchaseItem.PIActualAmount) { hasdetail = true; } ass_AssetsInfoItemApply.AAIHasDetail = hasdetail; ass_AssetsInfoItemApplyList.Add(ass_AssetsInfoItemApply); } ass_AssetsInfoApplyEntity.AAPrice = aaprice; ass_AssetsInfoApplyIBLL.SaveEntity("", ass_AssetsInfoApplyEntity, ass_AssetsInfoItemApplyList); return Success("保存成功!"); } #endregion #region 扩展数据 /// /// 开始采购 /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult StartPurchase(string keyValue, Ass_PurchaseEntity entity) { var ass_PurchaseEntity = ass_PurchaseIBLL.GetAss_PurchaseEntity(keyValue); ass_PurchaseEntity.PEstimateTime = entity.PEstimateTime; ass_PurchaseEntity.PStatus = 1; ass_PurchaseIBLL.SaveAss_PurchaseEntity(keyValue, ass_PurchaseEntity); //修改采购申请表的采购状态 if (!string.IsNullOrEmpty(ass_PurchaseEntity.PAId)) { var ass_PurchaseApplyEntity = ass_PurchaseApplyIBLL.GetAss_PurchaseApplyEntity(ass_PurchaseEntity.PAId); ass_PurchaseApplyEntity.PStatus = 1; ass_PurchaseApplyIBLL.SaveAss_PurchaseApplyEntity(ass_PurchaseApplyEntity.PAId, ass_PurchaseApplyEntity); } return Success("保存成功!"); } /// /// 根据采购状态获取采购列表数据 /// 采购状态 /// 查询参数 /// /// [HttpGet] [AjaxOnly] public ActionResult GetAss_PurchaseListByPStatus(int pStatus, string queryJson) { var data = ass_PurchaseIBLL.GetAss_PurchaseListByPStatus(pStatus, queryJson); return JsonResult(data); } #endregion } }