| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package restcontroller.webmanage.saletool.orderclue;
- import beans.datacontrllog.DataContrlLog;
- import beans.dataextend.DataExtend;
- import beans.datatag.DataTag;
- import beans.datateam.DataTeam;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.annotation.CACHEING_CLEAN;
- import common.annotation.cm;
- import common.data.*;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.R;
- import java.util.ArrayList;
- import java.util.HashMap;
- public class Campaign extends Controller {
- /**
- * 构造函数
- *
- * @param content
- */
- public Campaign(JSONObject content) throws YosException {
- super(content);
- }
- @API(title = "添加医生", apiversion = R.ID2025103013511502.v1.class)
- public String addDoctor() throws YosException {
- Long sat_campaignid = content.getLong("sat_campaignid");
- ArrayList<String> sqllist = new ArrayList<>();
- JSONArray doctors = content.getJSONArray("doctors");
- for (Object object : doctors) {
- JSONObject doctor = (JSONObject) object;
- Long sa_doctorid = doctor.getLong("sa_doctorid");
- Long sat_campaign_doctorid = doctor.getLong("sat_campaign_doctorid");
- if (sat_campaign_doctorid <= 0) {
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sat_campaign_doctor");
- insertSQL.setSiteid(siteid);
- insertSQL.setUniqueid(createTableID("sat_campaign_doctor"));
- insertSQL.setValue("sat_campaignid", sat_campaignid);
- insertSQL.setValue("sa_doctorid", sa_doctorid);
- insertSQL.setValue("amount", doctor.getBigDecimalValue("amount"));
- sqllist.add(insertSQL.getSQL());
- sqllist.add(DataContrlLog.createLog(this, "sat_campaign", sat_campaignid, "新建医生", "医生ID:" + sa_doctorid).getSQL());
- } else {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sat_campaign_doctor");
- updateSQL.setSiteid(siteid);
- updateSQL.setUniqueid(sat_campaign_doctorid);
- updateSQL.setValue("sat_campaignid", sat_campaignid);
- updateSQL.setValue("sa_doctorid", sa_doctorid);
- updateSQL.setValue("amount", doctor.getBigDecimalValue("amount"));
- sqllist.add(updateSQL.getSQL());
- sqllist.add(DataContrlLog.createLog(this, "sat_campaign", sat_campaignid, "编辑医生", "医生ID" + sa_doctorid).getSQL());
- }
- }
- dbConnect.runSqlUpdate(sqllist);
- return getSucReturnObject().toString();
- }
- @API(title = "删除医生", apiversion = R.ID2025103013514902.v1.class)
- public String deleteDoctor() throws YosException {
- Long sat_campaignid = content.getLong("sat_campaignid");
- JSONArray sa_doctorid = content.getJSONArray("sa_doctorid");
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sat_campaign_doctor");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setWhere("sat_campaignid", sat_campaignid);
- deleteSQL.setWhere("sa_doctorid", sa_doctorid);
- deleteSQL.delete();
- DataContrlLog.createLog(this, "sat_campaign", sat_campaignid, "删除医生", "医生ID:" + sa_doctorid).insert();
- return getSucReturnObject().toString();
- }
- @API(title = "医生列表", apiversion = R.ID2025103013521502.v1.class)
- public String list() throws YosException {
- Long sat_campaignid = content.getLong("sat_campaignid");
- QuerySQL doctorQuerySQL = SQLFactory.createQuerySQL(this, "sat_campaign_doctor", "*").setTableAlias("t1");
- doctorQuerySQL.addJoinTable(JOINTYPE.left, "sa_doctor", "t2", "t2.sa_doctorid=t1.sa_doctorid and t2.siteid=t1.siteid",
- "doctorname");
- doctorQuerySQL.addJoinTable(JOINTYPE.left, "sa_hospitaldep", "t3", "t3.sa_hospitaldepid=t2.sa_hospitaldepid and t3.siteid=t2.siteid",
- "hospitaldepname");
- doctorQuerySQL.addJoinTable(JOINTYPE.left, "sa_customers", "t4", "t4.sa_customersid=t3.sa_customersid and t4.siteid=t3.siteid");
- doctorQuerySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t5", "t5.sys_enterpriseid=t4.sys_enterpriseid and t5.siteid=t4.siteid");
- doctorQuerySQL.addQueryFields("hospitalname", "t5.enterprisename");
- doctorQuerySQL.setSiteid(siteid);
- doctorQuerySQL.setWhere("t1.sat_campaignid=" + sat_campaignid);
- doctorQuerySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
- doctorQuerySQL.setCondition("t2.doctorname","t3.hospitaldepname","t5.enterprisename");
- Rows doctorRows = doctorQuerySQL.query();
- return getSucReturnObject().setData(doctorRows).toString();
- }
- @API(title = "选择医生", apiversion = R.ID2025103013523102.v1.class)
- public String chooseDoctor() throws YosException {
- String tablename = "sa_doctor";
- 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.doctorname like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.professional like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t2.hospitaldepname like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t4.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- }
- Long sat_campaignid = content.getLongValue("sat_campaignid");
- String where2 = DataTeam.getDataWhereStr(this, tablename, "t1", 8);
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_doctor", "*").setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sa_hospitaldep", "t2", "t2.sa_hospitaldepid=t1.sa_hospitaldepid and t2.siteid=t1.siteid", "hospitaldepname");
- querySQL.addJoinTable(JOINTYPE.left, "sa_customers", "t3", "t3.sa_customersid=t1.sa_customersid");
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t4", "t4.sys_enterpriseid=t3.sys_enterpriseid",
- "enterprisename");
- querySQL.setWhere(where);
- querySQL.setWhere(where2);
- querySQL.setWhere("not exists(select 1 from sat_campaign_doctor where sat_campaignid=" + sat_campaignid + " and sa_doctorid=t1.sa_doctorid and siteid='" + siteid + "' )");
- querySQL.setSiteid(siteid);
- querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
- Rows rows = querySQL.query();
- ArrayList<Long> ids = rows.toArrayList("sa_doctorid", new ArrayList<>());
- RowsMap leaderRows = DataTeam.getLeader(this, "sa_doctor", rows.toArrayList("sa_doctorid")).toRowsMap("ownerid");
- //标签
- HashMap<Long, ArrayList<String>> tagList = DataTag.queryTag(this, "sa_doctor", ids, false);
- //系统标签
- HashMap<Long, ArrayList<String>> sysTagList = DataTag.queryTag(this, "sa_doctor", ids, true);
- for (Row row : rows) {
- Long id = row.getLong("sa_doctorid");
- row.put("leader", leaderRows.get(row.getString("sa_doctorid")));
- 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);
- }
- return getSucReturnObject().setData(rows).toString();
- }
- }
|