| StandardPda/MES.Service/Dto/service/GetTransferListResponse.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/MesPalletBinding1.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/Warehouse/MesPalletBinding1Manager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/Warehouse/MesPalletBinding1Controller.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/Dto/service/GetTransferListResponse.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ using System.Collections.Generic; namespace MES.Service.Dto.service { public class GetTransferListResponse { public int Code { get; set; } public string Msg { get; set; } public TransferListData Data { get; set; } } public class TransferListData { public string StackCode { get; set; } public List<SnItem> SnList { get; set; } } public class SnItem { public string SnNo { get; set; } public string TickeNo { get; set; } public string SnStatus { get; set; } public string MediumBoxCode { get; set; } } } StandardPda/MES.Service/Modes/MesPalletBinding1.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,96 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// æ æ¿ç»å®ä¿¡æ¯è¡¨ /// </summary> [SugarTable("MES_PALLET_BINDING")] public class MesPalletBinding1 { /// <summary> /// 主é®ID /// </summary> [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_MES_PALLET_BINDING_ID", IsPrimaryKey = true)] public decimal Id { get; set; } /// <summary> /// æ æ¿ç /// </summary> [SugarColumn(ColumnName = "STACKCODE")] public string Stackcode { get; set; } /// <summary> /// ç»å½å· /// </summary> [SugarColumn(ColumnName = "LOGIN_ID")] public string LoginId { get; set; } /// <summary> /// SNå· /// </summary> [SugarColumn(ColumnName = "SN_NO")] public string SnNo { get; set; } /// <summary> /// å·¥ååå· /// </summary> [SugarColumn(ColumnName = "TICKET_NO")] public string TicketNo { get; set; } /// <summary> /// ä¸ç®±ç /// </summary> [SugarColumn(ColumnName = "MEDIUMBOXCODE")] public string Mediumboxcode { get; set; } /// <summary> /// å建æ¶é´(è§£ç»æ¶é´) /// </summary> [SugarColumn(ColumnName = "CREATE_DATE")] public DateTime? CreateDate { get; set; } /// <summary> /// å建人 /// </summary> [SugarColumn(ColumnName = "CREATED_BY")] public string CreatedBy { get; set; } /// <summary> /// å ¥åºæ è¯ï¼0-æªå ¥åºï¼1-å·²å ¥åºï¼2-å·²éå®åºåºï¼é»è®¤0 /// </summary> [SugarColumn(ColumnName = "IS_INBOUND")] public decimal IsInbound { get; set; } /// <summary> /// å ¥åºæ¶é´ /// </summary> [SugarColumn(ColumnName = "INBOUND_TIME")] public DateTime? InboundTime { get; set; } /// <summary> /// äº§æµæ æ¿ç»å®æ¶é´(æ¥å£TransitTime) /// </summary> [SugarColumn(ColumnName = "BIND_TRANSIT_TIME")] public DateTime? BindTransitTime { get; set; } /// <summary> /// 线ä½ç¼ç /// </summary> [SugarColumn(ColumnName = "LINE_NO")] public string LineNo { get; set; } /// <summary> /// å ¥åºåå· /// </summary> [SugarColumn(ColumnName = "RK_NO")] public string RkNo { get; set; } /// <summary> /// å ¥åºæ¡ç /// </summary> [SugarColumn(ColumnName ="RK_CODE")] public string RkCode { get; set; } } StandardPda/MES.Service/service/Warehouse/MesPalletBinding1Manager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,166 @@ using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; using Newtonsoft.Json; using System.Text; namespace MES.Service.service.Warehouse; public class MesPalletBinding1Manager : Repository<MesPalletBinding1> { /// <summary> /// è°ç¨æ¥å£è·åæ æ¿ç»å®ä¿¡æ¯ /// </summary> /// <param name="stackCode">æ æ¿ç </param> /// <returns>æ¥å£è¿åç»æ</returns> public async Task<GetTransferListResponse> GetTransferListByStackCodeAsync( MesPalletBinding palletBinding) { try { // API URL string apiUrl = "http://no2api.dream-maker.com/bu/storage/pallet/getTransferList"; // æå»ºè¯·æ±ä½ var requestData = new { stackCode = palletBinding.StackCode }; var jsonContent = JsonConvert.SerializeObject(requestData); var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); // åéHTTPè¯·æ± using (var httpClient = new HttpClient()) { var response = await httpClient.PostAsync(apiUrl, content); var responseContent = await response.Content.ReadAsStringAsync(); // ååºååååº var result = JsonConvert.DeserializeObject<GetTransferListResponse>( responseContent); return result; } } catch (Exception ex) { throw new Exception($"è°ç¨æ¥å£è·åæ æ¿ç»å®ä¿¡æ¯å¤±è´¥: {ex.Message}"); } } /// <summary> /// å°æ¥å£è¿åçæ°æ®æå ¥å°æ°æ®åºä¸ /// </summary> /// <param name="palletBinding">æ æ¿ç»å®ä¿¡æ¯</param> /// <returns>æå ¥è®°å½æ°</returns> public int InsertPalletBindingData(MesPalletBinding palletBinding) { var response = GetTransferListByStackCodeAsync(palletBinding).Result; if (response?.Data?.SnList == null || string.IsNullOrEmpty(response.Data.StackCode)) { return 0; } int insertedCount = 0; try { // åå¤è¦æå ¥çæ°æ®å表 var bindingList = new List<MesPalletBinding1>(); foreach (var snItem in response.Data.SnList) { var binding = new MesPalletBinding1 { Stackcode = response.Data.StackCode, SnNo = snItem.SnNo, TicketNo = snItem.TickeNo, Mediumboxcode = snItem.MediumBoxCode, CreateDate = DateTime.Now, IsInbound = 0 // é»è®¤æªå ¥åº }; bindingList.Add(binding); } // æ¹éæå ¥æ°æ®å°æ°æ®åº if (bindingList.Any()) { // æ¹éæå ¥æ°æ°æ® var insertedIds = Db.Insertable(bindingList).PageSize(1) .IgnoreColumnsNull() .ExecuteCommand(); insertedCount = insertedIds; } } catch (Exception ex) { throw new Exception($"æå ¥æ æ¿ç»å®æ°æ®å¤±è´¥: {ex.Message}"); } return insertedCount; } /// <summary> /// æ£æ¥æ æ¿ç 卿°æ®åºä¸æ¯å¦åå¨ /// </summary> /// <param name="stackCode">æ æ¿ç </param> /// <returns>åå¨è¿åtrueï¼å¦åè¿åfalse</returns> public bool CheckStackCodeExists(string stackCode) { try { if (string.IsNullOrEmpty(stackCode)) { return false; } // æ¥è¯¢MES_PALLET_BINDINGè¡¨ä¸æ¯å¦åå¨è¯¥æ æ¿ç çæ°æ® var exists = Db.Queryable<MesPalletBinding1>() .Any(x => x.Stackcode == stackCode); return exists; } catch (Exception ex) { throw new Exception($"æ£æ¥æ æ¿ç æ¯å¦å卿¶åºé: {ex.Message}"); } } /// <summary> /// å°æ¥å£è¿åçæ°æ®æå ¥å°æ°æ®åºä¸ï¼å¸¦å卿§æ£æ¥ï¼ /// </summary> /// <param name="palletBinding">æ æ¿ç»å®ä¿¡æ¯</param> /// <returns>æä½ç»æ</returns> public async Task<int> InsertPalletBindingDataWithCheckAsync(MesPalletBinding palletBinding) { // å æ£æ¥æ æ¿ç æ¯å¦åå¨ bool exists = CheckStackCodeExists(palletBinding.StackCode); return exists ? 1 : // è°ç¨åæ¥çæå ¥æ¹æ³ InsertPalletBindingData(palletBinding); } /// <summary> /// æ ¹æ®æ æ¿ç å 餿§æ°æ® /// </summary> /// <param name="stackCode">æ æ¿ç </param> /// <returns>å é¤è®°å½æ°</returns> private async Task<int> DeleteByStackCodeAsync(string stackCode) { try { var deleteResult = await Db.Deleteable<MesPalletBinding1>() .Where(x => x.Stackcode == stackCode) .ExecuteCommandAsync(); return deleteResult; } catch (Exception ex) { // è®°å½é误ä½ä¸æåºå¼å¸¸ï¼å 许æå ¥æä½ç»§ç» Console.WriteLine($"å 餿§æ°æ®æ¶åºé: {ex.Message}"); return 0; } } } StandardPda/MESApplication/Controllers/Warehouse/MesPalletBinding1Controller.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.Warehouse; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.Warehouse { [ApiController] [Route("api/[controller]")] public class MesPalletBinding1Controller : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly MesPalletBinding1Manager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "mespalletbinding1"; private readonly string URL = "http://localhost:10054/api/mespalletbinding1/"; /// <summary> /// ä»å¤é¨æ¥å£è·åæ æ¿ç»å®ä¿¡æ¯å¹¶ä¿åå°æ°æ®åº /// </summary> /// <param name="palletBinding">æ æ¿ç»å®ä¿¡æ¯</param> /// <returns></returns> [HttpPost("SavePalletBindingData")] public ResponseResult SavePalletBindingData([FromBody] MesPalletBinding palletBinding) { try { // è°ç¨ä¸å¡é»è¾å±æ¹æ³å°æ°æ®ä¿åå°æ°æ®åº int insertedCount = m.InsertPalletBindingData(palletBinding); if (insertedCount > 0) { return new ResponseResult { status = 0, message = $"æåæå ¥ {insertedCount} æ¡æ æ¿ç»å®æ°æ®", data = insertedCount }; } else { return new ResponseResult { status = 1, message = "æªæå ¥ä»»ä½æ°æ®ï¼å¯è½æ¯å 为æ¥å£è¿åçæ°æ®ä¸ºç©º", data = null }; } } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ£æ¥æ æ¿ç 卿°æ®åºä¸æ¯å¦åå¨ /// </summary> /// <param name="stackCode">æ æ¿ç </param> /// <returns></returns> [HttpPost("CheckStackCodeExists")] public ResponseResult CheckStackCodeExists([FromBody] dynamic request) { try { string stackCode = request.stackCode; bool exists = m.CheckStackCodeExists(stackCode); return new ResponseResult { status = 0, message = exists ? "æ æ¿ç å·²åå¨" : "æ æ¿ç ä¸åå¨", data = exists }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// ä»å¤é¨æ¥å£è·åæ æ¿ç»å®ä¿¡æ¯å¹¶ä¿åå°æ°æ®åºï¼å¸¦å卿§æ£æ¥ï¼ /// </summary> /// <param name="palletBinding">æ æ¿ç»å®ä¿¡æ¯</param> /// <returns></returns> [HttpPost("SavePalletBindingDataWithCheck")] public async Task<ResponseResult> SavePalletBindingDataWithCheck([FromBody] MesPalletBinding palletBinding) { try { // è°ç¨ä¸å¡é»è¾å±æ¹æ³å°æ°æ®ä¿åå°æ°æ®åºï¼å¸¦å卿§æ£æ¥ï¼ int result = await m.InsertPalletBindingDataWithCheckAsync(palletBinding); return new ResponseResult { status = 0, message = result > 0 ? $"æåå¤ç {result} æ¡æ æ¿ç»å®æ°æ®" : "æªå¤ç任使°æ®ï¼å¯è½æ¯å 为æ¥å£è¿åçæ°æ®ä¸ºç©º", data = result }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } }