zjh
4 天以前 98958cdd70d3a63a562e9238ddecb9c6c6865e95
添加接口,查询栈板码是否入库,返回消息,是否允许解绑
已修改3个文件
已添加1个文件
99 ■■■■■ 文件已修改
StandardPda/MES.Service/DB/OracleSQLHelper.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/StackCodeStateDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/DB/OracleSQLHelper.cs
@@ -121,6 +121,23 @@
        }
    }
    // æ‰§è¡ŒæŸ¥è¯¢å¹¶è¿”回单个值(带参数)
    public object ExecuteScalar(string sql, CommandType commandType, OracleParameter[] parameters)
    {
        using (var connection = new OracleConnection(_connectionString))
        {
            using (var command = new OracleCommand(sql, connection))
            {
                command.CommandType = commandType;
                if (parameters != null)
                    command.Parameters.AddRange(parameters);
                connection.Open();
                return command.ExecuteScalar();
            }
        }
    }
    // æ‰§è¡Œå­˜å‚¨è¿‡ç¨‹
    //OracleParameter[] parameters = new OracleParameter[]
StandardPda/MES.Service/Dto/webApi/StackCodeStateDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
namespace MES.Service.Dto.webApi;
/// <summary>
///     æ ˆæ¿ç çŠ¶æ€æŸ¥è¯¢è¯·æ±‚DTO
/// </summary>
public class StackCodeStateDto
{
    /// <summary>
    ///     æ ˆæ¿ç 
    /// </summary>
    public string StackCode { get; set; }
}
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
@@ -749,5 +749,32 @@
            return result;
        }
        /// <summary>
        /// æŸ¥è¯¢æ ˆæ¿ç çŠ¶æ€
        /// </summary>
        /// <param name="stackCode">栈板码</param>
        /// <returns>0-允许解绑,1-不允许解绑(已入库)</returns>
        public int GetStackCodeState(string stackCode)
        {
            var sqlHelper = new OracleSQLHelper();
            try
            {
                // æŸ¥è¯¢è¯¥æ ˆæ¿ç æ˜¯å¦å·²å…¥åº“ (IS_INBOUND = 1)
                var sql = @"SELECT COUNT(*) FROM MES_PALLET_BINDING
                           WHERE STACKCODE = :stackCode AND IS_INBOUND = 1";
                var parameters = new[] { new OracleParameter(":stackCode", stackCode ?? (object)DBNull.Value) };
                var count = Convert.ToInt32(sqlHelper.ExecuteScalar(sql, CommandType.Text, parameters));
                // å¦‚æžœcount > 0,说明已入库,返回1(不允许解绑)
                // å¦åˆ™è¿”回0(允许解绑)
                return count > 0 ? 1 : 0;
            }
            catch (Exception ex)
            {
                throw new Exception($"查询栈板码状态失败: {ex.Message}", ex);
            }
        }
    }
}
StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs
@@ -1,6 +1,7 @@
using System.Dynamic;
using AngleSharp.Text;
using MES.Service.Dto.service;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using MES.Service.service;
using MES.Service.service.Warehouse;
@@ -265,4 +266,46 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æŸ¥è¯¢æ ˆæ¿ç çŠ¶æ€
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetStackCodeState")]
    public ResponseResult GetStackCodeState(StackCodeStateDto request)
    {
        var entity = new MessageCenter();
        entity.TableName = TableName;
        entity.Url = URL + "GetStackCodeState";
        entity.Method = METHOD;
        entity.Data = JsonConvert.SerializeObject(request);
        entity.Status = 1;
        entity.CreateBy = "PL017";
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var state = m.GetStackCodeState(request.StackCode);
            resultInfos.state = state;
            entity.Result = 1;
            entity.DealWith = 1;
            _manager.save(entity);
            return new ResponseResult
            {
                status = state,
                message = state == 1 ? "该栈板码已入库,不允许解绑" : "允许解绑",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            entity.Result = 0;
            entity.DealWith = 0;
            entity.ResultData = ex.Message;
            _manager.save(entity);
            return ResponseResult.ResponseError(ex);
        }
    }
}