| | |
| | | { |
| | | //float stockMaxQty = stockInfo.Details.Max(x => x.StockQuantity); |
| | | //float stockMinQty = stockInfo.Details.Min(x => x.StockQuantity); |
| | | Dt_StockInfoDetail? addstockInfoDetail = stockInfo.Details?.FirstOrDefault(); |
| | | addstockInfoDetail.Id = 0; |
| | | addstockInfoDetail.StockQuantity = (takeStockOrderDetail.Qty - takeStockOrderDetail.SysQty); |
| | | addStockDetails.Add(addstockInfoDetail); |
| | | Dt_StockInfoDetail addstockInfoDetail = stockInfo.Details.OrderByDescending(x=>x.Id).FirstOrDefault(); |
| | | addstockInfoDetail.StockQuantity = takeStockOrderDetail.Qty - takeStockOrderDetail.SysQty; |
| | | updateStockDetails.Add(addstockInfoDetail); |
| | | } |
| | | else if (takeStockOrderDetail.Qty==0) //鐩樹簭 |
| | | { |
| | |
| | | { |
| | | _stockInfoDetailRepository.DeleteAndMoveIntoHty(delStockDetails, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚); |
| | | } |
| | | if (addStockDetails.Count>0) |
| | | { |
| | | addStockDetails.ForEach(x => |
| | | { |
| | | x.Status = StockStatusEmun.鐩樼偣搴撳瓨瀹屾垚.ObjToInt(); |
| | | }); |
| | | _stockInfoDetailRepository.AddData(addStockDetails); |
| | | } |
| | | if (updateStockDetails.Count>0) |
| | | { |
| | | updateStockDetails.ForEach(x => |
| | |
| | | Createtime = takeStockOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | Details = new List<TakeDetailsItem>() |
| | | }; |
| | | foreach (var item in takeStockOrderDetails) |
| | | foreach (var item in takeStockOrderDetails.Where(x=>x.Qty!=x.SysQty)) |
| | | { |
| | | TakeDetailsItem takeDetailsItem = new TakeDetailsItem() |
| | | { |
| | | MaterialsCode = item.MaterielCode, |
| | | LocationCode = item.LocationCode, |
| | | LocationCode = warehouse.WarehouseCode, |
| | | Lotno = item.BatchNo, |
| | | Sysqty = item.SysQty.ObjToDecimal(), |
| | | Qty = item.Qty.ObjToDecimal() |
| | | }; |
| | | eRPTakeStock.Details.Add(takeDetailsItem); |
| | | } |
| | | string response = _invokeERPService.InvokeTakeStockApi(eRPTakeStock); |
| | | ErpRequestContent erpRequestContent = response.DeserializeObject<ErpRequestContent>(); |
| | | if (erpRequestContent.res != 1) |
| | | if (eRPTakeStock.Details.Count>0) |
| | | { |
| | | throw new Exception("鍚屾ERP澶辫触,閿欒淇℃伅:" + erpRequestContent.Data); |
| | | string response = _invokeERPService.InvokeTakeStockApi(eRPTakeStock); |
| | | ErpRequestContent erpRequestContent = response.DeserializeObject<ErpRequestContent>(); |
| | | if (erpRequestContent.res != 1) |
| | | { |
| | | throw new Exception("鍚屾ERP澶辫触,閿欒淇℃伅:" + erpRequestContent.Data); |
| | | } |
| | | } |
| | | } |
| | | _unitOfWorkManage.CommitTran(); |