Ver código fonte

定制费用方案应用

eganwu 1 ano atrás
pai
commit
a417dd9f1b

BIN
lib/yos.core-2.3.1-sources.jar


BIN
lib/yos.core-2.3.1.jar


+ 12 - 7
src/custom/beans/order/OrderCost.java

@@ -3,10 +3,7 @@ package beans.order;
 import common.BaseClass;
 import common.Controller;
 import common.YosException;
-import common.data.QuerySQL;
-import common.data.Rows;
-import common.data.RowsMap;
-import common.data.SQLFactory;
+import common.data.*;
 
 import java.util.ArrayList;
 
@@ -25,26 +22,34 @@ public class OrderCost extends BaseClass {
     //退款规则:是否可退款
     public static void calculateCostAmount(Controller controller, Long sa_orderid) throws YosException {
         //查询商品是否存在方案
-        Rows rows = queryDataFunction(controller, sa_orderid);
+        Rows rows = queryDataFunction(controller, sa_orderid, "OrderFeeCalculatePlan1");
         if (rows.isEmpty()) {
             return;
         }
 
+        RowsMap dfRowsMap = rows.toRowsMap("sys_datafunctionid");
 
 
+        Row OrderRow = Order.getOrderRows(controller, sa_orderid).get(0);
+        //组合,不累加,分摊
+        //组合,累加,分摊
+        //不组合,不累加
+        //不组合,累加
+
 
         return;
     }
 
     //查询订单的商品方案
-    public static Rows queryDataFunction(Controller controller, Long sa_orderid) throws YosException {
+    public static Rows queryDataFunction(Controller controller, Long sa_orderid, String classname) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sa_orderitems",
                 "sa_orderid", "sa_orderitemsid", "itemid");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_datafunction_bind", "t2", "t2.ownerid=t1.itemid and  t2.ownertable='plm_item'",
                 "sys_datafunctionid");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_datafunction", "t3", "sys_datafunctionid=t2.sys_datafunctionid",
-                "functionname");
+                "functionname", "classname");
         querySQL.setWhere("t1.sa_orderid", sa_orderid);
+        querySQL.setWhere("t3.classname", classname);
         querySQL.setTableAlias("t1");
         return querySQL.query();
     }

+ 24 - 0
src/custom/function/OrderFeeCalculatePlan1.java

@@ -1,9 +1,13 @@
 package function;
 
+import common.BaseClass;
+import common.Controller;
 import common.DataFunction;
 import common.YosException;
 import common.annotation.Param;
+import common.data.QuerySQL;
 import common.data.Rows;
+import common.data.SQLFactory;
 
 /**
  * 订单费用计算方案1
@@ -30,11 +34,31 @@ public class OrderFeeCalculatePlan1 extends DataFunction {
     boolean ispay;
     @Param(paramname = "isreturn", remarks = "是否可退款")
     boolean isreturn;
+    @Param(paramname = "sa_orderid", remarks = "订单ID")
+    Long sa_orderid;
 
     @Override
     public int action() throws YosException {
+        System.err.println("666"+unitfee);
+        Rows rows = queryDataFunction(controller, sa_orderid, "OrderFeeCalculatePlan1");
+        if (rows.isEmpty()) {
+
+        }
 
 
         return super.action();
     }
+
+    public static Rows queryDataFunction(Controller controller, Long sa_orderid, String classname) throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sa_orderitems",
+                "sa_orderid", "sa_orderitemsid", "itemid");
+        querySQL.addJoinTable(BaseClass.JOINTYPE.inner, "sys_datafunction_bind", "t2", "t2.ownerid=t1.itemid and  t2.ownertable='plm_item'",
+                "sys_datafunctionid");
+        querySQL.addJoinTable(BaseClass.JOINTYPE.inner, "sys_datafunction", "t3", "sys_datafunctionid=t2.sys_datafunctionid",
+                "functionname", "classname");
+        querySQL.setWhere("t1.sa_orderid", sa_orderid);
+        querySQL.setWhere("t3.classname", classname);
+        querySQL.setTableAlias("t1");
+        return querySQL.query();
+    }
 }

+ 10 - 2
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -14,11 +14,13 @@ import beans.uploaderpdata.UploadDataToERP;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import common.Controller;
+import common.DataFunction;
 import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
 import common.data.*;
+import function.OrderFeeCalculatePlan1;
 import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.DataFormat;
 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
@@ -184,13 +186,19 @@ public class OrderItems extends Controller {
         //更新订单扣款信息
         updateAccountclassinfos(sa_orderid);
 
+
         if (systemclient.equalsIgnoreCase("wechatsaletool")) {
             Rows rows = dbConnect.runSqlQuery("SELECT sa_orderitemsid,sa_orderitems_v,itemid from sa_orderitems WHERE sa_orderid=" + sa_orderid + " and siteid='" + siteid + "'");
             return getSucReturnObject().setData(rows).toString();
         }
 
-        //更新订单明细费用
-        OrderCost.calculateCostAmount(this, sa_orderid);
+//        //更新订单明细费用
+//        OrderCost.calculateCostAmount(this, sa_orderid);
+
+//        DataFunction df = DataFunction.get(this, "PLan1");
+//        df.addParameter("sa_orderid", sa_orderid);
+//        df.action();
+
 
         return getSucReturnObject().toString();
     }