📄 contactmgrimpl.java
字号:
fields.add(o);
System.out.println(o);
}
return fields;
}
return null;
}
//获得分页显示类
public PageController getPageController(int currentPage, HttpSession session) throws ApplicationException{
try{
List contacts = (List)session.getAttribute("contacts");
//2009-02-25 add
int pageCount = (Integer)session.getAttribute("pageCount");
//end add
logger.debug("当前页:"+currentPage+"有几条记录2:"+contacts.size());
PageController pageController = new PageController(null, pageCount, currentPage, Constants.PAGE_SEARCH_COUNT, contacts);
pageController.setCurrentItems(currentPage);
System.out.println("当前数据"+pageController.getCurrentItems());
pageController.setPageBar();
//2009-02-25 add
if(session.getAttribute("pageCount") != null){
session.removeAttribute("pageCount");
}
if(session.getAttribute("customers") != null){
session.removeAttribute("customers");
}
//end add
return pageController;
}catch(Exception e){
throw new ApplicationException(Constants.XPAGEEXCEPTION);
}
}
//将值转换字段
public String getStringByField(String fieldInt){
int field = Integer.parseInt(fieldInt);
String str = "";
switch(field){
case 1: str = "name";
break;
case 2: str = "domicile";
break;
case 3: str = "satulation";
break;
case 4: str = "customerName";
break;
case 5: str = "sex";
break;
case 6: str = "education";
break;
case 7: str = "birthday";
break;
case 8: str = "position";
break;
case 9: str = "departMent";
break;
case 10: str = "assistant";
break;
case 11: str = "assiPhone";
break;
case 12: str = "comPhone";
break;
case 13: str = "contactPhone";
break;
case 14: str = "email";
break;
case 15: str = "msn";
break;
case 16: str = "fax";
break;
case 17: str = "homeAddr";
break;
case 18: str = "homePhone";
break;
case 19: str = "mateName";
break;
case 20: str = "characters";
break;
case 21: str = "wineHabit";
break;
case 22: str = "entertainment";
break;
case 23: str = "interests";
break;
}
return str;
}
//删除联系人
public boolean deleteContact(int contactId)throws ApplicationException{
try{
CustomerContact contact = contactDao.getById(contactId);
contactDao.delete(contact);
}catch(Exception e){
throw new ApplicationException(Constants.DELETECUSTOMEREXCEPTION);
}
return true;
}
//根据id搜索客户选项
public UserDefined getUserDefinedById(int optionId) throws ApplicationException{
try{
return contactDao.getUserDefinedById(optionId);
}catch(Exception e){
throw new ApplicationException(Constants.SEARCHOPTIONEXCEPTION);
}
}
//将客户选项po封装成vo
public ContactDefinedVo transaformCustomerDefinedPoToVo(UserDefined userDefined) throws ApplicationException{
ContactDefinedVo cdVo = null;
if(userDefined != null){
List<UserFilter> userFilters = contactDao.getUserFilterByOption(userDefined);
UserField userField = contactDao.getUserFieldByOption(userDefined);//搜索显示字段
List<String> preField = new ArrayList<String>();
String[] fieldArray = userField.getFieldName().split(",");//将显示字段转换成数组
for(String o : fieldArray){//搜索用户自定义客户字段
preField.add(o);
}
List<String> noUserFields = filterString(preField);//提取剩余的字段
cdVo = new ContactDefinedVo(userDefined.getId(), userDefined.getDefinedName(), userDefined.getType(),
userFilters, noUserFields, preField);
}
return cdVo;
}
//过滤字符串
public static String[] contactField = new String[]{"姓名", "籍贯", "称谓", "性别", "学历",
"生日", "职务","部门", "助理", "助理电话", "办公电话", "手机", "电子邮箱", "MSN", "传真", "家庭地址",
"家庭电话", "性格", "烟酒习惯", "娱乐习惯", "兴趣"};
public List<String> filterString(List<String> preField){
Set<String> fieldSet = new HashSet<String>();
for(int i = 0; i < preField.size(); i++){
fieldSet.add(preField.get(i));
}
List<String> enableField = new ArrayList<String>();
for(String s : contactField ){//遍历预选项
if(!fieldSet.contains(s)){
enableField.add(s);
}
}
return enableField;
}
//修改用户选项
public boolean updateOption(UserDefined userDefined)throws ApplicationException{
try{
contactDao.updateUserDefined(userDefined);
}catch(Exception e){
throw new ApplicationException(Constants.UPDATEOPTIONEXCEPTION);
}
return true;
}
//根据id搜索用户过滤条件
public UserFilter getUserFilterById(String filterId) throws ApplicationException{
try{
return contactDao.getUserFilter(Integer.parseInt(filterId));
}catch(Exception e){
throw new ApplicationException(Constants.SEARCHFILTEREXCEPTION);
}
}
//修改用户选项
public boolean updateUserFilter(UserFilter userFilter) throws ApplicationException{
try{
contactDao.updateUserFilter(userFilter);
return true;
}catch(Exception e){
throw new ApplicationException(Constants.UPDATEFILTEREXCEPTION);
}
}
//根据选项搜索显示字段
public UserField getUserFieldByOption(UserDefined userDefined) throws ApplicationException{
try{
return contactDao.getUserFieldByOption(userDefined);
}catch(Exception e){
throw new ApplicationException(Constants.SEARCHFIELDEXCEPTION);
}
}
//修改显示字段
public boolean updateUserField(UserField userField) throws ApplicationException{
try{
contactDao.updateUserField(userField);
}catch(Exception e){
throw new ApplicationException(Constants.UPDATEFIELDEXCEPTION);
}
return true;
}
//根据id查找联系人
public CustomerContact getContactById(String contactId) throws ApplicationException{
try{
return contactDao.getById(Integer.parseInt(contactId));
}catch(Exception e){
throw new ApplicationException(Constants.FINDCONTACTEXCEPTION);
}
}
//更新联系人
public boolean updateContact(CustomerContact contact) throws ApplicationException{
try{
contactDao.update(contact);
}catch(Exception e){
throw new ApplicationException(Constants.FINDUSERCONTACTEXCEPTION);
}
return true;
}
//删除过滤条件
public boolean deleteFilter(UserFilter userFilter) throws ApplicationException{
try{
contactDao.deleteFilter(userFilter);
}catch(Exception e){
throw new ApplicationException(Constants.DELETEFILTEREXCEPTION);
}
return true;
}
/**
* 通过名称搜索联系人列表;
*/
public List getContactByName(String nameLike) throws ApplicationException {
try {
return contactDao.getContactByName(nameLike);
} catch(Exception e) {
throw new ApplicationException(Constants.FINDCONTACTEXCEPTION);
}
}
/**
* 获取头几条联系人;
*/
public List getTopContact() throws ApplicationException {
try {
return contactDao.getTopContact();
} catch(Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.FINDUSERCONTACTEXCEPTION);
}
}
/**
* 获取删除状态的联系人;
*/
public List<ContactVo> getContactByDelete(User user, int flag) throws ApplicationException {
try {
//根据用户查找所有被删除的用户
List contacts = contactDao.getContactByDelete(user, flag);
List<ContactVo> contactVos = new ArrayList<ContactVo>();
if(contacts != null) {
for(Object o : contacts) {
CustomerContact contact = (CustomerContact)o;
User modifyMan = contactDao.getUserById(contact.getModifyManId());
contactVos.add(new ContactVo(contact.getId(), contact.getName(),
contact.getLastModifyTime(), modifyMan.getFamilyName(), modifyMan.getId()));
}
}
return contactVos;
} catch(Exception e) {
throw new ApplicationException(Constants.FINDUSERCONTACTEXCEPTION);
}
}
/**
* 添加联系人;
*/
public void addContactandUserContact(CustomerContact contact) throws ApplicationException {
try {
contactDao.addContact(contact);
} catch(Exception e) {
throw new ApplicationException(Constants.ADDCONTACTEXCEPTION);
}
}
/**
* 获取联系人;
*/
public Customer getCustomerById(Integer id) throws ApplicationException {
try {
return contactDao.getCustomerById(id);
} catch(Exception e) {
throw new ApplicationException(Constants.FINDCUSTOMEREXCEPTION);
}
}
/**
* 修改联系人以及相关信息;
*/
public boolean updateContactByFlag(Integer id, Integer flag)
throws ApplicationException {
try {
CustomerContact contact = contactDao.getById(id);//获取联系人;
if(contact!=null) {
contact.setFlag(flag);
contactDao.update(contact);
return true;
} else {
return false;
}
} catch(Exception e) {
throw new ApplicationException(Constants.UPDATECONTACTEXCEPTION);
}
}
/**
* 彻底删除该联系人以及相关信息;
*/
public boolean deleteCustomerContact(Integer id) throws ApplicationException {
try {
CustomerContact contact = contactDao.getById(id);
if(contact!=null) {
contactDao.delete(contact);//删除该联系人;
return true;
} else {
return false;
}
} catch(Exception e) {
throw new ApplicationException(Constants.DELETEFIALURE);
}
}
public ContactDAO getContactDao() {
return contactDao;
}
//根据姓名模糊查找联系人
public List<ContactVo> getContactsByNamelike(String name, HttpSession session) throws ApplicationException {
try {
//模糊查找联系人
List contacts = contactDao.getContactByName(name);
List<ContactVo> contactVos = new ArrayList<ContactVo>();
if(contacts!=null) {
for(Object o : contacts) {
CustomerContact contact = (CustomerContact)o;
Customer c = contact.getCustomer();
if(c != null) {
contactVos.add(new ContactVo(contact.getId(), contact.getName(), c.getId(), c.getCustomerName()));
} else {//若联系人没有对应的客户
contactVos.add(new ContactVo(contact.getId(), contact.getName()));
}
}
}
session.setAttribute("contactVos", contactVos);
return contactVos;
} catch(Exception e) {
throw new ApplicationException(Constants.DELETEFIALURE);
}
}
//获得分页显示类
public PageController getPageController2(int currentPage, HttpSession session) throws ApplicationException {
try{
List contactVos = (List)session.getAttribute("contactVos");
System.out.println("当前页:"+currentPage+"有几条记录2:"+contactVos.size());
PageController pageController = new PageController(null, contactVos.size(), 1, 10, contactVos);
pageController.setCurrentItems(currentPage);
System.out.println("当前数据"+pageController.getCurrentItems());
pageController.setPageBar();
return pageController;
}catch(Exception e){
throw new ApplicationException(Constants.XPAGEEXCEPTION);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -