From 7c63794aa85ab939308d10a9ad5c1a57c46bbf6f Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 14 12月 2024 14:01:46 +0800 Subject: [PATCH] 222 --- CC/iWareCommon/BusinessHelper/BusinessHelper.cs | 17 CC/iWareCC_ASRS/Forms/SrmStockForm.cs | 182 ---------------- CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Inbound/3、DataProcess_RobotBuffer_FinishTask.cs | 1 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/4、DataProcess_RobotBuffer_ForceOutbound.cs | 73 +++-- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs | 3 CC/iWareCC_ASRS/FormCC.cs | 30 ++ CC/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs | 181 ---------------- CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/1、DataProcess_BZ12.cs | 3 CC/iWareSql/WmsDBModel/wms_stock_quan.cs | 2 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Inbound/1、DataProcess_BZ39.cs | 4 CC/iWareCC_ASRS/FormCC.Designer.cs | 73 ++++-- CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs | 22 ++ CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/1、DataProcess_BZ21.cs | 4 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/5、CC_DataProcess_RobotBuffer_ForceOutbound.cs | 4 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/1、DataProcess_RobotBuffer_AutoQiTaoOutbound.cs | 4 15 files changed, 170 insertions(+), 433 deletions(-) diff --git a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs index af8655c..2551277 100644 --- a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs +++ b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs @@ -26,6 +26,28 @@ { /// <summary> + /// 鐢熸垚鏈�鏂扮殑浠诲姟鍙� + /// </summary> + /// <param name="wmsDB"></param> + /// <param name="rbTaskTypeEnum"></param> + /// <param name="plcTaskNo"></param> + /// <returns></returns> + public static string GetNewTaskNo(WmsDBModel wmsDB, RbTaskTypeEnum rbTaskTypeEnum, string plcTaskNo) + { + //鍒ゆ柇濡傛灉浠诲姟鍙疯窡涓婁竴涓换鍔″彿閲嶅锛屽氨鑷姩鍑忓幓1 + var lastTask = wmsDB.wms_rbline_task.Where(x => x.RbTaskType == (int)rbTaskTypeEnum).OrderByDescending(x => x.Id).FirstOrDefault(); + if (lastTask != null && lastTask.TaskNo == plcTaskNo) + { + plcTaskNo = (Convert.ToInt32(plcTaskNo) - 1).ToString(); + } + else + { + + } + return plcTaskNo; + } + + /// <summary> /// 鍐欏叆 鎶ヨ淇℃伅 /// </summary> /// <param name="warningAddress"></param> diff --git a/CC/iWareCC_ASRS/FormCC.Designer.cs b/CC/iWareCC_ASRS/FormCC.Designer.cs index c9d34e3..f61236f 100644 --- a/CC/iWareCC_ASRS/FormCC.Designer.cs +++ b/CC/iWareCC_ASRS/FormCC.Designer.cs @@ -86,6 +86,9 @@ this.ckBDataProcess_RobotBuffer_ForceOutbound = new System.Windows.Forms.CheckBox(); this.ckBDataProcess_BZ12_FinishTask = new System.Windows.Forms.CheckBox(); this.tabPage3 = new System.Windows.Forms.TabPage(); + this.btn1 = new System.Windows.Forms.Button(); + this.tb_taskNo = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.button25 = new System.Windows.Forms.Button(); this.button24 = new System.Windows.Forms.Button(); @@ -120,9 +123,7 @@ this.lbl_Warning_FJ = new System.Windows.Forms.Label(); this.lbl_XinTiao_FJ = new System.Windows.Forms.Label(); this.lbl_Mode_FJ = new System.Windows.Forms.Label(); - this.tb_taskNo = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.btn1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); this.tabControl1.SuspendLayout(); this.tPModeChoice.SuspendLayout(); this.panel_Model.SuspendLayout(); @@ -855,6 +856,7 @@ // // tabPage3 // + this.tabPage3.Controls.Add(this.button2); this.tabPage3.Controls.Add(this.btn1); this.tabPage3.Controls.Add(this.tb_taskNo); this.tabPage3.Controls.Add(this.label1); @@ -883,6 +885,34 @@ this.tabPage3.TabIndex = 9; this.tabPage3.Text = "数据维护&统计"; this.tabPage3.UseVisualStyleBackColor = true; + // + // btn1 + // + this.btn1.BackColor = System.Drawing.Color.Red; + this.btn1.Location = new System.Drawing.Point(856, 688); + this.btn1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.btn1.Name = "btn1"; + this.btn1.Size = new System.Drawing.Size(155, 48); + this.btn1.TabIndex = 160; + this.btn1.Text = "入库任务强制完成"; + this.btn1.UseVisualStyleBackColor = false; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // tb_taskNo + // + this.tb_taskNo.Location = new System.Drawing.Point(902, 642); + this.tb_taskNo.Name = "tb_taskNo"; + this.tb_taskNo.Size = new System.Drawing.Size(339, 25); + this.tb_taskNo.TabIndex = 159; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(836, 652); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 15); + this.label1.TabIndex = 158; + this.label1.Text = "任务号:"; // // button1 // @@ -1275,33 +1305,17 @@ this.lbl_Mode_FJ.Text = "设备模式: "; this.lbl_Mode_FJ.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // tb_taskNo + // button2 // - this.tb_taskNo.Location = new System.Drawing.Point(902, 642); - this.tb_taskNo.Name = "tb_taskNo"; - this.tb_taskNo.Size = new System.Drawing.Size(339, 25); - this.tb_taskNo.TabIndex = 159; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(836, 652); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(60, 15); - this.label1.TabIndex = 158; - this.label1.Text = "任务号:"; - // - // btn1 - // - this.btn1.BackColor = System.Drawing.Color.Red; - this.btn1.Location = new System.Drawing.Point(856, 688); - this.btn1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.btn1.Name = "btn1"; - this.btn1.Size = new System.Drawing.Size(155, 48); - this.btn1.TabIndex = 160; - this.btn1.Text = "入库任务强制完成"; - this.btn1.UseVisualStyleBackColor = false; - this.btn1.Click += new System.EventHandler(this.btn1_Click); + this.button2.BackColor = System.Drawing.Color.Aqua; + this.button2.Location = new System.Drawing.Point(1022, 349); + this.button2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(155, 48); + this.button2.TabIndex = 161; + this.button2.Text = "更新库存表中的次序字段"; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.button2_Click); // // FormCC // @@ -1437,6 +1451,7 @@ private System.Windows.Forms.TextBox tb_taskNo; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btn1; + private System.Windows.Forms.Button button2; } } diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs index 7eae341..bab25df 100644 --- a/CC/iWareCC_ASRS/FormCC.cs +++ b/CC/iWareCC_ASRS/FormCC.cs @@ -1559,6 +1559,7 @@ wms_stock_quan qun = new wms_stock_quan() { Id = Yitter.IdGenerator.YitIdHelper.NextId(), + Shelf = upiObj.Shelf, Upi = upiCode, PlanNo = task.PlanNo, DetailName = upiObj.DetailName, @@ -1599,5 +1600,34 @@ MessageBox.Show("宸插鐞�"); } } + + private void button2_Click(object sender, EventArgs e) + { + //鏇存柊搴撳瓨琛ㄤ腑鐨勬搴忓瓧娈� + var alertMsg = ""; + using (WmsDBModel db = new WmsDBModel()) + { + //鏌ヨ绔嬩綋搴撲腑鐨剈pi鍒楄〃 + var quanList = db.wms_stock_quan.ToList(); + var query_quanList = quanList.Select(x => x.Upi).ToList(); + var upiList = db.mes_batchOrderUPI_new.Where(x => query_quanList.Contains(x.UPI)).ToList(); + foreach (var item in quanList) + { + var _shelf = upiList.Find(x => x.UPI == item.Upi); + item.Shelf = _shelf.Shelf; + } + + + db.SaveChanges(); + } + if (!string.IsNullOrEmpty(alertMsg)) + { + MessageBox.Show("閿欒:" + alertMsg); + } + else + { + MessageBox.Show("宸插鐞�"); + } + } } } diff --git a/CC/iWareCC_ASRS/Forms/SrmStockForm.cs b/CC/iWareCC_ASRS/Forms/SrmStockForm.cs index 847a689..e9f0987 100644 --- a/CC/iWareCC_ASRS/Forms/SrmStockForm.cs +++ b/CC/iWareCC_ASRS/Forms/SrmStockForm.cs @@ -84,7 +84,7 @@ StoreHandler.AddStoreForEmptySalverTransfer(context, remark, toPlace, qty, "浜哄伐鎵嬪姩", ref salver, ref newMaterial); - SaveLog(MaterialTypeEnum.鎵樼洏, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, "", ""); + context.SaveChanges();//鎻愪氦鏁版嵁 } @@ -144,7 +144,7 @@ toPlace.IsFull = true;//浠h〃鏈夎揣 - SaveLog(MaterialTypeEnum.涓�鑸墿鏂�, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, SerialNumber, OrderNo); + context.SaveChanges();//鎻愪氦鏁版嵁 } @@ -157,183 +157,7 @@ } } - private void SaveLog(MaterialTypeEnum _MaterialTypeEnum, Base_Material newMaterial, DbModel context, string tb_SrmNo, string remark, int qty, - Base_Salver salver, Base_Station toPlace, string serialNumber, string orderNo) - { - //澧炲姞Main琛ㄥ拰Part琛ㄦ暟鎹� - Task_Main mainTask = new Task_Main(); - mainTask.IsVirtual = false;//闈炶櫄鎷熷叆搴� - - MainTaskTypeEnum _taskType = default(MainTaskTypeEnum); - DeviceTaskTypeEnum _DeviceTaskTypeEnum = default(DeviceTaskTypeEnum); - string handlerType = ""; - MaterialTypeEnum _MaterialType = default(MaterialTypeEnum); - switch (_MaterialTypeEnum) - { - case MaterialTypeEnum.鎵樼洏: - handlerType = "鎵嬪姩娣诲姞鎵樼洏搴撳瓨"; - _DeviceTaskTypeEnum = DeviceTaskTypeEnum.绌烘墭杞繍鍒扮珛浣撳簱; - mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN__SD_TP"); - mainTask.TaskName = "鎵嬪姩娣诲姞鎵樼洏搴撳瓨"; - mainTask.InOutFlag = (int)MainInOutFlagEnum.鍏ュ簱; - mainTask.InOutFlagName = MainInOutFlagEnum.鍏ュ簱.ToString(); - _taskType = MainTaskTypeEnum.鎵嬪姩鍏ュ簱; - mainTask.TaskType = Convert.ToInt32(_taskType); - mainTask.TaskTypeName = _taskType.ToString(); - _MaterialType = MaterialTypeEnum.鎵樼洏; - break; - case MaterialTypeEnum.涓�鑸墿鏂�: - handlerType = "鎵嬪姩娣诲姞鍙戝姩鏈哄簱瀛�"; - _DeviceTaskTypeEnum = DeviceTaskTypeEnum.缁勭洏鍏ュ簱; - - mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN_SD"); - mainTask.TaskName = "鎵嬪姩鍏ュ簱"; - mainTask.InOutFlag = (int)MainInOutFlagEnum.鍏ュ簱; - mainTask.InOutFlagName = MainInOutFlagEnum.鍏ュ簱.ToString(); - _taskType = MainTaskTypeEnum.鎵嬪姩鍏ュ簱; - mainTask.TaskType = Convert.ToInt32(_taskType); - mainTask.TaskTypeName = _taskType.ToString(); - - mainTask.SerialNumber = serialNumber; - mainTask.OrderNo = orderNo; - - _MaterialType = MaterialTypeEnum.涓�鑸墿鏂�; - - - - break; - } - - mainTask.MaterialType = (int)_MaterialType; - mainTask.MaterialTypeName = _MaterialType.ToString(); - - - var _taskState = MainTaskStatusEnum.宸插畬鎴�; - mainTask.TaskState = Convert.ToInt32(_taskState); - mainTask.TaskStateName = _taskState.ToString(); - mainTask.IsAllowSimulateExecute = true; - mainTask.OperationRemark = handlerType; - mainTask.Qty = qty; - mainTask.CreateTime = mainTask.ModifyTime = mainTask.StartTime = DateTime.Now; - mainTask.CreateBy = mainTask.ModifyBy = SysGloble.WCSSystem; - - mainTask.MaterialId = newMaterial.Id; - - mainTask.FinishTime = DateTime.Now; - - mainTask.ToPlace = toPlace.Id; - mainTask.RealToPlace = toPlace.SrmStationCode; - //璁板綍鍖哄煙 [EditBy shaocx,2022-05-02] - EDevice device = BusinessHelper.GetSrmDeviceByPlaceNo(toPlace.SrmStationCode); - mainTask.Area = ((int)device).ToString(); - - context.Task_Main.Add(mainTask); - - - - - - EDeviceType deviceType = EDeviceType.鍫嗗灈鏈�; - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); - //涓棿鐐� - var midPlace = StationHandler.GetRgvPlaceBySrmPlaceForInStore(context, toPlace); - if (midPlace == null) - { - throw new Exception("娌℃湁鎵惧埌RGV鍏ュ簱浣嶇疆"); - } - Task_Part partTask = new Task_Part() - { - Id = Guid.NewGuid().ToString(), - - InOutFlag = mainTask.InOutFlag, - InOutFlagName = mainTask.InOutFlagName, - - DeviceType = (int)deviceType, - DeviceTypeName = deviceType.ToString(), - DeviceId = Convert.ToInt16(device), - DeviceName = Convert.ToString(device), - - IsAllowSimulateExecute = true, - - TaskSequence = 1, - MainTaskSequence = mainTask.TaskSequence,//澧炲姞涓讳换鍔′紭鍏堢骇 - TaskDescribe = handlerType, - OperationRemark = handlerType, - MainTaskId = mainTask.Id, - MainTaskNo = mainTask.TaskNo, - MaterialId = mainTask.MaterialId, - Qty = mainTask.Qty,//澧炲姞鏁伴噺 銆怑ditBy shaocx,2022-05-01銆� - - //澧炲姞 璁㈣揣鍙峰拰搴忓垪鍙风殑璧嬪�� [Editby shaocx,2022-04-21] - SerialNumber = mainTask.SerialNumber, - OrderNo = mainTask.OrderNo, - - //ToNumber = toNumber, - //TaskGuid = taskGuid, - //MatID = MatID, - //MatName = MatName, - //Remark = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + description, - //Creator = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + "," + Dns.GetHostName(), - //UpdateUser = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + "," + Dns.GetHostName(), - CreateTime = DateTime.Now, - ModifyTime = DateTime.Now, - - PlcTaskId = plcTaskNo, - //ContainerId = ctn.ContainerId, - SalverId = salver.Id, - SalverCode = salver.SalverCode, - - SourcePlace = midPlace.Id, - ToPlace = toPlace.Id, - RealSourcePlace = midPlace.SrmStationCode, - RealToPlace = toPlace.SrmStationCode, - - TaskName = string.Format("(鏉ユ簮:id-{0} no-{1},鐩爣:id-{2} no-{3})", midPlace.Id, midPlace.SrmStationCode, - toPlace.Id, toPlace.SrmStationCode), - - IsReleased = true, - // IsCurrentTask = 0, - IsFinished = true, - //IsLastTask = 0, - //Void = 0, - TaskState = (int)DeviceTaskStatusEnum.宸插畬鎴�, - TaskStateName = DeviceTaskStatusEnum.宸插畬鎴�.ToString(), - - TaskType = (int)_DeviceTaskTypeEnum, - TaskTypeName = _DeviceTaskTypeEnum.ToString(), - - MaterialType = (int)_MaterialType, - MaterialTypeName = _MaterialType.ToString(), - - IssueTime = DateTime.Now, - FinishTime = DateTime.Now - - }; - context.Task_Part.Add(partTask); - - - //淇濆瓨浜哄伐澶勭悊鏃ュ織 [EditBy shaocx,2022-05-01] - Base_PersonHandlerRecord record = new Base_PersonHandlerRecord() - { - MainTaskNo = mainTask.TaskNo, - HandlerType = handlerType, - PartTaskId = partTask.Id, - PlcTaskId = partTask.PlcTaskId, - RealSourcePlace = tb_SrmNo, - RealToPlace = tb_SrmNo, - SalverCode = salver.SalverCode, - SerialNumber = serialNumber, - OrderNo = orderNo, - TaskTypeName = partTask.TaskTypeName, - Qty = qty, - - ManualHandlerRemark = remark, - OperationRemark = remark - - }; - PersonHandlerRecordHandler.SavePersonHandlerRecord(context, record); - - } + private void button2_Click(object sender, EventArgs e) { diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs" index 30cc119..7b3731a 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs" @@ -104,7 +104,9 @@ //璁板綍浠诲姟 var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.鍏ュ簱浠诲姟, plcTaskNo); + var task = new wms_rbline_task() { Id = _id, diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/3\343\200\201DataProcess_RobotBuffer_FinishTask.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/3\343\200\201DataProcess_RobotBuffer_FinishTask.cs" index 612e0f9..dbff601 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/3\343\200\201DataProcess_RobotBuffer_FinishTask.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/3\343\200\201DataProcess_RobotBuffer_FinishTask.cs" @@ -198,6 +198,7 @@ wms_stock_quan qun = new wms_stock_quan() { Id = Yitter.IdGenerator.YitIdHelper.NextId(), + Shelf = upiObj.Shelf, Upi = upiCode, PlanNo = task.PlanNo, DetailName = upiObj.DetailName, diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs" index f2a59fd..28e726c 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs" @@ -1,4 +1,5 @@ 锘縰sing Admin.NET.Application; +using iWareCC.Common.Helper; using iWareCommon.Common.Globle; using iWareCommon.Utils; using iWareModel; @@ -56,7 +57,8 @@ //鐢熸垚鍑哄簱浠诲姟 //璁板綍浠诲姟 var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟, plcTaskNo); var new_task = new wms_rbline_task() { Id = _id, diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/4\343\200\201DataProcess_RobotBuffer_ForceOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/4\343\200\201DataProcess_RobotBuffer_ForceOutbound.cs" index 4ad9562..18d745c 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/4\343\200\201DataProcess_RobotBuffer_ForceOutbound.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/4\343\200\201DataProcess_RobotBuffer_ForceOutbound.cs" @@ -1,10 +1,12 @@ 锘縰sing Admin.NET.Application; +using iWareCC.Common.Helper; using iWareCommon.Common.Globle; using iWareCommon.Utils; using iWareModel; using iWareSql.DataAccess; using iWareSql.WmsDBModel; using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Threading; @@ -47,49 +49,56 @@ List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴� ).OrderBy(x => x.PackageCode).ToList(); - foreach (var x in qunList) + //鎸夌収鍖呭垎缁勫鐞� + var groups = qunList.GroupBy(x => x.PackageCode); + foreach (var group in groups) { - x.StockStatus = (int)StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�; - x.StockStatusName = StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�.ToString(); + //娉ㄦ剰锛氭帓搴忎弗鏍兼寜鐓� 娆″簭 杩涜鎺掑簭銆� 锛侊紒锛侊紒锛侊紒锛侊紒 + var stockList = group.ToList().OrderBy(x => x.Shelf).ToList(); - //鐢熸垚鍑哄簱浠诲姟 - //璁板綍浠诲姟 - var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); - var new_task = new wms_rbline_task() + foreach (var x in stockList) { - Id = _id, - TaskNo = plcTaskNo, + x.StockStatus = (int)StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�; + x.StockStatusName = StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�.ToString(); - Upi = x.Upi, - Length = x.Length, - Width = x.Width, - Thk = x.Thk, + //鐢熸垚鍑哄簱浠诲姟 + //璁板綍浠诲姟 + var _id = Yitter.IdGenerator.YitIdHelper.NextId(); + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟, plcTaskNo); + var new_task = new wms_rbline_task() + { + Id = _id, + TaskNo = plcTaskNo, - PlanNo = x.PlanNo, - OrderId = x.OrderId, - PackageCode = x.PackageCode, - PlaceCode = x.PlaceCode, - RbTaskType = (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟, - TaskStatus = (int)TaskStatusEnum.鏂板缓, - TaskMsg = "浜哄伐寮哄埗寰呭嚭搴�", + Upi = x.Upi, + Length = x.Length, + Width = x.Width, + Thk = x.Thk, + + PlanNo = x.PlanNo, + OrderId = x.OrderId, + PackageCode = x.PackageCode, + PlaceCode = x.PlaceCode, + RbTaskType = (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟, + TaskStatus = (int)TaskStatusEnum.鏂板缓, + TaskMsg = "浜哄伐寮哄埗寰呭嚭搴�", - CreateTime = DateTime.Now, - CreateUserName = SysGloble.WCSSystem, - UpdateTime = DateTime.Now, - UpdateUserName = SysGloble.WCSSystem, - }; + CreateTime = DateTime.Now, + CreateUserName = SysGloble.WCSSystem, + UpdateTime = DateTime.Now, + UpdateUserName = SysGloble.WCSSystem, + }; - wmsDB.wms_rbline_task.Add(new_task); + wmsDB.wms_rbline_task.Add(new_task); - var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB); - place.PlaceStatus = (int)PlaceStatusEnum.閿佸畾; + var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB); + place.PlaceStatus = (int)PlaceStatusEnum.閿佸畾; - Thread.Sleep(100); + Thread.Sleep(100); + } } - - wmsDB.SaveChanges(); } diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/5\343\200\201CC_DataProcess_RobotBuffer_ForceOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/5\343\200\201CC_DataProcess_RobotBuffer_ForceOutbound.cs" index 8739e18..6120476 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/5\343\200\201CC_DataProcess_RobotBuffer_ForceOutbound.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/5\343\200\201CC_DataProcess_RobotBuffer_ForceOutbound.cs" @@ -1,4 +1,5 @@ 锘縰sing Admin.NET.Application; +using iWareCC.Common.Helper; using iWareCommon.Common.Globle; using iWareCommon.Utils; using iWareModel; @@ -45,7 +46,8 @@ //鐢熸垚鍑哄簱浠诲姟 //璁板綍浠诲姟 var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟, plcTaskNo); var new_task = new wms_rbline_task() { Id = _id, diff --git "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/1\343\200\201DataProcess_BZ12.cs" "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/1\343\200\201DataProcess_BZ12.cs" index e2bab4b..8ed2903 100644 --- "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/1\343\200\201DataProcess_BZ12.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/1\343\200\201DataProcess_BZ12.cs" @@ -201,7 +201,8 @@ //璁板綍浠诲姟 var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.鐮佹澘浠诲姟, plcTaskNo); var task = new wms_rbline_task() { Id = _id, diff --git "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs" "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs" index 1642808..f3e86c3 100644 --- "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs" @@ -179,8 +179,8 @@ //璁板綍浠诲姟 var _id = Yitter.IdGenerator.YitIdHelper.NextId(); - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); - + var plcTaskNo = BusinessHelper.CreatePlcTaskId(); + plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.鍚堝寘浠诲姟, plcTaskNo); //鏂板浠诲姟琛� var task = new wms_rbline_task() diff --git a/CC/iWareCommon/BusinessHelper/BusinessHelper.cs b/CC/iWareCommon/BusinessHelper/BusinessHelper.cs index 6e7021c..b241c06 100644 --- a/CC/iWareCommon/BusinessHelper/BusinessHelper.cs +++ b/CC/iWareCommon/BusinessHelper/BusinessHelper.cs @@ -111,15 +111,7 @@ } - /// <summary> - /// 闅忔満鐢熸垚1-10000鐨凱LC浠诲姟鍙� - /// </summary> - /// <returns></returns> - public static string CreatePlcTaskId() - { - int iSeed = 10000; - return new Random(Guid.NewGuid().GetHashCode()).Next(1, iSeed).ToString(); - } + /// <summary> /// 鍒涘缓杈撻�佺嚎浠诲姟鍙凤紝闅忔満鐢熸垚(1, 3000)鐨凱LC浠诲姟鍙� /// </summary> @@ -139,5 +131,12 @@ //浠�101-9999锛屼负浠�涔堣浠�101寮�濮嬶紝鍥犱负1-100浣滀负鎵嬪姩浠诲姟涓嬪彂銆傘�怑ditBy shaocx,2022-05-10銆� return new Random(Guid.NewGuid().GetHashCode()).Next(101, iSeed).ToString(); } + + public static string CreatePlcTaskId() + { + int iSeed = 9999; + //浠�101-9999锛屼负浠�涔堣浠�101寮�濮嬶紝鍥犱负1-100浣滀负鎵嬪姩浠诲姟涓嬪彂銆傘�怑ditBy shaocx,2022-05-10銆� + return new Random(Guid.NewGuid().GetHashCode()).Next(101, iSeed).ToString(); + } } } diff --git a/CC/iWareSql/WmsDBModel/wms_stock_quan.cs b/CC/iWareSql/WmsDBModel/wms_stock_quan.cs index 376b313..65c1331 100644 --- a/CC/iWareSql/WmsDBModel/wms_stock_quan.cs +++ b/CC/iWareSql/WmsDBModel/wms_stock_quan.cs @@ -43,6 +43,8 @@ public double Thk { get; set; } + public int? Shelf { get; set; } + public int StockStatus { get; set; } [Required] diff --git a/CC/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs b/CC/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs index 79ac2e0..cc4c740 100644 --- a/CC/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs +++ b/CC/iWareTestForm/iWareTest/DialogForm/TestBatchForm.cs @@ -202,7 +202,7 @@ StoreHandler.AddStoreForEmptySalverTransfer(context, remark, toPlace, qty, "浜哄伐鎵嬪姩", ref salver, ref newMaterial); - SaveLog(MaterialTypeEnum.鎵樼洏, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, "", ""); + context.SaveChanges();//鎻愪氦鏁版嵁 } @@ -255,7 +255,7 @@ //缁戝畾鎵樼洏鍜岀珯鐐圭殑鍏崇郴 Salver_Station_Handler.CreateCvPRelation(context, "浜哄伐鎵嬪姩", salver, toPlace, Salver_V_Station_StateEnum.鍏ュ簱缁戝畾, remark); - SaveLog(MaterialTypeEnum.涓�鑸墿鏂�, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, SerialNumber, OrderNo); + context.SaveChanges();//鎻愪氦鏁版嵁 } @@ -528,182 +528,7 @@ } } - private void SaveLog(MaterialTypeEnum _MaterialTypeEnum, Base_Material newMaterial, DbModel context, string tb_SrmNo, string remark, int qty, - Base_Salver salver, Base_Station toPlace, string serialNumber, string orderNo) - { - //澧炲姞Main琛ㄥ拰Part琛ㄦ暟鎹� - Task_Main mainTask = new Task_Main(); - mainTask.IsVirtual = false;//闈炶櫄鎷熷叆搴� - MainTaskTypeEnum _taskType = default(MainTaskTypeEnum); - DeviceTaskTypeEnum _DeviceTaskTypeEnum = default(DeviceTaskTypeEnum); - string handlerType = ""; - MaterialTypeEnum _MaterialType = default(MaterialTypeEnum); - switch (_MaterialTypeEnum) - { - case MaterialTypeEnum.鎵樼洏: - handlerType = "鎵嬪姩娣诲姞鎵樼洏搴撳瓨"; - _DeviceTaskTypeEnum = DeviceTaskTypeEnum.绌烘墭杞繍鍒扮珛浣撳簱; - mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN__SD_TP"); - mainTask.TaskName = "鎵嬪姩娣诲姞鎵樼洏搴撳瓨"; - mainTask.InOutFlag = (int)MainInOutFlagEnum.鍏ュ簱; - mainTask.InOutFlagName = MainInOutFlagEnum.鍏ュ簱.ToString(); - _taskType = MainTaskTypeEnum.鎵嬪姩鍏ュ簱; - mainTask.TaskType = Convert.ToInt32(_taskType); - mainTask.TaskTypeName = _taskType.ToString(); - _MaterialType = MaterialTypeEnum.鎵樼洏; - break; - case MaterialTypeEnum.涓�鑸墿鏂�: - handlerType = "鎵嬪姩娣诲姞鍙戝姩鏈哄簱瀛�"; - _DeviceTaskTypeEnum = DeviceTaskTypeEnum.缁勭洏鍏ュ簱; - - mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN_SD"); - mainTask.TaskName = "鎵嬪姩鍏ュ簱"; - mainTask.InOutFlag = (int)MainInOutFlagEnum.鍏ュ簱; - mainTask.InOutFlagName = MainInOutFlagEnum.鍏ュ簱.ToString(); - _taskType = MainTaskTypeEnum.鎵嬪姩鍏ュ簱; - mainTask.TaskType = Convert.ToInt32(_taskType); - mainTask.TaskTypeName = _taskType.ToString(); - - mainTask.SerialNumber = serialNumber; - mainTask.OrderNo = orderNo; - - _MaterialType = MaterialTypeEnum.涓�鑸墿鏂�; - - - - break; - } - - mainTask.MaterialType = (int)_MaterialType; - mainTask.MaterialTypeName = _MaterialType.ToString(); - - - var _taskState = MainTaskStatusEnum.宸插畬鎴�; - mainTask.TaskState = Convert.ToInt32(_taskState); - mainTask.TaskStateName = _taskState.ToString(); - mainTask.IsAllowSimulateExecute = true; - mainTask.OperationRemark = handlerType; - mainTask.Qty = qty; - mainTask.CreateTime = mainTask.ModifyTime = mainTask.StartTime = DateTime.Now; - mainTask.CreateBy = mainTask.ModifyBy = SysGloble.WCSSystem; - - mainTask.MaterialId = newMaterial.Id; - - mainTask.FinishTime = DateTime.Now; - - mainTask.ToPlace = toPlace.Id; - mainTask.RealToPlace = toPlace.SrmStationCode; - //璁板綍鍖哄煙 [EditBy shaocx,2022-05-02] - EDevice device = BusinessHelper.GetSrmDeviceByPlaceNo(toPlace.SrmStationCode); - mainTask.Area = ((int)device).ToString(); - - context.Task_Main.Add(mainTask); - - - - - - EDeviceType deviceType = EDeviceType.鍫嗗灈鏈�; - var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); - //涓棿鐐� - var midPlace = StationHandler.GetRgvPlaceBySrmPlaceForInStore(context, toPlace); - if (midPlace == null) - { - throw new Exception("娌℃湁鎵惧埌RGV鍏ュ簱浣嶇疆"); - } - Task_Part partTask = new Task_Part() - { - Id = Guid.NewGuid().ToString(), - - InOutFlag = mainTask.InOutFlag, - InOutFlagName = mainTask.InOutFlagName, - - DeviceType = (int)deviceType, - DeviceTypeName = deviceType.ToString(), - DeviceId = Convert.ToInt16(device), - DeviceName = Convert.ToString(device), - - IsAllowSimulateExecute = true, - - TaskSequence = 1, - MainTaskSequence = mainTask.TaskSequence,//澧炲姞涓讳换鍔′紭鍏堢骇 - TaskDescribe = handlerType, - OperationRemark = handlerType, - MainTaskId = mainTask.Id, - MainTaskNo = mainTask.TaskNo, - MaterialId = mainTask.MaterialId, - Qty = mainTask.Qty,//澧炲姞鏁伴噺 銆怑ditBy shaocx,2022-05-01銆� - - //澧炲姞 璁㈣揣鍙峰拰搴忓垪鍙风殑璧嬪�� [Editby shaocx,2022-04-21] - SerialNumber = mainTask.SerialNumber, - OrderNo = mainTask.OrderNo, - - //ToNumber = toNumber, - //TaskGuid = taskGuid, - //MatID = MatID, - //MatName = MatName, - //Remark = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + description, - //Creator = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + "," + Dns.GetHostName(), - //UpdateUser = "鎵嬪姩鍏ュ簱鍒涘缓璁惧浠诲姟" + "," + Dns.GetHostName(), - CreateTime = DateTime.Now, - ModifyTime = DateTime.Now, - - PlcTaskId = plcTaskNo, - //ContainerId = ctn.ContainerId, - SalverId = salver.Id, - SalverCode = salver.SalverCode, - - SourcePlace = midPlace.Id, - ToPlace = toPlace.Id, - RealSourcePlace = midPlace.SrmStationCode, - RealToPlace = toPlace.SrmStationCode, - - TaskName = string.Format("(鏉ユ簮:id-{0} no-{1},鐩爣:id-{2} no-{3})", midPlace.Id, midPlace.SrmStationCode, - toPlace.Id, toPlace.SrmStationCode), - - IsReleased = true, - // IsCurrentTask = 0, - IsFinished = true, - //IsLastTask = 0, - //Void = 0, - TaskState = (int)DeviceTaskStatusEnum.宸插畬鎴�, - TaskStateName = DeviceTaskStatusEnum.宸插畬鎴�.ToString(), - - TaskType = (int)_DeviceTaskTypeEnum, - TaskTypeName = _DeviceTaskTypeEnum.ToString(), - - MaterialType = (int)_MaterialType, - MaterialTypeName = _MaterialType.ToString(), - - IssueTime = DateTime.Now, - FinishTime = DateTime.Now - - }; - context.Task_Part.Add(partTask); - - - //淇濆瓨浜哄伐澶勭悊鏃ュ織 [EditBy shaocx,2022-05-01] - Base_PersonHandlerRecord record = new Base_PersonHandlerRecord() - { - MainTaskNo = mainTask.TaskNo, - HandlerType = handlerType, - PartTaskId = partTask.Id, - PlcTaskId = partTask.PlcTaskId, - RealSourcePlace = tb_SrmNo, - RealToPlace = tb_SrmNo, - SalverCode = salver.SalverCode, - SerialNumber = serialNumber, - OrderNo = orderNo, - TaskTypeName = partTask.TaskTypeName, - Qty = qty, - - ManualHandlerRemark = remark, - OperationRemark = remark - - }; - PersonHandlerRecordHandler.SavePersonHandlerRecord(context, record); - - } + private void TestBatchForm_Load(object sender, EventArgs e) { diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs index 82baf2e..e9b9395 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs @@ -79,6 +79,9 @@ public float Thk { get; set; } + [SugarColumn(ColumnName = "Shelf", ColumnDescription = "娆″簭")] + public int? Shelf { get; set; } + #region 搴撳瓨鐘舵�� -- Gitblit v1.9.3