//nssCWRKGQYgApi2jG9RC8wvg2crUAr3uxB3+NNkz+b6uUem9wDAl9zaymBmDBQlA
package nc.vo.arap.basebill;

import java.util.Arrays;
import java.util.List;

import nc.bd.accperiod.InvalidAccperiodExcetion;
import nc.itf.arap.fieldmap.IBillFieldGet;
import nc.pubitf.accperiod.AccountCalendar;
import nc.vo.arap.pub.BillEnumCollection;
import nc.vo.arap.pub.BillEnumCollection.ApproveStatus;
import nc.vo.arap.pub.BillEnumCollection.InureSign;
import nc.vo.pub.BusinessRuntimeException;
import nc.vo.pub.SuperVO;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDateTime;
import nc.vo.pub.lang.UFDouble;

public abstract class BaseBillVO extends SuperVO implements IArapBillFieldVO, IArapMoneyFieldVO {

	private static final long serialVersionUID = 1L;

	/**
	 * 业务组织相关字段
	 */
	public static final List<String> BUSIORG_FIELD_LIST = Arrays
			.asList(new String[] { IBillFieldGet.SO_DEPTID_V, IBillFieldGet.PU_DEPTID_V, IBillFieldGet.SO_DEPTID,
					IBillFieldGet.PU_DEPTID, IBillFieldGet.SO_PSNDOC, IBillFieldGet.PU_PSNDOC });

	/**
	 * 部门业务员相关字段
	 */
	public static final List<String> DEPTPSN_FIELD_LIST = Arrays
			.asList(new String[] { IBillFieldGet.PK_DEPTID, IBillFieldGet.PK_DEPTID_V, IBillFieldGet.PK_PSNDOC });

	private static final String[] YFandSKMoneyFields = { IBillFieldGet.QUANTITY_CR, IBillFieldGet.LOCAL_MONEY_CR,
			IBillFieldGet.NOTAX_CR, IBillFieldGet.MONEY_CR, IBillFieldGet.MONEY_BAL, IBillFieldGet.LOCAL_MONEY_BAL,
			IBillFieldGet.QUANTITY_BAL, IBillFieldGet.LOCAL_TAX_CR, IBillFieldGet.LOCAL_NOTAX_CR,
			IBillFieldGet.GROUPTAX_CRE, IBillFieldGet.GROUPNOTAX_CRE, IBillFieldGet.GROUPCREBIT,
			IBillFieldGet.GLOBALCREBIT, IBillFieldGet.GLOBALTAX_CRE, IBillFieldGet.GLOBALNOTAX_CRE };

	private static final String[] YSandFKMoneyFields = { IBillFieldGet.MONEY_DE, IBillFieldGet.LOCAL_MONEY_DE,
			IBillFieldGet.QUANTITY_DE, IBillFieldGet.MONEY_BAL, IBillFieldGet.LOCAL_MONEY_BAL,
			IBillFieldGet.QUANTITY_BAL, IBillFieldGet.LOCAL_TAX_DE, IBillFieldGet.NOTAX_DE,
			IBillFieldGet.LOCAL_NOTAX_DE, IBillFieldGet.GROUPTAX_DE, IBillFieldGet.GROUPNOTAX_DE,
			IBillFieldGet.GROUPDEBIT, IBillFieldGet.GLOBALTAX_DE, IBillFieldGet.GLOBALNOTAX_DE,
			IBillFieldGet.GLOBALDEBIT };

	public static final List<String> RATEFIELD_LIST = Arrays
			.asList(new String[] { IBillFieldGet.RATE, IBillFieldGet.GROUPRATE, IBillFieldGet.GLOBALRATE });

	public static final List<String> MONEYFIELD_LIST = Arrays.asList(new String[] { IBillFieldGet.MONEY,
			IBillFieldGet.LOCAL_MONEY, IBillFieldGet.GROUP_LOCAL_H, IBillFieldGet.GLOBAL_LOCAL_H });

	public static final List<String> OBJTPEFIELD_LIST = Arrays.asList(new String[] { IBillFieldGet.OBJTYPE,
			IBillFieldGet.SUPPLIER, IBillFieldGet.CUSTOMER, IBillFieldGet.PK_DEPTID, IBillFieldGet.PK_PSNDOC });

	/**
	 * 字段更新不校验字段
	 */
	public static final List<String> UPDATEIGNORE_LIST = Arrays.asList(new String[] { IBillFieldGet.MODIFIER,
			IBillFieldGet.MODIFIEDTIME, IBillFieldGet.CREATOR, IBillFieldGet.CREATIONTIME, IBillFieldGet.BILLSTATUS });

	public static final List<String> ACCEFIELD_LIST = Arrays
			.asList(new String[] { IBillFieldGet.RECACCOUNT, IBillFieldGet.PAYACCOUNT, IBillFieldGet.CASHACCOUNT });

	public static final String ZB = "zb.";
	public static final String H_SUBJCODE = "h_subjcode";

	// *******数据库表中没有的字段*********
	private boolean isAuthAccount = false; // 是否通过资金账户控制标示
	private boolean isForceEffect = false;// 是否强制生效，用于红冲单据，补差单据的情形
	private UFBoolean isTaxRecalculation = UFBoolean.TRUE;// 税额是否重算
	private java.lang.String itemflag;
	private Integer transientFlag;
	private nc.vo.pub.lang.UFBoolean temporarily2Save;
	private nc.vo.pub.lang.UFBoolean saveToTemporarily;
	private transient UFBoolean m_cooperateMoreTimes = UFBoolean.TRUE;
	// *******数据库表中没有的字段*********

