| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Reflection.Metadata; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common.StockEnum; |
| | |
| | | { |
| | | #region å¤çå
¥åºè®¢å |
| | | |
| | | 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.externalOrderNo && x.Warehouse_no == reslut).Includes(x => x.Details).First(); |
| | | if (cabinOrder == null) throw new Exception($"æªæ¾å°å
¥åºåå·ã{request.externalOrderNo}ãçå
¥åºåä¿¡æ¯"); |
| | | #region 夿æ¯å¦ä¸ºççå
¥åºå |
| | | if (cabinOrder.Order_type == "5") |
| | | { |
| | |
| | | ERPStockQuantity = 0, |
| | | Status = false, |
| | | ProductionDate = detail.finishDate.ToString("yyyy-MM-dd"), |
| | | ValidityPeriod = inventoryInfo.ValidityPeriod, |
| | | ValidityPeriod = inventoryInfo.ValidityPeriod.ObjToDate(), |
| | | Remark = "èªå¨å建" |
| | | }; |
| | | BaseDal.Db.Insertable(inventory_Batch).ExecuteCommand(); |
| | |
| | | break; |
| | | case "2": |
| | | { |
| | | Dt_DeliveryOrder cabinOrder = Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == request.orderNo && x.Warehouse_no == reslut).Includes(x => x.Details).First(); |
| | | Dt_DeliveryOrder cabinOrder = Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == request.externalOrderNo && x.Warehouse_no == reslut).Includes(x => x.Details).First(); |
| | | if (cabinOrder == null) throw new Exception($"æªæ¾å°åºåºåå·ã{request.externalOrderNo}ãçå
¥åºåä¿¡æ¯"); |
| | | |
| | | if (cabinOrder.Out_type == "6") |
| | | { |
| | | foreach (var item in cabinOrder.Details) |
| | |
| | | else |
| | | { |
| | | #region æ¾åºåºä»»å¡ |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.orderNo && x.WarehouseCode == reslut && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºä»»å¡"); |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.externalOrderNo && x.WarehouseCode == reslut && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.externalOrderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºä»»å¡"); |
| | | if (supplyTask.StockQuantity != orderQty) throw new Exception($"订åå·ã{request.orderNo}ãç©æç¼å·ã{detail.productCode}ãçåºåºæ°éä¸åºåºä»»å¡æ°éä¸ç¸ç"); |
| | | #endregion |
| | | |
| | | #region å¤çåºåºåãåºåä¿¡æ¯ãåºåºä»»å¡ãè°æ¨ä»»å¡ |
| | | _deliveryOrderServices.OutTaskFinish(supplyTask); |
| | | var content = _deliveryOrderServices.OutTaskFinish(supplyTask); |
| | | if (!content.Status) throw new Exception(content.Message); |
| | | #endregion |
| | | } |
| | | } |
| | | break; |
| | | case "3": // çç¹ |
| | | { |
| | | var WarehouseLK = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | #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}ãççç¹ä»»å¡"); |
| | | Dt_SupplyTask supplyTask = Db.Queryable<Dt_SupplyTask>().Where(x => x.MaterielCode == detail.productCode && x.BatchNo == detail.batchNo && x.OrderNo == request.externalOrderNo && x.WarehouseCode == WarehouseLK && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).First(); |
| | | if (supplyTask == null) throw new Exception($"æªæ¾å°è®¢åå·ã{request.externalOrderNo}ãç©æç¼å·ã{detail.productCode}ãççç¹ä»»å¡"); |
| | | #endregion |
| | | if (detail.isLossOrProfit == 1) // çäº |
| | | { |
| | |
| | | { |
| | | supplyTask.SupplyQuantity = supplyTask.StockQuantity; |
| | | } |
| | | _deliveryOrderServices.CheckTaskFinish(supplyTask); |
| | | var content = _deliveryOrderServices.CheckTaskFinish(supplyTask); |
| | | if (!content.Status) throw new Exception(content.Message); |
| | | } |
| | | break; |
| | | } |