package org.csu.pms.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.csu.pms.dao.AdviceDao;
import org.csu.pms.dao.CarDao;
import org.csu.pms.dao.ConsumeDao;
import org.csu.pms.dao.HouseDao;
import org.csu.pms.dao.HouseTypeDao;
import org.csu.pms.dao.NoticeDao;
import org.csu.pms.dao.RepairDao;
import org.csu.pms.dao.UserDao;
import org.csu.pms.domain.Advice;
import org.csu.pms.domain.Car;
import org.csu.pms.domain.Consume;
import org.csu.pms.domain.House;
import org.csu.pms.domain.HouseType;
import org.csu.pms.domain.Notice;
import org.csu.pms.domain.PageVO;
import org.csu.pms.domain.Repair;
import org.csu.pms.domain.User;
import org.csu.pms.service.PmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sun.org.apache.bcel.internal.generic.RETURN;
@Service("pmsService")
public class PmsServiceImpl implements PmsService{
@Autowired
private UserDao userDao;
@Autowired
private NoticeDao noticeDao;
@Autowired
private ConsumeDao consumeDao;
@Autowired
private RepairDao repairDao;
@Autowired
private AdviceDao adviceDao;
@Autowired
private HouseDao houseDao;
@Autowired
private CarDao carDao;
@Autowired
private HouseTypeDao houseTypeDao;
@Override
public User login(String userId, String password) {
// TODO Auto-generated method stub
return userDao.selectByUserIdAndPassword(userId, password);
}
@Override
public PageVO<Notice> listNotice(int pageNo, int rowMax) {
// TODO Auto-generated method stub
PageVO<Notice> page = new PageVO<Notice>();
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
int flag=noticeDao.countAll();
page.setTotal(flag);
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
List<Notice> lst = noticeDao.selectAll(start, rowMax);
page.setRows(lst);
return page;
}
@Override
public Notice selectNewsItem(String noticeTitle) {
// TODO Auto-generated method stub
return noticeDao.selectNewsItem(noticeTitle);
}
@Override
public List<Notice> selectTopThree() {
// TODO Auto-generated method stub
return noticeDao.selectTopThree();
}
@Override
public List<Notice> getNoticeTwo() {
// TODO Auto-generated method stub
return noticeDao.getNoticeTwo();
}
@Override
public Notice getMissing() {
// TODO Auto-generated method stub
return noticeDao.getMissing();
}
@Override
public PageVO<User> listUser(User user, int pageNo, int rowMax) {
PageVO<User> page = new PageVO<User>();
Map<String,Object> params = new HashMap<>();
params.put("user", user);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(userDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
params.put("start", start);
params.put("rowMax", rowMax);
List<User> lst = userDao.selectByPage(params);
page.setRows(lst);
return page;
}
@Override
public User findUserById(String userId) {
return userDao.selectByUserId(userId);
}
@Override
public void removeUserById(String userId) {
userDao.deleteByUserId(userId);
}
@Override
public void modifyUser(User user) {
userDao.update(user);
}
@Override
public void addUser(User user) {
userDao.save(user);
}
@Override
public PageVO<Consume> listConsume(Consume consume, int pageNo, int rowMax) {
PageVO<Consume> page = new PageVO<Consume>();
Map<String,Object> params = new HashMap<>();
params.put("consume", consume);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(consumeDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
params.put("start", start);
params.put("rowMax", rowMax);
List<Consume> lst = consumeDao.selectByPage(params);
page.setRows(lst);
return page;
}
@Override
public void addConsume(Consume consume) {
consumeDao.save(consume);
}
@Override
public
PageVO<Notice> listNotice(Notice notice, int pageNo, int rowMax) {
PageVO<Notice> page = new PageVO<Notice>();
Map<String,Object> params = new HashMap<>();
params.put("notice", notice);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(noticeDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
params.put("start", start);
params.put("rowMax", rowMax);
List<Notice> lst = noticeDao.selectByPage(params);
page.setRows(lst);
return page;
}
@Override
public void addNotice(Notice notice) {
noticeDao.save(notice);
}
@Override
public PageVO<Repair> listRepair(Repair repair, int pageNo, int rowMax) {
PageVO<Repair> page = new PageVO<Repair>();
Map<String,Object> params = new HashMap<>();
params.put("repair", repair);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(repairDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
params.put("start", start);
params.put("rowMax", rowMax);
List<Repair> lst = repairDao.selectByPage(params);
page.setRows(lst);
return page;
}
@Override
public void addRepair(Repair repair) {
repairDao.save(repair);
}
@Override
public PageVO<Advice> listAdvice(Advice advice, int pageNo, int rowMax) {
PageVO<Advice> page = new PageVO<Advice>();
Map<String,Object> params = new HashMap<>();
params.put("advice", advice);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(adviceDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.setCurrent(pageNo);
int start = (pageNo - 1) * rowMax;
params.put("start", start);
params.put("rowMax", rowMax);
List<Advice> lst = adviceDao.selectByPage(params);
page.setRows(lst);
return page;
}
@Override
public void addAdvice(Advice advice) {
adviceDao.save(advice);
}
@Override
public PageVO<House> listHouse(House house, int pageNo, int rowMax) {
PageVO<House> page = new PageVO<House>();
Map<String,Object> params = new HashMap<>();
params.put("house", house);
if (pageNo < 1) {
pageNo = 1;
}
if (rowMax < 1) {
rowMax = 1;
}
page.setRowMax(rowMax);
page.setTotal(houseDao.count(params));
if (page.getTotal() == 0) {
return null;
}
page.setPageMax((page.getTotal() - 1)/rowMax + 1);
if (pageNo > page.getPageMax()) {
pageNo = page.getPageMax();
}
page.