/// <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); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(FMS_Model.shop_invoices_among model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into shop_invoices_among("); strSql.Append("invoice_id,invoice_sn,invoice2_id,invoice_type,tax_rate,currency,exchange_rate,down_count,admin_id,user_id,address,bank_number,bank,shuihao,company_name,tel,total_count,total_money,note,invoices_note,pay_note,add_time,update_time,invoice_status,pre_status,invoice_time,erp_order_sn,invoice_num,invoice_date,refund_money,refund_djhm_str,sold_total_money,shipping_num,shipping_time,shipping_type,shipping_id,print_num,invoice_sn_temp,invoice_num_temp,last_update_admin,init_refund_money,print_hide)"); strSql.Append(" values ("); strSql.Append("@invoice_id,@invoice_sn,@invoice2_id,@invoice_type,@tax_rate,@currency,@exchange_rate,@down_count,@admin_id,@user_id,@address,@bank_number,@bank,@shuihao,@company_name,@tel,@total_count,@total_money,@note,@invoices_note,@pay_note,@add_time,@update_time,@invoice_status,@pre_status,@invoice_time,@erp_order_sn,@invoice_num,@invoice_date,@refund_money,@refund_djhm_str,@sold_total_money,@shipping_num,@shipping_time,@shipping_type,@shipping_id,@print_num,@invoice_sn_temp,@invoice_num_temp,@last_update_admin,@init_refund_money,@print_hide)"); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@invoice_id", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_sn", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice2_id", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_type", MySqlDbType.Int16, 2), new MySqlParameter("@tax_rate", MySqlDbType.Int16, 2), new MySqlParameter("@currency", MySqlDbType.VarChar, 50), new MySqlParameter("@exchange_rate", MySqlDbType.Decimal, 10), new MySqlParameter("@down_count", MySqlDbType.Int32, 11), new MySqlParameter("@admin_id", MySqlDbType.Int32, 11), new MySqlParameter("@user_id", MySqlDbType.Int32, 11), new MySqlParameter("@address", MySqlDbType.VarChar, 255), new MySqlParameter("@bank_number", MySqlDbType.VarChar, 30), new MySqlParameter("@bank", MySqlDbType.VarChar, 100), new MySqlParameter("@shuihao", MySqlDbType.VarChar, 50), new MySqlParameter("@company_name", MySqlDbType.VarChar, 100), new MySqlParameter("@tel", MySqlDbType.VarChar, 50), new MySqlParameter("@total_count", MySqlDbType.Int32, 11), new MySqlParameter("@total_money", MySqlDbType.Decimal, 10), new MySqlParameter("@note", MySqlDbType.Text), new MySqlParameter("@invoices_note", MySqlDbType.VarChar, 255), new MySqlParameter("@pay_note", MySqlDbType.VarChar, 255), new MySqlParameter("@add_time", MySqlDbType.Int32, 11), new MySqlParameter("@update_time", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_status", MySqlDbType.Int16, 3), new MySqlParameter("@pre_status", MySqlDbType.Int16, 3), new MySqlParameter("@invoice_time", MySqlDbType.Int32, 11), new MySqlParameter("@erp_order_sn", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_num", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_date", MySqlDbType.VarChar, 32), new MySqlParameter("@refund_money", MySqlDbType.Decimal, 10), new MySqlParameter("@refund_djhm_str", MySqlDbType.Text), new MySqlParameter("@sold_total_money", MySqlDbType.Decimal, 10), new MySqlParameter("@shipping_num", MySqlDbType.VarChar, 32), new MySqlParameter("@shipping_time", MySqlDbType.Int32, 11), new MySqlParameter("@shipping_type", MySqlDbType.Int16, 2), new MySqlParameter("@shipping_id", MySqlDbType.Int16, 3), new MySqlParameter("@print_num", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_sn_temp", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_num_temp", MySqlDbType.Int32, 11), new MySqlParameter("@last_update_admin", MySqlDbType.VarChar, 255), new MySqlParameter("@init_refund_money", MySqlDbType.Decimal, 10), new MySqlParameter("@print_hide", MySqlDbType.Int16, 1) }; parameters[0].Value = model.invoice_id; parameters[1].Value = model.invoice_sn; parameters[2].Value = model.invoice2_id; parameters[3].Value = model.invoice_type; parameters[4].Value = model.tax_rate; parameters[5].Value = model.currency; parameters[6].Value = model.exchange_rate; parameters[7].Value = model.down_count; parameters[8].Value = model.admin_id; parameters[9].Value = model.user_id; parameters[10].Value = model.address; parameters[11].Value = model.bank_number; parameters[12].Value = model.bank; parameters[13].Value = model.shuihao; parameters[14].Value = model.company_name; parameters[15].Value = model.tel; parameters[16].Value = model.total_count; parameters[17].Value = model.total_money; parameters[18].Value = model.note; parameters[19].Value = model.invoices_note; parameters[20].Value = model.pay_note; parameters[21].Value = model.add_time; parameters[22].Value = model.update_time; parameters[23].Value = model.invoice_status; parameters[24].Value = model.pre_status; parameters[25].Value = model.invoice_time; parameters[26].Value = model.erp_order_sn; parameters[27].Value = model.invoice_num; parameters[28].Value = model.invoice_date; parameters[29].Value = model.refund_money; parameters[30].Value = model.refund_djhm_str; parameters[31].Value = model.sold_total_money; parameters[32].Value = model.shipping_num; parameters[33].Value = model.shipping_time; parameters[34].Value = model.shipping_type; parameters[35].Value = model.shipping_id; parameters[36].Value = model.print_num; parameters[37].Value = model.invoice_sn_temp; parameters[38].Value = model.invoice_num_temp; parameters[39].Value = model.last_update_admin; parameters[40].Value = model.init_refund_money; parameters[41].Value = model.print_hide; object obj = Shop_DbHelperMySQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Updates(FMS_Model.shop_invoices_among model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update shop_invoices_among set "); strSql.Append("invoice_type=@invoice_type,"); strSql.Append("address=@address,"); strSql.Append("bank_number=@bank_number,"); strSql.Append("bank=@bank,"); strSql.Append("shuihao=@shuihao,"); strSql.Append("company_name=@company_name,"); strSql.Append("tax_rate=@tax_rate,"); strSql.Append("pay_note=@pay_note,"); strSql.Append("update_time=@update_time,"); strSql.Append("invoice_status=@invoice_status,"); strSql.Append("shipping_type=@shipping_type,"); strSql.Append("shipping_id=@shipping_id,"); strSql.Append("note=@note"); strSql.Append(" where invoice_id=@invoice_id "); MySqlParameter[] parameters = { new MySqlParameter("@invoice_type", MySqlDbType.Int16, 2), new MySqlParameter("@address", MySqlDbType.VarChar, 255), new MySqlParameter("@bank_number", MySqlDbType.VarChar, 30), new MySqlParameter("@bank", MySqlDbType.VarChar, 100), new MySqlParameter("@shuihao", MySqlDbType.VarChar, 50), new MySqlParameter("@company_name", MySqlDbType.VarChar, 100), new MySqlParameter("@tax_rate", MySqlDbType.Int16, 2), new MySqlParameter("@pay_note", MySqlDbType.VarChar, 255), new MySqlParameter("@update_time", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_status", MySqlDbType.Int16, 3), new MySqlParameter("@shipping_type", MySqlDbType.Int16, 2), new MySqlParameter("@shipping_id", MySqlDbType.Int16, 3), new MySqlParameter("@note", MySqlDbType.Text), new MySqlParameter("@invoice_id", MySqlDbType.Int32, 11) }; parameters[0].Value = model.invoice_type; parameters[1].Value = model.address; parameters[2].Value = model.bank_number; parameters[3].Value = model.bank; parameters[4].Value = model.shuihao; parameters[5].Value = model.company_name; parameters[6].Value = model.tax_rate; parameters[7].Value = model.pay_note; parameters[8].Value = model.update_time; parameters[9].Value = model.invoice_status; parameters[10].Value = model.shipping_type; parameters[11].Value = model.shipping_id; parameters[12].Value = model.note; parameters[13].Value = model.invoice_id; int rows = Shop_DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到最大ID /// </summary> public int GetMaxId() { return(Shop_DbHelperMySQL.GetMaxID("invoice_id", "shop_invoices_among")); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(FMS_Model.shop_invoices_among model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update shop_invoices_among set "); strSql.Append("invoice_sn=@invoice_sn,"); strSql.Append("invoice2_id=@invoice2_id,"); strSql.Append("invoice_type=@invoice_type,"); strSql.Append("tax_rate=@tax_rate,"); strSql.Append("currency=@currency,"); strSql.Append("exchange_rate=@exchange_rate,"); strSql.Append("down_count=@down_count,"); strSql.Append("admin_id=@admin_id,"); strSql.Append("user_id=@user_id,"); strSql.Append("address=@address,"); strSql.Append("bank_number=@bank_number,"); strSql.Append("bank=@bank,"); strSql.Append("shuihao=@shuihao,"); strSql.Append("company_name=@company_name,"); strSql.Append("tel=@tel,"); strSql.Append("total_count=@total_count,"); strSql.Append("total_money=@total_money,"); strSql.Append("note=@note,"); strSql.Append("invoices_note=@invoices_note,"); strSql.Append("pay_note=@pay_note,"); strSql.Append("add_time=@add_time,"); strSql.Append("update_time=@update_time,"); strSql.Append("invoice_status=@invoice_status,"); strSql.Append("pre_status=@pre_status,"); strSql.Append("invoice_time=@invoice_time,"); strSql.Append("erp_order_sn=@erp_order_sn,"); strSql.Append("invoice_num=@invoice_num,"); strSql.Append("invoice_date=@invoice_date,"); strSql.Append("refund_money=@refund_money,"); strSql.Append("refund_djhm_str=@refund_djhm_str,"); strSql.Append("sold_total_money=@sold_total_money,"); strSql.Append("shipping_num=@shipping_num,"); strSql.Append("shipping_time=@shipping_time,"); strSql.Append("shipping_type=@shipping_type,"); strSql.Append("shipping_id=@shipping_id,"); strSql.Append("print_num=@print_num,"); strSql.Append("invoice_sn_temp=@invoice_sn_temp,"); strSql.Append("invoice_num_temp=@invoice_num_temp,"); strSql.Append("last_update_admin=@last_update_admin,"); strSql.Append("init_refund_money=@init_refund_money,"); strSql.Append("print_hide=@print_hide"); strSql.Append(" where invoice_id=@invoice_id "); MySqlParameter[] parameters = { new MySqlParameter("@invoice_sn", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice2_id", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_type", MySqlDbType.Int16, 2), new MySqlParameter("@tax_rate", MySqlDbType.Int16, 2), new MySqlParameter("@currency", MySqlDbType.VarChar, 50), new MySqlParameter("@exchange_rate", MySqlDbType.Decimal, 10), new MySqlParameter("@down_count", MySqlDbType.Int32, 11), new MySqlParameter("@admin_id", MySqlDbType.Int32, 11), new MySqlParameter("@user_id", MySqlDbType.Int32, 11), new MySqlParameter("@address", MySqlDbType.VarChar, 255), new MySqlParameter("@bank_number", MySqlDbType.VarChar, 30), new MySqlParameter("@bank", MySqlDbType.VarChar, 100), new MySqlParameter("@shuihao", MySqlDbType.VarChar, 50), new MySqlParameter("@company_name", MySqlDbType.VarChar, 100), new MySqlParameter("@tel", MySqlDbType.VarChar, 50), new MySqlParameter("@total_count", MySqlDbType.Int32, 11), new MySqlParameter("@total_money", MySqlDbType.Decimal, 10), new MySqlParameter("@note", MySqlDbType.Text), new MySqlParameter("@invoices_note", MySqlDbType.VarChar, 255), new MySqlParameter("@pay_note", MySqlDbType.VarChar, 255), new MySqlParameter("@add_time", MySqlDbType.Int32, 11), new MySqlParameter("@update_time", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_status", MySqlDbType.Int16, 3), new MySqlParameter("@pre_status", MySqlDbType.Int16, 3), new MySqlParameter("@invoice_time", MySqlDbType.Int32, 11), new MySqlParameter("@erp_order_sn", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_num", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_date", MySqlDbType.VarChar, 32), new MySqlParameter("@refund_money", MySqlDbType.Decimal, 10), new MySqlParameter("@refund_djhm_str", MySqlDbType.Text), new MySqlParameter("@sold_total_money", MySqlDbType.Decimal, 10), new MySqlParameter("@shipping_num", MySqlDbType.VarChar, 32), new MySqlParameter("@shipping_time", MySqlDbType.Int32, 11), new MySqlParameter("@shipping_type", MySqlDbType.Int16, 2), new MySqlParameter("@shipping_id", MySqlDbType.Int16, 3), new MySqlParameter("@print_num", MySqlDbType.Int32, 11), new MySqlParameter("@invoice_sn_temp", MySqlDbType.VarChar, 32), new MySqlParameter("@invoice_num_temp", MySqlDbType.Int32, 11), new MySqlParameter("@last_update_admin", MySqlDbType.VarChar, 255), new MySqlParameter("@init_refund_money", MySqlDbType.Decimal, 10), new MySqlParameter("@print_hide", MySqlDbType.Int16, 1), new MySqlParameter("@invoice_id", MySqlDbType.Int32, 11) }; parameters[0].Value = model.invoice_sn; parameters[1].Value = model.invoice2_id; parameters[2].Value = model.invoice_type; parameters[3].Value = model.tax_rate; parameters[4].Value = model.currency; parameters[5].Value = model.exchange_rate; parameters[6].Value = model.down_count; parameters[7].Value = model.admin_id; parameters[8].Value = model.user_id; parameters[9].Value = model.address; parameters[10].Value = model.bank_number; parameters[11].Value = model.bank; parameters[12].Value = model.shuihao; parameters[13].Value = model.company_name; parameters[14].Value = model.tel; parameters[15].Value = model.total_count; parameters[16].Value = model.total_money; parameters[17].Value = model.note; parameters[18].Value = model.invoices_note; parameters[19].Value = model.pay_note; parameters[20].Value = model.add_time; parameters[21].Value = model.update_time; parameters[22].Value = model.invoice_status; parameters[23].Value = model.pre_status; parameters[24].Value = model.invoice_time; parameters[25].Value = model.erp_order_sn; parameters[26].Value = model.invoice_num; parameters[27].Value = model.invoice_date; parameters[28].Value = model.refund_money; parameters[29].Value = model.refund_djhm_str; parameters[30].Value = model.sold_total_money; parameters[31].Value = model.shipping_num; parameters[32].Value = model.shipping_time; parameters[33].Value = model.shipping_type; parameters[34].Value = model.shipping_id; parameters[35].Value = model.print_num; parameters[36].Value = model.invoice_sn_temp; parameters[37].Value = model.invoice_num_temp; parameters[38].Value = model.last_update_admin; parameters[39].Value = model.init_refund_money; parameters[40].Value = model.print_hide; parameters[41].Value = model.invoice_id; int rows = Shop_DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到最大ID /// </summary> public int GetMaxId() { return(Shop_DbHelperMySQL.GetMaxID("region_id", "shop_region")); }