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
}
}