Explorar o código

优化工单模块序列号保修卡客户查询速度

hu hai 4 meses
pai
achega
d2a74d6a03

+ 10 - 0
src/custom/restcontroller/R.java

@@ -6921,6 +6921,16 @@ public class R {
         public static class v1 {
         }
     }
+
+    public static class ID2025121118401503 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025121119452803 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 2 - 1
src/custom/restcontroller/webmanage/sale/agents/SQL/经销商修改.sql

@@ -17,6 +17,7 @@ set changeuserid=$changeuserid$,
     delivery=$delivery$,
     salearea=$salearea$,
     paymans=$paymans$,
-    regiontype=$regiontype$
+    regiontype=$regiontype$,
+    u8subject=$u8subject$
 where siteid = $siteid$
   and sa_agentsid = $sa_agentsid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/agents/SQL/经销商列表查询.sql

@@ -6,6 +6,7 @@ select t1.sys_enterpriseid,
        t2.province,
        t2.city,
        t2.county,
+       t2.u8subject,
        t1.isservice,
        t1.sa_agentsid,
        t1.submitautocheck,

+ 3 - 2
src/custom/restcontroller/webmanage/sale/agents/SQL/经销商新增.sql

@@ -1,7 +1,7 @@
 insert into sa_agents(siteid, sa_agentsid, sys_enterpriseid, createby, createdate, changeuserid,
                       changeby, changedate, agentnum, type, parentid,
                       signdate, status, isservice,priceadjustment,entity,submitautocheck,presalesphonenumber,aftersalesphonenumber
-    ,islimitaccessories,islimitorder,signingstate,delivery,salearea,paymans,regiontype)
+    ,islimitaccessories,islimitorder,signingstate,delivery,salearea,paymans,regiontype,u8subject)
 select $siteid$,
        $sa_agentsid$,
        $sys_enterpriseid$,
@@ -27,4 +27,5 @@ select $siteid$,
        $delivery$,
        $salearea$,
        $paymans$,
-       $regiontype$
+       $regiontype$,
+       $u8subject$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/agents/SQL/经销商详情查询.sql

@@ -17,6 +17,7 @@ select t1.sys_enterpriseid,
        t1.industry,
        t1.taxno,
        t1.saleclassauth,
+       t2.u8subject,
        t2.signdate,
        t2.createby,
        t2.createdate,

+ 3 - 1
src/custom/restcontroller/webmanage/sale/agents/agents.java

@@ -60,7 +60,7 @@ public class agents extends Controller {
 //        sqlFactory.addParameter("siteid", siteid);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_agents", "sys_enterpriseid", "isservice",
-                "sa_agentsid","agentnum","priceadjustment","type","signdate","createby","createdate","islimitaccessories","islimitorder","signingstate","delivery","salearea","paymans","regiontype");
+                "sa_agentsid","agentnum","priceadjustment","type","signdate","createby","createdate","islimitaccessories","islimitorder","signingstate","delivery","salearea","paymans","regiontype","u8subject");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid","enterprisename","abbreviation"
                 ,"contact","address","phonenumber","province","city","county","grade","saleclassauth");
