/// <summary> 提交成功时,对引用的前置单据的状态进行更新 /// </summary> /// <param name="orderid"></param> void SetOrderStatus(string orderid) { //前置单据中的配件信息是否在后置单据中全部导入完成(完成数量>=计划数量) List<OrderImportStatus> list_order = new List<OrderImportStatus>(); List<OrderFinishInfo> list_orderinfo = new List<OrderFinishInfo>(); OrderImportStatus orderimport_model = new OrderImportStatus(); OrderFinishInfo orderfinish_info = new OrderFinishInfo(); DataTable dt_Business = GetBusinessCount(orderid); DataTable dt_Finish = GetFinishCount(); string plan_id = string.Empty; string order_num = string.Empty; string parts_code = string.Empty; string importtype = string.Empty; if (dt_Business.Rows.Count > 0) { for (int i = 0; i < dt_Business.Rows.Count; i++) { bool isfinish = true; decimal BusinessCount = decimal.Parse(dt_Business.Rows[i]["business_counts"].ToString()); plan_id = dt_Business.Rows[i]["plan_id"].ToString(); order_num = dt_Business.Rows[i]["order_num"].ToString(); parts_code = dt_Business.Rows[i]["parts_code"].ToString(); DataRow[] dr = dt_Finish.Select(" order_num='" + order_num + "' and parts_code='" + parts_code + "'"); if (dr != null && dr.Count() > 0) { importtype = dr[0]["ImportType"].ToString(); orderfinish_info = new OrderFinishInfo(); orderfinish_info.plan_id = plan_id; orderfinish_info.parts_code = parts_code; orderfinish_info.finish_num = dr[0]["relation_count"].ToString(); orderfinish_info.importtype = importtype; list_orderinfo.Add(orderfinish_info); if (decimal.Parse(dr[0]["relation_count"].ToString()) < BusinessCount) { isfinish = false; } } else { orderfinish_info = new OrderFinishInfo(); orderfinish_info.plan_id = plan_id; orderfinish_info.parts_code = parts_code; orderfinish_info.finish_num = "0"; orderfinish_info.importtype = importtype; list_orderinfo.Add(orderfinish_info); isfinish = false; } orderimport_model = new OrderImportStatus(); orderimport_model.order_num = order_num; orderimport_model.importtype = importtype; orderimport_model.isfinish = isfinish; if (list_order.Count > 0) { if (list_order.Where(p => p.order_num == order_num).Count() > 0) { if (!isfinish) { for (int a = 0; a < list_order.Count; a++) { if (list_order[a].order_num == order_num && list_order[a].isfinish) { list_order[a].isfinish = isfinish; } } } } else { list_order.Add(orderimport_model); } } else { list_order.Add(orderimport_model); } } } ImportPurchasePlanStatus(list_order, list_orderinfo); }
/// <summary> 提交成功时,对引用的前置单据的状态进行更新 /// </summary> /// <param name="orderid"></param> bool SetOrderStatus(string saleorderid) { bool ret = false; try { #region 设置前置单据的状态和完成数量 List <OrderImportStatus> list_order = new List <OrderImportStatus>(); List <OrderFinishInfo> list_orderinfo = new List <OrderFinishInfo>(); OrderImportStatus orderimport_model = new OrderImportStatus(); OrderFinishInfo orderfinish_info = new OrderFinishInfo(); DataTable dt_Business = GetBusinessCount(saleorderid); DataTable dt_Finish = GetFinishCount(saleorderid); string sale_plan_id = string.Empty; string order_num = string.Empty; string parts_code = string.Empty; if (dt_Business.Rows.Count > 0) { for (int i = 0; i < dt_Business.Rows.Count; i++) { bool isfinish = true; int BusinessCount = int.Parse(dt_Business.Rows[i]["business_count"].ToString()); sale_plan_id = dt_Business.Rows[i]["sale_plan_id"].ToString(); order_num = dt_Business.Rows[i]["order_num"].ToString(); parts_code = dt_Business.Rows[i]["parts_code"].ToString(); DataRow[] dr = dt_Finish.Select(" order_num='" + order_num + "' and parts_code='" + parts_code + "'"); if (dr != null && dr.Count() > 0) { orderfinish_info = new OrderFinishInfo(); orderfinish_info.sale_plan_id = sale_plan_id; orderfinish_info.parts_code = parts_code; orderfinish_info.finish_num = dr[0]["relation_count"].ToString(); list_orderinfo.Add(orderfinish_info); if (int.Parse(dr[0]["relation_count"].ToString()) < BusinessCount) { isfinish = false; } } else { orderfinish_info = new OrderFinishInfo(); orderfinish_info.sale_plan_id = sale_plan_id; orderfinish_info.parts_code = parts_code; orderfinish_info.finish_num = "0"; list_orderinfo.Add(orderfinish_info); isfinish = false; } orderimport_model = new OrderImportStatus(); orderimport_model.order_num = order_num; orderimport_model.isfinish = isfinish; if (list_order.Count > 0) { if (list_order.Where(p => p.order_num == order_num).Count() > 0) { if (!isfinish) { for (int a = 0; a < list_order.Count; a++) { if (list_order[a].order_num == order_num && list_order[a].isfinish) { list_order[a].isfinish = isfinish; } } } } else { list_order.Add(orderimport_model); } } else { list_order.Add(orderimport_model); } } } ret = ImportPurchasePlanStatus(list_order, list_orderinfo); #endregion } catch (Exception ex) { } return(ret); }