Bläddra i källkod

订单支持上下条查询

eganwu 2 år sedan
förälder
incheckning
2046e0f951

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


BIN
lib/yos.core-2.0.0.jar


+ 41 - 12
src/custom/restcontroller/sale/order/Order.java

@@ -5,10 +5,7 @@ import common.Controller;
 import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
-import common.data.Row;
-import common.data.Rows;
-import common.data.RowsMap;
-import common.data.SQLFactory;
+import common.data.*;
 import restcontroller.R;
 
 import java.io.IOException;
@@ -67,19 +64,26 @@ public class Order extends Controller {
             }
         }
         boolean isExport = content.getBooleanValue("isExport");
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_列表", pageSize, pageNumber, pageSorting);
+//        SQLFactory sqlFactory = new SQLFactory(this, "订单_列表", pageSize, pageNumber, pageSorting);
+//        if (isExport) {
+//            sqlFactory = new SQLFactory(this, "订单_列表");
+//        }
+//
+//        sqlFactory.addParameter("siteid", siteid);
+//        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+//        sqlFactory.addParameter_SQL("where", where);
+//        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+        QuerySQL querySQL = queryList(where.toString());
+        Rows rows;
         if (isExport) {
-            sqlFactory = new SQLFactory(this, "订单_列表");
+            rows = querySQL.query(pageSorting);
+        } else {
+            rows = querySQL.query(pageSize, pageNumber, pageSorting);
         }
 
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
-        sqlFactory.addParameter_SQL("where", where);
-        Rows rows = dbConnect.runSqlQuery(sqlFactory);
-
         //查询数据:amount,defaultamount,qty
         ArrayList<Long> sa_orderids = rows.toArrayList("sa_orderid", new ArrayList<>());
-        sqlFactory = new SQLFactory(this, "订单_查询数据");
+        SQLFactory sqlFactory = new SQLFactory(this, "订单_查询数据");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter_in("sa_orderid", sa_orderids);
         RowsMap dataRowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sa_orderid");
@@ -124,6 +128,31 @@ public class Order extends Controller {
         return getSucReturnObject().setData(rows).setTips(amountrows.get(0).toJsonObject()).toString();
     }
 
+    //查询订单列表(经销商)
+    public QuerySQL queryList(String where) throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid",
+                "brandname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid",
+                "name", "province", "city", "county", "address", "phonenumber");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t5", "t5.ownerid=t1.sa_orderid and t5.siteid=t1.siteid and t5.ownertable='sa_order'",
+                "backreason");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t6", "t6.hrid = t1.saler_hrid and t6.siteid = t1.siteid");
+        //设置别名
+        querySQL.addQueryFields("salename", "t6.name");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid",
+                "projectname");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere(where);
+        querySQL.setWhere("t1.type!='工具借用单'");
+        querySQL.setWhere("t1.sys_enterpriseid = $sys_enterpriseid$");
+        querySQL.setWhere("t1.deleted=0");
+        querySQL.setWhere("((t1.createflag=1 and t1.status!='新建') or t1.createflag=0)");
+        querySQL.addParameter("sys_enterpriseid", sys_enterpriseid);
+        return querySQL;
+    }
+
     @API(title = "获取当前经销商的所有订单的金额", apiversion = R.ID20221227161902.v1.class)
     @CACHEING
     public String getAmount() throws YosException {

+ 47 - 10
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -18,6 +18,7 @@ import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
+import common.annotation.QUERYBYROWINDEX;
 import common.data.*;
 import common.data.db.DBConnect;
 import common.data.db.SQLiteTable;
@@ -397,6 +398,7 @@ public class Order extends Controller {
 
     @API(title = "详情", apiversion = R.ID20221108151302.v1.class)
     @CACHEING
+    @QUERYBYROWINDEX(uniquecolumnname = "sa_orderid", listapiversion = {R.ID20230105143002.v1.class, R.ID20221111145202.v1.class, R.ID20221224180302.v1.class})
     public String selectDetail() throws YosException {
         Long sa_orderid = content.getLong("sa_orderid");
 
@@ -818,21 +820,30 @@ public class Order extends Controller {
         sql = sql.replace("[", "(").replace("]", ")");
         where.append(sql);
         boolean isExport = content.getBooleanValue("isExport");
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_列表", pageSize, pageNumber, pageSorting);
+//
+//
+//        SQLFactory sqlFactory = new SQLFactory(this, "订单_列表", pageSize, pageNumber, pageSorting);
+//        if (isExport) {
+//            sqlFactory = new SQLFactory(this, "订单_列表");
+//        }
+//
+//        sqlFactory.addParameter("siteid", siteid);
+//        sqlFactory.addParameter("hrid", hrid);
+//        sqlFactory.addParameter("userid", userid);
+//        sqlFactory.addParameter_SQL("where", where);
+//        sql = sqlFactory.getSQL();
+//        Rows rows = dbConnect.runSqlQuery(sql);
+        QuerySQL querySQL = queryList(where.toString());
+        Rows rows;
         if (isExport) {
-            sqlFactory = new SQLFactory(this, "订单_列表");
+            rows = querySQL.query(pageSorting);
+        } else {
+            rows = querySQL.query(pageSize, pageNumber, pageSorting);
         }
 
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("hrid", hrid);
-        sqlFactory.addParameter("userid", userid);
-        sqlFactory.addParameter_SQL("where", where);
-        sql = sqlFactory.getSQL();
-        Rows rows = dbConnect.runSqlQuery(sql);
-
         //查询数据:amount,defaultamount,qty
         ArrayList<Long> sa_orderids = rows.toArrayList("sa_orderid", new ArrayList<>());
-        sqlFactory = new SQLFactory(this, "订单_查询数据");
+        SQLFactory sqlFactory = new SQLFactory(this, "订单_查询数据");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter_in("sa_orderid", sa_orderids);
         RowsMap dataRowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sa_orderid");
@@ -871,6 +882,32 @@ public class Order extends Controller {
         return getSucReturnObject().setData(rows).setTips(amountrows.get(0).toJsonObject()).toString();
     }
 
+
+    //查询订单列表(业务员)
+    public QuerySQL queryList(String where) throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
+                "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid",
+                "brandname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid",
+                "name","province","city","county","address","phonenumber");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t5.sys_enterpriseid=t1.sys_enterpriseid and t5.siteid = t1.siteid",
+                "agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t6", "t6.hrid = t1.saler_hrid and t6.siteid = t1.siteid");
+        //设置别名
+        querySQL.addQueryFields("salename", "t6.name");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid",
+                "projectname");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere(where);
+        querySQL.setWhere("t1.type!='工具借用单'");
+        querySQL.setWhere("t1.deleted=0");
+        return querySQL;
+    }
+
+
     //返回导出的标题
     public HashMap<String, String> getTitleMap() {
         HashMap<String, String> titleMap = new HashMap<>();