| | |
| | | case "1": //å
¥åº |
| | | { |
| | | #region å¤çå
¥åºè®¢å |
| | | Dt_CabinOrder cabinOrder = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == request.orderNo && x.Warehouse_no == WarehouseEnum.ç«åº.ObjToInt().ToString("000")).Includes(x => x.Details).First(); |
| | | var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == request.orderNo && x.Warehouse_no ==reslut).Includes(x => x.Details).First(); |
| | | //Dt_CabinOrder cabinOrder = Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == request.orderNo && x.Warehouse_no == "001").Includes(x => x.Details).First(); |
| | | if (cabinOrder == null || cabinOrder.OdrderStatus == "已宿") |
| | | throw new Exception($"å
¥åºå已宿"); |
| | | Dt_CabinOrderDetail cabinOrderDetail = cabinOrder.Details.Where(x => x.Goods_no == detail.productCode && x.Batch_num == detail.batchNo && x.Status == 1).First(); |
| | |
| | | if (cabinOrderDetail.Order_Inqty == cabinOrderDetail.Order_qty) |
| | | cabinOrderDetail.OrderDetailStatus = "已宿"; |
| | | BaseDal.Db.Updateable(cabinOrderDetail).ExecuteCommand(); |
| | | var cabinOrder1 = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == cabinOrder.Order_no && x.Warehouse_no == WarehouseEnum.ç«åº.ObjToInt().ToString("000")).Includes(x => x.Details).First(); |
| | | var cabinOrder1 = BaseDal.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == cabinOrder.Order_no && x.Warehouse_no == reslut).Includes(x => x.Details).First(); |
| | | if (!cabinOrder1.Details.Where(x => x.OrderDetailStatus != "已宿").Any()) |
| | | cabinOrder.OdrderStatus = "已宿"; |
| | | BaseDal.Db.Updateable(cabinOrder).ExecuteCommand(); |
| | |
| | | #endregion |
| | | |
| | | //UpdateInboundOrderDetailStatus(request.orderNo, detail.batchNo, detail.productCode); |
| | | break; |
| | | } |
| | | case "2": |
| | | #region æ¾åºåºä»»å¡ |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.ç«åº.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºä»»å¡"); |
| | | #endregion |
| | | |
| | | #region å¤çåºåºåãåºåä¿¡æ¯ãåºåºä»»å¡ãè°æ¨ä»»å¡ |
| | | _deliveryOrderServices.OutTaskFinish(supplyTask); |
| | | #endregion |
| | | break; |
| | | case "2": |
| | | { |
| | | #region æ¾åºåºä»»å¡ |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.ç«åº.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºä»»å¡"); |
| | | if (supplyTask.StockQuantity != orderQty) throw new Exception($"订åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºæ°éä¸åºåºä»»å¡æ°éä¸ç¸ç"); |
| | | #endregion |
| | | |
| | | #region å¤çåºåºåãåºåä¿¡æ¯ãåºåºä»»å¡ãè°æ¨ä»»å¡ |
| | | _deliveryOrderServices.OutTaskFinish(supplyTask); |
| | | #endregion |
| | | } |
| | | break; |
| | | case "3": // çç¹ |
| | | decimal diff = detail.ea ?? 0; // 差弿° |
| | | int flag = detail.isLossOrProfit ?? 3; // 1=çäº, 2=çç, 3=çä¸ |
| | | if (flag == 1) // çäº |
| | | { |
| | | //åºåæ°-差弿°=çäº |
| | | //batch.SupplyQuantity += (batch.StockQuantity - diff); |
| | | //batch.Remark = "çç¹ååä¼ - çäº"; |
| | | } |
| | | else if (flag == 2) // çç |
| | | { |
| | | //åºåæ°+差弿°=çç |
| | | //batch.SupplyQuantity += (batch.StockQuantity + diff); |
| | | //batch.Remark = "çç¹ååä¼ - çç"; |
| | | } |
| | | else // çä¸ |
| | | { |
| | | //batch.Remark = "çç¹ååä¼ - çä¸"; |
| | | #region æ¾çç¹ä»»å¡ |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == WarehouseEnum.ç«åº.ObjToInt().ToString("000") && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãççç¹ä»»å¡"); |
| | | #endregion |
| | | if (detail.isLossOrProfit == 1) // çäº |
| | | { |
| | | supplyTask.SupplyQuantity = supplyTask.StockQuantity - detail.ea; |
| | | } |
| | | else if (detail.isLossOrProfit == 2) // çç |
| | | { |
| | | supplyTask.SupplyQuantity = supplyTask.StockQuantity + detail.ea; |
| | | } |
| | | else // çä¸ |
| | | { |
| | | supplyTask.SupplyQuantity = supplyTask.StockQuantity; |
| | | } |
| | | _deliveryOrderServices.CheckTaskFinish(supplyTask); |
| | | } |
| | | break; |
| | | } |