ordercluerule.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package restcontroller.webmanage.saletool.orderclue;
  2. import com.alibaba.fastjson2.JSONArray;
  3. import com.alibaba.fastjson2.JSONObject;
  4. import common.Controller;
  5. import common.YosException;
  6. import common.annotation.API;
  7. import common.data.*;
  8. import common.data.db.SQLList;
  9. import restcontroller.R;
  10. public class ordercluerule extends Controller {
  11. public ordercluerule(JSONObject arg0) throws YosException {
  12. super(arg0);
  13. }
  14. @API(title = "销售线索分配规则-列表查询", apiversion = R.ID2026020914525201.v1.class)
  15. public String queryOrdercluerule() throws YosException {
  16. Rows rows = SQLFactory.createQuerySQL(this, "sat_ordercluerule").setSiteid(siteid).query();
  17. if (rows.isEmpty()) {
  18. SQLFactory.createInsertSQL(this, "sat_ordercluerule").insert();
  19. rows = SQLFactory.createQuerySQL(this, "sat_ordercluerule").setSiteid(siteid).query();
  20. }
  21. return getSucReturnObject().setData(rows).toString();
  22. }
  23. @API(title = "销售线索分配规则-明细查询", apiversion = R.ID2026020914530501.v1.class)
  24. public String queryOrderclueruledetail() throws YosException {
  25. QuerySQL orderclue_areaQuery = SQLFactory.createQuerySQL(this, "sat_orderclue_area", "sat_orderclue_areaid", "sys_enterpriseid").setTableAlias("t1");
  26. orderclue_areaQuery.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "sys_enterpriseid =:sys_enterpriseid", "enterprisename", "province", "city", "county", "address", "phonenumber", "contact", "abbreviation");
  27. orderclue_areaQuery.addJoinTable(JOINTYPE.inner, "sa_agents", "t3", "sys_enterpriseid=:sys_enterpriseid", "agentnum", "signingstate", "status", "signingstate");
  28. orderclue_areaQuery.setWhere("cluetype", "经销商");
  29. orderclue_areaQuery.setSiteid(siteid);
  30. orderclue_areaQuery.setPage(pageSize, pageNumber);
  31. Rows rowsdetail = orderclue_areaQuery.query();
  32. QuerySQL tradefieldQuery = SQLFactory.createQuerySQL(this, "sys_enterprise_tradefield", "sys_enterpriseid").setTableAlias("t1");
  33. tradefieldQuery.addJoinTable(JOINTYPE.left, "sa_salearea", "t2", "t1.sa_saleareaid=t2.sa_saleareaid", "areaname");
  34. tradefieldQuery.setSiteid(siteid);
  35. tradefieldQuery.setWhere("sys_enterpriseid", rowsdetail.toArrayList("sys_enterpriseid"));
  36. RowsMap rowsMap = tradefieldQuery.query().toRowsMap("sys_enterpriseid");
  37. for (Row row : rowsdetail) {
  38. long sys_enterpriseid = row.getLong("sys_enterpriseid");
  39. if (rowsMap.containsKey(String.valueOf(sys_enterpriseid))) {
  40. row.put("areaname", rowsMap.get(String.valueOf(sys_enterpriseid)).get(0).getString("areaname"));
  41. } else {
  42. row.put("areaname", "");
  43. }
  44. }
  45. return getSucReturnObject().setData(rowsdetail).toString();
  46. }
  47. @API(title = "销售线索分配规则-更新", apiversion = R.ID2026020914531701.v1.class)
  48. public String updateOrderclueruleMain() throws YosException {
  49. Long sat_orderclueruleid = content.getLong("sat_orderclueruleid");
  50. Rows rows = dbConnect.runSqlQuery("select sat_orderclueruleid FROM sat_ordercluerule WHERE siteid = '" + siteid + "' AND sat_orderclueruleid = '" + sat_orderclueruleid + "'");
  51. if (rows.isEmpty()) {
  52. return getErrReturnObject().setErrMsg("销售线索分配规则不存在,无法更新").toString();
  53. }
  54. UpdateSQL orderclueruleUpdate = SQLFactory.createUpdateSQL(this, "sat_ordercluerule");
  55. orderclueruleUpdate.setValue("autodistribution", content.getBooleanValue("autodistribution"));
  56. orderclueruleUpdate.setValue("cluelife", content.getInteger("cluelife"));
  57. orderclueruleUpdate.setValue("linklife", content.getInteger("linklife"));
  58. orderclueruleUpdate.setValue("sat_orderclueruleid", sat_orderclueruleid);
  59. orderclueruleUpdate.update();
  60. return getSucReturnObject().toString();
  61. }
  62. @API(title = "销售线索分配规则-经销商添加查询", apiversion = R.ID20221101095002.v1.class)
  63. public String queryEnterprise() throws YosException {
  64. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_agents", "agentnum", "status", "signingstate", "salearea").setTableAlias("t1");
  65. querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "sys_enterpriseid=:sys_enterpriseid", "sys_enterpriseid", "enterprisename", "province", "city", "county", "address", "phonenumber", "contact", "abbreviation");
  66. querySQL.setPage(pageSize, pageNumber).setSiteid(siteid);
  67. querySQL.setWhere("not exists(select * from sat_orderclue_area t3 where t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid)");
  68. Rows rows = querySQL.query();
  69. return getSucReturnObject().setData(rows).toString();
  70. }
  71. @API(title = "销售线索分配规则-销售线索规则分配范围新增", apiversion = R.ID2026020914533401.v1.class)
  72. public String insertOrderclueruleArea() throws YosException {
  73. JSONArray sat_orderclue_areas = content.getJSONArray("sat_orderclue_areas");
  74. SQLList sqlDump = new SQLList();
  75. for (Object object : sat_orderclue_areas) {
  76. JSONObject jsonobject = (JSONObject) object;
  77. InsertSQL orderclue_areainsert = SQLFactory.createInsertSQL(this, "sat_orderclue_area");
  78. orderclue_areainsert.setValue("cluetype", content.getString("cluetype"));
  79. orderclue_areainsert.setValue("hrid", jsonobject.getLongValue("hrid"));
  80. orderclue_areainsert.setValue("sys_enterpriseid", jsonobject.getLongValue("sys_enterpriseid"));
  81. sqlDump.add(orderclue_areainsert);
  82. }
  83. if (!sqlDump.isEmpty()) {
  84. sqlDump.commit(this);
  85. return queryOrderclueruledetail();
  86. } else {
  87. return getErrReturnObject().toString();
  88. }
  89. }
  90. @API(title = "销售线索分配规则-规则删除", apiversion = R.ID20221101100602.v1.class)
  91. public String deletemx() throws YosException {
  92. Long sat_orderclue_areaid = content.getLong("sat_orderclue_areaid");
  93. SQLFactory.createDeleteSQL(this, "sat_orderclue_area").setUniqueid(sat_orderclue_areaid).delete();
  94. return getSucReturnObject().toString();
  95. }
  96. }