<?xml version="1.0"?>
<Entity>
	<Name>AccountSubject</Name>
	<Type>Single</Type>
	<Table>
		<Name>AccountSubject</Name>
		<Column>
			<Name>SubjectCode</Name>
			<DataType>System.Int32</DataType>
			<IsKey>true</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>ccode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>ccode_name</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>200</ColumnSize>
		</Column>
		<Column>
			<Name>igrade</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>bend</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>bproperty</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>bcus</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbcus</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bsup</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbsup</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bitem</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbitem</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>AccountCode</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>parentcode</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>bdept</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbdept</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bcash</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbcash</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bBankAccount</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbBankAccount</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bProject</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbProject</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>bContract</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>NcDocbContract</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
    <Column>
      <Name>bInnerCus</Name>
      <DataType>System.Int32</DataType>
      <IsKey>false</IsKey>
      <IsAllowNull>true</IsAllowNull>
      <ColumnSize>4</ColumnSize>
    </Column>
    <Column>
      <Name>NcDocbInnerCus</Name>
      <DataType>System.String</DataType>
      <IsKey>false</IsKey>
      <IsAllowNull>true</IsAllowNull>
      <ColumnSize>50</ColumnSize>
    </Column>
		<Sql>
			<Name>Select</Name>
			<String>select * from AccountSubject where  SubjectCode=@SubjectCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@SubjectCode</Name>
				<Column>SubjectCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAll</Name>
			<String>select * from AccountSubject</String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>Insert</Name>
			<String> Insert into AccountSubject (  ccode, ccode_name, igrade, bend, bproperty, bcus, NcDocbcus, bsup, NcDocbsup, bitem, NcDocbitem, AccountCode, parentcode, bdept, NcDocbdept, bcash, NcDocbcash, bBankAccount, NcDocbBankAccount, bProject, NcDocbProject, bContract, NcDocbContract, bInnerCus, NcDocbInnerCus ) values (  @ccode, @ccode_name, @igrade, @bend, @bproperty, @bcus, @NcDocbcus, @bsup, @NcDocbsup, @bitem, @NcDocbitem, @AccountCode, @parentcode, @bdept, @NcDocbdept, @bcash, @NcDocbcash, @bBankAccount, @NcDocbBankAccount, @bProject, @NcDocbProject, @bContract, @NcDocbContract, @bInnerCus, @NcDocbInnerCus )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ccode</Name>
				<Column>ccode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ccode_name</Name>
				<Column>ccode_name</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@igrade</Name>
				<Column>igrade</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bend</Name>
				<Column>bend</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bproperty</Name>
				<Column>bproperty</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bcus</Name>
				<Column>bcus</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbcus</Name>
				<Column>NcDocbcus</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bsup</Name>
				<Column>bsup</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbsup</Name>
				<Column>NcDocbsup</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bitem</Name>
				<Column>bitem</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbitem</Name>
				<Column>NcDocbitem</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@AccountCode</Name>
				<Column>AccountCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@parentcode</Name>
				<Column>parentcode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bdept</Name>
				<Column>bdept</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbdept</Name>
				<Column>NcDocbdept</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bcash</Name>
				<Column>bcash</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbcash</Name>
				<Column>NcDocbcash</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bBankAccount</Name>
				<Column>bBankAccount</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbBankAccount</Name>
				<Column>NcDocbBankAccount</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bProject</Name>
				<Column>bProject</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbProject</Name>
				<Column>NcDocbProject</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bContract</Name>
				<Column>bContract</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbContract</Name>
				<Column>NcDocbContract</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
      <Param>
        <Name>@bInnerCus</Name>
        <Column>bInnerCus</Column>
        <SqlDbType>Int</SqlDbType>
      </Param>
      <Param>
        <Name>@NcDocbInnerCus</Name>
        <Column>NcDocbInnerCus</Column>
        <SqlDbType>VarChar</SqlDbType>
      </Param>
		</Sql>
		<Sql>
			<Name>Update</Name>
			<String> Update AccountSubject set ccode=@ccode,ccode_name=@ccode_name,igrade=@igrade,bend=@bend,bproperty=@bproperty,bcus=@bcus,NcDocbcus=@NcDocbcus,bsup=@bsup,NcDocbsup=@NcDocbsup,bitem=@bitem,NcDocbitem=@NcDocbitem,AccountCode=@AccountCode,parentcode=@parentcode,bdept=@bdept,NcDocbdept=@NcDocbdept,bcash=@bcash,NcDocbcash=@NcDocbcash,bBankAccount=@bBankAccount,NcDocbBankAccount=@NcDocbBankAccount,bProject=@bProject,NcDocbProject=@NcDocbProject,bContract=@bContract,NcDocbContract=@NcDocbContract,bInnerCus=@bInnerCus,NcDocbInnerCus=@NcDocbInnerCus where  SubjectCode=@SubjectCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@SubjectCode</Name>
				<Column>SubjectCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@ccode</Name>
				<Column>ccode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ccode_name</Name>
				<Column>ccode_name</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@igrade</Name>
				<Column>igrade</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bend</Name>
				<Column>bend</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bproperty</Name>
				<Column>bproperty</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bcus</Name>
				<Column>bcus</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbcus</Name>
				<Column>NcDocbcus</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bsup</Name>
				<Column>bsup</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbsup</Name>
				<Column>NcDocbsup</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bitem</Name>
				<Column>bitem</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbitem</Name>
				<Column>NcDocbitem</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@AccountCode</Name>
				<Column>AccountCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@parentcode</Name>
				<Column>parentcode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@bdept</Name>
				<Column>bdept</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbdept</Name>
				<Column>NcDocbdept</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bcash</Name>
				<Column>bcash</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbcash</Name>
				<Column>NcDocbcash</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bBankAccount</Name>
				<Column>bBankAccount</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbBankAccount</Name>
				<Column>NcDocbBankAccount</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bProject</Name>
				<Column>bProject</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbProject</Name>
				<Column>NcDocbProject</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@bContract</Name>
				<Column>bContract</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@NcDocbContract</Name>
				<Column>NcDocbContract</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
      <Param>
        <Name>@bInnerCus</Name>
        <Column>bInnerCus</Column>
        <SqlDbType>Int</SqlDbType>
      </Param>
      <Param>
        <Name>@NcDocbInnerCus</Name>
        <Column>NcDocbInnerCus</Column>
        <SqlDbType>VarChar</SqlDbType>
      </Param>
		</Sql>
		<Sql>
			<Name>Delete</Name>
			<String> Delete from AccountSubject  where  SubjectCode=@SubjectCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@SubjectCode</Name>
				<Column>SubjectCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByAccountCode</Name>
			<String>select * from AccountSubject where AccountCode=@AccountCode </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@AccountCode</Name>
				<Column>AccountCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByAccountSubjectCode</Name>
			<String>select  * , (select count(*) from AccountSubject ChildSubject where ChildSubject.AccountCode = AccountSubject.AccountCode and ChildSubject.CCode like AccountSubject.CCode+'%' and ChildSubject.iGrade=AccountSubject.iGrade+1) as ChildNodesCount from AccountSubject where  AccountCode=@AccountCode and CCode=@CCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@AccountCode</Name>
				<Column>AccountCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@CCode</Name>
				<Column>CCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectChildSubject</Name>
			<String>select  * , (select count(*) from AccountSubject ChildSubject where ChildSubject.AccountCode = AccountSubject.AccountCode and ChildSubject.CCode like AccountSubject.CCode+'%' and ChildSubject.iGrade=AccountSubject.iGrade+1) as ChildNodesCount from AccountSubject where  AccountCode=@AccountCode and CCode like @CCode+'%' and iGrade=@iGrade </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@AccountCode</Name>
				<Column>AccountCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@CCode</Name>
				<Column>CCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@iGrade</Name>
				<Column>iGrade</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Order>
				<Name>CCode</Name>
				<Sort>ASC</Sort>
			</Order>
		</Sql>
		<Sql>
			<Name>SelectByparentcode</Name>
			<String>select * from AccountSubject where parentcode=@parentcode </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@parentcode</Name>
				<Column>parentcode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<!--
		<Sql>
			<Name>SelectBySubjectSet</Name>
			<String>select  * , (select count(*) from Subject ChildSubject where ChildSubject.SubjectSetCode = Subject.SubjectSetCode and ChildSubject.SubjectCode like Subject.SubjectCode+'%' and ChildSubject.Layer=Subject.Layer+1) as ChildNodesCount from Subject where SubjectSetCode=@SubjectSetCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@SubjectSetCode</Name>
				<Column>SubjectSetCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Order>
				<Name>SubjectCode</Name>
				<Sort>ASC</Sort>
			</Order>
		</Sql>
		-->
	</Table>
</Entity>