zhanghonglin
6 天以前 10775e2b00cee12fb4b405e18a507c629990051a
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs
@@ -20,12 +20,16 @@
        public IRepository<Dt_LocationInfo> Repository => BaseDal;
        private readonly IRepository<dt_storagemode> _dt_storagemode;
        private readonly IMapper _mapper;
        private readonly IRepository<Dt_StockInfo> _stockInfoRepository;
        private readonly IRepository<dt_batchInfo> _batchInfoRepository;
        //private readonly Idt_ErrormsginfoService _ErrormsginfoService;
        public LocationInfoService(IRepository<Dt_LocationInfo> BaseDal, IRepository<dt_storagemode> storagemode, IMapper mapper) : base(BaseDal)
        public LocationInfoService(IRepository<Dt_LocationInfo> BaseDal, IRepository<dt_storagemode> storagemode, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<dt_batchInfo> batchInfoRepository, IMapper mapper) : base(BaseDal)
        {
            _dt_storagemode = storagemode;
            _mapper = mapper;
            _stockInfoRepository = stockInfoRepository;
            _batchInfoRepository = batchInfoRepository;
        }
        public override PageGridData<Dt_LocationInfo> GetPageData(PageDataOptions options)
@@ -40,6 +44,35 @@
            Dt_LocationInfo locationInfo = BaseDal.QueryFirst(x => x.Id == id);
            locationInfo.LocationStatus = locationStatus;
            locationInfo.EnableStatus = enableStatus;
            //有货生成库存信息
            if (locationStatus == 2)
            {
                //判断是否存在库存信息
                var w = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode);
                if(w == null)
                {
                        Dt_StockInfo stockInfo = new Dt_StockInfo();
                        //查询当前需要出库的批次号,以及出库物料类型
                        var batch = _batchInfoRepository.QueryFirst(v => v.Id == 1);
                        stockInfo.BatchNo = batch.OutBatch;
                        stockInfo.Weight = 4;
                        stockInfo.LocationCode = locationInfo.LocationCode;
                        stockInfo.WarehouseId = 0;
                        stockInfo.StockStatus = 0;
                        stockInfo.Remark = 1;
                        _stockInfoRepository.AddData(stockInfo);
                }
            }
            //无货删除库存信息
            else if(locationStatus == 0)
            {
                //判断是否存在库存信息
                var w = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode);
                if (w != null)
                {
                    _stockInfoRepository.DeleteData(w);
                }
            }
            return UpdateData(locationInfo);
            //return base.UpdateData(saveModel);
        }