	private UFDouble rate = UFDouble.ONE_DBL;
	private String billmaker;
	private UFBoolean ismandatepay;
	private UFBoolean isnetpayready;
	private UFBoolean isonlinepay;
	private UFDate paydate;
	private Integer prepay;
	private Integer settleflag;
	private String settlenum;
	private Integer settletype;
	private String payman;
	private String pk_currtype;
	private String custdelegate;
	private String customer;
	private String pk_corp;
	private String pk_deptid_res;
	private UFDate signdate;
	private String signperiod;
	private String signuser;
	private String signyear;
	private String parentPK;
	private String pk_org_v;
	private String pk_fiorg_v;
	private String pk_pcorg_v;
	private String pk_fiorg;
	private UFBoolean isreded;
	private String pk_pcorg;
	private String outbusitype;
	private String officialprintuser;
	private UFDate officialprintdate;
	private String approvenote;
	private String pk_org;
	private String pk_group;
	private UFDateTime modifiedtime;
	private UFDateTime creationtime;
	private String creator;
	private String pk_billtype;
	private String custbank;
	private String modifier;
	private String pk_tradetype;
	private String pk_tradetypeid;
	private String billclass;
	private Integer accessorynum;
	private String subjcode;
	private UFBoolean isflowbill;
	private String confirmuser;
	private UFBoolean isinit = UFBoolean.FALSE;
	private UFBoolean isforce;// 承付
	private String billno;
	private UFDate billdate;
	private Integer syscode;
	private Integer src_syscode;
	private Integer billstatus;
	private String approver;
	private UFDateTime approvedate;
	private String lastadjustuser;
	private String pk_busitype;
	private UFDouble money = UFDouble.ZERO_DBL;
	private UFDouble local_money = UFDouble.ZERO_DBL;
	private String billyear;
	private String billperiod;
	private String scomment;
	private Integer effectstatus = InureSign.NOINURE.VALUE;
	private String effectuser;
	private UFDate effectdate;
	private String lastapproveid;
	private String sett_org;
	private String def1;
	private String def30;
	private String def29;
	private String def28;
	private String def27;
	private String def26;
	private String def25;
	private String def24;
	private String def23;
	private String def22;
	private String def21;
	private String def20;
	private String def19;
	private String def18;
	private String def17;
	private String def16;
	private String def15;
	private String def14;
	private String def13;
	private String def12;
	private String def11;
	private String def10;
	private String def9;
	private String def8;
	private String def7;
	private String def6;
	private String def5;
	private String def4;
	private String def3;
	private String def2;
	private Integer dr;
	private UFDateTime ts;
	private UFDate tallydate;
	private UFDouble grouplocal = UFDouble.ZERO_DBL;
	private UFDouble globallocal = UFDouble.ZERO_DBL;
	private UFDouble grouprate = UFDouble.ZERO_DBL;
	private UFDouble globalrate = UFDouble.ZERO_DBL;
	private String checkelement;
	private String so_deptid;
	private String so_psndoc;
	private String pu_deptid;
	private String pu_psndoc;
	private String so_org;
	private String pu_org;
	private String pk_rescenter;
	private String cashitem;
	private String bankrollprojet;
	private String supplier;
	private String pk_deptid;
	private String pk_deptid_v;
	private String pu_deptid_v;
	private String so_deptid_v;
	private UFDate busidate;
	private String pk_psndoc;
	private String checkno;
	private String payaccount;
	private String recaccount;
	private String incomeitem;
	private String pk_subjcode;
	private Integer objtype;
	private String so_org_v;
	private String sett_org_v;
	private String pk_input;
	private String pk_balatype;
	private String ordercubasdoc;
	private UFDouble globalnotax = UFDouble.ZERO_DBL;
	private UFDouble grouptax = UFDouble.ZERO_DBL;
	private UFDouble globaltax = UFDouble.ZERO_DBL;
	private UFDouble groupnotax = UFDouble.ZERO_DBL;
	private String pu_org_v;
	private Integer coordflag;
	private Integer estflag;
	private String cashaccount;
	private String costcenter;
	private UFBoolean isfromindependent;
	private String rececountryid;

	private String taxcountryid;

	private String sendcountryid;

	private String creditrefstd;
	@SuppressWarnings("unused")
	private UFDate approvedated; // 审核日期，元数据计算属性，直接从approvedate中取值，只用于显示， 不存储
	private transient UFDateTime approvedate_bak; // 审核日期临时备份，用于反审核前台清空审核日期后，后台有需要使用的情况（预算控制）
	private nc.vo.pub.lang.UFBoolean isrefund;// 是否退款，标记退款单使用

	// cloud新增加的字段
	private String invoiceno;
	private Integer total_period;
	private String start_period;
	private UFBoolean isurgent;
	private String def31;
	private String def32;
	private String def33;
	private String def34;
	private String def35;
	private String def36;
	private String def37;
	private String def38;
	private String def39;
	private String def40;
	private String def41;
	private String def42;
	private String def43;
	private String def44;
	private String def45;
	private String def46;
	private String def47;
	private String def48;
	private String def49;
	private String def50;
	private String def51;
	private String def52;
	private String def53;
	private String def54;
	private String def55;
	private String def56;
	private String def57;
	private String def58;
	private String def59;
	private String def60;
	private String def61;
	private String def62;
	private String def63;
	private String def64;
	private String def65;
	private String def66;
	private String def67;
	private String def68;
	private String def69;
	private String def70;
	private String def71;
	private String def72;
	private String def73;
	private String def74;
	private String def75;
	private String def76;
	private String def77;
	private String def78;
	private String def79;
	private String def80;
	private String def81;
	private String def82;
	private String def83;
	private String def84;
	private String def85;
	private String def86;
	private String def87;
	private String def88;
	private String def89;
	private String def90;
	private String def91;
	private String def92;
	private String def93;
	private String def94;
	private String def95;
	private String def96;
	private String def97;
	private String def98;
	private String def99;
	private String def100;
	private Integer saga_frozen;// 冻结状态
	private String saga_gtxid;// 全局事务id
	private String saga_btxid;// 事务分支id
	private Integer saga_status;// 事务状态
	private String driveaction; // 提交审批断开参数（用于流程平台判断）

	public String getDriveaction() {
		return driveaction;
	}

	public void setDriveaction(String driveaction) {
		this.driveaction = driveaction;
	}

	public String getInvoiceno() {
		return invoiceno;
	}

	public void setInvoiceno(String invoiceno) {
		this.invoiceno = invoiceno;
	}

	public Integer getTotal_period() {
		return total_period;
	}

	public void setTotal_period(Integer total_period) {
		this.total_period = total_period;
	}

	public String getStart_period() {
		return start_period;
	}

	public void setStart_period(String start_period) {
		this.start_period = start_period;
	}

	public UFBoolean getIsurgent() {
		return isurgent;
	}

	public void setIsurgent(UFBoolean isurgent) {
		this.isurgent = isurgent;
	}

	public String getDef31() {
		return def31;
	}

	public void setDef31(String def31) {
		this.def31 = def31;
	}

	public String getDef32() {
		return def32;
	}

	public void setDef32(String def32) {
		this.def32 = def32;
	}

	public String getDef33() {
		return def33;
	}

	public void setDef33(String def33) {
		this.def33 = def33;
	}

	public String getDef34() {
		return def34;
	}

	public void setDef34(String def34) {
		this.def34 = def34;
	}

	public String getDef35() {
		return def35;
	}

	public void setDef35(String def35) {
		this.def35 = def35;
	}

	public String getDef36() {
		return def36;
	}

	public void setDef36(String def36) {
		this.def36 = def36;
	}

	public String getDef37() {
		return def37;
	}

	public void setDef37(String def37) {
		this.def37 = def37;
	}

	public String getDef38() {
		return def38;
	}

	public void setDef38(String def38) {
		this.def38 = def38;
	}

	public String getDef39() {
		return def39;
	}

	public void setDef39(String def39) {
		this.def39 = def39;
	}

	public String getDef40() {
		return def40;
	}

	public void setDef40(String def40) {
		this.def40 = def40;
	}

	public String getDef41() {
		return def41;
	}

	public void setDef41(String def41) {
		this.def41 = def41;
	}

	public String getDef42() {
		return def42;
	}

	public void setDef42(String def42) {
		this.def42 = def42;
	}

	public String getDef43() {
		return def43;
	}

	public void setDef43(String def43) {
		this.def43 = def43;
	}

	public String getDef44() {
		return def44;
	}

	public void setDef44(String def44) {
		this.def44 = def44;
	}

	public String getDef45() {
		return def45;
	}

	public void setDef45(String def45) {
		this.def45 = def45;
	}

	public String getDef46() {
		return def46;
	}

	public void setDef46(String def46) {
		this.def46 = def46;
	}

	public String getDef47() {
		return def47;
	}

	public void setDef47(String def47) {
		this.def47 = def47;
	}

	public String getDef48() {
		return def48;
	}

	public void setDef48(String def48) {
		this.def48 = def48;
	}

	public String getDef49() {
		return def49;
	}

	public void setDef49(String def49) {
		this.def49 = def49;
	}

	public String getDef50() {
		return def50;
	}

	public void setDef50(String def50) {
		this.def50 = def50;
	}

	public String getDef51() {
		return def51;
	}

	public void setDef51(String def51) {
		this.def51 = def51;
	}

