yanjinhui
2025-10-15 a2ac226eba37410a5f668c866fd45ce43c756394
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs
@@ -28,10 +28,12 @@
        static string SearchDate = "";
        private readonly IBasicService _basicService;
        private readonly IMedicineGoodsServices _medicineGoodsServices;
        public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService) : base(BaseDal)
        public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices) : base(BaseDal)
        {
            _basicService = basicService;
            _medicineGoodsServices = medicineGoodsServices;
        }
        /// <summary>
@@ -215,9 +217,12 @@
                        };
                        foreach (var item in order.details)
                        {
                            // å°†ä¸Šæ¸¸å…¥åº“数量转为正数
                            item.order_qty = Math.Abs(item.order_qty);
                            #region æ ¹æ®ç‰©æ–™ç¼–码查询物料信息
                            Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == item.goods_no);
                            ///根据物料信息大小件属性区分是否入立库
                            //Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == item.goods_no);
                            Dt_MedicineGoods materielInfo = BaseDal.Db.Queryable<Dt_MedicineGoods>().Where(x => x.Goods_no == item.goods_no).First();
                            ///根据物料信息大小件属性区分是否入立库 //大件入平库
                            if (materielInfo.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart)
                            {
                                Dt_CabinOrderDetail orderDetail = new Dt_CabinOrderDetail()
@@ -235,8 +240,8 @@
                            else
                            {
                                Dt_CabinOrderDetail orderDetail = null;
                                var ys = item.order_qty % materielInfo.BoxQty;
                                var xs = item.order_qty / materielInfo.BoxQty;
                                var ys = item.order_qty % materielInfo.BoxQty; //不能整除箱规的散件数
                                var xs = item.order_qty / materielInfo.BoxQty;//整箱数量
                                #region ç”Ÿæˆç«‹åº“入库单
                                #region åˆ¤æ–­æ˜¯å¦æœ‰æ•£ä»¶
@@ -244,6 +249,7 @@
                                {
                                    orderDetail = new Dt_CabinOrderDetail()
                                    {
                                        Reservoirarea = order.warehouse_no,
                                        Goods_no = item.goods_no,
                                        Order_qty = ys,
                                        Batch_num = item.batch_num,
@@ -263,6 +269,7 @@
                                    {
                                        orderDetail = new Dt_CabinOrderDetail()
                                        {
                                            Reservoirarea = order.warehouse_no,
                                            Goods_no = item.goods_no,
                                            Order_qty = materielInfo.BoxQty,
                                            Batch_num = item.batch_num,
@@ -288,6 +295,7 @@
                                {
                                    orderDetail = new Dt_CabinOrderDetail()
                                    {
                                        Reservoirarea = order.warehouse_no,
                                        Goods_no = item.goods_no,
                                        Order_qty = materielInfo.BoxQty * xs,
                                        Batch_num = item.batch_num,
@@ -299,7 +307,8 @@
                                }
                                #endregion
                            }
                            _basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
                            //_basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
                            _medicineGoodsServices.Db.Updateable(materielInfo).ExecuteCommand();
                            #endregion
                        }
                        _CabinOrders.Add(entityOrder);