@@ -262,6 +295,279 @@
            }
        }
        public WebResponseContent setlocations(int k)
        {
            WebResponseContent content = new WebResponseContent();
            if (k == 1)
            {
                List<Dt_LocationInfo> ben = BaseDal.QueryData(v => v.Id<=2537&&v.Id>=2526);
                //判断是否有货
                if (ben[0].LocationStatus == (int)LocationStatusEnum.InStock || ben[1].LocationStatus == (int)LocationStatusEnum.InStock || ben[2].LocationStatus == (int)LocationStatusEnum.InStock || ben[3].LocationStatus == (int)LocationStatusEnum.InStock || ben[4].LocationStatus == (int)LocationStatusEnum.InStock || ben[5].LocationStatus == (int)LocationStatusEnum.InStock || ben[6].LocationStatus == (int)LocationStatusEnum.InStock || ben[7].LocationStatus == (int)LocationStatusEnum.InStock || ben[8].LocationStatus == (int)LocationStatusEnum.InStock || ben[9].LocationStatus == (int)LocationStatusEnum.InStock || ben[10].LocationStatus == (int)LocationStatusEnum.InStock || ben[11].LocationStatus == (int)LocationStatusEnum.InStock)
                {
                    return content.OK("2");
                }
                //剔除改成正常
                if (ben[0].LocationType == (int)LocationTypeEnum.Cube)
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[2].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[4].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[6].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[8].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[10].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Normal;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
                //正常改成剔除
                else
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[2].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[4].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[6].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[8].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[10].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Disable;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
            }
            else if (k == 2)
            {
                List<Dt_LocationInfo> ben = BaseDal.QueryData(v => v.Id <= 2515 && v.Id >= 2504);
                //判断是否有货
                if (ben[0].LocationStatus == (int)LocationStatusEnum.InStock || ben[1].LocationStatus == (int)LocationStatusEnum.InStock || ben[2].LocationStatus == (int)LocationStatusEnum.InStock || ben[3].LocationStatus == (int)LocationStatusEnum.InStock || ben[4].LocationStatus == (int)LocationStatusEnum.InStock || ben[5].LocationStatus == (int)LocationStatusEnum.InStock || ben[6].LocationStatus == (int)LocationStatusEnum.InStock || ben[7].LocationStatus == (int)LocationStatusEnum.InStock || ben[8].LocationStatus == (int)LocationStatusEnum.InStock || ben[9].LocationStatus == (int)LocationStatusEnum.InStock || ben[10].LocationStatus == (int)LocationStatusEnum.InStock || ben[11].LocationStatus == (int)LocationStatusEnum.InStock)
                {
                    return content.OK("2");
                }
                //剔除改成正常
                if (ben[0].LocationType == (int)LocationTypeEnum.Cube)
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[2].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[4].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[6].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[8].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[10].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Normal;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
                //正常改成剔除
                else
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[2].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[4].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[6].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[8].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[10].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Disable;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
            }
            else if (k == 3)
            {
                List<Dt_LocationInfo> ben = BaseDal.QueryData(v => v.Id <= 2493 && v.Id >= 2482);
                //判断是否有货
                if (ben[0].LocationStatus == (int)LocationStatusEnum.InStock || ben[1].LocationStatus == (int)LocationStatusEnum.InStock || ben[2].LocationStatus == (int)LocationStatusEnum.InStock || ben[3].LocationStatus == (int)LocationStatusEnum.InStock || ben[4].LocationStatus == (int)LocationStatusEnum.InStock || ben[5].LocationStatus == (int)LocationStatusEnum.InStock || ben[6].LocationStatus == (int)LocationStatusEnum.InStock || ben[7].LocationStatus == (int)LocationStatusEnum.InStock || ben[8].LocationStatus == (int)LocationStatusEnum.InStock || ben[9].LocationStatus == (int)LocationStatusEnum.InStock || ben[10].LocationStatus == (int)LocationStatusEnum.InStock || ben[11].LocationStatus == (int)LocationStatusEnum.InStock)
                {
                    return content.OK("2");
                }
                //剔除改成正常
                if (ben[0].LocationType == (int)LocationTypeEnum.Cube)
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[2].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[4].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[6].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[8].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[10].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Normal;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
                //正常改成剔除
                else
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[2].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[4].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[6].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[8].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[10].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Disable;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
            }
            else if (k == 4)
            {
                List<Dt_LocationInfo> ben = BaseDal.QueryData(v => v.Id <= 2471 && v.Id >= 2460);
                //判断是否有货
                if (ben[0].LocationStatus == (int)LocationStatusEnum.InStock || ben[1].LocationStatus == (int)LocationStatusEnum.InStock || ben[2].LocationStatus == (int)LocationStatusEnum.InStock || ben[3].LocationStatus == (int)LocationStatusEnum.InStock || ben[4].LocationStatus == (int)LocationStatusEnum.InStock || ben[5].LocationStatus == (int)LocationStatusEnum.InStock || ben[6].LocationStatus == (int)LocationStatusEnum.InStock || ben[7].LocationStatus == (int)LocationStatusEnum.InStock || ben[8].LocationStatus == (int)LocationStatusEnum.InStock || ben[9].LocationStatus == (int)LocationStatusEnum.InStock || ben[10].LocationStatus == (int)LocationStatusEnum.InStock || ben[11].LocationStatus == (int)LocationStatusEnum.InStock)
                {
                    return content.OK("2");
                }
                //剔除改成正常
                if (ben[0].LocationType == (int)LocationTypeEnum.Cube)
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].LocationType = (int)LocationTypeEnum.Flat;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[2].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].LocationType = (int)LocationTypeEnum.Flat;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[4].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].LocationType = (int)LocationTypeEnum.Flat;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[6].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].LocationType = (int)LocationTypeEnum.Flat;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[8].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].LocationType = (int)LocationTypeEnum.Flat;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Normal;
                    ben[10].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].LocationType = (int)LocationTypeEnum.Flat;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Normal;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
                //正常改成剔除
                else
                {
                    ben[0].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].LocationType = (int)LocationTypeEnum.Cube;
                    ben[1].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[2].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].LocationType = (int)LocationTypeEnum.Cube;
                    ben[3].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[4].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].LocationType = (int)LocationTypeEnum.Cube;
                    ben[5].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[6].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].LocationType = (int)LocationTypeEnum.Cube;
                    ben[7].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[8].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].LocationType = (int)LocationTypeEnum.Cube;
                    ben[9].EnableStatus = (int)EnableStatusEnum.Disable;
                    ben[10].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].LocationType = (int)LocationTypeEnum.Cube;
                    ben[11].EnableStatus = (int)EnableStatusEnum.Disable;
                    BaseDal.UpdateData(ben);
                    return content.OK("1");
                }
            }
            return content.OK("4");
        }
    }
    public class LocationConfig