/**
 * 
 */
package com.huatek.busi.vo.routinetest.transformer;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @ClassName: NoloadCurrentAndNoloadLoss
 * @FullClassPath: com.huatek.busi.vo.routinetest.transformer.
 *                 NoloadCurrentAndNoloadLoss
 * @Description: 空载电流和空载损耗测量
 * @author: Arno
 * @date: Aug 26, 2019 5:39:56 PM
 * @version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class NoloadCurrentAndNoloadLoss extends TestBase implements Serializable {

	/** @Fields serialVersionUID : */
	private static final long serialVersionUID = -2461822276566738857L;

	/** @Fields testNumber : 试验编号 */
	public String testNumber;

	/** @Fields temperature : 温度 */
	public String temperature;

	/** @Fields humidity :湿度 */
	public String humidity;

	/** @Fields pressure : 气压 */
	public String pressure;

	/** @Fields equipmentModel : 设备型号*/ 
	public String equipmentModel;

	/** @Fields equipmentAccuracy : 设备精度*/ 
	public String equipmentAccuracy;
	
	/** @Fields equipmentManufactor : 设备厂家*/ 
	public String equipmentManufactor;
	
	/** @Fields usedTime : 投运时间*/ 
	public LocalDateTime usedTime;
	
	List<TestItem> items ;
	
	@Data
	class TestItem implements Serializable{
		
		/** @Fields serialVersionUID : */ 
		private static final long serialVersionUID = -866425115753794007L;

		/** @Fields voltageRmsBeforeTest : 低压侧施压加电压 -- 冲击试验前 --有效值（kW）*/ 
		@JSONField(ordinal= 1)
		public String voltageRmsBeforeTest ;
		
		/** @Fields voltageRmsAfterTest :低压侧施压加电压 -- 冲击试验后 --有效值（kW） */ 
		@JSONField(ordinal= 2)
		public String voltageRmsAfterTest ;
		
		/** @Fields voltageAvgBeforeTest : 低压侧施压加电压 -- 冲击试验前 --平均值（kW）*/ 
		@JSONField(ordinal= 3)
		public String voltageAvgBeforeTest ;
		
		/** @Fields voltageAvgAfterTest : 低压侧施压加电压 -- 冲击试验后 --平均值（kW）*/ 
		@JSONField(ordinal=4)
		public String voltageAvgAfterTest ;
		
		/** @Fields electricRmsAfterTest : 测量电流 -- 冲击试验前 --有效值（A）*/ 
		@JSONField(ordinal=5)
		public String electricRmsBeforeTest ;
		
		/** @Fields electricRmsAfterTest : 测量电流 -- 冲击试验后 --有效值（A）*/ 
		@JSONField(ordinal=6)
		public String electricRmsAfterTest ;
		
		/** @Fields electricNoloadBeforeTest :  冲击试验前 --空载电流（%）*/ 
		@JSONField(ordinal=7)
		public String electricNoloadBeforeTest ;
		
		/** @Fields electricNoloadAfterTest :  冲击试验后 --空载电流（%）*/ 
		@JSONField(ordinal=8)
		public String electricNoloadAfterTest ;
		
		/** @Fields noloadLossBeforeTest : 冲击试验前 --测量的空载损耗（kW）*/ 
		@JSONField(ordinal=9)
		public String noloadLossBeforeTest ;
		
		/** @Fields noloadLossAfterTest :  冲击试验后 --测量的空载损耗（kW）*/ 
		@JSONField(ordinal=10)
		public String noloadLossAfterTest ;
		
		/** @Fields correctedNoloadLossBeforeTest : 冲击试验前 --校正后空载损耗（kW）*/ 
		@JSONField(ordinal=11)
		public String correctedNoloadLossBeforeTest ;
		
		/** @Fields correctedNloadLossAfterTest : 冲击试验后 --校正后空载损耗（kW）*/ 
		@JSONField(ordinal=12)
		public String correctedNloadLossAfterTest ;
		
	}
	
	
	public static void main(String[] args) {
		NoloadCurrentAndNoloadLoss entity = new NoloadCurrentAndNoloadLoss();
		entity.setTestContent("空载电流和空载损耗测量");
		entity.setTestEquipment("");
		entity.setTemperature("20");
		entity.setHumidity("25");
		entity.setPressure("30");
		entity.setChecker("王科");
		entity.setTester("刘天天");
		entity.setSignature("林冲");
		entity.setTestTime(LocalDateTime.of(2019, 11, 13, 12, 24, 56));
		entity.setRemarks("合格");
		
		entity.setTestNumber("TEST_0001912");
		entity.setEquipmentAccuracy("偏差0.3%");
		entity.setEquipmentManufactor("欣影电力");
		entity.setEquipmentModel("XUPAUS-991121");
		entity.setUsedTime(LocalDateTime.of(2017, 11, 13, 12, 24, 56));
		
		TestItem item = entity.new TestItem();
		item.setCorrectedNloadLossAfterTest("123.22");
		item.setCorrectedNoloadLossBeforeTest("120.93");
		
		item.setElectricRmsAfterTest("5.1405");
		item.setElectricRmsBeforeTest("5.0611");
		
		item.setElectricNoloadAfterTest("0.045");
		item.setElectricNoloadBeforeTest("0.044");
		
		item.setNoloadLossAfterTest("123.388");
		item.setNoloadLossBeforeTest("121.113");
		
		
		item.setVoltageAvgAfterTest("18.0444");
		item.setVoltageAvgBeforeTest("18.0245");
		
		item.setVoltageRmsAfterTest("18.0278");
		item.setVoltageRmsBeforeTest("18.0278");
		
		
		List<TestItem> items  = new ArrayList<>();
		items.add(item);
		entity.setItems(items);
		String josn = JSONObject.toJSONString(entity);
		System.out.println(josn);
		NoloadCurrentAndNoloadLoss parseObject = JSONObject.parseObject(josn, NoloadCurrentAndNoloadLoss.class);
		System.out.println(parseObject);
	}

}