	public String getDef52() {
		return def52;
	}

	public void setDef52(String def52) {
		this.def52 = def52;
	}

	public String getDef53() {
		return def53;
	}

	public void setDef53(String def53) {
		this.def53 = def53;
	}

	public String getDef54() {
		return def54;
	}

	public void setDef54(String def54) {
		this.def54 = def54;
	}

	public String getDef55() {
		return def55;
	}

	public void setDef55(String def55) {
		this.def55 = def55;
	}

	public String getDef56() {
		return def56;
	}

	public void setDef56(String def56) {
		this.def56 = def56;
	}

	public String getDef57() {
		return def57;
	}

	public void setDef57(String def57) {
		this.def57 = def57;
	}

	public String getDef58() {
		return def58;
	}

	public void setDef58(String def58) {
		this.def58 = def58;
	}

	public String getDef59() {
		return def59;
	}

	public void setDef59(String def59) {
		this.def59 = def59;
	}

	public String getDef60() {
		return def60;
	}

	public void setDef60(String def60) {
		this.def60 = def60;
	}

	public String getDef61() {
		return def61;
	}

	public void setDef61(String def61) {
		this.def61 = def61;
	}

	public String getDef62() {
		return def62;
	}

	public void setDef62(String def62) {
		this.def62 = def62;
	}

	public String getDef63() {
		return def63;
	}

	public void setDef63(String def63) {
		this.def63 = def63;
	}

	public String getDef64() {
		return def64;
	}

	public void setDef64(String def64) {
		this.def64 = def64;
	}

	public String getDef65() {
		return def65;
	}

	public void setDef65(String def65) {
		this.def65 = def65;
	}

	public String getDef66() {
		return def66;
	}

	public void setDef66(String def66) {
		this.def66 = def66;
	}

	public String getDef67() {
		return def67;
	}

	public void setDef67(String def67) {
		this.def67 = def67;
	}

	public String getDef68() {
		return def68;
	}

	public void setDef68(String def68) {
		this.def68 = def68;
	}

	public String getDef69() {
		return def69;
	}

	public void setDef69(String def69) {
		this.def69 = def69;
	}

	public String getDef70() {
		return def70;
	}

	public void setDef70(String def70) {
		this.def70 = def70;
	}

	public String getDef71() {
		return def71;
	}

	public void setDef71(String def71) {
		this.def71 = def71;
	}

	public String getDef72() {
		return def72;
	}

	public void setDef72(String def72) {
		this.def72 = def72;
	}

	public String getDef73() {
		return def73;
	}

	public void setDef73(String def73) {
		this.def73 = def73;
	}

	public String getDef74() {
		return def74;
	}

	public void setDef74(String def74) {
		this.def74 = def74;
	}

	public String getDef75() {
		return def75;
	}

	public void setDef75(String def75) {
		this.def75 = def75;
	}

	public String getDef76() {
		return def76;
	}

	public void setDef76(String def76) {
		this.def76 = def76;
	}

	public String getDef77() {
		return def77;
	}

	public void setDef77(String def77) {
		this.def77 = def77;
	}

	public String getDef78() {
		return def78;
	}

	public void setDef78(String def78) {
		this.def78 = def78;
	}

	public String getDef79() {
		return def79;
	}

	public void setDef79(String def79) {
		this.def79 = def79;
	}

	public String getDef80() {
		return def80;
	}

	public void setDef80(String def80) {
		this.def80 = def80;
	}

	public String getDef81() {
		return def81;
	}

	public void setDef81(String def81) {
		this.def81 = def81;
	}

	public String getDef82() {
		return def82;
	}

	public void setDef82(String def82) {
		this.def82 = def82;
	}

	public String getDef83() {
		return def83;
	}

	public void setDef83(String def83) {
		this.def83 = def83;
	}

	public String getDef84() {
		return def84;
	}

	public void setDef84(String def84) {
		this.def84 = def84;
	}

	public String getDef85() {
		return def85;
	}

	public void setDef85(String def85) {
		this.def85 = def85;
	}

	public String getDef86() {
		return def86;
	}

	public void setDef86(String def86) {
		this.def86 = def86;
	}

	public String getDef87() {
		return def87;
	}

	public void setDef87(String def87) {
		this.def87 = def87;
	}

	public String getDef88() {
		return def88;
	}

	public void setDef88(String def88) {
		this.def88 = def88;
	}

	public String getDef89() {
		return def89;
	}

	public void setDef89(String def89) {
		this.def89 = def89;
	}

	public String getDef90() {
		return def90;
	}

	public void setDef90(String def90) {
		this.def90 = def90;
	}

	public String getDef91() {
		return def91;
	}

	public void setDef91(String def91) {
		this.def91 = def91;
	}

	public String getDef92() {
		return def92;
	}

	public void setDef92(String def92) {
		this.def92 = def92;
	}

	public String getDef93() {
		return def93;
	}

	public void setDef93(String def93) {
		this.def93 = def93;
	}

	public String getDef94() {
		return def94;
	}

	public void setDef94(String def94) {
		this.def94 = def94;
	}

	public String getDef95() {
		return def95;
	}

	public void setDef95(String def95) {
		this.def95 = def95;
	}

	public String getDef96() {
		return def96;
	}

	public void setDef96(String def96) {
		this.def96 = def96;
	}

	public String getDef97() {
		return def97;
	}

	public void setDef97(String def97) {
		this.def97 = def97;
	}

	public String getDef98() {
		return def98;
	}

	public void setDef98(String def98) {
		this.def98 = def98;
	}

	public String getDef99() {
		return def99;
	}

	public void setDef99(String def99) {
		this.def99 = def99;
	}

	public String getDef100() {
		return def100;
	}

	public void setDef100(String def100) {
		this.def100 = def100;
	}

	public UFDateTime getApprovedate_bak() {
		return approvedate_bak;
	}

	public void setApprovedate_bak(UFDateTime approvedateBak) {
		approvedate_bak = approvedateBak;
	}

	public UFDate getApprovedated() {
		if (approvedate == null)
			return null;
		return approvedate.getDate();
	}

	public void setApprovedated(UFDate approvedated) {
		this.approvedated = approvedated;
	}

	public BaseBillVO() {
		super();
	}

	@Override
	public String getPrimaryKey() {
		String primaryKey = super.getPrimaryKey();

		return (String) (primaryKey == null ? this.getAttributeValue(this.getPKFieldName()) : primaryKey);
	}

	@Override
	public Object clone() {
		Object obj = null;
		try {
			obj = super.clone();
		} catch (Exception e) {
			throw new RuntimeException("clone not supported!");
		}
		BaseBillVO parent = (BaseBillVO) obj;
		return parent;
	}

	public java.lang.String getBillmaker() {
		return billmaker;
	}

	public void setBillmaker(java.lang.String billmaker) {
		this.billmaker = billmaker;
	}

	public java.lang.String getItemflag() {
		return itemflag;
	}

	public void setItemflag(java.lang.String itemflag) {
		this.itemflag = itemflag;
	}

	public nc.vo.pub.lang.UFBoolean getTemporarily2Save() {
		return temporarily2Save;
	}

	public void setTemporarily2Save(nc.vo.pub.lang.UFBoolean Temporarily2Save) {
		this.temporarily2Save = Temporarily2Save;
	}

	public nc.vo.pub.lang.UFBoolean getSaveToTemporarily() {
		return saveToTemporarily;
	}

	public void setSaveTotemporarily(nc.vo.pub.lang.UFBoolean saveTotemporarily) {
		saveToTemporarily = saveTotemporarily;
	}

