2025-04-29 10:51:23 +08:00

142 lines
4.9 KiB
C#

using MyCode.Project.Domain.Message.Act.PurchaseOrder;
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.PurchaseOrder;
using MyCode.Project.Domain.Message.Request.User;
using MyCode.Project.Domain.Message.Response.PurchaseOrder;
using MyCode.Project.Infrastructure.Cache;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Exceptions;
using MyCode.Project.Infrastructure.Extensions;
using MyCode.Project.Repositories.Common;
using MyCode.Project.Services;
using System.Collections.Generic;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Admin.Controllers
{
/// <summary>
/// 采购订单相关
/// </summary>
public class PurchaseOrderController : BaseAdminController
{
private IPurchaseOrderService _purchaseOrderService;
/// <summary>
///
/// </summary>
/// <param name="purchaseOrderService"></param>
public PurchaseOrderController(IPurchaseOrderService purchaseOrderService
)
{
_purchaseOrderService = purchaseOrderService;
}
#region GetPageList()
/// <summary>
/// 采购订单分页列表查询
/// </summary>
/// <param name="pagedSearch"></param>
/// <returns></returns>
[HttpPost]
public PageResult<PurchaseOrderPageList> GetPageList(PagedSearch<PurchaseOrderPageSearch> pagedSearch)
{
return _purchaseOrderService.GetPageList(pagedSearch, this.CurrentLogin);
}
#endregion
#region GetPurchaseOrderItemList(FID获取明细列表)
/// <summary>
/// 根据采购订单FID获取明细列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost]
public List<PurchaseOrderItemList> GetPurchaseOrderItemList(PurchaseOrderItemSearch search)
{
return _purchaseOrderService.GetPurchaseOrderItemList(search, this.CurrentLogin);
}
#endregion
#region BatchSetChengNuoJiaoQi()
/// <summary>
/// 批量修改供应商承诺交期字段
/// </summary>
/// <param name="updateList"></param>
[HttpPost]
public void BatchSetChengNuoJiaoQi(List<UpdateTime> updateList)
{
if (this.CurrentLogin.RoleType == 1)
{
throw new BaseException("管理员只能查看数据");
}
_purchaseOrderService.BatchSetChengNuoJiaoQi(updateList, this.CurrentLogin.SupplierId);
}
#endregion
#region BatchSetNewChengNuoJiaoQi()
/// <summary>
/// 批量修改供应商承诺最新交期字段
/// </summary>
/// <param name="updateList"></param>
[HttpPost]
public void BatchSetNewChengNuoJiaoQi(List<UpdateTime> updateList)
{
if (this.CurrentLogin.RoleType == 1)
{
throw new BaseException("管理员只能查看数据");
}
_purchaseOrderService.BatchSetNewChengNuoJiaoQi(updateList, this.CurrentLogin.SupplierId);
}
#endregion
#region BatchAddInvoiceOrder()
/// <summary>
/// 选中明细生成发货通知单
/// </summary>
/// <param name="updateList"></param>
[HttpPost]
public string BatchAddInvoiceOrder(AddOrder act)
{
if (this.CurrentLogin.RoleType == 1)
{
throw new BaseException("管理员只能查看数据");
}
return _purchaseOrderService.BatchAddInvoiceOrder(act, this.CurrentLogin);
}
#endregion
#region AddOrderFromKingDee
/// <summary>
/// 抓取金蝶采购订单
/// </summary>
/// <exception cref="BaseException"></exception>
[HttpGet]
public void AddOrderFromKingDee()
{
if (this.CurrentLogin.RoleType == 0)
{
SystemCache systemCache = new SystemCache();
string key = "AddOrderFromKingDee" + this.CurrentLogin.SupplierId;
var kk = systemCache.Exists(key);
if (!kk)
{
systemCache.Set(key, 1, new System.TimeSpan(0, 5, 0));
_purchaseOrderService.AddOrderFromKingDee(this.CurrentLogin.SupplierId);
}
else
{
throw new BaseException("每获取一次数据需要间隔5分钟");
}
}
else
{
throw new BaseException("管理员只能查看数据");
}
}
#endregion
}
}