Explorar o código

经销商限制编号不能重复

郭齐峰 %!s(int64=3) %!d(string=hai) anos
pai
achega
3dab3a65c9
Modificáronse 1 ficheiros con 21 adicións e 16 borrados
  1. 21 16
      src/custom/restcontroller/webmanage/sale/agents/agents.java

+ 21 - 16
src/custom/restcontroller/webmanage/sale/agents/agents.java

@@ -72,15 +72,15 @@ public class agents extends Controller {
         sqlFactory.addParameter("sa_agentsid", sa_agentsid);
         sqlFactory.addParameter("siteid", siteid);
         Rows agentRows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-        Rows tradefieldidRows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t1.sa_agentsid,t1.sa_saleareaid,t1.tradefield,t3.areaname from sys_enterprise_tradefield t1  LEFT JOIN sa_salearea t3 ON t3.sa_saleareaid = t1.sa_saleareaid and t3.siteid = t1.siteid  where t1.siteid ='"+siteid+"'");
-        RowsMap rowsMap=tradefieldidRows.toRowsMap("sys_enterpriseid");
+        Rows tradefieldidRows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t1.sa_agentsid,t1.sa_saleareaid,t1.tradefield,t3.areaname from sys_enterprise_tradefield t1  LEFT JOIN sa_salearea t3 ON t3.sa_saleareaid = t1.sa_saleareaid and t3.siteid = t1.siteid  where t1.siteid ='" + siteid + "'");
+        RowsMap rowsMap = tradefieldidRows.toRowsMap("sys_enterpriseid");
         for (Row agentRow : agentRows) {
-            if(rowsMap.containsKey(agentRow.getString("sys_enterpriseid"))){
-                agentRow.put("tradefield",rowsMap.get(agentRow.getString("sys_enterpriseid")).toJsonArray("tradefield"));
-                agentRow.put("areaname",rowsMap.get(agentRow.getString("sys_enterpriseid")).toJsonArray("areaname"));
-            }else {
-                agentRow.put("tradefield",new JSONArray());
-                agentRow.put("areaname",new JSONArray());
+            if (rowsMap.containsKey(agentRow.getString("sys_enterpriseid"))) {
+                agentRow.put("tradefield", rowsMap.get(agentRow.getString("sys_enterpriseid")).toJsonArray("tradefield"));
+                agentRow.put("areaname", rowsMap.get(agentRow.getString("sys_enterpriseid")).toJsonArray("areaname"));
+            } else {
+                agentRow.put("tradefield", new JSONArray());
+                agentRow.put("areaname", new JSONArray());
             }
             agentRow.put("hrs", getEnterpriseHrs(agentRow.getLong("sys_enterpriseid")));
 
@@ -95,7 +95,7 @@ public class agents extends Controller {
 
 
     @API(title = "经销商新增修改")
-    @CACHEING_CLEAN(apiClass = {EnterpriseTradeField.class},cms = {@cm(clazz = agents.class, method = {"query_agentList", "query_agentMain"}), @cm(clazz = salearea.class, method = {"query_agent"}), @cm(clazz = salearea.class, method = {"query_agent"})})
+    @CACHEING_CLEAN(apiClass = {EnterpriseTradeField.class}, cms = {@cm(clazz = agents.class, method = {"query_agentList", "query_agentMain"}), @cm(clazz = salearea.class, method = {"query_agent"}), @cm(clazz = salearea.class, method = {"query_agent"})})
     public String insertormodify_agent() throws YosException {
         long sa_agentsid = content.getLongValue("sa_agentsid");//新增时传0
         long sys_enterpriseid = content.getLongValue("sys_enterpriseid");
@@ -109,11 +109,14 @@ public class agents extends Controller {
         if (parentid != 0 && dbConnect.runSqlQuery("select * from sa_agents where siteid='" + siteid + "' and sa_agentsid=" + parentid).isEmpty()) {
             return getErrReturnObject().setErrMsg("指定的上级商户不存在").toString();
         }
+        Rows rows = dbConnect.runSqlQuery("select sa_agentsid,sys_enterpriseid from sa_agents where agentnum='" + agentnum + "'");
         ArrayList<String> sqllist = new ArrayList<>();
         SQLFactory sqlFactory = new SQLFactory(this, "经销商新增");
         if (sa_agentsid <= 0 || dbConnect.runSqlQuery("select sa_agentsid from sa_agents where sa_agentsid=" + sa_agentsid).isEmpty()) {
             if (dbConnect.runSqlQuery("select sa_agentsid from sa_agents where sys_enterpriseid=" + sys_enterpriseid).isNotEmpty()) {
                 return getErrReturnObject().setErrMsg("当前商户已经创建经销商档案,不可重复创建").toString();
+            } else if (rows.isNotEmpty()) {
+                return getErrReturnObject().setErrMsg("当前商户已经创建经销商档案,不可重复创建").toString();
             }
             sa_agentsid = createTableID("sa_agents");
             addAccount(sys_enterpriseid);
@@ -124,6 +127,11 @@ public class agents extends Controller {
                 Executor.sendEml(this, "customers_agent_add", id, userids);
             }
         } else {
+            if (rows.isNotEmpty()) {
+                if (rows.get(0).getLong("sa_agentsid") != sa_agentsid || rows.get(0).getLong("sys_enterpriseid") != sys_enterpriseid) {
+                    return getErrReturnObject().setErrMsg("重复经销商编号,无法修改").toString();
+                }
+            }
             sqlFactory = new SQLFactory(this, "经销商修改");
         }
         sqlFactory.addParameter("siteid", siteid);
@@ -219,10 +227,10 @@ public class agents extends Controller {
 
         JSONArray tradefields = content.getJSONArray("tradefields");
         Long sa_saleareaid = content.getLong("sa_saleareaid");
-        sqllist.add("DELETE FROM sys_enterprise_tradefield WHERE sa_agentsid="+sa_agentsid+"  AND siteid = '"+siteid+"'");
-        if(tradefields!=null && !tradefields.isEmpty() ){
-            for (Object object:tradefields) {
-               String tradefield= String.valueOf(object);
+        sqllist.add("DELETE FROM sys_enterprise_tradefield WHERE sa_agentsid=" + sa_agentsid + "  AND siteid = '" + siteid + "'");
+        if (tradefields != null && !tradefields.isEmpty()) {
+            for (Object object : tradefields) {
+                String tradefield = String.valueOf(object);
                 sqlFactory = new SQLFactory(this, "企业领域授权_新增");
                 sqlFactory.addParameter("siteid", siteid);
                 sqlFactory.addParameter("userid", userid);
@@ -238,9 +246,6 @@ public class agents extends Controller {
         }
 
 
-
-
-
         dbConnect.runSqlUpdate(sqllist);
         content.put("sa_agentsid", sa_agentsid);