From 8c7c2c1aec1579a94c7a8368710bb31ff9518d73 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 27 六月 2024 16:03:19 +0800
Subject: [PATCH] 待检库不满足入库条件改为入库外协
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs | 244 +++++++++++++++++++++++++++++++-----------------
1 files changed, 155 insertions(+), 89 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
index c0697aa..b062dd8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
@@ -11,6 +11,7 @@
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
+using static FreeSql.Internal.GlobalFilter;
namespace WIDESEA_WMS.Common
{
@@ -49,11 +50,12 @@
agv_completedate = DateTime.Now,
agv_grade = task.agv_grade,
agv_userid = task.agv_userid,
- agv_barcode = task.agv_barcode,
- agv_code = task.agv_code,
+ agv_Traytype = task.agv_Traytype,
+ agv_TrayStatus = task.agv_TrayStatus,
agv_worktype = task.agv_worktype,
agv_remark = task.agv_remark,
bindSN = task.bindSN,
+ jobID = task.jobID,
agv_materbarcode = task.agv_materbarcode,
};
htyRepository.Add(agvtask_Hty, true);
@@ -65,78 +67,93 @@
/// <param name="task"></param>
public static void Updateinventory(dt_agvtask task)
{
- string[] bindSNs = task.bindSN.Split(",");
- int count = 0;
- if (bindSNs.Length > 0)
+ VOLContext context = new VOLContext();
+ Idt_inventoryRepository inventoryRepository = new dt_inventoryRepository(context);
+ if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString())
{
- if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
+ var inventorys = inventoryRepository.Find(x => x.stationCode == task.agv_fromaddress).ToList();
+ foreach (var inventory in inventorys)
{
- foreach (var bindSN in bindSNs)
- {
- //List<dt_inventory> inventorys = new List<dt_inventory>();
- var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First();
- //inventorys.Add(inventory);
- count = freeDB.Remove(inventory);
- if (count < 1)
- throw new Exception("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + bindSN);
- }
-
+ inventory.stationCode = task.agv_toaddress;
+ inventoryRepository.Update(inventory, true);
}
- else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
- {
- List<dt_inventory> inventorys = new List<dt_inventory>();
- foreach (string bindSN in bindSNs)
- {
- var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First();
- var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First();
- var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
- dt_inventory inventory = new dt_inventory()
- {
- SN = bindSN,
- Name = mes_head.productName,
- FigureNumber = mes_head.drawingNo,
- //HearthNumber = "",
- HeatNumber = mes_detail.heatID,
- BilletNumber = mes_detail.billetID,
- OnlineTime = task.agv_finishedtime,
- Operator = "admin",
- stationCode = task.agv_toaddress,
- area = station.area,
- jobID = mes_detail.jobID,
- ID = Guid.NewGuid()
- };
- inventorys.Add(inventory);
- }
- count = freeDB.AddRange(inventorys);
- if (count < 1)
- throw new Exception("搴撳瓨娣诲姞澶辫触锛佸簱浣嶅彿:" + task.agv_toaddress);
- }
-
- //var Materiel = QueryData.QueryMateriel(task.agv_materielid);
- //List<dt_inventory> inventorys = new List<dt_inventory>();
- //foreach (string bindSN in bindSNs)
- //{
- // dt_inventory inventory = new dt_inventory()
- // {
- // SN = bindSN,//寰呭畬鍠�
- // Name = "",
- // FigureNumber = "",
- // //HearthNumber = "",
- // HeatNumber = "",
- // //BilletNumber=,
- // OnlineTime = task.agv_finishedtime,
- // Operator = "admin",
- // stationCode = task.agv_toaddress,
- // area = "",
- // jobID = "",
- // };
- // inventorys.Add(inventory);
- //}
- //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
- // freeDB.AddRange(inventorys);
- //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
- // freeDB.Remove(inventorys);
}
+ else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
+ {
+ string[] bindSNs = task.bindSN.Split(",");
+ int count = 0;
+ foreach (var bindSN in bindSNs)
+ {
+ //List<dt_inventory> inventorys = new List<dt_inventory>();
+ var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First();
+ //inventorys.Add(inventory);
+ count = freeDB.Remove(inventory);
+ if (count < 1)
+ throw new Exception("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + bindSN);
+ }
+ }
+ else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
+ {
+ string[] bindSNs = task.bindSN.Split(",");
+ int count = 0;
+ List<dt_inventory> inventorys = new List<dt_inventory>();
+ foreach (string bindSN in bindSNs)
+ {
+ var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").OrderByDescending(x => x.CreateTime).First();
+ if (mes_Work == null)
+ throw new Exception("鏈壘鍒板伐鍗曚俊鎭紒");
+ var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
+ dt_inventory inventory = new dt_inventory()
+ {
+ SN = bindSN,
+ Name = mes_Work.productName,
+ FigureNumber = mes_Work.drawingNo,
+ materialCode = task.agv_materbarcode,
+ HeatNumber = mes_Work.heatID,
+ drawingNoVer = mes_Work.drawingNoVer,
+ BilletNumber = mes_Work.billetID,
+ OnlineTime = task.agv_finishedtime,
+ Operator = "admin",
+ stationCode = task.agv_toaddress,
+ area = station.area,
+ jobID = mes_Work.jobID,
+ workOrder = mes_Work.workOrder,
+ ID = Guid.NewGuid()
+ };
+ inventorys.Add(inventory);
+ }
+ count = freeDB.AddRange(inventorys);
+ if (count < 1)
+ throw new Exception("搴撳瓨娣诲姞澶辫触锛佸簱浣嶅彿:" + task.agv_toaddress);
+ }
+ #region MyRegion
+ //var Materiel = QueryData.QueryMateriel(task.agv_materielid);
+ //List<dt_inventory> inventorys = new List<dt_inventory>();
+ //foreach (string bindSN in bindSNs)
+ //{
+ // dt_inventory inventory = new dt_inventory()
+ // {
+ // SN = bindSN,//寰呭畬鍠�
+ // Name = "",
+ // FigureNumber = "",
+ // //HearthNumber = "",
+ // HeatNumber = "",
+ // //BilletNumber=,
+ // OnlineTime = task.agv_finishedtime,
+ // Operator = "admin",
+ // stationCode = task.agv_toaddress,
+ // area = "",
+ // jobID = "",
+ // };
+ // inventorys.Add(inventory);
+ //}
+ //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
+ // freeDB.AddRange(inventorys);
+ //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
+ // freeDB.Remove(inventorys);
+ #endregion
+
+ //}
}
/// <summary>
@@ -147,26 +164,75 @@
{
VOLContext context = new VOLContext();
Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
- var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
- var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
- station2.quantity = station1.quantity;
- station2.bindSN = station1.bindSN;
- station2.location_state = LocationStateEnum.Stroge.ToString();
- station2.Number = task.jobID;
- station2.heatNumber = station1.heatNumber;
- station2.stationType = station1.stationType;
- station2.tray_status = station1.tray_status;//妯斁/绔栨斁
- stationinfoRepository.Update(station2, true);
-
- station1.quantity = 0;
- station1.bindSN = string.Empty;
- station1.location_state = LocationStateEnum.Empty.ToString();
- station1.Number = string.Empty;
- station1.heatNumber = string.Empty;
- station1.stationType = string.Empty;
- station1.tray_status = LocationStateEnum.Empty.ToString();
- stationinfoRepository.Update(station1, true);
+ if (task.agv_taskstate == AGVTaskStateEnum.Complete1.ToString())
+ {
+ var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
+ if (station2 == null) throw new Exception("鏈壘鍒扮粓鐐瑰湴鍧�锛�");
+ ////绌烘墭浠诲姟闇�淇敼閫昏緫
+ if (station2.stationCode.Contains("X"))
+ station2.quantity = 0;// task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 0 : task.agv_qty; //task.agv_qty;
+ else if (station2.area == "10" || station2.area == "11" || (station2.stationCode.Contains("C") && task.agv_tasktype == "TaskType_EmptyPallet") || station2.stationCode.Contains("DD")) //鍏ュ簱绌烘墭浠诲姟
+ station2.quantity = station2.quantity + task.agv_qty;
+ else
+ station2.quantity = task.agv_qty;
+ station2.bindSN = task.bindSN;
+ station2.location_state = LocationStateEnum.Stroge.ToString();
+ station2.Number = task.jobID;
+ //station2.heatNumber = station1.heatNumber;
+ station2.stationType = task.agv_materielid;
+ station2.tray_status = task.agv_TrayStatus;//妯斁/绔栨斁
+ station2.tray_type = task.agv_Traytype;
+ station2.lastUpdateTime = DateTime.Now;
+ stationinfoRepository.Update(station2, true);
+ }
+ else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString())
+ {
+ var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
+ if (station1 == null) throw new Exception("鏈壘鍒拌捣鐐瑰湴鍧�锛�");
+ #region MyRegion
+ //if (station1.stationCode.Contains("S"))
+ // station1.quantity = 0;
+ //else if (station2.stationCode.Contains("X") || station2.stationCode.Contains("W01001004") || station2.stationCode.Contains("W01001005"))//鍑哄簱绌烘墭浠诲姟
+ //{
+ // station1.location_state = LocationStateEnum.Stroge.ToString();
+ // station1.quantity = station1.quantity - 1;
+ //}
+ //else
+ // station1.quantity = 0;
+ #endregion
+ if (station1.stationCode.Contains("DD"))//鍙犵洏搴撲綅
+ {
+ station1.quantity = station1.quantity - task.agv_qty;
+ station1.location_state = LocationStateEnum.Stroge.ToString();
+ }
+ else if (station1.area == "10" || station1.area == "11"
+ || ((station1.stationCode.Contains("C") || station1.stationCode.Contains("B"))
+ && task.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())) //鍑哄簱绌烘墭浠诲姟
+ {
+ station1.location_state = LocationStateEnum.Stroge.ToString();
+ station1.quantity = station1.quantity - 1;
+ }
+ else
+ station1.quantity = 0;
+ station1.bindSN = string.Empty;
+ //station1.location_state = station1.quantity == 0 ? LocationStateEnum.Empty.ToString() : LocationStateEnum.Stroge.ToString();
+ if (station1.quantity == 0)
+ {
+ station1.location_state = LocationStateEnum.Empty.ToString();
+ station1.Number = string.Empty;
+ station1.billetID = string.Empty;
+ station1.heatNumber = string.Empty;
+ station1.stationType = string.Empty;
+ station1.tray_status = string.Empty;
+ station1.remark = string.Empty;
+ //if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005"))
+ // station1.tray_type = string.Empty;
+ }
+ if (!station1.stationCode.Contains("DD"))
+ station1.lastUpdateTime = DateTime.Now;
+ stationinfoRepository.Update(station1, true);
+ }
}
}
}
--
Gitblit v1.9.3