From fdf6494705b9bcddb2e16b933b231262497fc227 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 07 六月 2024 17:04:58 +0800
Subject: [PATCH] 添加取消出库外协功能,设置模式1和模式2
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs | 1
代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs | 39 +++++-
代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs | 34 ++++
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs | 2
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs | 1
代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs | 2
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/QueueTask/OutboundTask.cs | 126 +++++++++++++++++++++
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobQueueTask.cs | 3
代码管理/PCS/WCS_Client/config/buttons.js | 9 +
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Mes_Workinfo.cs | 48 ++++++-
代码管理/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js | 45 ++++++-
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs | 1
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs | 2
代码管理/PCS/WCS_Client/src/extension/widesea_wcs/wcs/dt_pattern.js | 4
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs | 6 +
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs | 1
16 files changed, 287 insertions(+), 37 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/config/buttons.js"
index f6a4529..24224ca 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/config/buttons.js"
@@ -98,6 +98,15 @@
onClick: function () {
// this.FinishWorkOrder();
}
+}, {
+ name: "鍙栨秷",
+ icon: 'el-icon-delete',
+ type: 'danger',
+ plain: true,
+ value: 'CancelBtn',
+ onClick: function () {
+ // this.FinishWorkOrder();
+ }
}
// , {
// name: "鏁版嵁缁撴瀯",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js"
index 2609539..82ca53f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js"
@@ -32,14 +32,43 @@
// this.$Message.success('鐐瑰嚮浜嗘寜閽�');
// }
// });
- // this.buttons.forEach(x => {
- // if(x.value == 'FinishWorkOrder')
- // {
- // x.name = '瀹屾垚宸ュ崟'
- // x.type='success'
- // x.icon= 'el-icon-check'
- // }
- // });
+ this.buttons.forEach(x => {
+ if(x.value == 'CancelBtn')
+ {
+ x.name = '鍙栨秷鍑哄簱澶栧崗'
+ }
+ });
+ let CancelBtn = this.buttons.find(r => r.name == "鍙栨秷鍑哄簱澶栧崗");
+ if(null!=CancelBtn){
+ CancelBtn.onClick = function (){
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨宸ュ崟!");
+ let addkeys = rows.map(x => {
+ return x[this.table.key];
+ });
+ if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌宸ュ崟!");
+ this.$confirm("鏄惁纭鍙栨秷鍑哄簱澶栧崗锛�","鎻愮ず",{
+ // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮�
+ confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲
+ cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽�
+ type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊
+ }).then(()=>{
+ let params = {
+ MainData: null,
+ DetailData: null,
+ DelKeys: addkeys
+ }
+ this.http.post("/api/dt_mes_head/CancelsorcingWorkOrder", params, "姝e湪澶勭悊宸ュ崟....").then(x => {
+ if (!x.status) return this.$error(x.message);
+ this.$success("澶勭悊宸ュ崟鎴愬姛!");
+ this.refresh();
+ });
+ })
+
+ }
+ }
let OutsorcingBtn = this.buttons.find(r => r.name == "鍑哄簱澶栧崗");
if(null!=OutsorcingBtn){
OutsorcingBtn.onClick = function (){
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/wcs/dt_pattern.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/wcs/dt_pattern.js"
index 6c8718b..400e74e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/wcs/dt_pattern.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/wcs/dt_pattern.js"
@@ -59,7 +59,7 @@
// this.request(row);
}
},
- '鑷姩'
+ '妯″紡1'
),
h(
'span',
@@ -78,7 +78,7 @@
// this.request(row);
}
},
- '鎵嬪姩'
+ '妯″紡2'
)
]);
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs"
index beefb52..6e7d0f9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs"
@@ -9,6 +9,8 @@
{
public partial interface Idt_mes_headService
{
+ WebResponseContent CancelsorcingWorkOrder(SaveModel saveModel);
+
/// <summary>
/// 鎵嬪姩瀹屾垚宸ュ崟
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
index 21d0f97..be0d733 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
@@ -31,7 +31,6 @@
private void DoAction(IJobExecutionContext context)
{
StationTask.CreateTask();//鍏ュ簱
- OutboundTask.CreateOutboundTask();//鍑哄簱
RestockHCJ.HCJGetBarcode();//鏇存柊闃熷垪
EmptyTrayTask.CreateEmptyTrayTask();//鍒涘缓琛ョ┖鎵�
AutoUpdateWork.FinishMesWork();//澶勭悊宸ュ崟
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs"
index 4d73059..53182ec 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs"
@@ -21,6 +21,7 @@
using WIDESEA_WCS.JobsPart.Common;
using WIDESEA_Core.ManageUser;
using WIDESEA_Comm.LogInfo;
+using System.Collections.Generic;
namespace WIDESEA_WCS.Services
{
@@ -41,20 +42,20 @@
//澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
//base.Init(dbRepository);
}
- public WebResponseContent OutsorcingWorkOrder(SaveModel model)
+ public WebResponseContent CancelsorcingWorkOrder(SaveModel saveModel)
{
WebResponseContent content = new WebResponseContent();
string compeletor = UserContext.Current.UserName;
+ List<string> list = new List<string>();
try
{
- List<string> list = new List<string>();
- foreach (var Key in model.DelKeys)
+ foreach (var Key in saveModel.DelKeys)
{
var mes_head = _repository.Find(x => x.mes_id.ToString() == Key.ToString()).FirstOrDefault();
if (mes_head != null)
{
- mes_head.area = "澶栧崗";
- _repository.Update(mes_head, true);
+ mes_head.area = null;
+ _repository.Update(mes_head, x => new { x.area }, true);
list.Add(mes_head.jobID);
}
}
@@ -63,7 +64,33 @@
}
catch (Exception ex)
{
- WriteDBLog.Error("鎸囧畾宸ュ崟鍑哄簱澶栧崗", $"閿欒淇℃伅锛歿ex.Message}", "PCS", compeletor);
+ WriteDBLog.Error("鍙栨秷宸ュ崟鍑哄簱澶栧崗", $"宸ュ崟缂栧彿锛歿list}\n閿欒淇℃伅锛歿ex.Message}", "PCS", compeletor);
+ }
+ return content;
+ }
+ public WebResponseContent OutsorcingWorkOrder(SaveModel model)
+ {
+ WebResponseContent content = new WebResponseContent();
+ string compeletor = UserContext.Current.UserName;
+ List<string> list = new List<string>();
+ try
+ {
+ foreach (var Key in model.DelKeys)
+ {
+ var mes_head = _repository.Find(x => x.mes_id.ToString() == Key.ToString()).FirstOrDefault();
+ if (mes_head != null)
+ {
+ mes_head.area = "澶栧崗";
+ _repository.Update(mes_head, x => new { x.area }, true);
+ list.Add(mes_head.jobID);
+ }
+ }
+ content.OK();
+ WriteDBLog.Success("鎸囧畾宸ュ崟鍑哄簱澶栧崗", $"宸ュ崟缂栧彿锛歿list}", "PCS", compeletor);
+ }
+ catch (Exception ex)
+ {
+ WriteDBLog.Error("鎸囧畾宸ュ崟鍑哄簱澶栧崗", $"宸ュ崟缂栧彿锛歿list}\n閿欒淇℃伅锛歿ex.Message}", "PCS", compeletor);
}
return content;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs"
index c9977db..91c04eb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs"
@@ -19,6 +19,9 @@
using WIDESEA_WCS.IRepositories;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Newtonsoft.Json;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_WCS.Repositories;
+using WIDESEA_Comm;
namespace WIDESEA_WCS.Services
{
@@ -39,29 +42,50 @@
//澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
//base.Init(dbRepository);
}
+ /// <summary>
+ /// 妯″紡1
+ /// </summary>
+ /// <param name="v"></param>
+ /// <returns></returns>
public WebResponseContent UpdateAuto(string v)
{
WebResponseContent content = new WebResponseContent();
+ VOLContext context = new VOLContext();
+ Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+ var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
+ if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
+ return content.Error("璁剧疆涓烘ā寮�1澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�");
+
var model = JsonConvert.DeserializeObject<dt_pattern>(v);
model.pattern_state = 1;
var cont = _repository.Update(model, true);
if (cont > 0)
- content.OK(model.pattern_name + "璁剧疆涓鸿嚜鍔ㄥ叆搴撴垚鍔燂紒");
+ content.OK(model.pattern_name + "璁剧疆涓烘ā寮�1鎴愬姛锛�");
else
- content.Error(model.pattern_name + "璁剧疆涓鸿嚜鍔ㄥ叆搴撳け璐ワ紒");
+ content.Error(model.pattern_name + "璁剧疆涓烘ā寮�1澶辫触锛�");
return content;
}
+ /// <summary>
+ /// 妯″紡2
+ /// </summary>
+ /// <param name="v"></param>
+ /// <returns></returns>
public WebResponseContent UpdateManual(string v)
{
WebResponseContent content = new WebResponseContent();
+ VOLContext context = new VOLContext();
+ Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+ var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
+ if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
+ return content.Error("璁剧疆涓烘ā寮�2澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�");
var model = JsonConvert.DeserializeObject<dt_pattern>(v);
model.pattern_state = 0;
var cont = _repository.Update(model, true);
if (cont > 0)
- content.OK(model.pattern_name + "璁剧疆涓烘墜鍔ㄥ叆搴撴垚鍔燂紒");
+ content.OK(model.pattern_name + "璁剧疆涓烘ā寮�2鎴愬姛锛�");
else
- content.Error(model.pattern_name + "璁剧疆涓烘墜鍔ㄥ叆搴撳け璐ワ紒");
+ content.Error(model.pattern_name + "璁剧疆涓烘ā寮�2澶辫触锛�");
return content;
}
- }
+ }
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs"
index 95f0b4f..6e45bb2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs"
@@ -49,5 +49,11 @@
{
return Service.OutsorcingWorkOrder(saveModel);
}
+
+ [HttpPost, Authorize, Route("CancelsorcingWorkOrder"), AllowAnonymous]
+ public WebResponseContent CancelsorcingWorkOrder([FromBody] SaveModel saveModel)
+ {
+ return Service.CancelsorcingWorkOrder(saveModel);
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Mes_Workinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Mes_Workinfo.cs"
index cd1a356..dda1b9e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Mes_Workinfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Mes_Workinfo.cs"
@@ -17,7 +17,7 @@
public partial class VV_Mes_Workinfo : BaseEntity
{
/// <summary>
- ///宸ュ崟缂栧彿
+ ///
/// </summary>
[Display(Name = "jobID")]
[MaxLength(40)]
@@ -26,7 +26,7 @@
public string jobID { get; set; }
/// <summary>
- ///鐐変唬鍙�
+ ///鐐夊彿
/// </summary>
[Display(Name = "heatID")]
[MaxLength(20)]
@@ -35,7 +35,7 @@
public string heatID { get; set; }
/// <summary>
- ///閽㈠澂鍙�
+ ///
/// </summary>
[Display(Name = "billetID")]
[Column(TypeName = "int")]
@@ -88,7 +88,7 @@
public string reqIDLineNo { get; set; }
/// <summary>
- ///鐗╂枡缂栫爜
+ ///
/// </summary>
[Display(Name = "materialCode")]
[MaxLength(20)]
@@ -106,7 +106,7 @@
public string drawingNo { get; set; }
/// <summary>
- ///鎶�鏈姸鎬�
+ ///
/// </summary>
[Display(Name = "drawingNoVer")]
[MaxLength(10)]
@@ -115,7 +115,7 @@
public string drawingNoVer { get; set; }
/// <summary>
- ///浜у搧鍚嶇О
+ ///
/// </summary>
[Display(Name = "productName")]
[MaxLength(40)]
@@ -137,7 +137,7 @@
[Display(Name = "quantity")]
[Column(TypeName = "int")]
[Editable(true)]
- public int? quantity { get; set; }
+ public int quantity { get; set; }
/// <summary>
///
@@ -149,7 +149,7 @@
public string typeID { get; set; }
/// <summary>
- ///
+ ///鎵撳寘鏁伴噺
/// </summary>
[Key]
[Display(Name = "stackNoRange")]
@@ -159,7 +159,7 @@
public int stackNoRange { get; set; }
/// <summary>
- ///宸ュ崟绫诲瀷 (17-鏈哄姞宸� 28-妫�娴嬬嚎 101-绉诲簱澶栧崗)
+ ///宸ュ崟绫诲瀷 (17-鏈哄姞宸� 28-妫�娴嬬嚎 101绉诲簱澶栧崗)
/// </summary>
[Display(Name = "processCode")]
[MaxLength(20)]
@@ -167,6 +167,36 @@
[Editable(true)]
public string processCode { get; set; }
+ /// <summary>
+ ///瀹屾垚鏁伴噺
+ /// </summary>
+ [Display(Name = "瀹屾垚鏁伴噺")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ public int? finishNum { get; set; }
+ /// <summary>
+ ///鍒涘缓鏃堕棿
+ /// </summary>
+ [Display(Name = "鍒涘缓鏃堕棿")]
+ [Column(TypeName = "datetime")]
+ public DateTime CreateTime { get; set; }
+
+ /// <summary>
+ ///瀹屾垚鏃堕棿
+ /// </summary>
+ [Display(Name = "瀹屾垚鏃堕棿")]
+ [Column(TypeName = "datetime")]
+ [Editable(true)]
+ public DateTime? FinishTime { get; set; }
+
+ /// <summary>
+ ///宸ュ崟鐘舵��
+ /// </summary>
+ [Display(Name = "宸ュ崟鐘舵��")]
+ [MaxLength(20)]
+ [Column(TypeName = "nvarchar(20)")]
+ [Editable(true)]
+ public string Status { get; set; }
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
index 6d67997..5d5efe5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
@@ -9,7 +9,6 @@
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WCS.IRepositories;
-using WIDESEA_WCS.JobsPart.Common;
using WIDESEA_WCS.Repositories;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
index 4fdd1c7..4d96421 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
@@ -9,7 +9,6 @@
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.ToAGV;
-using WIDESEA_WCS.JobsPart.Common;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs"
index 5fb2730..eb980ec 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs"
@@ -9,7 +9,6 @@
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.ToAGV;
-using WIDESEA_WCS.JobsPart.Common;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
index 7a954ea..47deee7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
@@ -11,7 +11,7 @@
using WIDESEA_WMS.Repositories;
using static System.Collections.Specialized.BitVector32;
-namespace WIDESEA_WCS.JobsPart.Common
+namespace WIDESEA_WMS.Common
{
public class GetStation
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
index 5d676fa..27b7e4c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
@@ -11,7 +11,7 @@
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
-namespace WIDESEA_WCS.JobsPart.Common
+namespace WIDESEA_WMS.Common
{
public class EmptyTray
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueueTask/OutboundTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueueTask/OutboundTask.cs"
new file mode 100644
index 0000000..6edd1a4
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueueTask/OutboundTask.cs"
@@ -0,0 +1,126 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography.Xml;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Comm;
+using WIDESEA_Comm.LogInfo;
+using WIDESEA_Comm.TaskNo;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.Repositories;
+using WIDESEA_WMS.IRepositories;
+using WIDESEA_WMS.Repositories;
+using static FreeSql.Internal.GlobalFilter;
+using static System.Collections.Specialized.BitVector32;
+
+namespace WIDESEA_WMS.Common
+{
+ public class OutboundTask
+ {
+ /// <summary>
+ /// 鍒涘缓鍑哄簱闃熷垪浠诲姟
+ /// </summary>
+ public static void CreateOutboundTask()
+ {
+ try
+ {
+ VOLContext context = new VOLContext();
+ Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+ Idt_inventoryRepository inventoryRepository = new dt_inventoryRepository(context);
+ Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context);
+ IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context);
+
+ var Mes_Works = workinfoRepository.Find(x => x.processCode == "28").OrderByDescending(x => x.CreateTime).ToList();
+ foreach (var Mes_Work in Mes_Works)
+ {
+ var inventory = inventoryRepository.Find(x => x.SN == Mes_Work.SN).FirstOrDefault();
+ if (inventory != null)
+ {
+ var Station = stationinfoRepository.Find(x => x.stationCode == inventory.stationCode).FirstOrDefault();//鏌ユ壘搴撳瓨璐т綅
+ if (Station != null)
+ {
+
+ #region
+
+ dt_stationinfo stationinfo = null;
+ //鏌ユ壘褰撳墠璐т綅鍚岃鏄惁瀛樺湪鍏ュ簱浠诲姟
+ if (GetStation.InBusyStation(Station.stationCode)) continue;
+
+ stationinfo = stationinfoRepository.Find(x => x.line == Station.line && x.area == Station.area && x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.column).FirstOrDefault();
+ if (stationinfo != null)
+ {
+ if (agvtaskRepository.Find(x => x.agv_fromaddress == stationinfo.stationCode).Any()) continue;
+
+ if (stationinfoRepository.Find(x => x.line == stationinfo.line && x.area == stationinfo.area && x.column > stationinfo.column && !x.enable).Any())
+ continue;
+ if (string.IsNullOrEmpty(stationinfo.bindSN))
+ {
+ stationinfo.remark = "杞﹁疆SN鍙蜂俊鎭紓甯�";
+ stationinfo.location_state = "Abnormal";
+ stationinfoRepository.Update(stationinfo, true);
+ continue;
+ }
+
+ if (agvtaskRepository.Find(x => x.agv_fromaddress == stationinfo.stationCode).Any()) continue;
+
+ List<string> lists = new List<string>();
+ var SNS = stationinfo.bindSN.Split(",");
+ foreach (var SN in SNS)
+ {
+ if (!string.IsNullOrEmpty(SN))
+ lists.Add(SN);
+ }
+
+ #region 璐т綅杞﹁疆鍏ㄩ儴鍖呭惈鍦ㄥ伐鍗曞唴鍒欎笅鍙戜换鍔�
+ var count = 0;
+ foreach (var SN in lists)
+ {
+ if (workinfoRepository.Find(x => x.processCode == "28" && x.SN == SN).Any()) count++;
+ //if (workinfoRepository.Find(x => x.processCode == "28" && x.SN.Contains(SN)).Any()) count++;
+
+ }
+ if (count != lists.Count) continue;
+ dt_agvtask agvtask = new dt_agvtask()
+ {
+ agv_fromaddress = stationinfo.stationCode,
+ agv_id = Guid.NewGuid(),
+ agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"),
+ agv_grade = 2,
+ agv_createtime = DateTime.Now,
+ agv_taskstate = "Queue",
+ agv_materielid = stationinfo.stationType,
+ agv_qty = stationinfo.quantity,
+ agv_tasktype = "TaskType_Outbound",
+ agv_toaddress = "",
+ agv_userid = "绯荤粺",
+ bindSN = stationinfo.bindSN,
+ jobID = Mes_Work.workOrder,
+ agv_worktype = Convert.ToInt32(Mes_Work.processCode),
+ agv_materbarcode = Mes_Work.materialCode,
+ agv_Traytype = stationinfo.tray_type,
+ agv_TrayStatus = stationinfo.tray_status
+ };
+ stationinfo.location_state = LocationStateEnum.OutBusy.ToString();
+ stationinfoRepository.Update(stationinfo, true);
+ agvtaskRepository.Add(agvtask, true);
+ WriteDBLog.Success("鍒涘缓鍑哄簱浠诲姟", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS");
+ continue;
+
+ #endregion
+ }
+ #endregion
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ WriteDBLog.Error("鍒涘缓鍑哄簱浠诲姟", $"閿欒淇℃伅锛歿ex.Message}", "PCS");
+ }
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobQueueTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobQueueTask.cs"
index 351e8bd..ac426e7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobQueueTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobQueueTask.cs"
@@ -5,11 +5,12 @@
{
public class JobQueueTask : Job
{
- [Invoke(Begin = "2024-01-01 00:00", Interval = 1000 * 2, IsEnabled = true, SkipWhileExecuting = true)]
+ [Invoke(Begin = "2024-01-01 00:00", Interval = 1000 * 3, IsEnabled = true, SkipWhileExecuting = true)]
public void QueueTaskTiem()
{
QueueTask.ReplaceTrayTask();
ToMes.InfoToMes();
+ OutboundTask.CreateOutboundTask();
}
}
}
--
Gitblit v1.9.3