	public UFDate getBusidate() {
		return busidate;
	}

	public void setBusidate(UFDate busidate) {
		this.busidate = busidate;
	}

	public UFBoolean getM_cooperateMoreTimes() {
		return m_cooperateMoreTimes;
	}

	public void setM_cooperateMoreTimes(UFBoolean moreTimes) {
		m_cooperateMoreTimes = moreTimes;
	}

	public Integer getTransientFlag() {
		return transientFlag;
	}

	public void setTransientFlag(Integer transientFlag) {
		this.transientFlag = transientFlag;
	}

	// zhoushuo_审批状态默认自由态_edit
	private Integer approvestatus = ApproveStatus.NOSTATE.VALUE;

	public Integer getApprovestatus() {
		return approvestatus == null ? ApproveStatus.NOSTATE.VALUE : approvestatus;
	}

	// zhoushuo_审批状态默认自由态_end
	public void setApprovestatus(Integer approvestatus) {
		this.approvestatus = approvestatus;
	}

	public UFBoolean getIsmandatepay() {
		return ismandatepay;
	}

	public UFBoolean getIsnetpayready() {
		return isnetpayready;
	}

	public UFBoolean getIsonlinepay() {
		return isonlinepay;
	}

	public UFDate getPaydate() {
		return paydate;
	}

	public String getPayman() {
		return payman;
	}

	public Integer getPrepay() {
		return prepay;
	}

	public Integer getSettleflag() {
		return settleflag;
	}

	public String getSettlenum() {
		return settlenum;
	}

	public Integer getSettletype() {
		return settletype;
	}

	public void setIsmandatepay(UFBoolean ismandatepay) {
		this.ismandatepay = ismandatepay;

	}

	public void setIsnetpayready(UFBoolean isnetpayready) {
		this.isnetpayready = isnetpayready;

	}

	public void setIsonlinepay(UFBoolean isonlinepay) {
		this.isonlinepay = isonlinepay;
	}

	public void setPaydate(UFDate paydate) {
		this.paydate = paydate;

	}

	public void setPayman(String payman) {
		this.payman = payman;
	}

	public void setPrepay(Integer prepay) {
		this.prepay = prepay;

	}

	public void setSettleflag(Integer settleflag) {
		this.settleflag = settleflag;

	}

	public void setSettlenum(String settlenum) {
		this.settlenum = settlenum;
	}

	public void setSettletype(Integer settletype) {
		this.settletype = settletype;
	}

	public java.lang.String getPk_currtype() {
		return pk_currtype;
	}

	public void setPk_currtype(java.lang.String pk_currtype) {
		this.pk_currtype = pk_currtype;
	}

	public String getCustdelegate() {
		return custdelegate;
	}

	public String getCustomer() {
		return customer;
	}

	@Deprecated
	public String getPk_corp() {
		return pk_corp;
	}

	public String getPk_deptid_res() {
		return pk_deptid_res;
	}

	public UFDate getSigndate() {
		return signdate;
	}

	public String getSignperiod() {
		return signperiod;
	}

	public String getSignuser() {
		return signuser;
	}

	public String getSignyear() {
		return signyear;
	}

	public void setCustdelegate(String custdelegate) {
		this.custdelegate = custdelegate;
	}

	public void setCustomer(String customer) {
		this.customer = customer;
	}

	@Deprecated
	public void setPk_corp(String pk_corp) {
		this.pk_corp = pk_corp;
	}

	public void setPk_deptid_res(String pk_deptid_res) {
		this.pk_deptid_res = pk_deptid_res;
	}

	public void setSigndate(UFDate signdate) {
		this.signdate = signdate;
	}

	public void setSignperiod(String signperiod) {
		this.signperiod = signperiod;
	}

	public void setSignuser(String signuser) {
		this.signuser = signuser;
	}

	public void setSignyear(String signyear) {
		this.signyear = signyear;
	}

	@Override
	public String getParentPK() {
		return parentPK;
	}

	@Override
	public void setParentPK(String parentPK) {
		this.parentPK = parentPK;
	}

	public java.lang.String getPk_org_v() {
		return pk_org_v;
	}

	public void setPk_org_v(java.lang.String pk_org_v) {
		this.pk_org_v = pk_org_v;
	}

	public java.lang.String getPk_fiorg_v() {

		return pk_fiorg_v;
	}

	public void setPk_fiorg_v(java.lang.String pk_fiorg_v) {
		this.pk_fiorg_v = pk_fiorg_v;
	}

	public java.lang.String getPk_pcorg_v() {
		return pk_pcorg_v;
	}

	public void setPk_pcorg_v(java.lang.String pk_pcorg_v) {
		this.pk_pcorg_v = pk_pcorg_v;
	}

	public java.lang.String getPk_fiorg() {
		return pk_fiorg;
	}

	public void setPk_fiorg(java.lang.String pk_fiorg) {
		this.pk_fiorg = pk_fiorg;
	}

	public java.lang.String getPk_pcorg() {
		return pk_pcorg;
	}

	public void setPk_pcorg(java.lang.String pk_pcorg) {
		this.pk_pcorg = pk_pcorg;
	}

	public nc.vo.pub.lang.UFBoolean getInsurance() {
		return null;
	}

	public void setInsurance(nc.vo.pub.lang.UFBoolean newInsurance) {

	}

	public nc.vo.pub.lang.UFBoolean getIsreded() {
		return isreded;
	}

	public void setIsreded(nc.vo.pub.lang.UFBoolean isreded) {
		this.isreded = isreded;
	}

	public java.lang.String getOutbusitype() {
		return outbusitype;
	}

	public void setOutbusitype(java.lang.String outbusitype) {
		this.outbusitype = outbusitype;
	}

	public java.lang.String getOfficialprintuser() {
		return officialprintuser;
	}

	public void setOfficialprintuser(java.lang.String officialprintuser) {
		this.officialprintuser = officialprintuser;
	}

	public nc.vo.pub.lang.UFDate getOfficialprintdate() {
		return officialprintdate;
	}

	public void setOfficialprintdate(nc.vo.pub.lang.UFDate officialprintdate) {
		this.officialprintdate = officialprintdate;
	}

	public java.lang.String getApprovenote() {
		return approvenote;
	}

	public void setApprovenote(java.lang.String approvenote) {
		this.approvenote = approvenote;
	}

	public java.lang.String getPk_org() {
		return pk_org;
	}

	public void setPk_org(java.lang.String pk_org) {
		this.pk_org = pk_org;
	}

	public java.lang.String getPk_group() {
		return pk_group;
	}

	public void setPk_group(java.lang.String pk_group) {
		this.pk_group = pk_group;
	}

	public nc.vo.pub.lang.UFDateTime getModifiedtime() {
		return modifiedtime;
	}

	public void setModifiedtime(nc.vo.pub.lang.UFDateTime modifiedtime) {
		this.modifiedtime = modifiedtime;
	}

	public nc.vo.pub.lang.UFDateTime getCreationtime() {
		return creationtime;
	}

	public void setCreationtime(nc.vo.pub.lang.UFDateTime creationtime) {
		this.creationtime = creationtime;
	}

	public java.lang.String getCreator() {
		return creator;
	}

	public void setCreator(java.lang.String creator) {
		this.creator = creator;
	}

	public java.lang.String getPk_billtype() {
		return pk_billtype;
	}

	public void setPk_billtype(java.lang.String pk_billtype) {
		this.pk_billtype = pk_billtype;
	}

