public string PricingPlanFinished(PricingPlan plan) { string result = ""; try { MongoDBHelper <PricingPlan> mongo_plan = new MongoDBHelper <PricingPlan>(); QueryDocument query = new QueryDocument(); query.Add("MeterNo", plan.MeterNo); MongoCursor <PricingPlan> mongoCursor = mongo_plan.Query(CollectionNameDefine.MeterPricingPlan, query); var dataList = mongoCursor.ToList(); if (dataList != null && dataList.Count >= 1) { //删除老计划 List <string> list = new List <string>(); foreach (PricingPlan p in dataList) { list.Add(p._id.ToString()); } var iDelete = new QueryDocument(); iDelete.Add("MeterNo", plan.MeterNo); mongo_plan.Delete(CollectionNameDefine.MeterPricingPlan, iDelete); } } catch (Exception e) { result = e.Message; } return(result); }
public string NewPricingPlan(PricingPlan plan) { string result = ""; try { MongoDBHelper <PricingPlan> mongo_plan = new MongoDBHelper <PricingPlan>(); QueryDocument query = new QueryDocument(); query.Add("MeterNo", plan.MeterNo); MongoCursor <PricingPlan> mongoCursor = mongo_plan.Query(CollectionNameDefine.MeterPricingPlan, query); var dataList = mongoCursor.ToList(); if (dataList != null && dataList.Count >= 1) { var iDelete = new QueryDocument(); iDelete.Add("MeterNo", plan.MeterNo); //删除老计划 mongo_plan.Delete(CollectionNameDefine.MeterPricingPlan, iDelete); } mongo_plan.Insert(CollectionNameDefine.MeterPricingPlan, plan); } catch (Exception e) { result = e.Message; } return(result); }
public List <Task> GetTaskList(string mac) { List <Task> list = new List <Task> (); try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("MeterMac", mac); query.Add("TaskState", 0); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); foreach (Task task in dataList) { if (task.TaskType != TaskType.TaskType_校准) { task.CommandList.AddRange(CommandDA.QueryCommandList(task.TaskID)); list.Add(task); } } } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); } return(list); }
public static string Undo(string taskID) { //先读任务 try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList == null || dataList.Count == 0) { return("没有找到TaskID:【" + taskID + "】的任务。"); } Task task = dataList[0]; if (task.TaskState != TaskState.Waitting) { return(string.Format("任务TaskID:{0}状态为:{1},不能撤销.", taskID, task.TaskState)); } task.TaskState = TaskState.Undo; List <Command> list = CommandDA.QueryCommandList(task.TaskID); if (list != null && list.Count == 0) { return(string.Format("任务TaskID:{0}的指令已执行,不能撤销.", taskID)); } foreach (Command cmd in list) { cmd.CommandState = CommandState.Undo; cmd.AnswerDate = QuShi.getDate(); CommandDA.Update(cmd); } new TaskManageDA().TaskCompile(task); return(""); } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); return(e.Message); } }
public string TopUpFinished(string taskID, decimal money) { try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList == null || dataList.Count == 0) { return("没有找到TaskID:【" + taskID + "】的任务。"); } string result = ""; TaskState state = TaskState.Finished; Task task = dataList[0]; task.Finished = QuShi.getDate(); task.TaskState = state; TaskManageDA tm = new TaskManageDA(); result = tm.TaskCompile(task); if (result != "") { return(result); } if (state == TaskState.Finished) { Meter _meter = tm.QueryMeter(task.MeterMac); _meter.TotalTopUp += money; _meter.LastSettlementAmount += money; _meter.CurrentBalance += money; result = tm.UpdateMeter(_meter); } return(result); } catch (Exception e) { return(e.Message); } }
public PricingPlan QueryPricingPlan(string meterNo) { MongoDBHelper <PricingPlan> mongo_plan = new MongoDBHelper <PricingPlan>(); QueryDocument query = new QueryDocument(); query.Add("MeterNo", meterNo); MongoCursor <PricingPlan> mongoCursor = mongo_plan.Query(CollectionNameDefine.MeterPricingPlan, query); if (mongoCursor == null) { return(null); } var dataList = mongoCursor.ToList();//.OrderBy(c => c.UseDate).ToList (); if (dataList != null && dataList.Count >= 1) { return(dataList[0]); } else { return(null); } }
public Task QueryTask(string taskID) { try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList != null) { return(dataList[0]); } } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); } return(null); }
//删除未执行的修正任务 public void DeleteUnRunTask(string mac) { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("MeterMac", mac); query.Add("TaskState", 0); query.Add("TaskType", "XZ"); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList != null && dataList.Count > 0) { foreach (Task task in dataList) { var iDelete = new QueryDocument(); iDelete.Add("TaskID", task.TaskID); mongo.Delete(CollectionNameDefine.CommandCollectionName, iDelete); } mongo.Delete(CollectionNameDefine.TaskCollectionName, query); } }
public static string ValveControlFinished(string taskID, TaskState state) { try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList == null || dataList.Count == 0) { return("没有找到TaskID:【" + taskID + "】的任务。"); } string result = ""; Task task = dataList[0]; task.Finished = QuShi.getDate(); task.TaskState = state; TaskManageDA tm = new TaskManageDA(); result = tm.TaskCompile(task); if (result != "") { return(result); } Meter _meter = tm.QueryMeter(task.MeterMac); if (state == TaskState.Finished) { _meter.ValveState = task.TaskType == TaskType.TaskType_开阀 ? "0" : "1"; result = tm.UpdateMeter(_meter); } return(result); } catch (Exception e) { return(e.Message); } }
public static List <Command> QueryCommandList(string taskID) { MongoDBHelper <Command> mongo = new MongoDBHelper <Command>(); try { QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); query.Add("CommandState", 0); MongoCursor <Command> mongoCursor = mongo.Query(CollectionNameDefine.CommandCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList != null && dataList.Count >= 1) { var qu = from p in dataList orderby p.Order ascending select p; return(qu.ToList()); } } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); } return(new List <Command>()); }
public static Meter QueryMeter(string mac) { Meter _m = null; try { MongoDBHelper <Meter> mongo = new MongoDBHelper <Meter>(); QueryDocument query = new QueryDocument(); query.Add("Mac", mac); MongoCursor <Meter> mongoCursor = mongo.Query(CollectionNameDefine.MeterCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList != null && dataList.Count >= 1) { _m = dataList[0]; _m.PricingPlan = new PricingPlanDA().QueryPricingPlan(mac); } } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); } return(_m); }