|
|
@@ -63,34 +63,46 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
|
|
|
PurcInquiryItem item = purcInquiryItemDao.findOne(detail.getPagingRelease().getSourceId());
|
|
|
if (null != item) {
|
|
|
//先取出企业uu
|
|
|
- String sql = "select distinct pr_enuu enuu from products p left join purc$vendors v on v.ve_vendenuu = p.pr_enuu where p.pr_title = '" + item.getProduct().getTitle() + "' and v.ve_myenuu = " + item.getInquiry().getEnUU();
|
|
|
- List<UserAndEnterprise> enuus = commonDao.query(sql, UserAndEnterprise.class);
|
|
|
+ String prodSql = "select distinct pr_enuu enuu from products p left join purc$vendors v on v.ve_vendenuu = p.pr_enuu where p.pr_title = '" + item.getProduct().getTitle() + "' and v.ve_myenuu = " + item.getInquiry().getEnUU();
|
|
|
+ String inquirySql = "select distinct id_venduu enuu from purc$inquiryitems d left join purc$inquiry n on n.in_id = d.id_inid left join products p on p.pr_id = d.id_prid where p.pr_title = '" + item.getProduct().getTitle() + "' and n.in_enuu = " + item.getInquiry().getEnUU();
|
|
|
+ String orderSql = "select distinct pu_venduu enuu from purc$orders pu left join purc$orderitems pd on pu.pu_id = pd.pd_puid left join products p on p.pr_id = pd.pd_prid where p.pr_title = '" + item.getProduct().getTitle() + "' and pu.pu_enuu = " + item.getInquiry().getEnUU();
|
|
|
+ List<UserAndEnterprise> prodEnUUs = commonDao.query(prodSql, UserAndEnterprise.class);
|
|
|
+ List<UserAndEnterprise> inquiryEnUUs = commonDao.query(inquirySql, UserAndEnterprise.class);
|
|
|
+ List<UserAndEnterprise> orderEnuus = commonDao.query(orderSql, UserAndEnterprise.class);
|
|
|
+ List<UserAndEnterprise> enuus = new ArrayList<>();
|
|
|
+ Set<Long> enUUs = new HashSet<>();
|
|
|
+ enuus.addAll(prodEnUUs);
|
|
|
+ enuus.addAll(inquiryEnUUs);
|
|
|
+ enuus.addAll(orderEnuus);
|
|
|
// enuus存在才进行人员选择
|
|
|
if(enuus.size() > 0) {
|
|
|
for(UserAndEnterprise enter : enuus) {
|
|
|
- List<UserAndEnterprise> useruus = commonDao.query(
|
|
|
- "select user_uu useruu from sec$userrole u left join sec$roles r on u.role_id = r.role_id where r.role_desc = '业务员' and r.role_enuu = " + enter.getEnuu(),
|
|
|
- UserAndEnterprise.class);
|
|
|
- if (CollectionUtils.isEmpty(useruus)) {
|
|
|
- useruus = commonDao.query(
|
|
|
- "select user_uu useruu from sec$userrole u left join sec$roles r on u.role_id = r.role_id where r.role_desc = '管理员' and r.role_enuu = " + enter.getEnuu(),
|
|
|
+ if (!enUUs.contains(enter.getEnuu())) {
|
|
|
+ List<UserAndEnterprise> useruus = commonDao.query(
|
|
|
+ "select user_uu useruu from sec$userrole u left join sec$roles r on u.role_id = r.role_id where r.role_desc = '业务员' and r.role_enuu = " + enter.getEnuu(),
|
|
|
UserAndEnterprise.class);
|
|
|
- }
|
|
|
- // 新增消息
|
|
|
- for (UserAndEnterprise userAndEnterprise : useruus) {
|
|
|
- Long userUU = userAndEnterprise.getUseruu();
|
|
|
- try { //去除userUU为空值的情况
|
|
|
- if (null != userUU) {
|
|
|
- User user = userDao.findOne(userUU);
|
|
|
- if (null != user) {
|
|
|
- PagingReleaseDetail pagingReleaseDetail = new PagingReleaseDetail(enter.getEnuu(), userUU, user.getUserName());
|
|
|
- pagingReleaseDetail.setPagingRelease(detail.getPagingRelease());
|
|
|
- otherReleaseDetails.add(pagingReleaseDetail);
|
|
|
+ if (CollectionUtils.isEmpty(useruus)) {
|
|
|
+ useruus = commonDao.query(
|
|
|
+ "select user_uu useruu from sec$userrole u left join sec$roles r on u.role_id = r.role_id where r.role_desc = '管理员' and r.role_enuu = " + enter.getEnuu(),
|
|
|
+ UserAndEnterprise.class);
|
|
|
+ }
|
|
|
+ // 新增消息
|
|
|
+ for (UserAndEnterprise userAndEnterprise : useruus) {
|
|
|
+ Long userUU = userAndEnterprise.getUseruu();
|
|
|
+ try { //去除userUU为空值的情况
|
|
|
+ if (null != userUU) {
|
|
|
+ User user = userDao.findOne(userUU);
|
|
|
+ if (null != user) {
|
|
|
+ PagingReleaseDetail pagingReleaseDetail = new PagingReleaseDetail(enter.getEnuu(), userUU, user.getUserName());
|
|
|
+ pagingReleaseDetail.setPagingRelease(detail.getPagingRelease());
|
|
|
+ otherReleaseDetails.add(pagingReleaseDetail);
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (RuntimeException e) {
|
|
|
+ e.getStackTrace();
|
|
|
}
|
|
|
- } catch (RuntimeException e) {
|
|
|
- e.getStackTrace();
|
|
|
}
|
|
|
+ enUUs.add(enter.getEnuu());
|
|
|
}
|
|
|
}
|
|
|
}
|