package com.ycsoft.business.component.system;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
import com.ycsoft.beans.system.SDeptAddr;
import com.ycsoft.beans.system.SDeptBusicode;
import com.ycsoft.beans.system.SOptr;
import com.ycsoft.beans.system.SResource;
import com.ycsoft.business.commons.abstracts.BaseBusiComponent;
import com.ycsoft.business.dao.system.SBulletinDao;
import com.ycsoft.business.dao.system.SDeptAddrDao;
import com.ycsoft.business.dao.system.SItemvalueDao;
import com.ycsoft.business.dao.system.SOptrDao;
import com.ycsoft.business.dao.system.SOptrRoleDao;
import com.ycsoft.business.dao.system.SResourceDao;
import com.ycsoft.business.dao.system.SdeptBusicodeDao;
import com.ycsoft.business.dto.system.OptrDto;
import com.ycsoft.commons.constants.SystemConstants;
import com.ycsoft.commons.exception.ComponentException;
import com.ycsoft.commons.helper.MD5;
import com.ycsoft.commons.helper.StringHelper;
import com.ycsoft.daos.core.JDBCException;
import com.ycsoft.daos.core.Pager;
import com.ycsoft.sysmanager.dto.system.SBulletinDto;
import com.ycsoft.sysmanager.dto.system.SRoleDto;
/**
*
* 首页显示的管理器
*
* @author hh
* @date Dec 29, 2009 4:02:49 PM
*/
@Component
public class IndexComponent extends BaseBusiComponent {
private SResourceDao sResourceDao;
private SOptrDao sOptrDao;
private SOptrRoleDao sOptrRoleDao;
private SBulletinDao sBulletinDao;
private SdeptBusicodeDao sdeptBusicodeDao;
private SDeptAddrDao sDeptAddrDao;
public List<OptrDto> queryBusiOptr() throws Exception {
return sOptrDao.queryBusiOptrByCountyId(getOptr().getCounty_id());
// String dataRight ="";
// try {
// dataRight = this.queryDataRightCon(getOptr(), DataRight.BUSI_OPTR.toString());
// } catch (Exception e) {
// return null;
// }
// if (DataRightLevel.DEPT.toString().equals(dataRight)){
// return sOptrDao.queryOptrByDept(getOptr().getDept_id());
// } else if(DataRightLevel.COUNTY.toString().equals(dataRight)) {
// return sOptrDao.queryOptrByCountyId(getOptr().getCounty_id());
// } else if(DataRightLevel.OPTR.toString().equals(dataRight)) {
// return sOptrDao.queryOptrByOptr(getOptr().getOptr_id());
// }else if(DataRightLevel.ALL.toString().equals(dataRight)) {
// return sOptrDao.queryOptrByAll();
// }else{
// return null;
// }
}
/**
* 检查指定的操作员是否存在
*
* @param optr
*/
public SOptr checkOptrExists(String loginName, String password) throws Exception {
SOptr _o = sOptrDao.isExists(loginName,password);
if (null == _o) {
return null;
}
return _o;
}
public boolean updateOptrData(String optrId,String password,String subSystemId) throws Exception{
List<SOptr> optrList = sOptrDao.getSameOptrById(optrId);
for(SOptr optrDto :optrList){
SOptr soptr = new SOptr();
soptr.setOptr_id(optrDto.getOptr_id());
int sues = -1;
if (StringHelper.isNotEmpty(password)) {
soptr.setPassword(MD5.EncodePassword(password));
}
if (StringHelper.isNotEmpty(subSystemId)) {
soptr.setLogin_sys_id(subSystemId);
}
sues = sOptrDao.update(soptr)[0];
if (sues>=0 || sues == -2){
continue;
}else{
return false;
}
}
return true ;
}
public List<SRoleDto> querySubSystemByOptrId(String optrId) throws Exception {
List<SRoleDto> list = sOptrRoleDao.queryOptrRole(optrId);
if (list.size()>0) {
for (int i = list.size() - 1; i >= 0; i--) {
boolean ck = false;
if (StringHelper.isEmpty(list.get(i).getSub_system_id())) {
ck = true;
}
if (ck) {
list.remove(i);
}
}
}else{
throw new ComponentException("操作员的配置存在问题,角色中不存在子系统!");
}
return list;
}
/**
*
* @return
*/
public Pager<SBulletinDto> queryBulletinByOptrId(Integer start,Integer limit,SOptr optr) throws JDBCException {
Pager<SBulletinDto> pager = sBulletinDao.queryByOptrId(start, limit,optr.getOptr_id(),optr.getDept_id());
List<String> ids = new ArrayList<String>();
List<SBulletinDto> result = new ArrayList<SBulletinDto>();
List<SBulletinDto> records = pager.getRecords();
for(SBulletinDto bul :records){
if(!ids.contains(bul.getBulletin_id())){
ids.add(bul.getBulletin_id());
result.add(bul);
}
}
pager.setRecords(result);
return pager;
}
/**
*
* @return
*/
public SBulletinDto queryUnCheckByOptrId(String optrId) throws JDBCException {
return sBulletinDao.queryUnCheckByOptrId(optrId);
}
/**
* 加载资源菜单 busi子系统
*
* @return
*/
public List<SResource> findResource() throws Exception {
return sResourceDao.findResource(getOptr().getOptr_id(),
SystemConstants.SUB_SYSTEM_BUSI);
}
/**
* @param acctDate
* @param optrId
*/
public void checkUserCount(String acctDate, String addrIds) throws Exception {
sOptrDao.checkUserCount(acctDate,addrIds,getOptr().getOptr_id(),getOptr().getDept_id());
}
/**
* @param acctDate
* @param optrId
*/
public void checkDeviceCount(String acctDate, String optrId,String deptId) {
sOptrDao.checkDeviceCount(acctDate,optrId,deptId);
}
/**
* @param bulletinId
* @return
*/
public void checkBulletin(String bulletinId,String optrId) throws JDBCException {
sBulletinDao.checkBulletin(bulletinId, optrId);
}
/**
* @param dept_id
* @return
*/
public List<SDeptBusicode> queryDeptBusiCode(String dept_id) throws Exception{
return sdeptBusicodeDao.queryDeptBusiCodes(dept_id);
}
public List<SDeptAddr> queryDeptAddress(String county_id) throws Exception{
return sDeptAddrDao.queryDeptAddressByCountyId(county_id);
}
public SResourceDao getSResourceDao() {
return sResourceDao;
}
public void setSResourceDao(SResourceDao resourceDao) {
sResourceDao = resourceDao;
}
public SOptrDao getSOptrDao() {
return sOptrDao;
}
public void setSOptrDao(SOptrDao optrDao) {
sOptrDao = optrDao;
}
/**
* @param itemvalueDao the sItemvalueDao to set
*/
public void setSItemvalueDao(SItemvalueDao itemvalueDao) {
sItemvalueDao = itemvalueDao;
}
public SOptrRoleDao getSOptrRoleDao() {
return sOptrRoleDao;
}
public void setSOptrRoleDao(SOptrRoleDao optrRoleDao) {
sOptrRoleDao = optrRoleDao;
}
/**
* @param bulletinDao the sBulletinDao to set
*/
public void setSBulletinDao(SBulletinDao bulletinDao) {
sBulletinDao = bulletinDao;
}
public void setSdeptBusicodeDao(SdeptBusicodeDao sdeptBusicodeDao) {
this.sdeptBusicodeDao = sdeptBusicodeDao;
}
public void setSDeptAddrDao(SDeptAddrDao sDeptAddrDao) {
this.sDeptAddrDao = sDeptAddrDao;
}
}