From 0b5ccdca6263cf7a2cee460f30c76ef1efea2811 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期六, 27 四月 2024 17:47:27 +0800 Subject: [PATCH] 人工出库,人工入库,人工移库,PDA扫码确认外协物料已被取走接口 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs | 115 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 95 insertions(+), 20 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" index c2252b6..7bf5815 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" @@ -6,6 +6,7 @@ using WIDESEA_Comm.LogInfo; using WIDESEA_Comm.MES_Info; using WIDESEA_Comm.MES_Info.Request; +using WIDESEA_Comm.TaskNo; using WIDESEA_Common; using WIDESEA_Core.EFDbContext; using WIDESEA_Core.ManageUser; @@ -22,7 +23,7 @@ public partial class ToMesServer { /// <summary> - /// 澶栧崗鍏ュ簱(妫�娴嬩笂鏂�) + /// 澶栧崗鍑哄簱(妫�娴嬩笂鏂�) /// </summary> /// <param name="saveModel"></param> /// <returns></returns> @@ -32,36 +33,110 @@ try { string stationNo = saveModel.MainData["stationNo"].ToString(); //缂撳瓨鏋剁紪鍙� + if (string.IsNullOrEmpty(stationNo)) return content.Error("璇烽�夋嫨涓嬫枡鍙o紒"); string user = saveModel.MainData["creator"].ToString(); string sn = saveModel.MainData["dataSN"].ToString(); //杞﹁疆SN鍙� - int i = 1; //杞﹁疆鏁伴噺 - foreach (var item in sn.Split(",")) + #region 鍒ゆ柇SN鍙烽暱搴︺�佹槸鍚﹀瓨鍦ㄧ浉鍚孲N鍙� + bool strOK = false; + bool SNOK = false; + for (int i = 1; i < sn.Split(",").Length; i++) { - if(item!= null) + for (int j = 0; j < i; j++) { - var info = freeDB.Select<VV_MES_Info>().Where(x => x.SN == item).First(); - if (info == null) - { - return content.Error($"绗瑊i}涓溅杞棤妫�娴嬩笂鏂欏伐鍗曚俊鎭紝璇锋牳鏌ュ伐鍗曞悗鍦ㄦ壂鎻忥紒"); - } - i++; + if (sn.Split(",")[j] == sn.Split(",")[i]) + strOK = true; + if (sn.Split(",")[j].Length != 10) + SNOK = true; } - } - + if (strOK) + return content.Error("瀛樺湪鐩稿悓SN鍙风殑杞﹁疆淇℃伅锛佽閲嶆柊鎵弿锛�"); + if (SNOK) + return content.Error("杞﹁疆SN鍙锋湁璇紒璇烽噸鏂版壂鎻忥紒"); + #endregion - dt_agvtask agvtask = new dt_agvtask + //dt_mes_detail info = null; + //dt_mes_head mes_head = null; + VV_Mes_Workinfo mes_Work = null; + + int count = 0; //杞﹁疆鏁伴噺 + string bindSN = ""; + List<string> list = new List<string>(); + foreach (var SN in sn.Split(",")) { - agv_barcode = stationNo, - agv_code = user, + if (!string.IsNullOrEmpty(SN)) + list.Add(SN); + } + foreach (var item in list) + { + if (item != null) + { + count++; + bindSN += bindSN == "" ? item : "," + item; + + mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == item && x.processCode == "28").First(); + if (mes_Work == null) + return content.Error($"绗瑊count}涓溅杞棤妫�娴嬩笂鏂欏伐鍗曚俊鎭紝璇锋牳鏌ュ伐鍗曞悗鍦ㄦ壂鎻忥紒"); + //info = freeDB.Select<dt_mes_detail>().Where(x => x.SN == item).First(); + //if (info == null) + // return content.Error($"绗瑊count}涓溅杞棤妫�娴嬩笂鏂欏伐鍗曡鎯咃紝璇锋牳鏌ュ伐鍗曞悗鍦ㄦ壂鎻忥紒"); + //mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == info.jobID && x.processCode == "28").First(); + //if (mes_head == null) + // return content.Error($"绗瑊count}涓溅杞棤妫�娴嬩笂鏂欏伐鍗曚俊鎭紝璇锋牳鏌ュ伐鍗曞悗鍦ㄦ壂鎻忥紒"); + } + } + VOLContext Context = new VOLContext(); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context); + var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == stationNo).First(); + if (freeDB.Select<dt_agvtask>().Where(x => x.agv_fromaddress == station.stationCode).Any()) + return content.Error($"涓嬫枡鍙stationNo}瀛樺湪AGV浠诲姟锛岃鏍稿疄锛�"); + if (!station.enable) + return content.Error($"涓嬫枡鍙stationNo}琚鐢紝璇锋牳瀹烇紒"); + station.quantity = count; + station.bindSN = bindSN; + station.stationType = mes_Work.drawingNo; + station.location_state = "Stroge"; + station.Number = mes_Work.jobID; + if (mes_Work.heatID != null) + station.heatNumber = mes_Work.heatID; + station.tray_status = "StrogeTray"; + + stationinfoRepository.Update(station, true); + #region MyRegion + //dt_agvtask agvtask = new dt_agvtask + //{ + // //agv_barcode = stationNo, + // //agv_code = user, + // agv_createtime = DateTime.Now, + // agv_fromaddress = stationNo, + // agv_qty = i, + // agv_grade = 1, + // agv_tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(), + // agv_taskstate = AGVTaskStateEnum.Create.ToString(), + // agv_toaddress = "", + //}; + #endregion + + dt_agvtask agvtask = new dt_agvtask() + { + agv_fromaddress = station.stationCode, + agv_id = Guid.NewGuid(), + agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), + agv_grade = 3, agv_createtime = DateTime.Now, - agv_fromaddress = stationNo, - agv_qty = i, - agv_grade = 1, - agv_tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(), - agv_taskstate = AGVTaskStateEnum.Create.ToString(), + agv_taskstate = "Queue", + agv_materielid = station.stationType, + agv_qty = station.quantity, + agv_tasktype = "TaskType_OutsourceOutbound", agv_toaddress = "", + agv_userid = user,//"绯荤粺", + jobID = mes_Work.jobID, + bindSN = station.bindSN, + agv_worktype = Convert.ToInt32(mes_Work.processCode), + agv_materbarcode = mes_Work.materialCode, + agv_Traytype = station.tray_type, + agv_TrayStatus = station.tray_status }; freeDB.Add(agvtask); return content.OK(); -- Gitblit v1.9.3