| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728 |
- package restcontroller.webmanage.sale.enterprise;
- import beans.data.BatchDeleteErr;
- import beans.datateam.DataTeam;
- import beans.enterprise.Enterprise;
- import beans.hr.Hr;
- import beans.parameter.Parameter;
- import beans.user.User;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.annotation.CACHEING;
- import common.annotation.CACHEING_CLEAN;
- import common.annotation.cm;
- import common.data.Row;
- import common.data.Rows;
- import common.data.SQLFactory;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.R;
- import restcontroller.webmanage.sale.agents.agents;
- import restcontroller.webmanage.sale.customer.Customer;
- import restcontroller.webmanage.sale.salearea.salearea;
- import utility.tools.WebRequest;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class enterprise extends Controller {
- public enterprise(JSONObject content) throws YosException {
- super(content);
- }
- @API(title = "商户档案列表查询", apiversion = R.ID20220920083901.v1.class)
- @CACHEING
- public String query_enterpriseList() throws YosException {
- /*
- 过滤条件设置
- */
- 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.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.taxno like'").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.city like'").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.province like'").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.county like'").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.address like'").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.contact like'").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
- String sql;
- // if (whereObject.containsKey("typemx") && StringUtils.isNotEmpty(whereObject.getString("typemx"))) {
- // sql = " and (";
- // } else {
- sql = " and ";
- // }
- String type = whereObject.getString("type");
- //获取经销商sys_enterpriseid
- if (type.equals("1")) {
- ArrayList<Long> list = getAgentsList();
- list.add(0L);
- sql += " (t1.sys_enterpriseid in " + list + ")";
- }
- //获取所有客户sys_enterpriseid
- if (type.equals("2")) {
- ArrayList<Long> list = getCustomersList();
- list.add(0L);
- sql += " (t1.sys_enterpriseid in " + list + ")";
- }
- //排除已添加经销商的经销商数据
- if (type.equals("3")) {
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(getCanAddAgentsList());
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //缔约方
- if (type.equals("4")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> list = getProjectPartiesList(sa_projectid);
- list.add(-1L);
- sql += " (t1.sys_enterpriseid in " + list + ")";
- }
- //查询我负责的经销商
- if (type.equals("5")) {
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getMyAgentsList2(this));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //查询我负责的客户,排除已添加的关联客户
- if (type.equals("6")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getMyCustomersList(this, hrid));
- ids.removeAll(getProjectPartiesList(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //查询我负责的客户
- if (type.equals("7")) {
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getMyCustomersList2(this));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //查询我负责的经销商,排除已添加的关联客户
- if (type.equals("8")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getMyAgentsList(this, hrid));
- ids.removeAll(getProjectPartiesList(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //工具借用单中使用:查询我负责的经销商及下属负责的,查询我负责的客户及下属负责的
- if (type.equals("9")) {
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getAgents(this, hrid));
- ids.addAll(Hr.getCustomers(this, hrid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //查询我负责的经销商,查询我负责的客户
- if (type.equals("10")) {
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(Hr.getMyAgentsList2(this));
- ids.addAll(Hr.getMyCustomersList2(this));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //项目》关联客户》项目负责人的负责的客户
- if (type.equals("11")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(getProjectCustomers(sa_projectid));
- ids.removeAll(getProjectPartiesList(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //项目》关联客户》项目负责人的启用状态的经销商
- if (type.equals("12")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(getProjectAgents(sa_projectid));
- ids.removeAll(getProjectPartiesList(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //项目》合同》直销项目协议
- if (type.equals("13")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(getProjectCustomers2(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- //项目》合同》居间协议
- if (type.equals("14")) {
- Long sa_projectid = whereObject.getLongValue("sa_projectid");
- ArrayList<Long> ids = new ArrayList<>();
- ids.addAll(getProjectAgents2(sa_projectid));
- ids.add(0L);
- sql += " (t1.sys_enterpriseid in " + ids + ")";
- }
- sql = sql.replace("[", "(").replace("]", ")");
- where.append(sql);
- }
- // if (whereObject.containsKey("typemx") && !"".equals(whereObject.getString("typemx"))) {
- // String typemx = whereObject.getString("typemx");
- // String sql = "";
- // boolean issaler = isSaler();
- //
- //
- // //经销商
- // if (typemx.equals("经销商合作协议") || typemx.equals("经销项目协议") || typemx.equals("工具使用(借用)协议")) {
- // if (issaler) {
- // Rows rows = dbConnect.runSqlQuery("select sys_enterpriseid from sys_enterprise where sys_enterpriseid in (select t2.sys_enterpriseid from sys_departmenthrid t1 left join sys_enterprise_tradefield t2 "
- // + "on t1.siteid=t2.siteid and t1.hrid=t2.hrid where (t1.departmentid in(with recursive department as (select departmentid from sys_department where siteid = '" + siteid + "' and departmentid = " + departmentid
- // + " union all select t2.departmentid from department t1 inner join sys_department t2 on t1.departmentid = t2.parentid and t2.siteid ='" + siteid + "') select departmentid from department where departmentid !='" + departmentid + "') "
- // + " or if((select isleader from sys_hr where userid=" + userid + ")=1,t1.departmentid=" + departmentid + ",1=2) or t1.hrid=(select hrid from sys_hr where userid=" + userid + "))) UNION ALL select 0");
- // if (StringUtils.isNotEmpty(whereObject.getString("type")) && whereObject.getLong("type") > 0) {
- // sql = " or (t1.sys_enterpriseid in " + rows.toArrayList("sys_enterpriseid", new ArrayList<>()) + "))";
- // } else {
- // sql = " and (t1.sys_enterpriseid in " + rows.toArrayList("sys_enterpriseid", new ArrayList<>()) + ")";
- // }
- // }
- // }
- // //客户
- // if (typemx.equals("直销项目协议") || typemx.equals("工具使用(借用)协议")) {
- // if (issaler) {
- // //Rows rows = dbConnect.runSqlQuery("select t2.sys_enterpriseid from sys_datateam t1 left join sa_customers t2 on t1.ownerid=t2.sa_customersid and t1.siteid=t2.siteid and t1.ownertable='sa_customers' where t1.userid=" + userid + " and t1.siteid='" + siteid + "' and t2.sys_enterpriseid is not null UNION ALL select 0 ");
- //// Rows rows = dbConnect.runSqlQuery("select sys_enterpriseid from sa_customers where sys_enterpriseid in (select t2.sys_enterpriseid from sys_departmenthrid t1 left join sys_datateam t2 "
- //// + "on t1.siteid=t2.siteid and t1.hrid=t2.hrid where (t1.departmentid in(with recursive department as (select departmentid from sys_department where siteid = '"+siteid+"' and departmentid = "+departmentid
- //// + " union all select t2.departmentid from department t1 inner join sys_department t2 on t1.departmentid = t2.parentid and t2.siteid ='"+siteid+"') select departmentid from department where departmentid !='"+departmentid+"') "
- //// + " or if((select isleader from sys_hr where userid="+userid+")=1,t1.departmentid="+departmentid+",1=2) or t1.hrid=(select hrid from sys_hr where userid="+userid+"))) UNION ALL select 0");
- //
- // if (whereObject.containsKey("type") && StringUtils.isNotEmpty(whereObject.getString("type"))) {
- // sql = " or (t1.sys_enterpriseid in " + Hr.getCustomers(this, hrid) + "))";
- // } else {
- // sql = " and (t1.sys_enterpriseid in " + Hr.getCustomers(this, hrid) + ")";
- // }
- // }
- // }
- // if (StringUtils.isEmpty(sql)) {
- // sql = ")";
- // }
- // sql = sql.replace("[", "(").replace("]", ")");
- // where.append(sql);
- // }
- }
- SQLFactory sqlFactory = new SQLFactory(this, "商户档案列表查询", pageSize, pageNumber, pageSorting);
- sqlFactory.addParameter_SQL("where", where);
- sqlFactory.addParameter("siteid", siteid);
- String sql = sqlFactory.getSQL(false);
- Rows rows = dbConnect.runSqlQuery(sql);
- return getSucReturnObject().setData(rows).toString();
- }
- /**
- * 获取项目负责人的负责的客户
- *
- * @param sa_projectid
- * @return
- */
- public ArrayList<Long> getProjectCustomers(Long sa_projectid) throws YosException {
- SQLFactory sqlFactory = new SQLFactory(this, "获取项目负责人的负责的客户");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("sa_projectid", sa_projectid);
- Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL(false));
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- public ArrayList<Long> getProjectCustomers2(Long sa_projectid) throws YosException {
- SQLFactory sqlFactory = new SQLFactory(this, "获取项目负责人的负责的客户2");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("sa_projectid", sa_projectid);
- Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL(false));
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- /**
- * 获取项目负责人启用状态的经销商
- *
- * @param sa_projectid
- * @return
- */
- public ArrayList<Long> getProjectAgents(Long sa_projectid) throws YosException {
- SQLFactory sqlFactory = new SQLFactory(this, "获取项目负责人启用状态的经销商");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("sa_projectid", sa_projectid);
- Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL(false));
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- public ArrayList<Long> getProjectAgents2(Long sa_projectid) throws YosException {
- SQLFactory sqlFactory = new SQLFactory(this, "获取项目负责人启用状态的经销商2");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("sa_projectid", sa_projectid);
- Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL(false));
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- @API(title = "选择经销商(订单)", apiversion = R.ID20230219195002.v1.class)
- @CACHEING
- public String selectAgents() throws YosException {
- /*
- 过滤条件设置
- */
- 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.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t2.agentnum like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t1.contact like'").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- }
- boolean ismanage = content.getBooleanValue("ismanage");
- //业务员
- if (!ismanage && usertype == 1) {
- ArrayList<Long> subUserIds = User.getSubUserIds(this);
- subUserIds.add(userid);
- String hridsql = "SELECT hrid from sys_hr WHERE userid in " + subUserIds + " and siteid='" + siteid + "'";
- hridsql = hridsql.replace("[", "(").replace("]", ")");
- where.append(" and t1.sys_enterpriseid in (SELECT sys_enterpriseid from sys_enterprise_tradefield WHERE hrid in (" + hridsql + ") and siteid = '" + siteid + "') ");
- }
- //给默认排序
- pageSorting = pageSorting.equals("''") ? " t1.createdate desc" : pageSorting;
- SQLFactory sqlFactory = new SQLFactory(this, "经销商列表", pageSize, pageNumber, pageSorting);
- sqlFactory.addParameter_SQL("where", where);
- sqlFactory.addParameter("siteid", siteid);
- String sql = sqlFactory.getSQL();
- Rows rows = dbConnect.runSqlQuery(sql);
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "选择企业(订单)", apiversion = R.ID20230220005002.v1.class)
- @CACHEING
- public String selectCustomers() throws YosException {
- /*
- 过滤条件设置
- */
- 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("t2.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t2.contact like'").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- }
- String tablename = "sa_customers";
- boolean ismanage = content.getBooleanValue("ismanage");
- //业务员
- String where2 = "1=1";
- if (!ismanage && usertype == 1) {
- where2 = DataTeam.getDataWhereStr(this, tablename, "t1", 1)
- + " or " + DataTeam.getDataWhereStr(this, tablename, "t1", 3);
- }
- //给默认排序
- pageSorting = pageSorting.equals("''") ? " t1.createdate desc" : pageSorting;
- SQLFactory sqlFactory = new SQLFactory(this, "客户列表", pageSize, pageNumber, pageSorting);
- sqlFactory.addParameter_SQL("where", where);
- sqlFactory.addParameter_SQL("where2", where2);
- sqlFactory.addParameter("siteid", siteid);
- String sql = sqlFactory.getSQL();
- Rows rows = dbConnect.runSqlQuery(sql);
- return getSucReturnObject().setData(rows).toString();
- }
- /**
- * 获取经销商sys_enterpriseid
- *
- * @return
- * @throws YosException
- */
- public ArrayList<Long> getAgentsList() throws YosException {
- Rows rows = dbConnect.runSqlQuery("SELECT sys_enterpriseid from sa_agents WHERE status='启用' and siteid='" + siteid + "'");
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- //查询可添加为经销商的企业
- public ArrayList<Long> getCanAddAgentsList() throws YosException {
- Rows rows = dbConnect.runSqlQuery("SELECT sys_enterpriseid from sys_enterprise t1 WHERE NOT EXISTS(SELECT 1 from sa_agents WHERE status='启用' and sys_enterpriseid=t1.sys_enterpriseid and siteid='" + siteid + "') and siteid='" + siteid + "' and ismain=0");
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- /**
- * 获取所有客户sys_enterpriseid
- *
- * @return
- * @throws YosException
- */
- public ArrayList<Long> getCustomersList() throws YosException {
- Rows rows = dbConnect.runSqlQuery("SELECT sys_enterpriseid from sa_customers WHERE datastatus != 1 and siteid='" + siteid + "'");
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- /**
- * 获取缔约方sys_enterpriseid
- *
- * @return
- * @throws YosException
- */
- public ArrayList<Long> getProjectPartiesList(Long sa_projectid) throws YosException {
- Rows rows = dbConnect.runSqlQuery("SELECT sys_enterpriseid from sa_project_parties WHERE sa_projectid = " + sa_projectid + " and siteid = '" + siteid + "'");
- return rows.toArrayList("sys_enterpriseid", new ArrayList<>());
- }
- @API(title = "商户档案详情查询", apiversion = R.ID20220920084001.v1.class)
- @CACHEING
- public String query_enterpriseMain() throws YosException {
- if (content.containsKey("sys_enterpriseid")) {
- sys_enterpriseid = content.getLongValue("sys_enterpriseid");
- }
- SQLFactory sqlFactory = new SQLFactory(this, "商户档案详情查询");
- sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
- sqlFactory.addParameter("siteid", siteid);
- Rows enterpriseRows = dbConnect.runSqlQuery(sqlFactory.getSQL());
- for (Row enterpriseRow : enterpriseRows) {
- enterpriseRow.put("hrs", getEnterpriseHrs(enterpriseRow.getLong("sys_enterpriseid")));
- }
- return getSucReturnObject().setData(enterpriseRows.isNotEmpty() ? enterpriseRows.get(0) : new Row()).toString();
- }
- @API(title = "商户档案新增修改", apiversion = R.ID20220920084101.v1.class, intervaltime = 200)
- @CACHEING_CLEAN(cms = {@cm(clazz = enterprise.class, method = {"query_enterpriseList", "query_enterpriseMain"}),
- @cm(clazz = restcontroller.sale.enterprise.enterprise.class, method = {"query_enterpriseMain"})},
- apiversions = {R.ID20221011133602.class},
- apiClass = {Customer.class, restcontroller.sale.customer.Customer.class})
- public String insertormodify_enterprise() throws YosException {
- long sys_enterpriseid = content.getLongValue("sys_enterpriseid");//商户档案id,新增时传0
- String tablename = "sys_enterprise";
- String phonenumber = content.getStringValue("phonenumber", tablename);
- boolean isValidPhoneNumber = validatePhoneNumber(phonenumber);
- if (!isValidPhoneNumber) {
- return getErrReturnObject().setErrMsg("请输入正确的手机号").toString();
- }
- ArrayList<String> sqllist = new ArrayList<>();
- SQLFactory sqlFactory = new SQLFactory(this, "商户档案新增");
- if (sys_enterpriseid <= 0 || dbConnect.runSqlQuery("select sys_enterpriseid from sys_enterprise where sys_enterpriseid=" + sys_enterpriseid).isEmpty()) {
- sys_enterpriseid = createTableID("sys_enterprise");
- } else {
- sqlFactory = new SQLFactory(this, "商户档案修改");
- }
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
- sqlFactory.addParameter("username", username);
- sqlFactory.addParameter("changeuserid", userid);
- sqlFactory.addParameter("enterprisename", content.getStringValue("enterprisename", tablename));
- sqlFactory.addParameter("address", content.getStringValue("address", tablename));
- sqlFactory.addParameter("contact", content.getStringValue("contact", tablename));
- Rows rows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t2.agentnum from sys_enterprise t1 " +
- "left join sa_agents t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid " +
- "where t1.sys_enterpriseid!=" + sys_enterpriseid + " and t1.siteid='" + siteid + "' and t1.phonenumber='" + phonenumber + "'");
- if (!rows.isEmpty()) {
- return getErrReturnObject().setErrMsg("与经销商编码" + rows.get(0).getString("agentnum") + "联系方式重复,无法保存").toString();
- }
- sqlFactory.addParameter("phonenumber", phonenumber);
- sqlFactory.addParameter("province", content.getStringValue("province", tablename));
- sqlFactory.addParameter("city", content.getStringValue("city", tablename));
- sqlFactory.addParameter("county", content.getStringValue("county", tablename));
- sqlFactory.addParameter("taxno", content.getStringValue("taxno", tablename));
- sqlFactory.addParameter("limitreturnday", content.getLongValue("limitreturnday"));
- sqlFactory.addParameter("freefreightamount", content.getBigDecimalValue("freefreightamount"));
- sqlFactory.addParameter("latitude", content.getStringValue("latitude"));
- sqlFactory.addParameter("longitude", content.getStringValue("longitude"));
- sqlFactory.addParameter("abbreviation", content.getStringValue("abbreviation", tablename));
- sqlFactory.addParameter("isorder", content.getLongValue("isorder"));
- //开票节点(1:订单审核:2:发货)
- sqlFactory.addParameter("invoicingpoint", content.getLongValue("invoicingpoint") == 0 ? 2 : content.getLongValue("invoicingpoint"));
- //是否需要经营授权,默认1
- sqlFactory.addParameter("saleclassauth", content.getBooleanValue("saleclassauth") == false ? 0 : 1);
- sqlFactory.addParameter("grade", content.getLongValue("grade"));
- sqllist.add(sqlFactory.getSQL());
- //扩展字段
- String erpagentnum = content.getStringValue("erpagentnum");
- String sql = "SELECT * from sys_dataextend WHERE ownertable='sys_enterprise' and ownerid=" + sys_enterpriseid + " and siteid = '" + siteid + "'";
- Rows extendRows = dbConnect.runSqlQuery(sql);
- Long sys_dataextendid = 0L;
- if (extendRows.isEmpty()) {
- sys_dataextendid = createTableID("sys_dataextend");
- sqlFactory = new SQLFactory(this, "经销商扩展字段新增");
- } else {
- sys_dataextendid = extendRows.get(0).getLong("sys_dataextendid");
- sqlFactory = new SQLFactory(this, "经销商扩展字段更新");
- }
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("username", username);
- sqlFactory.addParameter("userid", userid);
- sqlFactory.addParameter("sys_dataextendid", sys_dataextendid);
- sqlFactory.addParameter("ownerid", sys_enterpriseid);
- sqlFactory.addParameter("ownertable", "sys_enterprise");
- sqlFactory.addParameter("erpagentnum", erpagentnum);
- sqllist.add(sqlFactory.getSQL());
- //企业信息同步到【我的客户】,并将该客户打上经销商标签,
- Rows customersRows = dbConnect.runSqlQuery("SELECT sa_customersid from sa_customers WHERE sys_enterpriseid =" + sys_enterpriseid + " and siteid = '" + siteid + "'");
- Long sa_customersid = 0L;
- if (customersRows.isNotEmpty()) {
- sa_customersid = customersRows.get(0).getLong("sa_customersid");
- sqlFactory = new SQLFactory(this, "客户更新");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("userid", userid);
- sqlFactory.addParameter("username", username);
- sqlFactory.addParameter("sa_customersid", sa_customersid);
- sqlFactory.addParameter("name", content.getStringValue("enterprisename"));
- sqlFactory.addParameter("province", content.getStringValue("province"));
- sqlFactory.addParameter("city", content.getStringValue("city"));
- sqlFactory.addParameter("county", content.getStringValue("county"));
- sqlFactory.addParameter("address", content.getStringValue("address"));
- sqlFactory.addParameter("phonenumber", content.getStringValue("phonenumber"));
- sqllist.add(sqlFactory.getSQL());
- }
- dbConnect.runSqlUpdate(sqllist);
- content.put("sys_enterpriseid", sys_enterpriseid);
- return query_enterpriseMain();
- }
- public static boolean validatePhoneNumber(String number) {
- Pattern pattern = Pattern.compile("^[1][0-9]{10}$"); // 定义手机号码格式的正则表达式
- Matcher matcher = pattern.matcher(number);
- return matcher.matches(); // 返回true表示匹配成功,false表示不匹配或者输入为空
- }
- @API(title = "商户档案删除", apiversion = R.ID20220920084201.v1.class)
- @CACHEING_CLEAN(apiversions = {R.ID20220920083901.class, R.ID20220920084001.class, R.ID20221022165203.class})
- public String delete_enterprise() throws YosException {
- JSONArray sys_enterpriseids = content.getJSONArray("sys_enterpriseids");
- BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, sys_enterpriseids.size());
- for (Object o : sys_enterpriseids) {
- long sys_enterpriseid = Long.parseLong(o.toString());
- Rows userRows = dbConnect.runSqlQuery("select userid from sys_enterprise_hr where siteid='" + siteid + "' and sys_enterpriseid='" + sys_enterpriseid + "'");
- ArrayList<String> useridlist = userRows.toArrayList("userid");
- SQLFactory sqlFactory = new SQLFactory("sql:select * from sys_userrequestlog where userid!=0 and userid in $userid$");
- sqlFactory.addParameter_in("userid", useridlist);
- Rows logRows = dbConnect.runSqlQuery(sqlFactory.getSQL());
- if (logRows.isNotEmpty()) {
- batchDeleteErr.addErr(sys_enterpriseid, "该商户下属账号存在访问记录,不可进行删除操作");
- continue;
- }
- ArrayList<String> list = new ArrayList<>();
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sys_enterprise where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
- list.add(deletesql.getSQL());
- }
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sa_agents where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
- list.add(deletesql.getSQL());
- }
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sys_enterprise_hr where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
- list.add(deletesql.getSQL());
- }
- if (useridlist.size() > 0) {
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sys_users where userid in $userid$");
- deletesql.addParameter_in("userid", useridlist);
- list.add(deletesql.getSQL());
- }
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sys_usersite where userid in $userid$");
- deletesql.addParameter_in("userid", useridlist);
- list.add(deletesql.getSQL());
- }
- {
- SQLFactory deletesql = new SQLFactory("sql:delete from sys_userrole where userid in $userid$");
- deletesql.addParameter_in("userid", useridlist);
- list.add(deletesql.getSQL());
- }
- }
- dbConnect.runSqlUpdate(list);
- }
- return batchDeleteErr.getReturnObject().toString();
- }
- @API(title = "创建商户主账号,如已存在,则赋予相应角色权限", apiversion = R.ID20220920084301.v1.class)
- @CACHEING_CLEAN(cms = {@cm(clazz = agents.class, method = {"query_agentList", "query_agentMain"}), @cm(clazz = salearea.class, method = {"query_agent"})})
- public String createMainUser() throws YosException {
- long sys_enterpriseid = content.getLongValue("sys_enterpriseid");
- if (dbConnect.runSqlQuery("select * from sys_enterprise_hr where sys_enterpriseid='" + sys_enterpriseid + "' and isleader=1 and siteid='" + siteid + "'").isNotEmpty()) {
- return getErrReturnObject().setErrMsg("创建失败,已存在负责人账号").toString();
- }
- Rows rows = dbConnect.runSqlQuery("select * from sys_enterprise where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
- if (rows.isEmpty()) {
- return getErrReturnObject().setErrMsg("商户档案不存在").toString();
- }
- String contact = rows.get(0).getString("contact");
- String enterprisename = rows.get(0).getString("enterprisename");
- String phonenumber = rows.get(0).getString("phonenumber");
- Rows defaultrole = dbConnect.runSqlQuery("select roleid from sys_role where siteid='" + siteid + "' and usertype='" + 21 + "' and issystem=1");
- Long[] defaultroleids = defaultrole.toArray("roleid", new Long[]{});
- Rows agentRows = dbConnect.runSqlQuery("select agentnum from sa_agents where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
- if (agentRows.isEmpty()) {
- User.createUser(this, sys_enterpriseid, enterprisename, phonenumber, true, "负责人", 21, defaultroleids, enterprisename);
- } else {
- String accountprefix = Parameter.get(siteid, "accountprefix");
- User.createUser(this, sys_enterpriseid, accountprefix + "" + agentRows.get(0).getString("agentnum"), enterprisename, phonenumber, true, "负责人", 21, defaultroleids, enterprisename);
- }
- return getSucReturnObject().toString();
- }
- @API(title = "企业在线查找", intervaltime = 2000, apiversion = R.ID20221208103601.v1.class)
- @CACHEING(life = 1440)
- public String queryEnterpriseListOnline() throws YosException {
- String keyword = content.getString("keyword");
- int pageNumber = content.getIntValue("pageNumber");
- int pageSize = content.getIntValue("pageSize");
- HashMap<String, String> headers = new HashMap<>();
- headers.put("content-type", "application/json;charset=utf-8");
- JSONObject requestObject = new JSONObject();
- requestObject.put("pageNo", pageNumber);
- requestObject.put("pageSize", pageSize);
- requestObject.put("keyword", keyword);
- requestObject.put("orderByType", 5);
- String web_result = new WebRequest().doPost(requestObject.toString(), "https://holmes.taobao.com/web/corp/customer/searchWithSummary", headers);
- JSONObject web_resultObject = JSONObject.parseObject(web_result);
- JSONArray resultArray = new JSONArray();
- if (web_resultObject.containsKey("code") && web_resultObject.getLongValue("code") == 0) {
- JSONArray webdataArray = web_resultObject.getJSONObject("data").getJSONArray("data");
- for (Object webdataObject : webdataArray) {
- JSONObject webdataJSONObject = (JSONObject) webdataObject;
- JSONObject resultObject = new JSONObject(true);
- resultObject.put("companyName", webdataJSONObject.getString("companyName"));
- resultObject.put("socialCreditCode", webdataJSONObject.getString("socialCreditCode"));
- resultObject.put("taxNum", webdataJSONObject.getString("taxNum"));
- resultObject.put("tags", webdataJSONObject.getJSONArray("tags"));
- resultObject.put("address", webdataJSONObject.getString("address"));
- String regProvince = webdataJSONObject.getString("regProvince");
- regProvince = regProvince.replace("<mark>", "").replace("</mark>", "");
- resultObject.put("regProvince", regProvince);
- String regCity = webdataJSONObject.getString("regCity");
- regCity = regCity.replace("<mark>", "").replace("</mark>", "");
- resultObject.put("regCity", regCity);
- String regArea = webdataJSONObject.getString("regArea");
- regArea = regArea.replace("<mark>", "").replace("</mark>", "");
- resultObject.put("regArea", regArea);
- resultObject.put("registerCapital", webdataJSONObject.getString("registerCapital"));
- resultObject.put("legalPerson", webdataJSONObject.getString("legalPerson"));
- resultObject.put("registerDate", webdataJSONObject.getString("registerDate"));
- resultObject.put("bizStatus", webdataJSONObject.getString("bizStatus"));
- resultObject.put("lat", webdataJSONObject.getString("lat"));
- resultObject.put("lon", webdataJSONObject.getString("lon"));
- resultObject.put("phone", webdataJSONObject.getString("phone"));
- resultObject.put("officialSite", webdataJSONObject.getString("officialSite"));
- resultObject.put("email", webdataJSONObject.getString("email"));
- resultObject.put("ocid", webdataJSONObject.getString("ocid"));
- {
- JSONObject mainrequestObject = new JSONObject();
- mainrequestObject.put("ocid", webdataJSONObject.getString("ocid"));
- String web_mainresult = new WebRequest().doPost(mainrequestObject.toString(), "https://holmes.taobao.com/web/corpquery/company/category3", headers);
- JSONObject web_mainresultObject = JSONObject.parseObject(web_mainresult);
- if (web_mainresultObject.containsKey("code") && web_mainresultObject.getLongValue("code") == 0) {
- JSONObject summaryObject = web_mainresultObject.getJSONObject("data").getJSONObject("summary");
- resultObject.put("opScope", summaryObject.getString("opScope"));
- resultObject.put("entBrief", summaryObject.getString("entBrief"));
- resultObject.put("industryOne", summaryObject.getString("industryOne"));
- resultObject.put("industryTwo", summaryObject.getString("industryTwo"));
- resultObject.put("staffSize", summaryObject.getString("staffSize"));
- }
- }
- resultArray.add(resultObject);
- }
- }
- return getSucReturnObject().setData(resultArray).toString();
- }
- // public static void main(String[] args) throws YosException {
- // JSONObject object = new JSONObject();
- // object.put("keyword", "云链");
- // object.put("pageNumber", 1);
- // object.put("pageSize", 80);
- // enterprise enterprise = new enterprise(object);
- // }
- // @API(title = "在线查询企业详情信息")
- // public void queryEnterpriseMainOnline() throws YosException {
- // HashMap<String, String> headers = new HashMap<>();
- // headers.put("content-type", "application/json;charset=utf-8");
- //
- // JSONObject requestObject = new JSONObject();
- // requestObject.put("ocid", "1211104000186135776");
- //
- // String web_result = new WebRequest().doPost(requestObject.toString(), "https://holmes.taobao.com/web/corpquery/company/category3", headers);
- // JSONObject web_resultObject = JSONObject.parseObject(web_result);
- //
- //
- // JSONObject resultObject = new JSONObject();
- // if (web_resultObject.getLong("code") == 0) {
- // JSONObject summaryObject = web_resultObject.getJSONObject("data").getJSONObject("summary");
- //
- // resultObject.put("opScope", summaryObject.getString("opScope"));
- // resultObject.put("entBrief", summaryObject.getString("entBrief"));
- // resultObject.put("industryOne", summaryObject.getString("industryOne"));
- // resultObject.put("industryTwo", summaryObject.getString("industryTwo"));
- // }
- //
- //// JSONObject requestObject2 = new JSONObject();
- //// requestObject2.put("type", "web");
- //// requestObject2.put("pageNo", 1);
- //// requestObject2.put("pageSize", 1);
- //// JSONArray dataModuleIds = new JSONArray();
- //// dataModuleIds.add("482");//
- //// requestObject2.put("dataModuleIds", dataModuleIds);
- ////
- //// JSONArray params = new JSONArray();
- //// JSONObject param = new JSONObject();
- //// param.put("key", "onecomp_id");
- //// param.put("value", "1211104000186135776");
- //// params.add(param);
- //// requestObject2.put("params", params);
- ////
- //// String result2 = new WebRequest().doPost(requestObject2.toString(), "https://holmes.taobao.com/web/detail/companyDetailCardBatch", headers);
- //// JSONObject resultObject2 = JSONObject.parseObject(result2);
- // }
- }
|