wu 1 неделя назад
Родитель
Сommit
cc69de3ab2

+ 3 - 0
src/custom/restcontroller/prsx/hospitaldep/SQL/查询科室负责人.sql

@@ -0,0 +1,3 @@
+SELECT sa_hospitaldepid,GROUP_CONCAT(doctorname) doctors from sa_doctor
+WHERE  isleader=1 and siteid=$siteid$
+GROUP BY sa_hospitaldepid

+ 11 - 3
src/custom/restcontroller/prsx/hospitaldep/hospitaldep.java

@@ -143,6 +143,9 @@ public class hospitaldep extends Controller {
                 where.append(" and(");
                 where.append("t1.hospitaldepname like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t3.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t5.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t6.doctors like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
 
@@ -180,9 +183,14 @@ public class hospitaldep extends Controller {
             where2 = DataTeam.getDataWhereStr(this, tablename, "t1", type);
         }
 
+        SQLFactory sqlFactory = new SQLFactory(this, "查询科室负责人");
+        sqlFactory.addParameter("siteid", siteid);
+
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_hospitaldep", "*").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sa_customers", "t2", "t2.sa_customersid=t1.sa_customersid and t2.siteid=t1.siteid");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t3.sys_enterpriseid=t2.sys_enterpriseid and t3.siteid=t2.siteid", "enterprisename");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_datateam", "t5", "t5.ownerid = t1.sa_hospitaldepid and t5.siteid = t1.siteid and t5.ownertable = 'sa_hospitaldep' and t5.isleader = 1");
+        querySQL.addJoinTable(JOINTYPE.left, sqlFactory, "t6", "t6.sa_hospitaldepid = t1.sa_hospitaldepid", "doctors");
         querySQL.setSiteid(siteid);
         querySQL.setWhere(where);
         querySQL.setWhere(where2);
@@ -196,7 +204,7 @@ public class hospitaldep extends Controller {
         //系统标签
         HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_hospitaldep", ids, true);
         Rows stageRows = dbConnect.runSqlQuery("SELECT stagename,sequence from sa_devstage WHERE siteid='" + siteid + "' order by sequence");
-        RowsMap doctorRowsMap = CommonHepler.getDoctorRowsMap(this, ids);
+//        RowsMap doctorRowsMap = CommonHepler.getDoctorRowsMap(this, ids);
         for (Row row : rows) {
             Long id = row.getLong("sa_hospitaldepid");
             row.put("leader", leaderRows.get(row.getString("sa_hospitaldepid")));
@@ -210,8 +218,8 @@ public class hospitaldep extends Controller {
             //系统标签
             row.put("tag_sys", sys_tag);
             //科室负责人
-            Rows doctorRows = doctorRowsMap.getOrDefault(id.toString(), new Rows());
-            row.putIfAbsent("doctors", StringUtils.join(doctorRows.toArray("doctorname"), ","));
+//            Rows doctorRows = doctorRowsMap.getOrDefault(id.toString(), new Rows());
+//            row.putIfAbsent("doctors", StringUtils.join(doctorRows.toArray("doctorname"), ","));
             String stagename = row.getString("stagename");
             for (Row stageRow : stageRows) {
                 if (stagename.equals(stageRow.getString("stagename"))) {