	public java.lang.String getCustbank() {
		return custbank;
	}

	public void setCustbank(java.lang.String custbank) {
		this.custbank = custbank;
	}

	public java.lang.String getModifier() {
		return modifier;
	}

	public void setModifier(java.lang.String modifier) {
		this.modifier = modifier;
	}

	public java.lang.String getPk_tradetype() {
		return pk_tradetype;
	}

	public void setPk_tradetype(java.lang.String pk_tradetype) {
		this.pk_tradetype = pk_tradetype;
	}

	public java.lang.String getPk_tradetypeid() {
		return pk_tradetypeid;
	}

	public void setPk_tradetypeid(java.lang.String pk_tradetypeid) {
		this.pk_tradetypeid = pk_tradetypeid;
	}

	public java.lang.String getBillclass() {
		return billclass;
	}

	public void setBillclass(java.lang.String billclass) {
		this.billclass = billclass;
	}

	public java.lang.Integer getAccessorynum() {
		return accessorynum;
	}

	public void setAccessorynum(java.lang.Integer accessorynum) {
		this.accessorynum = accessorynum;
	}

	public java.lang.String getSubjcode() {
		return subjcode;
	}

	public void setSubjcode(java.lang.String subjcode) {
		this.subjcode = subjcode;
	}

	public nc.vo.pub.lang.UFBoolean getIsflowbill() {
		return isflowbill;
	}

	public void setIsflowbill(nc.vo.pub.lang.UFBoolean isflowbill) {
		this.isflowbill = isflowbill;
	}

	public java.lang.String getConfirmuser() {
		return confirmuser;
	}

	public void setConfirmuser(java.lang.String confirmuser) {
		this.confirmuser = confirmuser;
	}

	public nc.vo.pub.lang.UFBoolean getIsinit() {
		return isinit;
	}

	public void setIsinit(nc.vo.pub.lang.UFBoolean isinit) {
		this.isinit = isinit;
	}

	public java.lang.String getBillno() {
		return billno;
	}

	public void setBillno(java.lang.String billno) {
		this.billno = billno;
	}

	public nc.vo.pub.lang.UFDate getBilldate() {
		return billdate;
	}

	public void setBilldate(nc.vo.pub.lang.UFDate billdate) {
		this.billdate = billdate;
	}

	public java.lang.Integer getSyscode() {
		return syscode;
	}

	public void setSyscode(java.lang.Integer syscode) {
		this.syscode = syscode;
	}

	public java.lang.Integer getSrc_syscode() {
		return src_syscode;
	}

	public void setSrc_syscode(java.lang.Integer src_syscode) {
		this.src_syscode = src_syscode;
	}

	public java.lang.Integer getBillstatus() {
		return billstatus;
	}

	public void setBillstatus(java.lang.Integer billstatus) {
		this.billstatus = billstatus;
	}

	public java.lang.String getApprover() {

		return approver;
	}

	public void setApprover(java.lang.String approver) {
		setLastapproveid(approver);
		this.approver = approver;
	}

	public nc.vo.pub.lang.UFDateTime getApprovedate() {
		return approvedate;
	}

	public void setApprovedate(nc.vo.pub.lang.UFDateTime approvedate) {
		if (approvedate == null && this.getApprovedate() != null) {
			setApprovedate_bak(this.getApprovedate());
		}
		this.approvedate = approvedate;
	}

	public java.lang.String getLastadjustuser() {
		return lastadjustuser;
	}

	public void setLastadjustuser(java.lang.String lastadjustuser) {
		this.lastadjustuser = lastadjustuser;
	}

	public java.lang.String getPk_busitype() {
		return pk_busitype;
	}

	public void setPk_busitype(java.lang.String pk_busitype) {
		this.pk_busitype = pk_busitype;
	}

	public nc.vo.pub.lang.UFDouble getMoney() {
		return money;
	}

	public void setMoney(nc.vo.pub.lang.UFDouble money) {
		this.money = money;
	}

	public nc.vo.pub.lang.UFDouble getLocal_money() {
		return local_money;
	}

	public void setLocal_money(nc.vo.pub.lang.UFDouble local_money) {
		this.local_money = local_money;
	}

	public java.lang.String getBillyear() {
		return billyear;
	}

	public void setBillyear(java.lang.String billyear) {
		this.billyear = billyear;
	}

	public java.lang.String getBillperiod() {
		return billperiod;
	}

	public void setBillperiod(java.lang.String billperiod) {
		this.billperiod = billperiod;
	}

	public java.lang.String getScomment() {
		return scomment;
	}

	public void setScomment(java.lang.String scomment) {
		this.scomment = scomment;
	}

	public java.lang.Integer getEffectstatus() {
		return effectstatus;
	}

	public void setEffectstatus(java.lang.Integer effectstatus) {
		this.effectstatus = effectstatus;
	}

	public java.lang.String getEffectuser() {
		return effectuser;
	}

	public void setEffectuser(java.lang.String effectuser) {
		this.effectuser = effectuser;
	}

	public nc.vo.pub.lang.UFDate getEffectdate() {
		return effectdate;
	}

	public void setEffectdate(nc.vo.pub.lang.UFDate effectdate) {
		this.effectdate = effectdate;
	}

	/**
	 * 属性pk_recbill的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newpk_recbill java.lang.String
	 */
	public void setInner_effect_date(nc.vo.pub.lang.UFDate inner_effect_date) {
	}

	public java.lang.String getLastapproveid() {
		if (lastapproveid == null) {
			return approver;
		}
		return lastapproveid;
	}

	public void setLastapproveid(java.lang.String lastapproveid) {
		this.lastapproveid = lastapproveid;
	}

	public java.lang.String getSett_org() {
		return sett_org;
	}

	public java.lang.String getDef1() {

		return def1;
	}

	public void setDef1(java.lang.String def1) {
		this.def1 = def1;
	}

	public java.lang.String getDef30() {

		return def30;
	}

	public void setDef30(java.lang.String def30) {
		this.def30 = def30;
	}

	public java.lang.String getDef29() {
		return def29;
	}

	public void setDef29(java.lang.String def29) {
		this.def29 = def29;
	}

	public java.lang.String getDef28() {
		return def28;
	}

	public void setDef28(java.lang.String def28) {
		this.def28 = def28;
	}

	public java.lang.String getDef27() {
		return def27;
	}

	public void setDef27(java.lang.String def27) {
		this.def27 = def27;
	}

	public java.lang.String getDef26() {
		return def26;
	}

	public void setDef26(java.lang.String def26) {
		this.def26 = def26;
	}

	public java.lang.String getDef25() {
		return def25;
	}

	public void setDef25(java.lang.String def25) {
		this.def25 = def25;
	}

	public java.lang.String getDef24() {
		return def24;
	}

	public void setDef24(java.lang.String def24) {
		this.def24 = def24;
	}

	public java.lang.String getDef23() {
		return def23;
	}

	public void setDef23(java.lang.String def23) {
		this.def23 = def23;
	}

	public java.lang.String getDef22() {
		return def22;
	}

	public void setDef22(java.lang.String def22) {
		this.def22 = def22;
	}

	public java.lang.String getDef21() {
		return def21;
	}

	public void setDef21(java.lang.String def21) {
		this.def21 = def21;
	}

	public java.lang.String getDef20() {
		return def20;
	}

	public void setDef20(java.lang.String def20) {
		this.def20 = def20;
	}

	public java.lang.String getDef19() {
		return def19;
	}

