private string changeaction(JsonArrayParse jp) { string flag = "1"; JsonObjectCollection collection = new JsonObjectCollection(); try { var meter = new BusinessMeter(); meter.load(jp.getValue("id")); if (string.IsNullOrEmpty(meter.Entity.MeterNo)) { flag = "2"; collection.Add(new JsonStringValue("info", "表记为空!")); } else if (meter.Entity.MeterStatus != "open") { flag = "2"; collection.Add(new JsonStringValue("info", "该表计当前状态不允许换表!")); } else { collection.Add(new JsonStringValue("data", JsonConvert.SerializeObject(meter.Entity))); } } catch (Exception ex) { flag = "3"; collection.Add(new JsonStringValue("info", ex.ToString())); } collection.Add(new JsonStringValue("type", "change")); collection.Add(new JsonStringValue("flag", flag)); return(collection.ToString()); }
private string changesubmitaction(JsonArrayParse jp) { string flag = "2"; JsonObjectCollection collection = new JsonObjectCollection(); try { var oldMeter = new BusinessMeter(); oldMeter.load(jp.getValue("meterNo")); /* * 新表数据装载 */ var newMeter = new BusinessMeter(JsonConvert.DeserializeObject <EntityMeter>(JsonConvert.SerializeObject(oldMeter.Entity))); newMeter.Entity.MeterNo = jp.getValue("newMeterNo"); newMeter.Entity.MeterName = jp.getValue("newMeterName"); newMeter.Entity.MeterRate = ParseDecimalForString(jp.getValue("newMeterRate")); newMeter.Entity.MeterDigit = ParseIntForString(jp.getValue("newMeterDigit")); newMeter.Entity.MeterReadout = ParseDecimalForString(jp.getValue("newMeterReadout")); newMeter.Entity.MeterType = jp.getValue("newMeterType"); newMeter.Entity.MeterSize = jp.getValue("newMeterSizeType"); newMeter.Entity.MeterUsageType = jp.getValue("newMeterUseType"); newMeter.Entity.MeterNatureType = jp.getValue("newMeterNatureType"); newMeter.Entity.Addr = jp.getValue("newMeterAddr"); newMeter.Entity.MeterCreator = user.Entity.UserName; newMeter.Entity.MeterCreateDate = DateTime.Now; newMeter.Entity.MeterReadoutDate = DateTime.Now; /* * 旧表停用 */ oldMeter.Entity.MeterStatus = "close"; /* * 旧表产生身前的最后一条抄表记录 */ var readout = new Business.Op.BusinessReadout(); readout.Entity.RowPointer = Guid.NewGuid().ToString(); readout.Entity.MeterNo = oldMeter.Entity.MeterNo; readout.Entity.RMID = oldMeter.Entity.MeterRMID; readout.Entity.MeterType = oldMeter.Entity.MeterType; readout.Entity.MeteRate = oldMeter.Entity.MeterRate; readout.Entity.ReadoutType = "2"; readout.Entity.LastReadout = oldMeter.Entity.MeterReadout; readout.Entity.Readout = ParseDecimalForString(jp.getValue("endReadout")); readout.Entity.JoinReadings = 0; readout.Entity.Readings = ParseDecimalForString(jp.getValue("reading")); readout.Entity.ROOperator = user.Entity.UserName; readout.Entity.RODate = DateTime.Now; readout.Entity.ROCreateDate = DateTime.Now; readout.Entity.ROCreator = user.Entity.UserName; if (readout.Save("insert") > 0) { if (newMeter.Save("insert") > 0) { if (oldMeter.valid() > 0) { flag = "1"; } else { newMeter.delete(); readout.delete(); } } else { readout.delete(); } } } catch (Exception ex) { flag = "3"; collection.Add(new JsonStringValue("ex", ex.Message)); } collection.Add(new JsonStringValue("type", "changesubmit")); collection.Add(new JsonStringValue("flag", flag)); return(collection.ToString()); }