Просмотр исходного кода

优化根据地址查询保修卡接口

shenjingwei 4 месяцев назад
Родитель
Сommit
308fe89c16

+ 49 - 50
src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

@@ -153,8 +153,8 @@ public class accessoryorder extends Controller {
         //查询快递信息
         QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
         expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid","sa_orderid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid","tracknumber");
+        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
+        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
         expressformQuery.setWhere("t3.sa_orderid", rows.toArrayList("sa_orderid"));
         expressformQuery.setOrderBy("t1.createdate desc");
         expressformQuery.setDistinct(true);
@@ -168,12 +168,11 @@ public class accessoryorder extends Controller {
 //        RowsMap arearowsrowsMap = arearows.toRowsMap("sys_enterpriseid");
 
 
-
         for (Row row : rows) {
             Long id = row.getLong("sa_orderid");
-            if(ContactsRowsMap.containsKey(row.getString("rec_contactsid"))){
+            if (ContactsRowsMap.containsKey(row.getString("rec_contactsid"))) {
                 row.put("contacts", ContactsRowsMap.get(row.getString("rec_contactsid")).get(0));
-            }else{
+            } else {
                 row.put("contacts", new Row());
             }
 
@@ -216,16 +215,16 @@ public class accessoryorder extends Controller {
                 row.put("invoicestatus", "部分开票");
             }
 
-            if(expressformrowsMap.containsKey(row.getString("sa_orderid"))){
-                row.put("expressform",expressformrowsMap.get(row.getString("sa_orderid")).get(0));
+            if (expressformrowsMap.containsKey(row.getString("sa_orderid"))) {
+                row.put("expressform", expressformrowsMap.get(row.getString("sa_orderid")).get(0));
             }
-            if(expressformrowsMap.containsKey(row.getString("sa_orderid"))){
-                row.put("expressform_mailno",expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("mailno"));
-                row.put("expressform_txlogisticid",expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("txlogisticid"));
+            if (expressformrowsMap.containsKey(row.getString("sa_orderid"))) {
+                row.put("expressform_mailno", expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("mailno"));
+                row.put("expressform_txlogisticid", expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("txlogisticid"));
 
-            }else{
-                row.put("expressform_mailno","");
-                row.put("expressform_txlogisticid","");
+            } else {
+                row.put("expressform_mailno", "");
+                row.put("expressform_txlogisticid", "");
 
             }
 //            if(arearowsrowsMap.containsKey(row.getString("sys_enterpriseid"))){
@@ -363,7 +362,6 @@ public class accessoryorder extends Controller {
         RowsMap attinfoRowsMap = getAttachmentUrl("plm_item", ids);
 
 
-
         for (Row row : rows) {
             row.put("attinfos", attinfoRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
             row.put("contractprice", 0);
@@ -377,7 +375,7 @@ public class accessoryorder extends Controller {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems",
                 "sa_orderitemsid", "itemid", "rowno", "itemno", "itemname", "unit", "qty", "undeliqty", "saleprice", "defaultprice", "price", "amount", "remarks", "customproperties", "batchcontrol", "model",
                 "conversionrate", "marketprice", "defaultprice", "defaultamount", "auxqty", "needdate", "deliedqty", "rebateamount", "invoiceamount", "writeoffamount", "auxunit", "sa_orderid",
-                "deliverydate", "returnqty", "stockno", "position", "batchno", "isfreeze", "decorationrebateflag","delivery");
+                "deliverydate", "returnqty", "stockno", "position", "batchno", "isfreeze", "decorationrebateflag", "delivery");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid",
                 "orderminqty_auxunit", "orderminqty", "orderaddqty_auxunit", "orderaddqty", "spec", "standards", "packageqty", "k3outcode");
@@ -427,15 +425,15 @@ public class accessoryorder extends Controller {
     //查询配件订单列表(管理端)
     public QuerySQL queryListManage(String where) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
-                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery","logisticsmethod", "tracknumber", "mailno"
-                ,"invoicetaxno","invoicename","invoiceaddress","contact","address","phonenumber","province","city","county","sys_enterpriseid","abstract");
+                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno"
+                , "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county", "sys_enterpriseid", "abstract");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
-                "enterprisename","abbreviation");
+                "enterprisename", "abbreviation");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
                 "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "(select GROUP_CONCAT(t1.areanum) areanum,GROUP_CONCAT(t1.areaname) areaname,GROUP_CONCAT(t1.areafullname) areafullname,t2.sys_enterpriseid,t2.siteid from sa_salearea t1 inner join sys_enterprise_tradefield t2 on t1.sa_saleareaid=t2.sa_saleareaid group by t2.sys_enterpriseid,t2.siteid)", "t7", "t7.sys_enterpriseid=t1.sys_enterpriseid and t7.siteid = t1.siteid",
-                "areanum","areaname","areafullname");
+                "areanum", "areaname", "areafullname");
         querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
         querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
         querySQL.setWhere("t1.siteid", siteid);
@@ -550,7 +548,8 @@ public class accessoryorder extends Controller {
             }
             if (whereObject.containsKey("address") && !"".equals(whereObject.getString("address"))) {
                 where.append(" and(");
-                where.append("t1.address like '%").append(whereObject.getString("address")).append("%' ");
+                //where.append("t1.address like '%").append(whereObject.getString("address")).append("%' ");
+                where.append("match(t1.address)AGAINST('\"" + whereObject.getString("address") + "\"'IN BOOLEAN MODE)");
                 where.append(")");
             }
         }
@@ -563,7 +562,7 @@ public class accessoryorder extends Controller {
         querySQL.addQueryFields("skucreatedate", "t4.createdate");
 
         querySQL.setWhere("t1.siteid", siteid);
-        querySQL.setWhere("t1.isvoid=0 and (t2.sys_enterpriseid="+sys_enterpriseid+" or t7.sys_enterpriseid="+sys_enterpriseid+")");
+        querySQL.setWhere("t1.isvoid=0 and (t2.sys_enterpriseid=" + sys_enterpriseid + " or t7.sys_enterpriseid=" + sys_enterpriseid + ")");
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
         Rows rows = querySQL.query();
@@ -682,39 +681,39 @@ public class accessoryorder extends Controller {
     public String queryHistoryaccessoryorderqty_sum() throws YosException {
         String cardno = content.getStringValue("cardno");
         long itemid = content.getLongValue("itemid");
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid","qty","price","amount");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid", "qty", "price", "amount");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid","sonum","billdate");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid", "sonum", "billdate");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t2.status not in('新建','提交') and t2.type='配件订单' ");
-        querySQL.setWhere("t1.cardno",cardno);
-        if(StringUtils.isBlank(cardno)){
+        querySQL.setWhere("t1.cardno", cardno);
+        if (StringUtils.isBlank(cardno)) {
             querySQL.setWhere("1=2");
         }
-        querySQL.setWhere("t1.itemid",itemid);
+        querySQL.setWhere("t1.itemid", itemid);
         Rows rows = querySQL.query();
 
-        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","sa_orderitemsid");
+        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_orderitemsid");
         querySQL_pj.setTableAlias("t1");
         querySQL_pj.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid = t2.sa_tpartreimbursementid AND t1.siteid = t2.siteid");
         querySQL_pj.setWhere("t1.siteid", siteid);
         querySQL_pj.setWhere("t2.status = '审核'");
-        querySQL_pj.setWhere("t1.sa_orderitemsid",rows.toArrayList("sa_orderitemsid"));
+        querySQL_pj.setWhere("t1.sa_orderitemsid", rows.toArrayList("sa_orderitemsid"));
         Rows rows_pj = querySQL_pj.query();
 
-        RowsMap rows_pjMap =rows_pj.toRowsMap("sa_orderitemsid");
-        for(Row row :rows){
-            if(rows_pjMap.containsKey(row.getString("sa_orderitemsid"))){
-                row.put("writeoffqty",row.getBigDecimal("qty"));
-            }else{
-                row.put("writeoffqty",BigDecimal.ZERO);
+        RowsMap rows_pjMap = rows_pj.toRowsMap("sa_orderitemsid");
+        for (Row row : rows) {
+            if (rows_pjMap.containsKey(row.getString("sa_orderitemsid"))) {
+                row.put("writeoffqty", row.getBigDecimal("qty"));
+            } else {
+                row.put("writeoffqty", BigDecimal.ZERO);
             }
 
         }
 
-        JSONObject jsonObject =new JSONObject();
-        jsonObject.put("historyqty",rows.sum("qty"));
-        jsonObject.put("historywriteoffqty",rows.sum("writeoffqty"));
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("historyqty", rows.sum("qty"));
+        jsonObject.put("historywriteoffqty", rows.sum("writeoffqty"));
 
         return getSucReturnObject().setData(jsonObject).toString();
     }
@@ -724,34 +723,34 @@ public class accessoryorder extends Controller {
         String cardno = content.getStringValue("cardno");
         long itemid = content.getLongValue("itemid");
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid","qty","price","amount");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid", "qty", "price", "amount");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid","sonum","billdate");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid", "sonum", "billdate");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t2.status not in('新建','提交') and t2.type='配件订单' ");
-        querySQL.setWhere("t1.cardno",cardno);
-        if(StringUtils.isBlank(cardno)){
+        querySQL.setWhere("t1.cardno", cardno);
+        if (StringUtils.isBlank(cardno)) {
             querySQL.setWhere("1=2");
         }
-        querySQL.setWhere("t1.itemid",itemid);
+        querySQL.setWhere("t1.itemid", itemid);
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
 
 
-        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","sa_orderitemsid");
+        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_orderitemsid");
         querySQL_pj.setTableAlias("t1");
         querySQL_pj.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid = t2.sa_tpartreimbursementid AND t1.siteid = t2.siteid");
         querySQL_pj.setWhere("t1.siteid", siteid);
         querySQL_pj.setWhere("t2.status = '审核'");
-        querySQL_pj.setWhere("t1.sa_orderitemsid",rows.toArrayList("sa_orderitemsid"));
+        querySQL_pj.setWhere("t1.sa_orderitemsid", rows.toArrayList("sa_orderitemsid"));
         Rows rows_pj = querySQL_pj.query();
 
-        RowsMap rows_pjMap =rows_pj.toRowsMap("sa_orderitemsid");
-        for(Row row :rows){
-            if(rows_pjMap.containsKey(row.getString("sa_orderitemsid"))){
-                row.put("writeoffqty",row.getBigDecimal("qty"));
-            }else{
-                row.put("writeoffqty",BigDecimal.ZERO);
+        RowsMap rows_pjMap = rows_pj.toRowsMap("sa_orderitemsid");
+        for (Row row : rows) {
+            if (rows_pjMap.containsKey(row.getString("sa_orderitemsid"))) {
+                row.put("writeoffqty", row.getBigDecimal("qty"));
+            } else {
+                row.put("writeoffqty", BigDecimal.ZERO);
             }
 
         }

+ 0 - 1
src/custom/service/GetOutCodeFromTQWms.java

@@ -39,7 +39,6 @@ public class GetOutCodeFromTQWms extends ServiceController {
 
             RowsMap stockRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_stock", "stockid", "stockno").query().toRowsMap("stockno");
 
-
             RowsMap wmsbillnoMap = wmsrows.toRowsMap("billno");
             for (String billno : wmsbillnoMap.keySet()) {
                 logger.info("开始处理单据{}", billno);