@@ -139,6 +139,7 @@ public class agents extends Controller {
         String salearea = content.getStringValue("salearea");
         String paymans = content.getStringValue("paymans");
         String regiontype = content.getStringValue("regiontype");
+        String u8subject = content.getStringValue("u8subject");
 
 
         if (parentid != 0 && dbConnect.runSqlQuery("select * from sa_agents where siteid='" + siteid + "' and sa_agentsid=" + parentid).isEmpty()) {
@@ -194,6 +195,7 @@ public class agents extends Controller {
         sqlFactory.addParameter("salearea",salearea);
         sqlFactory.addParameter("paymans",paymans);
         sqlFactory.addParameter("regiontype",regiontype);
+        sqlFactory.addParameter("u8subject",u8subject);
 
 
         sqllist.add(sqlFactory.getSQL());

+ 31 - 1
src/custom/restcontroller/webmanage/sale/customer/Customer.java

@@ -1011,7 +1011,37 @@ public class Customer extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
-
+    @API(title = "经销商查询终端客户档案", apiversion = R.ID2025121118401503.v1.class)
+    public String queryAgentCustomers() throws YosException {
+        if(sys_enterpriseid<=0){
+            sys_enterpriseid=content.getLongValue("sys_enterpriseid");
+        }
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
+                where.append(" and(");
+                where.append("t1.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("phonenumber") && !"".equals(whereObject.getString("phonenumber"))) {
+                where.append(" and(");
+                where.append("t1.phonenumber ='").append(whereObject.getString("phonenumber")).append("' ");
+                where.append(")");
+            }
+        }
+        SQLFactory sqlFactory = new SQLFactory(this, "客户列表");
+        sqlFactory.addParameter_SQL("where", where);
+        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+        sqlFactory.addParameter("siteid", siteid);
+//        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter",  "sys_site_parameterid");
+        querySQL.setTableAlias("t0");
+        querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "t0.siteid='111'","*");
+        querySQL.setPage(pageSize, pageNumber);
+        Rows rows = querySQL.query();
+        return getSucReturnObject().setData(rows).toString();
+    }
 
 
     @API(title = "经销商查询终端客户档案", apiversion = R.ID2025090909115603.v1.class)

+ 77 - 0
src/custom/restcontroller/webmanage/sale/customer/SQL/客户列表.sql

@@ -0,0 +1,77 @@
+select t1.* from ((SELECT
+                    t1.sa_customersid,
+                    t1.name,
+                    t1.phonenumber,
+                    t1.province,
+                    t1.city,
+                    t1.county,
+                    t1.address,
+                    t1.createdate,
+                    t1.sa_agentsid,
+                    t1.sa_agentsid_to,
+                    t2.agentnum,
+                    t3.enterprisename,
+                    t3.abbreviation,
+                    t5.enterprisename AS enterprisename_to,
+                    t4.agentnum AS agentnum_to,
+                    t5.abbreviation AS abbreviation_to
+                FROM sa_customers t1
+                         INNER JOIN sa_agents t2
+                                    ON t1.sa_agentsid = t2.sa_agentsid
+                                        AND t1.siteid = t2.siteid
+                         INNER JOIN sys_enterprise t3
+                                    ON t2.sys_enterpriseid = t3.sys_enterpriseid
+                                        AND t2.siteid = t3.siteid
+                         LEFT JOIN sa_agents t4
+                                   ON t1.sa_agentsid_to = t4.sa_agentsid
+                                       AND t1.siteid = t4.siteid
+                         LEFT JOIN sys_enterprise t5
+                                   ON t4.sys_enterpriseid = t5.sys_enterpriseid
+                                       AND t4.siteid = t5.siteid
+                WHERE t1.siteid = $siteid$
+                  AND t1.sa_agentsid IS NOT NULL
+                  AND t2.sys_enterpriseid = $sys_enterpriseid$)
+
+               UNION ALL
+
+               (SELECT
+                    t1.sa_customersid,
+                    t1.name,
+                    t1.phonenumber,
+                    t1.province,
+                    t1.city,
+                    t1.county,
+                    t1.address,
+                    t1.createdate,
+                    t1.sa_agentsid,
+                    t1.sa_agentsid_to,
+                    t2.agentnum,
+                    t3.enterprisename,
+                    t3.abbreviation,
+                    t5.enterprisename AS enterprisename_to,
+                    t4.agentnum AS agentnum_to,
+                    t5.abbreviation AS abbreviation_to
+                FROM sa_customers t1
+                         LEFT JOIN sa_agents t2
+                                   ON t1.sa_agentsid = t2.sa_agentsid
+                                       AND t1.siteid = t2.siteid
+                         LEFT JOIN sys_enterprise t3
+                                   ON t2.sys_enterpriseid = t3.sys_enterpriseid
+                                       AND t2.siteid = t3.siteid
+                         INNER JOIN sa_agents t4
+                                    ON t1.sa_agentsid_to = t4.sa_agentsid
+                                        AND t1.siteid = t4.siteid
+                         INNER JOIN sys_enterprise t5
+                                    ON t4.sys_enterpriseid = t5.sys_enterpriseid
+                                        AND t4.siteid = t5.siteid
+                WHERE t1.siteid =$siteid$
+                  AND t1.sa_agentsid_to IS NOT NULL
+                  AND t4.sys_enterpriseid = $sys_enterpriseid$
+                  AND NOT EXISTS (
+                    SELECT 1 FROM sa_customers t1_dup
+                                      INNER JOIN sa_agents t2_dup
+                                                 ON t1_dup.sa_agentsid = t2_dup.sa_agentsid
+                                                     AND t1_dup.siteid = t2_dup.siteid
+                    WHERE t1_dup.sa_customersid = t1.sa_customersid
+                      AND t2_dup.sys_enterpriseid = $sys_enterpriseid$
+                ))) t1 where $where$

+ 0 - 3
src/custom/restcontroller/webmanage/sale/item/Item.java

@@ -248,7 +248,6 @@ public class Item extends Controller {
         sqlFactory.addParameter("gysmc", content.getStringValue("gysmc"));
         sqlFactory.addParameter("poday", content.getIntValue("poday"));
         sqlFactory.addParameter("sa_supplierid", content.getLongValue("sa_supplierid"));
-        sqlFactory.addParameter("u8subject", content.getStringValue("u8subject"));
 
         String topclassnum="";
         if (content.containsKey("itemclassids")) {
@@ -525,7 +524,6 @@ public class Item extends Controller {
         sqlFactory.addParameter("gysmc", item.getString("gysmc"));
         sqlFactory.addParameter("poday", item.getLong("poday"));
         sqlFactory.addParameter("sa_supplierid", item.getLong("sa_supplierid"));
-        sqlFactory.addParameter("u8subject", item.getString("u8subject"));
         sqlList.add(sqlFactory.getSQL());
         // 货品档案扩展属性字段表
 
@@ -1803,7 +1801,6 @@ public class Item extends Controller {
                     sqlFactory.addParameter("gysmc", row.getString("gysmc"));
                     sqlFactory.addParameter("poday", row.getLong("poday"));
                     sqlFactory.addParameter("sa_supplierid", row.getLong("sa_supplierid"));
-                    sqlFactory.addParameter("u8subject", row.getString("u8subject"));
                     sqlList.add(sqlFactory.getSQL());
                     // 货品档案扩展属性字段表
 

+ 0 - 1
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案列表.sql

@@ -66,7 +66,6 @@ SELECT t1.itemid,
        t1.topclassnum,
        t1.kw,
        t1.gysmc,
-       t1.u8subject,
        t6.auxunitid,
        t6.unitgroupname,
        t7.unitname axunitname,

+ 2 - 2
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案新增.sql

@@ -6,7 +6,7 @@ insert into plm_item (siteid, itemid, createby, createdate, changeuserid, change
                       sa_customschemeid, cheek, delistingstatus, financeclasstype, stockno, volume, marketingcategory,
                       pricingmetod,cheekschemeid,colorschemeid,materialschemeid,cost,grossprofit,grossprofitmargin,saleprice,
                       rate,grade,custamount,safeqty,icaddqty,icminqty,iswriteoff,isnegative,ispartorderautocheck,islimitemparts,itemname_print,
-                      applicablegassource,hygienelicensenum,departmentid,executionstandards,itemclsnum,outplace,repairattribute,shapesize,topclassnum,aftersalesitemno,kw,gysmc,poday,sa_supplierid,u8subject)
+                      applicablegassource,hygienelicensenum,departmentid,executionstandards,itemclsnum,outplace,repairattribute,shapesize,topclassnum,aftersalesitemno,kw,gysmc,poday,sa_supplierid)
 values ($siteid$, $itemid$, $username$, CURRENT_TIME, $userid$, $username$, CURRENT_TIME, $itemno$, $unitid$,
         $isauxunit$, $unitgroupid$, $itemname$, $isonsale$, '新建', $model$, $spec$, $orderminqty$, $orderaddqty$,
         $orderminqty_auxunit$, $orderaddqty_auxunit$, $remarks$, $barcode$, $skucontrol$, $batchcontrol$, $grossweight$,
@@ -15,4 +15,4 @@ values ($siteid$, $itemid$, $username$, CURRENT_TIME, $userid$, $username$, CURR
         $iswoodproducts$, $sa_customschemeid$, $cheek$, $delistingstatus$, $financeclasstype$, $stockno$, $volume$,
         $marketingcategory$, $pricingmetod$,$cheekschemeid$,$colorschemeid$,$materialschemeid$,$cost$,$grossprofit$,$grossprofitmargin$,$saleprice$,
         $rate$,$grade$,$custamount$,$safeqty$,$icaddqty$,$icminqty$,$iswriteoff$,$isnegative$,$ispartorderautocheck$,$islimitemparts$,$itemname_print$,
-        $applicablegassource$,$hygienelicensenum$,$departmentid$,$executionstandards$,$itemclsnum$,$outplace$,$repairattribute$,$shapesize$,$topclassnum$,$aftersalesitemno$,$kw$,$gysmc$,$poday$,$sa_supplierid$,$u8subject$)
+        $applicablegassource$,$hygienelicensenum$,$departmentid$,$executionstandards$,$itemclsnum$,$outplace$,$repairattribute$,$shapesize$,$topclassnum$,$aftersalesitemno$,$kw$,$gysmc$,$poday$,$sa_supplierid$)

+ 1 - 2
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案更新.sql

@@ -78,8 +78,7 @@ SET changeuserid=$userid$,
     kw=$kw$,
     gysmc=$gysmc$,
     poday=$poday$,
-    sa_supplierid=$sa_supplierid$,
-    u8subject=$u8subject$
+    sa_supplierid=$sa_supplierid$
 WHERE itemid = $itemid$
   and siteid = $siteid$
 

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

@@ -723,7 +723,7 @@ public class OrderItems extends Controller {
         if (type.equals("配件订单")) {
             querySQL.addJoinTable(JOINTYPE.left, "sa_workorder", "t5", "t1.sa_workorderid=t5.sa_workorderid and t1.siteid=t5.siteid");
             querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t6", "t6.cardno=t1.cardno and t6.siteid=t1.siteid", "sku","address");
-            querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7", "t7.itemid=t6.itemid and t7.siteid=t6.siteid");
+            querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7", "t7.itemid=t6.itemid and t7.siteid=t6.siteid","iswriteoff");
         }
         querySQL.addQueryFields("candispatchqty", "ifnull(t2.candispatchqty, 0)");
         querySQL.addQueryFields("cansaleqty", "ifnull(t2.cansaleqty, 0)");

+ 5 - 0
src/custom/restcontroller/webmanage/sale/serviceorder/serviceorder.java

@@ -216,6 +216,11 @@ public class serviceorder extends Controller {
                 where.append("or t1.sku like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
+            if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
+                where.append(" and(");
+                where.append("t1.sku ='").append(whereObject.getString("sku")).append("' ");
+                where.append(")");
+            }
         }
 //		String hrid = content.getString("hrid");
 //        SQLFactory sqlFactory = new SQLFactory(this, "审核订单列表查询", pageSize, pageNumber, pageSorting);

+ 39 - 0
src/custom/restcontroller/webmanage/sale/warrantycard/SQL/保修卡列表.sql

@@ -0,0 +1,39 @@
+select distinct * from (
+                  SELECT
+                      t4.itemno, t4.itemname, t4.model, t4.spec, t4.topclassnum,
+                      t5.unitname,
+                      t1.*,
+                      t2.agentnum,
+                      t2.abbreviation,
+                      t2.enterprisename,
+                      t2.sys_enterpriseid,
+                      t6.abbreviation AS toabbreviation,
+                      t6.enterprisename AS toenterprisename
+                  FROM sa_warrantycard AS t1
+                           LEFT JOIN sv_agents AS t2 ON t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid
+                           LEFT JOIN plm_item AS t4 ON t1.itemid = t4.itemid AND t1.siteid = t4.siteid
+                           LEFT JOIN plm_unit AS t5 ON t5.unitid = t4.unitid AND t5.siteid = t4.siteid
+                           LEFT JOIN sv_agents AS t6 ON t1.toagentnum = t6.agentnum AND t1.siteid = t6.siteid
+                  WHERE t1.siteid = $siteid$
+                    AND t1.deleted = 0
+                    AND t2.sys_enterpriseid = $sys_enterpriseid$
+                  UNION ALL
+                  SELECT
+                      t4.itemno, t4.itemname, t4.model, t4.spec, t4.topclassnum,
+                      t5.unitname,
+                      t1.*,
+                      t2.agentnum,
+                      t2.abbreviation,
+                      t2.enterprisename,
+                      t2.sys_enterpriseid,
+                      t6.abbreviation AS toabbreviation,
+                      t6.enterprisename AS toenterprisename
+                  FROM sa_warrantycard AS t1
+                           LEFT JOIN sv_agents AS t2 ON t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid
+                           LEFT JOIN plm_item AS t4 ON t1.itemid = t4.itemid AND t1.siteid = t4.siteid
+                           LEFT JOIN plm_unit AS t5 ON t5.unitid = t4.unitid AND t5.siteid = t4.siteid
+                           LEFT JOIN sv_agents AS t6 ON t1.toagentnum = t6.agentnum AND t1.siteid = t6.siteid
+                  WHERE t1.siteid = $siteid$
+                    AND t1.deleted = 0
+                    AND t6.sys_enterpriseid = $sys_enterpriseid$
+              ) t1 where $where$

+ 39 - 0
src/custom/restcontroller/webmanage/sale/warrantycard/warrantycard.java

@@ -106,6 +106,45 @@ public class warrantycard extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    @API(title = "查询经销商保修卡", apiversion = R.ID2025121119452803.v1.class)
+    public String queryAgentWarrantycardList() throws YosException {
+        if(sys_enterpriseid<=0){
+            sys_enterpriseid=content.getLongValue("sys_enterpriseid");
+        }
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("bxksbegindate") && !"".equals(whereObject.getString("bxksbegindate"))) {
+                where.append(" and t1.begdate >='" + whereObject.getString("bxksbegindate") + "' ");
+            }
+            if (whereObject.containsKey("bxksenddate") && !"".equals(whereObject.getString("bxksenddate"))) {
+                where.append(" and t1.begdate <='" + whereObject.getString("bxksenddate") + "' ");
+            }
+            if (whereObject.containsKey("bxjzbegindate") && !"".equals(whereObject.getString("bxjzbegindate"))) {
+                where.append(" and t1.enddate >='" + whereObject.getString("bxjzbegindate") + "' ");
+            }
+            if (whereObject.containsKey("bxjzenddate") && !"".equals(whereObject.getString("bxjzenddate"))) {
+                where.append(" and t1.enddate <='" + whereObject.getString("bxjzenddate") + "' ");
+            }
+            if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
+                where.append(" and t1.sku ='" + whereObject.getString("sku") + "' ");
+            }
+        }
+
+        SQLFactory sqlFactory = new SQLFactory(this, "保修卡列表");
+        sqlFactory.addParameter_SQL("where", where);
+        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+        sqlFactory.addParameter("siteid", siteid);
+//        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter",  "sys_site_parameterid");
+        querySQL.setTableAlias("t0");
+        querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "t0.siteid='111'","*");
+        querySQL.setPage(pageSize, pageNumber);
+        Rows rows = querySQL.query();
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
     @API(title = "保修卡详情查询", apiversion = R.ID2025061715162103.v1.class)
     @CACHEING
     public String queryWarrantycardMain() throws YosException {