/// <summary> /// 删除一条数据 /// </summary> public bool DeleteBill(int invoice_id) { List <string> strSqlList = new List <string>(); string strSql = string.Empty; shop_invoices_among_goods _ingoods = new shop_invoices_among_goods(); //发票明细表 //发票主表信息 DataSet ds = GetList(" invoice_id=" + invoice_id); //发票副表中的信息 DataSet de = _ingoods.GetListOrder(" i.target_id='" + invoice_id + "'"); if (ds != null && ds.Tables[0].Rows.Count > 0) { string refund_djhm_str = ds.Tables[0].Rows[0]["refund_djhm_str"].ToString(); //1.删除发票主表信息 strSql = string.Format(@"delete from shop_invoices_among where invoice_id='{0}'", invoice_id); strSqlList.Add(strSql); //2.删除发票详情表信息 strSql = string.Format(@"delete from shop_invoices_among_goods where target_id='{0}'", invoice_id); strSqlList.Add(strSql); //3.更新订单详情表中商品已开票数量 if (de != null && de.Tables[0].Rows.Count > 0) { int num = 0; int rec_d = 0; for (int i = 0; i < de.Tables[0].Rows.Count; i++) { if (!string.IsNullOrEmpty(de.Tables[0].Rows[i]["invoice_number"].ToString())) { if (Convert.ToInt32(de.Tables[0].Rows[i]["invoice_number"].ToString()) - Convert.ToInt32(de.Tables[0].Rows[i]["goods_old_num"].ToString()) > 0) { num = num - (Convert.ToInt32(de.Tables[0].Rows[i]["invoice_number"].ToString()) - Convert.ToInt32(de.Tables[0].Rows[i]["goods_old_num"].ToString())); } rec_d = Convert.ToInt32(de.Tables[0].Rows[i]["rec_id"].ToString()); } if (num < 0) { num = 0; } strSql = string.Format(" update shop_order_goods set invoice_number='{0}' where ordergood_id='{1}'", num, rec_d); strSqlList.Add(strSql); } } //4.更新抵扣退货的状态 if (!string.IsNullOrEmpty(refund_djhm_str) && refund_djhm_str != "") { strSql = string.Format(@" update shop_return_goods set is_invoice='{0}' where sid in ({1}) ", 0, refund_djhm_str); strSqlList.Add(strSql); } } int rows = Shop_DbHelperMySQL.ExecuteSqlTran(strSqlList); if (rows >= 0) { return(true); } else { return(false); } }
/// <summary> /// 删除一条数据 /// </summary> public bool DeleteBill(int invoice_id) { List <string> strSqlList = new List <string>(); string strSql = string.Empty; shop_invoices_among_goods _ingoods = new shop_invoices_among_goods(); //发票明细表 shop_order_info _order = new shop_order_info(); //订单主表 //发票中间主表信息 DataSet ds = GetList(" invoice_id=" + invoice_id); //发票中间副表中的信息 DataSet de = _ingoods.GetListOrder(" i.target_id='" + invoice_id + "'"); //运费 DataSet dF = _ingoods.GetInfo(" i.target_id='" + invoice_id + "' and i.type='1'"); string orderId = string.Empty; if (dF != null && dF.Tables[0].Rows.Count > 0) { for (int i = 0; i < dF.Tables[0].Rows.Count; i++) { if (i == dF.Tables[0].Rows.Count - 1) { orderId += "'" + dF.Tables[0].Rows[i]["order_id"].ToString() + "'"; } else { orderId += "'" + dF.Tables[0].Rows[i]["order_id"].ToString() + "',"; } } } string[] oldIdList = orderId.Split(','); string newList = string.Empty; List <string> list = new List <string>(); //去重 foreach (var items in oldIdList) { if (!list.Contains(items)) { list.Add(items); newList += items + ','; } } if (!string.IsNullOrEmpty(newList)) { newList = newList.TrimEnd(','); } DataSet dsOrder = null; if (!string.IsNullOrEmpty(newList)) { dsOrder = _order.orderCount(newList); } if (ds != null && ds.Tables[0].Rows.Count > 0) { string refund_djhm_str = ds.Tables[0].Rows[0]["refund_djhm_str"].ToString(); //1.删除发票主表信息 strSql = string.Format(@"delete from shop_invoices_among where invoice_id='{0}'", invoice_id); strSqlList.Add(strSql); //2.删除发票详情表信息 strSql = string.Format(@"delete from shop_invoices_among_goods where target_id='{0}'", invoice_id); strSqlList.Add(strSql); //3.更新订单详情表中商品已开票数量 if (de != null && de.Tables[0].Rows.Count > 0) { int num = 0; int rec_d = 0; for (int i = 0; i < de.Tables[0].Rows.Count; i++) { if (!string.IsNullOrEmpty(de.Tables[0].Rows[i]["invoice_number"].ToString())) { if (Convert.ToInt32(de.Tables[0].Rows[i]["invoice_number"].ToString()) - Convert.ToInt32(de.Tables[0].Rows[i]["goods_old_num"].ToString()) > 0) { num = num - (Convert.ToInt32(de.Tables[0].Rows[i]["invoice_number"].ToString()) - Convert.ToInt32(de.Tables[0].Rows[i]["goods_old_num"].ToString())); } rec_d = Convert.ToInt32(de.Tables[0].Rows[i]["rec_id"].ToString()); } if (num < 0) { num = 0; } strSql = string.Format(" update shop_order_goods set invoice_number='{0}' where ordergood_id='{1}'", num, rec_d); strSqlList.Add(strSql); } } //4.更新抵扣退货的状态 if (!string.IsNullOrEmpty(refund_djhm_str) && refund_djhm_str != "") { strSql = string.Format(@" update shop_return_goods set is_invoice='{0}' where sid in ({1}) ", 0, refund_djhm_str); strSqlList.Add(strSql); } //5.更新运费 if (dsOrder != null && dsOrder.Tables[0].Rows.Count > 0) { strSql = string.Format(@" update shop_order_info set deduction_shipping_fee='{0}' where order_id in ({1}) ", 0, newList); strSqlList.Add(strSql); } } int rows = Shop_DbHelperMySQL.ExecuteSqlTran(strSqlList); if (rows >= 0) { return(true); } else { return(false); } }