|  | @@ -1459,7 +1459,7 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |                  _billInvinitrepository.Delete(x => SpoolNoGroup.Contains(x.ContGrpBarCode));
 | 
	
		
			
				|  |  |                  _billSpoolTransrepository.Delete(x => SpoolNoGroup.Contains(x.ConBarCode));
 | 
	
		
			
				|  |  |                  var materiel = _basematerrepository.GetSingle(p => p.Code == stackHeader.ProMaterCode);
 | 
	
		
			
				|  |  | -                var wareHouse = _basewarehouserepository.GetFirst(x => x.Code == "1"); //TODO:1换成满托平库满盘Code
 | 
	
		
			
				|  |  | +                var wareHouse = _basewarehouserepository.GetFirst(x => x.Code == "CRZP"); //TODO:1换成满托平库满盘Code
 | 
	
		
			
				|  |  |                  var barInfoList = new List<BillInvinit>();
 | 
	
		
			
				|  |  |                  var invNowList = new List<BillInvnow>();
 | 
	
		
			
				|  |  |                  var invFlowList = new List<BillInvflow>();
 | 
	
	
		
			
				|  | @@ -1618,7 +1618,7 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  _db.BeginTran();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                var wareHouse = _basewarehouserepository.GetFirst(x => x.Code == "1"); //TODO:1换成退料平库满盘Code
 | 
	
		
			
				|  |  | +                var wareHouse = _basewarehouserepository.GetFirst(x => x.Code == "CRTL"); //TODO:1换成退料平库满盘Code
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  //创建入库记录
 | 
	
		
			
				|  |  |                  var createStockInWcsTaskReqest = new FJCreateStockInWcsTaskRequest
 | 
	
	
		
			
				|  | @@ -1628,7 +1628,7 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |                      Qty = 1,
 | 
	
		
			
				|  |  |                      Floor = 1,
 | 
	
		
			
				|  |  |                      MatCode = "",
 | 
	
		
			
				|  |  | -                    EquCode = "",
 | 
	
		
			
				|  |  | +                    EquCode = mac.Station,
 | 
	
		
			
				|  |  |                      Type = TaskType.EnterDepot,
 | 
	
		
			
				|  |  |                      DocCode = "",
 | 
	
		
			
				|  |  |                      WorkBench = mac.Station, //TODO:是否是AGV站台
 | 
	
	
		
			
				|  | @@ -2317,12 +2317,13 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |                              "2S" => "SRM4",
 | 
	
		
			
				|  |  |                              "3N" => "SRM5",
 | 
	
		
			
				|  |  |                              "3S" => "SRM6",
 | 
	
		
			
				|  |  | +                            "CRZP" => "CR",
 | 
	
		
			
				|  |  |                              _ => wareCell.WarehouseCode
 | 
	
		
			
				|  |  |                          },
 | 
	
		
			
				|  |  |                          WorkBench = mach.Station,
 | 
	
		
			
				|  |  |                          WarehouseCode = wareCell.TypeNum == FjLocationType.Storage
 | 
	
		
			
				|  |  |                              ? wareCell.WarehouseCode
 | 
	
		
			
				|  |  | -                            : mach.WarehouseCode, //如果是芯股的话就使用叫料机台对应的仓库
 | 
	
		
			
				|  |  | +                            : mach.WarehouseCode, //如果是芯股的话就使用叫料机台对应的仓库                       
 | 
	
		
			
				|  |  |                          BusType = FJTaskBusType.车间叫料,
 | 
	
		
			
				|  |  |                          LastInteractionPoint = reqDto.Type,
 | 
	
		
			
				|  |  |                          MesNo = reqDto.ReqId,
 | 
	
	
		
			
				|  | @@ -7234,6 +7235,10 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |              //检查历史任务表是否有任务
 | 
	
		
			
				|  |  |              var task = _wcstaskoldrepository.AsQueryable().With(SqlWith.NoLock)
 | 
	
		
			
				|  |  |                  .Where(p => p.Id == reqDto.TaskNum).SplitTable(tabs => tabs.Take(2)).First();
 | 
	
		
			
				|  |  | +            var isBackRewind = _wcstaskoldrepository.AsQueryable().With("WITH(READPAST,ROWLOCK)")
 | 
	
		
			
				|  |  | +                .Where(p => p.Id == reqDto.TaskNum && p.BusType == FJTaskBusType.帘线退料重绕.GetDescription()).SplitTable(tabs => tabs.Take(2)).Any();
 | 
	
		
			
				|  |  | +            var isRewindIn = _wcstaskoldrepository.AsQueryable().With("WITH(READPAST,ROWLOCK)")
 | 
	
		
			
				|  |  | +                .Where(p => p.Id == reqDto.TaskNum && p.BusType == FJTaskBusType.重绕满托入库.GetDescription()).SplitTable(tabs => tabs.Take(2)).Any();
 | 
	
		
			
				|  |  |              if (task == null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  result.ResMsg = reqDto.TaskNum + ResponseStatusCodeEnum.WcsTaskNotExist.GetDescription();
 | 
	
	
		
			
				|  | @@ -7320,24 +7325,116 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      try
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        //检擦库存信息是否正确
 | 
	
		
			
				|  |  | -                        var stock = _billInvnowrepository.GetFirst(p =>
 | 
	
		
			
				|  |  | -                            (p.ContGrpBarCode == task.BarCode || p.HWBarCode == task.BarCode)
 | 
	
		
			
				|  |  | -                            && p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  | -                        if (stock == null)
 | 
	
		
			
				|  |  | +                        if (isBackRewind)
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  | -                            result.ResMsg = task.BarCode + "没有已组盘的信息";
 | 
	
		
			
				|  |  | -                            return result;
 | 
	
		
			
				|  |  | +                            var warehouse = _basewarehouserepository.GetSingle(p => p.Code == task.WarehouseCode);
 | 
	
		
			
				|  |  | +                            _db.BeginTran();
 | 
	
		
			
				|  |  | +                            if (task.AddrTo == "9001" || task.AddrTo == "9101")
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            else
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            _db.CommitTran();
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | +                        else if (isRewindIn)
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            //检查库存信息是否正确
 | 
	
		
			
				|  |  | +                            var stock = _billInvnowrepository.GetFirst(p =>
 | 
	
		
			
				|  |  | +                                (p.ContGrpBarCode == task.BarCode || p.HWBarCode == task.BarCode)
 | 
	
		
			
				|  |  | +                                && p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  | +                            if (stock == null)
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                result.ResMsg = task.BarCode + "没有已组盘的信息";
 | 
	
		
			
				|  |  | +                                return result;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        var warehouse = _basewarehouserepository.GetSingle(p => p.Code == task.WarehouseCode);
 | 
	
		
			
				|  |  | -                        _db.BeginTran();
 | 
	
		
			
				|  |  | -                        var row = int.Parse(task.AddrTo.Split('-')[0]);
 | 
	
		
			
				|  |  | -                        var col = int.Parse(task.AddrTo.Split('-')[1]);
 | 
	
		
			
				|  |  | -                        var layer = int.Parse(task.AddrTo.Split('-')[2]);
 | 
	
		
			
				|  |  | +                            var warehouse = _basewarehouserepository.GetSingle(p => p.Code == task.WarehouseCode);
 | 
	
		
			
				|  |  | +                            _db.BeginTran();                             
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        //更新库存
 | 
	
		
			
				|  |  | -                        _billInvnowrepository.UpdateModelColumns(p => new BillInvnow
 | 
	
		
			
				|  |  | +                                //更新库存
 | 
	
		
			
				|  |  | +                                _billInvnowrepository.UpdateModelColumns(p => new BillInvnow
 | 
	
		
			
				|  |  | +                                {
 | 
	
		
			
				|  |  | +                                    InvStateCode = InvState.InvEcecState_In.ToString(),
 | 
	
		
			
				|  |  | +                                    WarehouseId = warehouse.Id,                                    
 | 
	
		
			
				|  |  | +                                    OneInTime = DateTime.Now,
 | 
	
		
			
				|  |  | +                                    EditTime = DateTime.Now
 | 
	
		
			
				|  |  | +                                },
 | 
	
		
			
				|  |  | +                                 p => p.ContGrpBarCode == task.BarCode &&
 | 
	
		
			
				|  |  | +                                 p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  | +                            
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //更新货位
 | 
	
		
			
				|  |  | +                            _basewarecellrepository.UpdateModelColumns(p => new BaseWarecell
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                StateNum = FjLocationState.Full,
 | 
	
		
			
				|  |  | +                                ContGrpBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | +                                ContGrpId = stock.ContGrpId,
 | 
	
		
			
				|  |  | +                                EditTime = DateTime.Now
 | 
	
		
			
				|  |  | +                            }, p => p.Code.Contains(task.AddrTo) && p.WarehouseId == warehouse.Id);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //增加流水信息
 | 
	
		
			
				|  |  | +                            var enterDepotstocklist = _billInvnowrepository.GetList(p =>
 | 
	
		
			
				|  |  | +                                p.ContGrpBarCode == task.BarCode && p.InvStateCode == InvState.InvEcecState_In.ToString());
 | 
	
		
			
				|  |  | +                            foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                item.Id = IdFactory.NewId();
 | 
	
		
			
				|  |  | +                                item.AddTime = DateTime.Now;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            _billInvflow.InsertRange(_mapper.Map<List<BillInvflow>>(enterDepotstocklist));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //添加反馈信息
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            var pushtype = fjFackbeekType.InterfaceType_FJ_StockIn.ToString();
 | 
	
		
			
				|  |  | +                            var list = new List<BillPushinfo>();
 | 
	
		
			
				|  |  | +                            foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | +                                list.Add(new BillPushinfo
 | 
	
		
			
				|  |  | +                                {
 | 
	
		
			
				|  |  | +                                    DocsNo = stock.ExecDocsNo,
 | 
	
		
			
				|  |  | +                                    TypeCode = pushtype,
 | 
	
		
			
				|  |  | +                                    RFIDBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | +                                    HWBarCode = item.HWBarCode,
 | 
	
		
			
				|  |  | +                                    CLBarCode = item.CLBarCode,
 | 
	
		
			
				|  |  | +                                    WarehouseId = warehouse.Id,
 | 
	
		
			
				|  |  | +                                    WarehouseCode = warehouse.Code,
 | 
	
		
			
				|  |  | +                                    WareCellId = 0,
 | 
	
		
			
				|  |  | +                                    WareCellCode = task.AddrTo,
 | 
	
		
			
				|  |  | +                                    MatId = item.MatId,
 | 
	
		
			
				|  |  | +                                    MatCode = item.MatCode,
 | 
	
		
			
				|  |  | +                                    MatName = item.MatName,
 | 
	
		
			
				|  |  | +                                    TolWQty = item.TolWQty,
 | 
	
		
			
				|  |  | +                                    NetWQty = item.NetWQty,
 | 
	
		
			
				|  |  | +                                    TareWQty = item.TareWQty,
 | 
	
		
			
				|  |  | +                                    ReqNo = Guid.NewGuid().ToString()
 | 
	
		
			
				|  |  | +                                });
 | 
	
		
			
				|  |  | +                            if (stock.ContGrpType == FJContGrpType.Material) _billPushinforepository.InsertRange(list);
 | 
	
		
			
				|  |  | +                            _db.CommitTran();
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            //检查库存信息是否正确
 | 
	
		
			
				|  |  | +                            var stock = _billInvnowrepository.GetFirst(p =>
 | 
	
		
			
				|  |  | +                                (p.ContGrpBarCode == task.BarCode || p.HWBarCode == task.BarCode)
 | 
	
		
			
				|  |  | +                                && p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  | +                            if (stock == null)
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                result.ResMsg = task.BarCode + "没有已组盘的信息";
 | 
	
		
			
				|  |  | +                                return result;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            var warehouse = _basewarehouserepository.GetSingle(p => p.Code == task.WarehouseCode);
 | 
	
		
			
				|  |  | +                            _db.BeginTran();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            var row = int.Parse(task.AddrTo.Split('-')[0]);
 | 
	
		
			
				|  |  | +                            var col = int.Parse(task.AddrTo.Split('-')[1]);
 | 
	
		
			
				|  |  | +                            var layer = int.Parse(task.AddrTo.Split('-')[2]);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //更新库存
 | 
	
		
			
				|  |  | +                            _billInvnowrepository.UpdateModelColumns(p => new BillInvnow
 | 
	
		
			
				|  |  |                              {
 | 
	
		
			
				|  |  |                                  InvStateCode = InvState.InvEcecState_In.ToString(),
 | 
	
		
			
				|  |  |                                  WarehouseId = warehouse.Id,
 | 
	
	
		
			
				|  | @@ -7347,55 +7444,57 @@ namespace wms.service.Service
 | 
	
		
			
				|  |  |                                  OneInTime = DateTime.Now,
 | 
	
		
			
				|  |  |                                  EditTime = DateTime.Now
 | 
	
		
			
				|  |  |                              },
 | 
	
		
			
				|  |  | -                            p => p.ContGrpBarCode == task.BarCode &&
 | 
	
		
			
				|  |  | -                                 p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  | +                                p => p.ContGrpBarCode == task.BarCode &&
 | 
	
		
			
				|  |  | +                                     p.InvStateCode == InvState.InvEcecState_BuildUp.ToString());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        //更新货位
 | 
	
		
			
				|  |  | -                        _basewarecellrepository.UpdateModelColumns(p => new BaseWarecell
 | 
	
		
			
				|  |  | -                        {
 | 
	
		
			
				|  |  | -                            StateNum = FjLocationState.Full,
 | 
	
		
			
				|  |  | -                            ContGrpBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | -                            ContGrpId = stock.ContGrpId,
 | 
	
		
			
				|  |  | -                            EditTime = DateTime.Now
 | 
	
		
			
				|  |  | -                        }, p => p.Code.Contains(task.AddrTo) && p.WarehouseId == warehouse.Id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        //增加流水信息
 | 
	
		
			
				|  |  | -                        var enterDepotstocklist = _billInvnowrepository.GetList(p =>
 | 
	
		
			
				|  |  | -                            p.ContGrpBarCode == task.BarCode && p.InvStateCode == InvState.InvEcecState_In.ToString());
 | 
	
		
			
				|  |  | -                        foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | -                        {
 | 
	
		
			
				|  |  | -                            item.Id = IdFactory.NewId();
 | 
	
		
			
				|  |  | -                            item.AddTime = DateTime.Now;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | +                            //更新货位
 | 
	
		
			
				|  |  | +                            _basewarecellrepository.UpdateModelColumns(p => new BaseWarecell
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                StateNum = FjLocationState.Full,
 | 
	
		
			
				|  |  | +                                ContGrpBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | +                                ContGrpId = stock.ContGrpId,
 | 
	
		
			
				|  |  | +                                EditTime = DateTime.Now
 | 
	
		
			
				|  |  | +                            }, p => p.Code.Contains(task.AddrTo) && p.WarehouseId == warehouse.Id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        _billInvflow.InsertRange(_mapper.Map<List<BillInvflow>>(enterDepotstocklist));
 | 
	
		
			
				|  |  | +                            //增加流水信息
 | 
	
		
			
				|  |  | +                            var enterDepotstocklist = _billInvnowrepository.GetList(p =>
 | 
	
		
			
				|  |  | +                                p.ContGrpBarCode == task.BarCode && p.InvStateCode == InvState.InvEcecState_In.ToString());
 | 
	
		
			
				|  |  | +                            foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                item.Id = IdFactory.NewId();
 | 
	
		
			
				|  |  | +                                item.AddTime = DateTime.Now;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        //添加反馈信息
 | 
	
		
			
				|  |  | +                            _billInvflow.InsertRange(_mapper.Map<List<BillInvflow>>(enterDepotstocklist));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        var pushtype = fjFackbeekType.InterfaceType_FJ_StockIn.ToString();
 | 
	
		
			
				|  |  | -                        var list = new List<BillPushinfo>();
 | 
	
		
			
				|  |  | -                        foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | -                            list.Add(new BillPushinfo
 | 
	
		
			
				|  |  | -                            {
 | 
	
		
			
				|  |  | -                                DocsNo = stock.ExecDocsNo,
 | 
	
		
			
				|  |  | -                                TypeCode = pushtype,
 | 
	
		
			
				|  |  | -                                RFIDBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | -                                HWBarCode = item.HWBarCode,
 | 
	
		
			
				|  |  | -                                CLBarCode = item.CLBarCode,
 | 
	
		
			
				|  |  | -                                WarehouseId = warehouse.Id,
 | 
	
		
			
				|  |  | -                                WarehouseCode = warehouse.Code,
 | 
	
		
			
				|  |  | -                                WareCellId = 0,
 | 
	
		
			
				|  |  | -                                WareCellCode = task.AddrTo,
 | 
	
		
			
				|  |  | -                                MatId = item.MatId,
 | 
	
		
			
				|  |  | -                                MatCode = item.MatCode,
 | 
	
		
			
				|  |  | -                                MatName = item.MatName,
 | 
	
		
			
				|  |  | -                                TolWQty = item.TolWQty,
 | 
	
		
			
				|  |  | -                                NetWQty = item.NetWQty,
 | 
	
		
			
				|  |  | -                                TareWQty = item.TareWQty,
 | 
	
		
			
				|  |  | -                                ReqNo = Guid.NewGuid().ToString()
 | 
	
		
			
				|  |  | -                            });
 | 
	
		
			
				|  |  | -                        if (stock.ContGrpType == FJContGrpType.Material) _billPushinforepository.InsertRange(list);
 | 
	
		
			
				|  |  | -                        _db.CommitTran();
 | 
	
		
			
				|  |  | +                            //添加反馈信息
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            var pushtype = fjFackbeekType.InterfaceType_FJ_StockIn.ToString();
 | 
	
		
			
				|  |  | +                            var list = new List<BillPushinfo>();
 | 
	
		
			
				|  |  | +                            foreach (var item in enterDepotstocklist)
 | 
	
		
			
				|  |  | +                                list.Add(new BillPushinfo
 | 
	
		
			
				|  |  | +                                {
 | 
	
		
			
				|  |  | +                                    DocsNo = stock.ExecDocsNo,
 | 
	
		
			
				|  |  | +                                    TypeCode = pushtype,
 | 
	
		
			
				|  |  | +                                    RFIDBarCode = stock.ContGrpBarCode,
 | 
	
		
			
				|  |  | +                                    HWBarCode = item.HWBarCode,
 | 
	
		
			
				|  |  | +                                    CLBarCode = item.CLBarCode,
 | 
	
		
			
				|  |  | +                                    WarehouseId = warehouse.Id,
 | 
	
		
			
				|  |  | +                                    WarehouseCode = warehouse.Code,
 | 
	
		
			
				|  |  | +                                    WareCellId = 0,
 | 
	
		
			
				|  |  | +                                    WareCellCode = task.AddrTo,
 | 
	
		
			
				|  |  | +                                    MatId = item.MatId,
 | 
	
		
			
				|  |  | +                                    MatCode = item.MatCode,
 | 
	
		
			
				|  |  | +                                    MatName = item.MatName,
 | 
	
		
			
				|  |  | +                                    TolWQty = item.TolWQty,
 | 
	
		
			
				|  |  | +                                    NetWQty = item.NetWQty,
 | 
	
		
			
				|  |  | +                                    TareWQty = item.TareWQty,
 | 
	
		
			
				|  |  | +                                    ReqNo = Guid.NewGuid().ToString()
 | 
	
		
			
				|  |  | +                                });
 | 
	
		
			
				|  |  | +                            if (stock.ContGrpType == FJContGrpType.Material) _billPushinforepository.InsertRange(list);
 | 
	
		
			
				|  |  | +                            _db.CommitTran();
 | 
	
		
			
				|  |  | +                        }                       
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      catch (Exception ex)
 | 
	
		
			
				|  |  |                      {
 |