Kaynağa Gözat

aps 创新设备-邮件问题修复

chenguangyu 9 ay önce
ebeveyn
işleme
bc5f7b77bb

+ 19 - 15
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquMaintenanceReportDao.java

@@ -11,35 +11,36 @@ import java.util.List;
 
 public interface EquMaintenanceReportDao extends BaseMapper<EquMaintenanceReportDo> {
 
-    @Select("SELECT DISTINCT\n" +
+    @Select("SELECT a.* FROM (\n" +
+            "SELECT DISTINCT\n" +
             "\tu.NAME,\n" +
             "\tu.EMAIL,\n" +
             "\tr.NAME AS roleName \n" +
             "FROM\n" +
             "\tsys_user u\n" +
-            "\tLEFT JOIN sys_user_role ur ON u.ID = ur.USERID\n" +
-            "\tLEFT JOIN sys_role r ON ur.ROLEID = r.ID\n" +
-            "\tLEFT JOIN sys_user_org uo ON u.ID = uo.USERID\n" +
-            "\tLEFT JOIN sys_organization org ON uo.ORGID = org.ID \n" +
+            "    LEFT JOIN sys_user_role ur ON u.ID = ur.USERID AND ur.DELETED = 0  \n" +
+            "    LEFT JOIN sys_role r ON ur.ROLEID = r.ID AND r.DELETED = 0  \n" +
+            "    LEFT JOIN sys_user_org uo ON u.ID = uo.USERID AND uo.DELETED = 0  \n" +
+            "    LEFT JOIN sys_organization org ON uo.ORGID = org.ID  AND org.DELETED = 0  \n" +
             "WHERE\n" +
             "\tu.DELETED = 0 \n" +
-            "\tAND uo.ORGID = #{workshopid} \n" +
+            "\tAND ORGID = #{workshopid}\n" +
             "\tAND ( r.NAME = '车间主任' OR r.NAME = '车间维修主管') \n" +
-            "GROUP BY\n" +
-            "\tu.EMAIL\n" +
+            "\tGROUP BY\n" +
+            "    u.EMAIL\n" +
             "UNION\n" +
             "SELECT DISTINCT\n" +
             "    u.NAME,\n" +
             "    u.EMAIL,\n" +
             "    r.NAME AS roleName \n" +
             "FROM\n" +
-            "    sys_user u\n" +
-            "    LEFT JOIN sys_user_role ur ON u.ID = ur.USERID\n" +
-            "    LEFT JOIN sys_role r ON ur.ROLEID = r.ID\n" +
-            "    LEFT JOIN sys_user_org uo ON u.ID = uo.USERID\n" +
-            "    LEFT JOIN sys_organization org ON uo.ORGID = org.ID \n" +
+            "    sys_user u \n" +
+            "    LEFT JOIN sys_user_role ur ON u.ID = ur.USERID AND ur.DELETED = 0  \n" +
+            "    LEFT JOIN sys_role r ON ur.ROLEID = r.ID AND r.DELETED = 0  \n" +
+            "    LEFT JOIN sys_user_org uo ON u.ID = uo.USERID AND uo.DELETED = 0  \n" +
+            "    LEFT JOIN sys_organization org ON uo.ORGID = org.ID  AND org.DELETED = 0  \n" +
             "WHERE\n" +
-            "    u.DELETED = 0 \n" +
+            "    u.DELETED = 0  \n" +
             "    AND org.FULLPID LIKE CONCAT('%', (\n" +
             "        SELECT \n" +
             "            SUBSTRING_INDEX(\n" +
@@ -52,8 +53,11 @@ public interface EquMaintenanceReportDao extends BaseMapper<EquMaintenanceReport
             "            )\n" +
             "        ), '%')\n" +
             "    AND r.NAME = '生产计划主任'\n" +
+            "\t\tGROUP BY\n" +
+            "    u.EMAIL\n" +
+            ") a\n" +
             "GROUP BY\n" +
-            "    u.EMAIL")
+            "    a.EMAIL\n")
     List<SysUserDo> selectEmailList( @Param("workshopid") String workshopid);