	public void setDef19(java.lang.String def19) {
		this.def19 = def19;
	}

	public java.lang.String getDef18() {
		return def18;
	}

	public void setDef18(java.lang.String def18) {
		;
		this.def18 = def18;
	}

	public java.lang.String getDef17() {
		return def17;
	}

	public void setDef17(java.lang.String def17) {
		this.def17 = def17;
	}

	public java.lang.String getDef16() {
		return def16;
	}

	public void setDef16(java.lang.String def16) {
		this.def16 = def16;
	}

	public java.lang.String getDef15() {
		return def15;

	}

	public void setDef15(java.lang.String def15) {
		this.def15 = def15;
	}

	public java.lang.String getDef14() {
		return def14;
	}

	public void setDef14(java.lang.String def14) {
		this.def14 = def14;
	}

	public java.lang.String getDef13() {
		return def13;
	}

	public void setDef13(java.lang.String def13) {
		this.def13 = def13;
	}

	public java.lang.String getDef12() {
		return def12;
	}

	public void setDef12(java.lang.String def12) {
		this.def12 = def12;
	}

	public java.lang.String getDef11() {
		return def11;
	}

	public void setDef11(java.lang.String def11) {
		this.def11 = def11;
	}

	public java.lang.String getDef10() {
		return def10;
	}

	public void setDef10(java.lang.String def10) {
		this.def10 = def10;
	}

	public java.lang.String getDef9() {
		return def9;
	}

	public void setDef9(java.lang.String def9) {
		this.def9 = def9;
	}

	public java.lang.String getDef8() {
		return def8;
	}

	public void setDef8(java.lang.String def8) {
		this.def8 = def8;
	}

	public java.lang.String getDef7() {
		return def7;
	}

	public void setDef7(java.lang.String def7) {
		this.def7 = def7;
	}

	public java.lang.String getDef6() {

		return def6;
	}

	public void setDef6(java.lang.String def6) {
		this.def6 = def6;
	}

	public java.lang.String getDef5() {
		return def5;
	}

	public void setDef5(java.lang.String def5) {
		this.def5 = def5;
	}

	public java.lang.String getDef4() {
		return def4;
	}

	public void setDef4(java.lang.String def4) {
		this.def4 = def4;
	}

	public java.lang.String getDef3() {
		return def3;
	}

	public void setDef3(java.lang.String def3) {
		this.def3 = def3;
	}

	public java.lang.String getDef2() {
		return def2;
	}

	public void setDef2(java.lang.String def2) {
		this.def2 = def2;
	}

	public java.lang.Integer getDr() {
		return dr;
	}

	public void setDr(java.lang.Integer dr) {
		this.dr = dr;
	}

	public nc.vo.pub.lang.UFDateTime getTs() {
		return ts;
	}

	public void setTs(nc.vo.pub.lang.UFDateTime ts) {
		this.ts = ts;
	}

	/********* 下面是新增属性 ********/

	public nc.vo.pub.lang.UFDate getTallydate() {
		return tallydate;
	}

	public void setTallydate(nc.vo.pub.lang.UFDate tallydate) {
		this.tallydate = tallydate;
	}

	/******** 下面是计算属性 *******/
	public nc.vo.pub.lang.UFDouble getRate() {
		return rate;
	}

	public void setRate(nc.vo.pub.lang.UFDouble newRate) {
		this.rate = newRate;
	}

	public nc.vo.pub.lang.UFDouble getGrouplocal() {
		return grouplocal;
	}

	/**
	 * 属性grouplocal的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGrouplocal nc.vo.pub.lang.UFDouble
	 */
	public void setGrouplocal(nc.vo.pub.lang.UFDouble grouplocal) {
		this.grouplocal = grouplocal;
	}

	/**
	 * 属性globallocal的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGloballocal() {
		return globallocal;
	}

	/**
	 * 属性globallocal的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGloballocal nc.vo.pub.lang.UFDouble
	 */
	public void setGloballocal(nc.vo.pub.lang.UFDouble globallocal) {
		this.globallocal = globallocal;
	}

	/**
	 * 属性grouprate的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGrouprate() {
		return grouprate;
	}

	/**
	 * 属性grouprate的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGrouprate nc.vo.pub.lang.UFDouble
	 */
	public void setGrouprate(nc.vo.pub.lang.UFDouble grouprate) {
		this.grouprate = grouprate;
	}

	/**
	 * 属性globalrate的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGlobalrate() {
		return globalrate;
	}

	/**
	 * 属性globalrate的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGlobalrate nc.vo.pub.lang.UFDouble
	 */
	public void setGlobalrate(nc.vo.pub.lang.UFDouble globalrate) {
		this.globalrate = globalrate;
	}

	/**
	 * 属性checkelement的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getCheckelement() {
		return checkelement;
	}

	/**
	 * 属性checkelement的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newCheckelement java.lang.String
	 */
	public void setCheckelement(java.lang.String checkelement) {
		this.checkelement = checkelement;
	}

	/**
	 * 属性so_deptid的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getSo_deptid() {
		return so_deptid;
	}

	/**
	 * 属性so_deptid的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newSo_deptid java.lang.String
	 */
	public void setSo_deptid(java.lang.String so_deptid) {
		this.so_deptid = so_deptid;
	}

	/**
	 * 属性so_psndoc的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getSo_psndoc() {
		return so_psndoc;
	}

	/**
	 * 属性so_psndoc的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newSo_psndoc java.lang.String
	 */
	public void setSo_psndoc(java.lang.String so_psndoc) {
		this.so_psndoc = so_psndoc;
	}

	/**
	 * 属性pu_deptid的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPu_deptid() {
		return pu_deptid;
	}

	/**
	 * 属性pu_deptid的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPu_deptid java.lang.String
	 */
	public void setPu_deptid(java.lang.String pu_deptid) {
		this.pu_deptid = pu_deptid;
	}

	/**
	 * 属性pu_psndoc的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPu_psndoc() {
		return pu_psndoc;
	}

	/**
	 * 属性pu_psndoc的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPu_psndoc java.lang.String
	 */
	public void setPu_psndoc(java.lang.String pu_psndoc) {
		this.pu_psndoc = pu_psndoc;
	}

	/**
	 * 属性so_org的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getSo_org() {
		return so_org;
	}

	/**
	 * 属性so_org的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newSo_org java.lang.String
	 */
	public void setSo_org(java.lang.String so_org) {
		this.so_org = so_org;
	}

	/**
	 * 属性pu_org的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPu_org() {
		return pu_org;
	}

	/**
	 * 属性pu_org的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPu_org java.lang.String
	 */
	public void setPu_org(java.lang.String pu_org) {
		this.pu_org = pu_org;
	}

	/**
	 * 属性pk_rescenter的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPk_rescenter() {
		return pk_rescenter;
	}

	/**
	 * 属性pk_rescenter的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPk_rescenter java.lang.String
	 */
	public void setPk_rescenter(java.lang.String pk_rescenter) {
		this.pk_rescenter = pk_rescenter;
	}

	/**
	 * 属性cashitem的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getCashitem() {
		return cashitem;
	}

	/**
	 * 属性cashitem的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newCashitem java.lang.String
	 */
	public void setCashitem(java.lang.String cashitem) {
		this.cashitem = cashitem;
	}

	/**
	 * 属性bankrollprojet的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getBankrollprojet() {
		return bankrollprojet;
	}

	/**
	 * 属性bankrollprojet的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newBankrollprojet java.lang.String
	 */
	public void setBankrollprojet(java.lang.String bankrollprojet) {
		this.bankrollprojet = bankrollprojet;
	}

