|
- 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
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-03-29 10:33
- /// 描 述:采购
- /// </summary>
- 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 视图功能
-
- /// <summary>
- /// 主页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Index()
- {
- return View();
- }
- /// <summary>
- /// 表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Form()
- {
- return View();
- }
- /// <summary>
- /// 开始采购表单页
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult StartForm()
- {
- return View();
- }
- /// <summary>
- /// 查看完成表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormView()
- {
- return View();
- }
- #endregion
-
- #region 获取数据
-
- /// <summary>
- /// 获取页面显示列表数据
- /// <summary>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = ass_PurchaseIBLL.GetPageList(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取表单数据
- /// <summary>
- /// <returns></returns>
- [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);
- }
- /// <summary>
- /// 获取表单数据
- /// <summary>
- /// <returns></returns>
- [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 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DeleteForm(string keyValue)
- {
- ass_PurchaseIBLL.DeleteEntity(keyValue);
- return Success("删除成功!");
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveForm(string keyValue, string strEntity, string strass_PurchaseItemList)
- {
- Ass_PurchaseEntity entity = strEntity.ToObject<Ass_PurchaseEntity>();
- entity.PStatus = 2;
- List<Ass_PurchaseItemEntity> ass_PurchaseItemList = strass_PurchaseItemList.ToObject<List<Ass_PurchaseItemEntity>>();
- 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<Ass_AssetsInfoItemApplyEntity>();
- 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 扩展数据
-
- /// <summary>
- /// 开始采购
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [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("保存成功!");
- }
-
- /// <summary>
- /// 根据采购状态获取采购列表数据
- /// <param name="pStatus">采购状态</param>
- /// <param name="queryJson">查询参数</param>
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetAss_PurchaseListByPStatus(int pStatus, string queryJson)
- {
- var data = ass_PurchaseIBLL.GetAss_PurchaseListByPStatus(pStatus, queryJson);
- return JsonResult(data);
- }
-
-
- #endregion
-
- }
- }
|