/// <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); }
/// <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); }