瀏覽代碼

feature 发送邮件代码提交

xiahan 9 月之前
父節點
當前提交
3250ce6c59

+ 7 - 1
bs-common/src/main/java/com/rongwei/safecommon/utils/CXCommonUtils.java

@@ -81,7 +81,13 @@ public class CXCommonUtils {
     public static void sendTextMail(MailDo mailDo){
         commonFeginClient.sendTextMail(mailDo);
     }
-
+    /**
+     * 发送邮件
+     * @param mailDo
+     */
+    public static void sendHtmlMail(MailDo mailDo){
+        commonFeginClient.sendHtmlMail(mailDo);
+    }
     /**
      * 发送消息提醒
      *

+ 2 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/CommonDao.java

@@ -115,4 +115,6 @@ public interface CommonDao {
             "WHERE sr.CODE in(${roles}) AND ${whr}")
     List<String> getRoleUserIds(@Param("roles") String roles,@Param("whr") String whr);
 
+    List<String> getEquFrockUserId(@Param("tenantId") String tenantId,@Param("deptId") String deptId);
+
 }

+ 4 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquFrockTestRecordService.java

@@ -5,6 +5,8 @@ import com.rongwei.bsentity.domain.EquFrockTestRecordDo;
 import com.rongwei.rwcommon.base.R;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.Map;
+
 /**
  * <p>
  * 设备子系统——工装周期检测记录 服务类
@@ -15,4 +17,6 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface EquFrockTestRecordService extends IService<EquFrockTestRecordDo> {
     R importEquFrockTestRecord(MultipartFile file);
+
+    R sendRemindMail(Map<String,String> params);
 }

+ 51 - 4
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquFrockTestRecordServiceImpl.java

@@ -1,6 +1,7 @@
 package com.rongwei.bscommon.sys.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.CommonDao;
 import com.rongwei.bscommon.sys.dao.EquFrockTestRecordDao;
 import com.rongwei.bscommon.sys.service.EquFrockTestRecordService;
 import com.rongwei.bscommon.sys.utils.CommonUtils;
@@ -13,12 +14,15 @@ import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.rwcommon.vo.MailDo;
 import com.rongwei.safecommon.utils.CXCommonUtils;
 import org.apache.poi.ss.usermodel.DataFormatter;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,18 +35,23 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 @Service
 public class EquFrockTestRecordServiceImpl extends ServiceImpl<EquFrockTestRecordDao, EquFrockTestRecordDo> implements EquFrockTestRecordService {
 
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
     @Autowired
     private EquFrockTestRecordDao equFrockTestRecordDao;
-
     @Autowired
     private EquFrockTestRecordService equFrockTestRecordService;
-
+    @Autowired
+    private CommonDao commonDao;
+    public static final String MAIL_CONTENT=" 尊敬的各位领导,【%s】的【%s(%s)】的工装本次检测达到报废标准,请位领导知悉,本次工装检测信息如下页面截图,或者登录系统查看\n" +
+            "\n <img src='%s'/> " +
+            "系统登录地址: http://120.192.74.74:7500/#/page/s/d55d1e0878874b179a1a8dbbcd507f18";
     @Override
     @Transactional
     public R importEquFrockTestRecord(MultipartFile file) {
@@ -166,8 +175,8 @@ public class EquFrockTestRecordServiceImpl extends ServiceImpl<EquFrockTestRecor
                 } else {
                     equFrockTestRecordDo.setId(SecurityUtil.getUUID())
                             .setTenantid(CXCommonUtils.getCurrentUserFactoryId(currentUser))
-                            .setCreatedate(date)
-                            .setModifydate(date)
+                            .setModifydate(new Date())
+                            .setCreatedate(new Date())
                             .setCreateusername(currentUser.getName())
                             .setCreateuserid(currentUser.getId())
                             .setModifyusername(currentUser.getName())
@@ -213,4 +222,42 @@ public class EquFrockTestRecordServiceImpl extends ServiceImpl<EquFrockTestRecor
             }
         }
     }
+
+    @Override
+    public R sendRemindMail(Map<String, String> params) {
+        log.info("开始发送提醒邮件");
+        String id = params.get("id");
+        if (StringUtils.isBlank(id)) {
+            log.error("参数异常");
+            return R.error("邮件发送失败");
+        }
+        EquFrockTestRecordDo equFrockTestRecordDo = this.getById(id);
+        if (equFrockTestRecordDo == null) {
+            log.error("无法获取工装检测等级信息");
+            return R.error("邮件发送失败!无法获取工装检测等级信息");
+        }
+        String usedeptid = equFrockTestRecordDo.getUsedeptid();
+        if (StringUtils.isBlank(usedeptid)) {
+            log.error("工装所属车间为空");
+            return R.error("邮件发送失败!无法获取工装对应车间信息");
+        }
+        //   车间主任、车间维修主管、车间设备主管   以及 该工厂的设备部设备部长、设备部维修主管、设备部工装负责人
+        String tenantid = equFrockTestRecordDo.getTenantid();
+        List<String> equFrockUserId = commonDao.getEquFrockUserId(tenantid, usedeptid);
+        if(equFrockUserId.isEmpty()){
+            log.error("无法获取提醒人");
+            return R.error("无法获取提醒人");
+        }
+        String mailContent = String.format(MAIL_CONTENT, equFrockTestRecordDo.getUsedept(), equFrockTestRecordDo.getFrockname(),
+                equFrockTestRecordDo.getFrockname(),params.getOrDefault("imgBase64",""));
+        MailDo mailDo= new MailDo();
+        mailDo.setContent(mailContent);
+        mailDo.setSubject("工装报废提醒");
+        mailDo.setOperationtype("10");
+        mailDo.setReceiveEmail(equFrockUserId.toArray(new String[0]));
+        mailDo.setCcEmail(new String[]{});
+        mailDo.setNeedTransReceive(true);
+        CXCommonUtils.sendHtmlMail(mailDo);
+        return R.ok();
+    }
 }

+ 20 - 0
cx-equipment/cx-equipment-common/src/main/resources/mybatis/business/CommonDao.xml

@@ -111,4 +111,24 @@ VALUES
 	    #{model.modifyusername}
 	)
     </insert>
+    <select id="getEquFrockUserId" resultType="java.lang.String" parameterType="java.lang.String">
+        SELECT DISTINCT su.ID
+        FROM sys_user su
+                 LEFT JOIN sys_user_role sur ON su.ID = sur.USERID
+            AND sur.DELETED = '0'
+                 LEFT JOIN sys_role sr ON sur.ROLEID = sr.ID
+            AND sr.DELETED = '0'
+                 LEFT JOIN sys_user_org suo ON su.ID = suo.USERID
+            AND suo.DELETED = '0'
+                 LEFT JOIN sys_organization so ON suo.ORGID = so.ID
+            AND so.DELETED = '0'
+        WHERE su.DELETED = '0'
+          AND ((
+                   sr.CODE IN ('hoed', 'edms', 'sbbgzfzr')
+                       AND (FIND_IN_SET(#{tenantId}, so.FULLPID) OR so.ID = #{tenantId}))
+            OR (
+                   sr.CODE IN ('lczg', 'wms', 'CJSBZG') AND (FIND_IN_SET(#{deptId}, so.FULLPID) OR so.ID = #{deptId})
+                   )
+            )
+    </select>
 </mapper>