zxx
2025-07-03 2b41b8903accb120df1ae29aac6342c124cc78d8
大件
3个文件已修改
78 ■■■■ 已修改文件
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/smallMaterial.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/ContainerHelper.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/smallMaterial.cs
@@ -26,6 +26,7 @@
        public string dst_area { get; set; }
        public string sku { get; set; }
        public string BatchNo { get; set; }
        public string issueMode { get; set; }
        public int num { get; set; }
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -952,7 +952,7 @@
                //创建托盘货位绑定关系
                string trayCode = ContainerHelper.GenerateCntrNo();
                //绑定起点货位(产线)和物料
                ContainerHelper.BindLocCntrs(startLoc.S_CODE, trayCode, model.parameter.sku, "");
                ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameter.sku, "", model.parameter.BatchNo, model.parameter.issueMode, model.parameter.num);
                var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
                //创建任务
@@ -1000,7 +1000,7 @@
        }
        //自动 拆分
        public static TaskResponse autoSmallMaterial(smallMaterial model) {
            var db = new SqlHelper<Location>().GetInstance();
@@ -1120,16 +1120,7 @@
            }
            return result;
        }
        //人工 不拆分
        public static void artificialSmallMaterial(smallMaterial model)
        {
            var db = new SqlHelper<Location>().GetInstance();
        }
    }
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/ContainerHelper.cs
@@ -576,7 +576,41 @@
            //1.0 查货位容器表
            return result;
        }
        /// <summary>
        /// 小米 绑定货位容器表
        /// </summary>
        /// <param name="cntr"></param>
        /// <returns></returns>
        internal static bool BindLocCntrsXm(string loc, string cntr, string itemCode, string itemName, string BatchNo, string issueMode, int num)
        {
            bool result = true;
            List<string> list = new List<string>(cntr.Split(','));
            var db = new SqlHelper<object>().GetInstance();
            for (int i = 0; i < list.Count; i++)
            {
                if (!string.IsNullOrEmpty(list[i]))
                {
                    string cntrCode = list[i];
                    if (db.Queryable<LocCntrRel>().Count(a => a.S_CNTR_CODE.Trim() == cntrCode) == 0)
                    {
                        var cir = new LocCntrRel { S_LOC_CODE = loc, S_CNTR_CODE = cntrCode };
                        var con = new Container { S_CODE = cntrCode, N_DETAIL_COUNT = 1, C_FULL = "2" };//默认满 主动绑定服务用
                        db.Insertable<LocCntrRel>(cir).ExecuteCommand();
                        db.Insertable<Container>(con).ExecuteCommand();
                        if (!string.IsNullOrEmpty(itemCode))
                        {
                            LogHelper.Info($"绑定容器参数:{JsonConvert.SerializeObject(con)}");
                            ContainerHelper.BindCntrItemXm(cntrCode, itemCode, itemName, BatchNo, issueMode, num);
                            ////有物料的话就是满的
                            //con.C_FULL = "2";
                            //db.Updateable(con).UpdateColumns(it => it.C_FULL).ExecuteCommand();
                        }
                    }
                }
            }
            //1.0 查货位容器表
            return result;
        }
        /// <summary>
        /// 绑定货位容器表
        /// </summary>
@@ -636,5 +670,33 @@
            }
            return res;
        }
        /// <summary>
        /// 小米 绑定容器物料表
        /// </summary>
        /// <param name="itemCode"></param>
        /// <param name="batchNo"></param>
        /// <param name="qty"></param>
        /// <returns></returns>
        internal static bool BindCntrItemXm(string trayCode, string itemCode, string itemName, string BatchNo, string issueMode, int num)
        {
            var res = false;
            var db = new SqlHelper<object>().GetInstance();
            try
            {
                LogHelper.Info($"BindCntrItem=============");
                db.BeginTran();
                var cir = new CntrItemDetail { S_CNTR_CODE = trayCode, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName, S_BATCH_NO = itemName, F_QTY = num, S_ITEM_SPEC = issueMode };
                db.Insertable<CntrItemDetail>(cir).ExecuteCommand();
                db.Ado.CommitTran();
                res = true;
                LogHelper.Info($"绑定容器物料表托盘:{trayCode}物料编码:{itemCode}物料名称:{itemName}");
            }
            catch (Exception ex)
            {
                LogHelper.Error("BindCntrItem:" + ex.Message, ex);
                db.Ado.RollbackTran();
            }
            return res;
        }
    }
}