EnterpriseSaleClass.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package restcontroller.webmanage.sale.enterprisesaleclass;
  2. import beans.itemclass.ItemClass;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import common.Controller;
  6. import common.YosException;
  7. import common.annotation.API;
  8. import common.data.Row;
  9. import common.data.Rows;
  10. import common.data.SQLFactory;
  11. import restcontroller.R;
  12. import java.util.ArrayList;
  13. @API(title = "合作企业营销类别授权")
  14. public class EnterpriseSaleClass extends Controller {
  15. /**
  16. * 构造函数
  17. *
  18. * @param content
  19. */
  20. public EnterpriseSaleClass(JSONObject content) throws YosException {
  21. super(content);
  22. }
  23. @API(title = "新增", apiversion = R.ID20220924134302.v1.class,intervaltime = 200)
  24. public String insert() throws YosException {
  25. Long sys_enterpriseid = content.getLong("sys_enterpriseid");
  26. JSONArray itemclassids = content.getJSONArray("itemclassid");
  27. JSONArray sa_brandids = new JSONArray();
  28. if (content.containsKey("sa_brandids")) {
  29. sa_brandids = content.getJSONArray("sa_brandids");
  30. }
  31. if (sa_brandids.size() > 0) {
  32. String sql = " SELECT DISTINCT itemclassid from plm_itemclass WHERE classtype = '营销' and siteid = '" + siteid + "' and sa_brandid in " + sa_brandids;
  33. sql = sql.replace("[", "(").replace("]", ")");
  34. itemclassids.addAll(dbConnect.runSqlQuery(sql).toJsonArray("itemclassid"));
  35. }
  36. ArrayList<String> sqlList = new ArrayList<>();
  37. for (Object obj : itemclassids) {
  38. String id = String.valueOf(obj);
  39. SQLFactory sqlFactory = new SQLFactory(this, "合作企业营销类别授权");
  40. sqlFactory.addParameter("siteid", siteid);
  41. sqlFactory.addParameter("itemclassid", id);
  42. sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
  43. sqlFactory.addParameter("sys_enterprise_saleclassid", createTableID("sys_enterprise_saleclass"));
  44. sqlList.add(sqlFactory.getSQL());
  45. }
  46. dbConnect.runSqlUpdate(sqlList);
  47. return getSucReturnObject().toString();
  48. }
  49. @API(title = "删除", apiversion = R.ID20220924134402.v1.class)
  50. public String delete() throws YosException {
  51. JSONArray jsonArray = content.getJSONArray("sys_enterprise_saleclassids");
  52. SQLFactory sqlFactoryquery = new SQLFactory(this, "合作企业营销类别查询");
  53. sqlFactoryquery.addParameter_in("sys_enterprise_saleclassid", jsonArray.toArray());
  54. sqlFactoryquery.addParameter("siteid", siteid);
  55. Rows rows = dbConnect.runSqlQuery(sqlFactoryquery);
  56. ArrayList<Long> itemclassids = rows.toArrayList("itemclassid", new ArrayList<>());
  57. ArrayList<Long> needitemclassids= ItemClass.getSubItemClassIds(this, itemclassids);
  58. needitemclassids.addAll(itemclassids);
  59. long sys_enterpriseid = rows.get(0).getLong("sys_enterpriseid");
  60. SQLFactory sqlFactory = new SQLFactory(this, "合作企业营销类别删除");
  61. sqlFactory.addParameter_in("itemclassid", needitemclassids);
  62. sqlFactory.addParameter_in("sys_enterpriseid", sys_enterpriseid);
  63. sqlFactory.addParameter("siteid", siteid);
  64. dbConnect.runSqlUpdate(sqlFactory);
  65. String sql = " SELECT ifnull(t1.parentid ,0) parentid from plm_itemclass t1 WHERE t1.itemclassid in " + itemclassids + " and t1.siteid ='"
  66. + siteid + "'";
  67. sql = sql.replace("[", "(").replace("]", ")");
  68. Rows rows1 = dbConnect.runSqlQuery(sql);
  69. for (Row row:rows1) {
  70. DeleteItemclass(row.getLong("parentid"),sys_enterpriseid);
  71. }
  72. return getSucReturnObject().toString();
  73. }
  74. @API(title = "列表", apiversion = R.ID20220924134502.v1.class)
  75. public String queryList() throws YosException {
  76. Long sys_enterpriseid = content.getLong("sys_enterpriseid");
  77. SQLFactory sqlFactory = new SQLFactory(this, "合作企业营销类别列表", pageSize, pageNumber, pageSorting);
  78. sqlFactory.addParameter("siteid", siteid);
  79. sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
  80. String sql = sqlFactory.getSQL();
  81. Rows rows = dbConnect.runSqlQuery(sql);
  82. return getSucReturnObject().setData(rows).toString();
  83. }
  84. private void DeleteItemclass( long parentid,long sys_enterpriseid)
  85. throws YosException {
  86. if (parentid > 0) {
  87. Rows rows = dbConnect.runSqlQuery(
  88. "select t1.itemclassid,ifnull(t2.parentid,0) as parentid from sys_enterprise_saleclass t1 inner join plm_itemclass t2 on t1.itemclassid=t2.itemclassid and t1.siteid=t2.siteid where t1.sys_enterpriseid='"+sys_enterpriseid+"' and t1.siteid='"+siteid+"' and t1.itemclassid= '"
  89. + parentid + "'");
  90. if (!rows.isEmpty()) {
  91. if(dbConnect.runSqlQuery(
  92. "select t1.itemclassid,ifnull(t2.parentid,0) as parentid from sys_enterprise_saleclass t1 inner join plm_itemclass t2 on t1.itemclassid=t2.itemclassid and t1.siteid=t2.siteid where t1.sys_enterpriseid='"+sys_enterpriseid+"' and t1.siteid='"+siteid+"' and t2.parentid= '"
  93. + rows.get(0).getLong("itemclassid") + "'").isEmpty()){
  94. dbConnect.runSqlUpdate("delete from sys_enterprise_saleclass where itemclassid= '" + rows.get(0).getLong("itemclassid") + "' and sys_enterpriseid='"+sys_enterpriseid+"' and siteid='"+siteid+"'");
  95. DeleteItemclass( rows.get(0).getLong("parentid"),sys_enterpriseid);
  96. }
  97. }
  98. }
  99. }
  100. }