dengjunjie
2025-10-24 c42731f080a4873e298bfe8489b47993432d8404
优化权限配置
已修改6个文件
53 ■■■■ 文件已修改
新建文件夹/WIDESEA_WMSServer/ClassLibrary1/ITacticsService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/TacticsService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_Model/Models/WMSInfo/Dt_Tactics.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary1/ITacticsService.cs
@@ -4,6 +4,7 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Model.Models;
@@ -12,6 +13,6 @@
{
    public interface ITacticsService : IService<Dt_Tactics>
    {
        IRepository<Dt_Tactics> Repository { get; }
    }
}
н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary2/TacticsService.cs
@@ -22,6 +22,6 @@
        {
        }
        public IRepository<Dt_Tactics> Repository => BaseDal;
    }
}
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_Model/Models/WMSInfo/Dt_Tactics.cs
@@ -55,7 +55,7 @@
        /// <summary>
        /// æ•´ä»¶å…ˆå‡º
        /// </summary>
        [Description("整件先出")]
        WholePieceComesFirst,
        //[Description("整件先出")]
        //WholePieceComesFirst,
    }
}
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs
@@ -13,6 +13,7 @@
using WIDESEA_Common;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
@@ -41,8 +42,9 @@
        private readonly IDeliveryOrderDetailServices _deliveryOrderDetailServices;
        private readonly ISupplyTaskService _supplyTaskService;
        private readonly ICabinOrderServices _cabinOrderServices;
        private readonly ITacticsService _tacticsService;
        public IRepository<Dt_DeliveryOrder> Repository => BaseDal;
        public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices) : base(BaseDal)
        public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices, ITacticsService tacticsService) : base(BaseDal)
        {
            _basicService = basicService;
            _unitOfWorkManage = unitOfWorkManage;
@@ -51,6 +53,7 @@
            _inventory_BatchServices = inventory_BatchServices;
            _inventoryInfoService = inventoryInfoService;
            _cabinOrderServices = cabinOrderServices;
            _tacticsService = tacticsService;
        }
        public WebResponseContent GetUpstreamOutOrder()
        {
@@ -336,6 +339,7 @@
            WebResponseContent webResponseContent = new WebResponseContent();
            try
            {
                Dt_Tactics tactics = _tacticsService.Repository.QueryFirst(x => x.TacticeName == "出库策略");
                if (outorder.warehouse_no == WarehouseEnum.麻精库.ObjToInt().ToString("000") || outorder.warehouse_no == WarehouseEnum.冷冻库.ObjToInt().ToString("000"))
                {
                    #region æ·»åŠ å‡ºåº“å•
@@ -350,6 +354,7 @@
                        OutStatus = "新建",
                        Details = outorder.details.Select(d => new Dt_DeliveryOrderDetail
                        {
                            Reservoirarea = outorder.warehouse_no,
                            Goods_no = d.goods_no,
                            Order_qty = Math.Abs(d.order_qty), // å‡ºåº“数量转为正数
                            Batch_num = d.batch_num,
@@ -360,13 +365,26 @@
                    };
                    BaseDal.Db.InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
                    #endregion
                    #region å¤„理库存
                    List<Dt_InventoryInfo> dt_InventoryInfos = new List<Dt_InventoryInfo>();
                    #region å¤„理库存、添加出库任务
                    foreach (var item in entityOrder.Details)
                    {
                        dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == item.Goods_no && x.StockStatus == StockStatusEmun.入库完成.ObjToInt() && x.StockQuantity > x.OutboundQuantity && x.WarehouseCode == item.Reservoirarea);
                        #region æŒ‰å‡ºåº“策略查找库存
                        if (tactics.SelectTactice == TacticsEnum.ComeOutonFirstTime.ObjToInt())
                            dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.ValidityPeriod).ToList();
                        else
                            dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.InDate).ToList();
                    #endregion
                        var Order_qty = item.Order_qty;
                        foreach (var InventoryInfo in dt_InventoryInfos)
                        {
                            if (InventoryInfo.AvailableQuantity < Order_qty)
                            {
                    #region æ·»åŠ å‡ºåº“ä»»åŠ¡
                            }
                        }
                    }
                    #endregion
                }
                else
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs
@@ -9,6 +9,7 @@
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
using WIDESEA_ISquareCabinServices;
using WIDESEA_Model.Models;
@@ -30,8 +31,13 @@
            try
            {
                if (materielInfo.Business_qty >= materielInfo.MinQty) return response;
                Dt_Tactics tactics = _tacticsService.Repository.QueryFirst(x => x.TacticeName == "出库策略");
                List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.入库完成.ObjToInt() && x.StockQuantity > x.OutboundQuantity && x.LocationCode != "立库").OrderBy(x => x.InDate).ToList();
                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.入库完成.ObjToInt() && x.StockQuantity > x.OutboundQuantity && x.WarehouseCode == WarehouseEnum.大件库.ObjToInt().ToString("000"));
                if (tactics.SelectTactice == TacticsEnum.ComeOutonFirstTime.ObjToInt())
                    dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.ValidityPeriod).ToList();
                else
                    dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.InDate).ToList();
                decimal Qty = 0;
                foreach (var item in dt_InventoryInfos)
                {
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs
@@ -187,7 +187,7 @@
                //当前用户的权限
                List<Permissions> permissions = _MenuService.GetPermissions(App.User.RoleId);
                List<int> menuIds = _MenuService.Repository.QueryData(x => x.MenuId, x => x.MenuType == 1);
                List<int> menuIds = _MenuService.Repository.QueryData(x => x.MenuId, x => x.MenuType == 0);
                List<int> originalMeunIds = new List<int>();
                //被分配角色的权限
@@ -229,9 +229,9 @@
                }
                //更新权限
                _RoleAuthService.Repository.UpdateData(updateAuths);
                _RoleAuthService.Repository.UpdateData(updateAuths.Where(x => x.AuthId > 0).ToList());
                //新增的权限
                _RoleAuthService.Repository.AddData(updateAuths);
                _RoleAuthService.Repository.AddData(updateAuths.Where(x => x.AuthId <= 0).ToList());
                //获取权限取消的权限
                int[] authIds = roleAuths.Where(x => userPermissions.Select(u => u.Id)