	/**
	 * 属性supplier的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getSupplier() {
		return supplier;
	}

	/**
	 * 属性supplier的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newSupplier java.lang.String
	 */
	public void setSupplier(java.lang.String supplier) {
		this.supplier = supplier;
	}

	/**
	 * 属性pk_deptid的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPk_deptid() {
		return pk_deptid;
	}

	public void setSett_org(String settOrg) {
		sett_org = settOrg;
	}

	public String getPk_deptid_v() {
		return pk_deptid_v;
	}

	public void setPk_deptid_v(String pkDeptidV) {
		pk_deptid_v = pkDeptidV;
	}

	public String getPu_deptid_v() {
		return pu_deptid_v;
	}

	public void setPu_deptid_v(String puDeptidV) {
		pu_deptid_v = puDeptidV;
	}

	public String getSo_deptid_v() {
		return so_deptid_v;
	}

	public void setSo_deptid_v(String soDeptidV) {
		so_deptid_v = soDeptidV;
	}

	/**
	 * 属性pk_deptid的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPk_deptid java.lang.String
	 */
	public void setPk_deptid(java.lang.String pk_deptid) {
		this.pk_deptid = pk_deptid;
	}

	/**
	 * 属性pk_psndoc的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPk_psndoc() {
		return pk_psndoc;
	}

	/**
	 * 属性pk_psndoc的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPk_psndoc java.lang.String
	 */
	public void setPk_psndoc(java.lang.String pk_psndoc) {
		this.pk_psndoc = pk_psndoc;
	}

	/**
	 * 属性checkno的Getter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getCheckno() {
		return checkno;
	}

	/**
	 * 属性checkno的Setter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @param newCheckno java.lang.String
	 */
	public void setCheckno(java.lang.String checkno) {
		this.checkno = checkno;
	}

	/**
	 * 属性payaccount的Getter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPayaccount() {
		return payaccount;
	}

	/**
	 * 属性payaccount的Setter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @param newPayaccount java.lang.String
	 */
	public void setPayaccount(java.lang.String payaccount) {
		this.payaccount = payaccount;
	}

	/**
	 * 属性recaccount的Getter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getRecaccount() {
		return recaccount;
	}

	/**
	 * 属性recaccount的Setter方法. 创建日期:2009-06-15 13:57:54
	 * 
	 * @param newRecaccount java.lang.String
	 */
	public void setRecaccount(java.lang.String recaccount) {
		this.recaccount = recaccount;
	}

	/**
	 * 属性recaccount的Getter方法. 创建日期:2009-06-24 12:35:15
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getCashaccount() {
		return cashaccount;
	}

	/**
	 * 属性recaccount的Setter方法. 创建日期:2009-06-24 12:35:15
	 * 
	 * @param newRecaccount java.lang.String
	 * @param cashaccount
	 */
	public void setCashaccount(String cashaccount) {
		this.cashaccount = cashaccount;
		;
	}

	public java.lang.String getIncomeitem() {
		return incomeitem;
	}

	public void setIncomeitem(java.lang.String incomeitem) {
		this.incomeitem = incomeitem;
	}

	public java.lang.String getPk_subjcode() {
		return pk_subjcode;
	}

	/**
	 * 属性pk_subjcode的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPk_subjcode java.lang.String
	 */
	public void setPk_subjcode(java.lang.String pk_subjcode) {
		this.pk_subjcode = pk_subjcode;
	}

	/**
	 * 属性objtype的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.Integer
	 */
	public java.lang.Integer getObjtype() {
		return objtype;
	}

	/**
	 * 属性objtype的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newObjtype java.lang.Integer
	 */
	public void setObjtype(java.lang.Integer objtype) {
		this.objtype = objtype;
	}

	/**
	 * 属性so_org_v的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getSo_org_v() {
		return so_org_v;
	}

	/**
	 * 属性so_org_v的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newSo_org_v java.lang.String
	 */
	public void setSo_org_v(java.lang.String so_org_v) {
		this.so_org_v = so_org_v;
	}

	/**
	 * 属性pu_org_v的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return java.lang.String
	 */
	public java.lang.String getPu_org_v() {
		return pu_org_v;
	}

	/**
	 * 属性pu_org_v的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newPu_org_v java.lang.String
	 */
	public void setPu_org_v(java.lang.String pu_org_v) {
		this.pu_org_v = pu_org_v;
	}

	public java.lang.String getSett_org_v() {
		return sett_org_v;
	}

	/**
	 * 属性sett_org_v的Setter方法. 创建日期:2009-08-14 13:32:03
	 * 
	 * @param newSett_org_v java.lang.String
	 */
	public void setSett_org_v(java.lang.String sett_org_v) {
		this.sett_org_v = sett_org_v;
	}

	public java.lang.String getPk_input() {
		return pk_input;
	}

	/**
	 * 属性pk_input的Setter方法. 创建日期:2009-08-14 13:32:03
	 * 
	 * @param newPk_input java.lang.String
	 */
	public void setPk_input(java.lang.String pk_input) {
		this.pk_input = pk_input;
	}

	public java.lang.String getPk_balatype() {
		return pk_balatype;
	}

	/**
	 * 属性pk_balatype的Setter方法. 创建日期:2009-08-14 13:32:03
	 * 
	 * @param newPk_balatype java.lang.String
	 */
	public void setPk_balatype(java.lang.String pk_balatype) {
		this.pk_balatype = pk_balatype;
	}

	public java.lang.String getOrdercubasdoc() {
		return ordercubasdoc;
	}

	/**
	 * 属性ordercubasdoc的Setter方法. 创建日期:2009-08-14 13:32:03
	 * 
	 * @param newOrdercubasdoc java.lang.String
	 */
	public void setOrdercubasdoc(java.lang.String ordercubasdoc) {
		this.ordercubasdoc = ordercubasdoc;
	}

	/**
	 * 属性globalnotax的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGlobalnotax() {
		return globalnotax;
	}

	/**
	 * 属性globalnotax的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGlobalnotax nc.vo.pub.lang.UFDouble
	 */
	public void setGlobalnotax(nc.vo.pub.lang.UFDouble globalnotax) {
		this.globalnotax = globalnotax;
	}

	/**
	 * 属性grouptax的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGrouptax() {
		return grouptax;
	}

	/**
	 * 属性grouptax的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGrouptax nc.vo.pub.lang.UFDouble
	 */
	public void setGrouptax(nc.vo.pub.lang.UFDouble grouptax) {
		this.grouptax = grouptax;
	}

	/**
	 * 属性globaltax的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGlobaltax() {
		return globaltax;
	}

	/**
	 * 属性globaltax的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGlobaltax nc.vo.pub.lang.UFDouble
	 */
	public void setGlobaltax(nc.vo.pub.lang.UFDouble globaltax) {
		this.globaltax = globaltax;
	}

	/**
	 * 属性groupnotax的Getter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @return nc.vo.pub.lang.UFDouble
	 */
	public nc.vo.pub.lang.UFDouble getGroupnotax() {
		return groupnotax;
	}

	/**
	 * 属性groupnotax的Setter方法. 创建日期:2009-07-31 15:53:38
	 * 
	 * @param newGroupnotax nc.vo.pub.lang.UFDouble
	 */
	public void setGroupnotax(nc.vo.pub.lang.UFDouble groupnotax) {
		this.groupnotax = groupnotax;
	}

