chengsc
2024-08-28 acb273acb0771a9c5f5c46afbbe661fde215e507
修改问题
7个文件已修改
123 ■■■■■ 已修改文件
Wms/Model/InterFaceModel/HttpModel.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/InterFaceModel/SoModel.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BllCheckController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Tools/ApiUrlConfig.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/appsettings.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/InterFaceModel/HttpModel.cs
@@ -49,8 +49,9 @@
        /// </summary>
        public string message { get; set; }
    }
    /// <summary>
    /// Mes令牌Model
    /// 接收Mes令牌Model
    /// </summary>
    public class MesTokenModel
    {
@@ -78,15 +79,17 @@
        
    }
    /// <summary>
    /// 接收MES令牌token值Mdoel
    /// </summary>
    public class GetTokenModel
    {
        public string token { get; set; }
        public string expire_time { get; set; }
    }
    /// <summary>
    /// 释放备料区储位状态Model
    /// 接收释放备料区储位状态Model
    /// </summary>
    public class UpLocateModel
    {
Wms/Model/InterFaceModel/SoModel.cs
@@ -4,7 +4,60 @@
namespace Model.InterFaceModel
{
    /// <summary>
    /// 请求发送备料信息至MES
    /// </summary>
    public class RequertBeiliaoModel
    {
        /// <summary>
        /// 备料申请单号 【string(30)/非空】
        /// </summary>
        public string morder_no { get; set; }
        /// <summary>
        /// 货位编号【string(30)/非空】
        /// </summary>
        public string layer_no { get; set; }
        /// <summary>
        /// 托盘号【string(30)/非空】
        /// </summary>
        public string pallet { get; set; }
        public List<RequertBeiliaoInfoModel> items { get; set; }
    }
    /// <summary>
    /// 请求发送备料信息至MES的明细信息
    /// </summary>
    public class RequertBeiliaoInfoModel
    {
        /// <summary>
        /// 物料编号【string(100)/非空】
        /// </summary>
        public string materiel_no { get; set; }
        /// <summary>
        /// 物料名称【string(100)】
        /// </summary>
        public string materiel_name { get; set; }
        /// <summary>
        /// 数量【decimal】
        /// </summary>
        public decimal? qty { get; set; }
        /// <summary>
        /// 批次号【string(30)】
        /// </summary>
        public string batch { get; set; }
        /// <summary>
        /// 生产日期【yyyy-MM-dd
        /// </summary>
        public DateTime? producttime { get; set; }
        /// <summary>
        /// 有效期至【yyyy-MM-dd
        /// </summary>
        public DateTime? expiry { get; set; }
    }
    /// <summary>
    /// 出库单信息
    /// </summary>
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -14,6 +14,7 @@
using SqlSugar.Extensions;
using Utility.Tools;
using WMS.BLL.LogServer;
using WMS.BLL.SysServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.BllCheckEntity;
@@ -1295,7 +1296,7 @@
        }
        //AGV移库完成
        public void MoveSuccess(string taskNo, int userId)
        public void MoveSuccess(string taskNo,string mesTokenUrl, string mesUrl, int userId)
        {
            try
            {
@@ -1337,6 +1338,7 @@
                        throw new Exception("目标储位状态非移入中");
                    }
                }
                var data = new List<RequertBeiliaoInfoModel>();
                //更改库存明细
                foreach (var item in stockDetail)
                {
@@ -1376,6 +1378,18 @@
                    if (endLocate != null && endLocate.AreaNo == "B12") //是否是3楼缓存区 是:删除库存
                    {
                        //记录托盘上信息给MES
                        data.Add(new RequertBeiliaoInfoModel()
                        {
                            materiel_no = item.SkuNo,
                            materiel_name = item.SkuName,
                            qty = item.Qty,
                            batch = item.LotNo,
                            producttime = item.ProductionTime,
                            expiry = item.ExpirationTime
                        });
                        //库存箱码明细删除
                        var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
                        Db.Deleteable(boxInfo).ExecuteCommand();
@@ -1400,8 +1414,34 @@
                    //更改目标储位状态
                    endLocate.Status = "1";//有物品
                    Db.Updateable(endLocate).ExecuteCommand();
                }
                }
                if (endLocate!= null && endLocate.AreaNo == "B12")
                {
                    //获取令牌
                    var token = new Token().GetMesToken(mesTokenUrl);
                    Dictionary<string, string> mesDic = new Dictionary<string, string>()
                    {
                        {"Authorization",token }
                    };
                    var mesData = new RequertBeiliaoModel()
                    {
                        morder_no = stockDetail.First().SONo,
                        pallet = stockDetail.First().PalletNo,
                        layer_no = endLocate.LocatNo,
                        items = data
                    };
                    var jsonData = JsonConvert.SerializeObject(mesData);
                    //调用接口
                    var response = HttpHelper.DoPost(mesUrl, jsonData, "备料完成运至缓存区反馈至MES", "MES", mesDic);
                    var obj = JsonConvert.DeserializeObject<MesModel>(response);//解析返回数据
                    if (obj.status != "0")
                    {
                        throw new Exception("备料同步MES失败:" + obj.message);
                    }
                }
                if (userId != 0)
                {
                    //添加操作日志记录
Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs
@@ -129,7 +129,7 @@
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="userId"></param>
        void MoveSuccess(string taskNo, int userId);
        void MoveSuccess(string taskNo, string mesTokenUrl, string mesUrl, int userId);
        /// <summary>
        /// 取消AGV移库任务
        /// </summary>
Wms/Wms/Controllers/BllCheckController.cs
@@ -428,7 +428,7 @@
                {
                    return Ok(new { code = 1, msg = "未获取到当前操作人信息" });
                }
                _stockCheckSvc.MoveSuccess(model.taskNo, int.Parse(userId));
                _stockCheckSvc.MoveSuccess(model.taskNo, _config.MesHost+_config.MesGetTokenUrl, _config.MesHost+ _config.MesBeiLiaoUrl, int.Parse(userId));
                return Ok(new { code = 0, msg = "成功完成任务", data = "" });
            }
Wms/Wms/Tools/ApiUrlConfig.cs
@@ -56,7 +56,13 @@
        /// 入库订单关闭上传
        /// </summary>
        public string MesAsnFinishUrl { get; set; }
        /// <summary>
        /// 备料信息发送至MES路径
        /// </summary>
        public string MesBeiLiaoUrl { get; set; }
        /// <summary>
        /// 获取MES令牌路径
        /// </summary>
        public string MesGetTokenUrl { get; set; }
        #endregion
Wms/Wms/appsettings.json
@@ -39,7 +39,8 @@
    "GetBoxUrl": "/api/wmsInterface/OutStockTask", //获取箱码信息
    //MES
    "MesAsnFinishUrl": "/port/mes/service/mes/save_worder_feedback", //入库单关单
    "MesAsnFinishUrl": "/port/mes/service/mes/save_worder_feedback", //入库单关单反馈
    "MesBeiLiaoUrl": "/port/mes/service/mes/save_morder_feedback", //备料反馈(原料备料到生产车间缓存区)
    "MesGetTokenUrl": "/port/mes/service/system/sign_login", //获取令牌
    // 赋码