| | |
| | | using Newtonsoft.Json.Linq; |
| | | using S7.Net; |
| | | using System.Threading.Tasks; |
| | | using HH.WCS.XiaoMi.LISTA.dispatch; |
| | | using static HH.WCS.XiaoMi.LISTA.dispatch.RcsHelper; |
| | | |
| | | namespace HH.WCS.XiaoMi.process |
| | | { |
| | |
| | | { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | if (mst.S_FRAME_CODE != null) |
| | | { |
| | | LocationHelper.UnBindingLocHj(mst.S_START_LOC, mst.S_FRAME_CODE); |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | |
| | | } |
| | | else |
| | | { |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | //如果货架有值则绑货架 |
| | | if (mst.S_FRAME_CODE!=null) |
| | | { |
| | | LocationHelper.BindingLocHj(mst.S_END_LOC, mst.S_FRAME_CODE); |
| | | |
| | | } |
| | | else |
| | | { |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | |
| | | } |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | } |
| | | |
| | | } |
| | |
| | | if (state == 7) |
| | | { |
| | | CacheBitCancelUpdate(mst); |
| | | ////小米订单取消 |
| | | //CancelModel cancelModel = new CancelModel(); |
| | | //cancelModel.order_id = mst.S_WORKSHOP_NO; |
| | | //cancelModel.order_command_type_id = "2"; |
| | | //RcsHelper.CancelOrder(cancelModel); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | private static object locLocker = new object(); |
| | | |
| | | /// <summary> |
| | |
| | | else { result = true; } |
| | | return result; |
| | | } |
| | | //小米推送任务 |
| | | internal static bool SendXmTask(WCSTask mst) |
| | | { |
| | | var result = false; |
| | | var taskState = mst.N_B_STATE; |
| | | if (taskState == 0) |
| | | { |
| | | Console.WriteLine($"任务mst {JsonConvert.SerializeObject(mst)}"); |
| | | LogHelper.Info($"任务mst {JsonConvert.SerializeObject(mst)}", "任务"); |
| | | //var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); |
| | | //var endLoc = LocationHelper.GetLoc(mst.S_END_LOC); |
| | | if (mst.S_START_LOC != null && mst.S_END_LOC != null) |
| | | { |
| | | bool res = false; |
| | | if (mst.S_TYPE == "大件") |
| | | { |
| | | string src = $"\"src\":\"{mst.S_START_LOC}\","; |
| | | string dst = $"\"dst\":\"{mst.S_END_LOC}\","; |
| | | string carrier_type_id = $"\"carrier_type_id\":\"1\""; |
| | | string parmeS = "{"; |
| | | string parmeD = "}"; |
| | | string parme = parmeS + src + dst + carrier_type_id + parmeD; |
| | | |
| | | LogHelper.Info($"推送任务参数{parme}", "任务"); |
| | | AntsTaskModel model = new AntsTaskModel(); |
| | | model.order_name = mst.S_CODE; |
| | | model.priority = 1; |
| | | model.dead_line = DateTime.Now.ToString(); |
| | | model.ts_name = mst.S_TYPE; |
| | | model.parameters = parme; |
| | | //model.parameters = new AntsParasModel { |
| | | // src = mst.S_START_LOC, |
| | | // dst = mst.S_END_LOC, |
| | | // carrier_type_id="-99" |
| | | //}; |
| | | res = RcsHelper.CreateAntsOrder(model); |
| | | } |
| | | else if (mst.S_TYPE == "小件通用车型") |
| | | { |
| | | string src = $"\"src\":\"{mst.S_START_LOC}\","; |
| | | string dst = $"\"dst\":\"{mst.S_END_LOC}\","; |
| | | string car_type = $"\"car_type\":\"1\","; |
| | | string src_ort = $"\"src_ort\":\"-1\","; |
| | | string dst_ort = $"\"dst_ort\":\"-1\""; |
| | | string parmeS = "{"; |
| | | string parmeD = "}"; |
| | | string parme = parmeS + src + dst + car_type + src_ort + dst_ort + parmeD; |
| | | |
| | | LogHelper.Info($"推送任务参数{parme}", "任务"); |
| | | |
| | | PickingTaskModel model = new PickingTaskModel(); |
| | | model.order_name = mst.S_CODE; |
| | | model.priority = 1; |
| | | model.dead_line = DateTime.Now.ToString(); |
| | | model.ts_name = "p2p"; |
| | | model.parameters = parme; |
| | | //model.parameters = new AntsParasModel { |
| | | // src = mst.S_START_LOC, |
| | | // dst = mst.S_END_LOC, |
| | | // carrier_type_id="-99" |
| | | //}; |
| | | res = RcsHelper.CreatePickingOrder(model); |
| | | } |
| | | else if (mst.S_TYPE == "inbound") |
| | | { |
| | | //查出货架编码 |
| | | var db = new SqlHelper<Object>().GetInstance(); |
| | | var locFrameRel = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == mst.S_START_LOC).First(); |
| | | string tote_id = $"\"tote_id\":\"{locFrameRel.S_FRAME_CODE}\","; |
| | | string task_type = $"\"task_type\":\"{mst.S_TYPE}\","; |
| | | string src = $"\"src\":\"{mst.S_START_LOC}\","; |
| | | string dst = $"\"dst\":\"{mst.S_END_LOC}\","; |
| | | |
| | | string extra_info = $"\"extra_info\":"; |
| | | string layer = $"\"layer\":[1,2,3,4],"; |
| | | string put = $"\"put\":true"; |
| | | string parmeS = "{"; |
| | | string parmeD = "}"; |
| | | string parmezS = "["; |
| | | string parmezD = "]"; |
| | | string parme = parmeS + tote_id + task_type + src + dst + extra_info + parmezS+ parmeS + layer + put + parmeD + parmezD + parmeD; |
| | | |
| | | LogHelper.Info($"推送任务参数{parme}", "任务"); |
| | | |
| | | PickingTaskModel model = new PickingTaskModel(); |
| | | model.order_name = mst.S_CODE; |
| | | model.priority = 1; |
| | | model.dead_line = DateTime.Now.ToString(); |
| | | model.ts_name = "picking_ts"; |
| | | model.parameters = parme; |
| | | //model.parameters = new AntsParasModel { |
| | | // src = mst.S_START_LOC, |
| | | // dst = mst.S_END_LOC, |
| | | // carrier_type_id="-99" |
| | | //}; |
| | | res = RcsHelper.CreatePickingOrder(model); |
| | | } |
| | | |
| | | |
| | | if (res) |
| | | { |
| | | //更新任务状态 |
| | | mst.N_B_STATE = 1; |
| | | //mst.S_EQ_TASK_CODE = res.ToString(); |
| | | WCSHelper.UpdateStatus(mst); |
| | | WCSHelper.UpdateEQNo(mst); |
| | | ////推送成功,修改任务状态 |
| | | //TaskHelper.UpdateStatus(mst, "已推送"); |
| | | ////推送成功,修改国自ID |
| | | //TaskHelper.UpdateGzId(mst, res); |
| | | LogHelper.Info($"任务mst {mst.S_CODE}推送成功", "任务"); |
| | | result = true; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | else { result = true; } |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 创建搬运任务 |
| | |
| | | |
| | | |
| | | var res = WCSHelper.CreateTask(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer); |
| | | if (res) |
| | | { |
| | | result = true; |
| | | //任务创建成功,起点货位出库锁定,终点货位入库锁定 |
| | | LocationHelper.LockLoc(start, 2); |
| | | LocationHelper.LockLoc(end, 1); |
| | | } |
| | | return result; |
| | | } |
| | | //小米大件 |
| | | public static bool CreateTransportDj(string start, string end, string taskType, string cntrs, string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1) |
| | | { |
| | | var result = false; |
| | | var trayCodes = cntrs; |
| | | var taskNo = DateTime.Now.Ticks.ToString(); |
| | | |
| | | |
| | | |
| | | var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName, trayCarryCount, startLayer, endLayer); |
| | | if (res) |
| | | { |
| | | result = true; |
| | |
| | | result = list.OrderBy(s => s.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault(); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | switch (model.ts_name) |
| | | { |
| | | case "p2p": |
| | | startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); |
| | | startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First(); |
| | | if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") |
| | | { |
| | | Message = $"{model.parameter.src}库位已被锁定!"; |
| | | Message = $"{model.parameters.src}库位已被锁定!"; |
| | | } |
| | | endLocStr = model.parameter.dst; |
| | | |
| | | endLocStr = model.parameters.dst; |
| | | |
| | | break; |
| | | case "p2a": |
| | | startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); |
| | | startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First(); |
| | | if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") |
| | | { |
| | | Message = $"{model.parameter.src}库位已被锁定!"; |
| | | Message = $"{model.parameters.src}库位已被锁定!"; |
| | | } |
| | | var endLoc = InWorkTransport(model.parameter.dst_area); |
| | | if (endLoc==null) |
| | | var endLoc = InWorkTransport(model.parameters.dst_area); |
| | | if (endLoc == null) |
| | | { |
| | | //如果没找到就等第一条 |
| | | endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; |
| | | endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; |
| | | |
| | | } |
| | | break; |
| | | case "a2p": |
| | | startLoc = OutWorkTransport(model.parameter.src_area); |
| | | if (startLoc==null) |
| | | { |
| | | Message = $"{model.parameter.dst}库区没有可出货位!"; |
| | | } |
| | | |
| | | endLocStr = model.parameter.dst; |
| | | break; |
| | | case "a2a": |
| | | startLoc = OutWorkTransport(model.parameter.src_area); |
| | | startLoc = OutWorkTransport(model.parameters.src_area); |
| | | if (startLoc == null) |
| | | { |
| | | Message = $"{model.parameter.src}库区没有可出货位!"; |
| | | Message = $"{model.parameters.dst}库区没有可出货位!"; |
| | | } |
| | | var endLoc1 = InWorkTransport(model.parameter.dst_area); |
| | | |
| | | endLocStr = model.parameters.dst; |
| | | break; |
| | | case "a2a": |
| | | startLoc = OutWorkTransport(model.parameters.src_area); |
| | | if (startLoc == null) |
| | | { |
| | | Message = $"{model.parameters.src}库区没有可出货位!"; |
| | | } |
| | | var endLoc1 = InWorkTransport(model.parameters.dst_area); |
| | | if (endLoc1 == null) |
| | | { |
| | | //如果没找到就等第一条 |
| | | endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; |
| | | endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; |
| | | |
| | | } |
| | | break; |
| | | case "p2u": |
| | | startLoc = OutWorkTransport(model.parameter.src); |
| | | startLoc = OutWorkTransport(model.parameters.src); |
| | | if (startLoc == null) |
| | | { |
| | | Message = $"{model.parameter.src}库区没有可出货位!"; |
| | | Message = $"{model.parameters.src}库区没有可出货位!"; |
| | | } |
| | | endLocStr = ""; |
| | | break; |
| | | } |
| | | |
| | | LogHelper.Info($"bigMaterial 接收参数{JsonConvert.SerializeObject(model)}"); |
| | | //创建托盘货位绑定关系 |
| | | string trayCode = ContainerHelper.GenerateCntrNo(); |
| | | //绑定起点货位(产线)和物料 |
| | | ContainerHelper.BindLocCntrs(startLoc.S_CODE, trayCode, model.parameter.sku, ""); |
| | | ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameters.sku, "", model.parameters.BatchNo, model.parameters.issueMode, model.parameters.num); |
| | | |
| | | var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); |
| | | //创建任务 |
| | | LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLocStr}", model.ts_name); |
| | | var res = TaskProcess.CreateTransport(startLoc.S_CODE, endLocStr, model.ts_name, locCntrRel.S_CNTR_CODE, 1, 1); |
| | | LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLocStr}", "大件"); |
| | | var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLocStr, "大件", locCntrRel.S_CNTR_CODE, model.order_name, 1, 1); |
| | | if (!res) |
| | | { |
| | | return new TaskResponse |
| | |
| | | |
| | | } |
| | | |
| | | //自动 拆分 |
| | | public static TaskResponse autoSmallMaterial(smallMaterial model) { |
| | | //小件 |
| | | public static TaskResponse smallMaterial(smallMaterial model) |
| | | { |
| | | var db = new SqlHelper<Location>().GetInstance(); |
| | | |
| | | string Message = null; |
| | | |
| | | //拆分成两条任务,一条是料架到指定的缓存区,二是料架上的托盘到指定的工位(小米wcs传)一对多 |
| | | var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.parameters[0].src).First(); |
| | | |
| | | var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First(); |
| | | if (startLoc == null || startLoc.N_LOCK_STATE != 0) |
| | | try |
| | | { |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = $"{model.parameters[0].src}库位已被锁定!" } |
| | | }; |
| | | } |
| | | var endReservoirs = Settings.ReservoirAreas.Where(s => s.areaName == model.routeType).FirstOrDefault(); |
| | | var endLoc = TaskProcess.InWorkTransport(endReservoirs.areaCode); |
| | | if (endLoc != null) |
| | | { |
| | | //创建到缓存区任务 |
| | | var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); |
| | | //创建任务 |
| | | LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLoc.S_CODE}", model.ts_name); |
| | | var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_FRAME_CODE, 1, 1); |
| | | if (!res) |
| | | string Message = null; |
| | | |
| | | //拆分成两条任务,一条是料架到指定的缓存区,二是料架上的托盘到指定的工位(小米wcs传)一对多 |
| | | var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.taskList[0].parameters.src).First(); |
| | | if (startLoc == null || startLoc.N_LOCK_STATE != 0) |
| | | { |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = "自动上线任务创建失败" } |
| | | }; |
| | | header = new ResponseHead { code = 0, desc = $"{model.taskList[0].parameters.src}库位已被锁定!" } |
| | | }; |
| | | } |
| | | } |
| | | //料架上的托盘到指定的工位 |
| | | foreach (var parameter in model.parameters) |
| | | { |
| | | var startLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.src).First(); |
| | | if (startLocHj == null || startLocHj.N_LOCK_STATE != 0) |
| | | var endLoc = TaskProcess.InWorkTransport(model.shippingRoute); |
| | | if (endLoc != null) |
| | | { |
| | | Message = Message==null? $"{model.parameters[0].src}库位已被锁定!": Message+ $"{model.parameters[0].src}库位已被锁定!"; |
| | | } |
| | | else |
| | | { |
| | | //货架上的货判断一下货架有没有锁 |
| | | var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First(); |
| | | if (startFrameParent != null) |
| | | ////创建到缓存区任务 |
| | | //var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); |
| | | |
| | | //找p2a的任务编码 |
| | | var order_name = model.taskList.Find(s=>s.ts_name=="p2a").order_name; |
| | | //创建任务 |
| | | LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLoc.S_CODE}", "小件通用车型"); |
| | | var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLoc.S_CODE, "小件通用车型", model.rackNumber, order_name, 1, 1); |
| | | if (!res) |
| | | { |
| | | var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First(); |
| | | if (startLocParent == null || startLocParent.N_LOCK_STATE != 0) |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = "自动上线任务创建失败" } |
| | | }; |
| | | } |
| | | } |
| | | //料架上的托盘到指定的工位 |
| | | foreach (var tasklist in model.taskList) |
| | | { |
| | | if (tasklist.ts_name == "p2p") |
| | | { |
| | | //先绑定料架和料箱位 |
| | | ContainerHelper.BindLocCntrsXmLj(tasklist.rackPosition, model.rackNumber); |
| | | |
| | | var startloc = db.Queryable<Location>().Where(a => a.S_CODE == tasklist.rackPosition).First(); |
| | | if (startloc == null || startloc.N_LOCK_STATE != 0) |
| | | { |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = $"{startFrameParent.S_FRAME_CODE}货架已被锁定!" } |
| | | header = new ResponseHead { code = 0, desc = $"{startloc.S_CODE}库位已被锁定!" } |
| | | }; |
| | | } |
| | | } |
| | | var endLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.dst).First(); |
| | | if (endLocHj == null || endLocHj.N_LOCK_STATE != 0 || endLocHj.C_ENABLE != "Y") |
| | | { |
| | | //应该绕路 |
| | | var endlocstr = tasklist.parameters.dst; |
| | | |
| | | Message = Message == null ? $"{parameter.dst}库位已被锁定!" : Message + $"{parameter.dst}库位已被锁定!"; |
| | | } |
| | | else |
| | | { |
| | | //货架上的货判断一下货架有没有锁 |
| | | var endFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.dst).First(); |
| | | if (endFrameParent != null) |
| | | { |
| | | var endLocParent = db.Queryable<Location>().Where(a => a.S_CODE == endFrameParent.S_FRAME_CODE).First(); |
| | | if (endLocParent == null || endLocParent.N_LOCK_STATE != 0) |
| | | { |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = $"{endFrameParent.S_FRAME_CODE}货架已被锁定!" } |
| | | }; |
| | | } |
| | | } |
| | | //创建到缓存区任务 |
| | | var locCntrRel1 = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLocHj.S_CODE).First(); |
| | | //创建托盘货位绑定关系 |
| | | string trayCode = ContainerHelper.GenerateCntrNo(); |
| | | //绑定起点货位(产线)和物料 |
| | | ContainerHelper.BindLocCntrsXm(startloc.S_CODE, trayCode, tasklist.parameters.sku, "", tasklist.parameters.BatchNo, tasklist.parameters.issueMode, tasklist.parameters.num); |
| | | |
| | | var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startloc.S_CODE).First(); |
| | | //创建任务 |
| | | LogHelper.Info($"创建任务 起点:{startLocHj.S_CODE}终点:{endLocHj.S_CODE}", model.ts_name); |
| | | var res = TaskProcess.CreateTransport(startLocHj.S_CODE, endLocHj.S_CODE, model.ts_name, locCntrRel1.S_CNTR_CODE, 1, 1); |
| | | LogHelper.Info($"创建任务 起点:{startloc.S_CODE}终点:{endlocstr}", "inbound"); |
| | | var res = TaskProcess.CreateTransportDj(startloc.S_CODE, endlocstr, "inbound", locCntrRel.S_CNTR_CODE, tasklist.order_name, 1, 1); |
| | | if (!res) |
| | | { |
| | | return new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 0, desc = "自动上线任务2创建失败" } |
| | | header = new ResponseHead { code = 1, desc = Message } |
| | | }; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | var result = new TaskResponse(); |
| | | if (Message != null) |
| | | { |
| | | result = new TaskResponse |
| | | var result = new TaskResponse(); |
| | | if (Message != null) |
| | | { |
| | | header = new ResponseHead { code = 0, desc = Message } |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | result = new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 200, desc = "SUCCESS" }, |
| | | body = new ResponseBody |
| | | result = new TaskResponse |
| | | { |
| | | msg = "success", |
| | | app_name = "Guozi client", |
| | | data = new List<ResponseData> { new ResponseData { in_order_id = model.taskID } }, |
| | | version = "" |
| | | } |
| | | }; |
| | | header = new ResponseHead { code = 0, desc = Message } |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | result = new TaskResponse |
| | | { |
| | | header = new ResponseHead { code = 200, desc = "SUCCESS" }, |
| | | body = new ResponseBody |
| | | { |
| | | msg = "success", |
| | | app_name = "Guozi client", |
| | | data = new List<ResponseData> { new ResponseData { in_order_id = model.taskList[0].taskID } }, |
| | | version = "" |
| | | } |
| | | }; |
| | | } |
| | | return result; |
| | | |
| | | |
| | | |
| | | } |
| | | return result; |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("smallMaterial:" + ex.Message + ex.StackTrace); |
| | | LogHelper.Error("smallMaterial:" + ex.Message, ex); |
| | | throw; |
| | | } |
| | | } |
| | | //人工 不拆分 |
| | | public static void artificialSmallMaterial(smallMaterial model) |
| | | { |
| | | var db = new SqlHelper<Location>().GetInstance(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |