Просмотр исходного кода

查询医院、经销商关联的合同信息。

wu 3 месяцев назад
Родитель
Сommit
f5ff6b37d7

+ 5 - 0
src/custom/restcontroller/R.java

@@ -7342,6 +7342,11 @@ public class R {
         public static class v1 {
         }
     }
+
+    public static class ID2025102710011202 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 67 - 0
src/custom/restcontroller/webmanage/sale/agents/agents2.java

@@ -102,5 +102,72 @@ public class agents2 extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    @API(title = "关联查询合同", apiversion = R.ID2025102710011202.v1.class)
+    public String queryContractList() throws YosException {
+
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
+                where.append(" and(");
+                where.append("t1.billno 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.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t6.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+        }
+
+        Long sa_agentsid = content.getLongValue("sa_agentsid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_contract",
+                "sa_contractid", "billno", "type", "begdate", "enddate", "createdate", "createby", "remarks", "signdate");
+        querySQL.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");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t4", "t4.sa_agentsid=t1.sa_agentsid and t4.siteid=t1.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t5", "t5.sys_enterpriseid=t4.sys_enterpriseid and t5.siteid=t4.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t6", "t6.hrid=t1.saler_hrid and t6.siteid=t1.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t7", "t1.siteid = t7.siteid and t1.sa_contractid = t7.ownerid and t7.ownertable = 'sa_contract'", "deletereason");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere(where);
+        querySQL.setWhere("t4.sa_agentsid",sa_agentsid);
+        querySQL.addQueryFields("hospitalname", "t3.enterprisename");
+        querySQL.addQueryFields("agentname", "t5.enterprisename");
+        querySQL.addQueryFields("salername", "t6.name");
+        querySQL.addQueryFields("deletechangedate", "t7.changedate");
+        querySQL.addQueryFields("deletechangeby", "t7.changeby");
+        querySQL.addQueryFields("status", "if(current_date < t1.begdate,'未生效',if(current_date > t1.enddate,'结束','生效'))");
+        querySQL.setPage(pageSize, pageNumber);
+        if (pageSorting.equals("''")) {
+            pageSorting = "t1.createdate desc";
+        }
+        querySQL.setOrderBy(pageSorting);
+
+        querySQL.withDeleteData(true);
+
+        Rows rows = querySQL.query();
+        ArrayList<Long> ids = rows.toArrayList("sa_contractid", new ArrayList<>());
+        RowsMap leaderRows = DataTeam.getLeader(this, "sa_contract", rows.toArrayList("sa_contractid", new ArrayList<>())).toRowsMap("ownerid");
+        //标签
+        HashMap<Long, ArrayList<String>> tagList = DataTag.queryTag(this, "sa_contract", ids, false);
+        //系统标签
+        HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_contract", ids, true);
+
+        for (Row row : rows) {
+            Long id = row.getLong("sa_contractid");
+            row.put("leader", leaderRows.get(row.getString("sa_contractid")));
+            ArrayList<String> tag = tagList.get(id) != null ? tagList.get(id) : new ArrayList<>();
+            ArrayList<String> sys_tag = sysTagList.get(id) != null ? sysTagList.get(id) : new ArrayList<>();
+            //非系统标签
+            row.put("tag", tag);
+            //系统标签
+            row.put("tag_sys", sys_tag);
+        }
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
 
 }