| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="VcsDirectoryMappings"> |
| | | <mapping directory="$PROJECT_DIR$/../.." vcs="Git" /> |
| | | <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> |
| | | </component> |
| | | </project> |
| | |
| | | } |
| | | |
| | | db.Updateable(cntrItemDetails).UpdateColumns(p => new { p.N_ALR_ENTR }).ExecuteCommand(); |
| | | |
| | | var container = AdoSqlMethod<Container>.QueryFirst(p => p.S_CODE == task.S_CNTR_CODE); |
| | | |
| | | container.C_ENABLE = 'Y'; |
| | | container.N_DETAIL_COUNT = 0; |
| | | container.S_TYPE = null; |
| | | |
| | | AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE }); |
| | | |
| | | |
| | | OutWareHouseService.ResultDeterminationGuideOut(task); |
| | | |
| | | |
| | | } |
| | | // 指引出库 |
| | | else if (task.N_TYPE == 7) |
| | |
| | | |
| | | container.C_ENABLE = 'Y'; |
| | | container.N_DETAIL_COUNT = 0; |
| | | container.S_TYPE = null; |
| | | |
| | | AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT }); |
| | | AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE }); |
| | | } |
| | | } |
| | | |
| | |
| | | /// <returns></returns> |
| | | internal static string GenerateTaskNo(string snType, string prefix) |
| | | { |
| | | var id = SYSHelper.GetSerialNumber(snType, prefix); |
| | | var date = DateTime.Now.ToString("yyMMdd"); |
| | | var id = SYSHelper.GetSerialNumber(snType, prefix + date); |
| | | return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}"; |
| | | } |
| | | |
| | |
| | | // 查询出所有该优先级的可用货位 |
| | | var locations = sqlSugarClient.Queryable<Location>() |
| | | .Where(p => p.N_PRIORITY == priority && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList(); |
| | | |
| | | |
| | | // 优先查询今日份任务中未完成的(等待,执行中) |
| | | var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today); |
| | | |
| | | if (notQueryList.Count > 0) |
| | | { |
| | | var groupBy = notQueryList.GroupBy(p=>p.N_ROADWAY); |
| | | |
| | | foreach (var item in groupBy) |
| | | { |
| | | if (item.Key == 1 || item.Key == 2 || item.Key == 3 || |
| | | item.Key == 4) |
| | | { |
| | | locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList(); |
| | | } |
| | | else if (item.Key == 5 && item.ToList().Count >= 3) |
| | | { |
| | | locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 存在该优先级的可用货位 |
| | | if (locations.Count > 0) |
| | | { |
| | |
| | | .Where(p => p.N_PRIORITY == i && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList(); |
| | | |
| | | // 优先查询今日份任务中未完成的(等待,执行中) |
| | | var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today); |
| | | var notQueryList = AdoSqlMethod<Operation> |
| | | .QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today && (p.N_TYPE == 1 || p.N_TYPE == 3)); |
| | | |
| | | if (notQueryList.Count > 0) |
| | | { |
| | |
| | | S_DC_NO = operation.S_DC_NO, |
| | | // 作业类型 |
| | | S_OP_NAME = operation.S_OP_DEF_NAME, |
| | | // 巷道 |
| | | N_ROADWAY = operation.N_ROADWAY, |
| | | }; |
| | | |
| | | tasks.Add(task1); |
| | |
| | | S_OP_NAME = operation.S_OP_DEF_NAME, |
| | | // 配盘单号 |
| | | S_DC_NO = operation.S_DC_NO, |
| | | // 任务名称 |
| | | // 巷道 |
| | | N_ROADWAY = operation.N_ROADWAY, |
| | | }; |
| | | |
| | | tasks.Add(task1); |
| | |
| | | // 任务名称 |
| | | S_OP_NAME = operation.S_OP_DEF_NAME, |
| | | // 配盘单号 |
| | | S_DC_NO = operation.S_DC_NO |
| | | S_DC_NO = operation.S_DC_NO, |
| | | // 巷道 |
| | | N_ROADWAY = operation.N_ROADWAY, |
| | | }; |
| | | |
| | | tasks.Add(task2); |
| | |
| | | { |
| | | model.N_B_STATE = 2; |
| | | model.S_B_STATE = "出库作业已创建"; |
| | | |
| | | |
| | | AdoSqlMethod<TN_Distribution_CNTR>.UpdateFirstTran(sqlSugarClient, model, |
| | | p => new { p.N_B_STATE, p.S_B_STATE }); |
| | | |
| | |
| | | using EasyModbus; |
| | | using HH.WCS.Mobox3.RiDong.apiMethod; |
| | | using HH.WCS.Mobox3.RiDong.models; |
| | | using HH.WCS.Mobox3.RiDong.util; |
| | | using S7.Net.Types; |
| | | using Task = HH.WCS.Mobox3.RiDong.models.Task; |
| | | |
| | |
| | | .QueryList(p => |
| | | p.N_B_STATE == 0 && p.N_SCHEDULE_TYPE == 2 && |
| | | (p.N_TYPE == 2 || p.N_TYPE == 4 || p.N_TYPE == 5 || p.N_TYPE == 6 || p.N_TYPE == 7)); |
| | | |
| | | |
| | | // 排序 |
| | | tasks = tasks.OrderBy(p=>p.N_ROADWAY).ThenBy(p=>p.T_CREATE).ToList(); |
| | | |
| | | |
| | | foreach (var task in tasks) |
| | | { |
| | | // 判断有没有已推送的任务,有的话不推送,没有就推送 |
| | | // if(AdoSqlMethod<Task>.QueryCount(p=>(p.N_B_STATE == 1 || p.N_B_STATE == 2) && p.N_SCHEDULE_TYPE == 2 )) |
| | | |
| | | LogHelper.Info($"当前推送任务在第{task.N_ROADWAY}巷道"); |
| | | // 出库AGV不做限制直接推送 |
| | | if (TaskHelper.SendTaskFromAGV(task)) |
| | | { |
| | |
| | | /// </summary> |
| | | public string S_DC_NO { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 巷道 |
| | | /// </summary> |
| | | public int N_ROADWAY{ get; set; } |
| | | |
| | | internal static string GetStateStr(int state) |
| | | { |
| | | //0等待 1已推送 2执行 3完成 4错误 |
| | |
| | | if (cntrInfo.C_ENABLE == 'N') |
| | | { |
| | | cntrInfo.C_ENABLE = 'Y'; |
| | | cntrInfo.S_TYPE = null; |
| | | AdoSqlMethod<Container>.UpdateFirstTran(querySqlSugarClient, cntrInfo, |
| | | p => new { p.C_ENABLE, p.T_MODIFY, p.S_TYPE }); |
| | | p => new { p.C_ENABLE, p.T_MODIFY }); |
| | | |
| | | var cirList = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE == cntr).ToList(); |
| | | |