一、检查组分页
1.前端checkgroup.html检查组分页的执行流程
2.完善CheckGroupController
package com.oracle.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.oracle.constant.MessageConstant;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import com.oracle.service.CheckGroupService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/checkgroup")
public class CheckGroupController {
@Reference
CheckGroupService checkGroupService;
@RequestMapping("/findPage")
public PageResult findPageFromCheckGroup(@RequestBody QueryPageBean queryPageBean){
return checkGroupService.findPageFromCheckGroup(queryPageBean);
}
}
3.完善CheckGroupService接口
package com.oracle.service;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import java.util.List;
public interface CheckGroupService {
/*分页查询检查组*/
PageResult findPageFromCheckGroup(QueryPageBean queryPageBean);
}
4.完善CheckGroupServiceImpl实现类
package com.oracle.service;
import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.oracle.dao.CheckGroupDao;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service(interfaceClass = CheckGroupService.class)
@Transactional
public class CheckGroupServiceImpl implements CheckGroupService {
@Autowired
CheckGroupDao checkGroupDao;
@Override
public PageResult findPageFromCheckGroup(QueryPageBean queryPageBean) {
Integer currentPage = queryPageBean.getCurrentPage();
Integer pageSize = queryPageBean.getPageSize();
String queryString = queryPageBean.getQueryString();
PageHelper.startPage(currentPage,pageSize);
Page<CheckGroup> page = checkGroupDao.findByCondition(queryString);
return new PageResult(page.getTotal(),page);
}
}
5.完善CheckGroupDao接口
package com.oracle.dao;
import com.github.pagehelper.Page;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface CheckGroupDao {
/*分页查询检查组*/
Page<CheckGroup> findByCondition(String queryString);
}
6.完善CheckGroupDao.xml映射文件
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.oracle.dao.CheckGroupDao">
<!--分页查询检查组-->
<select id="findByCondition" parameterType="String" resultType="com.oracle.pojo.CheckGroup">
select * from t_checkgroup
<if test="value != null and value != '' and value.length > 0">
where code = #{value} or name = #{value} or helpCode = #{value}
</if>
</select>
</mapper>
7.测试检查组分页显示是否正常
二、新增检查组
- 当用户点击新建按钮之后弹出一个模态框,同时发出一个findAll的请求获取数据库中与检查组关联的所有的检查项的信息,当用户输入完检查组的基本信息并选择对应的检查项关联信息之后点击添加按钮
- 然后发送一个add的添加请求,这时请求到业务层时先将用户添加的检查组基本信息存入数据库中的t_checkgroup表中,然后再继续添加检查组和检查项之间的对应关系到t_checkgroup_checkitem表中
1.前端checkgroup.html新增检查组的执行流程
2.完善CheckGroupController
package com.oracle.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.oracle.constant.MessageConstant;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import com.oracle.service.CheckGroupService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/checkgroup")
public class CheckGroupController {
@Reference
CheckGroupService checkGroupService;
@RequestMapping("/findPage")
public PageResult findPageFromCheckGroup(@RequestBody QueryPageBean queryPageBean){
return checkGroupService.findPageFromCheckGroup(queryPageBean);
}
/*展示检查组的检查项信息*/
@RequestMapping("/findAll")
public Result findAllFromCheckItem(){
List<CheckItem> checkItemList=null;
try {
checkItemList = checkGroupService.findAllFromCheckItem();
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.QUERY_CHECKITEM_FAIL);
}
return new Result(true, MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItemList);
}
}
@RequestMapping("/add")
public Result addCheckGroup(@RequestBody CheckGroup checkGroup, Integer[] checkItemIds){
try {
System.out.println(checkItemIds);
checkGroupService.addCheckGroup(checkGroup,checkItemIds);
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.ADD_CHECKGROUP_FAIL);
}
return new Result(true, MessageConstant.ADD_CHECKGROUP_SUCCESS);
}
3.完善CheckGroupService接口
package com.oracle.service;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import java.util.List;
public interface CheckGroupService {
/*分页查询检查组*/
PageResult findPageFromCheckGroup(QueryPageBean queryPageBean);
/*点击新建之后展示检查组的检查项信息*/
List<CheckItem> findAllFromCheckItem();
/*新增检查组*/
void addCheckGroup(CheckGroup checkGroup, Integer[] checkItemIds);
}
4.完善CheckGroupServiceImpl实现类
package com.oracle.service;
import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.oracle.dao.CheckGroupDao;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service(interfaceClass = CheckGroupService.class)
@Transactional
public class CheckGroupServiceImpl implements CheckGroupService {
@Autowired
CheckGroupDao checkGroupDao;
@Override
public PageResult findPageFromCheckGroup(QueryPageBean queryPageBean) {
Integer currentPage = queryPageBean.getCurrentPage();
Integer pageSize = queryPageBean.getPageSize();
String queryString = queryPageBean.getQueryString();
PageHelper.startPage(currentPage,pageSize);
Page<CheckGroup> page = checkGroupDao.findByCondition(queryString);
return new PageResult(page.getTotal(),page);
}
@Override
public List<CheckItem> findAllFromCheckItem() {
return checkGroupDao.findAllFromCheckItem();
}
@Override
public void addCheckGroup(CheckGroup checkGroup, Integer[] checkItemIds) {
//新增检查组
checkGroupDao.addCheckGoup(checkGroup);
//将新增的检查组和检查项建立多对多的关系
Integer checkGroupId = checkGroup.getId();
this.setCheckGroupAndCheckItem(checkGroupId,checkItemIds);
}
/*建立检查组和检查项的关联关系*/
public void setCheckGroupAndCheckItem(Integer checkGroupId, Integer[] checkItemIds) {
if(checkItemIds!=null && checkItemIds.length > 0){
for (Integer checkItemId : checkItemIds) {
Map<String,Integer> map=new HashMap<>();
map.put("checkGroupId",checkGroupId);
map.put("checkItemId",checkItemId);
checkGroupDao.setCheckGroupAndCheckItem(map);
}
}
}
}
5.完善CheckGroupDao接口
package com.oracle.dao;
import com.github.pagehelper.Page;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface CheckGroupDao {
/*分页查询检查组*/
Page<CheckGroup> findByCondition(String queryString);
/*点击新建之后展示检查组的检查项信息*/
List<CheckItem> findAllFromCheckItem();
/*新增检查组*/
void addCheckGoup(CheckGroup checkGroup);
/*将<检查项,检查组>新增进关联表中*/
void setCheckGroupAndCheckItem(Map<String, Integer> map);
}
6.完善CheckGroupDao.xml映射文件
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.oracle.dao.CheckGroupDao">
<!--分页查询检查组-->
<select id="findByCondition" parameterType="String" resultType="com.oracle.pojo.CheckGroup">
select * from t_checkgroup
<if test="value != null and value != '' and value.length > 0">
where code = #{value} or name = #{value} or helpCode = #{value}
</if>
</select>
<!--查询所有的检查项-->
<select id="findAllFromCheckItem" resultType="com.oracle.pojo.CheckItem">
select * from t_checkitem
<if test="value !=null and value.length>0">
where code=#{value} or name=#{value}
</if>
</select>
<!--新增检查组信息-->
<insert id="addCheckGoup" parameterType="com.oracle.pojo.CheckGroup">
<selectKey resultType="Integer" order="AFTER" keyProperty="id">
select LAST_INSERT_ID()
</selectKey>
insert into t_checkgroup(code,name,helpCode,sex,remark,attention) values(#{code},#{name},#{helpCode},#{sex},#{remark},#{attention})
</insert>
<!--关联检查项-->
<insert id="setCheckGroupAndCheckItem" parameterType="map">
insert into t_checkgroup_checkitem(checkgroup_id,checkitem_id)
values
(#{checkGroupId},#{checkItemId})
</insert>
</mapper>
7.测试检查组分页显示是否正常
三、编辑检查组
1.前端checkgroup.html编辑检查组的执行流程
- 点击某个检查组的编辑按钮之后,弹出编辑模态框,同时发送三个请求:1.回显该检查组的基本信息,2.显示所有的检查项,3.在检查组对应的检查项的复选框回显
- 当用户修改完成之后,点击确定按钮,发送修改的请求到后台(携带检查组的所有信息和选择好的检查项的集合),后台将其封装到一个CheckGroup和一个Integer[]中
2.完善CheckGroupController
package com.oracle.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.oracle.constant.MessageConstant;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import com.oracle.service.CheckGroupService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/checkgroup")
public class CheckGroupController {
@Reference
CheckGroupService checkGroupService;
@RequestMapping("/findPage")
public PageResult findPageFromCheckGroup(@RequestBody QueryPageBean queryPageBean){
return checkGroupService.findPageFromCheckGroup(queryPageBean);
}
/*展示检查组的检查项信息*/
@RequestMapping("/findAll")
public Result findAllFromCheckItem(){
List<CheckItem> checkItemList=null;
try {
checkItemList = checkGroupService.findAllFromCheckItem();
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.QUERY_CHECKITEM_FAIL);
}
return new Result(true, MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItemList);
}
@RequestMapping("/add")
public Result addCheckGroup(@RequestBody CheckGroup checkGroup, Integer[] checkItemIds){
try {
System.out.println(checkItemIds);
checkGroupService.addCheckGroup(checkGroup,checkItemIds);
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.ADD_CHECKGROUP_FAIL);
}
return new Result(true, MessageConstant.ADD_CHECKGROUP_SUCCESS);
}
@RequestMapping("/findById")
public Result findById(Integer id){
CheckGroup checkGroup=null;
try {
checkGroup = checkGroupService.findById(id);
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.QUERY_CHECKGROUP_FAIL);
}
return new Result(true, MessageConstant.QUERY_CHECKGROUP_SUCCESS,checkGroup);
}
/*根据检查组ID查询检查组包含的多个检查项ID*/
@RequestMapping("/findCheckItemIdsByCheckGroupId")
public Result findCheckItemIdsByCheckGroupId(Integer id){
try{
List<Integer> checkitemIds = checkGroupService.findCheckItemIdsByCheckGroupId(id);
return new Result(true,MessageConstant.QUERY_CHECKITEM_SUCCESS,checkitemIds);//查询成功
}catch (Exception e){
e.printStackTrace();
return new Result(false, MessageConstant.QUERY_CHECKITEM_FAIL);//查询失败
}
}
@RequestMapping("/edit")
public Result editCheckGroup_Submit(@RequestBody CheckGroup checkGroup, Integer[] checkItemIds){
try {
checkGroupService.editCheckGroup_Submit(checkGroup,checkItemIds);
} catch (Exception e) {
e.printStackTrace();
return new Result(false, MessageConstant.EDIT_CHECKGROUP_FAIL);
}
return new Result(true, MessageConstant.EDIT_CHECKGROUP_SUCCESS);
}
}
2.完善CheckGroupService接口
package com.oracle.service;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.entity.Result;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import java.util.List;
public interface CheckGroupService {
/*分页查询检查组*/
PageResult findPageFromCheckGroup(QueryPageBean queryPageBean);
/*点击新建之后展示检查组的检查项信息*/
List<CheckItem> findAllFromCheckItem();
/*新增检查组*/
void addCheckGroup(CheckGroup checkGroup, Integer[] checkItemIds);
/*打开编辑之后的数据回显*/
CheckGroup findById(Integer id);
/*根据检查组的id*/
List<Integer> findCheckItemIdsByCheckGroupId(Integer id);
/*提交编辑之后的检查组*/
void editCheckGroup_Submit(CheckGroup checkGroup, Integer[] checkItemIds);
}
3.完善CheckGroupServiceImpl实现类
package com.oracle.service;
import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.oracle.dao.CheckGroupDao;
import com.oracle.entity.PageResult;
import com.oracle.entity.QueryPageBean;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service(interfaceClass = CheckGroupService.class)
@Transactional
public class CheckGroupServiceImpl implements CheckGroupService {
@Autowired
CheckGroupDao checkGroupDao;
@Override
public PageResult findPageFromCheckGroup(QueryPageBean queryPageBean) {
Integer currentPage = queryPageBean.getCurrentPage();
Integer pageSize = queryPageBean.getPageSize();
String queryString = queryPageBean.getQueryString();
PageHelper.startPage(currentPage,pageSize);
Page<CheckGroup> page = checkGroupDao.findByCondition(queryString);
return new PageResult(page.getTotal(),page);
}
@Override
public List<CheckItem> findAllFromCheckItem() {
return checkGroupDao.findAllFromCheckItem();
}
@Override
public void addCheckGroup(CheckGroup checkGroup, Integer[] checkItemIds) {
//新增检查组
checkGroupDao.addCheckGoup(checkGroup);
//将新增的检查组和检查项建立多对多的关系
Integer checkGroupId = checkGroup.getId();
this.setCheckGroupAndCheckItem(checkGroupId,checkItemIds);
}
/*建立检查组和检查项的关联关系*/
public void setCheckGroupAndCheckItem(Integer checkGroupId, Integer[] checkItemIds) {
if(checkItemIds!=null && checkItemIds.length > 0){
for (Integer checkItemId : checkItemIds) {
Map<String,Integer> map=new HashMap<>();
map.put("checkGroupId",checkGroupId);
map.put("checkItemId",checkItemId);
checkGroupDao.setCheckGroupAndCheckItem(map);
}
}
}
@Override
public CheckGroup findById(Integer id) {
return checkGroupDao.findById(id);
}
@Override
public List<Integer> findCheckItemIdsByCheckGroupId(Integer id) {
return checkGroupDao.findCheckItemIdsByCheckGroupId(id);
}
@Override
public void editCheckGroup_Submit(CheckGroup checkGroup, Integer[] checkItemIds) {
//修改检查组基本信息,操作检查组t_checkgroup表
checkGroupDao.editCheckGroup_Submit(checkGroup);
//清理当前检查组关联的检查项,操作中间关系表t_checkgroup_checkitem表
checkGroupDao.deleteAssocication(checkGroup.getId());
//重新建立当前检查组和检查项的关联关系
Integer checkGroupId = checkGroup.getId();
this.setCheckGroupAndCheckItem(checkGroupId,checkItemIds);
}
}
4.完善CheckGroupDao接口
package com.oracle.dao;
import com.github.pagehelper.Page;
import com.oracle.pojo.CheckGroup;
import com.oracle.pojo.CheckItem;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface CheckGroupDao {
/*分页查询检查组*/
Page<CheckGroup> findByCondition(String queryString);
/*点击新建之后展示检查组的检查项信息*/
List<CheckItem> findAllFromCheckItem();
/*新增检查组*/
void addCheckGoup(CheckGroup checkGroup);
/*将<检查项,检查组>新增进关联表中*/
void setCheckGroupAndCheckItem(Map<String, Integer> map);
/*打开编辑之后的数据回显*/
CheckGroup findById(Integer id);
/*根据检查组的id查询对应的检查项的id的集合*/
List<Integer> findCheckItemIdsByCheckGroupId(Integer id);
/*提交编辑之后的检查组基本信息*/
void editCheckGroup_Submit(CheckGroup checkGroup);
/*删除关联表中的关联数据*/
void deleteAssocication(Integer id);
}
5.完善CheckGroupDao.xml映射文件
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.oracle.dao.CheckGroupDao">
<!--分页查询检查组-->
<select id="findByCondition" parameterType="String" resultType="com.oracle.pojo.CheckGroup">
select * from t_checkgroup
<if test="value != null and value != '' and value.length > 0">
where code = #{value} or name = #{value} or helpCode = #{value}
</if>
</select>
<!--查询所有的检查项-->
<select id="findAllFromCheckItem" resultType="com.oracle.pojo.CheckItem">
select * from t_checkitem
<if test="value !=null and value.length>0">
where code=#{value} or name=#{value}
</if>
</select>
<!--新增检查组信息-->
<insert id="addCheckGoup" parameterType="com.oracle.pojo.CheckGroup">
<selectKey resultType="Integer" order="AFTER" keyProperty="id">
select LAST_INSERT_ID()
</selectKey>
insert into t_checkgroup(code,name,helpCode,sex,remark,attention) values(#{code},#{name},#{helpCode},#{sex},#{remark},#{attention})
</insert>
<!--关联检查项-->
<insert id="setCheckGroupAndCheckItem" parameterType="map">
insert into t_checkgroup_checkitem(checkgroup_id,checkitem_id)
values
(#{checkGroupId},#{checkItemId})
</insert>
<!--点击编辑之后根据检查组的id查询到对应的检查项的id-->
<select id="findCheckItemIdsByCheckGroupId" parameterType="int" resultType="int">
select checkitem_id from t_checkgroup_checkitem where checkgroup_id = #{id}
</select>
<!--点击编辑之后的数据回显-->
<select id="findById" parameterType="int" resultType="com.oracle.pojo.CheckGroup">
select * from t_checkgroup where id = #{id}
</select>
<!--根据ID动态修改检查组相关字段-->
<update id="editCheckGroup_Submit" parameterType="com.oracle.pojo.CheckGroup">
update t_checkgroup
<set>
<if test="name != null">
name = #{name},
</if>
<if test="sex != null">
sex = #{sex},
</if>
<if test="code != null">
code = #{code},
</if>
<if test="helpCode != null">
helpCode = #{helpCode},
</if>
<if test="attention != null">
attention = #{attention},
</if>
<if test="remark != null">
remark = #{remark},
</if>
</set>
where id = #{id}
</update>
<!--根据检查组ID清理关联的检查项信息,操作的表t_checkgroup_checkitem-->
<delete id="deleteAssocication" parameterType="Integer">
delete from t_checkgroup_checkitem where checkgroup_id = #{id}
</delete>
</mapper>
6.测试编辑检查组是否正常