Jelajahi Sumber

一键复制订单添加选择经销商

hu 3 tahun lalu
induk
melakukan
06a806a082

+ 5 - 4
src/custom/beans/enterprise/Enterprise.java

@@ -9,6 +9,7 @@ import common.data.Rows;
 import common.data.SQLFactory;
 import common.data.SQLFactory;
 import common.data.db.DBConnect;
 import common.data.db.DBConnect;
 
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 
 
@@ -116,7 +117,7 @@ public class Enterprise extends BaseClass {
             EnterpriseGrade enterpriseGrade = enterprise.new EnterpriseGrade();
             EnterpriseGrade enterpriseGrade = enterprise.new EnterpriseGrade();
             enterpriseGrade.setGrade(enterpriseGradeRows.get(0).getInteger("grade"));
             enterpriseGrade.setGrade(enterpriseGradeRows.get(0).getInteger("grade"));
             enterpriseGrade.setPricegrade(enterpriseGradeRows.get(0).getInteger("pricegrade"));
             enterpriseGrade.setPricegrade(enterpriseGradeRows.get(0).getInteger("pricegrade"));
-            enterpriseGrade.setDiscountrate(enterpriseGradeRows.get(0).getLong("discountrate"));
+            enterpriseGrade.setDiscountrate(enterpriseGradeRows.get(0).getBigDecimal("discountrate"));
             enterpriseGradeMap.put(sys_enterpriseid, enterpriseGrade);
             enterpriseGradeMap.put(sys_enterpriseid, enterpriseGrade);
             return enterpriseGrade;
             return enterpriseGrade;
         }
         }
