| | |
| | | } |
| | | |
| | | var rowCount = _db.Updateable(boxInfo).ExecuteCommand(); |
| | | Log.Information(string.Format("插码成功,箱码是:"+ boxNo, modDevice.StationNum)); |
| | | if (rowCount > 0) |
| | | { |
| | | // 插码成功 |
| | |
| | | } |
| | | break; |
| | | } |
| | | // 组托成功后将信息存到log表 |
| | | string sqlStr = $"insert into WCSBoxInfoLog select * from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'"; |
| | | int insertCount = _db.Ado.ExecuteCommand(sqlStr); |
| | | if (insertCount > 0) |
| | | { |
| | | // 组托成功后将信息存到log表 |
| | | string sqlStr2 = $"delete from WCSBoxInfoLog where IsDelete=0 and PalletNo='{palletNo}'"; |
| | | string sqlStr2 = $"delete from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'"; |
| | | _db.Ado.ExecuteCommand(sqlStr2); |
| | | } |
| | | |
| | |
| | | private static void StackingRobot(WcsDeviceDto modDevice) |
| | | { |
| | | var plcConn = modDevice.PLCUtil; |
| | | if (modDevice.DbNumber == "DB131" && modDevice.DbNumber == "DB132" && modDevice.DbNumber == "DB133" && modDevice.DbNumber == "DB134") |
| | | if (modDevice.DbNumber == "DB131" || modDevice.DbNumber == "DB132" || modDevice.DbNumber == "DB133" || modDevice.DbNumber == "DB134") |
| | | { |
| | | switch (modDevice.Value.ToString()) |
| | | { |
| | |
| | | // 根据任务号获取任务信息 |
| | | if (res1.IsSucceed) |
| | | { |
| | | var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false); |
| | | var modTask = _db.Queryable<WcsTask>().First(m => m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false); |
| | | if (modTask == null) |
| | | { |
| | | Log.Error(string.Format($"出库任务未下发,请人工处理,无法拆垛!")); |
| | |
| | | //通过任务号和托盘号向WMS申请此托盘的拆垛信息 |
| | | var http = new HttpService(); |
| | | RequestBoxInfoCheckAll tasklist = http.RequestBoxCheckinfo(palletVal, tasknoVal); |
| | | if (!tasklist.Success.Contains("-1")) |
| | | if (tasklist.Success != -1) |
| | | { |
| | | //获取拆垛物料品种(需要增加物料判断,同一个物料号可能会出现不同的码垛规则) |
| | | var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.list[0].SkuNo); |
| | | var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.data[0].SkuNo); |
| | | //下发拆托规格,拆箱数和托盘上总箱数(不绑定机器人,拆垛任务信息只下发一次) |
| | | // 给PLC写入任务数据 |
| | | var listResult = new List<Result>(); |
| | | // 获取托盘规则 |
| | | var Standard = modDevice.listStation.FirstOrDefault(m => m.Text == "规格"); |
| | | listResult.Add(plcConn.SetPlcDBValue(Standard.PosType, modDevice.DbNumber, Standard.PlcPos, tasklist.list[0].Standard)); |
| | | listResult.Add(plcConn.SetPlcDBValue(Standard.PosType, modDevice.DbNumber, Standard.PlcPos, pz.PZNo)); |
| | | //抓箱数 |
| | | var qty = modDevice.listStation.FirstOrDefault(m => m.Text == "拆箱数量"); |
| | | listResult.Add(plcConn.SetPlcDBValue(qty.PosType, modDevice.DbNumber, qty.PlcPos, tasklist.list[0].Qty.ToString())); |
| | | listResult.Add(plcConn.SetPlcDBValue(qty.PosType, modDevice.DbNumber, qty.PlcPos, tasklist.data[0].Qty.ToString())); |
| | | //总箱数 |
| | | var qtycount = modDevice.listStation.FirstOrDefault(m => m.Text == "总箱数"); |
| | | listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.list[0].QtyCount.ToString())); |
| | | listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.data[0].QtyCount.ToString())); |
| | | |
| | | |
| | | // 是否写入成功 |