Appointment.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. package restcontroller.webmanage.saletool.appointment;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import common.Controller;
  5. import common.YosException;
  6. import common.annotation.API;
  7. import common.data.*;
  8. import io.swagger.annotations.Api;
  9. import restcontroller.R;
  10. import restcontroller.webmanage.saletool.fad.FadHelper;
  11. import java.util.ArrayList;
  12. import java.util.LinkedHashSet;
  13. /**
  14. * 预约报名
  15. */
  16. public class Appointment extends Controller {
  17. /**
  18. * 构造函数
  19. *
  20. * @param content
  21. */
  22. public Appointment(JSONObject content) throws YosException {
  23. super(content);
  24. }
  25. @API(title = "新增预约单", apiversion = R.ID20240513144602.v1.class)
  26. public String insert() throws YosException {
  27. String ownertable = content.getStringValue("ownertable");
  28. String ownerid = content.getStringValue("ownerid");
  29. Long shareuserid = content.getLongValue("shareuserid");
  30. String sharename = "";
  31. if (!ownertable.isEmpty()) {
  32. if (shareuserid > 0) {
  33. sharename=getUser(shareuserid).getString("name");
  34. } else {
  35. Rows rows = dbConnect.runSqlQuery("SELECT createuserid,createby from " + ownertable + " WHERE " + ownertable + "id=" + ownerid + " and siteid='" + siteid + "'");
  36. if (rows.isNotEmpty()) {
  37. shareuserid = rows.get(0).getLong("createuserid");
  38. sharename = rows.get(0).getString("createby");
  39. }
  40. }
  41. }
  42. JSONObject extrajson = new JSONObject();
  43. if (content.containsKey("extrajson")) {
  44. extrajson = content.getJSONObject("extrajson");
  45. }
  46. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_appointment");
  47. insertSQL.setUniqueid(createTableID("sa_appointment"));
  48. insertSQL.setSiteid(siteid);
  49. insertSQL.setValue("name", content.getStringValue("name"));
  50. insertSQL.setValue("phonenumber", content.getStringValue("phonenumber"));
  51. insertSQL.setValue("province", content.getStringValue("province"));
  52. insertSQL.setValue("city", content.getStringValue("city"));
  53. insertSQL.setValue("county", content.getStringValue("county"));
  54. insertSQL.setValue("address", content.getStringValue("address"));
  55. insertSQL.setValue("ownertable", ownertable);
  56. insertSQL.setValue("ownerid", ownerid);
  57. insertSQL.setValue("type", content.getStringValue("type"));
  58. insertSQL.setValue("shareuserid", shareuserid);
  59. insertSQL.setValue("sharename", sharename);
  60. insertSQL.setValue("typemx", content.getStringValue("typemx"));
  61. insertSQL.setValue("extrajson", extrajson);
  62. insertSQL.insert();
  63. return getSucReturnObject().toString();
  64. }
  65. @API(title = "预约单列表", apiversion = R.ID20240513151902.v1.class)
  66. public String list() throws YosException {
  67. /*
  68. 过滤条件设置
  69. */
  70. StringBuffer where = new StringBuffer(" 1=1 ");
  71. if (content.containsKey("where")) {
  72. JSONObject whereObject = content.getJSONObject("where");
  73. if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
  74. where.append(" and (");
  75. where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
  76. where.append("or t1.province like'%").append(whereObject.getString("condition")).append("%' ");
  77. where.append("or t1.city like'%").append(whereObject.getString("condition")).append("%' ");
  78. where.append("or t1.county like'%").append(whereObject.getString("condition")).append("%' ");
  79. where.append("or t1.address like'%").append(whereObject.getString("condition")).append("%' ");
  80. where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
  81. where.append(")");
  82. }
  83. if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
  84. where.append(" and (");
  85. where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
  86. where.append(")");
  87. }
  88. if (whereObject.containsKey("begindate_create") && !"".equals(whereObject.getString("begindate_create"))) {
  89. where.append(" and (");
  90. where.append("t1.createdate >='").append(whereObject.getString("begindate_create")).append("' ");
  91. where.append(")");
  92. }
  93. if (whereObject.containsKey("enddate_create") && !"".equals(whereObject.getString("enddate_create"))) {
  94. where.append(" and (");
  95. where.append("t1.createdate <='").append(whereObject.getString("enddate_create")).append(" 23:59:59' ");
  96. where.append(")");
  97. }
  98. }
  99. if (pageSorting.equals("''")) {
  100. pageSorting = "t1.createdate desc";
  101. }
  102. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_appointment")
  103. .setTableAlias("t1");
  104. querySQL.addQueryFields("addressdetail", "concat(province,city,county,address)");
  105. querySQL.setSiteid(siteid);
  106. querySQL.setWhere(where.toString());
  107. querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
  108. Rows rows = querySQL.query();
  109. return getSucReturnObject().setData(rows).toString();
  110. }
  111. @API(title = "工作台预约列表", apiversion = R.ID20240513154802.v1.class)
  112. public String worklist() throws YosException {
  113. /*
  114. 过滤条件设置
  115. */
  116. StringBuffer where = new StringBuffer(" 1=1 ");
  117. if (content.containsKey("where")) {
  118. JSONObject whereObject = content.getJSONObject("where");
  119. if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
  120. where.append(" and (");
  121. where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
  122. where.append(")");
  123. }
  124. }
  125. if (pageSorting.equals("''")) {
  126. pageSorting = "t1.createdate desc";
  127. }
  128. LinkedHashSet<Long> userids = new LinkedHashSet<>();
  129. userids.add(userid);
  130. if (usertype == 21) {
  131. Rows rows = dbConnect.runSqlQuery("SELECT userid from sys_enterprise_hr WHERE sys_enterpriseid=" + sys_enterpriseid + " and siteid='" + siteid + "'");
  132. userids.addAll(rows.toArrayList("userid", new ArrayList<>()));
  133. }
  134. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_appointment")
  135. .setTableAlias("t1");
  136. querySQL.addQueryFields("addressdetail", "concat(province,city,county,address)");
  137. querySQL.setSiteid(siteid);
  138. querySQL.setWhere("shareuserid", userids.toArray());
  139. querySQL.setWhere(where.toString());
  140. querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
  141. Rows rows = querySQL.query();
  142. for (Row row : rows) {
  143. row.put("headpic", getHeadPic(row.getLong("createuserid")));
  144. }
  145. return getSucReturnObject().setData(rows).toString();
  146. }
  147. @API(title = "我的预约列表", apiversion = R.ID20240513162802.v1.class)
  148. public String mylist() throws YosException {
  149. /*
  150. 过滤条件设置
  151. */
  152. StringBuffer where = new StringBuffer(" 1=1 ");
  153. if (content.containsKey("where")) {
  154. JSONObject whereObject = content.getJSONObject("where");
  155. if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
  156. where.append(" and (");
  157. where.append("t1.type ='").append(whereObject.getString("type")).append("' ");
  158. where.append(")");
  159. }
  160. }
  161. if (pageSorting.equals("''")) {
  162. pageSorting = "t1.createdate desc";
  163. }
  164. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_appointment")
  165. .setTableAlias("t1");
  166. querySQL.addQueryFields("addressdetail", "concat(province,city,county,address)");
  167. querySQL.setSiteid(siteid);
  168. querySQL.setWhere("createuserid", userid);
  169. querySQL.setWhere(where.toString());
  170. querySQL.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
  171. Rows rows = querySQL.query();
  172. for (Row row : rows) {
  173. row.put("headpic", getHeadPic(row.getLong("createuserid")));
  174. }
  175. return getSucReturnObject().setData(rows).toString();
  176. }
  177. }