Bladeren bron

查询医院关键人

wu 2 maanden geleden
bovenliggende
commit
8f5b85ba8c

+ 13 - 1
src/custom/beans/CommonHepler.java

@@ -46,7 +46,7 @@ public class CommonHepler {
         return rows.toRowsMap("sa_hospitaldepid");
     }
 
-    public static RowsMap getAgentRowsMap(Controller controller,List<Long> sa_customersids) throws YosException {
+    public static RowsMap getAgentRowsMap(Controller controller, List<Long> sa_customersids) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sa_agents_hospital", "*").setTableAlias("t1");
         querySQL.addJoinTable(BaseClass.JOINTYPE.left, "sa_agents", "t2", "t2.sa_agentsid = t1.sa_agentsid AND t2.siteid = t1.siteid");
         querySQL.addJoinTable(BaseClass.JOINTYPE.left, "sys_enterprise", "t3", "t3.sys_enterpriseid = t2.sys_enterpriseid AND t3.siteid = t2.siteid", "enterprisename");
@@ -55,4 +55,16 @@ public class CommonHepler {
         Rows rows = querySQL.query();
         return rows.toRowsMap("sa_customersid");
     }
+
+
+    public static RowsMap getKeyDoctorsRowsMap(Controller controller, List<Long> sa_customersids) throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sa_doctor", "doctorname", "sa_customersid").setTableAlias("t1");
+        querySQL.addJoinTable(BaseClass.JOINTYPE.left, "sa_customers", "t2", "t2.sa_customersid=t1.sa_customersid and t2.siteid=t1.siteid");
+        querySQL.addJoinTable(BaseClass.JOINTYPE.left, "sys_datatag", "t3", "t3.ownertable='sa_doctor' and t3.ownerid=t1.sa_doctorid and t3.siteid=t1.siteid");
+        querySQL.setSiteid(controller.siteid);
+        querySQL.setWhere("t3.tag='关键人'");
+        querySQL.setWhere("t1.sa_customersid ", sa_customersids);
+        Rows rows = querySQL.query();
+        return rows.toRowsMap("sa_customersid");
+    }
 }

+ 3 - 1
src/custom/restcontroller/sale/customer/Hospital.java

@@ -422,6 +422,7 @@ public class Hospital extends Controller {
         HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, tablename, ids, true);
         Rows stageRows = dbConnect.runSqlQuery("SELECT stagename,sequence from sa_devstage WHERE siteid='" + siteid + "' order by sequence");
         RowsMap AgentRowsMap = CommonHepler.getAgentRowsMap(this, ids);
