|
|
@@ -11,7 +11,6 @@ import common.data.*;
|
|
|
import restcontroller.R;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
|
|
|
/**
|
|
|
@@ -39,7 +38,7 @@ public class hospitaldep extends Controller {
|
|
|
if (!dbConnect.runSqlQuery("select * from sa_hospitaldep WHERE siteid='" + siteid + "' and sa_customersid=" + sa_customersid + " and hospitaldepname='" + hospitaldepname + "' and sa_hospitaldepid !='" + sa_hospitaldepid + "'").isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("该医院科室不可重复创建!").toString();
|
|
|
}
|
|
|
-
|
|
|
+ Rows stagenameRows = dbConnect.runSqlQuery("SELECT stagename from sa_devstage WHERE siteid='" + siteid + "' order by sequence LIMIT 1");
|
|
|
if (sa_hospitaldepid <= 0) {
|
|
|
sa_hospitaldepid = createTableID("sa_hospitaldep");
|
|
|
InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_hospitaldep");
|
|
|
@@ -49,6 +48,7 @@ public class hospitaldep extends Controller {
|
|
|
insertSQL.setValue("sa_customersid", sa_customersid);
|
|
|
insertSQL.setValue("type", content.getStringValue("type"));
|
|
|
insertSQL.setValue("remarks", content.getStringValue("remarks"));
|
|
|
+ insertSQL.setValue("stagename", stagenameRows.isNotEmpty() ? stagenameRows.get(0).getString("stagename") : "");
|
|
|
sqlList.add(insertSQL.getSQL());
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_hospitaldep", sa_hospitaldepid, "新建", "新建成功").getSQL());
|
|
|
//数据团队新增
|
|
|
@@ -77,7 +77,8 @@ public class hospitaldep extends Controller {
|
|
|
|
|
|
Long sa_hospitaldepid = content.getLongValue("sa_hospitaldepid");
|
|
|
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.setSiteid(siteid);
|
|
|
querySQL.setWhere("t1.sa_hospitaldepid", sa_hospitaldepid);
|
|
|
Rows rows = querySQL.query();
|
|
|
@@ -88,7 +89,6 @@ public class hospitaldep extends Controller {
|
|
|
HashMap<Long, ArrayList<String>> tagList = DataTag.queryTag(this, "sa_hospitaldep", ids, false);
|
|
|
//系统标签
|
|
|
HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_hospitaldep", ids, true);
|
|
|
-
|
|
|
for (Row row : rows) {
|
|
|
Long id = row.getLong("sa_hospitaldepid");
|
|
|
row.put("leader", leaderRows.get(row.getString("sa_hospitaldepid")));
|
|
|
@@ -101,8 +101,8 @@ public class hospitaldep extends Controller {
|
|
|
row.put("tag", tag);
|
|
|
//系统标签
|
|
|
row.put("tag_sys", sys_tag);
|
|
|
- //预估手术总量
|
|
|
- row.putIfAbsent("totalop", 0);
|
|
|
+ //科室负责人
|
|
|
+ row.putIfAbsent("doctors", "");
|
|
|
}
|
|
|
|
|
|
Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
@@ -125,12 +125,158 @@ public class hospitaldep extends Controller {
|
|
|
|
|
|
@API(title = "列表", apiversion = R.ID2025101409402402.v1.class)
|
|
|
public String list() throws YosException {
|
|
|
- return getSucReturnObject().toString();
|
|
|
+ // 1:我负责的;2:我参与的;3:我下属负责的;4:我下属参与的
|
|
|
+ String tablename = "sa_hospitaldep";
|
|
|
+ int type = content.getIntValue("type");
|
|
|
+ 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.hospitaldepname like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (whereObject.containsKey("startdate") && !"".equals(whereObject.getString("startdate"))) {
|
|
|
+ where.append(" and(");
|
|
|
+ where.append("t1.createdate >='").append(whereObject.getString("startdate")).append(" 00:00:00' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
|
|
|
+ where.append(" and(");
|
|
|
+ where.append("t1.createdate <='").append(whereObject.getString("enddate")).append(" 23:59:59' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ //科室类别
|
|
|
+ if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
|
|
|
+ where.append(" and(");
|
|
|
+ where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ //开发阶段
|
|
|
+ if (whereObject.containsKey("stagename") && !"".equals(whereObject.getString("stagename"))) {
|
|
|
+ where.append(" and(");
|
|
|
+ where.append("t1.stagename ='").append(whereObject.getString("stagename")).append("' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ String where2 = " 1=1 ";
|
|
|
+ if (type == 0) {
|
|
|
+ where2 = "(" + DataTeam.getDataWhereStr(this, tablename, "t1", 1)
|
|
|
+ + " or " + DataTeam.getDataWhereStr(this, tablename, "t1", 2) + ")";
|
|
|
+ } else {
|
|
|
+ where2 = DataTeam.getDataWhereStr(this, tablename, "t1", type);
|
|
|
+ }
|
|
|
+
|
|
|
+ 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.setSiteid(siteid);
|
|
|
+ querySQL.setWhere(where);
|
|
|
+ querySQL.setWhere(where2);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+
|
|
|
+ ArrayList<Long> ids = rows.toArrayList("sa_hospitaldepid", new ArrayList<>());
|
|
|
+ RowsMap leaderRows = DataTeam.getLeader(this, "sa_hospitaldep", rows.toArrayList("sa_hospitaldepid")).toRowsMap("ownerid");
|
|
|
+ //标签
|
|
|
+ HashMap<Long, ArrayList<String>> tagList = DataTag.queryTag(this, "sa_hospitaldep", ids, false);
|
|
|
+ //系统标签
|
|
|
+ HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_hospitaldep", ids, true);
|
|
|
+ for (Row row : rows) {
|
|
|
+ Long id = row.getLong("sa_hospitaldepid");
|
|
|
+ row.put("leader", leaderRows.get(row.getString("sa_hospitaldepid")));
|
|
|
+ if (leaderRows.get(String.valueOf(id)).isNotEmpty()) {
|
|
|
+ row.put("depname", leaderRows.get(String.valueOf(id)).get(0).getString("depname"));
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+ //科室负责人
|
|
|
+ row.putIfAbsent("doctors", "");
|
|
|
+ }
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
@API(title = "选择医院列表", apiversion = R.ID2025101409411402.v1.class)
|
|
|
public String chooseHospital() throws YosException {
|
|
|
- return getSucReturnObject().toString();
|
|
|
+
|
|
|
+ String tablename = "sa_customers";
|
|
|
+ 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.province like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.city like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.county like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.address like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t2.abbreviation like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t6.name like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t8.depname like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ where.append(" and ( t1.datastatus in (0,2) )");
|
|
|
+
|
|
|
+ String where2 = "(" + DataTeam.getDataWhereStr(this, tablename, "t1", 1)
|
|
|
+ + " or " + DataTeam.getDataWhereStr(this, tablename, "t1", 2) + ")";
|
|
|
+
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_customers", "sa_customersid", "createby", "createdate",
|
|
|
+ "sys_enterpriseid", "status", "type", "tradingstatus", "datastatus", "billno", "province", "city", "county", "address", "stagename", "grade");
|
|
|
+ querySQL.setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid AND t2.siteid = t1.siteid", "enterprisename");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t3", "t3.sa_saleareaid = t1.sa_saleareaid AND t3.siteid = t1.siteid", "areaname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_datateam", "t6", "t6.ownerid = t1.sa_customersid and t6.siteid = t1.siteid and t6.ownertable = 'sa_customers' and t6.isleader = 1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t7", "t7.userid = t6.userid and t7.siteid = t6.siteid ");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t8", "t8.departmentid = t7.departmentid and t8.siteid = t7.siteid ");
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setWhere(where);
|
|
|
+ querySQL.setWhere(where2);
|
|
|
+ querySQL.setPage(pageSize, pageNumber);
|
|
|
+ querySQL.setOrderBy(pageSorting);
|
|
|
+ querySQL.setRoleDataLimit(false);
|
|
|
+ querySQL.withDeleteData(true);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+ RowsMap leaderRows = DataTeam.getLeaderWithoutHeadpic(this, "sa_customers", rows.toArrayList("sa_customersid")).toRowsMap("ownerid");
|
|
|
+ ArrayList<Long> ids = rows.toArrayList("sa_customersid", new ArrayList<>());
|
|
|
+ //标签
|
|
|
+ HashMap<Long, ArrayList<String>> tagList = DataTag.queryTag(this, tablename, ids, false);
|
|
|
+ //系统标签
|
|
|
+ HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, tablename, ids, true);
|
|
|
+ for (Row row : rows) {
|
|
|
+ Long id = row.getLong("sa_customersid");
|
|
|
+ row.put("leader", leaderRows.get(String.valueOf(id)));
|
|
|
+ if (leaderRows.get(String.valueOf(id)).isNotEmpty()) {
|
|
|
+ row.put("name", leaderRows.get(String.valueOf(id)).get(0).getString("name"));
|
|
|
+ row.put("depname", leaderRows.get(String.valueOf(id)).get(0).getString("depname"));
|
|
|
+ }
|
|
|
+ ArrayList<String> tag = tagList.get(id) != null ? tagList.get(id) : new ArrayList<String>();
|
|
|
+ ArrayList<String> sys_tag = sysTagList.get(id) != null ? sysTagList.get(id) : new ArrayList<String>();
|
|
|
+ if (row.getString("agentsstatus").equals("禁用") || row.getString("agentsstatus").equals("作废")) {
|
|
|
+ tag.removeAll(row.getJSONArray("agentstag").toJavaList(String.class));
|
|
|
+ sys_tag.removeAll(row.getJSONArray("agentstag").toJavaList(String.class));
|
|
|
+ }
|
|
|
+ //非系统标签
|
|
|
+ row.put("tag", tag);
|
|
|
+ //系统标签
|
|
|
+ row.put("tag_sys", sys_tag);
|
|
|
+ }
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
|