f1b5c366456c042b2cfa380d4c63d900dfeec4f8..98958cdd70d3a63a562e9238ddecb9c6c6865e95
8 天以前 zjh
添加接口,查询栈板码是否入库,返回消息,是否允许解绑
98958c 对比 | 目录
8 天以前 tjx
111
9e879a 对比 | 目录
已修改3个文件
已添加6个文件
452 ■■■■■ 文件已修改
StandardPda/MES.Service/DB/OracleSQLHelper.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/SalesPalletDetailQueryDto.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/SalesPalletQueryDto.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/webApi/StackCodeStateDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Modes/SalesPallet.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Modes/SalesPalletDetail.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | 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/SalesPalletDetailQueryDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
namespace MES.Service.Dto.webApi;
/// <summary>
///     é”€å”®æ‰˜ç›˜æ˜Žç»†æŸ¥è¯¢ç»“æžœDTO
/// </summary>
public class SalesPalletDetailQueryDto
{
    /// <summary>
    ///     æ˜Žç»†ID
    /// </summary>
    public decimal Id { get; set; }
    /// <summary>
    ///     SALES_PALLET表的ID
    /// </summary>
    public decimal? Mid { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•号
    /// </summary>
    public string? BillNo { get; set; }
    /// <summary>
    ///     æ ˆæ¿ç 
    /// </summary>
    public string? Stackcode { get; set; }
    /// <summary>
    ///     æ•°é‡
    /// </summary>
    public decimal? Qty { get; set; }
    /// <summary>
    ///     ç‰©æ–™ç¼–码
    /// </summary>
    public string? ItemNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™åç§°
    /// </summary>
    public string? ItemName { get; set; }
    /// <summary>
    ///     ç‰©æ–™è§„æ ¼
    /// </summary>
    public string? ItemModel { get; set; }
}
StandardPda/MES.Service/Dto/webApi/SalesPalletQueryDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
namespace MES.Service.Dto.webApi;
/// <summary>
///     é”€å”®æ‰˜ç›˜æŸ¥è¯¢ç»“æžœDTO
/// </summary>
public class SalesPalletQueryDto
{
    /// <summary>
    ///     æ‰˜ç›˜ID
    /// </summary>
    public decimal Id { get; set; }
    /// <summary>
    ///     å®¡æ ¸çŠ¶æ€
    /// </summary>
    public decimal? Status { get; set; }
    /// <summary>
    ///     å®¡æ ¸æ—¶é—´
    /// </summary>
    public DateTime? CheckDate { get; set; }
    /// <summary>
    ///     å®¡æ ¸äººå§“名
    /// </summary>
    public string? CheckUser { get; set; }
    /// <summary>
    ///     å•据编号
    /// </summary>
    public string? BillNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™ç¼–码
    /// </summary>
    public string? ItemNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™åç§°
    /// </summary>
    public string? ItemName { get; set; }
    /// <summary>
    ///     ç‰©æ–™è§„æ ¼
    /// </summary>
    public string? ItemModel { get; set; }
    /// <summary>
    ///     å•位名称
    /// </summary>
    public string? UnitName { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•数量(xsdd)
    /// </summary>
    public decimal? Xsdd { get; set; }
    /// <summary>
    ///     å·²ç»‘定数量(yb)
    /// </summary>
    public decimal? Yb { get; set; }
    /// <summary>
    ///     å”¯ä¸€æ ‡è¯†(wyj)
    /// </summary>
    public string? Wyj { get; set; }
}
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/Modes/SalesPallet.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     æ ˆæ¿ä¸Žé”€å”®è®¢å•绑定表
/// </summary>
[SugarTable("SALES_PALLET")]
public class SalesPallet
{
    /// <summary>
    ///     ä¸»é”®ID
    /// </summary>
    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_PALLET", IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     å•据编号
    /// </summary>
    [SugarColumn(ColumnName = "BILL_NO")]
    public string? BillNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™ID
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_ID")]
    public decimal? ItemId { get; set; }
    /// <summary>
    ///     é”€å”®æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "SALES_QUANTITY")]
    public decimal? SalesQuantity { get; set; }
    /// <summary>
    ///     å®¡æ ¸äºº
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_USER")]
    public string? CheckUser { get; set; }
    /// <summary>
    ///     å®¡æ ¸æ—¶é—´
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_DATE")]
    public DateTime? CheckDate { get; set; }
    /// <summary>
    ///     å®¡æ ¸çŠ¶æ€(默认值:0)
    /// </summary>
    [SugarColumn(ColumnName = "STATUS")]
    public decimal? Status { get; set; }
}
StandardPda/MES.Service/Modes/SalesPalletDetail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     æ ˆæ¿ä¸Žé”€å”®è®¢å•绑定明细
/// </summary>
[SugarTable("SALES_PALLET_DETAIL")]
public class SalesPalletDetail
{
    /// <summary>
    ///     ä¸»é”®ID
    /// </summary>
    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_PALLET", IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•号
    /// </summary>
    [SugarColumn(ColumnName = "BILL_NO")]
    public string? BillNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™ID
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_ID")]
    public decimal? ItemId { get; set; }
    /// <summary>
    ///     æ ˆæ¿ç 
    /// </summary>
    [SugarColumn(ColumnName = "STACKCODE")]
    public string? Stackcode { get; set; }
    /// <summary>
    ///     æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "QTY")]
    public decimal? Qty { get; set; }
    /// <summary>
    ///     SALES_PALLET表的ID
    /// </summary>
    [SugarColumn(ColumnName = "MID")]
    public decimal? Mid { 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/SalesPalletController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
using MES.Service.util;
using MES.Service.service.Warehouse;
using Microsoft.AspNetCore.Mvc;
namespace MESApplication.Controllers.Warehouse;
/// <summary>
///     é”€å”®æ‰˜ç›˜ç®¡ç†æŽ§åˆ¶å™¨
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class SalesPalletController : ControllerBase
{
    private readonly SalesPalletManager _manager = new();
    /// <summary>
    ///     èŽ·å–é”€å”®æ‰˜ç›˜ä¿¡æ¯
    /// </summary>
    /// <returns>销售托盘信息列表</returns>
    [HttpPost("GetSalesPalletInfo")]
    public ResponseResult GetSalesPalletInfo()
    {
        try
        {
            var result = _manager.GetSalesPalletInfo();
            return new ResponseResult
            {
                status = 0,
                message = "查询成功",
                data = result
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®æ¡ä»¶èŽ·å–é”€å”®æ‰˜ç›˜ä¿¡æ¯
    /// </summary>
    /// <param name="request">查询条件</param>
    /// <returns>销售托盘信息列表</returns>
    [HttpPost("GetSalesPalletInfoByCondition")]
    public ResponseResult GetSalesPalletInfoByCondition([FromBody] SalesPalletQueryRequest request)
    {
        try
        {
            var result = _manager.GetSalesPalletInfo(request.BillNo, request.ItemId, request.Status);
            return new ResponseResult
            {
                status = 0,
                message = "查询成功",
                data = result
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     èŽ·å–é”€å”®æ‰˜ç›˜æ˜Žç»†ä¿¡æ¯
    /// </summary>
    /// <returns>销售托盘明细信息列表</returns>
    [HttpPost("GetSalesPalletDetailInfo")]
    public ResponseResult GetSalesPalletDetailInfo()
    {
        try
        {
            var result = _manager.GetSalesPalletDetailInfo();
            return new ResponseResult
            {
                status = 0,
                message = "查询成功",
                data = result
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®æ ˆæ¿ç èŽ·å–é”€å”®æ‰˜ç›˜æ˜Žç»†ä¿¡æ¯
    /// </summary>
    /// <param name="request">查询条件</param>
    /// <returns>销售托盘明细信息列表</returns>
    [HttpPost("GetSalesPalletDetailInfoByStackcode")]
    public ResponseResult GetSalesPalletDetailInfoByStackcode([FromBody] SalesPalletDetailQueryRequest request)
    {
        try
        {
            var result = _manager.GetSalesPalletDetailInfo(request.Stackcode);
            return new ResponseResult
            {
                status = 0,
                message = "查询成功",
                data = result
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
/// <summary>
///     é”€å”®æ‰˜ç›˜æŸ¥è¯¢è¯·æ±‚
/// </summary>
public class SalesPalletQueryRequest
{
    /// <summary>
    ///     å•据编号
    /// </summary>
    public string? BillNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™ID
    /// </summary>
    public decimal? ItemId { get; set; }
    /// <summary>
    ///     å®¡æ ¸çŠ¶æ€
    /// </summary>
    public decimal? Status { get; set; }
}
/// <summary>
///     é”€å”®æ‰˜ç›˜æ˜Žç»†æŸ¥è¯¢è¯·æ±‚
/// </summary>
public class SalesPalletDetailQueryRequest
{
    /// <summary>
    ///     æ ˆæ¿ç 
    /// </summary>
    public string? Stackcode { get; set; }
}
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);
        }
    }
}