	/**
	 * 属性coordflag的Getter方法.
	 * 
	 * @return java.lang.Integer
	 */
	public java.lang.Integer getCoordflag() {
		return coordflag;
	}

	/**
	 * 属性coordflag的Setter方法
	 * 
	 * @param newCoordflag java.lang.Integer
	 */
	public void setCoordflag(java.lang.Integer newCoordflag) {
		this.coordflag = newCoordflag;
	}

	public void resetDefaultValue(String billmaker, UFDateTime operationtime) {
		setAccessorynum(0);
		// zhoushuo_审批状态默认自由态_edit
		setApprovestatus(BillEnumCollection.ApproveStatus.NOSTATE.VALUE.intValue());
		// zhoushuo_审批状态默认自由态_end
		setEffectstatus(0);
		setSettleflag(0);

		AccountCalendar acc = AccountCalendar.getInstanceByPk_org(getPk_org());
		try {
			acc.setDate(operationtime.getDate());
		} catch (InvalidAccperiodExcetion e) {
			throw new BusinessRuntimeException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("2006pub_0",
					"02006pub-0543")/* @res "日期错误， 不是合法的会计期间" */, e);
		}

		setBilldate(operationtime.getDate());
		setBillperiod(acc.getMonthVO().getAccperiodmth());
		setBillyear(acc.getYearVO().getPeriodyear());
		setCreationtime(operationtime);
		setCreator(billmaker);
		setBillmaker(billmaker);
		setPrimaryKey(null);
		setBillno(null);
	}

	@Override
	public String[] getMoneyFields(String billclass) {
		if (billclass.equals(IBillFieldGet.YS) || billclass.equals(IBillFieldGet.FK)) {
			return YSandFKMoneyFields;
		} else if (billclass.equals(IBillFieldGet.YF) || billclass.equals(IBillFieldGet.SK)) {
			return YFandSKMoneyFields;
		}
		return new String[] {};
	}

	public List<String> getMoneyFields() {
		return MONEYFIELD_LIST;
	}

	public List<String> getRateFields() {
		return RATEFIELD_LIST;
	}

	private SuperVO settleHead = null;

	private UFDate commpayenddate;

	private UFDate commpaybegindate;

	@Override
	public Object getAttributeValue(String name) {
		if (name == null)
			return "";
		Object value = null;
		if (name.startsWith(ZB)) {
			value = (settleHead == null ? null : settleHead.getAttributeValue(name.split("\\.")[1]));
		} else {
			value = super.getAttributeValue(name);
		}
		if (value == null) {
			if (getMoneyFields().contains(name)) {
				value = UFDouble.ZERO_DBL;
			} else if (getRateFields().contains(name)) {
				if (IBillFieldGet.RATE.equals(name)) {
					value = UFDouble.ONE_DBL;
				} else {
					value = UFDouble.ZERO_DBL;
				}
			}
		}

		return value;
	}

	public SuperVO getSettleHead() {
		return settleHead;
	}

	public void setSettleHead(SuperVO settleHead) {
		this.settleHead = settleHead;
	}

	public UFBoolean getIsforce() {
		return isforce;
	}

	public void setIsforce(UFBoolean isforce) {
		this.isforce = isforce;
	}

	public UFDate getCommpayenddate() {
		return commpayenddate;
	}

	public UFDate getCommpaybegindate() {
		return commpaybegindate;
	}

	public void setCommpayenddate(UFDate commpayenddate) {
		this.commpayenddate = commpayenddate;
	}

	public void setCommpaybegindate(UFDate commpaybegindate) {
		this.commpaybegindate = commpaybegindate;
	}

	public Integer getEstflag() {
		return estflag;
	}

	public void setEstflag(Integer estflag) {
		this.estflag = estflag;
	}

	public boolean isForceEffect() {
		return isForceEffect;
	}

	public void setForceEffect(boolean isForceEffect) {
		this.isForceEffect = isForceEffect;
	}

	public String getCostcenter() {
		return costcenter;
	}

	public void setCostcenter(String costcenter) {
		this.costcenter = costcenter;
	}

	public UFBoolean getIsfromindependent() {
		return isfromindependent;
	}

	public void setIsfromindependent(UFBoolean isfromindependent) {
		this.isfromindependent = isfromindependent;
	}

	public String getRececountryid() {
		return rececountryid;
	}

	public void setRececountryid(String rececountryid) {
		this.rececountryid = rececountryid;
	}

	public String getTaxcountryid() {
		return taxcountryid;
	}

	public void setTaxcountryid(String taxcountryid) {
		this.taxcountryid = taxcountryid;
	}

	public String getSendcountryid() {
		return sendcountryid;
	}

	public void setSendcountryid(String sendcountryid) {
		this.sendcountryid = sendcountryid;
	}

	public String getCreditrefstd() {
		return creditrefstd;
	}

	public void setCreditrefstd(String creditrefstd) {
		this.creditrefstd = creditrefstd;
	}

	public boolean isAuthAccount() {
		return isAuthAccount;
	}

	public void setAuthAccount(boolean isAuthAccount) {
		this.isAuthAccount = isAuthAccount;
	}

	public nc.vo.pub.lang.UFBoolean getIsrefund() {
		return isrefund;
	}

	public void setIsrefund(nc.vo.pub.lang.UFBoolean isrefund) {
		this.isrefund = isrefund;
	}

	public nc.vo.pub.lang.UFBoolean getIsTaxRecalculation() {
		return isTaxRecalculation;
	}

	public void setIsTaxRecalculation(nc.vo.pub.lang.UFBoolean isTaxRecalculation) {
		this.isTaxRecalculation = isTaxRecalculation;
	}

	public Integer getSaga_frozen() {
		return saga_frozen;
	}

	public void setSaga_frozen(Integer saga_frozen) {
		this.saga_frozen = saga_frozen;
	}

	public String getSaga_gtxid() {
		return saga_gtxid;
	}

	public void setSaga_gtxid(String saga_gtxid) {
		this.saga_gtxid = saga_gtxid;
	}

	public String getSaga_btxid() {
		return saga_btxid;
	}

	public void setSaga_btxid(String saga_btxid) {
		this.saga_btxid = saga_btxid;
	}

	public Integer getSaga_status() {
		return saga_status;
	}

	public void setSaga_status(Integer saga_status) {
		this.saga_status = saga_status;
	}

	@Override
	public void setAttributeValue(String name, Object value) {
		super.setAttributeValue(name, value);
		// if (value == null) {
		// super.setAttributeValue(name, value);
		// return;
		// }
		// Class<? extends Object> clazz = value.getClass();
		// if (clazz.equals(Object.class) || value.getClass().equals(BigDecimal.class))
		// {
		// super.setAttributeValue(name, value);
		// } else {
		// setAttributeValue2(name, value);
		// }
	}

	public void setAttributeValue2(String name, Object value) {
		super.setAttributeValue(name, value);
		/**
		 * hanzhhm修改，代码冗余
		 */
		// try {
		// if (!BeanHelper.setProperty(this, name, value)) {
		// super.setAttributeValue(name, value);
		// }
		// } catch (java.lang.IllegalArgumentException e) {
		// super.setAttributeValue(name, value);
		// } catch (java.lang.ClassCastException e) {
		// super.setAttributeValue(name, value);
		// }
	}

	public abstract String getPKFieldName();

	public abstract String getTableName();

}
//nssCWRKGQYgApi2jG9RC8wvg2crUAr3uxB3+NNkz+b6uUem9wDAl9zaymBmDBQlA