陈勇
2 天以前 6b74e1dcf5642c8f56975471e27780d695953989
项目代码/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/pullLock.cs
@@ -34,19 +34,24 @@
                Console.WriteLine(jsondata);
                var result = JsonConvert.DeserializeObject<List<pullLockInfo>>(jsondata.ToString());
                var lockInfo = _MESLockInfoRepository.QueryData().OrderByDescending(x => x.sequenceNo).FirstOrDefault();
                int serial = 1;
                if (lockInfo != null)
                {
                    serial = lockInfo.sequenceNo + 1;
                }
                foreach (var item in result)
                {
                    var assemblyOrderInfo = _assemblyOrderInfoRepository.QueryFirst(x => x.workOrderNo == item.workOrderNo && x.orderType == item.workOrderType);
                    if (assemblyOrderInfo == null) throw new Exception($"鎷夊姩閿佽溅澶辫触:鏈煡鎬昏宸ュ崟鍙穥item.workOrderNo}");
                    Dt_PalletStockInfo carinfo = null;
                    //Dt_PalletStockInfo carinfo = null;
                    VV_StockInfo OutStock = new VV_StockInfo();
                    Dt_CarBodyInfo carbodyinfo = null;
                    //Dt_CarBodyInfo carbodyinfo = null;
                    if (!string.IsNullOrEmpty(item.pvi))
                    {
                        // carinfo = _palletStockInfoRepository.QueryFirst(x => x.PVI == item.pvi && x.pbMaterial == item.pbMaterial);
                        //carbodyinfo = _carBodyRepository.QueryFirst(x => x.pbMaterial == item.pbMaterial && x.PVI == item.pvi);
                        OutStock = _VVStockInfoRepository.QueryFirst(X => X.PVI == item.pvi && X.pbMaterial == item.pbMaterial);
                        OutStock = _VVStockInfoRepository.QueryFirst(x => x.PVI == item.pvi && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0 && x.CarType == (int)BodyType.PaintedBody);
                        if (OutStock == null)
                        {
                            throw new Exception($"鏈壘鍒版寚瀹歅VI杞﹁韩淇℃伅{item.pvi}");
@@ -54,11 +59,20 @@
                    }
                    else
                    {
                        //carinfo = _palletStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial).OrderBy(x => x.biwInPassTime).FirstOrDefault();
                        //carbodyinfo = _carBodyRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.BodyStatus == 0).OrderBy(x => x.biwInPassTime).FirstOrDefault();
                        OutStock = _VVStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.workOrderType == item.workOrderType).OrderBy(x => x.biwInPassTime).FirstOrDefault();
                    }
                        OutStock = _VVStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0 && x.workOrderType == item.workOrderType && x.CarType == (int)BodyType.PaintedBody && x.RoadwayNo != lockInfo.TCLine).OrderBy(x => x.biwInPassTime).FirstOrDefault();
                        if (null == OutStock)
                        {
                            OutStock = _VVStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0 && x.workOrderType == item.workOrderType && x.CarType == (int)BodyType.PaintedBody).OrderBy(x => x.biwInPassTime).FirstOrDefault();
                        }
                        //var stockList = _VVStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0 && x.workOrderType == item.workOrderType && x.CarType == (int)BodyType.PaintedBody).ToList();
                        //if (stockList.Any())
                        //{
                        //    var maxStock = stockList.GroupBy(x => x.RoadwayNo).OrderByDescending(x => x.Count());
                        //    OutStock = stockList.Where(x => x.RoadwayNo == maxStock.FirstOrDefault().Key).FirstOrDefault();
                        //}
                    }
                    if (OutStock == null)
                    {
                        throw new Exception("鏈尮閰嶅埌杞﹁韩,鎷夊姩閿佸畾澶辫触");
@@ -67,12 +81,12 @@
                    var carBody = _carBodyRepository.QueryFirst(x => x.PVI == OutStock.PVI);
                    var lockInfo = _MESLockInfoRepository.QueryData().OrderByDescending(x => x.sequenceNo).FirstOrDefault();
                    int serial = 1;
                    if (lockInfo != null)
                    {
                        serial = lockInfo.sequenceNo + 1;
                    }
                    //var lockInfo = _MESLockInfoRepository.QueryData().OrderByDescending(x => x.sequenceNo).FirstOrDefault();
                    //int serial = 1;
                    //if (lockInfo != null)
                    //{
                    //    serial = lockInfo.sequenceNo + 1;
                    //}
                    Dt_MESLockInfo mESLockInfo = new Dt_MESLockInfo
                    {
@@ -131,12 +145,15 @@
                    //{
                    stockInfo.StockStatus = 0;
                    stockInfo.LockOrder = 1;
                    carBody.BodyStatus = 1;
                    //carBody.BodyStatus = 1;
                    assemblyOrderInfo.pvi = carBody.PVI;
                    carBody.assemblyWorrkNo = item.workOrderNo;
                    _MESLockInfoRepository.AddData(mESLockInfo);
                    _assemblyOrderInfoRepository.UpdateData(assemblyOrderInfo);
                    //_taskRepository.AddData(task);
                    _palletStockInfoRepository.UpdateData(stockInfo);
                    //_carBodyRepository.UpdateData(carbodyinfo);
                    _carBodyRepository.UpdateData(carBody);
                    _unitOfWorkManage.CommitTran();
                    //}