Procházet zdrojové kódy

aps 创新设备-历史版本问题修复

chenguangyu před 9 měsíci
rodič
revize
86d9e8ec1d

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

@@ -11,23 +11,49 @@ import java.util.List;
 
 public interface EquMaintenanceReportDao extends BaseMapper<EquMaintenanceReportDo> {
 
-    @Select("SELECT\n" +
-            "  DISTINCT\n" +
-            "  u.NAME,\n" +
+    @Select("SELECT DISTINCT\n" +
+            "\tu.NAME,\n" +
             "\tu.EMAIL,\n" +
-            "\tr.NAME AS roleName\n" +
+            "\tr.NAME AS roleName \n" +
             "FROM\n" +
             "\tsys_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" +
-            "WHERE \n" +
-            "u.DELETED = 0\n" +
-            "AND ORGID = #{workshopid}\n" +
-            "AND (r.NAME = '车间主任' OR r.NAME = '车间维修主管' OR r.NAME = '生产计划主任')\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" +
+            "WHERE\n" +
+            "\tu.DELETED = 0 \n" +
+            "\tAND uo.ORGID = #{workshopid} \n" +
+            "\tAND ( r.NAME = '车间主任' OR r.NAME = '车间维修主管') \n" +
             "GROUP BY\n" +
-            "  u.EMAIL")
+            "\tu.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" +
+            "WHERE\n" +
+            "    u.DELETED = 0 \n" +
+            "    AND org.FULLPID LIKE CONCAT('%', (\n" +
+            "        SELECT \n" +
+            "            SUBSTRING_INDEX(\n" +
+            "                SUBSTRING_INDEX(\n" +
+            "                    (SELECT GROUP_CONCAT(FULLPID SEPARATOR ',') \n" +
+            "                     FROM sys_organization o \n" +
+            "                     WHERE o.ID = #{workshopid}), \n" +
+            "                    ',', 2), \n" +
+            "                ',', -1\n" +
+            "            )\n" +
+            "        ), '%')\n" +
+            "    AND r.NAME = '生产计划主任'\n" +
+            "GROUP BY\n" +
+            "    u.EMAIL")
     List<SysUserDo> selectEmailList( @Param("workshopid") String workshopid);