📄 busiopportmgriml.java
字号:
ud = busiOpportDao.getUserDefinedById(Integer.parseInt(optionId));
// 取得相应显示字段
UserField userField = busiOpportDao.getUserFieldByOption(ud);
String[] fieldArray = userField.getFieldName().split(",");// 将显示字段转换成数组
for (String o : fieldArray) {
fields.add(o);
System.out.println(o);
}
return fields;
}
return null;
}
// 根据选项查找业务机会
@SuppressWarnings("unchecked")
public List<BusinessOpportunityVo> getBusiOpportByOptionId(String optionId,int currentPage,
HttpSession session) throws ApplicationException {
logger.debug("这里的选项id" + optionId);
// 2009-02-15 add 数据范围
logger.debug("request" + session);
Rights rights = ((Map<String, WebRightsView>) session
.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
.getRightsMap().get("304");
User user = (User) session.getAttribute(Constants.SESSION_USER);
logger.debug("user : " + user.getId());
String userIds = authorizationMgr.findUserDataRange(rights.getId(),
user);
//删除(数据范围)
Rights delRights = ((Map<String, WebRightsView>) session
.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
.getRightsMap().get("303");
String delUserIds = authorizationMgr.findUserDataRange(delRights.getId(), user);
logger.debug("delUserIds : " + delUserIds);
//修改(数据范围)
Rights modifyRights = ((Map<String, WebRightsView>) session
.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
.getRightsMap().get("302");
String modifyUserIds = authorizationMgr.findUserDataRange(modifyRights.getId(), user);
// end add
UserDefined userDefined = null;
if (StringTool.isNotBlank(optionId)) {
userDefined = busiOpportDao.getUserDefinedById(Integer
.parseInt(optionId));
// 取得用户的过滤字段
Set<UserFilter> userFilters = userDefined.getUserFilters();
StringBuffer hql = new StringBuffer();
hql.append("FROM BusinessOpportunity WHERE flag=1 ");
for (Object o : userFilters) {// 遍历所有的用户过滤字段
UserFilter filter = (UserFilter) o;
String filterName = filter.getFilterName();
// 生成hql
hql.append("AND " + filter.getFilterName() + " "
+ filter.getOperator() + " " + filter.getFilterValue()
+ " ");
}
// 2009-02-19 add 数据范围
hql.append(" and user in (" + userIds + ") order by creatDate desc");
// end add
logger.debug("查找的hql:" + hql.toString());
// 根据自定义hql查找业务机会
//2009-02-25 modify
// List busiOpports = busiOpportDao.getBusiOpportByUserDefined(hql
// .toString());
List busiOpports = utilDao.findDataByPage(hql.toString(), currentPage, Constants.PAGE_SEARCH_COUNT);
String hqlCount = "select count(*) " + hql.toString();
logger.debug("hqlCount : " + hqlCount);
int pageCount = utilDao.getResultsetCount(hqlCount.toString());
logger.debug("pageCount : " + pageCount);
session.setAttribute("pageCount", pageCount);
//end modify
List<BusinessOpportunityVo> result = new ArrayList<BusinessOpportunityVo>();
try {
for (Object o : busiOpports) {
BusinessOpportunity bo = (BusinessOpportunity) o;
//2009-02-25 add 删除、修改(数据范围)
String delRightsFlag = "n";
String modifyRightsFlag = "n";
if(authorizationMgr.isRights(bo.getUser().getId(), delUserIds)){
delRightsFlag = "y";
}
if(authorizationMgr.isRights(bo.getUser().getId(), modifyUserIds)){
modifyRightsFlag = "y";
}
logger.debug("delRightsFlag : " + delRightsFlag);
logger.debug("modifyRightsFlag : " + modifyRightsFlag);
//end
// 将客户po封装成vo
BusinessOpportunityVo busiOpportVo = new BusinessOpportunityVo();
BeanUtils.copyProperties(busiOpportVo, bo);
busiOpportVo.setCustomerId(busiOpportVo.getCustomer()
.getId());
busiOpportVo.setCustomerName(busiOpportVo.getCustomer()
.getCustomerName());
//2009-02-25 add
busiOpportVo.setDelRights(delRightsFlag);
busiOpportVo.setModifyRights(modifyRightsFlag);
//end add
result.add(busiOpportVo);
}
// 将联系人保存在会话中
session.setAttribute("busiOpports", result);
logger.debug("有几个结果:" + result.size());
return result;
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.GETCUSTOMEREXCEPTION);
}
}
return null;
}
// 获得分页显示类
@SuppressWarnings("unchecked")
public PageController getPageController(int currentPage, HttpSession session)
throws ApplicationException {
try {
List busiOpports = (List) session.getAttribute("busiOpports");
//2009-02-25 add
int pageCount = (Integer)session.getAttribute("pageCount");
//end add
System.out.println("当前页:" + currentPage + "有几条记录2:"
+ busiOpports.size());
PageController pageController = new PageController(null,
pageCount, currentPage, Constants.PAGE_SEARCH_COUNT, busiOpports);
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);
}
}
// 根据id查找业务机会
public BusinessOpportunity getBusiOpportById(int busiOpportId)
throws ApplicationException {
return busiOpportDao.getById(busiOpportId);
}
// 根据ID查找业务机会VO
public BusinessOpportunityVo getgetBusiOpportVoById(int busiOpportId)
throws ApplicationException {
try {
BusinessOpportunity busiOpport = getBusiOpportById(busiOpportId);
return new BusinessOpportunityVo(busiOpport.getId(), busiOpport
.getBusiOpportName());
} catch (Exception e) {
e.printStackTrace();
logger.error("transform exception");
throw new ApplicationException("transform exception");
}
}
// 修改业务机会
public boolean updateBusiOpport(BusinessOpportunity busiOpport)
throws ApplicationException {
try {
busiOpportDao.updateBusiOpport(busiOpport);
} catch (Exception e) {
throw new ApplicationException(Constants.MODIFYBUSIOPPORTEXCEPTION);
}
return true;
}
// 删除业务机会
public boolean deleteBusiOpport(int busiOpportId)
throws ApplicationException {
System.out.println("有到这里吗" + busiOpportId);
try {
BusinessOpportunity busiOpport = busiOpportDao
.getById(busiOpportId);
busiOpportDao.delete(busiOpport);
} catch (Exception e) {
throw new ApplicationException(Constants.DELETEBUSIOPPORTEXCEPTION);
}
return true;
}
// 删除过滤条件
public boolean deleteFilter(UserFilter userFilter)
throws ApplicationException {
try {
busiOpportDao.deleteFilter(userFilter);
} catch (Exception e) {
throw new ApplicationException(Constants.DELETEFILTEREXCEPTION);
}
return true;
}
/**
* 根据名称模糊查找业务机会;
*/
public List getAllBusiOpportByName(String nameLike)
throws ApplicationException {
try {
return busiOpportDao.getAllBusiOpportByName(nameLike);
} catch (Exception e) {
throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
}
}
/**
* 获取当前头几条信息;
*/
public List getTopBusiOpport() throws ApplicationException {
try {
return busiOpportDao.getTopBusiOpport();
} catch (Exception e) {
throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
}
}
/**
* 搜索删除状态的业务机会;
*/
public List getAllBusiOpportByDelete() throws ApplicationException {
try {
return null;
} catch (Exception e) {
throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
}
}
// --------------------------------------更新后----------------------------------------//
public List<ContactVo> getContactsByContactId(int contactId)
throws ApplicationException {
try {
return null;
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
}
}
// 根据用户和旗标查找联系人
public List<ContactVo> getContactByUser(User user, int flag)
throws ApplicationException {
try {
List contacts = busiOpportDao.getContactByUser(user, flag);
List<ContactVo> contactVos = new ArrayList<ContactVo>();
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(), contact
.getComPhone()));
} else {
contactVos.add(new ContactVo(contact.getId(), contact
.getName(), contact.getComPhone()));
}
}
return contactVos;
} catch (Exception e) {
e.printStackTrace();
logger.debug("update ContactRole error...");
throw new ApplicationException("update ContactRole error...");
}
}
// 根据业务机会ID查找联系人---业务机会
public List<ContactRoleVo> getContactRoleByBusiOpportId(int busiOpportId,
int customerId) throws ApplicationException {
try {
List<ContactRoleVo> contactRoles = new ArrayList<ContactRoleVo>();
List contactBusiOpports = busiOpportDao
.getContactBusiOpportByBusiOpportId(busiOpportId);
logger.debug("有查找到联系人---业务机会吗..." + contactBusiOpports);
List<Integer> contactIdArray = new ArrayList<Integer>();// 联系人ID数组
if (contactBusiOpports != null) {
for (Object o : contactBusiOpports) {
ContactBusiopport contactBusiOpport = (ContactBusiopport) o;
// 取得相应的联系人
CustomerContact contact = contactBusiOpport
.getCustomerContact();
contactIdArray.add(contact.getId());
ConRole conRole = contactBusiOpport.getConrole();
if (conRole != null) {// 若角色为空
Customer customer = contact.getCustomer();
if (customer != null) {
contactRoles
.add(new ContactRoleVo(contactBusiOpport
.getId(), contact.getId(), contact
.getName(), contactBusiOpport
.getIsprincipal(), conRole.getId(),
conRole.getRoleName(), customer
.getId(), customer
.getCustomerName(), contact
.getEmail(), contact
.getComPhone()));
} else {
contactRoles
.add(new ContactRoleVo(contactBusiOpport
.getId(), contact.getId(), contact
.getName(), contactBusiOpport
.getIsprincipal(), conRole.getId(),
conRole.getRoleName(), null, null,
contact.getEmail(), contact
.getComPhone()));
}
} else {// 若角色不为空
contactRoles.add(new ContactRoleVo(contactBusiOpport
.getId(), contact.getId(), contact.getName(),
contactBusiOpport.getIsprincipal(), null, null,
contact.getCustomer().getId(), contact
.getCustomer().getCustomerName(),
contact.getEmail(), contact.getComPhone()));
}
}
}
// 查找所有的该客户下的联系人
List contacts = busiOpportDao.getContactsByCustomerId(customerId,
contactIdArray);
if (contacts != null) {
for (Object o : contacts) {
CustomerContact contact = (CustomerContact) o;
contactRoles.add(new ContactRoleVo(contact.getId(), contact
.getName()));
}
}
return contactRoles;
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException("find no data!");
}
}
/**
* 更新业务机会---联系人
*
* @param conBusiId
* 联系人---业务机会ID
* @param roleId
* 角色ID
* @param contactId
* 联系人ID
* @param isMain
* 是否是主要联系人
* @throws ApplicationException
*/
public void updateContactBusiOpport(int conBusiId, int contactId,
int roleId, boolean isMain) throws ApplicationException {
try {
// 查找联系人---业务机会
ContactBusiopport contactBusiopprt = busiOpportDao
.getContactBusiopportById(conBusiId);
// 查找联系人
CustomerContact contact = busiOpportDao.getContactById(contactId);
// 查找角色
ConRole conrole = busiOpportDao.getConRoleById(roleId);
// 设置联系人属性
contactBusiopprt.setCustomerContact(contact);
// 设置角色
contactBusiopprt.setConrole(conrole);
if (isMain) {// 如果是主要负责人
// 设置主要联系人
contactBusiopprt.setIsprincipal(Constants.MAINCONTACT);
} else {
// 不是主要联系人
contactBusiopprt.setIsprincipal(Constants.NOMAINCONTACT);
}
// 保存民联系人---业务机会
busiOpportDao.updateContactBusiopport(contactBusiopprt);
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException("update data error!");
}
}
/**
* 保存联系人---业务机会
*
* @param contactId
* 联系人ID
* @param busiOpportId
* 业务机会ID
* @param roleId角色ID
* @param isMain是否是主要联系人
* @throws ApplicationException
*/
public void addContactBusiOpport(int contactId, int busiOpportId,
int roleId, boolean isMain) throws ApplicationException {
try {
// 查找联系人
CustomerContact contact = busiOpportDao.getContactById(contactId);
// 查找业务机会
BusinessOpportunity busiOpport = busiOpportDao
.getById(busiOpportId);
// 查找角色
ConRole conrole = busiOpportDao.getConRoleById(roleId);
if (isMain) {// 如果是主要联系人
ContactBusiopport contactBusiopprt = new ContactBusiopport(
busiOpport, contact, Constants.MAINCONTACT, conrole);
busiOpportDao.saveContactBusiopport(contactBusiopprt);
} else {// 不是主要联系人
ContactBusiopport contactBusiopprt = new ContactBusiopport(
busiOpport, contact, Constants.NOMAINCONTACT, conrole);
busiOpportDao.saveContactBusiopport(contactBusiopprt);
}
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException("save data error!");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -