Exemplo n.º 1
0
        /// <summary>
        /// @xis 添加入库单详情
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <SVResult <int> > AddStockDetails(t_stock_in_detail model)
        {
            SVResult <int> res = new SVResult <int> {
                state = false
            };

            //添加的产品为冻结
            if (model.quantity <= 0)
            {
                res.code = ErrorCodeConst.ERROR_1043;
                return(res);
            }

            string sql = g_sqlMaker.Insert <t_stock_in_detail>(i => new
            {
                i.order_sn,
                i.unit_price,
                i.quantity,
                i.stock_id,
                i.batch_number,
                i.expiration_date,
                i.factory_id,
                i.instructions,
                i.material_number,
                i.model_number,
                i.package_size,
                i.product_name,
                i.report_card_url,
                i.retest_date,
                i.spare_parts,
                i.unit_name
            }).ToSQL();

            int id = await g_dbHelper.ExecScalarAsync <int>(sql, model);

            if (id <= 0)
            {
                res.code = ErrorCodeConst.ERROR_1018;
                return(res);
            }

            res.state = true;
            res.data  = id;
            return(res);
        }
Exemplo n.º 2
0
        /// <summary>
        /// @xis 入库单审核通过
        /// </summary>
        /// <param name="order_sn">订单号</param>
        /// <returns></returns>
        public async Task <bool> StockInApplySuccess(string order_sn)
        {
            List <t_stock_in_detail> detail_list = await GetStockInDetailsByOrderSn(s => new { s.stock_id, s.quantity }, order_sn);

            List <t_stock> stock_list = await GetStockByIds(s => new { s.id, s.quantity, s.rv }, detail_list.Select(s => s.stock_id));

            List <t_stockin_pre> pre_list = new List <t_stockin_pre>();//待入库

            foreach (var item in stock_list)
            {
                t_stock_in_detail detail = detail_list.FirstOrDefault(f => f.stock_id == item.id);
                if (detail == null)
                {
                    return(false);
                }

                item.quantity += detail.quantity;

                pre_list.Add(new t_stockin_pre
                {
                    stock_id = detail.stock_id,
                    quantity = detail.quantity
                });
            }
            //更新库存数量
            bool stock_flag = await UpdateStock(u => new { u.quantity }, stock_list);

            if (!stock_flag)
            {
                return(false);
            }
            //货物待入库
            bool pre_flag = await AddStockPre(a => new { a.stock_id, a.quantity }, pre_list);

            return(pre_flag);
        }