saleArea.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package common.crm.bean;
  2. import com.alibaba.fastjson2.JSONArray;
  3. import com.alibaba.fastjson2.JSONObject;
  4. import common.YosException;
  5. import common.data.QuerySQL;
  6. import common.data.Rows;
  7. import common.data.SQLFactory;
  8. import org.apache.logging.log4j.Logger;
  9. import common.crm.bean.core.CrmBase;
  10. import java.util.ArrayList;
  11. public class saleArea extends CrmBase {
  12. public saleArea(Logger logger) {
  13. super(logger);
  14. }
  15. @Override
  16. public void autoAction() throws YosException {
  17. //同步E-订单营销区域至CRM
  18. ArrayList<crm_datasync> datasyncList = get("营销区域", "sa_salearea", 100);
  19. for (crm_datasync datasync : datasyncList) {
  20. JSONArray dataArray = new JSONArray();
  21. QuerySQL querySQL = SQLFactory.createQuerySQL(dbConnect, "sa_salearea", "sa_saleareaid", "areanum", "areaname").setTableAlias("t1");
  22. querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t2", "t1.parentid = t2.sa_saleareaid", "areanum as upareanum");
  23. querySQL.setWhere("t1.sa_saleareaid", datasync.ownerid);
  24. Rows areaRows = querySQL.query();
  25. if (areaRows.isNotEmpty() && !areaRows.get(0).getString("areanum").isEmpty()) {
  26. JSONObject dataObject = new JSONObject();
  27. dataObject.put("fareaNum", areaRows.get(0).getString("areanum"));
  28. dataObject.put("fareaName", areaRows.get(0).getString("areaname"));
  29. dataObject.put("fuparea", areaRows.get(0).getString("upareanum"));
  30. QuerySQL salerQuery = SQLFactory.createQuerySQL(dbConnect, "sa_salearea_hr").setTableAlias("t1");
  31. salerQuery.addJoinTable(JOINTYPE.inner, "sys_hr", "t2", "t1.hrid=t2.hrid");
  32. salerQuery.addJoinTable(JOINTYPE.inner, "sys_users", "t3", "t2.userid=t3.userid", "accountno", "name", "status");
  33. salerQuery.setWhere("t1.siteid", "MD").setWhere("sa_saleareaid", areaRows.get(0).getString("sa_saleareaid"));
  34. Rows salerrows = salerQuery.query();
  35. if (salerrows.isNotEmpty()) {
  36. dataObject.put("fsaler", salerrows.get(0).getString("accountno"));
  37. dataObject.put("fsalerName", salerrows.get(0).getString("name"));
  38. dataObject.put("status", salerrows.get(0).getString("status"));
  39. }
  40. dataObject.put("fbrandId", fbrandId);
  41. dataArray.add(dataObject);
  42. String result = postCRM(dataArray.toJSONString(), "/ext/brSaleArea/batchSaveBrSaleAreas/1");
  43. JSONObject jsonObject = JSONObject.parseObject(result);
  44. if (jsonObject.getBooleanValue("success")) {
  45. datasync.suc();
  46. } else {
  47. datasync.fail();
  48. }
  49. } else {
  50. datasync.del();
  51. }
  52. }
  53. }
  54. }