zxx
2025-07-04 c119ea611cc0e3704cc3be71b5009795323982be
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>
@@ -623,7 +657,35 @@
            {
                LogHelper.Info($"BindCntrItem=============");
                db.BeginTran();
                var cir = new CntrItemDetail { S_CNTR_CODE = trayCode, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName};
                var cir = new CntrItemDetail { S_CNTR_CODE = trayCode, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName };
                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;
        }
        /// <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 = BatchNo, F_QTY = num, S_ITEM_SPEC = issueMode };
                db.Insertable<CntrItemDetail>(cir).ExecuteCommand();
                db.Ado.CommitTran();
                res = true;