@@ -145,7 +146,7 @@ public class Enterprise extends BaseClass {
     public class EnterpriseGrade {
     public class EnterpriseGrade {
         private int grade;//商户等级
         private int grade;//商户等级
         private int pricegrade;//价格等级
         private int pricegrade;//价格等级
-        private long discountrate;//等级折扣率
+        private BigDecimal discountrate;//等级折扣率
 
 
         /**
         /**
          * 获取商户等级
          * 获取商户等级
@@ -178,11 +179,11 @@ public class Enterprise extends BaseClass {
          *
          *
          * @return
          * @return
          */
          */
-        public long getDiscountrate() {
+        public BigDecimal getDiscountrate() {
             return discountrate;
             return discountrate;
         }
         }
 
 
-        public void setDiscountrate(long discountrate) {
+        public void setDiscountrate(BigDecimal discountrate) {
             this.discountrate = discountrate;
             this.discountrate = discountrate;
         }
         }
     }
     }

+ 55 - 2
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -1949,6 +1949,8 @@ public class Order extends Controller {
 
 
         Long sa_orderid = content.getLong("sa_orderid");
         Long sa_orderid = content.getLong("sa_orderid");
 
 
+        Long sys_enterpriseid = content.getLong("sys_enterpriseid");
+
         ArrayList<String> sqlList = new ArrayList<>();
         ArrayList<String> sqlList = new ArrayList<>();
 
 
         Rows rows = dbConnect.runSqlQuery("SELECT * from sa_order  WHERE sa_orderid = " + sa_orderid + " and siteid = '" + siteid + "'");
         Rows rows = dbConnect.runSqlQuery("SELECT * from sa_order  WHERE sa_orderid = " + sa_orderid + " and siteid = '" + siteid + "'");
@@ -1958,6 +1960,52 @@ public class Order extends Controller {
         }
         }
         Row row = rows.get(0);
         Row row = rows.get(0);
 
 
+        if(sys_enterpriseid>0){
+            boolean flag= true;
+            Row enterpriseRowOld = Enterprise.getEnterprise(this, row.getLong("sys_enterpriseid"));
+            Row enterpriseRowNew = Enterprise.getEnterprise(this, sys_enterpriseid);
+            if(enterpriseRowOld.isEmpty() || enterpriseRowNew.isEmpty()){
+                return getErrReturnObject().setErrMsg("经销商不存在").toString();
+            }else {
+                if(Enterprise.getEnterpriseGrade(this, row.getLong("sys_enterpriseid")).getGrade()!=Enterprise.getEnterpriseGrade(this, sys_enterpriseid).getGrade() ||
+                        Enterprise.getEnterpriseGrade(this, row.getLong("sys_enterpriseid")).getPricegrade()!=Enterprise.getEnterpriseGrade(this, sys_enterpriseid).getPricegrade()){
+                     System.out.println("grade");
+                    flag=false;
+                }
+                //企业领域
+                Rows tradefieldrowsOld = dbConnect.runSqlQuery("SELECT tradefield from sys_enterprise_tradefield WHERE sys_enterpriseid =" + row.getLong("sys_enterpriseid") + " and siteid ='" + siteid + "'");
+                Rows tradefieldrowsNew = dbConnect.runSqlQuery("SELECT tradefield from sys_enterprise_tradefield WHERE sys_enterpriseid =" + sys_enterpriseid + " and siteid ='" + siteid + "'");
+                if(!tradefieldrowsNew.containsAll(tradefieldrowsOld)){
+                    System.out.println("tradefield");
+                    flag=false;
+                }
+
+                //企业营销类别
+                String itemclasssqlOld = "select itemclassid from plm_itemclass where siteid='" + siteid + "'";
+                boolean saleclassauthOld = enterpriseRowOld.getBoolean("saleclassauth");
+                if (saleclassauthOld) {
+                    itemclasssqlOld = "select itemclassid from plm_itemclass where siteid='" + siteid + "' and itemclassid in ( SELECT itemclassid from sys_enterprise_saleclass WHERE sys_enterpriseid = " + row.getLong("sys_enterpriseid")  + " and siteid='" + siteid + "')";
+                }
+                Rows itemclassrowsOld = dbConnect.runSqlQuery(itemclasssqlOld);
+
+                String itemclasssqlNew = "select itemclassid from plm_itemclass where siteid='" + siteid + "'";
+                boolean saleclassauthNew = enterpriseRowNew.getBoolean("saleclassauth");
+                if (saleclassauthNew) {
+                    itemclasssqlNew = "select itemclassid from plm_itemclass where siteid='" + siteid + "' and itemclassid in ( SELECT itemclassid from sys_enterprise_saleclass WHERE sys_enterpriseid = " + sys_enterpriseid + " and siteid='" + siteid + "')";
+                }
+                Rows itemclassrowsNew = dbConnect.runSqlQuery(itemclasssqlNew);
+                if(!itemclassrowsNew.containsAll(itemclassrowsOld)){
+                    System.out.println("itemclass");
+                    flag=false;
+                }
+
+                if(!flag){
+                    return getErrReturnObject().setErrMsg("所选经销商经营范围和价格等级不一致,不允许复制").toString();
+                }
+            }
+
+
+        }
 
 
         Long sa_orderid_copy = createTableID("sa_order");
         Long sa_orderid_copy = createTableID("sa_order");
         SQLFactory sqlFactory = new SQLFactory(this, "复制订单");
         SQLFactory sqlFactory = new SQLFactory(this, "复制订单");
@@ -1972,7 +2020,12 @@ public class Order extends Controller {
         //明细分类
         //明细分类
         sqlFactory.addParameter("typemx", row.getString("typemx"));
         sqlFactory.addParameter("typemx", row.getString("typemx"));
         //订货企业id
         //订货企业id
-        sqlFactory.addParameter("sys_enterpriseid", row.getLong("sys_enterpriseid"));
+        if(sys_enterpriseid==0){
+            sqlFactory.addParameter("sys_enterpriseid", row.getLong("sys_enterpriseid"));
+        }else{
+            sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+        }
+
         //营销账户类型ID
         //营销账户类型ID
         sqlFactory.addParameter("sa_accountclassid", row.getLong("sa_accountclassid"));
         sqlFactory.addParameter("sa_accountclassid", row.getLong("sa_accountclassid"));
         //品牌ID
         //品牌ID
@@ -1982,7 +2035,7 @@ public class Order extends Controller {
         //工程项目表ID
         //工程项目表ID
         sqlFactory.addParameter("sa_projectid", row.getLong("sa_projectid"));
         sqlFactory.addParameter("sa_projectid", row.getLong("sa_projectid"));
         //合作企业财务信息ID(开票信息)
         //合作企业财务信息ID(开票信息)
-        sqlFactory.addParameter("sys_enterprise_financeid", row.getLong("sys_enterprise_financeid"));
+        sqlFactory.addParameter("sys_enterprise_financeid", 0);
         //物流公司档案ID
         //物流公司档案ID
         sqlFactory.addParameter("sa_logiscompid", row.getLong("sa_logiscompid"));
         sqlFactory.addParameter("sa_logiscompid", row.getLong("sa_logiscompid"));
         //合作企业联系人表ID(收货信息)
         //合作企业联系人表ID(收货信息)