xinyb
2024-09-14 f6ae0b6568c8000e9bfb9ce1d13400525a223d20
提交 | 用户 | age
385e2d 1 package com.yc.crm.mail.service;
X 2
3 import com.yc.action.grid.GridUtils;
7caeae 4 import com.yc.crm.mail.entity.*;
385e2d 5 import com.yc.entity.AttachmentConfig;
X 6 import com.yc.entity.attachment.AttachmentEntity;
7 import com.yc.sdk.shopping.service.imagedata.ShoppingImageDataIfc;
7caeae 8 import com.yc.sdk.weixincp.util.UploadFiles;
385e2d 9 import com.yc.service.BaseService;
X 10 import org.apache.commons.lang3.StringUtils;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.jdbc.core.BeanPropertyRowMapper;
13 import org.springframework.stereotype.Service;
14
7caeae 15 import java.util.ArrayList;
X 16 import java.util.Arrays;
17 import java.util.List;
18 import java.util.Map;
f5cc47 19 import java.util.stream.Collectors;
385e2d 20
X 21 /**
22  * @BelongsProject: eCoWorksV3
23  * @BelongsPackage: com.yc.crm.mail.service
24  * @author: xinyb
25  * @CreateTime: 2024-08-06  09:57
26  * @Description:
27  */
28 @Service
29 public class MailImpl extends BaseService implements MailIfc {
30     @Autowired
31     MailAccountIfc emailAccountIfc;
32     @Autowired
33     ShoppingImageDataIfc imgData;
34
35     final static String shoppingImageServer = AttachmentConfig.get("attachment.server");
36
37     @Override
38     public t482101HEntity saveReceivingMail(t482101HEntity m) {
39         String sql = "set nocount on\n";
40         try {
3c2c1b 41             if (StringUtils.isBlank(m.getDocCode())) {
7cf738 42                 sql += "declare @docCode varchar(50) ,@unid varchar(50),@fieldId varchar(100),@originalFileName varchar(100)," +
X 43                         "@physicalFile varchar(50),@OriginalPicture varbinary(max) \n";
385e2d 44                 sql += "exec sp_newdoccode 482101," + GridUtils.prossSqlParm(m.getUserCode()) + ",@docCode output \n";
f5cc47 45                 sql += "insert into t482101H(companyId,companyName,formId,docCode,docdate,PeriodID,postCode,postname,mailType,sender,receiver," +
7caeae 46                         "cc,bcc,subject,userCode,userName,content,plain_text,messageId,read_flag,delete_flag,create_time,update_time,receive_time," +
d8f4b9 47                         "attach_flag,attachment_list) values ";
385e2d 48                 sql += "(" + GridUtils.prossSqlParm(m.getCompanyId()) + "," + GridUtils.prossSqlParm(m.getCompanyName()) + ",482101," +
X 49                         "@docCode,convert(varchar(10),getdate(),120),convert(varchar(7),getdate(),120),"
50                         + GridUtils.prossSqlParm(m.getUserCode()) + "," + GridUtils.prossSqlParm(m.getUserName()) + "," +
51                         +m.getMailType() + "," + GridUtils.prossSqlParm(m.getSender()) + "," +
f4c162 52                         GridUtils.prossSqlParm(StringUtils.join(m.getReceiver(), ",")) + "," + GridUtils.prossSqlParm(StringUtils.join(m.getCc(), ",")) + "," +
X 53                         GridUtils.prossSqlParm(StringUtils.join(m.getBcc(), ",")) + "," +
385e2d 54                         GridUtils.prossSqlParm(m.getSubject()) + "," + GridUtils.prossSqlParm(m.getUserCode()) + "," + GridUtils.prossSqlParm(m.getUserName()) + "," +
7caeae 55                         GridUtils.prossSqlParm(m.getContent()) + "," + GridUtils.prossSqlParm(m.getPlainText()) + "," + GridUtils.prossSqlParm(m.getMessageId()) + "," +
d8f4b9 56                         m.getReadFlag() + "," + m.getDeleteFlag() + ",getdate(),getdate()," + GridUtils.prossSqlParm(m.getReceiveTime()) + "," + m.getAttachFlag() + "," +
7caeae 57                         GridUtils.prossSqlParm(m.getAttachmentList()) + ") \n" +
X 58                         mailFileSql(m.getMailFile());
385e2d 59                 sql += "select @docCode as docCode";
X 60                 String docCode = jdbcTemplate.queryForObject(sql, String.class);
61                 if (StringUtils.isNotBlank(docCode)) {
62                     m.setDocCode(docCode);
63                 }
3c2c1b 64             } else {
385e2d 65                 updateReceivingMail(m);//修改
X 66             }
67             return m;
68         } catch (Exception e) {
69             throw e;
70         }
71     }
72
73     @Override
74     public void saveReceivingMailList(List<t482101HEntity> mail) {
75         String sql = "set nocount on\n";
76         try {
7caeae 77             sql += "declare @docCode varchar(50) ,@unid varchar(50),@fieldId varchar(100),@originalFileName varchar(100)," +
7cf738 78                     "@physicalFile varchar(50),@OriginalPicture varbinary(max) \n";
385e2d 79             for (t482101HEntity m : mail) {//遍历内容
X 80                 sql += "exec sp_newdoccode 482101," + GridUtils.prossSqlParm(m.getUserCode()) + ",@docCode output \n";
f5cc47 81                 sql += "insert into t482101H(companyId,companyName,formId,docCode,docdate,PeriodID,postCode,postname,mailType,sender,receiver," +
7caeae 82                         "cc,bcc,subject,userCode,userName,content,plain_text,messageId,read_flag,delete_flag,create_time,update_time,receive_time," +
d8f4b9 83                         "attach_flag,attachment_list) values ";
385e2d 84                 sql += "(" + GridUtils.prossSqlParm(m.getCompanyId()) + "," + GridUtils.prossSqlParm(m.getCompanyName()) + ",482101," +
X 85                         "@docCode,convert(varchar(10),getdate(),120),convert(varchar(7),getdate(),120),"
86                         + GridUtils.prossSqlParm(m.getUserCode()) + "," + GridUtils.prossSqlParm(m.getUserName()) + "," +
87                         +m.getMailType() + "," + GridUtils.prossSqlParm(m.getSender()) + "," +
f4c162 88                         GridUtils.prossSqlParm(StringUtils.join(m.getReceiver(), ",")) + "," + GridUtils.prossSqlParm(StringUtils.join(m.getCc(), ",")) + "," +
X 89                         GridUtils.prossSqlParm(StringUtils.join(m.getBcc(), ",")) + "," +
385e2d 90                         GridUtils.prossSqlParm(m.getSubject()) + "," + GridUtils.prossSqlParm(m.getUserCode()) + "," + GridUtils.prossSqlParm(m.getUserName()) + "," +
7caeae 91                         GridUtils.prossSqlParm(m.getContent()) + "," + GridUtils.prossSqlParm(m.getPlainText()) + "," + GridUtils.prossSqlParm(m.getMessageId()) + "," +
f4c162 92                         m.getReadFlag() + "," + m.getDeleteFlag() + ",getdate(),getdate()," + GridUtils.prossSqlParm(m.getReceiveTime()) + "," +
7caeae 93                         m.getAttachFlag() + "," + GridUtils.prossSqlParm(m.getAttachmentList()) + ") \n" +
X 94                         mailFileSql(m.getMailFile());
385e2d 95             }
X 96             jdbcTemplate.update(sql);
97         } catch (Exception e) {
98             throw e;
7caeae 99         }
X 100     }
101
102     /**
103      * 邮件附件的处理
104      *
105      * @param mailFile
106      * @return
107      */
108     private String mailFileSql(MailFileEntity mailFile) {
109         if (mailFile == null) {//附件保存
110             return "";
111         }
112         String sql = "";
113         String originalFileName = "";
114         String fileType = "";
115         try {
116             for (MailFileEntity.MailBodyPart file : mailFile.getPart()) {
117                 originalFileName = file.getFileName();
118                 fileType = file.getFileType();
119                 sql += "select @unid=" + GridUtils.prossSqlParm(mailFile.getUnId()) + "\n" +
7cf738 120                         ",@fieldId=" + GridUtils.prossSqlParm(file.getFieldId()) + "\n" +
7caeae 121                         ",@originalFileName=" + GridUtils.prossSqlParm(originalFileName) + "\n" +
7cf738 122                         ",@physicalFile=" + GridUtils.prossSqlParm(file.getPhysicalFile()) + "\n" +
7caeae 123                         ",@OriginalPicture=" + UploadFiles.byteToHexString(file.getByteFile()) + "\n";
X 124                 sql += "insert into _sys_Attachment(unId,formId,docCode,fieldId,physicalFile,originalFileName,FileSize,fileType,UploadTime,LastUpdateTime,OriginalPicture) values ";
7cf738 125                 sql += " (@unid,482101,@docCode,@fieldId,@physicalFile,@originalFileName," + file.getFileSize() + "," + GridUtils.prossSqlParm(fileType) + ",getdate(),getdate(),@OriginalPicture) \n";
7caeae 126             }
X 127             return sql;
128         } catch (Exception e) {
129             return "";
385e2d 130         }
X 131     }
132
133     @Override
134     public Integer updateReceivingMail(t482101HEntity mail) {
135         String sql = "set nocount on\n";
136         try {
f4c162 137             sql += "update t482101H set sender=" + GridUtils.prossSqlParm(mail.getSender()) + ",receiver=" + GridUtils.prossSqlParm(StringUtils.join(mail.getReceiver(), ",")) + "," +
X 138                     "cc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getCc(), ",")) + ",bcc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getBcc(), ",")) + ",subject=" + GridUtils.prossSqlParm(mail.getSubject()) + "," +
7caeae 139                     "content=" + GridUtils.prossSqlParm(mail.getContent()) + ",attachment_list=" + GridUtils.prossSqlParm(mail.getAttachmentList()) + ",mailType=" + mail.getMailType() + "," +
f4c162 140                     "update_time=getdate() \n";
5b1a4a 141             sql += " where docCode=" + GridUtils.prossSqlParm(mail.getDocCode()) + "\n";
428443 142             sql += "select @@ROWCOUNT";
X 143             return jdbcTemplate.queryForObject(sql, Integer.class);
f4c162 144         } catch (Exception e) {
X 145             throw e;
146         }
147     }
148
149     @Override
150     public Integer updateDeleteFlag(String userCode, String docCode) {
151         String sql = "set nocount on\n";
152         try {
153             sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
154             sql += "update t482101H deleteFlag=1 where userCode =" + GridUtils.prossSqlParm(userCode) +
155                     " and docCode in (select list from GetInStr(@docCode))\n";//标记删除
5b1a4a 156             sql += " select @@ROWCOUNT";
428443 157             return jdbcTemplate.queryForObject(sql, Integer.class);
385e2d 158         } catch (Exception e) {
X 159             throw e;
160         }
161     }
162
163     @Override
5b1a4a 164     public Integer deleteEmail(String userCode, String docCode) {
385e2d 165         String sql = "set nocount on\n";
X 166         try {
f4c162 167             sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
X 168             sql += "delete t482101H where userCode =" + GridUtils.prossSqlParm(userCode) +
169                     " and docCode in (select list from GetInStr(@docCode))\n";//标记删除
5b1a4a 170             sql += " select @@ROWCOUNT";
428443 171             return jdbcTemplate.queryForObject(sql, Integer.class);
f5cc47 172         } catch (Exception e) {
X 173             throw e;
174         }
175     }
176
177     @Override
5b1a4a 178     public Integer deleteEmail(String messageId) {
f5cc47 179         String sql = "set nocount on\n";
X 180         try {
f4c162 181             sql += "declare @messageId varchar(200) ='" + messageId + "' \n";
X 182             sql += "delete t482101H where messageId in (select list from GetInStr(@messageId))\n";//删除
5b1a4a 183             sql += " select @@ROWCOUNT";
428443 184             return jdbcTemplate.queryForObject(sql, Integer.class);
385e2d 185         } catch (Exception e) {
X 186             throw e;
187         }
188     }
189
190     @Override
f4c162 191     public t482101HEntity getReceivingMailInfo(String docCode) {
385e2d 192         String sql = "set nocount on\n";
X 193         try {
5b1a4a 194             sql += "select top 1 DocCode,companyId,companyName,sender,receiver,mailType,subject,content,plain_text,file_unid as fileUNID,messageId," +
X 195                     "read_flag,delete_flag,attach_flag,urgent_flag,receipt_flag,track_flag,userCode,userName,create_time,update_time," +
196                     "send_status,receive_time,sign_id,attachment_list,remark,remark,DocVersion from t482101H " +
f4c162 197                     "where docCode=" + GridUtils.prossSqlParm(docCode);
385e2d 198             return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HEntity.class)).get(0);
X 199         } catch (Exception e) {
200             throw e;
201         }
202     }
203
204     @Override
5b1a4a 205     public List<t482101HList> getReceivingMailList(String email, Integer mailType, boolean isNoRead, String userCode) {
385e2d 206         String sql = "set nocount on\n";
X 207         try {
428443 208             sql += "select companyId,companyName,mailType,DocCode,sender,receiver,subject,plain_text," +
X 209                     "receive_time,update_time,create_time,sender,userCode,userName,folder_id,delete_Flag, " +
7cf738 210                     "read_Flag,(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle," +
X 211                     "handle_time from t482101H ";
5b1a4a 212             sql += " where userCode=" + GridUtils.prossSqlParm(userCode);
X 213             sql += " and mailType=" + mailType;//0:草稿箱 1:收件箱 2:发件箱
214             if (StringUtils.isNotBlank(email)) {
215                 if (mailType == 1) {
216                     sql += " and receiver like '%" + email + "%'";
217                 } else if (mailType == 2) {
218                     sql += " and sender =" + GridUtils.prossSqlParm(email);
219                 }
7cf738 220             }
X 221             if (isNoRead) {//0表示未读,1表示已读
222                 sql += " and isnull(read_flag,0) = 0";
385e2d 223             }
d8f4b9 224             return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HList.class));
X 225         } catch (Exception e) {
226             throw e;
227         }
228     }
229
230     @Override
231     public List<t482101HList> getUserMailList(String userCode) {
232         String sql = " set nocount on \n";
233         try {
7cf738 234             sql = "select a.DocCode,isnull(a.mailType,0) as mailType,isnull(a.read_flag,0) as read_flag,a.sender,a.receiver, " +
X 235                     "(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle " +
236                     " from t482101H a where  a.userCode=" + GridUtils.prossSqlParm(userCode) + " order by a.mailType";
428443 237             return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HList.class));
385e2d 238         } catch (Exception e) {
X 239             throw e;
240         }
241     }
242
243
244     @Override
245     public Integer updateMailDrafts(t482101HEntity mail) {
246         String sql = "set nocount on\n";
247         try {
f4c162 248             sql += "update t482101H set sender=" + GridUtils.prossSqlParm(mail.getSender()) + ",receiver=" + GridUtils.prossSqlParm(StringUtils.join(mail.getReceiver(), ",")) + "," +
f6ae0b 249                     "cc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getCc(), ",")) + ",bcc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getBcc(), ",")) + "," +
X 250                     "subject=" + GridUtils.prossSqlParm(mail.getSubject()) + ",messageId=" + GridUtils.prossSqlParm(mail.getMessageId()) + "," +
7caeae 251                     "content=" + GridUtils.prossSqlParm(mail.getContent()) + ",attachment_list=" + GridUtils.prossSqlParm(mail.getAttachmentList()) + ",mailType=" + mail.getMailType() + "," +
6a63e2 252                     "update_time=getdate() \n";
385e2d 253             sql += " where docCode=" + GridUtils.prossSqlParm(mail.getDocCode());
5b1a4a 254             sql += " select @@ROWCOUNT";
428443 255             return jdbcTemplate.queryForObject(sql, Integer.class);
385e2d 256         } catch (Exception e) {
X 257             throw e;
258         }
259     }
260
7caeae 261     @Override
X 262     public void saveAttachment(List<MailFileEntity> mailFile) {
385e2d 263         try {
f5cc47 264
385e2d 265         } catch (Exception e) {
X 266             throw e;
267         }
268     }
269
3c2c1b 270
X 271     @Override
272     public List<AttachmentEntity> getAttachmentEntityList(String unIdSeq) {
273         String unId = null;
274         if (StringUtils.isBlank(unIdSeq)) {
275             return null;
276         }
277         String[] array = unIdSeq.split(";");
278         unId = array[0];//在有值时候第一个必定是unId
f6ae0b 279         ArrayList<String> fieldId = new ArrayList<>(Arrays.asList(array));
X 280         fieldId.remove(0);//去掉第一个元素(UNID)
3c2c1b 281         String sql = " set nocount on \n"
f6ae0b 282                 + " declare @unid varchar(50) = " + GridUtils.prossSqlParm(unId) +
X 283                 ",@fieldid varchar(1000) = " + GridUtils.prossSqlParm(StringUtils.join(fieldId, ",")) + " \n";
284
3c2c1b 285         sql += " select UNID,seq,DocCode,RowId,FieldId,FormId, \n"
X 286                 + " PhysicalPath,PhysicalFile,OriginalFileName,FileSize,FileType, \n"
287                 + " AuthorCode,AuthorName,SmallPicPath,UploadTime,OriginalPicture \n"
288                 + " from _sys_Attachment \n"
f5cc47 289                 + " where unid = @unid ";
f6ae0b 290         if (fieldId.size() > 0) {
X 291             sql += " and (fieldid in(select list from GetInStr(@fieldid)) or seq in(select list from GetInStr(@fieldid)))\n";
3c2c1b 292         }
X 293         List<Map<String, Object>> list = this.jdbcTemplate.queryForList(sql);
294         List<AttachmentEntity> attachmentList = new ArrayList<AttachmentEntity>();
295         for (int i = 0; list != null && i < list.size(); i++) {
296             AttachmentEntity attachment = new AttachmentEntity();
297             attachment.setOriginalFileName(list.get(i).get("OriginalFileName") == null ? null : (String) list.get(i).get("OriginalFileName"));
298             //附件处理
299             attachment.setOriginalPicture(list.get(i).get("OriginalPicture") == null ? null : (byte[]) list.get(i).get("OriginalPicture"));
300             attachmentList.add(attachment);
301         }
302         return attachmentList;
7caeae 303     }
X 304
305     @Override
306     public Integer deleteAttachment(List<String> unId) {
307         try {
308             if (unId == null || unId.size() == 0) {
309                 return 0;
310             }
311             String sql = " set nocount on \n"
312                     + " declare @unid varchar(4000) = '" + StringUtils.join(unId, ",") + "'  \n";
313             sql += "delete _sys_Attachment where unid in (select list from GetInStr(@unid)) \n";
314             sql += "select @@ROWCOUNT";
315             return jdbcTemplate.queryForObject(sql, Integer.class);
316         } catch (Exception e) {
317             throw e;
318         }
3c2c1b 319     }
f5cc47 320
X 321     @Override
322     public List<String> getMessageIdList(String receiver) {
323         List<String> messageId = null;
324         String sql = " set nocount on \n";
325         try {
326             sql += "select messageId from t482101H where receiver='" + receiver + "'";
327             List<t482101HEntity> message = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HEntity.class));
328             if (message != null && message.size() > 0) {
329                 messageId = new ArrayList<>();
330                 messageId = message.stream().map(t482101HEntity::getMessageId).distinct().collect(Collectors.toList());//去重
331             }
332             return messageId;
333         } catch (Exception e) {
334             throw e;
335         }
336     }
f4c162 337
X 338     @Override
7cf738 339     public void updateRead(String docCode, boolean status) {
f4c162 340         String sql = " set nocount on \n";
X 341         try {
5b1a4a 342             sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
7cf738 343             sql += "update t482101H set read_flag=" + (status ? 1 : 0) + " where docCode in (select list from GetInStr(@docCode))\n";
f4c162 344             sql += "select @@ROWCOUNT";
X 345             jdbcTemplate.queryForObject(sql, Integer.class);
346         } catch (Exception e) {
347             throw e;
348         }
349     }
d8f4b9 350
X 351     @Override
352     public List<MailModuleEntity> getMailModuleList(String userCode) {
353         List<MailModuleEntity> module = MailModuleEntity.setMailInitial();
354         try {
877259 355             List<T482102Entity> account = emailAccountIfc.getAccount(userCode);//获取这个账号绑定的邮箱
d8f4b9 356             List<t482101HList> userMail = getUserMailList(userCode);
X 357             for (MailModuleEntity m : module) {
358                 List<t482101HList> mailTypeList = null;
359                 int mailType = m.getMailType();//类型
360                 switch (mailType) {
361                     case 0://草稿箱
362                     case 1://收件箱
363                     case 2://发件箱
364                         if (mailType == 0) {
877259 365                             m.setChildren(new ArrayList<>());
d8f4b9 366                             if (userMail.size() > 0) {
X 367                                 m.setTotal((int) userMail.stream().filter(s -> s.getMailType().equals(mailType)).count());
368                             }
369                         } else {
370                             List<MailModuleEntity.MailCode> codeList = new ArrayList<>();
371                             MailModuleEntity.MailCode code = new MailModuleEntity.MailCode();
877259 372                             code.setKey(mailType == 1 ? "InboxPage1" : "IndexPage1");
d8f4b9 373                             code.setMailType(mailType);
X 374                             code.setMailName(mailType == 1 ? "全部收件" : "全部发件");
375                             codeList.add(code);
376                             if (account.size() == 0) {//没有直接跳过
877259 377                                 m.setChildren(codeList);
d8f4b9 378                                 continue;
X 379                             }
380                             int allCount = 0;
381                             int count = 0;
7caeae 382                             for (T482102Entity a : account) {
d8f4b9 383                                 MailModuleEntity.MailCode nextCode = new MailModuleEntity.MailCode();
6a63e2 384                                 String eMail = (mailType == 1 ? a.getReceiveEmail() : a.getSmtpEmail());//获取邮箱账号
7caeae 385                                 nextCode.setKey(mailType == 1 ? "receiver" : "sender");
6a63e2 386                                 nextCode.setMailName(eMail);
d8f4b9 387                                 nextCode.setMailType(m.getMailType());
7cf738 388 //                                if (userMail.size() > 0) {
X 389 //                                    count = (mailType == 1 ? (int) userMail.stream().filter(s -> s.getMailType().equals(mailType) && s.getReceiver().contains(eMail)).count() :
390 //                                            (int) userMail.stream().filter(s -> s.getMailType().equals(mailType) && s.getSender().contains(eMail)).count());
391 //                                    nextCode.setTotal(count);
392 //                                }
393                                 if (mailType == 1) {//是收件箱,统计未读数量
394                                     count = (int) userMail.stream().filter(s -> s.getMailType().equals(mailType) && s.getReceiver().contains(eMail) && s.getReadFlag().equals(0)).count();
d8f4b9 395                                     nextCode.setTotal(count);
X 396                                 }
397                                 codeList.add(nextCode);
398                                 allCount = (allCount + count);
399                             }
400                             codeList.get(0).setTotal(allCount);
401                             m.setTotal(allCount);
877259 402                             m.setChildren(codeList);
d8f4b9 403                         }
X 404                         break;
405                     case 3://待处理邮件
877259 406                         m.setChildren(new ArrayList<>());
d8f4b9 407                         if (userMail.size() > 0) {
7cf738 408                             m.setTotal((int) userMail.stream().filter(s -> s.getHandle().equals(1)).count());
d8f4b9 409                         }
X 410                         break;
411                     case 4://未读邮件
877259 412                         m.setChildren(new ArrayList<>());
d8f4b9 413                         if (userMail.size() > 0) {
7cf738 414                             m.setTotal((int) userMail.stream().filter(s -> s.getReadFlag().equals(0)).count());
d8f4b9 415                         }
X 416                         break;
417                     case 5://群邮箱
877259 418                         m.setChildren(new ArrayList<>());
d8f4b9 419                         break;
X 420                     default:
421                         break;
422                 }
423             }
424             return module;
425         } catch (Exception e) {
426             throw e;
427         }
428     }
7cf738 429
X 430     @Override
431     public void updateMailHandle(String handleTime, String docCode) {
432         String sql = " set nocount on \n";
433         try {
434             sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
435             sql += "update t482101H set handle_time=" + (StringUtils.isBlank(handleTime) ? "null" : GridUtils.prossSqlParm(handleTime)) +
436                     " where docCode = @docCode\n";
437             sql += "select @@ROWCOUNT";
438             jdbcTemplate.queryForObject(sql, Integer.class);
439         } catch (Exception e) {
440             throw e;
441         }
442     }
385e2d 443 }