| | |
| | | using Admin.NET.Application; |
| | | using iWareCC.SrmService; |
| | | using iWareCC.StationService; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon.Utils; |
| | | using iWareModel; |
| | |
| | | { |
| | | |
| | | /// <summary> |
| | | /// 生成最新的任务号 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <param name="rbTaskTypeEnum"></param> |
| | | /// <param name="plcTaskNo"></param> |
| | | /// <returns></returns> |
| | | public static string GetNewTaskNo(WmsDBModel wmsDB, RbTaskTypeEnum rbTaskTypeEnum, string plcTaskNo) |
| | | { |
| | | //判断如果任务号跟上一个任务号重复,就自动减去1 |
| | | var lastTask = wmsDB.wms_rbline_task.Where(x => x.RbTaskType == (int)rbTaskTypeEnum).OrderByDescending(x => x.Id).FirstOrDefault(); |
| | | if (lastTask != null && lastTask.TaskNo == plcTaskNo) |
| | | { |
| | | plcTaskNo = (Convert.ToInt32(plcTaskNo) - 1).ToString(); |
| | | } |
| | | else |
| | | { |
| | | |
| | | } |
| | | return plcTaskNo; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 写入 报警信息 |
| | | /// </summary> |
| | | /// <param name="warningAddress"></param> |
| | | /// <returns></returns> |
| | | public static async Task<iWareCC.StationService.SdaResEntity> WriteBoolPlcDataForWarning(string warningAddress) |
| | | { |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | |
| | | var res = await client.WriteBoolPlcDataAsync((int)EDevice.Station, "3000|" + warningAddress, true); |
| | | return res; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 处理 表 mes_order_gather |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | |
| | | { |
| | | errMsg = ""; |
| | | //处理表 mes_order_gather |
| | | if (package == null) { |
| | | if (package == null) |
| | | { |
| | | return true; |
| | | } |
| | | var isAddOrder = false; |
| | |
| | | Info5 = package.Info5, |
| | | OrderId = package.OrderId, |
| | | PlanNo = package.PlanNo, |
| | | |
| | | CreateTime = DateTime.Now, |
| | | UpdateTime = DateTime.Now, |
| | | CreateUserName = SysGloble.WCSSystem, |
| | | UpdateUserName = SysGloble.WCSSystem |
| | | }; |
| | | isAddOrder = true; |
| | | } |
| | | order.PackageNum = packageList.Count(); |
| | | order.UnLinePackageNum = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.已下线).Count(); |
| | | order.NgPackageNum = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.已下线 && x.UpiFlag == (int)UpiFlagEnum.NG).Count(); |
| | | order.NoUnLinePackageNum = order.PackageNum - order.UnLinePackageNum; |
| | | |
| | | order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.ScanPackageArea = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.已下线).Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.ScanPackageArea = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.已下线 && x.UpiFlag == (int)UpiFlagEnum.正常).Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea; |
| | | order.IsKitting = qitaoValue == "齐套" ? true : false; |
| | | |