<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Service.BO" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="UserInfo" type="Service.BO.UserInfo, Service" />
</alias>
<resultMaps>
<resultMap id="UserInfoResult" class="UserInfo">
<result property="ID" column="ID" />
<result property="Name" column="Name" />
<result property="Password" column="Password" />
<result property="ShortName" column="ShortName" />
<result property="Sex" column="Sex" />
<result property="BirthDate" column="BirthDate" />
<result property="Duty" column="Duty" />
<result property="OfficialPhone" column="OfficialPhone" />
<result property="Fax" column="Fax" />
<result property="MobilePhone" column="MobilePhone" />
<result property="Email" column="Email" />
<result property="Sequence" column="Sequence" />
<result property="IsDirector" column="IsDirector" />
<result property="Remark" column="Remark" />
<result property="Flag" column="Flag" />
<result property="DepartmentCode" column="DepartmentCode" />
<result property="InfoCheckedNumber" column="InfoCheckedNumber" />
<result property ="Popedom" lazyLoad="true" select="SelectPopedomById" column="ID" ></result>
<result property="DealerInfo" lazyLoad="false" select="SelectDealerInfo" column="DepartmentCode" />
</resultMap>
</resultMaps>
<statements>
<select id="SelectUserInfo" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
<dynamic prepend="WHERE">
<isParameterPresent>
ID = #value#
</isParameterPresent>
</dynamic>
Order by Id
</select>
<select id="SelectUserInfoByShortName" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
<dynamic prepend="WHERE">
<isParameterPresent>
ShortName = #value#
</isParameterPresent>
</dynamic>
</select>
<select id="SelectUserInfoByName" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
<dynamic prepend="WHERE">
<isParameterPresent>
Name = #value#
</isParameterPresent>
</dynamic>
</select>
<select id="SelectAllUserInfo" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
</select>
<select id="SelectUserByDepCode" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
<dynamic prepend="WHERE">
<isParameterPresent>
DepartmentCode = #value#
</isParameterPresent>
</dynamic>
order by Sequence
</select>
<select id="SelectChildUserByCode" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
<dynamic prepend="WHERE">
<isParameterPresent>
DepartmentCode like #value#
</isParameterPresent>
</dynamic>
order by Sequence
</select>
<insert id="InsertUserInfo" parameterClass="UserInfo">
insert into UserInfo (ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber)
values
(#ID#, #Name#, #Password#, #ShortName#, #Sex#, #BirthDate#, #Duty#,#OfficialPhone#,#Fax#, #MobilePhone#, #Email#, #Sequence#, #IsDirector#, #Remark#, #Flag#, #DepartmentCode#,#InfoCheckedNumber#)
</insert>
<update id="UpdateUserInfo" parameterClass="UserInfo">
update UserInfo set
Name = #Name#,
Password = #Password#,
ShortName = #ShortName#,
Sex = #Sex#,
BirthDate = #BirthDate#,
Duty = #Duty#,
OfficialPhone = #OfficialPhone#,
Fax = #Fax#,
MobilePhone = #MobilePhone#,
Email = #Email#,
Sequence = #Sequence#,
IsDirector = #IsDirector#,
Remark = #Remark#,
Flag = #Flag#,
DepartmentCode = #DepartmentCode#,
InfoCheckedNumber = #InfoCheckedNumber#
where ID = #ID#
</update>
<update id="UpdateCurrentUserInfo" parameterClass="UserInfo">
update UserInfo set
Name = #Name#,
Password = #Password#,
ShortName = #ShortName#,
Sex = #Sex#,
BirthDate = #BirthDate#,
Duty = #Duty#,
OfficialPhone = #OfficialPhone#,
Fax = #Fax#,
MobilePhone = #MobilePhone#,
Email = #Email#,
Remark = #Remark#
where ID = #ID#
</update>
<delete id="DeleteUserInfo" parameterClass="string">
delete from UserInfo
where ID = #value#
</delete>
<!--自定义方法-->
<select id="SelectSuperUser" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -2
order by Sequence
</select>
<select id="SelectNormalUser" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -1
order by Sequence
</select>
<select id="Select3User" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -3
order by Sequence
</select>
<select id="Select4User" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -4
order by Sequence
</select>
<select id="Select5User" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -5
order by Sequence
</select>
<select id="Select6User" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode = -6
order by Sequence
</select>
<select id="SelectDealerUser" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where DepartmentCode != -2 and DepartmentCode != -1
order by Sequence
</select>
<select id="SelectByShortName" parameterClass="string" resultMap="UserInfoResult">
select ID, Name, Password, ShortName, Sex, BirthDate, Duty, OfficialPhone, Fax, MobilePhone, Email, Sequence, IsDirector, Remark, Flag, DepartmentCode, InfoCheckedNumber
from UserInfo
where ShortName = #value#
</select>
<select id="SelectPopedomById" parameterClass="string" resultClass="Service.BO.Popedom">
SELECT DISTINCT
mobile.Popedom.PopedomName, mobile.Popedom.PopedomUrl, mobile.Popedom.Id,
mobile.Popedom.PicUrl
FROM mobile.Popedom INNER JOIN
UserInfo INNER JOIN
RoleUser ON UserInfo.ID = RoleUser.UserId INNER JOIN
RolePopedom ON RoleUser.RoleId = RolePopedom.RoleId ON
mobile.Popedom.Id = RolePopedom.PopedomId
WHERE (UserInfo.ID = #value#)
ORDER BY mobile.Popedom.Id
</select>
</statements>
</sqlMap>