+        RowsMap KeyDoctorsRowsMap = CommonHepler.getKeyDoctorsRowsMap(this, ids);
         for (Row row : rows) {
             Long id = row.getLong("sa_customersid");
             row.put("leader", leaderRows.get(String.valueOf(id)));
@@ -439,7 +440,8 @@ public class Hospital extends Controller {
             //预估手术总量
             row.putIfAbsent("totalop", 0);
             //关键人
-            row.putIfAbsent("keyperson", "");
+            Rows KeyDoctors = KeyDoctorsRowsMap.getOrDefault(String.valueOf(id), new Rows());
+            row.putIfAbsent("keyperson", StringUtils.join(KeyDoctors.toArray("doctorname")));
             //签约经销商
             Rows signagent = AgentRowsMap.getOrDefault(String.valueOf(id), new Rows());
             row.putIfAbsent("signagent", StringUtils.join(signagent.toArray("enterprisename")));

+ 4 - 1
src/custom/restcontroller/webmanage/sale/agents/agents2.java

@@ -1,5 +1,6 @@
 package restcontroller.webmanage.sale.agents;
 
+import beans.CommonHepler;
 import beans.datatag.DataTag;
 import beans.datateam.DataTeam;
 import beans.recycle.Recycle;
@@ -69,6 +70,7 @@ public class agents2 extends Controller {
         //系统标签
         HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_customers", ids, true);
         Rows stageRows = dbConnect.runSqlQuery("SELECT stagename,sequence from sa_devstage WHERE siteid='" + siteid + "' order by sequence");
+        RowsMap KeyDoctorsRowsMap = CommonHepler.getKeyDoctorsRowsMap(this, ids);
         for (Row row : rows) {
             Long id = row.getLong("sa_customersid");
             row.put("leader", leaderRows.get(String.valueOf(id)));
@@ -89,7 +91,8 @@ public class agents2 extends Controller {
             //预估手术总量
             row.putIfAbsent("totalop", 0);
             //关键人
-            row.putIfAbsent("keyperson", "");
+            Rows KeyDoctors = KeyDoctorsRowsMap.getOrDefault(String.valueOf(id), new Rows());
+            row.putIfAbsent("keyperson", StringUtils.join(KeyDoctors.toArray("doctorname")));
             String stagename = row.getString("stagename");
             for (Row stageRow : stageRows) {
                 if (stagename.equals(stageRow.getString("stagename"))) {

+ 3 - 1
src/custom/restcontroller/webmanage/sale/contract/Contract2.java

@@ -358,6 +358,7 @@ public class Contract2 extends Controller {
         HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, tablename, ids, true);
         Rows stageRows = dbConnect.runSqlQuery("SELECT stagename,sequence from sa_devstage WHERE siteid='" + siteid + "' order by sequence");
         RowsMap AgentRowsMap = CommonHepler.getAgentRowsMap(this, ids);
+        RowsMap KeyDoctorsRowsMap = CommonHepler.getKeyDoctorsRowsMap(this, ids);
         for (Row row : rows) {
             Long id = row.getLong("sa_customersid");
             row.put("leader", leaderRows.get(String.valueOf(id)));
@@ -379,7 +380,8 @@ public class Contract2 extends Controller {
             //预估手术总量
             row.putIfAbsent("totalop", 0);
             //关键人
-            row.putIfAbsent("keyperson", "");
+            Rows KeyDoctors = KeyDoctorsRowsMap.getOrDefault(String.valueOf(id), new Rows());
+            row.putIfAbsent("keyperson", StringUtils.join(KeyDoctors.toArray("doctorname")));
             //签约经销商
             Rows signagent = AgentRowsMap.getOrDefault(String.valueOf(id), new Rows());
             row.putIfAbsent("signagent", StringUtils.join(signagent.toArray("enterprisename")));

+ 3 - 1
src/custom/restcontroller/webmanage/sale/order/Order2.java

@@ -524,6 +524,7 @@ public class Order2 extends Controller {
         HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, tablename, ids, true);
         Rows stageRows = dbConnect.runSqlQuery("SELECT stagename,sequence from sa_devstage WHERE siteid='" + siteid + "' order by sequence");
         RowsMap AgentRowsMap = CommonHepler.getAgentRowsMap(this, ids);
+        RowsMap KeyDoctorsRowsMap = CommonHepler.getKeyDoctorsRowsMap(this, ids);
         for (Row row : rows) {
             Long id = row.getLong("sa_customersid");
             row.put("leader", leaderRows.get(String.valueOf(id)));
@@ -540,7 +541,8 @@ public class Order2 extends Controller {
             //预估手术总量
             row.putIfAbsent("totalop", 0);
             //关键人
-            row.putIfAbsent("keyperson", "");
+            Rows KeyDoctors = KeyDoctorsRowsMap.getOrDefault(String.valueOf(id), new Rows());
+            row.putIfAbsent("keyperson", StringUtils.join(KeyDoctors.toArray("doctorname")));
             //签约经销商
             Rows signagent = AgentRowsMap.getOrDefault(String.valueOf(id), new Rows());
             row.putIfAbsent("signagent", StringUtils.join(signagent.toArray("enterprisename")));