一个学生含有多个奖项,一个奖项分配给多个学生(多对多)。一对一,奖项名称通过状态表获得。
people_status:
对学生的奖项进行增加修改删除。
增加某个学生的奖项,就是在people_status表中增加一条记录 。其他同理.
sql:
<select id="getAwardList" parameterClass="youth" resultClass="com.fjxhx.business.people.model.YouthModel">
$pageBegin$
select a.id,a.name,a.identityId,a.tel,a.email,a.nation,
a.projectDiscribe,a.feature,a.applyDate,a.fundedDate,a.fundedMoney,a.applyTime,a.equipDate,a.trainRecord,
a.helpYear,a.teacherId,
getAwardName(a.id) as youthAward,
getTeacherName(a.teacherId) as teacherNameTree,
o.orgName AS projectPlace,
(select b.value from b_status b where b.content=a.isDisable and b.code='yn') as isDisable,
(select b.value from b_status b where b.content=a.isUndergrate and b.code='yn') as isUndergrate,
(select b.value from b_status b where b.content=a.sex and b.code='sex') as sex,
(select b.value from b_status b where b.content=a.projectCode and b.code='project_industry') as projectCode,
(select b.value from b_status b where b.content=a.hkType and b.code='hkType') as hkType,
(select b.value from b_status b where b.content=a.education and b.code='youth_education') as education
from ybc_youth a,ybc_org o where a.projectPlace=o.orgCode
<dynamic prepend="and">
<isNotEmpty prepend="and" property="projectPlace">
projectPlace = #projectPlace#
</isNotEmpty>
<isNotEmpty prepend="and " property="name">
name like concat('%', #name#, '%')
</isNotEmpty>
<isNotEmpty prepend="and" property="tel">
tel like concat('%', #tel#, '%')
</isNotEmpty>
<isNotEmpty prepend="and" property="apply_beginTime" >
<![CDATA[ applyDate >= #apply_beginTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="apply_endTime" >
<![CDATA[ applyDate <= #apply_endTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="funded_beginTime" >
<![CDATA[ fundedDate >= #funded_beginTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="funded_endTime" >
<![CDATA[ fundedDate <= #funded_endTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="statusContent">
a.id in(SELECT s.peopleId FROM ybc_people_status s WHERE s.statusCode='youth_award' AND s.statusContent=#statusContent#)
</isNotEmpty>
</dynamic>
$pageEnd$
</select>
<select id="getAwardAddList" parameterClass="youth" resultClass="com.fjxhx.business.people.model.YouthModel">
$pageBegin$
select a.id,a.name,a.identityId,a.tel,a.email,a.nation,
a.projectDiscribe,a.feature,a.applyDate,a.fundedDate,a.fundedMoney,a.applyTime,a.equipDate,a.trainRecord,
a.helpYear,a.teacherId,
getAwardName(a.id) as youthAward,
getTeacherName(a.teacherId) as teacherNameTree,
o.orgName AS projectPlace,
(select b.value from b_status b where b.content=a.isDisable and b.code='yn') as isDisable,
(select b.value from b_status b where b.content=a.isUndergrate and b.code='yn') as isUndergrate,
(select b.value from b_status b where b.content=a.sex and b.code='sex') as sex,
(select b.value from b_status b where b.content=a.projectCode and b.code='project_industry') as projectCode,
(select b.value from b_status b where b.content=a.hkType and b.code='hkType') as hkType,
(select b.value from b_status b where b.content=a.education and b.code='youth_education') as education
from ybc_youth a,ybc_org o where a.projectPlace=o.orgCode
<dynamic prepend="and">
<isNotEmpty prepend="and" property="projectPlace">
projectPlace = #projectPlace#
</isNotEmpty>
<isNotEmpty prepend="and " property="name">
name like concat('%', #name#, '%')
</isNotEmpty>
<isNotEmpty prepend="and" property="tel">
tel like concat('%', #tel#, '%')
</isNotEmpty>
<isNotEmpty prepend="and" property="apply_beginTime" >
<![CDATA[ applyDate >= #apply_beginTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="apply_endTime" >
<![CDATA[ applyDate <= #apply_endTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="funded_beginTime" >
<![CDATA[ fundedDate >= #funded_beginTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="funded_endTime" >
<![CDATA[ fundedDate <= #funded_endTime# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="statusContent">
a.id not in(SELECT s.peopleId FROM ybc_people_status s WHERE s.statusCode='youth_award' AND s.statusContent=#statusContent#)
</isNotEmpty>
</dynamic>
$pageEnd$
</select>
<insert id="add_people_status" parameterClass="com.fjxhx.business.people.model.YouthModel" >
insert into ybc_people_status (peopleId,statusCode,statusContent)
values(#peopleId#,'youth_award',#statusContent#)
</insert>
<delete id="del_people_status" parameterClass="com.fjxhx.business.people.model.YouthModel">
delete from ybc_people_status where peopleId=#peopleId# and statusCode='youth_award'
and statusContent=#statusContent#
</delete>
java:
public void getAwardList() {
model.setFisrtRow((model.getPage() - 1) * model.getRows());
model.setLastRow(model.getRows());
try {
BaseDao dao = getDao();
List<YouthModel> peopleIds = dao.selectForList(
"youth.getAwardList", model);
HashMap<String, Object> hm = new HashMap<String, Object>();
hm.put("total", peopleIds.size());
hm.put("rows", peopleIds);
hm.put("success", true);
this.doResponseWithJson(hm);
} catch (Exception e) {
e.printStackTrace();
this.setData("操作失败");
this.setSuccess(false);
this.send();
}
}
public void getAwardAddList() {
model.setFisrtRow((model.getPage() - 1) * model.getRows());
model.setLastRow(model.getRows());
try {
BaseDao dao = getDao();
List<YouthModel> peopleIds = dao.selectForList(
"youth.getAwardAddList", model);
HashMap<String, Object> hm = new HashMap<String, Object>();
hm.put("total", peopleIds.size());
hm.put("rows", peopleIds);
hm.put("success", true);
this.doResponseWithJson(hm);
} catch (Exception e) {
e.printStackTrace();
this.setData("操作失败");
this.setSuccess(false);
this.send();
}
}
public void addAwardConfig() {
try {
BaseDao dao = getDao();
String peopleId[] = model.getPeopleId().split(",");
for (int i = 0; i < peopleId.length; i++) {
YouthModel temp = new YouthModel();
temp.setPeopleId(peopleId[i]);
temp.setStatusContent(model.getStatusContent());
dao.insertSql("youth.add_people_status", temp);
}
} catch (Exception e) {
e.printStackTrace();
this.setData("操作失败");
this.setSuccess(false);
this.send();
}
}
public void removeAwardConfig() {
try {
BaseDao dao = getDao();
String peopleId[] = model.getPeopleId().split(",");
for (int i = 0; i < peopleId.length; i++) {
YouthModel temp = new YouthModel();
temp.setPeopleId(peopleId[i]);
temp.setStatusContent(model.getStatusContent());
dao.insertSql("youth.del_people_status", temp);
}
} catch (Exception e) {
e.printStackTrace();
this.setData("操作失败");
this.setSuccess(false);
this.send();
}
}