| | |
| | | } |
| | | |
| | | @Override |
| | | public List<t482101HList> getFolderMailList(String type, String userCode, Integer page, Integer limit) throws Exception { |
| | | String sql = "set nocount on\n"; |
| | | try { |
| | | String[] id = type.split("_"); |
| | | if (id.length != 2) { |
| | | throw new Exception("邮件类型Id格式不正确"); |
| | | } |
| | | sql += "select companyId,companyName,mailType,DocCode,senderName,sender,receiver,subject,plain_text," + |
| | | "receive_time,update_time,create_time,senderName,sender,userCode,userName,folder_id,delete_Flag, " + |
| | | "read_Flag,(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle," + |
| | | "handle_time,sender_time,receiving_time from t482101H "; |
| | | sql += " where userCode=" + GridUtils.prossSqlParm(userCode) + " \n"; |
| | | if (id[0].equals("folder")) {//是文件夹 |
| | | sql += " and folder_id=" + id[1] + " \n"; |
| | | } else if (id[0].equals("tag")) {//是标签 |
| | | sql += " and tag_list like '%," + id[1] + ",%'"; |
| | | } |
| | | sql += " order by docCode asc \n"; |
| | | sql += " OFFSET (" + page + " - 1) * " + limit + " ROWS FETCH NEXT " + limit + " ROWS ONLY"; |
| | | return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HList.class)); |
| | | } catch (Exception e) { |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<t482101HList> getUserMailList(String userCode) { |
| | | String sql = " set nocount on \n"; |
| | | try { |
| | |
| | | try { |
| | | sql += "declare @docCode varchar(200) ='" + docCode + "' \n"; |
| | | sql += "update t482101H set read_flag=" + (status ? 1 : 0) + " where docCode in (select list from GetInStr(@docCode))\n"; |
| | | sql += "select @@ROWCOUNT"; |
| | | jdbcTemplate.queryForObject(sql, Integer.class); |
| | | } catch (Exception e) { |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateMailType(String docCode, Integer folderId, String tagId) { |
| | | String sql = " set nocount on \n"; |
| | | try { |
| | | boolean bol = false; |
| | | sql += "declare @docCode varchar(200) ='" + docCode + "' \n"; |
| | | sql += "update t482101H set \n"; |
| | | if (!folderId.equals(0)) { |
| | | sql += " folder_id=" + folderId + "\n"; |
| | | bol = true; |
| | | } |
| | | if (StringUtils.isNotBlank(tagId)) { |
| | | sql += (bol ? "," : "") + " tag_list='," + tagId + ",' \n"; |
| | | } |
| | | sql += " where docCode in (select list from GetInStr(@docCode))\n"; |
| | | sql += "select @@ROWCOUNT"; |
| | | jdbcTemplate.queryForObject(sql, Integer.class); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Integer getMailTotal(String email, Integer mailType, boolean isNoRead, String userCode) { |
| | | public Integer getMailTotal(String email, Integer mailType, boolean isNoRead, String id, String userCode) { |
| | | String sql = "set nocount on\n"; |
| | | try { |
| | | sql += "select count(*) from t482101H "; |
| | |
| | | sql += " and mailType=" + mailType;//0:草稿箱 1:收件箱 2:发件箱 |
| | | } |
| | | if (StringUtils.isNotBlank(email)) { |
| | | if (mailType == 1 || mailType == 3) { |
| | | sql += " and receiver like '%" + email + "%' and isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate() "; |
| | | if (mailType == 1) { |
| | | sql += " and receiver like '%" + email + "%'"; |
| | | } else if (mailType == 2) { |
| | | sql += " and sender =" + GridUtils.prossSqlParm(email); |
| | | } else if (mailType == 3) { |
| | | sql += " and isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate() "; |
| | | } |
| | | } |
| | | if (isNoRead) {//0表示未读,1表示已读 |
| | | sql += " and isnull(read_flag,0) = 0"; |
| | | } |
| | | if (StringUtils.isNotBlank(id)) {//文件夹 |
| | | String[] type = id.split("_"); |
| | | if (type.length == 2) { |
| | | if (type[0].equals("folder")) { |
| | | sql += " and folder_id=" + type[1]; |
| | | } else if (type[0].equals("tag")) { |
| | | sql += " and tag_list like '%," + type[1] + ",%'"; |
| | | } |
| | | } |
| | | } |
| | | return jdbcTemplate.queryForObject(sql, Integer.class); |
| | | } catch (Exception e) { |
| | | return 0; |