| | |
| | | if (item.alarm != "æ£å¸¸") |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, |
| | | $"å·æ{item.alarm}", item.message, MessageStatusEnum.Undisposed); |
| | | $"å·æ{item.name}{item.alarm}", item.message, MessageStatusEnum.Undisposed); |
| | | } |
| | | } |
| | | if (containersAdd.Count > 0) BaseDal.AddData(containersAdd); |
| | |
| | | } |
| | | if (string.Equals(item.status, nameof(DeviceStatus.Error), StringComparison.OrdinalIgnoreCase)) |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, item.robotName, item.status); |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm,"å°è½¦ç¼å·"+ item.robotCode, item.status); |
| | | } |
| | | } |
| | | foreach (var item in response.data.sorters) |
| | |
| | | } |
| | | if (string.Equals(item.status, nameof(DeviceStatus.Error), StringComparison.OrdinalIgnoreCase)) |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, item.sorterCode, item.status); |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "忣å°åå"+ item.sorterCode, item.status); |
| | | } |
| | | } |
| | | if (equipmentAlarmInforsAdd.Count > 0) BaseDal.AddData(equipmentAlarmInforsAdd); |
| | |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥çç«åºå°è½¦æ¥è¦ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent getDeviceStatus1() |
| | | { |
| | | try |
| | | { |
| | | var url = "http://172.16.1.2:8080/cube/taskInfo/getDeviceStatus?token=wH5zdAUCv2BEHJIinmowyki8cdc5ge8fAwFDcYZs0bVldNgmORt0O0l4GJTDv1dglRdMxb9xDK5Qb3NJAqL1Li2GkfdVa3KnIkfrQZtsP7UXhMmUz6xEuztG6d5svAJO9HENLb8JWVqCfpO2EWV6ebo/g5tJ9x7kbwwAxvCBrWdiEJv09FvaRQ== "; |
| | | var result = HttpHelper.Get(url); |
| | | var response = JsonConvert.DeserializeObject<AGVResponse<DeviceStatusData>>(result); |
| | | |
| | | // æ£æ¥æ¥å£ååºæ¯å¦æå |
| | | if (response == null || response.code != "0") |
| | | { |
| | | return new WebResponseContent { Status = false, Message = $"WCSæ¥å£è°ç¨å¤±è´¥: {response?.msg}" }; |
| | | } |
| | | |
| | | var syncTime = DateTime.Now; |
| | | var AddEquipList = new List<Dt_EquipmentAlarmInfor>(); |
| | | var UpdateEquipList = new List<Dt_EquipmentAlarmInfor>(); |
| | | var alarmList = new List<(string deviceType, string deviceName, string deviceCode)>(); |
| | | |
| | | // æ¶éææè®¾å¤ç¼ç ï¼ä¸æ¬¡æ§æ¥è¯¢ |
| | | var allDeviceCodes = new List<string>(); |
| | | if (response.data?.robot != null && response.data.robot.Count > 0) |
| | | { |
| | | allDeviceCodes.AddRange(response.data.robot.Select(x => x.robotCode)); |
| | | } |
| | | if (response.data?.sorters != null && response.data.sorters.Count > 0) |
| | | { |
| | | allDeviceCodes.AddRange(response.data.sorters.Select(x => x.sorterCode)); |
| | | } |
| | | |
| | | // 䏿¬¡æ§æ¥è¯¢ææå·²åå¨ç设å¤è®°å½ |
| | | var existingRecords = allDeviceCodes.Any() |
| | | ? BaseDal.QueryData(x => allDeviceCodes.Contains(x.RobotCode)) |
| | | .ToDictionary(x => x.RobotCode, x => x) |
| | | : new Dictionary<string, Dt_EquipmentAlarmInfor>(); |
| | | |
| | | // å¤çæºå¨äººè®¾å¤æ°æ® |
| | | if (response.data?.robot != null && response.data.robot.Count > 0) |
| | | { |
| | | foreach (var robot in response.data.robot) |
| | | { |
| | | ProcessDevice(robot.robotCode, robot.robotName, robot.status, "æºå¨äºº", |
| | | existingRecords, AddEquipList, UpdateEquipList, alarmList, syncTime); |
| | | } |
| | | } |
| | | |
| | | // å¤ç忣å°è®¾å¤æ°æ® |
| | | if (response.data?.sorters != null && response.data.sorters.Count > 0) |
| | | { |
| | | foreach (var sorter in response.data.sorters) |
| | | { |
| | | ProcessDevice(sorter.sorterCode, sorter.sorterName, sorter.status, "忣å°", |
| | | existingRecords, AddEquipList, UpdateEquipList, alarmList, syncTime); |
| | | } |
| | | } |
| | | |
| | | // å¼å¯äºå¡ |
| | | //_unitOfWorkManage.BeginTran(); |
| | | try |
| | | { |
| | | // æ¹éæä½ |
| | | if (AddEquipList.Count > 0) |
| | | { |
| | | BaseDal.AddData(AddEquipList); |
| | | } |
| | | if (UpdateEquipList.Count > 0) |
| | | { |
| | | BaseDal.UpdateData(UpdateEquipList); |
| | | } |
| | | |
| | | // æäº¤äºå¡ |
| | | //_unitOfWorkManage.CommitTran(); |
| | | |
| | | // å¤çæ¥è¦ä¿¡æ¯ |
| | | ProcessAlarmMessages(alarmList); |
| | | |
| | | var totalCount = AddEquipList.Count + UpdateEquipList.Count; |
| | | return new WebResponseContent |
| | | { |
| | | Status = true, |
| | | Message = $"忥æåï¼æ°å¢ {AddEquipList.Count} æ¡ï¼æ´æ° {UpdateEquipList.Count} æ¡ï¼å
±å¤ç {totalCount} æ¡è®¾å¤è®°å½ã" |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //_unitOfWorkManage.RollbackTran(); |
| | | return new WebResponseContent |
| | | { |
| | | Status = false, |
| | | Message = $"æ°æ®ä¿å失败: {ex.Message}" |
| | | }; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent |
| | | { |
| | | Status = false, |
| | | Message = $"è·å设å¤ç¶æå¤±è´¥: {ex.Message}" |
| | | }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çå个设å¤è®°å½ |
| | | /// </summary> |
| | | private void ProcessDevice(string deviceCode, string deviceName, string status, string deviceType, |
| | | Dictionary<string, Dt_EquipmentAlarmInfor> existingRecords, |
| | | List<Dt_EquipmentAlarmInfor> addList, |
| | | List<Dt_EquipmentAlarmInfor> updateList, |
| | | List<(string deviceType, string deviceName, string deviceCode)> alarmList, |
| | | DateTime syncTime) |
| | | { |
| | | if (existingRecords.TryGetValue(deviceCode, out var existingRecord)) |
| | | { |
| | | // æ£æ¥ç¶ææ¯å¦åçååï¼é¿å
ä¸å¿
è¦çæ´æ°åé夿¥è¦ |
| | | bool statusChanged = existingRecord.Status != status; |
| | | |
| | | // æ´æ°ç°æè®°å½ |
| | | existingRecord.RobotName = deviceName; |
| | | existingRecord.Status = status; |
| | | existingRecord.SyncTime = syncTime; |
| | | existingRecord.ModifyDate = syncTime; |
| | | existingRecord.Modifier = "System"; |
| | | |
| | | updateList.Add(existingRecord); |
| | | |
| | | // åªæç¶æå为erroræ¶ææ¥è¦ |
| | | if (statusChanged && status == "error") |
| | | { |
| | | alarmList.Add((deviceType, deviceName, deviceCode)); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // å建æ°è®°å½ |
| | | var newRecord = new Dt_EquipmentAlarmInfor |
| | | { |
| | | RobotName = deviceName, |
| | | RobotCode = deviceCode, |
| | | Status = status, |
| | | SyncTime = syncTime, |
| | | CreateDate = syncTime, |
| | | Creater = "System" |
| | | }; |
| | | addList.Add(newRecord); |
| | | |
| | | // æ°è®¾å¤ç¶æä¸ºerroræ¶æ¥è¦ |
| | | if (status == "error") |
| | | { |
| | | alarmList.Add((deviceType, deviceName, deviceCode)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çæ¥è¦ä¿¡æ¯ |
| | | /// </summary> |
| | | private void ProcessAlarmMessages(List<(string deviceType, string deviceName, string deviceCode)> alarmList) |
| | | { |
| | | foreach (var alarm in alarmList) |
| | | { |
| | | string alarmTitle = alarm.deviceType == "æºå¨äºº" |
| | | ? "å°è½¦åç§°:" + alarm.deviceName |
| | | : "忣å°åç§°:" + alarm.deviceName; |
| | | |
| | | string alarmMessage = alarm.deviceType == "æºå¨äºº" |
| | | ? $"å°è½¦ç¼å·ã{alarm.deviceCode}ãåçé误" |
| | | : $"ç¼å·ã{alarm.deviceCode}ãåçé误"; |
| | | |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, alarmTitle, alarmMessage, MessageStatusEnum.Emergency); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | // é»è®¤æ¥è¯¢è¿å»24å°æ¶çæ°æ® |
| | | SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | } |
| | | string getDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | // 请æ±åæ° |
| | | var requestData = new |
| | | { |
| | | searchDate = SearchDate |
| | | }; |
| | | SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | // åèµ·è¯·æ± |
| | | var result = HttpHelper.Post(url, requestData.ToJsonString()); |
| | | |
| | |
| | | } |
| | | if (response.data.Count < 1) |
| | | { |
| | | SearchDate = getDate; |
| | | return responseContent.OK("æ æ°è¯åæ°æ®"); |
| | | } |
| | | |
| | |
| | | }).ToList(); |
| | | // 䏿¬¡æ§æ¹éæå
¥æ°æ®åº |
| | | BaseDal.AddData(entityList); |
| | | |
| | | SearchDate = getDate; |
| | | //ProductSynchronous(); |
| | | return responseContent.OK("忥æå"); |
| | | } |
| | |
| | | } |
| | | } |
| | | var messinfo = BaseDal.QueryData(x => x.MessageStatus < MessageStatusEnum.Wait.ObjToInt()); |
| | | messagesinfo = messagesinfo.Where(x => !messinfo.Select(x => x.Id).Contains(x.Id)).ToList(); |
| | | foreach (var item in messinfo) |
| | | { |
| | | Message message = new Message() |
| | |
| | | _materielInfoService = materielInfoService; |
| | | _locationInfoService = locationInfoService; |
| | | } |
| | | public override WebResponseContent UpdateData(SaveModel saveModel) |
| | | { |
| | | return base.UpdateData(saveModel); |
| | | } |
| | | |
| | | #region å建åºåºå |
| | | /// <summary> |
| | | /// å建åºåºå |
| | |
| | | #region æ´ä»¶ä¼å
åé
大件åº,计ååºå,æ·»å åºåºä»»å¡ |
| | | foreach (var item in dt_InventoryInfos.Where(x => x.WarehouseCode == WareCodeDJ)) |
| | | { |
| | | if (xs <= 0) break; |
| | | if (xs <= 0 || item.AvailableQuantity <= 0) break; |
| | | decimal outqty = 0; |
| | | while (item.AvailableQuantity > 0 && xs > 0) |
| | | { |
| | |
| | | if (orderDetailLK != null) |
| | | { |
| | | #region æ·»å åºåºä»»å¡ãä¿®æ¹åºåä¿¡æ¯ |
| | | Dt_InventoryInfo inventoryInfo = dt_InventoryInfos.Where(x => x.WarehouseCode == WareCodeLK).First(); |
| | | Dt_InventoryInfo? inventoryInfo = dt_InventoryInfos.FirstOrDefault(x => x.WarehouseCode == WareCodeLK); |
| | | if (inventoryInfo == null) |
| | | throw new Exception($"æªæ¾å°ç©æç¼å·ã{detail.goods_no}ãç©ææ¹æ¬¡ã{detail.batch_num}ãå¨ç«åºä¸çåºåä¿¡æ¯ï¼æéæ°éã{orderDetailLK.Order_qty}ã请补货"); |
| | | inventoryInfo.AvailableQuantity -= orderDetailLK.Order_qty; |
| | | inventoryInfo.OutboundQuantity += orderDetailLK.Order_qty; |
| | | Dt_SupplyTask supplyTask = new Dt_SupplyTask() |
| | |
| | | try |
| | | { |
| | | var url = "http://121.37.118.63:80/GYZ2/95fck/inOrder"; |
| | | string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | if (string.IsNullOrEmpty(SearchInOrderDate)) SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var requestData = new { searchDate = SearchInOrderDate }; |
| | | SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | //SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var result = HttpHelper.Post(url, requestData.ToJsonString()); |
| | | var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result); |
| | | if (response == null || response.resultCode != "0") return content; |
| | | if (response.data.Count < 1) return content; |
| | | if (response.data.Count < 1) |
| | | { |
| | | SearchInOrderDate = GetOutOrderDate; |
| | | return content; |
| | | } |
| | | var ordernos = response.data.Select(x => x.order_no).ToList(); |
| | | var existingOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no)).Select(x => x.Order_no).Distinct().ToList(); |
| | | var newOrders = response.data.Where(order => !existingOrderNos.Contains(order.order_no)).ToList(); |
| | | if (newOrders.Count < 1) return content; |
| | | if (newOrders.Count < 1) |
| | | { |
| | | SearchInOrderDate = GetOutOrderDate; |
| | | return content; |
| | | } |
| | | int messQty = 0; |
| | | foreach (var order in newOrders) |
| | | { |
| | | try |
| | | { |
| | | if (order.order_type == "1") |
| | | { |
| | | _cabinOrderServices.CreateInboundOrder(order); |
| | | content = _cabinOrderServices.CreateInboundOrder(order); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | else if (order.order_type == "3")//å
¥åºéæ |
| | | { |
| | |
| | | }; |
| | | upstramOutOrderInfo.details.Add(detail); |
| | | } |
| | | _deliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo); |
| | | #endregion |
| | | content = _deliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | else if (order.order_type == "5")//æ¥æº¢å
¥åº |
| | | { |
| | | _cabinOrderServices.CreateCheckInOrder(order); |
| | | content = _cabinOrderServices.CreateCheckInOrder(order); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | continue; |
| | | } |
| | | } |
| | | if (messQty == 0) SearchInOrderDate = GetOutOrderDate; |
| | | return content.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | try |
| | | { |
| | | var url = "http://121.37.118.63:80/GYZ2/95fck/outOrder"; |
| | | string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | if (string.IsNullOrEmpty(SearchOutOrderDate)) SearchOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var requestData = new { searchDate = SearchOutOrderDate }; |
| | | SearchOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var result = HttpHelper.Post(url, requestData.ToJsonString()); |
| | | var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstramOutOrderInfo>>(result); |
| | | |
| | | if (response == null || response.resultCode != "0") return content; |
| | | if (response.data.Count < 1) return content; |
| | | if (response.data.Count < 1) |
| | | { |
| | | SearchOutOrderDate = GetOutOrderDate; |
| | | return content; |
| | | } |
| | | var ordernos = response.data.Select(x => x.order_no).ToList(); |
| | | var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no)).Select(x => x.Out_no).Distinct().ToList(); |
| | | var newOutOrders = response.data.Where(outorder => !existingOutOrderNos.Contains(outorder.order_no)).ToList(); |
| | | if (newOutOrders.Count < 1) return content; |
| | | |
| | | if (newOutOrders.Count < 1) |
| | | { |
| | | SearchOutOrderDate = GetOutOrderDate; |
| | | return content; |
| | | } |
| | | int messQty = 0; |
| | | foreach (var outorder in newOutOrders) |
| | | { |
| | | if (outorder.order_type == "1")// æ£å¸¸åºåºå |
| | | { |
| | | _deliveryOrderServices.CreateOutboundOrder(outorder); |
| | | content = _deliveryOrderServices.CreateOutboundOrder(outorder); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | else if (outorder.order_type == "2")//åºåºéè´§ |
| | | { |
| | |
| | | order.details.Add(detail); |
| | | } |
| | | #endregion |
| | | _cabinOrderServices.CreateInboundOrder(order); |
| | | content = _cabinOrderServices.CreateInboundOrder(order); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | else if (outorder.order_type == "6")//æ¥æåºåº |
| | | { |
| | | _deliveryOrderServices.CreateCheckOutOrder(outorder); |
| | | content = _deliveryOrderServices.CreateCheckOutOrder(outorder); |
| | | if (!content.Status) messQty++; |
| | | } |
| | | } |
| | | if (messQty == 0) SearchOutOrderDate = GetOutOrderDate; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | { |
| | | foreach (var items in inventoryInfos.GroupBy(x => x.WarehouseCode)) |
| | | { |
| | | Dt_DeliveryOrder deliveryOrder = new Dt_DeliveryOrder() |
| | | Dt_DeliveryOrder? deliveryOrder = deliveryOrders.Where(x => x.Warehouse_no == items.Key).FirstOrDefault(); |
| | | bool isNull = false; |
| | | if (deliveryOrder == null) |
| | | { |
| | | Out_no = item.MaterielCode + "_" + item.BatchNo, |
| | | Out_type = "20", |
| | | OutStatus = "æ°å»º", |
| | | Warehouse_no = items.Key, |
| | | Details = new List<Dt_DeliveryOrderDetail>() |
| | | }; |
| | | isNull = true; |
| | | deliveryOrder = new Dt_DeliveryOrder() |
| | | { |
| | | //Out_no = item.MaterielCode + "_" + item.BatchNo, |
| | | Out_no = $"PD{items.Key}{DateTime.Now.ToString("yyMMddHHmmss")}", |
| | | Out_type = "20", |
| | | OutStatus = "æ°å»º", |
| | | Warehouse_no = items.Key, |
| | | Details = new List<Dt_DeliveryOrderDetail>() |
| | | }; |
| | | } |
| | | var Status = items.Key == "001" ? 0 : 2;//夿æ¯å¦ä¸ºç«åºåºå |
| | | Dt_DeliveryOrderDetail deliveryOrderDetail = new Dt_DeliveryOrderDetail() |
| | | { |
| | |
| | | Reservoirarea = items.Key |
| | | }; |
| | | deliveryOrder.Details.Add(deliveryOrderDetail); |
| | | deliveryOrders.Add(deliveryOrder); |
| | | if (isNull) deliveryOrders.Add(deliveryOrder); |
| | | #region å建çç¹ä»»å¡ |
| | | foreach (var inventory in items) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region 夿å½åç©ææ¹æ¬¡ççç¹ä»»å¡æ¯å¦å
¨é¨å®æ |
| | | List<Dt_SupplyTask> supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == supplyTask.MaterielCode && x.BatchNo == supplyTask.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt() && x.WarehouseCode == supplyTask.WarehouseCode).ToList(); |
| | | List<Dt_SupplyTask> supplyTasks1 = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == supplyTask.MaterielCode && x.BatchNo == supplyTask.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).ToList(); |
| | | List<Dt_SupplyTask> supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == supplyTask.MaterielCode && x.BatchNo == supplyTask.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt() && x.WarehouseCode == supplyTask.WarehouseCode && x.TaskId != supplyTask.TaskId).ToList(); |
| | | List<Dt_SupplyTask> supplyTasks1 = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == supplyTask.MaterielCode && x.BatchNo == supplyTask.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt() && x.TaskId != supplyTask.TaskId).ToList(); |
| | | Dt_Inventory_Batch inventory_Batch = new Dt_Inventory_Batch(); |
| | | List<Dt_InventoryInfo> inventoryInfos = new List<Dt_InventoryInfo>(); |
| | | if (supplyTasks1.Count < 1) |
| | | { |
| | | #region æ¥æ¾åºå |
| | | inventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.BatchNo == cabinOrderDetail.Batch_num && x.MaterielCode == cabinOrderDetail.Goods_no); |
| | | var SupplyQuantitys = inventoryInfos.Sum(x => x.SupplyQuantity); |
| | | inventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.BatchNo == cabinOrderDetail.Batch_num && x.MaterielCode == cabinOrderDetail.Goods_no && x.Id != inventoryInfo.Id); |
| | | var SupplyQuantitys = inventoryInfos.Sum(x => x.SupplyQuantity) + supplyTask.SupplyQuantity; |
| | | #endregion |
| | | |
| | | #region åºåæ¹æ¬¡ |
| | |
| | | item.SupplyQuantity = 0; |
| | | item.StockStatus = StockStatusEmun.å
¥åºå®æ.ObjToInt(); |
| | | } |
| | | inventoryInfo.StockQuantity = supplyTask.SupplyQuantity; |
| | | inventoryInfo.SupplyQuantity = 0; |
| | | inventoryInfo.StockStatus = StockStatusEmun.å
¥åºå®æ.ObjToInt(); |
| | | } |
| | | else |
| | | { |
| | |
| | | }); |
| | | _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(cabinOrder.Details, OperateTypeEnum.èªå¨å®æ); |
| | | cabinOrder.Details = null; |
| | | Repository.DeleteAndMoveIntoHty(cabinOrder, OperateTypeEnum.èªå¨å®æ); |
| | | BaseDal.DeleteAndMoveIntoHty(cabinOrder, OperateTypeEnum.èªå¨å®æ); |
| | | |
| | | #endregion |
| | | } |
| | | else |
| | | { |
| | | Repository.UpdateData(cabinOrder); |
| | | BaseDal.UpdateData(cabinOrder); |
| | | _deliveryOrderDetailServices.Repository.UpdateData(cabinOrderDetail); |
| | | } |
| | | #endregion |
| | | _inventoryInfoService.UpdateData(inventoryInfo); |
| | | _supplyTaskService.Repository.DeleteAndMoveIntoHty(supplyTask, OperateTypeEnum.èªå¨å®æ); |
| | | if (inventoryInfos.Count > 1) |
| | | if (inventoryInfos.Count >= 1) |
| | | { |
| | | _inventoryInfoService.UpdateData(inventoryInfos); |
| | | _inventory_BatchServices.UpdateData(inventory_Batch); |
| | |
| | | //æ¤jsæä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | import gridBody from './extend/outOrderDetail.vue' |
| | | import http from '../../api/http'; |
| | | import { el } from 'element-plus/es/locales.mjs'; |
| | | let extension = { |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: '', |
| | | gridBody: gridBody, |
| | | gridFooter: '', |
| | | //æ°å»ºãç¼è¾å¼¹åºæ¡æ©å±ç»ä»¶ |
| | | modelHeader: '', |
| | | modelBody: '', |
| | | modelFooter: '' |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: '', |
| | | gridBody: gridBody, |
| | | gridFooter: '', |
| | | //æ°å»ºãç¼è¾å¼¹åºæ¡æ©å±ç»ä»¶ |
| | | modelHeader: '', |
| | | modelBody: '', |
| | | modelFooter: '' |
| | | }, |
| | | tableAction: '', //æå®æå¼ 表çæé(è¿éå¡«å表å,é»è®¤ä¸ç¨å¡«å) |
| | | buttons: { view: [], box: [], detail: [] }, //æ©å±çæé® |
| | | methods: { |
| | | //ä¸é¢è¿äºæ¹æ³å¯ä»¥ä¿çä¹å¯ä»¥å é¤ |
| | | onInit() { |
| | | //æ©å±é¡µé¢åå§åæä½ |
| | | let Bt = this.buttons.find(x => x.value == "Complete") |
| | | if (Bt) { |
| | | Bt.onClick = function () { |
| | | let rows = this.$refs.table.getSelected(); |
| | | if (rows.length == 0) return this.$error("è¯·éæ©æ°æ®!"); |
| | | if (rows.length > 1) return this.$error("åªè½éæ©ä¸æ¡æ°æ®") |
| | | const id = rows[0].id; |
| | | //const allIds = rows.map(item => item.id); |
| | | |
| | | // è¿éæ·»å ä½ çä¸å¡é»è¾ |
| | | this.http.post(`/api/DeliveryOrder/FinishOutOrder?key=${id}`).then((x) => { |
| | | if (x.status) { |
| | | this.$Message.success('æä½æå'); |
| | | this.refresh(); |
| | | } else { |
| | | return this.$error(x.message); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | tableAction: '', //æå®æå¼ 表çæé(è¿éå¡«å表å,é»è®¤ä¸ç¨å¡«å) |
| | | buttons: { view: [], box: [], detail: [] }, //æ©å±çæé® |
| | | methods: { |
| | | //ä¸é¢è¿äºæ¹æ³å¯ä»¥ä¿çä¹å¯ä»¥å é¤ |
| | | onInit() { |
| | | //æ©å±é¡µé¢åå§åæä½ |
| | | let Bt=this.buttons.find(x=>x.value=="Complete") |
| | | if(Bt){ |
| | | Bt.onClick = function () { |
| | | let rows = this.$refs.table.getSelected(); |
| | | if (rows.length == 0) return this.$error("è¯·éæ©æ°æ®!"); |
| | | if (rows.length>1)return this.$error("åªè½éæ©ä¸æ¡æ°æ®") |
| | | const id=rows[0].id; |
| | | //const allIds = rows.map(item => item.id); |
| | | |
| | | // è¿éæ·»å ä½ çä¸å¡é»è¾ |
| | | this.http.post(`/api/DeliveryOrder/FinishOutOrder?key=${id}`).then((x) => { |
| | | if (x.status) { |
| | | this.$Message.success('æä½æå'); |
| | | this.refresh(); |
| | | } else { |
| | | return this.$error(x.message); |
| | | onInited() { |
| | | //æ¡æ¶åå§åé
ç½®å |
| | | //妿è¦é
ç½®æç»è¡¨,卿¤æ¹æ³æä½ |
| | | //this.detailOptions.columns.forEach(column=>{ }); |
| | | this.buttons.forEach(x => {//nameæ¹ä¸ºè¦éèçæé®åå |
| | | if (x.name == 'ç¼ è¾') { |
| | | x.hidden = true; |
| | | } |
| | | }) |
| | | }, |
| | | searchBefore(param) { |
| | | //ç颿¥è¯¢å,å¯ä»¥ç»param.wheresæ·»å æ¥è¯¢åæ° |
| | | //è¿åfalseï¼åä¸ä¼æ§è¡æ¥è¯¢ |
| | | return true; |
| | | }, |
| | | searchAfter(result) { |
| | | //æ¥è¯¢åï¼resultè¿åçæ¥è¯¢æ°æ®,å¯ä»¥å¨æ¾ç¤ºå°è¡¨æ ¼åå¤çè¡¨æ ¼çå¼ |
| | | return true; |
| | | }, |
| | | addBefore(formData) { |
| | | //æ°å»ºä¿ååformData为对象ï¼å
æ¬æç»è¡¨ï¼å¯ä»¥ç»ç»è¡¨å设置å¼ï¼èªå·±è¾åºçformDataçå¼ |
| | | return true; |
| | | }, |
| | | updateBefore(formData) { |
| | | //ç¼è¾ä¿ååformData为对象ï¼å
æ¬æç»è¡¨ãå é¤è¡çId |
| | | return true; |
| | | }, |
| | | rowClick({ row, column, event }) { |
| | | //æ¥è¯¢çé¢ç¹å»è¡äºä»¶ |
| | | this.$refs.table.$refs.table.toggleRowSelection(row); //åå»è¡æ¶éä¸å½åè¡; |
| | | }, |
| | | modelOpenAfter(row) { |
| | | //ç¹å»ç¼è¾ãæ°å»ºæé®å¼¹åºæ¡åï¼å¯ä»¥å¨æ¤å¤åé»è¾ï¼å¦ï¼ä»åå°è·åæ°æ® |
| | | //(1)夿æ¯ç¼è¾è¿æ¯æ°å»ºæä½ï¼ this.currentAction=='Add'; |
| | | //(2)ç»å¼¹åºæ¡è®¾ç½®é»è®¤å¼ |
| | | //(3)this.editFormFields.åæ®µ='xxx'; |
| | | //妿éè¦ç»ä¸ææ¡è®¾ç½®é»è®¤å¼ï¼è¯·éåthis.editFormOptionsæ¾å°å段é
置对åºdata屿§çkeyå¼ |
| | | //ç䏿就æè¾åºçï¼console.log(this.editFormOptions) |
| | | this.editFormOptions.forEach((editForm) => { |
| | | editForm.forEach((x) => { |
| | | x.readonly = true |
| | | }) |
| | | }) |
| | | this.detailOptions.buttons.forEach((btn) => { |
| | | if (btn.name != 'æ·»å è¡') { |
| | | btn.hidden = true; |
| | | //æè
设置åªè¯» |
| | | //btn.readonly=true; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | onInited() { |
| | | //æ¡æ¶åå§åé
ç½®å |
| | | //妿è¦é
ç½®æç»è¡¨,卿¤æ¹æ³æä½ |
| | | //this.detailOptions.columns.forEach(column=>{ }); |
| | | }, |
| | | searchBefore(param) { |
| | | //ç颿¥è¯¢å,å¯ä»¥ç»param.wheresæ·»å æ¥è¯¢åæ° |
| | | //è¿åfalseï¼åä¸ä¼æ§è¡æ¥è¯¢ |
| | | return true; |
| | | }, |
| | | searchAfter(result) { |
| | | //æ¥è¯¢åï¼resultè¿åçæ¥è¯¢æ°æ®,å¯ä»¥å¨æ¾ç¤ºå°è¡¨æ ¼åå¤çè¡¨æ ¼çå¼ |
| | | return true; |
| | | }, |
| | | addBefore(formData) { |
| | | //æ°å»ºä¿ååformData为对象ï¼å
æ¬æç»è¡¨ï¼å¯ä»¥ç»ç»è¡¨å设置å¼ï¼èªå·±è¾åºçformDataçå¼ |
| | | return true; |
| | | }, |
| | | updateBefore(formData) { |
| | | //ç¼è¾ä¿ååformData为对象ï¼å
æ¬æç»è¡¨ãå é¤è¡çId |
| | | return true; |
| | | }, |
| | | rowClick({ row, column, event }) { |
| | | //æ¥è¯¢çé¢ç¹å»è¡äºä»¶ |
| | | this.$refs.table.$refs.table.toggleRowSelection(row); //åå»è¡æ¶éä¸å½åè¡; |
| | | }, |
| | | modelOpenAfter(row) { |
| | | //ç¹å»ç¼è¾ãæ°å»ºæé®å¼¹åºæ¡åï¼å¯ä»¥å¨æ¤å¤åé»è¾ï¼å¦ï¼ä»åå°è·åæ°æ® |
| | | //(1)夿æ¯ç¼è¾è¿æ¯æ°å»ºæä½ï¼ this.currentAction=='Add'; |
| | | //(2)ç»å¼¹åºæ¡è®¾ç½®é»è®¤å¼ |
| | | //(3)this.editFormFields.åæ®µ='xxx'; |
| | | //妿éè¦ç»ä¸ææ¡è®¾ç½®é»è®¤å¼ï¼è¯·éåthis.editFormOptionsæ¾å°å段é
置对åºdata屿§çkeyå¼ |
| | | //ç䏿就æè¾åºçï¼console.log(this.editFormOptions) |
| | | if (row.out_type == "20") { |
| | | this.detail.columns.forEach((x) => { |
| | | if (x.field == "order_Outqty") { |
| | | x.title = "çç¹æ°é", |
| | | x.edit = true |
| | | } |
| | | }) |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | }; |
| | | export default extension; |
| | | |
| | | } |
| | | }; |
| | | export default extension; |
| | |
| | | .post("api/DeliveryOrder/CreateCheckOrder", allIds) |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.$Message.success('çç¹ä»»å¡å®æ'); |
| | | this.$Message.success('å建çç¹åæå'); |
| | | this.refresh(); |
| | | } else { |
| | | return this.$error(x.message); |
| | |
| | | ]); |
| | | |
| | | const detail = ref({ |
| | | cnName: "åå²åºåºåæç»", |
| | | cnName: "åºåºåæç»", |
| | | table: "DeliveryOrderDetail", |
| | | url: "/DeliveryOrderDetail/", |
| | | columns: [ |
| | |
| | | width: 100, |
| | | require: true, |
| | | align: 'left', |
| | | // edit:{type:"number"} |
| | | edit:{type:"number"} |
| | | }, |
| | | { |
| | | field: 'batch_num', |
| | |
| | | width: 120, |
| | | require: true, |
| | | align: 'left', |
| | | // edit:{type:""} |
| | | edit:{type:""} |
| | | }, |
| | | { |
| | | field: 'exp_date', |
| | |
| | | type: 'string', |
| | | width: 120, |
| | | align: 'left', |
| | | // edit:{type:""} |
| | | edit:{type:""} |
| | | }, |
| | | { |
| | | field: 'ootDetailStatus', |